...
- Maven 2.2.1
- Apache ant 1.8.0
- Tomcat 5.5.27
- A text editor (ex : Notepad)
...
- Step 3 : If you want to install ESCOGrouper in Portlet mode (uPortal 2.6 + https), edit Tomcat "server“server.xml" xml” file and add "emptySessionPath“emptySessionPath=true" true” for all the <connector> tags :
...
Warning : if BUILD SUCCESSFUL shows up at the end of Ant script, it doesn't necessarily mean that the build is successfully completed. To be sure that all was fine, you must check that no "BUILD FAILED" “BUILD FAILED” appears in the Maven tasks.
...
If the application is already installed, the derby database already exists, and you just want to modify some files in the "properties" “properties” directory which are not derby ones (strategies for example), you must do the following :
...
This task can start cleaning projects in order to return to a pristine state before any new compilation.
ant init
This task runs a "dbinit"“dbinit”, copies the generated files in the project, and build the project.
...
This task generates the SQL file (from the properties files and the i18n files) which will be used to fill the DERBY database.
Some warnings concerning "duplicate keys" “duplicate keys” could show up. Often, this is normal because some keys are used for the same attribute on different pages.
For example, the "extension" “extension” attribute is used in the group property page and in the folder property page. The same label (extension.label) is used.
Cette tâche permet de générer le fichier sql permettant d'alimenter d’alimenter la base de données mémoire à partir des fichiers de paramétrage ainsi que les fichiers d'internationalisationd’internationalisation.
ant deploy
This task deploys the war created on your Tomcat.
...
All the config files are located in the " “ ESCOGrouper/properties" properties” directory.
Ancre | ||||
---|---|---|---|---|
|
...
Key | Description | Example |
---|---|---|
escogrouper.property.file | File to use for the build, located in the "ESCO “ESCO Grouper/properties" properties” directory | ESCOGrouper.properties |
javascript.compression | Enable or disable the compression for Javascript files. | true |
MAVEN |
|
|
maven.home | Maven's directory | /opt/apache-maven-2.2.0 |
maven.offline | Enable or disable Maven's Offline mode compilation. | false |
maven.quiet | Enable or disable verbose build. "false" “false” will display the errors. | false |
TOMCAT |
|
|
tomcat.deploy.mode | Configure the deployment mode : "local" or "remote"“local” or “remote”. | local |
tomcat.webapps.directory | Deployment directory (in local deployment mode) | /opt/tomcat/webapps |
tomcat.host | Tomcat Manager's url. (required in remote deployment mode) | |
tomcat.user | Login used to connect to the Manager (in remote mode) | manager |
tomcat.password | Password used to connect to the Manager (in remote mode) | manager |
...
It's ESCOGrouper properties' file.
Key | Description | Example |
---|---|---|
APPLICATION |
|
|
application.version | Application's version number (just an information) | 2.6.0 |
application.versionMajorNumber | Major version number. (used by "application“application.xml" xml” to show the version number on the footer) | 2 |
application.versionMinorNumber | Minor version number. (used by "application“application.xml" xml” to show the version number on the footer). | 6 |
application.versionUpdate | Application's update version. (used by "application“application.xml" xml” to show the version number on the footer). | 0 |
application.env | Environment's name. (test, production, development), ... … | test |
application.type | Compilation type. ("servlet" or "portlet"“servlet” or “portlet”) | servlet |
application.portlet.name | portlet's name (ignored in servlet mode) | ESCOGrouperPortlet |
application.host | Hostname of the server hosting the application. (IP address or hostname) | escogrouper.esco-portail.org |
application.context | Application's context name. | ESCOGrouper |
application.port | Port to access the application. | 443 |
CAS |
|
|
cas.mode | Protocol used with CAS (http, https) | https |
cas.host | Cas hostname | auth.esco-portail.org |
cas.port | CAS port | 443 |
cas.uri | Cas URI. (don't forget the leading slash "“/"”) | / |
cas.uri.login | Login URI. (don't forget the leading slash "“/"”). | /login |
cas.uri.logout | Logout URI. (don't forget the leading slash "“/"”). | /logout |
cas.uri.validate | Cas validator URI. (don't forget the leading slash "“/"”). | /proxyValidate |
cas.uri.proxyCallback | Cas callback URI.(don't forget the leading slash "“/"”). | /casProxyCallback |
LDAP |
|
|
ldap.host | LDAP Hostname | 172.31.142.71 |
ldap.port | LDAP port | 389 |
ldap.login | LDAP Login | admin |
ldap.password | LDAP Password. | passwd |
ldap.dn | LDAP bind dn. | cn=grouper,dc=esco-portail,dc=org |
ldap.dn.password | LDAP password. | passwd |
ldap.basedc | LDAP Base "Dn"“Dn”. | dc=esco-portail,dc=org |
ldap.baseuid | LDAP search branch. (branch containing ldap users = people branch). | ou=people,dc=esco-portail,dc=org |
GROUPER DATABASE |
|
|
database.driver | Grouper database driver | com.mysql.jdbc.Driver |
database.username | Grouper database username | esco |
database.password | Grouper database password | passwd |
database.url | Grouper database JDBC url | jdbc:mysql://172.31.142.71:3306/grouper?characterEncoding=UTF-8 |
DERBY DATABASE (MEMORY DATABASE) |
|
|
derby.driver | Derby database driver | org.apache.derby.jdbc.ClientDriver |
derby.port | Derby database port | 1527 |
derby.url | Derby database jdbc url | jdbc:derby://localhost:1527//opt/conf.dir/data/ESCODB;create=true; |
derby.username | Derby database username | sa |
derby.password | Derby database password | passwd |
derby.requireAuthentication | Tells whether an authentication true is required to connect to the Derby database. ("true" or "false"“true” or “false”) | true |
GROUPER WS |
|
|
grouperClient.webService.url | Not used at present |
|
grouperClient.webService.login | Not used at present |
|
grouperClient.webService.password | Not used at present |
|
GROUPER API service |
|
|
grouper.service | Service used for Grouper API calls. 2 values possible :
| grouperApiImplRecia |
grouper.helper.timeToIdle | duration of inactivity from the cache before its regeneration (seconds) if the grouperApiImplRecia service is used | 60 |
grouper.helper.timeToLive | maximum lifetime of the cache before its regeneration (seconds) if the grouperApiImplRecia service is used | 600 |
LOG4J |
|
|
log4j.level | Log level for the whole application. ("DEBUG", "INFO", "WARN", "ERROR", "FATAL"“DEBUG”, “INFO”, “WARN”, “ERROR”, “FATAL”) | DEBUG |
log4j.appender.grouper_event.File | Obsolete. Grouper events log file. To be used it is necessary to modify log4j file (ant/filters/log4j.filter.xml) |
|
log4j.appender.grouper_error.File | Obsolete. Grouper errors log file. To be used it is necessary to modify log4j file (ant/filters/log4j.filter.xml) | /home/grouper/logs/ESCOGrouper/grouper_error.log |
log4j.appender.grouper_debug.File | Grouper debug log file |
|
log4j.appender.grouper_gb.File | Obsolete. Grouper benchs log file. To be used it is necessary to modify log4j file (ant/filters/log4j.filter.xml) |
|
log4j.appender.escogrouper.File | Specific ESCO-Grouper log file | /home/grouper/logs/ESCOGrouper/escogrouper.log |
SMTP |
|
|
smtp.host | SMTP hostname | localhost |
smtp.port | SMTP port | 25 |
smtp.username | SMTP login |
|
smtp.password | SMTP password |
|
smtp.adress | Recipient's address | ent@esco-portail.org |
smtp.name | Recipient's name | Administrator |
smtp.adressFrom | Sender's address | devel@esco-portail.org |
smtp.nameFrom | Sender's name | ESCO-Portail |
smtp.copyAdress | Cc address (copy) | julien.gribonvald@recia.fr |
error.level | Error level to send mails | ERROR |
DYNAMIC GROUPS |
|
|
dynamic.group | Include the dynamic groups plugin to the project ("true" or "false"“true” or “false”) | true |
dynamic.database.attribute.field.ldaprequest | Name of the grouper's attribute used to store the LDAP request defining the dynamic group. (name of the attribute in grouper_field table) | rule |
dynamic.group.type | Name of the custom grouper group type associated to dynamic groups. (name of the group type defined in "grouper“grouper_types" types” table). | dynamic |
Ancre | ||||
---|---|---|---|---|
|
...
The files are referenced in the "build“build.xml" xml” file.
You can edit that file, and change the properties' file names or even add some others files.
...
- Parameters required by the database generation step.
- Parameters required by the whole application.
"“global.lang" ” allows to define the application's languages. It can be used to check, during the internationalization files generation step, that all labels are filled in each language.
"“default.rule.regexp.*" ” defines the regular expression used if no expression is defined for fields validation.
...
Example :
The default behavior when the ESCOGroupNotSaveException is fired is to display the message : "Le “Le groupe n'a pas été enregistré"enregistré”.
You can change that message by changing the corresponding key. For example, if you wanna change that message for the group's properties summary screen, you just have to create the following key in the Error_XX file :
...
Contextual help labels are located in the internationalization files and have their keys ending with "“_TITLE"TITLE”.
If the key is missing, something like "“???KEY???" ” will shows up.
If you don't wanna display the contextual help for an element, simply remove the value of the key. For example :
...
Ancre | ||||
---|---|---|---|---|
|
Persons Search
The "grouperapistrategy“grouperapistrategy.xml" xml” file allows to define the persons search strategy to use depending on an evaluated expression.
...
- term : the search term, which could contain joker characters ;
- path : the path from which the search is run ;
- person : the person executing the search.
Groups search
The "grouperclientstrategy“grouperclientstrategy.xml" xml” file allows to define the groups search strategy to use depending on an evaluated expression. This file is located in "ESCOGrouper“ESCOGrouper/ext/grouperclient.fragment/src/main/ressources/spring" spring” directory.
Bloc de code | ||||
---|---|---|---|---|
| ||||
<bean id="defaultStrategyGroupLocator" class="org.esco.grouperui.services.grouper.internal.locator.DefaultStrategyGroupLocator"> <property name="evaluator" ref="evaluator" /> <property name="defaultSearchStrategies" > <map> <entry key="evaluator.regexp('(.*)', term)" value-ref="defaulStrategyGroupSearch"></entry> </map> </property> </bean> |
...
- field : the attribute on which the user is searching. (values can be "name", "displayName" and "extension"“name”, “displayName” and “extension”) ;
- type : search type (simple or for adding purpose). Values can be "SIMPLE" or "ADD" “SIMPLE” or “ADD” ;
- path : the path from which the search is run ;
- term : the search term, which could contain joker characters ;
- subject : the person executing the search.
Default rule displayed when creating a dynamic group
The "groupdynamicstrategy“groupdynamicstrategy.xml" xml” file allows to define the default rule which will be displayed when creating a dynamic group. Again, it's based on a regular expression which will be evaluated.
...
The profile mechanism is explained in « ESCOGrouper Manuel de développement v1.00.pdf ».
The important thing to know is that there are some "“*Profile.xml" ” files you can modify to allow or deny features depending on users.
...
This example file will create a "“testProfile" ” profile which will allow users to access folders properties in ESCOGrouper.
You'll find at the end of that document all the available keys that could be used to define your profiles.
...
The SMTP server is used to send mails when technical errors occurs.
The "smtp“smtp.xml" xml” file should only be modified when you want to use several SMTP servers with ESCOGrouper.
If you only have one SMTP server, the configuration should be done in "ESCOGrouper“ESCOGrouper.properties" properties” file.
Ancre | ||||
---|---|---|---|---|
|
The Help_XX.properties file, located in "ESCOGrouper“ESCOGrouper/metier/escoweb/src/main/resources/properties/i18n/bundles/screen"screen”, is in charge of the mapping between the screen aliases and the files containing the help contents.
For example, here is the key associated to the navigation's area online help :
...
This file contains filters used to create Grouper's configuration's files ("grouperclient“grouperclient.properties"properties”, "sources“sources.xml"xml”, "grouper“grouper.hibernate.properties" properties” and "log4j“log4j.properties"properties”). When you'll compile the project with Maven, these variables will be replaced in the corresponding files.
Environment variables required in
...
“grouper.client.
...
properties”
Key | Description | Example |
---|---|---|
grouperClient.ldap.url | LDAP URL for Grouper client | ldap://172.31.142.71/dc=esco-portail,dc=org |
grouperClient.ldap.login | LDAP admin login | admin |
grouperClient.ldap.password | LDAP admin password | passwd |
grouperClient.webService.url | Grouper web service URL | |
grouperClient.webService.login | Grouper webservice login | grouper |
grouperClient.webService.password | Grouper webservice password | passwd |
Environment variables required in
...
“sources.
...
xml”
Key | Description | Example |
---|---|---|
PROVIDER_URL | LDAP server URL | ldap://172.31.142.71:389 |
SECURITY_PRINCIPAL | LDAP bind dn | cn=admin,dc=esco-portail,dc=org |
SECURITY_CREDENTIALS | LDAP password | admin |
base | LDAP base dn | ou=people,dc=esco-portail,dc=org |
Environment variables required in
...
“grouper.hibernate.
...
properties”
Key | Description | Example |
---|---|---|
hibernate_driver_class | Grouper database driver | com.mysql.jdbc.Driver |
hibernate_username | Grouper database login | grouper |
hibernate_password | Grouper database password | passwd |
hibernate_url | Grouper database JDBC url | jdbc:mysql://escogrouper:3306/grouper?characterEncoding=UTF-8 |
Environment variables required in
...
“log4j.
...
properties”
Key | Description |
---|---|
log4j.appender.grouper_event.File | Grouper events log file |
log4j.appender.grouper_error.File | Grouper errors log file |
log4j.appender.grouper_debug.File | Grouper debug log file |
...
This is the main Spring beans definition file. It allows to define the authentication type for the application (local with specific users or CAS). The users in local authentication are defined in "authform“authform.xml" xml” file.
Dynamic groups
The "dynConfig“dynConfig.properties" properties” file of the dynamic group project must be configured to setup the dynamic group feature. It's located in "ESCOGrouper“ESCOGrouper\metier\escomodule\dynamiquegroupe\src\main\resources\properties" properties” directory
Key | Description | Example |
---|---|---|
dynamic.key.attribute.ldaprequest | Name of the grouper's attribute used to store the request defining the dynamic group. (name of the attribute in grouper_field table) | rule |
dynamic.value | Name of the custom grouper group type associated to dynamic groups. (name of the group type defined in "grouper“grouper_types" types” table) | dynamic |
tab.regpresent | Replace in the tab the value «dynamique » with the one provided in the "dynamic“dynamic.value" value” key. |
|
tab.group.regpresent | Replace in the tab the value «dynamique » with the one provided in the "dynamic“dynamic.value" value” key. |
|
Summary table of possible keys for the profile management
...