eGroupWare 公司群組管理電子化系統

摘要:eGroupWare 公司群組管理電子化系統

這是一套免費的電子化管理系統,功能很多,可設定項目更是多,這篇只能協助您完成基本的架設。

相關連結:
eGroupWare官網
台灣PHP聯盟討論區--群組軟體--egroupware專區
JpGraph - PHP Graph Creating Library
Graphviz - Graph Visualization Software
OpenFlow-OpenSource Workflow Management System


經過一番努力測試,總算是成功了 ^_^


使用


Apache2Triad 1.5.4 (WinXP SP2)
eGroupWare 1.2RC8 (內建多國語言含繁體中文 UTF8 版本)
JpGraph 2.1.1 (for PHP5 only)

使用專案管理時需要它才能顯示甘特圖


GraphViz Windows 2.8 版

使用工作流程管理時需要它才能顯示流程圖



安裝完 Apache2Triad 修改 php.ini 把


track_errors = On


改成


track_errors = Off


其他需要的修改,請參考

flyup 的 Apache2Triad 架站包

及我的

Apache2Triad 架站包已有 1.5.4 版(2006-02-20)

解壓縮 eGroupWare 1.2RC8 到


\apache2triad\htdocs\egroupware\



解壓縮 JpGraph 2.1.1 到


\apache2triad\htdocs\jpgraph\



安裝 GraphViz,安裝後要重新開機,它預設會把自己加入路徑中。



把附件 class.ganttchart.inc.php 蓋到


\apache2triad\htdocs\egroupware\projectmanager\inc\


目錄下



把附件 jpgraph.php 蓋到


\apache2triad\htdocs\jpgraph\src\


目錄下



開始安裝:


執行 http://localhost/egroupware/setup 進行安裝。


安裝步驟可參考

台灣PHP聯盟討論區 kiang 大大

圖文教學1 圖文教學2

在 Windows 的環境下,唯一需要注意的是,在目錄及路徑名稱的設定,請不要使用 \ 改用 / 例如,工作目錄放在 d:\work\files 目錄下,在設定時,請使用 d:/work/files 這樣可以減少許多問題喔。

有任何問題或使用心得分享,可以到

台灣PHP聯盟討論區--群組軟體--egroupware專區

一起討論。



【註】要注意的是,我的作法是新增一個 Font Family 為 FF_UTF8 並設定它的字型為 新細明體 mingliu.ttc (因為我還是認為簡單的比較好看),同時,把 class.ganttchart.inc.php 需要使用中文的部分字型設為 FF_UTF8,還需要把字型加大,至少要 9 以上顯示才會正常。



【註】附件放在

台灣PHP聯盟討論區--群組軟體--egroupware專區

內。



【註】class.ganttchart.inc.php 修改


#
#-----[ OPEN ]------------------------------------------
#

/egroupware/projectmanager/inc/class.ganttchart.inc.php

#
#-----[ FIND ]------------------------------------------
# line 17

define('TTF_DIR',EGW_SERVER_ROOT.'/projectmanager/inc/ttf-bitstream-vera-1.10/');
 
#
#-----[ MODIFY ]------------------------------------------
#

//<2006-03-30> remarked Using JpGraph TTF_DIR Setting
//define('TTF_DIR',EGW_SERVER_ROOT.'/projectmanager/inc/ttf-bitstream-vera-1.10/');

#
#-----[ FIND ]------------------------------------------
# line 223

		// Change the font scale 
		$graph->scale->week->SetFont(FF_VERA,FS_NORMAL,8);
		$graph->scale->year->SetFont(FF_VERA,FS_BOLD,10);
		
		// Title & subtitle
		$graph->title->Set($title);
		$graph->title->SetFont(FF_VERA,FS_BOLD,12);
		$graph->subtitle->Set($subtitle);
		$graph->subtitle->SetFont(FF_VERA,FS_NORMAL,10);
		
#
#-----[ MODIFY ]------------------------------------------
#

		// Change the font scale 
		$graph->scale->week->SetFont(FF_VERA,FS_NORMAL,8); // <2006-03-30> Keep FF_VERA
		$graph->scale->year->SetFont(FF_VERA,FS_NORMAL,10); // <2006-03-30> Keep FF_VERA, FS_BOLD -> FS_NORMAL
		
		// Title & subtitle
		$graph->title->Set($title);
		$graph->title->SetFont(FF_UTF8,FS_NORMAL,12); // <2006-03-30> FF_VERA -> FF_UTF8, FS_BOLD -> FS_NORMAL
		$graph->subtitle->Set($subtitle);
		$graph->subtitle->SetFont(FF_UTF8,FS_NORMAL,10); // <2006-03-30> FF_VERA -> FF_UTF8

#
#-----[ FIND ]------------------------------------------
# line 265

		$bar->title->SetFont(FF_VERA,FS_BOLD,!$level ? 9 : 8);
		
#
#-----[ MODIFY ]------------------------------------------
#

		$bar->title->SetFont(FF_UTF8,FS_NORMAL,!$level ? 10 : 9); // <2006-03-30> FF_VERA -> FF_UTF8, FS_BOLD -> FS_NORMAL

#
#-----[ FIND ]------------------------------------------
# line 302

			echo "<p>GanttBar($line,'".($level ? str_repeat(' ',$level) : '').
				$GLOBALS['egw']->translation->convert($title,$this->charset,'iso-8859-1').'   '."','".
				date('Y-m-d H:i',$pe['pe_start'])."','".date('Y-m-d H:i',$pe['pe_end'])."','".
				round($pe['pe_completion']).'%'."',0.5)</p>\n";
		
#
#-----[ MODIFY ]------------------------------------------
#

			echo "<p>GanttBar($line,'".($level ? str_repeat(' ',$level) : '').
				// <2006-03-30> remarked no need to convert
				// $GLOBALS['egw']->translation->convert($title,$this->charset,'iso-8859-1').'   '."','".
				$title.'   '."','".
				date('Y-m-d H:i',$pe['pe_start'])."','".date('Y-m-d H:i',$pe['pe_end'])."','".
				round($pe['pe_completion']).'%'."',0.5)</p>\n";

#
#-----[ FIND ]------------------------------------------
# line 312

		$bar =& new GanttBar($line,($level ? str_repeat(' ',$level) : '').
			// the GanttBar title has somehow to be iso-8859-1
			$GLOBALS['egw']->translation->convert($title,$this->charset,'iso-8859-1').
			($level ? '  ' : ''),	// fix for wrong length calculation in JPGraph
			date('Y-m-d'.($this->modernJPGraph ? ' H:i' : ''),$pe['pe_start']),
			date('Y-m-d'.($this->modernJPGraph ? ' H:i' : ''),$pe['pe_end']),
			round($pe['pe_completion']).'%',0.5);
		
#
#-----[ MODIFY ]------------------------------------------
#

		$bar =& new GanttBar($line,($level ? str_repeat(' ',$level) : '').
			// the GanttBar title has somehow to be iso-8859-1
			// <2006-03-30> remarked no need to convert, JpGraph support UTF8
			// $GLOBALS['egw']->translation->convert($title,$this->charset,'iso-8859-1').
			$title.
			($level ? '  ' : ''),	// fix for wrong length calculation in JPGraph
			date('Y-m-d'.($this->modernJPGraph ? ' H:i' : ''),$pe['pe_start']),
			date('Y-m-d'.($this->modernJPGraph ? ' H:i' : ''),$pe['pe_end']),
			round($pe['pe_completion']).'%',0.5);
			
		$bar->title->SetFont(FF_UTF8,FS_NORMAL,10); // <2006-03-30> Set FONT

#
#-----[ FIND ]------------------------------------------
# line 353

		$ms =& new MileStone($line,($level ? str_repeat(' ',$level) : '').
			// the Milestone title has somehow to be iso-8859-1
			$GLOBALS['egw']->translation->convert($milestone['ms_title'],$this->charset,'iso-8859-1'),
			date('Y-m-d',$milestone['ms_date']),
			date($this->prefs['common']['dateformat'],$milestone['ms_date']));
		
		$ms->title->SetFont(FF_VERA,FS_ITALIC,8);

#
#-----[ MODIFY ]------------------------------------------
#

		$ms =& new MileStone($line,($level ? str_repeat(' ',$level) : '').
			// the Milestone title has somehow to be iso-8859-1
			// <2006-03-30> remarked no need to convert, JpGraph support UTF8
			// $GLOBALS['egw']->translation->convert($milestone['ms_title'],$this->charset,'iso-8859-1'),
			$milestone['ms_title'],
			date('Y-m-d',$milestone['ms_date']),
			date($this->prefs['common']['dateformat'],$milestone['ms_date']));
		
		$ms->title->SetFont(FF_UTF8,FS_NORMAL,9); // <2006-03-30> FF_VERA -> FF_UTF8, FS_ITALIC -> FS_NORMAL, 8->9

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


【註】 jpgraph.php 修改


#
#-----[ OPEN ]------------------------------------------
#

/jpgraph/src/jpgraph.php

#
#-----[ FIND ]------------------------------------------
#

// Chinese font
DEFINE("FF_SIMSUN",30);
DEFINE("FF_CHINESE",31);
DEFINE("FF_BIG5",31);
 
#
#-----[ MODIFY ]------------------------------------------
#

// Chinese font
DEFINE("FF_UTF8",29);    // <2006-03-30> add by dllee
DEFINE("FF_SIMSUN",30);
DEFINE("FF_CHINESE",31);
DEFINE("FF_BIG5",31);

#
#-----[ FIND ]------------------------------------------
#

	    FF_ARIAL =>   array(FS_NORMAL=>'arial.ttf',   FS_BOLD=>'arialbd.ttf',   FS_ITALIC=>'ariali.ttf',   FS_BOLDITALIC=>'arialbi.ttf' ) ,
	    FF_VERA =>    array(FS_NORMAL=>'Vera.ttf',   FS_BOLD=>'VeraBd.ttf',   FS_ITALIC=>'VeraIt.ttf',   FS_BOLDITALIC=>'VeraBI.ttf' ),
	    FF_VERAMONO => array(FS_NORMAL=>'VeraMono.ttf', FS_BOLD=>'VeraMoBd.ttf', FS_ITALIC=>'VeraMoIt.ttf', FS_BOLDITALIC=>'VeraMoBI.ttf' ),
	    FF_VERASERIF => array(FS_NORMAL=>'VeraSe.ttf', FS_BOLD=>'VeraSeBd.ttf', FS_ITALIC=>'', FS_BOLDITALIC=>'' ) ,
		
#
#-----[ AFTER, ADD ]------------------------------------------
#

	    FF_UTF8 =>    array(FS_NORMAL=>'mingliu.ttc',   FS_BOLD=>'mingliu.ttc',   FS_ITALIC=>'mingliu.ttc',   FS_BOLDITALIC=>'mingliu.ttc' ), // <2006-03-30>

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM