Skip to content

Commit 2b38511

Browse files
committed
Describe service configuration parameters.
1 parent 615aba5 commit 2b38511

7 files changed

Lines changed: 331 additions & 9 deletions

File tree

src/_includes/fragments/bimrocket-server.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ services:
1818
adminUsername: admin
1919
adminPassword: changeit
2020
store:
21-
class: org.bimrocket.service.security.store.SecurityOrientDaoStore
21+
class: org.bimrocket.service.security.store.orient.SecurityOrientDaoStore
2222
orient:
2323
database: bimdb
2424

@@ -38,7 +38,7 @@ services:
3838
bcf:
3939
projectTemplate:
4040
store:
41-
class: org.bimrocket.service.bcf.store.BcfOrientDaoStore
41+
class: org.bimrocket.service.bcf.store.orient.BcfOrientDaoStore
4242
orient:
4343
database: bimdb
4444
mail:

src/ca/configuration.md

Lines changed: 110 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,117 @@ El valor de `BIMROCKET_DATA_PATH` es pot modificar mitjançant una variable d'en
1919
- **Variable d'entorn:** `BIMROCKET_DATA_PATH=<la_meva_ubicació>`
2020
- **Propietat JVM:** en instal·lacions de Tomcat, edita `<TOMCAT_HOME>/conf/catalina.properties` i afegeix aquesta línia: `BIMROCKET_DATA_PATH=<la_meva_ubicació>`
2121

22-
Per defecte, les bases de dades incrustades d’**OrientDB** es creen automàticament a `${BIMROCKET_DATA_PATH}/db`.
22+
En la configuració per defecte, **Bimrocket** crea automàticament bases de dades incrustades d’**OrientDB** en la ruta `${BIMROCKET_DATA_PATH}/db`.
2323
Pots canviar les URL de les bases de dades al fitxer `bimrocket-server.yaml` per crear-les en un servidor remot d’OrientDB.
2424

2525
La contrasenya per defecte de l’usuari `admin` és `bimrocket`.
2626
Aquesta es pot canviar mitjançant la propietat `services.security.adminPassword` del fitxer `bimrocket-server.yaml`.
27+
28+
### Paràmetres de configuració dels serveis
29+
30+
A continuació es descriuen els paràmetres de configuració que accepta cada servei.
31+
Aquests paràmetres es poden modificar directament al fitxer `bimrocket-server.yaml` o bé mitjançant qualsevol altre mecanisme previst per la
32+
llibreria *smallrye config* (propietats d’entorn, variables de la JVM, etc.).
33+
En molts casos, és necessari reiniciar els serveis perquè els canvis de configuració tinguin efecte.
34+
35+
#### SecurityService
36+
Servei que gestiona la informació dels usuaris i els rols d’accés.<br>
37+
Ruta base: `services.security`
38+
39+
- `.adminPassword` {String}: Contrasenya de l’usuari `admin`. Aquest usuari té privilegis totals sobre tots els serveis.
40+
- `.passwordPattern` {String}: Expressió regular de Java que determina el format acceptat de les contrasenyes dels usuaris.
41+
- `.authorizationCacheTimeout` {Long}: Temps de refresc (en segons) de la memòria cau d’autorització.
42+
- `.userCacheTimeout` {Long}: Temps de refresc (en segons) de la memòria cau d’usuaris.
43+
- `.roleCacheTimeout` {Long}: Temps de refresc (en segons) de la memòria cau de rols.
44+
- `.ldap.enabled` {Boolean}: Paràmetre que indica si les contrasenyes dels usuaris es validen contra un servidor LDAP.
45+
Quan aquest paràmetre està activat, no és necessari que els usuaris es creïn a la base de dades.
46+
- `.ldap.url` {String}: URL del servidor LDAP.
47+
- `.ldap.domain` {String}: Domini del servidor LDAP.
48+
- `.ldap.searchBase` {String}: Ruta base del directori LDAP on es busquen els usuaris.
49+
- `.ldap.adminUsername` {String}: Usuari per accedir al servidor LDAP.
50+
- `.ldap.adminPassword` {String}: Contrasenya per accedir al servidor LDAP.
51+
- `.store.class` {Class}: Classe que implementa l’emmagatzematge dels usuaris i rols:
52+
- Per a l’emmagatzematge a OrientDB: `org.bimrocket.service.security.store.orient.SecurityOrientDaoStore`
53+
- Per a l’emmagatzematge a MongoDB: `org.bimrocket.service.security.store.mongo.SecurityMongoDaoStore`
54+
- `.store.orient.database` {String}: Àlies de la base de dades OrientDB que es defineix a la secció `databases`.
55+
- `.store.mongo.database` {String}: Àlies de la base de dades MongoDB que es defineix a la secció `databases`.
56+
57+
#### FileService
58+
Servei que gestiona l’emmagatzematge de fitxers i carpetes.<br>
59+
Ruta base: `services.file`
60+
61+
- `.folders` {List&lt;String&gt;}: Llista de carpetes a crear al directori base del servei.
62+
- `.store` {Class}: Classe que implementa l’emmagatzematge de carpetes i fitxers:
63+
- Per a l’emmagatzematge al sistema de fitxers: `org.bimrocket.service.file.store.filesystem.FileSystemFileStore`
64+
- `.store.filesystem.directory` {String}: Directori base on s’emmagatzemen les carpetes i els fitxers.
65+
66+
#### BcfService
67+
Servei que gestiona l’emmagatzematge d’incidències BCF.<br>
68+
Ruta base: `services.bcf`
69+
70+
- `.projectTemplate` {String}: Nom del projecte que es pren com a plantilla.
71+
En crear un nou projecte BCF, aquest heretarà les extensions (*BcfExtensions*) del projecte plantilla.
72+
- `.store` {Class}: Classe que implementa l’emmagatzematge de les incidències BCF:
73+
- Per a l’emmagatzematge a OrientDB: `org.bimrocket.service.bcf.store.orient.BcfOrientDaoStore`
74+
- Per a l’emmagatzematge a MongoDB: `org.bimrocket.service.bcf.store.mongo.BcfMongoDaoStore`
75+
- `.store.orient.database`: Àlies de la base de dades OrientDB que es defineix a la secció `databases`.
76+
- `.store.mongo.database`: Àlies de la base de dades MongoDB que es defineix a la secció `databases`.
77+
- `.mail.createTopic.subject` {String}: Patró que determina l’assumpte del missatge que s’enviarà als participants
78+
de la incidència en el moment de la seva creació. El patró pot incloure expressions `#{<property>}` on `property` és qualsevol propietat del *Topic* (incidència).
79+
- `.mail.createTopic.body` {String}: Patró que determina el cos del missatge que s’enviarà als
80+
participants de la incidència en el moment de la seva creació. El patró pot incloure expressions `#{<property>}` on `property` és qualsevol propietat del *Topic* (incidència).
81+
82+
#### IfcdbService
83+
Servei que gestiona l’emmagatzematge d’objectes d’un model IFC en una base de dades.<br>
84+
Ruta base: `services.ifcdb`
85+
86+
- `.schemas` {List&lt;String&gt;}: Llista d’esquemes IFC suportats (IFC2X3, IFC4 o IFC4X3_ADD2).
87+
Per a cada esquema es crearà una base de dades diferent.
88+
L’`àlies` de la base de dades utilitzada coincidirà amb el nom de l’esquema IFC.
89+
- `.maxFileSizeMb` {Integer}: Mida màxima en MB dels models IFC que es poden emmagatzemar a la base de dades.
90+
- `.store` {Class}: Classe que determina la implementació de l’emmagatzematge dels models:
91+
- Per a l’emmagatzematge a OrientDB: `org.bimrocket.service.ifcdb.store.orient.OrientIfcStore`
92+
- Per a l’emmagatzematge a MongoDB: `org.bimrocket.service.ifcdb.store.mongo.MongoIfcStore`
93+
94+
#### TaskService
95+
Servei que gestiona l’execució de tasques al servidor.<br>
96+
Ruta base: `services.task`
97+
98+
- `.taskCacheSize` {Integer}: Nombre de tasques que es desen en memòria cau amb una estructura LRU.
99+
- `.store.class` {Class}: Classe que determina la implementació de l’emmagatzematge de les dades de les tasques:
100+
- Per a l’emmagatzematge a OrientDB: `org.bimrocket.service.task.store.orient.TaskOrientDaoStore`
101+
- Per a l’emmagatzematge a MongoDB: `org.bimrocket.service.task.store.mongo.TaskMongoDaoStore`
102+
- `.store.orient.database` {String}: Àlies de la base de dades OrientDB que es defineix a la secció `databases`.
103+
- `.store.mongo.database` {String}: Àlies de la base de dades MongoDB que es defineix a la secció `databases`.
104+
105+
#### ProxyService
106+
Servei per accedir a URL externes.<br>
107+
Ruta base: `services.proxy`
108+
109+
- `.validUrls` {List&lt;String&gt;}: Llista de les URLs acceptades pel servidor *proxy*.
110+
- `.aliases.<alias>` {Object}: Definició d’una connexió externa associada a `alias`.
111+
- `.aliases.<alias>.url` {String}: URL externa a la qual es vol accedir.
112+
- `.aliases.<alias>.ipFilter` {String}: Expressió regular de Java que determina quines adreces IP poden accedir a la URL.
113+
- `.aliases.<alias>.authorization` {String}: Capçalera HTTP *Authorization* que s’enviarà en accedir a la URL (Bearer o Basic).
114+
115+
#### MailService
116+
Servei per enviar correus electrònics.<br>
117+
Ruta base: `services.mail`
118+
119+
- `.enabled` {Boolean}: Paràmetre que controla l’activació del servei.
120+
- `.host` {String}: Nom del servidor de correu SMTP.
121+
- `.port` {Integer}: Port d’escolta del servidor de correu.
122+
- `.startTls` {Boolean}: Paràmetre que controla l’ús del protocol TLS.
123+
- `.auth` {Boolean}: Paràmetre que indica si la connexió s’estableix passant credencials.
124+
- `.username` {String}: Nom de l’usuari que s’autentica al servidor.
125+
- `.password` {String}: Contrasenya de l’usuari que s’autentica al servidor.
126+
- `.from` {String}: Adreça de correu del remitent per defecte.
127+
- `.contentType` {String}: *Content-Type* del cos del missatge.
128+
129+
#### PrintService
130+
Servei per generar fitxers PDF amb geometries vectorials.<br>
131+
Ruta base: `services.print`
132+
133+
- `.directory` {String}: Directori on s’emmagatzemen els fitxers PDF generats.
134+
- `.title` {String}: Títol que es mostrarà al document PDF.
135+
- `.creator` {String}: Propietat `creator` que s’incorporarà al document PDF.

src/ca/index.njk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ language: ca
3838

3939
{{ screenshot(3, "Gestió d'incidències a través del servei BCF") }}
4040

41-
{{ screenshot(4, "Navegació per l'interior d'un edifici amb visualització de dades sensorials") }}
41+
{{ screenshot(4, "Navegació per l'interior d'un edifici i visualització de dades sensorials") }}
4242

4343
{{ screenshot(5, "Model digital de ciutat generat a partir d'informació provinent d'un servidor GIS") }}
4444

src/en/configuration.md

Lines changed: 109 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,116 @@ The value of `BIMROCKET_DATA_PATH` can be changed via an environment variable or
2020
- **Environment variable**: `BIMROCKET_DATA_PATH=<my_location>`
2121
- **JVM property**: In tomcat installations, edit `<TOMCAT_HOME>/conf/catalina.properties` and add this line: `BIMROCKET_DATA_PATH=<my_location>`
2222

23-
By default, **OrientDB** embedded databases are created automaticaly in `${BIMROCKET_DATA_PATH}/db`.\
23+
In the default configuration, **OrientDB** embedded databases are created automaticaly in `${BIMROCKET_DATA_PATH}/db`.\
2424
You can change the database urls in `bimrocket-server.yaml` file to create the databases in a remote OrientDB server.
2525

2626
The default password of the `admin` user is `bimrocket`.
2727
It can be changed through the `services.security.adminPassword` property of the `bimrocket-server.yaml` file.
28+
29+
### Service configuration parameters
30+
31+
The following section describes the configuration parameters accepted by each service.
32+
These parameters can be modified directly in the `bimrocket-server.yaml` file or through any other mechanism provided by the *smallrye config* library (environment properties, JVM variables, etc.).
33+
In many cases, it is necessary to restart the services for configuration changes to take effect.
34+
35+
#### SecurityService
36+
Service that manages user information and access roles.<br>
37+
Base path: `services.security`
38+
39+
- `.adminPassword` {String}: Password of the `admin` user. This user has full privileges over all services.
40+
- `.passwordPattern` {String}: Java regular expression that defines the accepted format for user passwords.
41+
- `.authorizationCacheTimeout` {Long}: Refresh time (in seconds) of the authorization cache.
42+
- `.userCacheTimeout` {Long}: Refresh time (in seconds) of the user cache.
43+
- `.roleCacheTimeout` {Long}: Refresh time (in seconds) of the role cache.
44+
- `.ldap.enabled` {Boolean}: Parameter that indicates whether user passwords are validated against an LDAP server.
45+
When this parameter is enabled, users do not need to be created in the database.
46+
- `.ldap.url` {String}: URL of the LDAP server.
47+
- `.ldap.domain` {String}: Domain of the LDAP server.
48+
- `.ldap.searchBase` {String}: Base path in the LDAP directory where users are searched.
49+
- `.ldap.adminUsername` {String}: User for accessing the LDAP server.
50+
- `.ldap.adminPassword` {String}: Password for accessing the LDAP server.
51+
- `.store.class` {Class}: Class that implements user and role storage:
52+
- For storage in OrientDB: `org.bimrocket.service.security.store.orient.SecurityOrientDaoStore`
53+
- For storage in MongoDB: `org.bimrocket.service.security.store.mongo.SecurityMongoDaoStore`
54+
- `.store.orient.database` {String}: Alias of the OrientDB database defined in the `databases` section.
55+
- `.store.mongo.database` {String}: Alias of the MongoDB database defined in the `databases` section.
56+
57+
#### FileService
58+
Service that manages the storage of files and folders.<br>
59+
Base path: `services.file`
60+
61+
- `.folders` {List&lt;String&gt;}: List of folders to be created in the base directory of the service.
62+
- `.store` {Class}: Class that implements the storage of folders and files:
63+
- For file system storage: `org.bimrocket.service.file.store.filesystem.FileSystemFileStore`
64+
- `.store.filesystem.directory` {String}: Base directory where folders and files are stored.
65+
66+
#### BcfService
67+
Service that manages the storage of BCF issues.<br>
68+
Base path: `services.bcf`
69+
70+
- `.projectTemplate` {String}: Name of the project used as a template.
71+
When a new BCF project is created, it inherits the extensions (*BcfExtensions*) of the template project.
72+
- `.store` {Class}: Class that implements the storage of BCF issues:
73+
- For storage in OrientDB: `org.bimrocket.service.bcf.store.orient.BcfOrientDaoStore`
74+
- For storage in MongoDB: `org.bimrocket.service.bcf.store.mongo.BcfMongoDaoStore`
75+
- `.store.orient.database`: Alias of the OrientDB database defined in the `databases` section.
76+
- `.store.mongo.database`: Alias of the MongoDB database defined in the `databases` section.
77+
- `.mail.createTopic.subject` {String}: Pattern that defines the subject of the message sent to participants
78+
when the issue is created. The pattern can include expressions `#{<property>}` where `property` is any property of the *Topic* (issue).
79+
- `.mail.createTopic.body` {String}: Pattern that defines the body of the message sent to participants
80+
when the issue is created. The pattern can include expressions `#{<property>}` where `property` is any property of the *Topic* (issue).
81+
82+
#### IfcdbService
83+
Service that manages the storage of IFC model objects in a database.<br>
84+
Base path: `services.ifcdb`
85+
86+
- `.schemas` {List&lt;String&gt;}: List of supported IFC schemas (IFC2X3, IFC4, or IFC4X3_ADD2).
87+
A separate database will be created for each schema.
88+
The `alias` of the database used will match the name of the IFC schema.
89+
- `.maxFileSizeMb` {Integer}: Maximum size in MB of IFC models that can be stored in the database.
90+
- `.store` {Class}: Class that defines the implementation of model storage:
91+
- For storage in OrientDB: `org.bimrocket.service.ifcdb.store.orient.OrientIfcStore`
92+
- For storage in MongoDB: `org.bimrocket.service.ifcdb.store.mongo.MongoIfcStore`
93+
94+
#### TaskService
95+
Service that manages task execution on the server.<br>
96+
Base path: `services.task`
97+
98+
- `.taskCacheSize` {Integer}: Number of tasks cached in an LRU structure.
99+
- `.store.class` {Class}: Class that defines the implementation of task data storage:
100+
- For storage in OrientDB: `org.bimrocket.service.task.store.orient.TaskOrientDaoStore`
101+
- For storage in MongoDB: `org.bimrocket.service.task.store.mongo.TaskMongoDaoStore`
102+
- `.store.orient.database` {String}: Alias of the OrientDB database defined in the `databases` section.
103+
- `.store.mongo.database` {String}: Alias of the MongoDB database defined in the `databases` section.
104+
105+
#### ProxyService
106+
Service for accessing external URLs.<br>
107+
Base path: `services.proxy`
108+
109+
- `.validUrls` {List&lt;String&gt;}: List of URLs accepted by the proxy.
110+
- `.aliases.<alias>` {Object}: Definition of an external connection associated with `alias`.
111+
- `.aliases.<alias>.url` {String}: External URL to access.
112+
- `.aliases.<alias>.ipFilter` {String}: Java regular expression that defines which IP addresses are allowed to access the URL.
113+
- `.aliases.<alias>.authorization` {String}: *Authorization* header sent when accessing the URL (Bearer or Basic).
114+
115+
#### MailService
116+
Service for sending email messages.<br>
117+
Base path: `services.mail`
118+
119+
- `.enabled` {Boolean}: Parameter that controls the activation of the service.
120+
- `.host` {String}: Name of the SMTP mail server.
121+
- `.port` {Integer}: Listening port of the mail server.
122+
- `.startTls` {Boolean}: Parameter that controls the use of the TLS protocol.
123+
- `.auth` {Boolean}: Parameter that indicates whether the connection requires authentication.
124+
- `.username` {String}: Username used to authenticate with the server.
125+
- `.password` {String}: Password used to authenticate with the server.
126+
- `.from` {String}: Default sender email address.
127+
- `.contentType` {String}: *Content-Type* of the message body.
128+
129+
#### PrintService
130+
Service for generating PDF files with vector geometries.<br>
131+
Base path: `services.print`
132+
133+
- `.directory` {String}: Directory where generated PDF files are stored.
134+
- `.title` {String}: Title displayed in the PDF document.
135+
- `.creator` {String}: `creator` property included in the PDF document.

src/en/index.njk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ language: en
3838

3939
{{ screenshot(3, "Issue management through the BCF service") }}
4040

41-
{{ screenshot(4, "Navigation inside a building with sensor data visualization") }}
41+
{{ screenshot(4, "Navigation inside a building and sensor data visualization") }}
4242

4343
{{ screenshot(5, "Digital city model generated from GIS server information") }}
4444

0 commit comments

Comments
 (0)