Plandora

 
 

Açıq Java Mənbəli Layihə İdarəetmə Sistemi

Layihələri Gantt Qrafikləri, Çevik Lövhələr, İş Axını və Açıq Mənbəli Java Platforması vasitəsilə Planlayın, İzləyin və İdarə Edin.

Plandora nədir?

Plandora, Java dilində yaradılmış, yetkin açıq mənbəli layihə idarəetmə sistemidir və müəssisə səviyyəli layihə planlaşdırması, izlənməsi və əməkdaşlıq üçün nəzərdə tutulmuşdur. O, Gantt qrafikləri, çevik lövhələr, iş axını avtomatlaşdırması, resurs tutumu planlaşdırması və JasperReports vasitəsilə xüsusi hesabatlar daxil olmaqla geniş alətlər təklif edir. JIRA, SVN və RT4 kimi inteqrasiya dəstəkləri ilə təchiz olunmuş Plandora, komandaların mürəkkəb layihələri idarə etməsinə, bölmələr arasında izləniləbilənlik və şəffaflığı təmin etməsinə imkan verir. Elastik meta-sahə sistemi və özəlləşdirilə bilən formalar təşkilatların platformanı kod dəyişiklikləri etmədən özünəməxsus iş axınlarına uyğunlaşdırmasına imkan yaradır.

Sistem istifadə rahatlığına və genişlənə bilənliyə önəm verir, Google‑bənzəri axtarış, çoxsəviyyəli layihə sorğuları, risk idarəetməsi və vəzifə‑əsaslı TO-Do siyahıları ilə bilik bazasını təqdim edir. Plandora həm ənənəvi waterfall, həm də çevik metodologiyaları balanslı scorecard, iterasiya burndown gadgetləri və makro‑vəzifə iyerarxiyaları vasitəsilə dəstəkləyir. 2023‑cü ildə yenidən başladığından bəri layihə 30‑dan çox kritik səhvi düzəltmiş, performansı artırmış, CSV idxal/ixrac əlavə etmiş və hesabat imkanlarını təkmilləşdirmişdir — cədvəl üzrə hesabat yaradılması və JPG çıxışı daxil olmaqla. İnkişafçılar [Plandora GitHub](https://github.com/Cynjut/Plandora) deposu vasitəsilə töhfə verə və modul memarlıq və JDBC/DAO nümunələri ilə funksionallığı genişləndirə bilərlər.

Previous Next

Plandora ilə Başlanğıc

Plandora Java əsaslı veb tətbiqidir və adətən Tomcat və ya digər JEE serverlərində yerləşdirilir. Başlamaq üçün mənbə kodunu [Plandora GitHub](https://github.com/Cynjut/Plandora) deposundan klonlayın, Java 8+ və Maven quraşdırıldığından əmin olun və `mvn clean package` istifadə edərək WAR faylını yaradın. Yaradılmış WAR faylını servlet konteynerinizə yerləşdirin. Sistem həm Tomcat əlaqə hovuzlamasını, həm də birbaşa JDBC bağlantılarını (`web.xml`-də konfiqurasiya olunur) dəstəkləyir. İlk quraşdırmadan sonra verilənlər bazası kimlik məlumatlarını, SMTP parametrlərini konfiqurasiya edin və JIRA və ya SVN kimi xarici sistemlərlə inteqrasiya edin. Plandora iş axınları, meta‑fields və istifadəçi rolları kimi əsas komponentlər üçün daxili quraşdırma sehrbazları təqdim edir ki, yerləşdirməni sürətləndirir.

Maven vasitəsilə Plandora Qur və Yay

# 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/

Təqvim Hadisələri və Mərhələlərlə Gantt Qrafikləri

Plandora-nın Gantt qrafiki layihə zaman cədvəllərini makro vəzifələr, mərhələlər və təqvim hadisələri dəstəyi ilə vizuallaşdırır. O, resursları və vəzifələri dinamik şəkildə filtr edir, resurslar təyin olunduqda və ya silindiyi halda belə dəqiq irəliləyişi izləməyə imkan verir. Qrafik indi mərhələ işarələrini ehtiva edir və iş günləri və tətil günlərini əks etdirən layihə təqvimləri ilə inteqrasiya olunur. İstifadəçilər Gantt görünüşlərini hesabat və paylaşım üçün CSV, XLS və ya JPG formatlarında ixrac edə bilərlər. Performans təkmilləşdirmələri böyük məlumat dəstləri üçün hamar renderləməni təmin edir və sistem MSProject idxalları zamanı vəzifə kəsilməsini düzgün idarə edir. Xüsusi sahələr və meta‑sahələr Gantt şəbəkəsində birbaşa göstərilə bilər, bu da zaman cədvəlindən çıxmadan daha zəngin kontekst təmin edir. Bu, Plandora‑nı həm ənənəvi layihə menecerləri, həm də çevik‑suvarma qarışıqları istifadə edən hibrid komandalar üçün ideal edir.

Planlaşdırılmış Hesabat vasitəsilə Gantt Qrafikini JPG‑yə ixrac et

// 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();

Məsələ İdxalı üçün JIRA İnteqrasiyası

Plandora JIRA məsələlərini Plandora sorğularına, əlavə fayllar və metadata ilə birlikdə idxal etmək üçün xüsusi agenti ehtiva edir. Bu inteqrasiya bilet sistemini və layihə planlaşdırmasını birləşdirir, texniki olmayan maraqlı tərəflərə RT4 və ya JIRA istifadə etməyə, inkişafçılar isə işi Plandora-da idarə etməyə imkan verir. İdxal prosesi məsələ əlaqələrini, prioriteti, təyin edilmişləri və zaman möhürlərini qoruyur. O, layihə, status və ya tarix aralığına görə filtrasiya etməyi dəstəkləyir və böyük partiyaları səmərəli şəkildə idarə edir. İdxaldan sonra məsələlər tam funksional Plandora sorğularına çevrilir, redaktə edilə bilən sahələr, iş axını keçidləri və tapşırıq iyerarxiyaları ilə. Bu xüsusiyyət JIRA-dan köçürülən və ya iki sistemi saxlayan təşkilatlar üçün xüsusilə dəyərlidir. İnkişafçılar agenti konfiqurasiya və ya xüsusi plaginlər vasitəsilə əlavə JIRA sahələri və ya xüsusi sahələri dəstəkləmək üçün genişləndirə bilərlər.

JIRA məsələlərini əmr sətiri agenti vasitəsilə idxal edin

// 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();

Resurs Tutumu İdarəetməsi və Müqayisəsi

Plandora-nın resurs tutumu formu komanda mövcudluğunu faktiki istifadəyə qarşı ətraflı planlaşdırma və izləməyə imkan verir. O, təyin edilmiş tapşırıqlar, iterasiyalar və iş cədvəllərinə əsaslanaraq istifadə olunan tutumu hesablayır, sıfır/boş dəyərlər və tarix aralıqları üçün filtrlarla. İstifadəçilər təxmin edilən və istifadə olunan tutumu yan-yana müqayisə edərək həddindən artıq və ya az təyin olunmuşluğu müəyyən edə bilərlər. Sistem, ayrılmış resursları incəliklə dəstəkləyir, üzvlər bütün layihələrdən çıxarıldıqda DB sorğu səhvlərini düzəldir. Tutum məlumatları Gantt qrafikləri və burndown gadgetləri ilə inteqrasiya olunur, real sprint və mərhələ planlaşdırmasını təmin edir. Menecerlər təxminləri dinamik olaraq tənzimləyə bilirlər və dəyişikliklər aşağı axın hesabatları və idarəetmə panellərinə yayılır. Bu xüsusiyyət çoxsaylı layihə mühitlərində portfel səviyyəli resurs idarəçiliyi və proqnozlaşdırma üçün vacibdir.

Resurs tutumunu sıfır dəyərlərə görə filtr edin

// 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());
    }
}

İş Axını Avtomatlaşdırması və Meta‑Sahə Fərdiləşdirilməsi

Plandora-nın iş axını mühərriki özelleştirilebilir təsdiq zəncirləri, status keçidləri və sorğulara, tapşırıqlara və hadisələrə bağlı izləmə şərhlərini dəstəkləyir. Açılan iş axını interfeysi artıq əlaqəli sorğu təsvirlərini və tam şərh tarixçəsini göstərir, izlənilə bilməyi artırır. Meta‑sahələr administratorlara tapşırıqlar, sorğular və layihələr üçün xüsusi atributlar (məsələn, uyğunluq etiketləri, müştəri ID‑ləri) təyin etməyə imkan verir — UI doğrulaması ilə məcburi sahələr tətbiq olunur. Bu sahələr şəbəkələrdə, hesabatlarda və ixracatlarda görünür, kod dəyişiklikləri olmadan elastik məlumat modelləşdirməsini təmin edir. Sistem həmçinin meta‑sahənin əsas forma şəbəkələrində və CSV idxallarında göstərilməsini dəstəkləyir, məlumat giriş nöqtələri arasında uyğunluğu təmin edir. Bu genişlənə bilənlik Plandora‑nı tənzimlənmiş sənayelər və audit izləri və standartlaşdırılmış proseslər tələb edən mürəkkəb təşkilati strukturlar üçün uyğun edir.

Məcburi meta-sahəni API vasitəsilə təyin edin

// 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");
}
 Azəri