Versione 4.3.x
Di seguito vengono riportati dei templates di esempio, che andranno opportunamente riconfigurati per la propria installazione. Occorre quindi tenere conto della struttura, ma revisionare tutti i singoli contenuti.
Client
- configuration.properties
#***************************************************************** # C L I E N T # C O N F I G U R A T I O N P R O P E R T I E S # T E M P L A T E # # in order to configure you application, has to be changed the # sections between '<' and '>' characters #***************************************************************** ################################################################## # B A S E P A T H ################################################################## basePath=file:///C:/Projects/<projectStaticFolder>/WEB/ ################################################################## # T E M P P A T H ################################################################## #used by umplugin, scene, report tempPath=C:/Project/<projectStaticFolder>/WEB/ ################################################################## # F I L E S C O M P R E S S I O N ################################################################## #useCompressed: =false during development, =true when put in production useCompressed=false ################################################################## # M E T A D A T A C A C H E (WEBCLIENT) ################################################################## #timeToIdleSeconds keep 1 in configuration phase. Increase as wanted in production. tipycally 3600=1 hour metadatacache.timeToIdleSeconds=1 #timeToLiveSecon keep 1 in configuration phase. Increase as wanted in production. tipycally 3600=1 hour metadatacache.timeToLiveSeconds=1 ################################################################## # P R O J E C T I N D E X ################################################################## applicationIndexTitle=Geoweb framework 4.3.0 #applicationIndexColor1=#00569F applicationIndexColor1=#023B6E applicationIndexColor2=white applicationIndexColor3=#CECECE ################################################################## # M A P G U I D E ################################################################## mgUsername=Administrator mgPassword=admin #mapguide library path. used to update mapguide layers (destination use layer) mapguide.library.path=Library://<projectStaticFolderName> #should be configured inside MapGuide Site Admin (http://localhost/mapguide/mapadmin) geowebalias=<projectStaticFolderName>FOLDER #should be configured in the same path of geowebalias geowebfolder=c:\\projects\\<projectStaticFolder>\\geowebfolder #webconfig.ini path # #Geoweb tries to load webconfig.ini firstly from static contents, and secondarily from classPath. #If all ways before fail, Geoweb uses this absolute path. #This is generally used in Geoweb deployments that involve Linux + WebLogic pathTo.webconfig.ini=C:/Projects/<projectStaticFolder>/WEB/conf/webconfig.ini ################################################################## # M A P ################################################################## #settaggio per misurazione distanze / superfici su planimetrie / mappe rappresentate in mapguide #Allowed range [0.001,1000] Ex: if map is in meter, but it had been loaded in mm, mapUnitFactor should be 1000 #per km = 0.001 # per mt = 1 # per mm = 1000 mapUnitFactor=1000 ################################################################## # U P L O A D M A N A G E R ################################################################## #when loading a CAD drawing, specify, when true, if a SDF file is created for background layer, otherwise put all vector entities in drawing_background relations #useSDFForBackground=true useSDF=true # availablePackages=Bim\,PointCloud\,Plan\,BulkUp\,Views uploadManager.availablePackages=Bim\,PointCloud\,BulkUp\,Plan\,Views #projectType=building or model uploadManager.projectType=building # savingFileOn=db or alfresco (BulkUp - sperimentato su CDE) uploadManager.savingFileOn=alfresco #if alfresco -> set class, class attribute, code attribute, #column name of file name to search table record with the cmis widget uploadManager.fileClass=cde_deliverable_upload_manager uploadManager.fileAttribute=file_name uploadManager.fileCodeColumn=cod_deliverable_full uploadManager.fileName=cod_deliverable_full # Modello 3d (Bim,PointCloud) # saving IFC On=db or alfresco uploadManager.savingModelOn=alfresco uploadManager.modelClass=cde_deliverable_upload_manager uploadManager.modelAttribute=file_name uploadManager.modelCodeColumn=cod_deliverable_full uploadManager.modelName=cod_deliverable_full uploadManager.attachmentsAttribute=allegati_deliverable ################################################################## # GW M A I L C O N F ################################################################## #from version 4.2.12 deprecates calendar.memoscheduler.* stuff #email that will be shown as the sender by the email receiver. Used when 'from' is not passed to gwMailService.sendMail(..) gwMailService.defaultSenderEmail=no-reply@geowebitalia.it gwMailService.user=demo.facilityservice@gmail.com gwMailService.password=demoFS2016 #gwMailService.password=demoFS2016 gwMailService.host=smtp.gmail.com gwMailService.port=465 #mail.smtp.starttls.enable boolean - If true, enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Note that an appropriate trust store must configured so that the client will trust the server's certificate. Defaults to false. gwMailService.mailSmtpStarttlsEnable=false #mail.smtp.auth boolean - If true, attempt to authenticate the user using the AUTH command. Defaults to false. gwMailService.mailSmtpAuth=true #mail.smtp.socketFactory.port int - Specifies the port to connect to when using the specified socket factory. If not set, the default port will be used. gwMailService.mailSmtpSocketFactoryPort=465 #mail.smtp.socketFactory.class String - If set, specifies the name of a class that implements the javax.net.SocketFactory interface. This class will be used to create SMTP sockets. gwMailService.mailSmtpSocketFactoryClass=javax.net.ssl.SSLSocketFactory #mail.smtp.socketFactory.fallback boolean - If set to true, failure to create a socket using the specified socket factory class will cause the socket to be created using the java.net.Socket class. Defaults to true. gwMailService.mailSmtpSocketFactoryFallback=false #mail.smtp.quitwait boolean gwMailService.mailSmtpQuitwait=false #mail.debug boolean gwMailService.mailDebug=true ################################################################## # E V E N T M E M O S C H E D U L E R ################################################################## #toggle memo schedulation. when omitted default is true calendar.memoscheduler.enabled=false #http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html # # Field Name Allowed Values Allowed Special Characters # Seconds 0-59 , - * / # Minutes 0-59 , - * / # Hours 0-23 , - * / # Day-of-month 1-31 , - * ? / L W # Month 1-12 or JAN-DEC , - * / # Day-of-Week 1-7 or SUN-SAT , - * ? / L # # #1 0 3 * * ? stand for every day at 3:00:01 am #calendar.memoscheduler.cronExpression=1 0 3 * * ? #calendar.memoscheduler.cronExpression=0 0/1 * * * ? calendar.memoscheduler.cronExpression=0 0/30 * * * ? #calendar.memoscheduler.cronExpression=0 0/3 * 1/1 * ? #calendar.memoscheduler.cronExpression=0 0 1 * * ? #calendar.memoscheduler.cronExpression=0 0/5 * * * ? #deleteEventMemoOfExpiredEventAfterEndAlert calendar.memoscheduler.deleteEventMemoOfExpiredEventAfterEndAlert=false ################################################################## # D A T A B A S E S ################################################################## ################################################################## # database ORACLE ################################################################## #jdbc.driverClassName=oracle.jdbc.driver.OracleDriver #jdbc.url=jdbc:oracle:thin:@ora11dev.gruppoesc.it:1521:ORA11DEV #jdbc.username=AEC_DBDATI_GW #jdbc.password=AEC_DBDATI_GW #jdbc.maxActive=6 #jdbc.minIdle=2 #jdbc.maxIdle=6 #jdbcmetadata.driverClassName=oracle.jdbc.driver.OracleDriver #jdbcmetadata.url=jdbc:oracle:thin:@ora11dev.gruppoesc.it:1521:ORA11DEV #jdbcmetadata.username=AEC_METADATA_GW #jdbcmetadata.password=AEC_METADATA_GW #jdbcmetadata.maxActive=6 #jdbcmetadata.minIdle=2 #jdbcmetadata.maxIdle=6 ################################################################## # database POSTGRES ################################################################## jdbc.driverClassName=org.postgresql.Driver jdbc.url=jdbc:postgresql://127.0.0.1:5432/<dbName> jdbc.username=<dbSchemaName>_data jdbc.password=<*****> jdbc.maxActive=6 jdbc.minIdle=2 jdbc.maxIdle=6 jdbcmetadata.driverClassName=org.postgresql.Driver jdbcmetadata.url=jdbc:postgresql://127.0.0.1:5432/<dbName> jdbcmetadata.username=<dbSchemaName>_metadata jdbcmetadata.password=<*****> jdbcmetadata.maxActive=6 jdbcmetadata.minIdle=2 jdbcmetadata.maxIdle=6 ################################################################## # database SQLSERVER ################################################################## #jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbc.url=jdbc:sqlserver://192.168.0.99:1433;databaseName=geoweb #jdbc.username=FMI_MAGLIE_GW #jdbc.password=FMI_MAGLIE_GW #jdbc.maxActive=6 #jdbc.minIdle=2 #jdbc.maxIdle=6 # #jdbcmetadata.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbcmetadata.url=jdbc:sqlserver://192.168.0.99:1433;databaseName=geoweb #jdbcmetadata.username=FMI_MAGLIE_GW_METADATA #jdbcmetadata.password=FMI_MAGLIE_GW_METADATA #jdbcmetadata.maxActive=6 #jdbcmetadata.minIdle=2 #jdbcmetadata.maxIdle=6 ################################################################## # M O N G O D B ################################################################## # mongo.database_prefix è il prefisso comune ai tre database MongoDB utilizzati dall'applicazione: # - db per la classificazione ha come suffisso _CLASSIFICATION, # - db per i codici parlanti _MNEMONIC_CODE # - db per i modeli ifc _BIM_MODELS #mongo.database_prefix=CDE_TEST #mongo.database=BIM_MODELS (deprecato dalla 4.3) #mnemoniccode.mongo.database=FS12_AIM_MNEMONIC_CODE (deprecato dalla 4.3 - chiedere a Francesco) mongo.host=localhost mongo.port=27017 ################################################################## # S E C U R I T Y ################################################################## # length of the time period (in days) for which password is valid - Periodo di validità delle password gwSecurity.passwordLifeTimeDays=180 # threshold to prohibit reuse of password up to a previous date - Numero minimo di password differenti prima del riutilizzo gwSecurity.passwordHistoricalCheckingCount=10 # threshold (in days) to prohibit the reuse of the password used from a date onwards gwSecurity.passwordHistoricalCheckingPeriodDays=1800 # (Account lockout threshold) number of invalid logon attempts that are allowed before an account is locked out. - Numero massimo di tentativi di accesso con password errata gwSecurity.maxAttempts=10 # Account locked time gwSecurity.accountLockedTimeMinutes=30 # rest token lifetime for reset password ('forget me') gwSecurity.tokenLifeTimeHours=24 # email forgot password - Subjet - password dimenticata gwSecurity.resetPasswordEmailSubjet=Ambiente di TEST GW4.3 on CDE - Impostazione/Ripristino Dati di Accesso # email forgot password - text message - params: {0: userEmail, 1: username, 2: reset_token, 3: resetUrl} # gwSecurity.resetPasswordEmailMessage=Gentile {1}\\,<br>per inserire una nuova password\\, clicca sul link sottostante:<br> {3} <br><br><br> Cordiali saluti\\, <br> Geowebitalia gwSecurity.resetPasswordEmailMessage=Gentile {1}\\,<br>E stata inviata una richiesta di impostazione o ripristino della password per il tuo account sul sistema GW4.3 on CDE.<br><br>Puoi ora accedere cliccando sul seguente collegamento o copiandolo e incollandolo nel browser: <br><a href="{3}">{3}</a> <br><br>Questo collegamento puo essere utilizzato per accedere una sola volta\\, verrai indirizzato a una pagina dove potrai impostare la tua password. <br>Scade dopo un giorno e non succede nulla se non viene utilizzato. <br><br><br>Cordiali saluti ################################################################## # C L I E N T P A S S W O R D R E G E X ################################################################## #gwClientPasswordRegex: regex applied to dijit/form/ValidationTextBox widget #gwClientPasswordRegex=^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-_]).{8\\,}$ #Minimum eight characters, at least one uppercase letter, one lowercase letter, one number and one special character: gwClientPasswordRegex=^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\d)(?=.*[$@$!%*?&])[A-Za-z\\\d$@$!%*?&]{8\\,} #gwClientPasswordRegexPromptMessage: Tooltip text that appears when the text box is empty and on focus gwClientPasswordRegexPromptMessage=La password deve contenere almeno 8 caratteri di cui almeno una lettera maiuscola\\, almeno una lettera minuscola\\, almeno un numero\\, almeno un carattere speciale fra $!%*?& ##?!@$%^&-_ ################################################################## # A U T H E N T I C A T I O N ################################################################## #PRE AUTHENTICATION CREDENTIALS (optional) #Next two parameters, both optional, work in conjunction and maybe used to create a simplified authentication mechanism (if oauth2 is not possible, or not jet implemented, for example) #Every call to server will be considered allowed if contains in its headers section a parameter called SM_USER properly populated. #This parameter should be computed making the sha512 of the string resulting from the concatenation of preAuthUser and preAuthKey parameter, with a | character in the middle. #Here the pseudo code: # # var SM_USER = SHA512(preAuthUser+"|"+preAuthKey) # # Ex: # # SM_USER: 2ca0e5a3633f7c8306505d3c7edcdaac29c93ae689e0b1182c3da4bfdc763758745e7684926042b840d6beb193ffd4e11fa9d1d73d0bec43f42348cca4f2aedd # #preAuthUser=ws_test #preAuthKey=ws_test_1 #PRE AUTHENTICATED LOGOUT (optional) #By default if an user click logout button, Geoweb redirect him to login page. The behavior can be overridden setting this variable: user will be redirected at set url #preAuthenticated_logout_url=https://loginatla.gse.it/AGLogout ################################################################## # C M I S ################################################################## #ALFRESCO cmisUser=admin cmisPassword=<cmisAdminPassword> cmisUrl=http://127.0.0.1:8081/alfresco/service/cmis #la cartella su Alfresco va creata manualmente accedendo ad Alfresco e posizionandola sotto lo spazio 'Sites/Siti' cmisBasePath=/Siti/Geoweb #SHAREPOINT #cmisUser=geowebitalia\\sharepoint #cmisPassword=Shar3point$ #cmisUrl=http://winsharepoint/_vti_bin/cmis/rest?getRepositories #cmisBasePath=/
Admin
- configuration.properties
#***************************************************************** # A D M I N # C O N F I G U R A T I O N P R O P E R T I E S # T E M P L A T E # # in order to configure you application, has to be changed the # sections between '<' and '>' characters #***************************************************************** ################################################################## # B A S E P A T H ################################################################## basePath=file:///C:/Projects/<projectStaticFolder>/WEB/ ################################################################## # T E M P P A T H ################################################################## #used by umplugin, scene, report tempPath=C:/Project/<projectStaticFolder>/WEB/ ################################################################## # F I L E S C O M P R E S S I O N ################################################################## #useCompressed: =false during development, =true when put in production useCompressed=true ################################################################## # M E T A D A T A C A C H E (WEBADMIN) ################################################################## #comma (,) separated client server address. Only one is the common case (no server cluster) urlList=http://localhost/<projectStaticFolder>/ ################################################################## # D A T A B A S E S ################################################################## ################################################################## # database ORACLE ################################################################## #jdbc.driverClassName=oracle.jdbc.driver.OracleDriver #jdbc.url=jdbc:oracle:thin:@ora11dev.gruppoesc.it:1521:ORA11DEV #jdbc.username=DBDATI_GW #jdbc.password=DBDATI_GW #jdbc.maxActive=6 #jdbc.minIdle=2 #jdbc.maxIdle=6 #jdbcmetadata.driverClassName=oracle.jdbc.driver.OracleDriver #jdbcmetadata.url=jdbc:oracle:thin:@ora11dev.gruppoesc.it:1521:ORA11DEV #jdbcmetadata.username=METADATA_GW #jdbcmetadata.password=METADATA_GW #jdbcmetadata.maxActive=6 #jdbcmetadata.minIdle=2 #jdbcmetadata.maxIdle=6 ################################################################## # database POSTGRES ################################################################## jdbc.driverClassName=org.postgresql.Driver jdbc.url=jdbc:postgresql://127.0.0.1:5432/<dbName> jdbc.username=<dbSchemaName>_data jdbc.password=<*****> jdbc.maxActive=6 jdbc.minIdle=2 jdbc.maxIdle=6 jdbcmetadata.driverClassName=org.postgresql.Driver jdbcmetadata.url=jdbc:postgresql://127.0.0.1:5432/<dbName> jdbcmetadata.username=<dbSchemaName>_metadata jdbcmetadata.password=<*****> jdbcmetadata.maxActive=6 jdbcmetadata.minIdle=2 jdbcmetadata.maxIdle=6 ################################################################## # database SQLSERVER ################################################################## #jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbc.url=jdbc:sqlserver://192.168.0.99:1433;databaseName=geoweb #jdbc.username=DBDATI_GW #jdbc.password=DBDATI_GW #jdbc.maxActive=6 #jdbc.minIdle=2 #jdbc.maxIdle=6 # #jdbcmetadata.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #jdbcmetadata.url=jdbc:sqlserver://192.168.0.99:1433;databaseName=geoweb #jdbcmetadata.username=METADATA_GW #jdbcmetadata.password=METADATA_GW #jdbcmetadata.maxActive=6 #jdbcmetadata.minIdle=2 #jdbcmetadata.maxIdle=6 ################################################################## # C L I E N T P A S S W O R D R E G E X ################################################################## #gwClientPasswordRegex: regex applied to dijit/form/ValidationTextBox widget (optional) #gwClientPasswordRegex=^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-_]).{8\\,}$ #Minimum eight characters, at least one uppercase letter, one lowercase letter, one number and one special character: gwClientPasswordRegex=^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\d)(?=.*[$@$!%*?&])[A-Za-z\\\d$@$!%*?&]{8\\,} #gwClientPasswordRegexPromptMessage: Tooltip text that appears when the text box is empty and on focus (optional) #gwClientPasswordRegexPromptMessage=La password deve contenere almeno 8 caratteri di cui almeno una lettera maiuscola\\, almeno una lettera minuscola\\, almeno un numero\\, almeno un carattere speciale fra #?!@$%^&-_ gwClientPasswordRegexPromptMessage=La password deve contenere almeno 8 caratteri di cui almeno una lettera maiuscola\\, almeno una lettera minuscola\\, almeno un numero\\, almeno un carattere speciale fra $!%*?&# #?!@$%^&-_
Dettaglio Sezioni
MongoDB
A partire dalla versione 4.3.0, come descritto nella relativa documentazione del configuration.properties, in Mongodb devono esserci i 3 database:
[mongo.database_prefix]_CLASSIFICATION [mongo.database_prefix]_MNEMONIC_CODE [mongo.database_prefix]_BIM_MODELS
dove per [mongo.database_prefix] si intende il valore del parametro mongo.database_prefix definito nel configuration.properties.
Questo prefisso può essere scelto liberamente ma si consiglia di sceglierlo in modo che sia simile al nome dell'applicazione Geoweb a cui fa riferimento, in modo che sia possibile utilizzare un un'unica istanza di MongoDB per più client geoweb senza incorrere in problemi di conflitto nei nomi.
Esempio: se per mongo.database_prefix si sceglie 'geoweb', devono essere creati i seguenti database
geoweb_CLASSIFICATION
geoweb_MNEMONIC_CODE
geoweb_BIM_MODELS
A partire dalla versione 4.4.0, come descritto nella relativa documentazione del configuration.properties, in Mongodb i 3 database descritti nel paragrafo precedente verranno totalmente distinti. Questo significa che, per ognuno dei 3 parametri nel configuration.properties, andrà specificato un nome a sé stante e non più legato a dei suffissi.
ATTENZIONE!! Le modifiche riportate in questo paragrafo sono state applicate nel giorno 7 maggio 2019. Questo significa che tutti i .war successivi a tale data le riportano. È importante tenerne conto nell'eventualità di una patch, di una modifica o nel caso in cui si presenti un errore relativo a MongoDB.
Come per la versione precedente, questi nomi possono essere scelti liberamente, ma si consiglia di sceglierli in modo che siano simili al nome dell'applicazione Geoweb a cui fanno riferimento.
Inoltre, a partire da questa versione, sarà possibile implementare l'utilizzo di profili di autenticazione per l'accesso a MongoDB. Tali profili potranno essere inseriti nei database a cui fanno riferimento seguendo le indicazioni al punto 7 della guida all'installazione di MongoDB.
Una volta creato un profilo, questo andrà inserito nel configuration.properties seguendo lo schema seguente:
mongo.source=[nome del database in cui il profilo è stato creato] mongo.username=[nome utente del profilo] mongo.password=[password del profilo] mongo.authentication=[protocollo di lettura, generalmente 'SCRAM_SHA_1']
NOTA: nel caso in cui si intenda fare uso di profili di autenticazione, sarà necessario modificare il file dispatcher-servlet.xml presente nel webclient, cercando la sezione relativa a Mongodb. La struttura apparirà simile alla seguente:
<!-- <bean id="mongoCredential" class="com.mongodb.MongoCredential" autowire-candidate="true"> <constructor-arg name="mechanism" value="#{T(com.mongodb.AuthenticationMechanism).${mongo.authentication}}" /> <constructor-arg type="java.lang.String" name="userName" value="${mongo.username}" /> <constructor-arg type="java.lang.String" name="source" value="${mongo.source}" /> <constructor-arg type="char[]" name="password" value="${mongo.password}" /> </bean> --> <bean id="mongoClientFactoryBean" class="org.springframework.data.mongodb.core.MongoClientFactoryBean"> <property name="host" value="${mongo.host}" /> <property name="port" value="${mongo.port}" /> <!-- <property name="credentials" ref="mongoCredential" /> --> </bean> <!-- database beans start --> <bean id="mongoBIM" class="com.geowebframework.dataservice.mongo.GwMongoDatabase"> <constructor-arg name="databaseName" value="${mongo.db_bim_models}" /> </bean> <bean id="mongoClassification" class="com.geowebframework.dataservice.mongo.GwMongoDatabase"> <constructor-arg name="databaseName" value="${mongo.db_classification}" /> </bean> <bean id="mongoMemonicCode" class="com.geowebframework.dataservice.mongo.GwMongoDatabase"> <constructor-arg name="databaseName" value="${mongo.db_mnemonic_code}" /> </bean> <!-- database beans end -->
In questa sezione sarà fondamentale rimuovere il commento (il tag che va da < ! - -
a - - >
) sia nel primo intero bean, con l'id “mongoCredential”, sia nella proprietà “credentials” del secondo bean, con l'id “mongoClientFactoryBean”.
NOTA: se non si desidera utilizzare il sistema di autenticazione, è comunque buona norma assicurarsi che le parti di cui sopra relative al file dispatcher-servlet.xml siano invece commentate.