
Plandora
Open Java Source projectmanagementsysteem
Plan, volg & beheer projecten met Gantt-diagrammen, agile borden, workflow & integraties via Open Source Java-platform.
Wat is Plandora?
Plandora is een volwassen open-source projectmanagementsysteem gebouwd in Java, ontworpen voor enterprise-grade projectplanning, -tracking en samenwerking. Het biedt uitgebreide tools, waaronder Gantt-diagrammen, agile borden, workflow-automatisering, resourcecapaciteitsplanning en aangepaste rapportage via JasperReports. Met ingebouwde ondersteuning voor integraties zoals JIRA, SVN en RT4 stelt Plandora teams in staat complexe projecten te beheren terwijl traceerbaarheid en transparantie over afdelingen heen behouden blijven. Het flexibele meta-veldensysteem en aanpasbare formulieren stellen organisaties in staat het platform aan unieke workflows aan te passen zonder codewijzigingen.
Het systeem legt de nadruk op bruikbaarheid en uitbreidbaarheid, met een kennisbank met Google-achtige zoekfunctie, meerlagige projectenquêtes, risicobeheer en taakgebaseerde takenlijsten. Plandora ondersteunt zowel traditionele waterval- als agile-methodologieën via zijn balanced scorecard, iteratie‑burndown‑gadgets en macro‑taakhierarchieën. Sinds de herstart in 2023 heeft het project meer dan 30 kritieke bugs opgelost, de prestaties verbeterd, CSV-import/export toegevoegd en de rapportage‑mogelijkheden uitgebreid — inclusief geplande rapportgeneratie en JPG-uitvoer. Ontwikkelaars kunnen bijdragen via de [Plandora GitHub](https://github.com/Cynjut/Plandora) repository en functionaliteit uitbreiden met behulp van de modulaire architectuur en JDBC/DAO‑patronen.
Aan de slag met Plandora
Plandora is een op Java gebaseerde webapplicatie die doorgaans wordt ingezet op Tomcat of andere JEE-servers. Om te beginnen, kloon de broncode van de [Plandora GitHub](https://github.com/Cynjut/Plandora) repository, zorg ervoor dat Java 8+ en Maven geïnstalleerd zijn, en bouw het WAR-bestand met `mvn clean package`. Deploy het gegenereerde WAR-bestand naar je servletcontainer. Het systeem ondersteunt zowel Tomcat-verbinding pooling als directe JDBC-verbindingen (geconfigureerd in `web.xml`). Na de initiële configuratie, stel database-referenties, SMTP-instellingen in, en integreer met externe systemen zoals JIRA of SVN. Plandora bevat ingebouwde configuratiewizards voor kerncomponenten zoals workflows, meta-velden en gebruikersrollen om de implementatie te versnellen.
Bouw & implementeer Plandora via Maven
# Clone the repository
git clone https://github.com/Cynjut/Plandora.git
cd Plandora
# Build the WAR file
mvn clean package
# Deploy to Tomcat
cp target/plandora.war $TOMCAT_HOME/webapps/
Gantt-diagrammen met agenda‑gebeurtenissen & mijlpalen
Plandora’s Gantt-diagram visualiseert projecttijdlijnen met ondersteuning voor macro‑taken, mijlpalen en agenda‑gebeurtenissen. Het filtert dynamisch resources en taken, waardoor nauwkeurige voortgangsregistratie wordt gegarandeerd, zelfs wanneer resources worden toegewezen of verwijderd. Het diagram bevat nu mijlpaalmarkeringen en integreert met projectkalenders om werkdagen en feestdagen weer te geven. Gebruikers kunnen Gantt‑weergaven exporteren naar CSV-, XLS- of JPG-formaten voor rapportage en delen. Prestatie‑verbeteringen zorgen voor soepele weergave bij grote datasets, en het systeem verwerkt taak‑afkapping correct tijdens MSProject‑importen. Aangepaste velden en meta‑velden kunnen direct op het Gantt‑rooster worden weergegeven, waardoor rijkere context mogelijk is zonder de tijdlijnweergave te verlaten. Dit maakt Plandora ideaal voor zowel traditionele projectmanagers als hybride teams die agile‑waterfall‑combinaties gebruiken.
Exporteer Gantt-diagram naar JPG via gepland rapport
// Use Report2File agent to schedule Gantt export
Report2File report = new Report2File();
report.setReportName("ProjectGantt");
report.setOutputFormat("jpg");
report.setSchedule("0 0 2 * * ?"); // Daily at 2 AM
report.setFilePath("/reports/gantt/");
report.execute();
JIRA-integratie voor issue‑import
Plandora bevat een speciale agent om JIRA-issues te importeren als Plandora-verzoeken, inclusief bijlagen en metadata. Deze integratie overbrugt ticketing en projectplanning, waardoor niet-technische belanghebbenden RT4 of JIRA kunnen gebruiken terwijl ontwikkelaars het werk in Plandora beheren. Het importproces behoudt issue-relaties, prioriteit, toegewezen personen en tijdstempels. Het ondersteunt filteren op project, status of datumbereik en verwerkt grote batches efficiënt. Na import worden issues volledige Plandora-verzoeken met bewerkbare velden, workflow-overgangen en taak-hiërarchieën. Deze functie is vooral waardevol voor organisaties die migreren van JIRA of dubbele systemen onderhouden. Ontwikkelaars kunnen de agent uitbreiden via configuratie of aangepaste plug-ins om extra JIRA-velden of aangepaste velden te ondersteunen.
Importeer JIRA-issues via commandoregelagent
// Example agent invocation (simplified)
JiraImporter importer = new JiraImporter();
importer.setJiraUrl("https://jira.example.com");
importer.setUsername("api_user");
importer.setPassword("token");
importer.setProjectKey("PROJ");
importer.setIssueFilter("status = 'Done'");
importer.setImportAttachments(true);
importer.execute();
Beheer van resourcecapaciteit & vergelijking
Het resourcecapaciteitsformulier van Plandora maakt gedetailleerde planning en het volgen van de beschikbaarheid van het team versus het daadwerkelijke gebruik mogelijk. Het berekent de gebruikte capaciteit op basis van toegewezen taken, iteraties en urenstaten, met filters voor nul/leeg waarden en datumbereiken. Gebruikers kunnen geschatte versus gebruikte capaciteit naast elkaar vergelijken om over- of ondertoewijzing te identificeren. Het systeem ondersteunt netjes gedealloceerde resources, en lost DB‑queryfouten op wanneer leden uit alle projecten worden verwijderd. Capaciteitsgegevens worden geïntegreerd met Gantt‑diagrammen en burn‑down gadgets, waardoor realistische sprint‑ en mijlpaalplanning mogelijk is. Managers kunnen schattingen dynamisch aanpassen, en wijzigingen worden doorgevoerd naar downstream‑rapporten en dashboards. Deze functie is cruciaal voor resource governance en forecasting op portefeuilleniveau in omgevingen met meerdere projecten.
Filter resourcecapaciteit op nulwaarden
// Pseudo-code for capacity filtering logic
ResourceCapacityFilter filter = new ResourceCapacityFilter();
filter.setProjectId(projectId);
filter.setShowZeroValues(true);
filter.setCompareEstimates(true);
List entries = capacityService.getFilteredCapacities(filter);
for (CapacityEntry entry : entries) {
if (entry.getUsed() == 0) {
System.out.println("Unused capacity: " + entry.getResourceName());
}
}
Workflow-automatisering & meta‑veldaanpassing
De workflow-engine van Plandora ondersteunt aanpasbare goedkeuringsketens, statusovergangen en vervolgcommentaren die gekoppeld zijn aan verzoeken, taken en incidenten. De pop‑up workflow‑interface toont nu gerelateerde verzoekbeschrijvingen en de volledige commentaarhistorie, waardoor de traceerbaarheid verbetert. Meta‑velden stellen beheerders in staat aangepaste attributen (bijv. compliance‑tags, klant‑ID’s) te definiëren voor taken, verzoeken en projecten — inclusief verplichte velden die via UI‑validatie worden afgedwongen. Deze velden verschijnen in rasters, rapporten en exporten, waardoor flexibele datamodellering zonder code‑wijzigingen mogelijk is. Het systeem ondersteunt ook de weergave van meta‑velden in hoofdformuliervelden en CSV‑import, wat consistentie garandeert over alle invoerpunten. Deze uitbreidbaarheid maakt Plandora geschikt voor gereguleerde sectoren en complexe organisatiestructuren die audit‑trails en gestandaardiseerde processen vereisen.
Definieer verplicht meta-veld via API
// Example: Mark meta-field as mandatory
MetaField field = metaFieldService.findById("client_id");
field.setIsMandatory(true);
field.setValidationRegex("^[A-Z]{3}[0-9]{4}$");
metaFieldService.update(field);
// Validation enforced in forms and imports
if (request.getClientId() == null || request.getClientId().isEmpty()) {
throw new ValidationException("Client ID is required");
}
