Questa è una vecchia versione del documento!
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
#***************************************************************** # 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
#***************************************************************** # 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.