1. Supported browsers
ProjectForge is mainly developed under FireFox and Apple Safari.Please refer the following table to see the status of browser interoperability of the current release:
Browser | Score | Description |
---|---|---|
Apple Safari |
++ |
Well tested, works fine. |
Chrome |
++ |
Well tested, works fine. |
Firefox |
++ |
Well tested, works fine. |
Microsoft IE |
+ |
Quickly tested, seems to work (since ProjectForge’s migration to Bootstrap). |
2. Professional architecture and CI (continuous integration)
ProjectForge is based on a modern and professional software architecture which is commonly used in theindustry. A professional roles and right management assures that every user can only see and use those data for which he has all the required rights and roles for. The high quality and reliability of ProjectForge base, last but not least, on a lot of automatically test cases. The more than 250 test cases are running daily, there are part of a professional CI-system (continuous integration). A high value of data integrity and security is therefore assured.
3. Rapid Application Development Approach (RAD)
ProjectForge is characterized by a rapid application development approach.
This means:
-
Write the entity as Java beans and define the data base mapping with annotations (JPA)
-
Write simple html pages (Wicket / React)
-
Write the business logic in Java/Kotlin (not in jsp or something comparable)
-
Derive ui classes (list and edit forms) from the base classes.
-
Derive data access objects from the base objects (security, access management, persistancy).
The mission: Develop entities of new functionalities with lists and edit screens in just a few hours!
-
Secure access checking
-
Fully indexed (search)
-
History of every user’s modifications
-
Full data base support
-
Support of object oriented html pages and components (powered by Wicket)!
An established developer should focus on the essentials!
4. Technological requirements for the ProjectForge server
Java 8 might work also with ProjectForge 7, but OpenJDK 11 is recommended (tested in several productive environments), PostgreSQL (optional), Linux, Mac OS X, Windows.
5. Technologies
Technology | Usage |
---|---|
Java/Kotlin |
Base technology |
Hibernate / MGC |
Persisting framework O2R, R2O, JPA 2 |
Spring |
Boot Application |
React / Wicket |
Web framework Wicket will be replaced by React. |
JCR |
JackRabbit for document storage (used by data transfer tool and others) |
FOP |
For the creation of PDFs, e. g. the user time sheets, monthly employee reports etc. |
JUnit |
Test framework |
GitHub actions |
CI - continouos integration system |
Groovy/Kotlin Script |
Used for scripting ProjectForge for reports (MS Excel exports, charting etc.) as well as for e-mail templating (see AdministrationGuide for further information). |
Jasperreports |
For generating reports. |
JFreeChart |
For internal graphics and diagrams as well as for usage in the groovy scriptlets by the users, e. g. for reports. |
Maven3 |
Building system, testing, staging and Jar-management. |
EasyMock / Powermock |
For using mock objects in JUnit-tests |
MPXJ |
For exporting MS-Project plans: MPXJ home page |
POI |
For the creation and manipulation of Excel files (also supported in the user scripts). |
SVG (batik) |
For drawing Gantt diagrams |