SlideShare a Scribd company logo
1 of 39
GeoMapFish
User-Group
March 11th 2021
Agenda
1. General information
2. A little more autonomy with GMF
1. Improve documentation
2. Getting started
3. Future of GMF
1. Strategies for replacing AngularJS
2. Reflections in progress
4. Tour de table / Meinungsrunde
5. GMF version 2.6
1. Current state
2. Demo
1. General
Information
Contact Email
contact@geomapfish.org
User-Group Email
geomapfish-users@googlegroups.com
Feature Requests
https://github.com/camptocamp/GeoMapFish
Website
https://geomapfish.org
Contribute
https://github.com/geomapfish/geomapfish_website
2. More autonomy
for users
Components to improve:
- nGeo
- c2cgeoportal
- Admin interface
- Yaml files
- Migration documentation (changelog)
- Getting started
Improve documentation
- Admin interface
- Contextual documentation
- Better documentation for metadata and functionalities
- Options :
- Filter metadata and functionalities accord to context
- Backport GMF 2.4 / 2.5
- Migration documentation (changelog)
- Document important changes between version (from version 2.4 - docker)
- Exhaustive list of all TODOs when migrating
Improve documentation
Improve documentation - Offer
Website
Getting Started
- The “Getting Started” documentation won’t be done by Camptocamp.
- The PSC members have written a first version:
https://github.com/geomapfish/getting_started
- We’re counting on the GeoMapFish community to make it grow.
3. The future
of GeoMapFish
Requirements:
- Keep all the existing functionalities
- Same level of ergonomy and performance
- No breaking change neither in the backend,
nor in the administration part
- Ideally 10 years support on the new framework
Strategies for replacing AngularJS
Evaluation criteria:
- Cost
- Migration effort from older versions
- Low learning curve
- Community
- Durability
Strategies for replacing AngularJS
4 different scenarios:
1. Stay on AngularJS with extended support
2. Rough 1:1 migration
3. Progressive migration
4. Switch to another existing library
Strategies for replacing AngularJS
Pros:
- More time to consider others solutions
- Wait for a opportunity to migrate
- No short-term cost
Cons:
- Keep developing in a deprecated technology
- Only postpones the migration
- Likely no expansion of the community
Horizon:
- Now
1. Stay on AngularJS with extended support
2. Rough 1 to 1 migration
Pros:
- Capitalize on existing code
- Probably the less expensive migration.
- Could be externalized.
Cons:
- No improvement of GMF during migration
- The first results will only be really visible once the migration is almost complete.
- Some components may not be able to be migrated as is
- We remain closely linked to the new chosen framework
- In 7-10 years, the same question of a technical migration will arise again
Horizon:
- 1-2 years
3. Progressive migration
Pros:
- Capitalize on existing code
- GMF can get new functionalities during the migration
- We can choose component by component the best way to migrate it
- Possibility to develop some parts independently of a framework, in pure javascript
Cons:
- Probably higher costs
- During the migration, old and new technologies may have to cohabit, and this can add complexity to
the code and in the architecture
- Today, no solution of cohabitation between AngularJS and another Framework has been tested ==>
we first need a Proof of Concept to check the feasibility.
Horizon:
- 2-4 years
4. Switch to another existing library
Pros:
- Join an existing community
- Other funding opportunities
Cons:
- Almost zero capitalization on the existing GMF
- The server part need most likely to be rewritten
- Integration of the existing configuration (layer tree, metadata, …) will be very difficult
- Customization will be very difficult
- Dependency on another community, possible difficulties to collaborate with it
- Some components may not be able to be migrated in the new library as is
- Cost are hard to evaluate
Horizon:
- 2-3 years ?
1. Stay on AngularJS with extended support
2. Rough 1:1 migration
3. Progressive migration
4. Switch to another existing library
Reflections in progress
For a 1 to 1 migration : about 250 000 CHF
- Preliminary refactoring done by C2C
- Outsourced migration to an US company specialized in AngularJS/Angular
https://xlts.dev
- PM & Tests done by Camptocamp and the PSC
For a progressive migration : not estimated yet, but very probably higher
For reference:
- User-Group investment in 2019 : 136 000 CHF
- User-Group investment in 2020 : 134 000 CHF
Estimated costs
Step 1 : Release 2.7 of GMF
- Proof of Concept
- Merge of ngeo/gmf components
- Remove dependencies to AngularJS where it is easily done
- Ensure compatibility with standard Web Components
- Pure technical migration (no new functionality)
- LTS Release early 2022
Reflections in progress
Developers have long been able to define reusable web elements using JavaScript
frameworks such as React and Angular. However, each framework uses a different
standard which often prevents useful snippets of code from being used across different
projects. This problem can be overcome by using web components which are reusable
HTML components that can be used regardless of the framework. Standardized in 2012,
the web element type is now supported by all current browsers.
What are Web Components ?
https://www.ionos.com/digitalguide/websites/web-development/web-components/
Goal of this first step:
- Technical choices will be validated
- The complexity of the client code will have been simplified
- Give users time to prepare for the migration
- Custom developments can be migrated to a technology independent of a
framework
Reflections in progress
Step 2 :
Depending on the results of the first step, and depending on the
finances, there will be 2 options.
Reflections in progress
Option 1 :
1 to 1 migration of the remaining components and of the core of GMF
- Replace completely AngularJS with a new framework (Angular, VueJs, React, …)
- Mostly a technical migration
- Possible integration of some new features (but not sure)
- Release GMF 3.0 in 2023 without AngularJS any more
- The new version is linked to a new framework
Reflections in progress
Option 2 :
Start a gradual migration of the remaining components
- Convert step by step the GMF components into standard Web Components
- Integration of some new features
- Keep AngularJS a little longer
- Release GMF 2.8 in 2023 with new functionalities and a little less AngularJS
- Release GMF 2.9 in 2024 with new functionalities and even a little less AngularJS
- Release GMF 3.0 in 2025 without AngularJS any more
- The new version uses the new framework as few as possible
Reflections in progress
4. Tour de table /
Meinungsrunde
- Is the PSC going in the right direction regarding documentation?
- What do you think about the migration scenarios?
- How do you plan to participate financially in this migration?
- Who are you?
- What is your current situation with GMF?
- What are your expectations / fears for the next years?
5. GMF Version 2.6
Current state : developments done
Number Category Feature Description
2.6.16 Admin interface Admin lists Add layer list in restriction area
2.6.20 Editing Editing client-side type validation When editing an object and depending on the browser, verify the data type
2.6.22 Editing Editing dropdown lists sorting Add a column named "order" to sort dropdown lists.
2.6.54 Editing Overlapping geometries Allow editing of overlayed geometries in edit and redline interface
2.6.34 External layers Legend of imported WMS layers Display legend of imported WMS layers
2.6.35 External layers External WMS GetFeatureInfo Simple interrogation of external WMS (Geoadmin) using WMS getfeatureinfo
2.6.47 External layers Drag/drop files Instead of using external entry plugin, permit drag and drop of files directly on the map
2.6.24 Login Server logout message Push a message to user when server authentication is lost and client interface shows that user is connected.
2.6.57 Mobile Auto geolocation mobile Geolocation activated at startup
2.6.29 Print Print legend improvments Add groups in legends
2.6.10 Query CSV export in Window New button next to results filter. Exports everything (no slection like with grid)
2.6.38 Query Message when too many results Add message when query count is too big
2.6.46 Query Click query tolerance per layer When doing a click query, be able to define a tolerance on each layer
2.6.53 Query Scale limit on WMTS query Scale limit on WMTS query
2.6.1 Redlining Redlining arrows Allow to draw an arrow
2.6.31 Redlining Snapping for measures/drawing Snapping functionality for measuring and drawing tools
2.6.26 Search Search keywords for layers Possiblitiy to add keywords to layers in order to find them easier in the search
2.6.27 Search Full-text documentation Improve Full-text-search documentation
2.6.25 Shortlink Shortlink with time Include time configuration on layers in shorlinks
2.6.32 User interface Resizable right panel Right panel resizable for all tools. Improve GUI.
2.6.55 GetCapabilities sync
2.6.56 Mapillary integration
Current state : integration tests have started
Planned release date : end of April 2021
2. Demo
GeoMapFish User-Group - March 2021
GeoMapFish User-Group - March 2021

More Related Content

Similar to GeoMapFish User-Group - March 2021

State of GeoServer
State of GeoServerState of GeoServer
State of GeoServerJody Garnett
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10Jody Garnett
 
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHP
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHPWEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHP
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHPzend
 
JS digest. January 2018
JS digest. January 2018 JS digest. January 2018
JS digest. January 2018 ElifTech
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar NatarajanSathish Kumar
 
Igalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...Igalia
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solutionMikhail Kuznetcov
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering PipelineHyungwook Lee
 
Vue and Firebase Experiences
Vue and Firebase ExperiencesVue and Firebase Experiences
Vue and Firebase ExperiencesIsatu Conteh
 
Banner xe cause 2013 part 1
Banner xe cause 2013 part 1Banner xe cause 2013 part 1
Banner xe cause 2013 part 1morelandsmith
 
#CodefreshLive Event
#CodefreshLive Event#CodefreshLive Event
#CodefreshLive EventCodefresh
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework Yakov Fain
 
Oracle soa 10g to 11g migration
Oracle soa 10g to 11g migrationOracle soa 10g to 11g migration
Oracle soa 10g to 11g migrationKrishna R
 
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04Fernando Fernández
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteWeaveworks
 

Similar to GeoMapFish User-Group - March 2021 (20)

State of GeoServer
State of GeoServerState of GeoServer
State of GeoServer
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10
 
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHP
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHPWEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHP
WEB 2.0: BUILDING RICH INTERNET APPLICATIONS WITH PHP
 
Geo moose project update brian fischer
Geo moose project update   brian fischerGeo moose project update   brian fischer
Geo moose project update brian fischer
 
JS digest. January 2018
JS digest. January 2018 JS digest. January 2018
JS digest. January 2018
 
SathishKumar Natarajan
SathishKumar NatarajanSathishKumar Natarajan
SathishKumar Natarajan
 
Igalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plansIgalia and WebKit: Status update and plans
Igalia and WebKit: Status update and plans
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solution
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
Vue and Firebase Experiences
Vue and Firebase ExperiencesVue and Firebase Experiences
Vue and Firebase Experiences
 
Banner xe cause 2013 part 1
Banner xe cause 2013 part 1Banner xe cause 2013 part 1
Banner xe cause 2013 part 1
 
#CodefreshLive Event
#CodefreshLive Event#CodefreshLive Event
#CodefreshLive Event
 
micro-frontends-with-vuejs
micro-frontends-with-vuejsmicro-frontends-with-vuejs
micro-frontends-with-vuejs
 
Ria Mvc
Ria MvcRia Mvc
Ria Mvc
 
Overview of the AngularJS framework
Overview of the AngularJS framework Overview of the AngularJS framework
Overview of the AngularJS framework
 
Oracle soa 10g to 11g migration
Oracle soa 10g to 11g migrationOracle soa 10g to 11g migration
Oracle soa 10g to 11g migration
 
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
Liferay UG Meetup #8 - Portal 7.3 + portlets com nodeJS - 2020-03-04
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 

More from remyguillaume

Very short presentation of Scrum and Kanban
Very short presentation of Scrum and KanbanVery short presentation of Scrum and Kanban
Very short presentation of Scrum and Kanbanremyguillaume
 
GeoMapFish User-Group - May 2022
GeoMapFish User-Group - May 2022GeoMapFish User-Group - May 2022
GeoMapFish User-Group - May 2022remyguillaume
 
A very short presentation of SCRUM
A very short presentation of SCRUMA very short presentation of SCRUM
A very short presentation of SCRUMremyguillaume
 
Les métiers du numérique
Les métiers du numériqueLes métiers du numérique
Les métiers du numériqueremyguillaume
 
GeoMapFish User-Group - November 2020
GeoMapFish User-Group - November 2020GeoMapFish User-Group - November 2020
GeoMapFish User-Group - November 2020remyguillaume
 
Les métiers du numérique
Les métiers du numériqueLes métiers du numérique
Les métiers du numériqueremyguillaume
 
Der Luftbild-Viewer und ein Stück Pizza
Der Luftbild-Viewer und ein Stück PizzaDer Luftbild-Viewer und ein Stück Pizza
Der Luftbild-Viewer und ein Stück Pizzaremyguillaume
 
Mobilité Douce - Présentation Gis-Day 2014, Nyon
Mobilité Douce - Présentation Gis-Day 2014, NyonMobilité Douce - Présentation Gis-Day 2014, Nyon
Mobilité Douce - Présentation Gis-Day 2014, Nyonremyguillaume
 

More from remyguillaume (9)

Very short presentation of Scrum and Kanban
Very short presentation of Scrum and KanbanVery short presentation of Scrum and Kanban
Very short presentation of Scrum and Kanban
 
GeoMapFish User-Group - May 2022
GeoMapFish User-Group - May 2022GeoMapFish User-Group - May 2022
GeoMapFish User-Group - May 2022
 
Cybersecurity
CybersecurityCybersecurity
Cybersecurity
 
A very short presentation of SCRUM
A very short presentation of SCRUMA very short presentation of SCRUM
A very short presentation of SCRUM
 
Les métiers du numérique
Les métiers du numériqueLes métiers du numérique
Les métiers du numérique
 
GeoMapFish User-Group - November 2020
GeoMapFish User-Group - November 2020GeoMapFish User-Group - November 2020
GeoMapFish User-Group - November 2020
 
Les métiers du numérique
Les métiers du numériqueLes métiers du numérique
Les métiers du numérique
 
Der Luftbild-Viewer und ein Stück Pizza
Der Luftbild-Viewer und ein Stück PizzaDer Luftbild-Viewer und ein Stück Pizza
Der Luftbild-Viewer und ein Stück Pizza
 
Mobilité Douce - Présentation Gis-Day 2014, Nyon
Mobilité Douce - Présentation Gis-Day 2014, NyonMobilité Douce - Présentation Gis-Day 2014, Nyon
Mobilité Douce - Présentation Gis-Day 2014, Nyon
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

GeoMapFish User-Group - March 2021

  • 2. Agenda 1. General information 2. A little more autonomy with GMF 1. Improve documentation 2. Getting started 3. Future of GMF 1. Strategies for replacing AngularJS 2. Reflections in progress 4. Tour de table / Meinungsrunde 5. GMF version 2.6 1. Current state 2. Demo
  • 7.
  • 9. Components to improve: - nGeo - c2cgeoportal - Admin interface - Yaml files - Migration documentation (changelog) - Getting started Improve documentation
  • 10. - Admin interface - Contextual documentation - Better documentation for metadata and functionalities - Options : - Filter metadata and functionalities accord to context - Backport GMF 2.4 / 2.5 - Migration documentation (changelog) - Document important changes between version (from version 2.4 - docker) - Exhaustive list of all TODOs when migrating Improve documentation
  • 13. Getting Started - The “Getting Started” documentation won’t be done by Camptocamp. - The PSC members have written a first version: https://github.com/geomapfish/getting_started - We’re counting on the GeoMapFish community to make it grow.
  • 14.
  • 15. 3. The future of GeoMapFish
  • 16. Requirements: - Keep all the existing functionalities - Same level of ergonomy and performance - No breaking change neither in the backend, nor in the administration part - Ideally 10 years support on the new framework Strategies for replacing AngularJS
  • 17. Evaluation criteria: - Cost - Migration effort from older versions - Low learning curve - Community - Durability Strategies for replacing AngularJS
  • 18. 4 different scenarios: 1. Stay on AngularJS with extended support 2. Rough 1:1 migration 3. Progressive migration 4. Switch to another existing library Strategies for replacing AngularJS
  • 19. Pros: - More time to consider others solutions - Wait for a opportunity to migrate - No short-term cost Cons: - Keep developing in a deprecated technology - Only postpones the migration - Likely no expansion of the community Horizon: - Now 1. Stay on AngularJS with extended support
  • 20. 2. Rough 1 to 1 migration Pros: - Capitalize on existing code - Probably the less expensive migration. - Could be externalized. Cons: - No improvement of GMF during migration - The first results will only be really visible once the migration is almost complete. - Some components may not be able to be migrated as is - We remain closely linked to the new chosen framework - In 7-10 years, the same question of a technical migration will arise again Horizon: - 1-2 years
  • 21. 3. Progressive migration Pros: - Capitalize on existing code - GMF can get new functionalities during the migration - We can choose component by component the best way to migrate it - Possibility to develop some parts independently of a framework, in pure javascript Cons: - Probably higher costs - During the migration, old and new technologies may have to cohabit, and this can add complexity to the code and in the architecture - Today, no solution of cohabitation between AngularJS and another Framework has been tested ==> we first need a Proof of Concept to check the feasibility. Horizon: - 2-4 years
  • 22. 4. Switch to another existing library Pros: - Join an existing community - Other funding opportunities Cons: - Almost zero capitalization on the existing GMF - The server part need most likely to be rewritten - Integration of the existing configuration (layer tree, metadata, …) will be very difficult - Customization will be very difficult - Dependency on another community, possible difficulties to collaborate with it - Some components may not be able to be migrated in the new library as is - Cost are hard to evaluate Horizon: - 2-3 years ?
  • 23. 1. Stay on AngularJS with extended support 2. Rough 1:1 migration 3. Progressive migration 4. Switch to another existing library Reflections in progress
  • 24. For a 1 to 1 migration : about 250 000 CHF - Preliminary refactoring done by C2C - Outsourced migration to an US company specialized in AngularJS/Angular https://xlts.dev - PM & Tests done by Camptocamp and the PSC For a progressive migration : not estimated yet, but very probably higher For reference: - User-Group investment in 2019 : 136 000 CHF - User-Group investment in 2020 : 134 000 CHF Estimated costs
  • 25. Step 1 : Release 2.7 of GMF - Proof of Concept - Merge of ngeo/gmf components - Remove dependencies to AngularJS where it is easily done - Ensure compatibility with standard Web Components - Pure technical migration (no new functionality) - LTS Release early 2022 Reflections in progress
  • 26. Developers have long been able to define reusable web elements using JavaScript frameworks such as React and Angular. However, each framework uses a different standard which often prevents useful snippets of code from being used across different projects. This problem can be overcome by using web components which are reusable HTML components that can be used regardless of the framework. Standardized in 2012, the web element type is now supported by all current browsers. What are Web Components ? https://www.ionos.com/digitalguide/websites/web-development/web-components/
  • 27. Goal of this first step: - Technical choices will be validated - The complexity of the client code will have been simplified - Give users time to prepare for the migration - Custom developments can be migrated to a technology independent of a framework Reflections in progress
  • 28. Step 2 : Depending on the results of the first step, and depending on the finances, there will be 2 options. Reflections in progress
  • 29. Option 1 : 1 to 1 migration of the remaining components and of the core of GMF - Replace completely AngularJS with a new framework (Angular, VueJs, React, …) - Mostly a technical migration - Possible integration of some new features (but not sure) - Release GMF 3.0 in 2023 without AngularJS any more - The new version is linked to a new framework Reflections in progress
  • 30. Option 2 : Start a gradual migration of the remaining components - Convert step by step the GMF components into standard Web Components - Integration of some new features - Keep AngularJS a little longer - Release GMF 2.8 in 2023 with new functionalities and a little less AngularJS - Release GMF 2.9 in 2024 with new functionalities and even a little less AngularJS - Release GMF 3.0 in 2025 without AngularJS any more - The new version uses the new framework as few as possible Reflections in progress
  • 31.
  • 32. 4. Tour de table / Meinungsrunde
  • 33. - Is the PSC going in the right direction regarding documentation? - What do you think about the migration scenarios? - How do you plan to participate financially in this migration? - Who are you? - What is your current situation with GMF? - What are your expectations / fears for the next years?
  • 35. Current state : developments done Number Category Feature Description 2.6.16 Admin interface Admin lists Add layer list in restriction area 2.6.20 Editing Editing client-side type validation When editing an object and depending on the browser, verify the data type 2.6.22 Editing Editing dropdown lists sorting Add a column named "order" to sort dropdown lists. 2.6.54 Editing Overlapping geometries Allow editing of overlayed geometries in edit and redline interface 2.6.34 External layers Legend of imported WMS layers Display legend of imported WMS layers 2.6.35 External layers External WMS GetFeatureInfo Simple interrogation of external WMS (Geoadmin) using WMS getfeatureinfo 2.6.47 External layers Drag/drop files Instead of using external entry plugin, permit drag and drop of files directly on the map 2.6.24 Login Server logout message Push a message to user when server authentication is lost and client interface shows that user is connected. 2.6.57 Mobile Auto geolocation mobile Geolocation activated at startup 2.6.29 Print Print legend improvments Add groups in legends 2.6.10 Query CSV export in Window New button next to results filter. Exports everything (no slection like with grid) 2.6.38 Query Message when too many results Add message when query count is too big 2.6.46 Query Click query tolerance per layer When doing a click query, be able to define a tolerance on each layer 2.6.53 Query Scale limit on WMTS query Scale limit on WMTS query 2.6.1 Redlining Redlining arrows Allow to draw an arrow 2.6.31 Redlining Snapping for measures/drawing Snapping functionality for measuring and drawing tools 2.6.26 Search Search keywords for layers Possiblitiy to add keywords to layers in order to find them easier in the search 2.6.27 Search Full-text documentation Improve Full-text-search documentation 2.6.25 Shortlink Shortlink with time Include time configuration on layers in shorlinks 2.6.32 User interface Resizable right panel Right panel resizable for all tools. Improve GUI. 2.6.55 GetCapabilities sync 2.6.56 Mapillary integration
  • 36. Current state : integration tests have started Planned release date : end of April 2021