Platform configuration
Prerequisites
Configuration of a new platform requires Maven to be correctly installed and configured, as mentioned in the development environment page.
A practical experience of Maven is recommended; the Maven in 5 minutes guide is a good starting point for beginners.
Product initialization
A new Project Factory platform configuration (also called “product”) can be easily created from a template, using a Maven archetype.
To do so, execute one of the following commands in the directory under which the new product should be created:
mvn archetype:generate -DarchetypeGroupId=fr.project-factory.core.archetypes -DarchetypeArtifactId=product -DarchetypeVersion=3.4.0-SNAPSHOT -DarchetypeRepository=https://services.crespel.me/nexus/repository/project-factory/
The interactive mode of the archetype plugin will prompt you to enter the following details:
- groupId: as you wish (e.g.
fr.project-factory.core.products
for official products). - artifactId: name of the product, in lowercase (e.g.
forge
). - version: version of the product (e.g.
1.0.0-SNAPSHOT
). - package: ignored, leave the suggested value.
After this intialization, a pom.xml
will be generated as well as the base directory structure.
Product configuration
Product configuration is defined in the product.properties
file of the src/main/resources
directory.
The main properties are the following:
# Package properties
package.prefix=projectfactory
# Product properties
product.release=0
product.id=pf
product.name=Project Factory
product.root=/opt/projectfactory
product.app=${product.root}/app
product.backup=${product.root}/backup
product.bin=${product.root}/bin
product.data=${product.root}/data
product.log=${product.root}/log
product.tmp=${product.root}/tmp
product.domain=project-factory.fr
product.domain.alias=
product.theme=basic
product.scheme=https
product.home=/portal
product.locale=fr
# Proxy properties
proxy.host=
proxy.port=0
# LDAP properties
ldap.host=127.0.0.1
ldap.port=10389
ldap.dn.attr=entryDn
ldap.base.rdn.attr=dc
ldap.base.rdn.value=project-factory
ldap.base.dn=${ldap.base.rdn},dc=fr
ldap.root.rdn.attr=cn
ldap.root.rdn.value=root
ldap.users.class=organizationalUnit
ldap.users.rdn.attr=ou
ldap.users.rdn.value=users
ldap.user.class=inetOrgPerson
ldap.user.rdn.attr=uid
ldap.user.commonname.attr=cn
ldap.user.displayname.attr=displayName
ldap.user.firstname.attr=givenName
ldap.user.lastname.attr=sn
ldap.user.mail.attr=mail
ldap.user.telephone.attr=telephoneNumber
ldap.user.organization.attr=o
ldap.user.password.attr=userPassword
ldap.user.memberof.attr=memberOf
ldap.groups.class=organizationalUnit
ldap.groups.rdn.attr=ou
ldap.groups.rdn.value=groups
ldap.group.class=groupOfNames
ldap.group.rdn.attr=cn
ldap.group.member.attr=member
ldap.group.displayname.attr=description
All available properties are stored in the product-default.properties
file of the products/default/src/main/resources
directory in project-factory-core
.