DotProject 문서 원본 보기
←
DotProject
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
오픈소스로 제공되는 PMS (Project Management System) 솔루션인 dotProject를 정리 한다. * 홈페이지 : http://www.dotproject.net/, http://sourceforge.net/projects/dotproject/ * 다운로드 : http://sourceforge.net/project/showfiles.php?group_id=21656 :*모듈 다운로드 : http://www.dotproject.net/index.php?name=CmodsDownload&file=index :*오픈소스 모듈 : http://sourceforge.net/projects/dotmods * 라이센스 : [http://sourceforge.net/softwaremap/trove_list.php?form_cat=15 GNU General Public License (GPL)] 2.0 :*/modules/ticketsmith : VOXEL PUBLIC LICENSE(VPL) 1.0 * 플랫폼 : 32-bit MS Windows (NT/2000/XP), All POSIX (Linux/BSD/UNIX-like OSes) <br> ==설치 가이드== *[[Dotproject-설치|dotProject 설치 가이드]] ==사용자 가이드== 프로젝트의 진척도 관리 기능을 제공하는 PMS (Project Management System)인 dotProject를 소개 한다. ===dotProject의 주요 기능=== dotProject는 프로젝트의 진척도 관리를 주요 기능으로 하고 있으며, 하위 구성 요소로 작업(계획 사항)과 로그(실적 사항)를 관리 한다. 사용자에게 할당된 작업은 Gantt 챠트에서 볼 수 있으며 진척도와 첨부파일이 관리 된다. 또한 모듈 방식의 구조를 가지고 있으므로 쉽게 사용자 모듈을 추가/관리 할 수 있다. [[그림:DotProject user 01.png|주요 기능]] {| cellspacing="1" cellpadding="1" border="1" width="100%" |- |bgcolor="cyan" align="center" width="20%"|주요 기능 |bgcolor="cyan" align="center" width="80%"|주요 기능 설명 |- |align="center"|회사 (고객사) | 프로젝트와 관련된 회사를 관리 한다. *사용자 : dotProject에 로그인할 수 있는 사용자, 작업을 할당 받는다. *부서 : 회사에 속한 부서로 계층적으로 관리 된다. *연락처 : 회사에 속한 연락처로 회사의 사용자는 자동으로 연락처에 포함된다. *파일 : 회사와 관련된 첨부 파일 관리 *프로젝트 : 회사에서 진행하는 프로젝트 *Gantt 챠트 : 회사와 관련된 프로젝트의 Gantt 챠트 *커스텀 필드 : 사용자 정의 필드를 추가할 수 있다. |- |align="center"|프로젝트 | 프로젝트의 type 중 하나는 템플릿으로, 새로운 프로젝트를 생성할 때 템플릿을 사용하여 기존의 프로젝트를 복사할 수 있다. 템플릿을 사용하여 기존의 프로젝트를 복사할 경우에는 프로젝트에 포함된 작업이 같이 복사 된다. *작업 : 프로젝트와 관련된 일정 계획 (계획) *로그 : 프로젝트에 진행된 작업 (실적) *이벤트 : 약속, 미팅, 기념일, 회의 등과 같은 일정으로 달력에 표시됨 *포럼 : 일종의 전자게시판(BBS)으로 첨부파일 관리는 안됨, 프로젝트에 포럼을 여러개 생성할 수 있다. *파일 : 프로젝트와 관련된 첨부 파일 *Gantt 챠트 : 프로젝트의 Gantt 챠트 *커스텀 필드 : 사용자 정의 필드를 추가할 수 있다. |- |align="center"|작업 | 프로젝트에 포함된 단위 작업으로 담당자를 할당, 진행율 관리, 우선 순위, 목표 예산 등을 관리할 수 있으며 작업 간의 종속 관계를 설정할 수 있다. *로그 : 작업과 관련하여 진행한 업무 (실적) *파일 : 작업과 관련된 첨부 파일 *달력 : 작업과 이벤트가 달력에 표시 된다. *Gantt 챠트 : 조회한 작업의 Gantt 챠트 *커스텀 필드 : 사용자 정의 필드를 추가할 수 있다. |- |align="center"|포럼 | 일종의 전자게시판(BBS)으로 프로젝트에서 여러개를 생성할 수 있다. core 모듈로 복사하여 첨부파일 관리가 가능한 모듈을 쉽게 만들 수 있다. (반나절 작업) *토픽 : 게시물로 첨부파일 관리는 안됨 *답장 : 토픽에 대한 답글 |- |align="center"|보고서 | 사용자별 할당 시간, 사용자별 작업/로그, 사용자 업무 효율, 기간별 작업 목록, 프로젝트 통계 등의 보고서의 생성을 지원 한다. |- |align="center"|검색 | 단어 검색, 모듈별 검색, 향상된 검색 기능을 제공 한다. |- |align="center"|이슈 | 새로운 이슈를 생성/관리할 수 있다. 고객사 프로젝트별로 이슈 관리가 가능하나 첨부파일 관리가 되지 않는다. dotProject에 포함된 이슈는 기능이 너무 약하여 아주 간단한 이슈 관리에만 사용하기를 권하고, 체계적인 이슈 관리를 위해서는 [[Mantis]]나 [[Bugzilla]]를 사용할 것을 권장 한다. |} ===Qualdev dotProject Eclipse Plug-in=== *홈페이지 : http://sourceforge.net/projects/eclipsedotproj/ *다운로드 : http://sourceforge.net/project/showfiles.php?group_id=193575 *라이선스 : GPL *플랫폼 : Java <br> *dotProject Eclipse Plug-in 설치 :*[http://sourceforge.net/project/showfiles.php?group_id=193575 다운로드 사이트]에서 "co.edu.uniandes.qualdev.plugin.dotProject_3.0.0.jar" 파일을 다운로드 한다. :*co.edu.uniandes.qualdev.plugin.dotProject_3.0.0.jar 파일을 $ECLIPSE_HOME/plugins/에 복사 한다. <br> *dotProject Eclipse Plug-in 환경 설정 및 사용 :*Eclipse 를 시작 한다. :*Window -> Preferences -> dotProject 메뉴에서 dotProject 데이터베이스 접속 정보를 등록 한다. :*Window -> Show View -> Other... -> DotProject -> Time View 를 선택 한다. :*"Time View"에서 "Username" 링크를 선택하여 작업하려는 사용자 아이디를 등록 한다. :*"Time View" 주요 기능 ::*프로젝트를 선택하고 해당 작업(TODO, All Tasks, Done)을 선택하여 작업을 조회 한다. ::*선택한 작업에 로그를 등록/삭제 할 수 있다. <br> *해결이 필요한 사항 :*로그를 등록할 때 한글이 깨어지는 현상이 발생함 ==관리자 가이드== ===dotProject 모듈=== dotProject는 자체적으로 모듈 개발을 위한 공간을 제공하고 있으며, 관련된 오픈소스 모듈도 존재한다. *[http://sourceforge.net/project/showfiles.php?group_id=70930 dotProject mods] : dotProject 모듈 개발을 위한 오픈소스 프로젝트 :*FlexGantt 1.0 (2009.1.23) : 유용하여 사용을 권장함 :*Interactive Gantt 1.0 (2009.1.18) :*Holiday 1.2 (2008.12.6) :*Trac Integration 0.5 (2008.5.8) :*Import Export 0.2 (2007.10.10) :*ProjectDesigner 1.0 (2007.3.15) :*Risks Module 2.2 (2005.7.9) :*Unitcost 1.0 (2006.8.21) *MS Project Importer Module (Project Importer 3.0)로 유료 :*http://www.dotproject.net/vbulletin/showthread.php?t=4087 :*http://caseysoftware.com/microsoft-project-dotproject-importer *[http://sourceforge.net/projects/eclipsedotproj/ dotProject Eclipse Plug-in] ===dotProject 디자인 가이드=== *dotProject는 default로 3가지 스타일을 제공하며 "시스템 관리 -> 사용자 기본설정" 메뉴에서 변경할 수 있다. 변경을 하면 다시 로그인을 하여야 적용된 화면을 볼 수 있다. :*깔끔한 스타일 : /style/default :*클래식 dotProject 스타일 : /style/classic :*회색 슬림라인 스타일 : /style/dp-grey-theme *깔끔한 스타일 (/style/default)을 기준으로 style에서 디자인과 관련된 사항을 정리 한다. :*$DOTPROJECT_HOME/style/default에 "깔끔한 스타일"이 저장 된다. :*login.php : 로그인 화면 :*lostpass.php : 암호 확인 화면 :*overrides.php : 각 모듈에서 사용하는 탭을 표시하는 JavaScript 함수 :*header.php : 화면 상단의 헤더 :*footer.php : 화면 하단에 표시되는 글로 현재는 비어 있다. [[그림:DotProject user 02.png|700px|header 위치]] :*위 그림에서 붉은 박스로 표시된 부분이 header.php에서 표시하는 영역 이다. ===사용자 정의 모듈 생성=== *공통 호출 파일 :*/functions/userModule_func.php :*/modules/userModule/userModule.class.php : 공통 클래스 *모듈 한글화 파일 :*/locales/ko_KR/forums.inc :*/locales/ko_KR/common.inc : 공통 한글 파일 *SmartSearch에 검색 :*/modules/smartsearch/searchobjects/usermodule.inc.php 생성 :*/modules/smartsearch/searchobjects/usermodule_messages.inc.php 생성 *권한 설정 정보 등록 :*/public/selector.php에 새로 추가한 모듈 정보 추가 case 'userModule': $title = 'userModule'; $q->addQuery(''usermodules_id,'usermodules_name'); $q->addOrder(''usermodules_name'); break; *사용자 정의 모듈 구조 :*/modules/userModule/setup.php : 설치 $config = array(); $config['mod_name'] = 'userModule'; $config['mod_version'] = '0.0.3'; $config['mod_directory'] = 'usermodules'; $config['mod_setup_class'] = 'CSetupUserModule'; $config['mod_type'] = 'user'; $config['mod_ui_name'] = 'UserModule'; $config['mod_ui_icon'] = 'communicate.gif'; $config['mod_description'] = ''; $config['mod_config'] = true; $config['permissions_item_table'] = 'usermodules'; $config['permissions_item_field'] = 'usermodules_id'; $config['permissions_item_label'] = 'usermodules_name'; class CSetupUserModule{ function install() { return null; } function configure() { return true; } function upgrade($old_version) { return true; } function remove() { return null; } } :*/modules/userModule/configure.php : 환경 설정 :*/modules/[m]/[u]/[a].php ::*/modules/userModule/index.php : 목록 ::*/modules/userModule/[a].class.php : parameter로 전달된 a 수행 ::*/modules/userModule/[dosql].class.php : parameter로 전달된 dosql 수행 ===JOSSO 적용=== SSO (Single-Sign-On) 솔루션인 [[JOSSO]]를 적용 한다. <br> */classes/ui.class.php (세션 정보의 저장 및 관리) :*function login($username, $password) //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 시작 //delete if (@$_POST['login'] != 'login' && @$_POST['login'] != $this->_('login', UI_OUTPUT_RAW) && $_REQUEST['login'] != $auth_method) //delete die('You have chosen to log in using an unsupported or disabled login method'); //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 종료 <br> */classes/authenticator.class.php (인증) :*class SQLAuthenticator //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 시작 //delete if (MD5($password) == $row["user_password"]) return true; //delete return false; return true; //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 시작 <br> */index.php (JOSSO 인증 루틴 추가) //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 시작 // manage the session variable(s) //delete, dPsessionStart(array('AppUI')); // write the HTML headers header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header ('Cache-Control: no-cache, must-revalidate, no-store, post-check=0, pre-check=0'); // HTTP/1.1 header ('Pragma: no-cache'); // HTTP/1.0 $user = $josso_agent->getUserInSession(); if (!isset($user)) { //--- JOSSO의 SSO 정보가 없을 경우 //--- 접속 시스템의 세션 정보가 있으면 //--- 접속 시스템의 세션 정보를 삭제 한다. if (isset($_SESSION['AppUI']->user_id)) { $AppUI =& $_SESSION['AppUI']; $user_id = $AppUI->user_id; addHistory('login', $AppUI->user_id, 'logout', $AppUI->user_first_name . ' ' . $AppUI->user_last_name); } $_SESSION['AppUI'] = new CAppUI; $AppUI =& $_SESSION['AppUI']; require_once( $AppUI->getSystemClass( 'date' ) ); require_once( $AppUI->getSystemClass( 'dp' ) ); require_once( $AppUI->getSystemClass( 'query' ) ); require_once DP_BASE_DIR.'/misc/debug.php'; if (isset($user_id) && isset($_GET['logout'])){ $AppUI->registerLogout($user_id); } if (isset($_GET['login']) || isset($_GET['logout'])) { //--- 로그인 또는 로그아웃 요청일 경우 //--- 분기 화면 정보로 디폴트 페이지를 설정 한다. //--- JOSSO 로그인 화면을 보여 준다. //--- JOSSO에 로그인이 되었을 경우 분기 화면을 보여 준다. jossoRequestLoginForUrl("/dotproject/index.php"); } else { //--- 분기 화면 정보로 접속하려던 페이지를 설정 한다. //--- JOSSO 로그인 화면을 보여 준다. //--- JOSSO에 로그인이 되었을 경우 분기 화면을 보여 준다. jossoRequestLoginForUrl($_SERVER['REQUEST_URI']); } exit; } else { //--- JOSSO의 SSO 정보가 있을 경우 dPsessionStart(array('AppUI')); if (isset($_GET['login'])) { //--- 로그인 요청일 경우 //--- 디폴트 페이지를 호출 한다. forceRedirect("/dotproject/index.php"); exit; } if (isset($_GET['logout'])) { //--- 로그아웃 요청일 경우 //--- 접속 시스템의 세션 정보를 삭제 한다. if (isset($_SESSION['AppUI']->user_id)) { $AppUI =& $_SESSION['AppUI']; $user_id = $AppUI->user_id; addHistory('login', $AppUI->user_id, 'logout', $AppUI->user_first_name . ' ' . $AppUI->user_last_name); } $_SESSION['AppUI'] = new CAppUI; $AppUI =& $_SESSION['AppUI']; require_once( $AppUI->getSystemClass( 'date' ) ); require_once( $AppUI->getSystemClass( 'dp' ) ); require_once( $AppUI->getSystemClass( 'query' ) ); require_once DP_BASE_DIR.'/misc/debug.php'; if (isset($user_id) && isset($_GET['logout'])){ $AppUI->registerLogout($user_id); } session_unset(); session_destroy(); //--- 분기 화면 정보로 디폴트 페이지를 설정 한다. //--- JOSSO에서 로그아웃을 한다. //--- JOSSO 로그인 화면을 보여 준다. jossoRequestLogoutForUrl("/dotproject/index.php"); exit; } if (isset($_SESSION["jossoID"])) { if ($_SESSION["jossoID"] != $_COOKIE["JOSSO_SESSIONID"]) { //--- 접속 시스템의 세션 정보와 JOSSO의 세션 정보가 틀릴 경우) { //--- 접속 시스템의 세션 정보를 삭제 한다. if (isset($_SESSION['AppUI']->user_id)) { $AppUI =& $_SESSION['AppUI']; $user_id = $AppUI->user_id; addHistory('login', $AppUI->user_id, 'logout', $AppUI->user_first_name . ' ' . $AppUI->user_last_name); } $_SESSION['AppUI'] = new CAppUI; $AppUI =& $_SESSION['AppUI']; require_once( $AppUI->getSystemClass( 'date' ) ); require_once( $AppUI->getSystemClass( 'dp' ) ); require_once( $AppUI->getSystemClass( 'query' ) ); require_once DP_BASE_DIR.'/misc/debug.php'; if (isset($user_id) && isset($_GET['logout'])){ $AppUI->registerLogout($user_id); } session_unset(); session_destroy(); } } $_SESSION["jossoID"] = $_COOKIE["JOSSO_SESSIONID"]; if (!isset($_SESSION['AppUI']->user_id)) { //--- 접속 시스템의 세션 정보가 없을 경우 //--- 접속 시스템의 세션 정보를 생성 한다. dPsessionStart(array('AppUI')); $_SESSION['AppUI'] = new CAppUI; $AppUI =& $_SESSION['AppUI']; $AppUI->checkStyle(); require_once( $AppUI->getSystemClass( 'date' ) ); require_once( $AppUI->getSystemClass( 'dp' ) ); require_once( $AppUI->getSystemClass( 'query' ) ); require_once DP_BASE_DIR.'/misc/debug.php'; if ($AppUI->doLogin()) { $AppUI->loadPrefs( 0 ); } $username = $user->getName(); $password = "josso"; $ok = $AppUI->login( $username, $password ); if (!$ok) { $AppUI->setMsg( 'Login Failed'); } else { $AppUI->registerLogin(); } } } //--- JOSSO를 적용하여 SSO (Single-Sign-On) 구현 종료 <br> ===포럼의 답장 게시 오류 처리=== *오류 메시지 ERROR: /var/www/dotproject/classes/query.class.php(623): query failed(SELECT contact_first_name, contact_last_name FROM ( `users` ) LEFT JOIN `contacts` AS con ON contact_id = user_contact WHERE user_username LIKE 'admin' OR user_id = admin) - error was: Unknown column 'admin' in 'where clause' Backtrace: 0 /var/www/dotproject/classes/query.class.php:623 dprint('/var/www/dotproject/classes/query.class.php',623,0, 'query failed(SELECT contact_first_name, contact_last_name FROM ( `users` ) LEFT JOIN `contacts` AS con ON contact_id = user_contact WHERE user_username LIKE \'admin\' OR user_id = admin) - error was: Unknown column \'admin\' in \'where clause\'') 1 /var/www/dotproject/classes/query.class.php:645 exec(2) 2 /var/www/dotproject/includes/main_functions.php:193 loadList() 3 /var/www/dotproject/modules/forums/post_message.php:139 dPgetUsername('admin') 4 /var/www/dotproject/modules/forums/viewer.php:83 include('/var/www/dotproject/modules/forums/post_message.php') 5 /var/www/dotproject/index.php:299 require('/var/www/dotproject/modules/forums/viewer.php') :*vi /var/www/dotproject/includes/main_functions.php의 dPgetUsername 함수(192 라인)에서 다음과 같이 수정 한다. // $q->addWhere("user_username LIKE '$user' OR user_id = " . $user); $q->addWhere("user_username LIKE '$user' OR user_id = '" . $user . "'"); 혹은 // $q->addWhere("user_username LIKE '$user' OR user_id = " . $user); $q->addWhere("user_username LIKE '". $user ."'"); $q->addWhere("user_id = '". $user ."'"); 으로 두 줄로 수정한다. ==프로젝트 관리== *프로젝트 : 고유한 목표를 달성하기 위해 수행하는 한시적인 노력, PMBOK *프로젝트의 3대 특징 :*Unique (고유성) : 고유한 목표를 가진다. :*Temporary (한시성) : 정해진 기간 동안 수행 된다. :*Progressive Elaboration (점진적 상세화) ==한글 파일== *[[Media:Ko KR 20090309.zip|dotProject 한글 파일, 2009년 3월 9일 최종 작성]] :*[http://kldp.net/projects/dotproject-ko KLDP의 dotproject 한글화 프로젝트]의 한글 파일(dp2.0.4_Locale_ko_kr_20060720_ver.0.5.tgz)을 받아 추가 보완한 한글 파일 ==참고 문헌== *[http://season2.pmpcafe.com/bbs/?document_srl=80856&mid=pmucc 동영상 : Dotproject 사용법] *한글화 가이드 :*[http://wiki.kldp.org/wiki.php/dotproject-ko KLdap dotproject-ko] :*[http://tracefox.egloos.com/3077855 티폭스 : dotProject 한글화] :*[http://www.gammakerz.net/ Dotproject 2.1.1] :*[http://kangbin11.egloos.com/1687152 DotProject 설치 및 한글화 , Gantt chart 한글화] :*[http://blog.daum.net/_blog/BlogView.do?blogid=04lp0&articleno=2275565&_bloghome_menu=recenttext#ajax_history_home DotProject 한글화 하기] :*[http://bukri.egloos.com/956056 dotProject 2.1.2 설치 및 한글화] *[http://social.microsoft.com/Forums/de-DE/projectko/thread/4988b195-567c-426b-9675-27cbc4148e17 Project Portfolio Management system에 대한 소개와 Market의 현재 상황] *[http://www.setool.or.kr/tools_detail.do?toolId=6&categoryId=5&pageNo= SETooL: dotProject] [[Category:오픈소스]] [[Category:PMS]] [[Category:dotProject]] [[Category:WebSite]]
DotProject
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보