Plandora

 
 

오픈 Java 소스 프로젝트 관리 시스템

Gantt 차트, 애자일 보드, 워크플로 및 오픈 소스 Java 플랫폼을 통한 통합으로 프로젝트를 계획하고, 추적하며, 관리하세요.

Plandora는 무엇인가요?

Plandora는 Java로 구축된 성숙한 오픈소스 프로젝트 관리 시스템으로, 엔터프라이즈 수준의 프로젝트 계획, 추적 및 협업을 위해 설계되었습니다. Gantt 차트, 애자일 보드, 워크플로 자동화, 자원 용량 계획, JasperReports를 통한 맞춤형 보고서 등 포괄적인 도구를 제공합니다. JIRA, SVN, RT4와 같은 통합을 위한 기본 지원을 갖추고 있어, Plandora는 팀이 복잡한 프로젝트를 관리하면서 부서 간 추적 가능성과 투명성을 유지하도록 돕습니다. 유연한 메타 필드 시스템과 사용자 정의 가능한 양식을 통해 조직은 코드 변경 없이도 고유한 워크플로에 플랫폼을 맞출 수 있습니다.

시스템은 사용성 및 확장성을 강조하며, Google과 유사한 검색 기능을 갖춘 지식 베이스, 다단계 프로젝트 설문, 위험 관리 및 작업 기반 TO-Do 리스트를 제공합니다. Plandora는 균형 잡힌 성과표, 반복 번다운 가젯, 매크로 작업 계층 구조를 통해 전통적인 워터폴 방식과 애자일 방법론을 모두 지원합니다. 2023년 재시작 이후, 프로젝트는 30개 이상의 주요 버그를 수정하고 성능을 개선했으며 CSV 가져오기/내보내기를 추가하고 보고 기능을 강화했습니다—예정된 보고서 생성 및 JPG 출력 포함. 개발자는 [Plandora GitHub](https://github.com/Cynjut/Plandora) 저장소를 통해 기여할 수 있으며 모듈식 아키텍처와 JDBC/DAO 패턴을 사용하여 기능을 확장할 수 있습니다.

Previous Next

Plandora 시작하기

Plandora는 일반적으로 Tomcat 또는 기타 JEE 서버에 배포되는 Java 기반 웹 애플리케이션입니다. 시작하려면 [Plandora GitHub](https://github.com/Cynjut/Plandora) 저장소에서 소스를 복제하고, Java 8 이상 및 Maven이 설치되어 있는지 확인한 뒤 `mvn clean package`를 사용해 WAR 파일을 빌드하십시오. 생성된 WAR를 서블릿 컨테이너에 배포합니다. 이 시스템은 Tomcat 연결 풀링과 직접 JDBC 연결(`web.xml`에서 구성)을 모두 지원합니다. 초기 설정 후에는 데이터베이스 자격 증명, SMTP 설정을 구성하고 JIRA 또는 SVN과 같은 외부 시스템과 통합합니다. Plandora는 워크플로, 메타 필드, 사용자 역할과 같은 핵심 구성 요소에 대한 내장 설정 마법사를 제공하여 배포를 가속화합니다.

Maven을 통해 Plandora 빌드 및 배포

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

캘린더 이벤트 및 마일스톤이 포함된 간트 차트

Plandora의 간트 차트는 매크로 작업, 마일스톤 및 캘린더 이벤트를 지원하여 프로젝트 타임라인을 시각화합니다. 리소스와 작업을 동적으로 필터링하여 리소스가 할당되거나 제거될 때도 정확한 진행 상황을 추적합니다. 차트에는 이제 마일스톤 표시기가 포함되고 프로젝트 캘린더와 통합되어 근무일 및 휴일을 반영합니다. 사용자는 보고 및 공유를 위해 간트 뷰를 CSV, XLS 또는 JPG 형식으로 내보낼 수 있습니다. 성능 향상으로 대용량 데이터셋에서도 부드러운 렌더링이 보장되며, 시스템은 MSProject 가져오기 시 작업 절단을 올바르게 처리합니다. 사용자 정의 필드와 메타 필드를 간트 그리드에 직접 표시할 수 있어 타임라인 뷰를 떠나지 않고도 풍부한 컨텍스트를 제공합니다. 이는 Plandora를 전통적인 프로젝트 관리자와 애자일-워터폴 혼합 방식을 사용하는 하이브리드 팀 모두에게 이상적인 도구로 만듭니다.

예약 보고서를 통해 간트 차트를 JPG로 내보내기

// 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 통합

Plandora는 첨부 파일 및 메타데이터를 포함하여 JIRA 이슈를 Plandora 요청으로 가져오는 전용 에이전트를 포함합니다. 이 통합은 티켓팅과 프로젝트 계획을 연결하여 비기술 이해관계자가 RT4 또는 JIRA를 사용하고 개발자는 Plandora에서 작업을 관리할 수 있게 합니다. 가져오기 과정은 이슈 관계, 우선순위, 담당자 및 타임스탬프를 보존합니다. 프로젝트, 상태 또는 날짜 범위별 필터링을 지원하며 대량 배치를 효율적으로 처리합니다. 가져온 후 이슈는 편집 가능한 필드, 워크플로 전환 및 작업 계층 구조를 갖춘 완전한 Plandora 요청이 됩니다. 이 기능은 JIRA에서 마이그레이션하거나 이중 시스템을 유지하는 조직에 특히 유용합니다. 개발자는 구성이나 맞춤 플러그인을 통해 에이전트를 확장하여 추가 JIRA 필드 또는 사용자 정의 필드를 지원할 수 있습니다.

명령줄 에이전트를 통한 JIRA 이슈 가져오기

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

리소스 용량 관리 및 비교

Plandora의 리소스 용량 양식은 팀 가용성을 실제 사용량과 비교하여 상세한 계획 및 추적을 가능하게 합니다. 할당된 작업, 반복, 그리고 타임시트를 기반으로 사용된 용량을 계산하며, 0/빈 값 및 날짜 범위에 대한 필터를 제공합니다. 사용자는 추정 용량과 사용된 용량을 나란히 비교하여 과다 할당 또는 부족 할당을 식별할 수 있습니다. 시스템은 할당 해제된 리소스를 원활하게 지원하며, 구성원이 모든 프로젝트에서 제거될 때 발생하는 DB 쿼리 오류를 수정합니다. 용량 데이터는 간트 차트와 번다운 가젯에 통합되어 현실적인 스프린트 및 마일스톤 계획을 가능하게 합니다. 관리자는 추정치를 동적으로 조정할 수 있으며, 변경 사항은 하위 보고서와 대시보드에 전파됩니다. 이 기능은 다중 프로젝트 환경에서 포트폴리오 수준의 리소스 거버넌스와 예측에 필수적입니다.

자원 용량을 0값으로 필터링

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

워크플로 자동화 및 메타 필드 맞춤 설정

Plandora의 워크플로 엔진은 요청, 작업 및 발생에 연결된 맞춤형 승인 체인, 상태 전환 및 후속 댓글을 지원합니다. 팝업 워크플로 인터페이스는 이제 관련 요청 설명과 전체 댓글 기록을 표시하여 추적성을 향상시킵니다. 메타 필드를 통해 관리자는 작업, 요청 및 프로젝트에 대한 사용자 정의 속성(예: 규정 준수 태그, 클라이언트 ID)을 정의할 수 있으며, UI 검증을 통해 필수 필드를 강제할 수 있습니다. 이러한 필드는 그리드, 보고서 및 내보내기에 표시되어 코드 변경 없이 유연한 데이터 모델링을 가능하게 합니다. 시스템은 또한 메인 폼 그리드와 CSV 가져오기에서 메타 필드 표시를 지원하여 데이터 입력 지점 전반에 일관성을 보장합니다. 이러한 확장성은 Plandora를 규제 산업 및 감사 추적과 표준화된 프로세스를 요구하는 복잡한 조직 구조에 적합하게 만듭니다.

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");
}
 한국인