header

Technologies

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.

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.

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:

BrowserVersionScoreDescription
Apple Safari9.1.1++Well tested, works fine.
Chrome50++Well tested, works fine.
Firefox47++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 the industry. 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.

A full report of the results of the test runs you'll find here.

Rapid Application Development Approach (RAD)

ProjectForge is characterized by a rapid application development approach.

This means:

  1. Write the entity as Java beans and define the data base mapping with annotations (JPA)
  2. Write simple html pages (Wicket)
  3. Write the business logic in Java (not in jsp or something comparable)
  4. Derive ui classes (list and edit forms) from the base classes.
  5. 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!

  1. Secure access checking
  2. Fully indexed (search)
  3. History of every user's modifications
  4. Full data base support
  5. Support of object oriented html pages and components (powered by Wicket)!

An established developer should focus on the essentials!

Technological requirements for the ProjectForge server

Java 8 (OpenJDK may not work), PostgreSQL (optional), Linux, Mac OS X, Windows.

Technologies

TechnologyUsage
Java 8Base technology (OpenJDK may not work)
AjaxUsed for auto-completion of form input fields and flicker-less browsing. User-specific favorites supports the user for faster access.
HibernatePersisting framework O2R, R2O
SpringIOC
WicketWeb framework
FOPFor the creation of PDFs, e. g. the user time sheets, monthly employee reports etc.
jquery.mobileFramework for developing web pages optimized for mobile devices.
TestNGTest framework
JenkinsCI - continouos integration system
GroovyUsed for scripting ProjectForge for reports (MS Excel exports, charting etc.) as well as for e-mail templating (see AdministrationGuide for further information).
JasperreportsFor generating reports.
JFreeChartFor internal graphics and diagrams as well as for usage in the groovy scriptlets by the users, e. g. for reports.
Maven3Building system, testing, staging and Jar-management.
MockitoFor using mock objects in JUnit-tests
MPXJFor exporting MS-Project plans: MPXJ home page
POIFor the creation and manipulation of Excel files (also supported in the user scripts).
SVG (batik)For drawing Gantt diagrams
SwingFor the server's standalone version