- 설치 가이드
- 설치전 사전 준비 사항
- dotProject용 DB 설정
- dotProject 설치
- 한글 설정
- Gantte 한글 추가 설정
- Linux용 설치 가이드
- 설치전 사전 준비 사항
- MySQL에 DB와 사용자 생성
- dotProject 설치
- 한글 설정
- FlexGantt 설치
- PDF 다운로시 파일에 한글 설정
- 문제 해결
- DB 한글화 표시 문제
- 전체적인 Locale 설정(한글화)
- 오른쪽 달력 문제 해결
- 날짜 형식 변경
- SMTP 이메일 설정
- Company 분류 수정
- 이슈 에서의 report as PDF 한글화
- dotproject의 속도 문제 해결
- 간트 차트 이슈
- 별칭 문제
- 프로젝트 명 길이 문제
- 모두 보기
- 보고서 및 메뉴얼
- 참고 문헌
오픈소스로 제공되는 PMS (Project Management System)인 dotProject에서 설치 부분을 정리 한다.
설치 가이드
설치전 사전 준비 사항
{{wamp 준비}}
dotProject용 DB 설정
{{MySQL DB 설정|dotProject|dotprojectdb|dotproject}}
dotProject 설치
{{Apache 접속 설정|dotproject}}
PHP의 세션 설정을 조정한다.
Drupal에서 문제가 발생하여 1로 변경 하지 않고 원래대로 0으로 설정하여 사용한다.
vi D:/OpenBiz/31_application/php525/php.ini
; Initialize session on request startup.
session.auto_start = 1
Apache HTTP Server를 재기동 한다.
다운로드 사이트에서 dotProject 2.1.2의 설치 프로그램(dotproject-2.1.2.zip)을 다운로드 한다.
다운로드한 파일의 압축을 풀어 "d:/OpenBiz/31_application/dotproject" 로 복사 한다.
http://localhost/dotprojct/로 접속하여 설치를 시작한다.
설치와 관련된 요구사항을 만족하는지 확인하고 "Start Installation" 버튼을 눌러 설치를 시작한다.
![설치 준비](img/DotProject install 01.png)
Database 접속 정보를 입력하고 "install db & write cfg" 버튼을 눌러 설치를 종료 한다.
![설치 종료](img/DotProject install 02.png)
D:/OpenBiz/31_application/dotproject/install 폴더를 삭제한다.
http://localhost/dotprojcet에 접속하여 admin / passwd 로 로그인 한다.
한글 설정
KLDP의 dotproject 한글화 프로젝트에서 한글 파일을 다운로드(dp2.0.4_Locale_ko_kr_20060720_ver.0.5.tgz) 한다.
압축을 풀어 D:/OpenBiz/31_application/dotproject/locales/ko_KR 로 복사 한다.
한글 파일의 한글 정보를 설정한다.
D:/OpenBiz/31_application/dotproject/locales/ko_KR/lang.php를 다음과 같이 편집 한다.
//$LANGUAGES['ko_KR']('ko_KR'.md) = array ( $dir, 'Korean (KR)', 'Korean (KO)', 'kor');
$LANGUAGES['ko_KR']('ko_KR'.md) = array ( $dir, 'Korean', 'Korean', 'ko_KR');
http://localhost/dotproject에 관리자로 로그인 한다.
"System Admin" 탭을 선택 한다.
시스템 구성에서 호스트 로케일을 "ko_KR"을 설정 한다.
"Default User Preferences" 링크를 선택한 후 locale를 "korean"으로 수정 한다.
기타 관련 설정도 같이 변경 한다.
로그아웃 후 다시 로그인하면 변경된 설정으로 화면이 표시된다.
보고서 한글 설정
/modules/projects/reports/.txt 파일을 복사하여 /modules/projects/reports/.ko_KR.txt 작성
Gant Chart 한글 설정
한글화 결과 확인은 "프로젝트" 탭 -> "Gantt" 탭에서 확인 한다.
반드시 매번 로그아웃 후 다시 로그인 하여 확인 한다.
앗! 무료 한글 폰트가 이렇게 많다니!!! 2에서 무료 한글 폰트를 다운로드 한다. 여기서는 나눔 명조를 사용한다.
다운로드 받은 한글 폰트를 /var/www/dotproject/lib/fonts 에 복사 한다.
나눔명조.ttf를 nanum.ttf로 나눔명조Bold.ttf를 nanumBold.ttf로 이름을 변경 한다.
vi D:/OpenBiz/31_application/dotproject/lib/jpgraph/src/jpgraph.php 에서 아래와 같이 수정 한다.
DEFINE("FF_CUSTOM",18);를 추가 한다.
FF_CUSTOM => array(FS_NORMAL=>'nanum.ttf', FS_BOLD=>'nanumBold.ttf',
FS_ITALIC=>'nanum.ttf', FS_BOLDITALIC=>'nanumBold.ttf')
- vi D:/OpenBiz/31_application/dotproject/modules/tasks/gantt.php
$graph->scale->actinfo->SetFont(FF_CUSTOM, FS_NORMAL, 8); 을
$graph->scale->actinfo->SetFont(FF_CUSTOM); 로 수정 한다.
if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
//$name = utf8_decode($name); 주석 처리 한다.
}
- vi D:/OpenBiz/31_application/dotproject/modules/projects/gantt.php 에서 아래와 같이 주석 처리 한다.
// if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
// $name = ((strlen(utf8_decode($p['project_name']('project_name'.md))) > 25)
// ? (substr(utf8_decode($p['project_name']('project_name'.md)), 0, 22) . '...')
// : utf8_decode($p['project_name']('project_name'.md)));
// } else {
// //while using charset different than UTF-8 we need not to use utf8_deocde
$name = ((strlen($p['project_name']('project_name'.md)) > 25)
? (substr($p['project_name'], 0, 22).'...') : $p['project_name']('project_name'.md)) ;
// }
//--- 아래의 주석을 해제 한다.
//$graph->scale->actinfo->SetFont(FF_CUSTOM);
- vi D:/OpenBiz/31_application/dotproject/modules/projects/gantt2.php 에서 아래와 같이 주석 처리 한다.
// if ($locale_char_set=='utf-8' && function_exists('utf_decode')) {
// $name = ((strlen(utf8_decode($t['task_name']('task_name'.md))) > 25)
// ? (substr(utf8_decode($t['task_name']('task_name'.md)), 0, 22) . '...')
// : utf8_decode($t['task_name']('task_name'.md)));
// $nameUser = $t['user_name']('user_name'.md);
// } else {
// //while using charset different than UTF-8 we need not to use utf8_deocde
$name = ((strlen($t['task_name']('task_name'.md)) > 25)
? (substr($t['task_name']('task_name'.md), 0, 22) . '...')
: $t['task_name']('task_name'.md));
$nameUser = $t['user_name']('user_name'.md);
// }
한글 파일 다운로드시 한글파일명이 깨어질 경우
vi D:/OpenBiz/31_application/dotproject/fileviewer.php
header( 'Content-disposition: attachment; filename="'.$file['file_name']('file_name'.md).'"' ); 를
header( 'Content-disposition: attachment;
filename="'.iconv('utf-8','euc-kr',$file['file_name']('file_name'.md)).'"' ); 로 수정 한다.
날자 형식을 추가할 경우
vi D:/OpenBiz/31_application/dotproject/modules/system/addeditpref.php
$f = "%Y.%m.%d"; $dates[$f]($f.md) = $ex->format( $f ); 추가 (약 105 라인 정도에)
관리자로 로그인하여 "시스템 관리" -> "사용자 기본설정" 메뉴에서 "짧은 날짜 포맷"을 방금 추가한 것으로 변경 한다.
2.0.4 한글 팩을 2.1.2 한글팩으로 재작성
"시스템 관리" -> "번역 관리"에서 한글이 설정 되지 않았거나 잘 못 번역된 한글을 수정하여 저장한다.
Gantte 한글 추가 설정
위에서 설명한 것 처럼 한글 폰트를 설정하면 간트 챠트에서 한글을 볼 수 있으나 간트 챠트의 우측 부분(년, 월, 주, 요일 표시 부분)은 한글이 적용되지 않는다. 확인하여 본 결과 dotProject에서 지원하지 않는 기능으로 dotProject에 요청하여 한글 지원이 되도록 한 후 사용하여야 한다.
아래 정리된 사항은 나처럼 성격이 급한 사람을 위해 임시 조치 방법을 정리 한다.
$DOTPROJECT_HOME/lib/jpgraph/src/jpgraph_gantt.php.php 파일에서 아래와 같이 수정 한다. 단, 한글이 정상적으로 표시되도록 하기 위해서는 해당 파일을 UTF-8 형태로 저장하여야 한다.
StrokeYears(~) 함수 : 연 표시 함수
$img->SetFont(FF_CUSTOM, FS_NORMAL, 8); //--- 이 라인을 추가 한다.
$img->StrokeText(round($xt+$yearwidth/2+1),
round($yb-$this->year->iTitleVertMargin),
$year."년"); //--- 여기에 ."년"을 추가 한다.
StrokeMonths(~) 함수 : 월 표시 함수
$img->SetFont(FF_CUSTOM, FS_NORMAL, 8); //--- 이 라인을 추가 한다.
//$img->StrokeText(round($xt+$monthwidth/2+1), //--- 이 세줄을 지운다.
// round($yb-$this->month->iTitleVertMargin),
// $monthName);
$img->StrokeText(round($xt+$monthwidth/2+1), //--- 이 세줄을 추가 한다.
round($yb-$this->month->iTitleVertMargin),
($monthnbr + 1)."월");
// $img->StrokeText(round($x+$w/2+1), //--- 이 두줄을 지운다.
// round($yb-$this->month->iTitleVertMargin),$monthName);
$img->StrokeText(round($x+$w/2+1), //--- 이 두줄을 추가 한다.
round($yb-$this->month->iTitleVertMargin),($monthnbr + 1)."월");
StrokeWeeks(~) 함수 : 주 표시 함수
elseif( $this->week->iStyle==WEEKSTYLE_FIRSTDAY ||
$this->week->iStyle==WEEKSTYLE_FIRSTDAYWNBR )
// $txt = date("j/n",$week); //--- 이 라인을 지운다.
$txt = date("n월 j일",$week); //--- 이 라인을 추가 한다.
$img->SetFont(FF_CUSTOM, FS_NORMAL, 8);
//--- 위 코드를 추가 한다.
$img->StrokeText(round($x+$txtOffset),
round($yb-$this->week->iTitleVertMargin),$txt);
StrokeDays(~) 함수 : 요일 표시 함수
$txt = strftime('%A',$datestamp);
$txt = strtoupper($txt[0](0.md));
//--- 아래 코드를 추가 한다.
$txt = strftime('%a',$datestamp);
if ($txt == "Mon") {
$txt = "월";
} else if ($txt == "Tue") {
$txt = "화";
} else if ($txt == "Wed") {
$txt = "수";
} else if ($txt == "Thu") {
$txt = "목";
} else if ($txt == "Fri") {
$txt = "금";
} else if ($txt == "Sat") {
$txt = "토";
} else {
$txt = "일";
}
$img->SetFont(FF_CUSTOM, FS_NORMAL, 6);
//--- 위 코드를 추가 한다.
$img->StrokeText(round($x+$daywidth/2+1),
round($yb-$this->day->iTitleVertMargin),$txt);
Linux용 설치 가이드
설치전 사전 준비 사항
MySQL DBMS 설치
Apach HTTP Server 설치
PHP 설치
MySQL에 DB와 사용자 생성
phpMyAdmin에 로그인 한다.
"새 데이터베이스 만들기" 에서 dotproject, utf8_unicode_ci 를 사용하여 데이터베이스를 생성한다.
"사용권한" 링크를 선택 한 후, "새 사용자 추가" 링크를 선택한다.
사용자명에 "dotproject"을 등록하고 암호를 등록하고 Database for user 영역에서는 "create database with same name and grant all privileges"를 선택한 후 화면 하단의 "실행" 버튼을 선택하여 사용자를 추가한다.
phpMyAdmin의 첫 화면에서 좌측 메뉴의 mysql 링크를 선택한다.
"SQL" 탭을 선택한 후 아래 sql 문을 차례대로 실행한다.
grant all privileges on DB명.* to 아이디명@localhost identified by '암호';
flush privileges;
select host, user, password from user order by user, host;
참조 : [phpMyAdmin에서 DB Schema와 사용자 추가 설정](PhpMyAdmin.md#DB Schema와 사용자 추가 설정.md)
dotProject 설치
다운로드 사이트에서 dotProject 2.1.2의 설치 프로그램(dotproject-2.1.2.tar.gz)을 다운로드 한다.
Document Root 폴더(/var/www)에 다운로드 받은 파일의 압축을 푼다.
cd /var/www
gzip -g dotproject-2.1.2.tar.gz
tar xvf dotproject-2.1.2.tar
chown -R 사용자아이디:그룹아이디 dotproject : 실제 사용할 사용자로 소유권을 변경한다.
설치를 위해서 폴더의 권한을 변경한다.
cd /var/www/dotproject
chmod -R 777 files
chmod -R 777 locales
chmod -R 777 includes
PHP의 세션 설정을 조정한다.
vi /etc/php5/apache2/php.ini
; Initialize session on request startup.
session.auto_start = 1
/etc/init.d/apache2 restart
http://localhost/dotprojct/로 접속하여 설치를 시작한다.
설치 완료 후 아래 작업을 추가로 진행한다.
cd /var/www/dotproject
rm -R install
chmod -R 755 files
chmod -R 755 locales
chmod -R 755 includes
첨부파일 업로드 다운로드 관련하여 폴더의 권한을 설정한다.
cd /var/www/dotproject
chmod -R 777 files
또는
chown -R www-data:www-data files
한글 설정
KLDP의 dotproject 한글화 프로젝트에서 한글 파일을 다운로드(dp2.0.4_Locale_ko_kr_20060720_ver.0.5.tgz) 한다.
윈도우에서 dp2.0.4_Locale_ko_kr_20060720_ver.0.5.tar로 압축을 푼다.
dotProject에 한글 파일을 설치한다.
cd /var/www/dotproject/locales tar xvf dp2.0.4_Locale_ko_kr_20060720_ver.0.5.tar
cd ko_KR
vi lang.php
//$LANGUAGES['ko_KR']('ko_KR'.md) = array ( $dir, 'Korean (KR)', 'Korean (KO)', 'kor');
$LANGUAGES['ko_KR']('ko_KR'.md) = array ( $dir, 'Korean', 'Korean', 'ko_KR');
http://localhost/dotproject에 관리자로 로그인 한다.
"System Admin" 탭을 선택 한다.
"System Configuration" 링크를 선택한 후, Host Locale을 "ko_KR.UTF-8"로 수정 한다.
"Default User Preferences" 링크를 선택한 후 locale를 "korean"으로 수정 한다.
기타 관련 설정도 같이 변경 한다.
로그아웃 후 다시 로그인하면 변경된 설정으로 화면이 표시된다.
Gant Chart 한글 설정
한글화 결과 확인은 "프로젝트" 탭 -> "Gantt" 탭에서 확인 한다.
반드시 매번 로그아웃 후 다시 로그인 하여 확인 한다.
앗! 무료 한글 폰트가 이렇게 많다니!!! 2에서 무료 한글 폰트를 다운로드 한다. 여기서는 옥션 고딕을 사용한다.
다운로드 받은 한글 폰트를 /var/www/dotproject/lib/fonts 에 복사 한다.
chown 사용자:그룹 *.ttf : 웹에서 사용하는 사용자와 그룹으로 소유권을 변경 한다.
vi /var/www/dotproject/lib/jpgraph/src/jpgraph.php 에서 아래와 같이 수정 한다.
DEFINE("FF_CUSTOM",18);를 추가 한다.
FF_CUSTOM => array(FS_NORMAL=>'AuctionGothic_Medium.ttf',
FS_BOLD=>'AuctionGothic_Bold.ttf', FS_ITALIC=>'AuctionGothic_Medium.ttf',
FS_BOLDITALIC=>'AuctionGothic_Bold.ttf')
vi /var/www/dotproject/modules/tasks/gantt.php
$graph->scale->actinfo->SetFont(FF_CUSTOM, FS_NORMAL, 8); 을
$graph->scale->actinfo->SetFont(FF_CUSTOM); 로 수정 한다.
if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
//$name = utf8_decode($name); 주석 처리 한다.
}
vi /var/www/dotproject/modules/projects/gantt.php 에서 아래와 같이 주석 처리 한다.
// if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
// $name = ((strlen(utf8_decode($p['project_name']('project_name'.md))) > 25)
// ? (substr(utf8_decode($p['project_name']('project_name'.md)), 0, 22) . '...')
// : utf8_decode($p['project_name']('project_name'.md)));
// } else {
// //while using charset different than UTF-8 we need not to use utf8_deocde
$name = ((strlen($p['project_name']('project_name'.md)) > 25)
? (substr($p['project_name'], 0, 22).'...') : $p['project_name']('project_name'.md)) ;
// }
vi /var/www/dotproject/modules/projects/gantt2.php 에서 아래와 같이 주석 처리 한다.
// if ($locale_char_set=='utf-8' && function_exists('utf_decode')) {
// $name = ((strlen(utf8_decode($t['task_name']('task_name'.md))) > 25)
// ? (substr(utf8_decode($t['task_name']('task_name'.md)), 0, 22) . '...')
// : utf8_decode($t['task_name']('task_name'.md)));
// $nameUser = $t['user_name']('user_name'.md);
// } else {
// //while using charset different than UTF-8 we need not to use utf8_deocde
$name = ((strlen($t['task_name']('task_name'.md)) > 25)
? (substr($t['task_name']('task_name'.md), 0, 22) . '...')
: $t['task_name']('task_name'.md));
$nameUser = $t['user_name']('user_name'.md);
// }
한글 파일 다운로드시 한글파일명이 깨어질 경우
vi /var/www/dotproject/fileviewer.php
header( 'Content-disposition: attachment; filename="'.$file['file_name']('file_name'.md).'"' ); 를
header( 'Content-disposition: attachment;
filename="'.iconv('utf-8','euc-kr',$file['file_name']('file_name'.md)).'"' ); 로 수정 한다.
날자 형식을 추가할 경우
vi /var/www/dotproject/modules/system/addeditpref.php
$f = "%Y.%m.%d"; $dates[$f]($f.md) = $ex->format( $f ); 추가 (약 105 라인 정도에)
관리자로 로그인하여 "시스템 관리" -> "사용자 기본설정" 메뉴에서 "짧은 날짜 포맷"을 방금 추가한 것으로 변경 한다.
2.0.4 한글 팩을 2.1.2 한글팩으로 재작성
"시스템 관리" -> "번역 관리"에서 한글이 설정 되지 않았거나 잘 못 번역된 한글을 수정하여 저장한다.
FlexGantt 설치
Linux 환경에서 FlexGantt 1.0 RC 2.2, 2009.1.23를 설치 한다.
다운로드 사이트에서 설치 프로그램을 다운로드 받아 dotProject의 해당 폴더로 복사한다.
vi /var/www/dotproject/lib/jpgraph/src/jpgraph_ttf.inc.php 에서 아래와 같이 수정 한다.
FF_DEJAVU => array(FS_NORMAL => 'AuctionGothic_Medium.ttf',
FS_BOLD => 'AuctionGothic_Bold.ttf',
FS_ITALIC => 'AuctionGothic_Medium.ttf',
FS_BOLDITALIC => 'AuctionGothic_Bold.ttf'
),
FF_DEJAVUMONO => array(FS_NORMAL => 'AuctionGothic_Medium.ttf',
FS_BOLD => 'AuctionGothic_Bold.ttf',
FS_ITALIC => 'AuctionGothic_Medium.ttf',
FS_BOLDITALIC => 'AuctionGothic_Bold.ttf'
),
FF_VERA => array(FS_NORMAL =>'AuctionGothic_Medium.ttf',
FS_BOLD =>'AuctionGothic_Bold.ttf',
FS_ITALIC =>'AuctionGothic_Medium.ttf',
FS_BOLDITALIC =>'AuctionGothic_Bold.ttf' ),
vi /var/www/dotproject/lib/jpgraph/src/jpgraph_gantt.php
function GanttVLine($aDate,$aTitle="",$aColor="black",
$aWeight=3,$aStyle="dashed") {
$this->title->SetFont(FF_DEJAVU, FS_BOLD, 8); //--- 추가
$this->title->Set($aTitle);
}
vi /var/www/dotproject/modules/tasks/gantt.php
if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
// $name = utf8_decode($name); //--- 주석 처리 한다.
}
$graph->title->SetFont(FF_DEJAVU, FS_BOLD, 12); //--- 추가
if (function_exists('utf8_decode')) {
// $gtitle = utf8_decode($projects[$project_id]['project_name']('project_name'.md));
$gtitle = $projects[$project_id]['project_name']('project_name'.md); //--- 추가
} else {
$gtitle = $projects[$project_id]['project_name']('project_name'.md);
}
PDF 다운로시 파일에 한글 설정
트루타입 글꼴을 Adobe Type1 형식으로 변환하는 프로그램 설치
apt-get install ttf2pt1
cp AuctionGothic_Bold.ttf /var/www/dotproject/lib/ezpdf/fonts
ttf2pt1 -A AGBold.ttf
*** PDF로 저장시 afm 폰트 파일이 정확하지 않아 페이지 제목의 한글이 깨어짐
폰트 이름으로 Unicode를 사용하지 않는 폰트가 필요함
vi /var/www/dotproject/modules/tasks/gantt_pdf.php
$name = $a['task_name']('task_name'.md);
if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
// $name = utf8_decode($name);
}
function strJpGraph($text) {
global $locale_char_set;
if ( $locale_char_set=='utf-8' && function_exists("utf8_decode") ) {
// return utf8_decode($text);
return $text;
} else {
return $text;
}
}
function strEzPdf($text) {
global $locale_char_set;
if ( $locale_char_set=='utf-8' && function_exists("utf8_decode") ) {
// return utf8_decode($text);
return $text;
} else {
return $text;
}
}
// $pdf->selectFont( "$font_dir/Helvetica-Bold.afm" );
$pdf->selectFont( "$font_dir/AuctionGothic_Bold.afm" );
이거 되나요? 토론:Dotproject-설치
문제 해결
작성 날짜 : 2010. 12. 21 ~
dotproject 를 설치 및 한글화 하는데 있어서 나타나는 문제를 해결하는 문서이다.
11.19 업데이트된 최신 2.1.4 버젼을 기준으로 설명한다.
테스트 환경 : windows 2008 server, Apache 2.2.11, PHP 5.3.0, MySql 5.1.36
DB 한글화 표시 문제
dotproject 를 설치 후에 DB 자체에서 한글화가 되지 않아 보고서, 연락처 포팅등에서 한글화 에러를 미리 방지 하기 위함이다.
설치 후에 바로 수행 하기를 권장한다.
참고 링크 : http://nesbbs.kldp.net/projects/dotproject-ko/forum/312353
FILE: include\db_adodb.php, LINE: 31. db_connect() 함수 마지막 부분
mysql_set_charset( 'utf8', $db->_connectionID ); // 추가
전체적인 Locale 설정(한글화)
최신 한글화 파일 : [dotProject 한글 파일, 2009년 3월 9일 최종 작성](Media:Ko KR 20090309.zip.md)
/dotproject/locales/ko_KR 으로 복사
참고 : 위에 한글 설정 부분 참고
오른쪽 달력 문제 해결
처음 설치시 오른쪽 달력의 표시가 아래 그림과 같이 제대로 나오지 않음을 알 수 있다.
그림과 같이 바꿔 보자.
[[image:달력전.png]] => image:달력후.png\modules\calendar\calender.class.php
line 239
$s .= $this->this_month->format("%Y년 ") . ($AppUI->_($this->this_month->format("%m월"))
. (($this->clickMonth) ? '' : ''));
//$s .= ($AppUI->_($this->this_month->format("%B")) . $this->this_month->format(" %Y")
// . (($this->clickMonth) ? '' : ''));
\modules\calendar\calender.class.php
line 277
// foreach ($wk as $day) {
// $s .= ("\n\t\t" . '' . $AppUI->_($day) . ' ');
// }
$s .= ("\n\t\t" . '' . "일" . ' ');
$s .= ("\n\t\t" . '' . "월" . ' ');
$s .= ("\n\t\t" . '' . "화" . ' ');
$s .= ("\n\t\t" . '' . "수" . ' ');
$s .= ("\n\t\t" . '' . "목" . ' ');
$s .= ("\n\t\t" . '' . "금" . ' ');
$s .= ("\n\t\t" . '' . "토" . ' ');
2.1.3 에서는 line 277 과정이 필요없이 그냥 된다.
저장시에 문자셋을 유니코드 UTF-8 으로 저장하여야 함
날짜 형식 변경
dotproject 특성상 연도표시가 한국 실정에 맞게 이루어 지지 않는다.
/locales/ko_KR/locale.php
/modules/system/addeditpref.php (Line 102) 을 추가한다. 2007.01.07 형식.
시스템 관리 - 사용자 기본 설정 - 짧은 날짜 포멧 수정
$f = "%Y.%m.%d";
$dates[$f]($f.md) = $ex->format( $f );
SMTP 이메일 설정
이메일을 다음과 같이 설정하기에 앞서서 원래 서버에 smtp 가 동작하는지 제대로 테스트 하기 바란다.
테스트가 안된다면 절때 dotproject에서 메일이 전송될 수 없다.
꼭 이메일 큐에 체크 해제를 하라.
smtp 호스트에는 아이피 주소를 입력하라.
smtp 계정이 있다면 설정한 계정과 비번을 입력하라.
dotproject의 핵심기능이며 잘 동작하므로 꼭 설정해서 쓰기 바란다.
Company 분류 수정
고객사 또는 회사 라고 번역된 company 부분에서 많은 분류를 줄이는 방법을 소개한다.
영문기준 분류 : All Companies Client Vendor Supplier Consultant Government Internal Not Applicable
데이터 베이스 수정을 통해 가능하다.
(table) Sysvals -> Companytype 을 수정한다.
이슈 에서의 report as PDF 한글화
참고 자료 : http://blog.naver.com/PostView.nhn?blogId=sorendo&logNo=60018355059
이슈 및 PDF 출력에서의 한글화의 문제점을 해결한다.
[ 위와 같은 방법](Dotproject-설치.md#PDF 다운로시 파일에 한글 설정 .md)으로 할려니 afm 이 제대로 생성되지 않아서 인지 안된다.
참고자료를 참고하여 다음과 같은 파일을 해당 경로에 덮어 씌운다.
media:pdf 설정파일.zip 압축을 풀고 아래 위치에 덮어 씌운다.
\dotproject\modules\ticketsmith\pdf.php
\dotproject\lib\ezpdf\class.ezpdf.php
\dotproject\lib\ezpdf\class.pdf.php
pdf.php에서 center의 위치가 제대로 잡히지 않아서 left 설정하고 무식하게 띄워쓰기로 작업하였다.
서버의 상황에 따라 pdf.php 를 쓰지 않고 제일 마지막줄 만 아래와 같이 수정해보아라.
$pdf->kr_ezStream();
//$pdf->ezStream();
dotproject의 속도 문제 해결
참고 자료 : http://www.dotproject.net/vbulletin/showthread.php?p=29384
dotproject 사용 시 프로젝트의 작업 리스트가 많아지면 속도가 현저히 떨어진다.
회사에서 프로젝트 운영 시 많은 사람들이 작업을 입력하고 쓰게되면 리스트를 불러오는데 응답 대기시간을 넘어서 리스트가 누락되어 읽히기도 하고 속도도 느리다.
SQL을 수정하여 인덱스를 만들어 기본 로딩 속도를 높인다.(자세한 사항은 링크를 참조)
간트 차트 이슈
간트 차트 한글화 및 요일 표시는 위에 내용 그대로 하면 잘된다.
이 챕터에서는 세부 추가 이슈에 대해서 다룬다
1200px
별칭 문제
간트 차트에서 한글 프로젝트명을 입력하고 별칭을 입력하지 않을시 별칭이 깨져서 보이는 증상이 나타난다.
/module/projects/addedit.php
function setShort() {
var f = document.editFrm;
var x = 10;
if (f.project_name.value.length < 11) {
x = f.project_name.value.length;
}
if (f.project_short_name.value.length == 0) {
//f.project_short_name.value = f.project_name.value.mb_substr(0,x); 주석처리!!
}
}
/module/projects/addedit.php (LINE 390)
*
maxlength 를 3으로 줄여서 한글이 깨지지 않게 한다.
프로젝트 명 길이 문제
한글 인코딩이나 substr, mb_substr, strlen, mb_strlen 의 내부적인 문제 때문에 프로젝트 명이 제대로 잘려서 보이지 않는다.
byte 수로 짜르면 한글 2byte 가 1byte 로 쪼게 질수도 있고
글자수로 짜르면 영어 글자수와 한글 글자수의 한 자당 길이가 다르므로 영어가 많이 들어간 글자는 일찍 잘리는 문제가 있다.
UTF-8 환경에서 제대로 동작한다.
/module/projects/gannt.php (line 215~)
// if ($locale_char_set=='utf-8' && function_exists('utf8_decode')) {
// $name = ((mb_strlen(utf8_decode($p['project_name']('project_name'.md))) > 25)
// ? (mb_substr(utf8_decode($p['project_name']('project_name'.md)), 0, 22) . '...')
// : $p['project_name']('project_name'.md));
// } else {
//while using charset different than UTF-8 we need not to use utf8_deocde
//$name = ((mb_strlen($p['project_name'],'utf-8') > 20) ? (mb_substr($p['project_name']('project_name'.md), 0, 20,'utf-8').'...')
// : $p['project_name']('project_name'.md)) ;
// }
$str = $p['project_name']('project_name'.md);
$len = 27;
$checkmb = true;
$tail = "...";
preg_match_all('/[\xEA-\xED][\x80-\xFF](\x80-\xFF.md){2}|./', $str, $match);
$m = $match[0](0.md);
$slen = strlen($str); // length of source string
$tlen = strlen($tail); // length of tail string
$mlen = count($m); // length of matched characters
if ($slen <= $len) $name = $str;
else if (!$checkmb && $mlen <= $len) $name = $str;
else {
$ret = array();
$count = 0;
for ($i=0; $i < $len; $i++) {
$count += ($checkmb && strlen($m[$i]($i.md)) > 1)?2:1;
if ($count + $tlen > $len) break;
$ret[] = $m[$i]($i.md);
}
$name = join('', $ret).$tail;
}
모두 보기
모두 보기라는 링크가 있는데 이상하게 동작하지 않는다. (2.1.3)
2.1.4 에서는 동작하는 듯 하다.
2.1.3 에서 링크를 제거 함으로 해결 하였다.
/module/projects/viewgannt.php (line 224~225)
//echo ("" . $AppUI->_('show this month')
// . " : " . $AppUI->_('show all') . "
");
보고서 및 메뉴얼
참고 문헌
분류: dotProject
PMS