Introduction
The baseline for this project was initially set in GSoC 2022 by Sujit Jaunal (my current Mentor), by developing the Basic UI for Faroe Settings Configuration to perform CRUD operations. The faroe API of the Arctic Sea framework lets us set the properties for OGC services. The settings are stored in JSON files. The goal of my project is to make the UI work with the javaPS service.
The current scenario of the settings configuration once you have set-up the project in a local workspace environment is shown in figures 1 – 3.
Objectives
The project will cover two phases.
1. Adding new features to the UI (Phase 1)
Repo: FaroeREST-UI
Some essential changes need to be done as per the organizational requirements. This includes working on other group items, such as Service Provider and Service Identification. A first feature is to be able to add new group items dynamically. The following snapshot (an experimental version) shows the static Service Providers, Service and Service Identification buttons. However, there can be a need to add other tabs / group items in the settings view. It is not a feasible option to add such items manually using hardcoding. Thus, such items should be added dynamically. There can be a ‘Add group item‘ or ‘Add tab menu’ button through which a new tab menu option can be created dynamically. I plan to implement this by mid-term.
2. Java PS integration and Faroe Settings API extension (Phase 2)
Associated Repo: Faroe | JavaPS | FaroeREST-UI
2.1 JavaPS Integration
JavaPS is yet another service which may subscribe to the Faroe Settings API. It has its own Service Providers and Service Identifications. As the same groups are available in the FaroeREST UI, we can combine this utility for JavaPS as well.
The integration of these settings requires the binding between configuration files in JavaPS and the REST APIs in FaroeREST-UI. Initially, we can integrate this through an API call for all the REST methods to perform the necessary CRUD operations. We can either add a section to the UI indicating the javaPS settings or a label field to each of the settings that points to the original configurations.
2.2 Faroe Settings API Extension
The goal of extending Faroe Settings API for the Arctic Sea UI is to make Faroe work as a standalone service (This is specified as an optional objective). We first investigate the dependencies in the Faroe xml files (see Fig. 4 A and 4 B).
As we know, Faroe inherits a few of its properties from Iceland. Iceland facilitates the rapid development of modular services that use Faroe for easy configuration and Svalbard for request parsing and response generation.
After investigating the code base and dependencies in the XML file, we found that Faroe has dependency only on Jan Mayen among the included components in the repository. We need to dig deeper into either integrating the dependent services in Faroe (which can make Jan Mayen redundant) or will need to provision a work around for this.
About me
I am Sameer Patil. Currently, I am pursuing my final year Bachelor of Technology in Information Technology at MIT Academy of Engineering Alandi – Pune, India. I have worked at startups and MNCs, but open source is a new journey for me. Along with coding, I am a chess and Cricket enthusiast. This is my first Google Summer of Code and I am excited to work under the guidance of my mentors – Mr. Sujit Jaunjal and Mr. Benjamin Pross.
References
- The Project Idea: https://wiki.52north.org/Projects/GSoC2023ProjectIdeas
- GSoC-2022 Final Blog post: https://blog.52north.org/2022/09/23/ui-for-arctic-sea-settings-api-faroe-final-blog-post
- Faroe-REST-UI Repository (ReactJS) – https://github.com/52North/FaroeREST-UI
- Arctic Sea Faroe Backend (Spring) – https://github.com/sujit-jaunjal/arctic-sea/tree/master/faroe
- JavaPS : https://github.com/52North/javaPS
Leave a Reply