Difference between revisions of "Geonetwork 2019 openlayers migration"

From OSGeo
Jump to navigation Jump to search
(Geonetwork code sprint proposal to upgrade Openlayers version)
 
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Geonetwork team would like to organize a sprint to upgrade Openlayers version.
+
GeoNetwork team would like to organize a sprint to upgrade Openlayers version.
  
 
== Location ==
 
== Location ==
Line 15: Line 15:
 
== Sponsors ==
 
== Sponsors ==
  
EESA, Ifremer, Camptocamp, Titellus, GeoCat BV.
+
EEA, Ifremer, Camptocamp, Titellus, GeoCat BV.
  
 
== Participants ==
 
== Participants ==
Line 31: Line 31:
 
|-
 
|-
 
| 3 ||  [[User:fxprunayre|Francois-Xavier Prunayre]] || France || Titellus || local ||  local || GeoNetwork || Notes || Confirmed  
 
| 3 ||  [[User:fxprunayre|Francois-Xavier Prunayre]] || France || Titellus || local ||  local || GeoNetwork || Notes || Confirmed  
 +
|-
 +
| 4 ||  [[User:Michel.gabriel|Michel Gabriël]] || Netherlands || GeoCat || 1/12/2019 ||  6/12/2019 || GeoNetwork || Notes || Confirmed
 
|-
 
|-
 
|}
 
|}
Line 38: Line 40:
 
=== How to upgrade Openlayers version ===  
 
=== How to upgrade Openlayers version ===  
  
Openlayers is embedded in Geonetwork via ngeo, a companion library for Openlayers that provides tools to integrate AngularJS application.
+
Openlayers is embedded in GeoNetwork via ngeo, a companion library for Openlayers that provides tools to integrate AngularJS application.
 
The ngeo library has moved to ES6 modules, following Openlayers fresh build system.
 
The ngeo library has moved to ES6 modules, following Openlayers fresh build system.
We cannot build ngeo anymore as a dist library and integrate it to Geonetwork, the result is that we are not able to upgrade Openlayers version anymore.
+
We cannot build ngeo anymore as a dist library and integrate it to GeoNetwork, the result is that we are not able to upgrade Openlayers version anymore.
 
We are stuck with version 3.18 (I guess).
 
We are stuck with version 3.18 (I guess).
  
The javascript build system of Geonetwork is pretty closed, using Wro4j and Closure dependency convention, it's very hard to upgrade this build system to a modern JS one, and very risky.
+
The javascript build system of GeoNetwork is pretty closed, using Wro4j and Closure dependency convention, it's very hard to upgrade this build system to a modern JS one, and very risky.
The only solution then is to remove ngeo from the code source of Geonetwork.
+
The only solution then is to remove ngeo from the code source of GeoNetwork.
  
This is a very painfull task because many code of Geonetwork UI is using ngeo ATM.
+
This is a very painfull task because many code of GeoNetwork UI is using ngeo ATM.
 
Here will be the approach:
 
Here will be the approach:
* port specific used code of ngeo in geonetwork
+
* port specific used code of ngeo in GeoNetwork
 
* remove ngeo
 
* remove ngeo
 
* import openlayers as a standalone library
 
* import openlayers as a standalone library
Line 54: Line 56:
 
* fix geontework code to match openlayers version
 
* fix geontework code to match openlayers version
  
Geonetwork comes along with a 3D version using Cesium and ol-cesium library, that was also built along ngeo. This has to be migrated too.
+
GeoNetwork comes along with a 3D version using Cesium and ol-cesium library, that was also built along ngeo. This has to be migrated too.
  
 
=== How to Sponsor ===
 
=== How to Sponsor ===
Line 69: Line 71:
 
The work load is estimated to about 10 days of work.  
 
The work load is estimated to about 10 days of work.  
  
Some partners, Geonetwork sponsors get engaged to help the effort (Ifremer, EEAS), but it's not enough to cover it all (working days and accomodation).  
+
Some partners, GeoNetwork sponsors get engaged to help the effort (Ifremer, EEA), but it's not enough to cover it all (working days and accomodation).  
  
 
We would hope OSGEO could help funding this event.
 
We would hope OSGEO could help funding this event.

Latest revision as of 04:51, 22 November 2019

GeoNetwork team would like to organize a sprint to upgrade Openlayers version.

Location

Sprint scheduled for Q4 2019, proposed date:

  • None ATM

Possible locations

  • Chambéry

Contacts

Florent Gravin

Sponsors

EEA, Ifremer, Camptocamp, Titellus, GeoCat BV.

Participants

Please add your name and the projects you are planning to sprint and note the likehood of your attendance.

Participants
# Participant Country Organization Arrival Departure Project Work on Notes Attendance
1 Florent Gravin France Camptocamp local local GeoNetwork Notes Confirmed
2 Olivier Guyot France Camptocamp local local GeoNetwork Notes Confirmed
3 Francois-Xavier Prunayre France Titellus local local GeoNetwork Notes Confirmed
4 Michel Gabriël Netherlands GeoCat 1/12/2019 6/12/2019 GeoNetwork Notes Confirmed

Discussion

How to upgrade Openlayers version

Openlayers is embedded in GeoNetwork via ngeo, a companion library for Openlayers that provides tools to integrate AngularJS application. The ngeo library has moved to ES6 modules, following Openlayers fresh build system. We cannot build ngeo anymore as a dist library and integrate it to GeoNetwork, the result is that we are not able to upgrade Openlayers version anymore. We are stuck with version 3.18 (I guess).

The javascript build system of GeoNetwork is pretty closed, using Wro4j and Closure dependency convention, it's very hard to upgrade this build system to a modern JS one, and very risky. The only solution then is to remove ngeo from the code source of GeoNetwork.

This is a very painfull task because many code of GeoNetwork UI is using ngeo ATM. Here will be the approach:

  • port specific used code of ngeo in GeoNetwork
  • remove ngeo
  • import openlayers as a standalone library
  • upgrade openlayers version
  • fix geontework code to match openlayers version

GeoNetwork comes along with a 3D version using Cesium and ol-cesium library, that was also built along ngeo. This has to be migrated too.

How to Sponsor

  1. Sponsorship is accepted through the Open Source Geospatial Foundation
    • Use OSGeo PayPal link, funds are in USD marked towards "OSGeo Foundation java code sprint".
    • To make alternative arrangements or request an invoice contact OSGeo Treasurer: treasurer@osgeo.org
  2. Once sponsorship is received the OSGeo Treasurer will contact you and the event organizers to acknowledge your sponsorship
    • Please have a logo ready for your organization if you wish to be acknowledged publicly
    • Your event sponsorship, at your request, can contribute towards being recognized as an OSGeo Foundation sponsor

OSGeo Funding Request

The work load is estimated to about 10 days of work.

Some partners, GeoNetwork sponsors get engaged to help the effort (Ifremer, EEA), but it's not enough to cover it all (working days and accomodation).

We would hope OSGEO could help funding this event.