ProjectForge is a web-based solution for project management including time tracking, team calendar, gantt-charting, financial administration, issue management, controlling and managing work-break-down-structures (e. g. together with JIRA as issue management system).
Full documentation on: https://www.projectforge.org/documentation.html Please visit: https://www.projectforge.org/documentation/developer-guide.html
Further documentation for developers and adminstrators (for a first start), please refer https://github.com/micromata/projectforge/tree/develop/doc
Note
|
We’re working on refactoring ProjectForge’s frontend. We will introduce ReactJS and Kotlin (in addition to Java). ProjectForge will be controlled by a new Rest API for most CRUD operations. Stay tuned! |
Note
|
You only need the following steps for developing ProjectForge.
If you just want to run it, please download it from https://sourceforge.net/projects/pforge/
and simply start it |
-
Ensure running Java 1.8 (not 1.9+):
java -version
. -
Build ProjectForge:
mvn clean install -DskipTests
-
Run ProjectForge:
java -jar projectforge-application/target/projectforge-application-X.X.X.jar
-
Open your browser: http://localhost:8080
No configuration needed. After starting ProjectForge a first time, a console or desktop based wizard is provided for doing a quick setup (choose directory and configure optionally some parameters).
To configure a different directory you have several options (choose Your favorite):
-
Create
ProjectForge
as top level directory of your home directory:$HOME/ProjectForge
, or -
Create a directory named
ProjectForge
and put the jar file somewhere in it or in the same directory. ProjectForge detects the folderProjectForge
relative to the executed jar, or -
Create a directory and define it as command line parameter:
java -Dhome.dir=yourdirectory -jar projectforge-application-X.X.X.jar
, or -
Create a directory and define it as system environment variable
PROJECTFORGE_HOME
.
-
Launch eclipse
-
Import Maven project → pom.xml in projectforge git root dir
-
Import Maven project → pom.xml in projectforge-application dir
-
Run maven clean install for pom.xml in projectforge-webapp (to build React stuff)
-
Start by simply running main (in
projectforge-application/src/main/java
):
org.projectforge.start.ProjectForgeApplication.java
Please note the detailed documentations for administrators, developers as well as for users.
Java version 8 is required since ProjectForge 6.0. Please note, that Java version 8 is needed for developing and running ProjectForge.
-
Launch IntelliJ IDEA
-
Import new project via pom.xml in git root dir
-
Run maven clean install for pom.xml in projectforge-webapp (to build React stuff)
-
Start by simply running main (in
projectforge-application/src/main/java
):
org.projectforge.start.ProjectForgeApplication.java
You may use PostgreSQL instead of the built-in data base.
-
Choose and set a database password:
export PGPASSWORD=mypassword
-
Run PostgreSQL:
docker run --name projectforge-postgres -p 127.0.0.1:15432:5432 -e POSTGRES_PASSWORD=$PGPASSWORD -e POSTGRES_USER=projectforge -d postgres:11.2
-
Configure ProjectForge
projectforge.base.dir=${user.home}/ProjectForge spring.datasource.url=jdbc:postgresql://localhost:15432/projectforge spring.datasource.username=projectforge spring.datasource.password=${PGPASSWORD} spring.datasource.driver-class-name=org.postgresql.Driver
-
Run ProjectForge and enjoy it.
Stop |
|
Start |
|
Import dump (optional) |
|
PSQL |
|
Reset passwords (optional) |
|
Clear calendar subscriptions (optional) |
|
Uninstall |
|
Please have a lock at all available config parameters: application.properties
Refer
ProjectForge support plugins. The existing menu can be modified and own entities and functionalities can be added.
Please note: We’re working highly on a new release (will be published soon). Wicket will be replaced by ReactJS and Rest technology. The implementation of plugins will be changed as well.
The menu is customizable (you can add or remove menu entries in the config.xml file). Deploy your plugins by adding your jar(s) to the plugin directory next to the jar file. In eclipse you have to add the plugin project to the run configuration classpath. The jars contains both, the Java classes and the web pages (Wicket-pages). Nothing more is needed. Register your plugins in the administration menu at the web gui. You need to restart the server. One advantage is that your own plugins are independent from new releases of the ProjectForge core system. In one of the next releases an example plugin will show you how easy it is to extend ProjectForge!