IDL2js delivers lots of unneeded information, adding bulk.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
Evergreen, post 2.6
IDL2js, which JSON-ifies the IDL for web clients, delivers quite a lot of data that the client does not strictly need. This increases the file size, in-browser memory footprint, and probably execution time when processing IDL2js.
The main issues are:
1. Fields with no values, like "primitive", "restrict_primary", "selector", etc.
2. The "selector" field, when it does have a value, repeats the same value for every field in the class.
3. Fields where a default value is provided by the server, where it could just as easily be provided by the client. For example, "label" defaults to "name" when no "label" exists.
4. The "array_position" field was removed from the IDL proper years ago, yet it still appears in the IDL2js output (and is used by dojo/fieldmappe
Branch forthcoming to resolve all of these and make the IDL considerably smaller.
Changed in evergreen: | |
assignee: | Bill Erickson (erickson-esilibrary) → nobody |
tags: | added: pullrequest |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
Here's my first stab. It works with tests performed thus far (various conify UIs, some ACQ UIs, basic staff client poking). On my system, this reduced the output size from 731577 bytes to 364109 bytes, just over a 50% size reduction.
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/collab/ berick/ lp1292705- trim-idl2js- unneeded- fields
Testers greatly appreciated.