Changes between Initial Version and Version 1 of BluePrint/GIS/2.0

09/19/21 15:21:36 (15 months ago)
Fran Boon

Initial version


  • BluePrint/GIS/2.0

    v1 v1  
     1= GIS module for Sahana Eden 2.0 =
     3The core !JavaScript Mapping Library that we use is still [ OpenLayers 2.x][[BR]]
     4This is very old and we would benefit from upgrading to the [ current 6.x release]
     5- no need to maintain the old one for browser changes (Just 1 instance of that so far: )
     6- we can take advantage of new features & performance upgrades (like [ TileJSON])
     7At the core this isn't too hard and [ much progress has already been made] (& UCCE already uses OL5 within the DC Editor)
     8The big issue is the User Interface, especially for the main map.
     9This is currently built on [ GeoExt 1.1] & !ExtJS 3.4.
     10The obvious solution would be to upgrade to the [ current GeoExt], and hence [ ExtJS 6.2], however that version of ExtJS is no longer available and has [ strict GPL licensing] around it, which doesn't really make it suitable for us.[[BR]]
     11!GeoExt are also not moving very fast and a dependency on that seems unwise if we're making a big change anyway.[[BR]]
     12Although we could bring in the !GeoExt code that we use and maintain it ourselves (it is BSD-licensed), it depends on !ExtJS, which is not, so this isn't really an option.[[BR]]
     13So what UI toolkit should we use instead?[[BR]]
     14An obvious option would be [ jQueryUI], since we already use that extensively for custom widgets in Eden, and we already use the widget factory for our [ OL6-version of the Map][[BR]]
     15Although it hasn't received many upgrades recently, it is still maintained with a [ new release coming soon].
     16It has limited Widgets available: Buttons, Dialog, Menus, Tabs all there, but no Toolbar (we can probably use Controlgroup for this) Panels or Tree (using [ JSTree] seems the right approach here, as we already use this elsewhere & it's well-maintained).
     17We can also see about bringing in components from [ PrimeUI]...that isn't maintained, however the Apache 2 license means we can take anything we want from there.
     19There are other options which we could consider:
     20* !VueJS
     21 * Basic Tree example:
     22 * !PrimeVue has widgets:
     23* Angular
     24 * !TypeScript-only :/
     25* !BackBone/Mustache
     26* !BluePrint
     27 *
     28 * looks good, but Palantir :/ & no Mobile :/ & TS :/
     29* Ember
     30* Lit (lightweight web components)
     31* React
     32 *
     33* [ Webix]
     34 * GPL, but can be combined with MIT
     35 * Has a Tree