
Plandora
Open Java Source Projektstyringssystem
Planlæg, spor og administrer projekter med Gantt-diagrammer, agile tavler, workflow og integrationer via Open Source Java-platformen.
Hvad er Plandora?
Plandora er et modent open‑source projektstyringssystem bygget i Java, designet til projektplanlægning, sporing og samarbejde på virksomhedsniveau. Det tilbyder omfattende værktøjer inklusive Gantt‑diagrammer, agile tavler, workflow‑automatisering, ressourcekapacitetsplanlægning og tilpasset rapportering via JasperReports. Med indbygget understøttelse af integrationer som JIRA, SVN og RT4 gør Plandora det muligt for teams at håndtere komplekse projekter, mens de opretholder sporbarhed og gennemsigtighed på tværs af afdelinger. Dets fleksible meta‑feltsystem og tilpasselige formularer gør det muligt for organisationer at tilpasse platformen til unikke arbejdsprocesser uden kodeændringer.
Systemet lægger vægt på brugervenlighed og udvidelsesmuligheder og indeholder en vidensbase med Google-lignende søgning, flerniveau projektundersøgelser, risikostyring og opgavebaserede TO-Do-lister. Plandora understøtter både traditionelle vandfalds- og agile metoder gennem sit balancerede scorecard, iteration burndown-gadgets og makro‑opgavehierarkier. Siden genstarten i 2023 har projektet rettet over 30 kritiske fejl, forbedret ydeevnen, tilføjet CSV‑import/eksport og udvidet rapporteringsfunktioner — herunder planlagt rapportgenerering og JPG‑uddata. Udviklere kan bidrage via [Plandora GitHub](https://github.com/Cynjut/Plandora) repository og udvide funktionaliteten ved hjælp af dens modulære arkitektur og JDBC/DAO‑mønstre.
Kom i gang med Plandora
Plandora er en Java-baseret webapplikation, der typisk implementeres på Tomcat eller andre JEE-servere. For at komme i gang, klon kilden fra [Plandora GitHub](https://github.com/Cynjut/Plandora) repository, sørg for at Java 8+ og Maven er installeret, og byg WAR-filen ved hjælp af `mvn clean package`. Udrul den genererede WAR til din servletcontainer. Systemet understøtter både Tomcat-connection pooling og direkte JDBC-forbindelser (konfigureret i `web.xml`). Efter den indledende opsætning, konfigurer databaselegitimationsoplysninger, SMTP-indstillinger og integrer med eksterne systemer som JIRA eller SVN. Plandora inkluderer indbyggede opsætningsguides for kernekomponenter som workflows, meta-felter og brugerroller for at fremskynde implementeringen.
Byg og implementer 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-diagrammer med kalenderevents og milepæle
Plandoras Gantt-diagram visualiserer projektplaner med understøttelse af makroopgaver, milepæle og kalenderbegivenheder. Den filtrerer dynamisk ressourcer og opgaver, hvilket sikrer nøjagtig fremdriftssporing, selv når ressourcer tildeles eller fjernes. Diagrammet indeholder nu milepælmarkører og integrerer med projektkalendere for at afspejle arbejdsdage og helligdage. Brugere kan eksportere Gantt-visninger til CSV-, XLS- eller JPG-formater til rapportering og deling. Ydelsesforbedringer sikrer glat rendering af store datasæt, og systemet håndterer korrekt opgaveafkortning under MSProject-import. Brugerdefinerede felter og meta-felter kan vises direkte på Gantt-gitteret, hvilket giver en rigere kontekst uden at forlade tidslinjevisningen. Dette gør Plandora ideel både for traditionelle projektledere og hybride teams, der bruger agile‑waterfall‑blandinger.
Eksporter Gantt-diagram til JPG via planlagt 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-integration til import af problemer
Plandora inkluderer en dedikeret agent til at importere JIRA‑sager som Plandora‑anmodninger, inklusive vedhæftede filer og metadata. Denne integration broderer ticketing og projektplanlægning, så ikke‑tekniske interessenter kan bruge RT4 eller JIRA, mens udviklere håndterer arbejdet i Plandora. Importprocessen bevarer sagsrelationer, prioritet, tildelte personer og tidsstempler. Den understøtter filtrering efter projekt, status eller datointerval og håndterer store batcher effektivt. Efter import bliver sager til fuldt udbyggede Plandora‑anmodninger med redigerbare felter, workflow‑overgange og opgavehierarkier. Denne funktion er især værdifuld for organisationer, der migrerer fra JIRA eller vedligeholder dobbelte systemer. Udviklere kan udvide agenten via konfiguration eller brugerdefinerede plugins for at understøtte yderligere JIRA‑felter eller brugerdefinerede felter.
Importér JIRA‑opgaver via kommandolinje‑agent
// 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();
Ressourcekapacitetsstyring og sammenligning
Plandoras ressourcakapacitetsformular muliggør detaljeret planlægning og sporing af teamets tilgængelighed i forhold til faktisk forbrug. Den beregner brugt kapacitet baseret på tildelte opgaver, iterationer og tidsregistreringer, med filtre for nul/tomme værdier og datointervaller. Brugere kan sammenligne estimeret vs. brugt kapacitet side om side for at identificere over- eller underallokering. Systemet understøtter deallokerede ressourcer på en smidig måde og retter DB-forespørgselsfejl, når medlemmer fjernes fra alle projekter. Kapacitetsdata integreres med Gantt-diagrammer og burndown-gadgets, hvilket muliggør realistisk sprint- og milepælsplanlægning. Ledere kan justere estimater dynamisk, og ændringer videreføres til efterfølgende rapporter og dashboards. Denne funktion er kritisk for ressourceforvaltning og prognoser på porteføljeniveau i multi‑projektmiljøer.
Filtrer ressourcekapacitet efter nulværdier
// 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 og tilpasning af meta-felter
Plandoras workflow-motor understøtter tilpasselige godkendelseskæder, statusovergange og opfølgende kommentarer knyttet til anmodninger, opgaver og hændelser. Det pop‑up workflow‑interface viser nu tilhørende anmodningsbeskrivelser og fuld kommentarthistorik, hvilket forbedrer sporbarheden. Metafelter giver administratorer mulighed for at definere brugerdefinerede attributter (f.eks. overholdelses‑tags, kunde‑ID'er) for opgaver, anmodninger og projekter – inklusive obligatoriske felter håndhævet via UI‑validering. Disse felter vises i gittere, rapporter og eksport, hvilket muliggør fleksibel datamodellering uden kodeændringer. Systemet understøtter også visning af metafelter i hovedformular‑gittere og CSV‑import, hvilket sikrer konsistens på tværs af datapunkter. Denne udvidelsesmulighed gør Plandora egnet til regulerede industrier og komplekse organisationsstrukturer, der kræver revisionsspor og standardiserede processer.
Definér obligatorisk meta-felt 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");
}
