Enthusiasm for technology as well as a passion for software development resulted in the emergence of a product based on state-of-the-art technologies, which will be improved continuously.
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:
|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).|
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.
Rapid Application Development Approach (RAD)
ProjectForge is characterized by a rapid application development approach.
- Write the entity as Java beans and define the data base mapping with annotations (JPA)
- Write simple html pages (Wicket)
- Write the business logic in Java (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).
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!
The only way to achieve improvement is the usage of Scala with Wicket (this will be the next generation of development)...
Technological requirements for the ProjectForge server
Java 8 (OpenJDK may not work), PostgreSQL (optional), Linux, Mac OS X, Windows.
|Java 8||Base technology (OpenJDK may not work)|
|Ajax||Used for auto-completion of form input fields and flicker-less browsing. User-specific favorites supports the user for faster access.|
|Hibernate / MGC||Persisting framework O2R, R2O, JPA 2|
|FOP||For the creation of PDFs, e. g. the user time sheets, monthly employee reports etc.|
|jquery.mobile||Framework for developing web pages optimized for mobile devices.|
|Jenkins||CI - continouos integration system|
|Groovy||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.|
|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|
|Java FX||For the server's standalone version|