Project

General

Profile

Actions

Architecture #4770

closed

Use JSON as datas of tables in Rudder web interface

Added by François ARMAND over 8 years ago. Updated about 8 years ago.

Status:
Released
Priority:
5
Category:
Architecture - Refactoring
Target version:
Effort required:
Regression:

Description

We have a lot of tables / grid in Rudder, to present Rules, nodes, compliances, reports, etc etc.

Today, these tables are produced in FULL html, and then enhanced with datatable to make them searchable etc.

That way of working is really heavy in size of data transfered (HTML is not a very dense data reprensentation) and mixed data presentation with the actual datas. Consequently, it's hard or more costly than expected to use refresh these tables, make them asynchrone, etc.

Moreover, browsers evolved a lot in the past 5 years, and today javascript is much more efficient to play with the dom that it used to be, and Rudder mandates the use of JS. So it would be more efficient to let the browser build the HTML for the table than enhancing an existing one.

What we want:

- a JSON representation of the data needed for each table, without loosing any information (tooltips, links, ...).
- a question remains about the formating: we used to use HTML to have rich text format. We need to know if this is still a good idea, and so if we 1/keep HTML for rich text, 2/ accept to not have rich text, 3/ find an other representation than HTML
- a Rudder grid "componenet" configurable for a given grid and able to use the JSON source

All grids have to be migrated to that new source handling, but the first one must be the rule grid.

No implementation restriction are set up front. If it's easier/cleaner to change datatable version (1.10 to use the new code/ajax/json oriented API http://next.datatables.net/reference/api/ ?) or use a third party integration (AngularJS ?), then we won't restrict us IF the result is alike what we have today.

We can even think of having in parallel the new and the old datatable component (for not-yet-migrated grids).


Subtasks 7 (0 open7 closed)

Architecture #4771: Rules datable using JSON data sourceReleasedFrançois ARMAND2014-04-23Actions
Architecture #4804: Rule compliance datable using JSON data sourceReleasedFrançois ARMAND2014-05-02Actions
Architecture #4845: Rule compliance popup datable using JSON data sourceReleasedFrançois ARMAND2014-05-12Actions
Architecture #4846: node list datable using javascript data sourceReleasedFrançois ARMAND2014-05-13Actions
Architecture #4945: node compliance datable using javascript data sourceReleasedFrançois ARMAND2014-06-04Actions
Bug #4953: Multiple messages in compliance tables are not displayed as a listReleasedFrançois ARMAND2014-06-05Actions
Bug #4954: Correct indentation on rudder-datatable.js fileReleasedFrançois ARMAND2014-06-05Actions

Related issues 3 (0 open3 closed)

Related to Rudder - User story #4793: Datas in Rudder web interface table can now be refreshedReleasedVincent MEMBRÉ2014-04-30Actions
Related to Rudder - User story #5957: Make change request table asynchronousReleasedFrançois ARMAND2014-12-09Actions
Related to Rudder - User story #5960: Make event log table asynchronous ReleasedVincent MEMBRÉ2014-12-11Actions
Actions #1

Updated by François ARMAND over 8 years ago

  • Tracker changed from User story to Architecture
Actions #2

Updated by Vincent MEMBRÉ over 8 years ago

  • Status changed from 8 to 13

Rule table (#4771) is in pull request here https://github.com/Normation/rudder/pull/503

Rule compliance (#4804) is almost finished, but needs several pull requests to be merged before

Actions #3

Updated by François ARMAND about 8 years ago

  • Status changed from 13 to 12
Actions #4

Updated by François ARMAND about 8 years ago

  • Status changed from 12 to Pending release
Actions #5

Updated by Vincent MEMBRÉ about 8 years ago

  • Subject changed from Use JSON for datatable source in place of HTML to Use JSON as datas of tables in Rudder web interface
  • Category changed from Web - UI & UX to Architecture - Refactoring
Actions #6

Updated by Vincent MEMBRÉ about 8 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.11.0~beta1 that was released yesterday.

Actions

Also available in: Atom PDF