Details
-
Type: Task
-
Status: Closed (View Workflow)
-
Priority: Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: None
-
Labels:None
-
Story Points:1
-
Epic Link:
-
Sprint:Summer 5: 3 Aug - 14 Aug, Fall 6 Nov 30 - Dec 11, Fall 7 Dec 14 - Dec 23
Description
BioViz Connect uses Django, but is not taking advantage of Django features such as:
- Inclusion tags from Django - we can add code to the HTML to do useful stuff instead of using javascript (moving logic to server instead client)
Currently we are re-loading the middle panel HTML as an entire unit. We would like to instead update individual components.
Explore: "two-way binding" to better connect the front components, e.g., the table, and back in data provider.
This task was created mainly to find if we can use template tags to pass variables to the template and send it client-side as static HTML. Especially to use the template tags to generate the table rows for file and folders and the table for analyses log.
However, our currently way of implementation uses AJAX calls to retrieve data, which happens on the client-side, way after the static HTML has already been sent by the server-side. Django template tags uses variables to create static HTML server-side and then sends it to client-side.
1) Most sources suggest that whatever variable we receive from the AJAX call, we can build the HTML client-side with JavaScript/JQuery which is what we are already doing.
2) There was another suggestion the use an empty variable at first and replace the variable during after the AJAX calls, however, there were warnings as well that this might not work efficiently.
3)We could wait for the AJAX call response before rendering anything but that would slow down website a lot and would probably need reloading for any change.