afs opened a new issue, #2775:
URL: https://github.com/apache/jena/issues/2775

   Currently, the UI for Fuseki works with a webapp container. Fuseki does not 
make use of the webapp container environment.
   
   There is also Fuseki packaged without using a webapp container but it does 
not have the UI or the server side functionality that needs. 
   
   An advantage of the simpler packaging is that it is easier to add 
customization and extensions using [Fuseki 
modules](https://jena.apache.org/documentation/fuseki2/fuseki-modules.html).
   
   By adding the stats and admin server side functions, as modules, Fuseki can 
evolve as one server base. The war file would be retained as an additional 
packing with the fixed functionality it currently has.
   
   ### Fuseki main
   
   The first step is to switch the jar file `fuseki-server.jar` in the Fuseki 
download to be Fuseki main with admin functionality and UI. Thsi gives the same 
user functionality as the Jena 5.2.0 `fuseki-server.jar`.
   
   * Create a Fuseki module for the server administration function. This 
manages the "run" area.
   * Include the browser-side UI and serve the pages.
   * Provide Shiro support.
   
   This could start with a new maven module `jena-fuseki-server-app`.
   
   There is functionality that can be extracted as modules, such as the 
Prometheus metrics, but later.
   
   New functionality for `fuseki-server.jar` is not a goal for the first step.
   
   ### Later
   
   Once the Fuseki is changed over, there are various things that can be done. 
Here are some possibilities:
   
   * Be able to set the run area from the command line, and be able to set an 
admin   password in a manner that is convenient and safe for deployments.
   
   * A Fuseki modules for GeoSPARQL, bring together Fuseki main code line and 
the GeoSPARQL code when using a configuration file.
   
   * Server information. Current the stats are part of the admin interface. The 
stats should be provided independently.
   
   * Modular functionality e.g. having a query UI (no update or adding data) 
with no admin. This may be componentizing the UI or making the UI responding to 
the functions the server makes available.
   
   * At sometime, we should consider making Fuseki start as either datasets 
configured from a configuation file, or one from from the command line.  
Currently, both can be used at the same time.
   
   ### Maven modules
   
   Currently:
   
   | Module | Functionality |
   | --------- | ---------------- | 
   | `jena-fuseki-core`    | The servlets that make up Fuseki, configuration 
file parsing, Prometheus. No Jetty specific code. |
   | `jena-fuseki-main`    | Fuseki modules, Jetty specific security code. |
   | `jena-fuseki-access`  | Per-graph access control |
   | | | 
   | `jena-fuseki-ui`
   | | |
   | `jena-fuseki-webapp`  | The web container application 
   | `jena-fuseki-fulljar` | The webapp, packaged with Jetty as a single 
runnable jar.
   | `jena-fuseki-war`     | Produce the war file.
   | | |
   | `apache-jena-fuseki`  | Downlaod zip file for Fuseki |
   | `jena-fuseki-docker`  | Ket to build a container. |
   | `jena-fuseki-server`  | Packages `jena-fuseki-main` as a shaded runnable 
jar with Jetty. |
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to