# StatoolInfosWeb StatoolInfosWeb is a webapp to value the data from StatoolInfos protocol. ## LICENSE StatoolInfosWeb is released under the GNU AGPL+ license. Enjoy! Authors: * Christian Pierre MOMON Contributors : Angie, MrFlos, Quentin Duchemin, Fabrice61, Thomas TConstans, labecasse, Antoine Jaba, setop, Jérémy Collot, Pilou, Kepon, Laurent Sleto, Rodinux… ### Cat Avatar Generator images I am glad to use the beautiful artwork of David Revoy (http://www.peppercarrot.com). * Graphics CC-BY http://creativecommons.org/licenses/by/4.0/ * Service: https://www.peppercarrot.com/extras/html/2016_cat-generator/ * Source: https://framagit.org/Deevad/cat-avatar-generator * Originally inspired of the code for "MonsterID" by Andreas Gohr http://www.splitbrain.org/go/monsterid. ### Circle-icons I am glad to use the generous artwork of ElegantThemes.com : * https://www.elegantthemes.com/blog/freebie-of-the-week/beautiful-flat-icons-for-free * "These icons are completely free and Open Source under the GPL". ### Logo Author: Christian Pierre MOMON License: Creative Commons CC BY-SA last version. ### Other stuff License of other stuff: * csv-logo.svg, json-logo.svg, ods-icon.svg: * Author: Christian P. Momon * License: CC BY-SA 3+. * other: without any specific information, default license of images is CC BY-SA 3+. ## DOCUMENTATION Read CONCEPT.md and ONTOLOGY.md files. ## Requirements - Java 17 - Eclipse 4.29 (2023-09). ## INSTALL ### Requirements Install Java : ``` apt-get install openjdk-17-jre-headless ``` Download the last release: https://forge.devinsy.fr/statool/statoolinfosweb/releases ### Apache Web Server Add a JK section: ``` # Configure du mod-jk. JkUnMount /.well-known/statoolinfos/* ajp13_worker JkUnMount /.well-known/acme-challenge/* ajp13_worker JkMount /* ajp13_worker ``` Enable the JK module: ``` a2enmod jk ``` ### Tomcat Server Create a dedicated directory: ``` mkdir /srv/infos.mydomain.eu/ ``` Create a log configuration file: ``` cd /srv/infos.mydomain.eu/ wget https://forge.devinsy.fr/statool/statoolinfosweb/src/branch/main/webapp/WEB-INF/log4j2.properties ``` Edit the `/srv/infos.mydomain.eu/log4j2.properties`: ``` appender.logfile.fileName = /var/log/tomcat10/statoolinfosweb.log appender.logfile.filePattern = /var/log/tomcat10/statoolinfosweb-%i.log.gz ``` Create a directory dedicated to webapps: ``` mkdir /var/log/tomcat10# cd /var/lib/tomcat10/webapps/statoolinfoweb cd /srv/infos.mydomain.eu/ ln -s /var/log/tomcat10# cd /var/lib/tomcat10/webapps/statoolinfoweb webapps ``` Put the StatoolInfosWeb WAR file in `/srv/infos.mydomain.eu/` and create a link into the webapps directory: ``` cd /srv/infos.mydomain.eu/webapps/ ln -s /srv/infos.mydomain.eu/SIW.ar ROOT.war ``` Create a context file: ``` cd /etc/tomcat10/Catalina mkdir infos.mydomain.eu cd infos.mydomain.eu wget https://forge.devinsy.fr/statool/statoolinfosweb/src/branch/main/webapp/META-INF/context.xml -o ROOT.xml ``` Edit it: ``` ``` Add a dedicated `host` section in `/etc/tomcat10/server.xml`: ``` ``` ### StatoolInfos /!\/!\/!\ The `cache` directory must be readable by Tomcat. ## About page caching The web pages are put in a HTML cache so they are not build again at each request. The HTML cache is automatically clear when the data directory is modified. The reload is quick. However, the organizations and services metrics pages are in cache. Just because the combinatorial is too large! Example: - (Summary,Generic,Specific,Web) x (Month, Weeks) x (ALL, last months, year1-year4) = 48 pages by item - 100 organizations + 300 services = 400 items - 400 items x 48 pages => ~20 000 pages - 200kB/page => 4GB in memory Metrics pages are so numerous than they have to build on demand.