2009年5月15日金曜日

SQLServerDriver for PHP

PHP用の SQL Server ドライバは何種類かあるが、 Code Conversion 機能があるものはない(?)ようであるが、この確認にあたり、環境により接続できたり 、出来なかったり苦労したため、再度無駄な時間を費やさないための記録。
extension=php_sqlsrv.dll
extension=php_sqlsrv_ts.dll
extension=php_mssql.dll
extension=php_dblib.dll
接続 / Connect
  • php_mssql.dll ** では ntwdblib.dll のバージョンが古いと接続できない (バージョン 2000.80.194.0 は OK, 2000.80.0 は NG) という不具合があるので注意。
  • また、デフォルトの Windows認証 モードでは SQL Server認証によるログインはでない。
    (SQL Server Management Studio でサーバのプロパティ(セキュリティ)を変更)
  • そして SQL Server構成マネージャにて TCP/IP も有効にしておく必要がある。

文字コード変換 / Code Conversion

  • php_sqlsrv.dll ( php_sqlsrv_ts.dll  この dll はThread Safe版についてはファイル名を変えているが、同じファイル名のまま thread と no thread のものがあるので注意) は Vesion1.1 にて UTF-8 ハンドリング対応予定であるが、April 2009 Cumulative Update のバージョンは 1.0 の状態であり、 1.1 が待たれる。

  • php_dblib.dll (Free TDS)を利用することで SugarCRM *1 や moodle *2では SQL Server を UTF-8 で使用する説明がされている。 しかし、どうやら Windows ではうまく接続ができない。

    - 参考 -
Re: FastStack Windows Installer for 5.2.0c with SQL Server: Is FreeTDS necessary or not
Free TDS is necessary when installing SugarCRM in a Linux/Unix Machine and MS SQL in a Windows Machine.
Actually Free TDS is a connector for MSSQL in Linux.
So you do not need Free TDS in a WAMP stack.
---
Yes, your problem is due data conversion between MySQL and SQL Server.
The current version of SQL Server does not support Unicode charset, so you need to dump the mysql database, convert the file from Unicode to Iso-8859-1 and import it into SQL Server.

@odbc_connect

Driver

ODBC driver to use:
{SQL Server} – Legacy SQL Server driver
{SQL Native Client}SQL 2005 Native Client
{SQL Server Native Client 10.0}SQL 2008 Native Client

PHP.ini

php_mssql.dll にてWindows認証を利用する場合 On

; Use NT authentication when connecting to the server
mssql.secure_connection = Off
;mssql.secure_connection = On
Linux などで FreeTDS(php_dblib.dll ?) を利用して Code Conversion する場合に設定

; Specify client character set.
; If empty or not set the client charset from freetds.comf is used
; This is only used when compiled with FreeTDS
mssql.charset = "ISO-8859-1"
;mssql.charset = "utf-8"

Test Script


C:\>sqlcmd -U test -P test -S TEST\SQLEXPRESS

utf-8 / Shift-JIS

$dbhost = 'test\SQLEXPRESS' ;
$dbuser = 'test' ;
$dbpassword = 'test' ;
$dbname = 'test';
$query = "SELECT name FROM test.dbo.accounts";

// php_mssql.dll http://www.mmdb.net/m_kaneko/php/mssql.htm
$db = mssql_connect($dbhost, $dbuser, $dbpassword);
$res = mssql_query($query,$db);
while($row = mssql_fetch_array($res)){
echo $row['name']."
" ;
}
mssql_free_result($res);
mssql_close();

// http://www.agtech.co.jp/html/v8manuals/linux/linuxcon6.html
$db = @odbc_connect("Driver={SQL Server Native Client 10.0};Server=$dbhost;Database=$dbname;", $dbuser, $dbpassword);
$result = odbc_exec($db, $query);
$i = 0 ;
$numcols = odbc_num_fields($result);
while(odbc_fetch_row($result))
{
while ($i < $numcols)
{
$i++;
$row = odbc_result($result, $i);
echo $row . "
" ;
}
$i = 0;
}
odbc_close($db);
?>


*1 SugarCRM は SQL Sever対応しているが nvarcharタイプを使用していないことから、 Free TDS を利用してコード変換、あるいは php_sqlsrv.dll が UTF-8ハンドリング対応したとしても列の属性変更が必要と思われる。
 関連 SQL Serverを使う場合はUCS-2への変換が必要

*2 SQL Server 2000 だと接続できるか(?)

SQL Server 2008 Express に IIS7+FasdtCGI で mssql_connect(php_mssql.dll) するときは ntwdblib.dll は不要

2009年4月15日水曜日

Rails on IIS7 + FastCGI

Ruby on Rails on IIS7 + FastCgi

Windows 2008 Server Web Editoin x86 の IIS7 の FastCgi を利用し、Ruby on Rails 2.2.2/2.3.2 を動かす。
IIS7 での Rails はリンク切れの情報が多いが、以下の最近(2009/03)の回答から
 http://forums.iis.net/t/1156239.aspx
すると、 IIS7 でも問題なく稼動していると考えられる。

当初 Error 500 にて動作しなかったのは、log ファイルなどへの書き込み権限が不足していたのが原因であった。

しかし、実際に稼動させることができたが、他の PHP アプリケーションと同じサイトでそのまま稼動させることはできないことに気がついた。

Root / 以下の URL が Rails の管理下になるため、 このサイトに仮想ディレクトリを作成した他の PHP などアプリケーションなどの利用はできない。 ( router.rb により対応可能か(?) )



1. 仮想ディレクトリでの対応でなく、サイトを追加により対応する。





2. 以下の資料を参考に作業をすすめる

10 steps to get Ruby on Rails running on Windows with IIS FastCGI
http://mvolo.com/blogs/serverside/archive/2007/02/18/10-steps-to-get-Ruby-on-Rails-running-on-Windows-with-IIS-FastCGI.aspx

上記の資料は IIS6 の環境の例であるため、 IIS7固有の部分の以下の示す。









3. RubyforIIS についてはここより取得

Where is RubyforIIS (rubyforiis.sosukodo.org) has disappeared!
http://forums.iis.net/p/1154234/1889560.aspx#1889560


4. URL Rewiter を設定

Ruby on Rails in IIS 7.0 with URL Rewriter
http://blogs.iis.net/ruslany/archive/2008/08/07/ruby-on-rails-in-iis-7-0-with-url-rewriter.aspx



・ c:/InstantRails/rails_apps/myapp/publick/web.config


<?xml version="1.0" encoding="UTF-8"?>


<configuration>


<system.webServer>


<handlers>


<add name="ROR" path="dispatch.fcgi" verb="*" modules="FastCgiModule" scriptProcessor="C:\ruby\bin\ruby.exe|C:\InstantRails\rails_apps\myapp\public\dispatch.fcgi development" resourceType="Unspecified" requireAccess="Script" />


</handlers>


<rewrite>


<rules>


<rule name="Imported Rule 1">


<match url="^$" ignoreCase="false" />


<action type="Rewrite" url="index.html" appendQueryString="true" />


</rule>


<rule name="Imported Rule 2">


<match url="^([^.]+)$" ignoreCase="false" />


<action type="Rewrite" url="{R:1}.html" appendQueryString="true" />


</rule>


<rule name="Imported Rule 3" stopProcessing="true">


<match url="^(.*)$" ignoreCase="false" />


<conditions logicalGrouping="MatchAll">


<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />


</conditions>


<action type="Rewrite" url="dispatch.fcgi" appendQueryString="true" />


</rule>


</rules>


</rewrite>


</system.webServer>


</configuration>




5. 組み合わせにより動作しない

msvcrt-ruby18.dllがAPPCRASHとなる
http://home-mg.que.ne.jp/20080216.html
今回の稼動環境
Ruby version 1.8.6 (i386-mswin32)
RubyGems version 1.3.1
Rails version 2.2.2
Active Record version 2.2.2
Action Pack version 2.2.2
Active Resource version 2.2.2
Action Mailer version 2.2.2
Active Support version 2.2.2

6. 権限が不足している場合、500 エラーとなる

http://forums.iis.net/t/1156239.aspx

その他

以上

2009年3月2日月曜日

Windows Azure

Windows Azure SDK のデモプログラムを動かしてみる
  http://www.microsoft.com/azure/register.mspx

Windows Web Server 2008 の本環境ではすでに IIS7 は稼動しているが、
Azure SDK のためには SQL Server が必要となる。

 SQL Server Express 2008 のインストールには Installer のインストールが
 必要だが、これのインストールがメモリ不足のため実行できなかったため、
   SQL Server Express 2005 をインストールした。  

SQL Server Express 2008 with Tools をインストール。
( Windows Web Server 2008 には Windows Installer 4.5 の追加インストールは不要 ) 

その後、 Azure SDK や SQL Data Service SDK や
 Visual Web Develper 2008 Express Editon をインストールした。
 
 結果、現在は SQL Server は 2008 のバージョンとなっている。

 以下は Azure SDK 添付の sample.zip の中の Thumbnails のデモアプリを
 実行時のものである

  SQL Server が Development Storage のベースとして利用されている
  Development Storage が Azure のストレージ





SQL Server が起動していない場合、以下のようなエラーとなる。


This buffer is for notes you don't want to save, and for Lisp evaluation.
If you want to create a file, visit that file with C-x C-f,
then enter the text in that file's own buffer.
'/' アプリケーションでサーバー エラーが発生しました。

The Windows Azure storage services cannot be contacted via the current account
configuration or the local development storage tool is not running. Please start the
development storage tool if you run the service locally!

説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳
および例外の発生場所については、スタック トレースを参照してください。

例外の詳細: System.Net.WebException: The Windows Azure storage services cannot be contacted via the current account configuration or the local development storage tool is not running. Please start the development storage tool if you run the service locally!


ソース エラー:


[関連したソースの行はありません]

ソース ファイル: Default.aspx.cs 行: 47

スタック トレース:

[WebException: The Windows Azure storage services cannot be contacted via the current account configuration or the local development storage tool is not running. Please start the development storage tool if you run the service locally!]

Microsoft.Samples.ServiceHosting.Thumbnails._Default.CreateOnceContainerAndQueue()
in Default.aspx.cs:47

Microsoft.Samples.ServiceHosting.Thumbnails._Default.GetPhotoGalleryContainer()
in Default.aspx.cs:58 Microsoft.Samples.ServiceHosting.Thumbnails._Default.Page_PreRender(Object sender, EventArgs e) in Default.aspx.cs:87 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnPreRender(EventArgs e) +8682870
System.Web.UI.Control.PreRenderRecursiveInternal() +80
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842


Sugar Portal for Joomla

http://www.sugarforge.org/frs/?group_id=474

Joomla の画面から SugarCRM のケース情報を登録できるようにすることができるツール

To allow joomla users to create and manage their Sugar cases from within joomla

しかし、
sugarCommnication.php の中で PHP の SoapClient を使用しているが、これに不具合があり
(Content-Length in HTTP header from PHP SOAP wrong)  この部分を厳密にチェックし
ている IIS7 だけがこの影響を受けて、動作しない。

Bug #43991 Content-Length in HTTP header from PHP SOAP wrong

インストール手順

http://dl.sugarforge.org/sugar-joomla/sugar-joomla/Joomla1.0.13-Sugar4.5.1Compatible/install.txt

Configure Sugar:

1. Activate the portal in Sugar in Admin->System Configuration by checking the
  Enable self-service portal integration? box.

カスタマーセルフサービスポータル セルフサービスポータル統合を有効
ケース、ノート、その他のデータを外部のセルフサービスポータルで操作できるようにします。

2. Create the portal user in Admin->User Management->Create User.
Give the portal user a username/password. Username is generally something like 'portal'.
Check the "Portal Only User" check box and Save.

  SugarCRM 側でポータル専用のユーザーを作成

3. joomla 側にモジュールをインストールし設定

Install コンポーネント: 成功

Joomla Case portal that interoperates with SugarSuite

Sugar Case Self-Service Portal for Joomla Sugar Case Self-Service Portal Configuration

It appears that you already have a configuration table for the Sugar Self-Service Portal for Joomla.
Normally that means this is the second or third component you're installing as part of the Portal.
If, however, this is because of a previous version/installation of the Sugar Self-Service Portal for
Joomla that has not been used/installed for some time,
there might be compatibility problems if this table is different than the table I need.

4. メニュー画面から SugarCase というメニュータイプが作成されているので、
  このタイプを選択してメニューを作成

5. Joomla のログインして、作成したメニューを選択し、 SugarCRM のデータを登録する

エラー詳細

http://iis.museum-in-cloud.com/joomla/administrator/index2.php?option=com_sugarcases

Connection Error
error in msg parsing: XML error parsing SOAP payload on line 1: Empty document
Clienterror in msg parsing: XML error parsing SOAP payload on line 1: Empty documentRequest :

(Content-Length in HTTP header from PHP SOAP wrong)  この部分を厳密にチェックし
ている IIS7 だけがこの影響を受けて、動作しない。

$this->sugarClient = new SoapClient($configDir, array(
'soap_version' => SOAP_1_1 //SOAP_1_2 - 1.2 not supported by sugar nusoap

$result = $this->sugarClient->__soapCall('portal_login',
array(
'portal_auth'=>$this->sugarAuth,
'user_name'=>$this->portal_user,
'application_name'=>$this->appName
)
);


2009年2月21日土曜日

SugarCRM

Install Maniax2008 CRM/HelpDesk
 
 
1. SugarCE 5.0.0h Japanese Full Pack - 2008-11-03 22:32をダウンロード
 
2. 仮想ディレクトリ追加
c:/apps/SugarCE-Full-5.0.0h-Ja -> /sugarcrm
 
3. http://iis.museum-in-cloud.com/sugarcrm/install.php 開始
 

通常インストール を選択
データベース設定の ホスト名は localhost
IMAPモジュール
見つかりません: インバウンド電子メールとキャンペーン電子メールを利用するためにはIMAPライブラリが必要です。この2つは動作しません。
アップロードファイルサイズ
警告: PHPの設定を、最低でも20MBのファイルのアップロードを許可するように変更する必要があります
備考: PHP設定ファイル (php.ini) は以下の場所にあります:C:\php\php.ini
Sugar設定ファイルを作成しています (config.php)
failed
config.phpファイルに書き込みできません。
以下に表示されている設定情報を記述したconfig.phpを手動で作成することでインストールを続行できますが、次のステップに進む前にconfig.phpを作成する必要があります
.htaccess ファイルに書き込みできません。
ログファイルをブラウザからのアクセスからセキュアな状態にしたい場合は、以下のコードを記述した .htaccessファイルをログディレクトリ内に作成してください:
# BEGIN SUGARCRM RESTRICTIONS RedirectMatch /sugarcrm/sugarcrm.log.* http://iis.museum-in-
 ・・・
 ・・・ 
SugarCRMアプリケーションのテーブル、監査テーブル、関連メタテーブルを作成しています。

データベースの作成中 localhost 上に sugarcrm ...完了
...............................................

デフォルトのSugarデータを作成しています

デフォルトのユーザを作成しています... 完了
デフォルトのスケジューラーを作成しています... 完了

Sugar 5.0.0h のインストールが完了しました。
実行時間: 3.985668 秒
メモリ使用: 約20273992バイト

 

4. 画面表示された内容を c:/apps/config.php に記述し、以下のエラー対応のため / を Y に変更

エラー対応

Parse error: parse error, expecting `')'' in C:\apps\SugarCE-Full-5.0.0h-Ja\config.php on line 111
'JPY' =>
array (
'name' => 'Japanese Yen',
'iso4217' => 'JPY',
'symbol' => 'Y',
),
Parse error: parse error, expecting `')'' in C:\apps\SugarCE-Full-5.0.0h-Ja\config.php on line 146
'default_currency_symbol' => 'Y',

5. h -> i へのアップグレード

http://sugarforum.jp/wiki/SugarCRMのアップグレード
アップグレードならびに日本語パッチの適用は、管理メニューのアップグレードウィザードから、言語パックの適用はモジュールローダーを使用します。 
 
インターネットゲストユーザーに書き込み権限を付与してみても以下のエラーのため
処理がすすまず。
不正なパーミッションを持つファイルの表示
オーナーが特定できません。
グループが特定できません。  

php.ini は upload_max_filesize = 6M に変更し、 IIS再起動。

http://sugarforum.jp/wiki/Sugar_5.0_インストール 
IUSR_computerName (Windows/IIS)

インターネットゲストユーザーではエラーは解除できず、 II_USERS あるいは Everyone に
権限を付与し、エラーを解除 。

6.  管理: Sugarアップデートの設定 

アップデート自動チェックを解除 

以上

 

関連 

- http://sugarforum.jp/ 

 


 

Support Logic

Install Maniax2008 CRM/HelpDesk

 


アクセス :  http://iis.museum-in-cloud.com/SupportLogic/
 
 
1.   Support Logic  / support-logic.com とういドメインは 2009/01/10 現在、売りにだされているが、
http://www.apsstandard.com/app/id,102 よりファイル SupportLogic-1.2-31.app.zip をダウンロード
 
2.     仮想ディレクトリを追加 
 
  c:/SupportLogic-1.2-31.app/htdoc --> /SupportLogic
 
3.     Reame によれば install.php ファイルが存在していたはずだが、今回入手したものには含まれず
    手動で config.php を編集して起動。
 
 
4.     admin テーブルに md5 で保存されているパスワードを直接入力してログインを試みるも
    session 情報がエラーのため正しく取れないため、この程度の対応では無理だった。 
 
cygiwn$ echo -n 'admin' | md5sum
21232f297a57a5a743894a0e4a801fc3 *
  
以上
 
 
* 参考
 
 
-- htdiocs/readme
 
Support Logic Helpdesk 1.1
**************************

REQUIREMENTS:
-------------
general:
- linux OS
- apache webserver
- php 4.1.x
- MySQL

file upload:
- access to webserver /tmp directory
- safe_mode Off

email pipe:
- being able to setup an email pipe/forwarder for your domain


INSTALL:
--------
pre-install steps:
- extract the archive to your desired directory via:
 tar -zxfv slogic1.0.tar.gz or download to your machine and extract locally 
 before uploading via FTP if you prefer
- create a MySQL database and add a MySQL user to it
- make the "config.php" file writeable by the webserver, e.g.: chmod 666 or 777
install:
- access "install.php" through your browser and follow the steps
- if you receive any kind of error afterwards, check you have followed the 
 pre-install steps above correctly!
post-install steps:
- delete "install.php"
- delete all "update*.php" files, unless you need to update the helpdesk - refer to "UPDATE"
- change "config.php" back from being writeable, e.g.: chmod 644
- login to admin.php 
- create at least 2 staff members (to avoid errors - you will get an error 
if you only create 1)! 
- create a user (useful to test the user part of the script) 
- change the preset categories 
- change the preset priorities 
- change the preset email & pipe messages
- send some test user tickets and add some staff responses to get used to 
how the script works
- use your new helpdesk with your clients! 


TESTING:
--------
- access admin.php for the admin frontend
- access staff.php for the staff frontend
- access index.php for the user frontend

if none of the above show any kind of errors, then the install went successfully 
and you can start using the helpdesk.


UPDATE:
-------
If you have version 1.0,1.1 or 1.1.1 installed then you can run one of the available update*_1.2.php scripts in order to keep your database data.

Make sure to create a backup file of your MySQL database before running the update script, in order to avoid any data loss in case
the update fails.


NEW FEATURES: (see CHANGELOG for version changes - fixed & added features)
------------
improved email pipe 
- support for multiple email addresses, which can be assigned to ticket categories in admin area -> Categories
- improved email client support for plain text & HTML only emails 
- added attachment support for most common attachment types 
- default email pipe priority can be changed in the admin area -> Config
- max email limit on a per user & per day basis can be set in the admin area in order to avoid email floods -> Config

self-defineable placeholders 
- you can assign a placeholder for announcements-, tickets- and the notes content (e.g.: add your own smilies and assign placeholders for them) 
 EXAMPLE: access the admin section and click on "Placeholders" in "Ticket Menu". Now add ":D" (without the "") in the "placeholder"
  field and add "<img src="http://www.support-logic.com/demo/smilies/biggrin.gif">" (without the framing "") in the
  "Replacement String" field.
  Now every ":D" in every announcements-, ticket- and notes content will be replaced with the image.

staff signature 
- staff members can create a signature, which gets displayed at the end of each ticket note -> Edit Profile

predefined responses 
- staff members can save predefined responses, which can be selected to be used instead of a self-written note -> Quick replies 

change priority 
- users are now able to change the priority of a ticket at any time on the "Show Ticket content" page

HTML Tags support 
- admin can define HTML tags, which are allowed in the announcements-, tickets- and notes content -> Config

Template system 
The template system now uses the new header & footer style by default, so older template files are incompatible with the default install.
You can change the used template system during the install process or by changing it in the admin section -> Config
- new design for all areas (admin, staff & user) 
- added several colour schemes to choose from (see downloads section at http://www.support-logic.com for additional colour schemes)
- added header & footer support 
 the header & footer files can be found in 
  modules/admin/slogic/templates/functions/slogic_header.tpl
  modules/admin/slogic/templates/functions/slogic_footer.tpl
 
  modules/staff/slogic/templates/functions/slogic_header.tpl
  modules/staff/slogic/templates/functions/slogic_footer.tpl
 
  modules/users/slogic/templates/functions/slogic_header.tpl
  modules/users/slogic/templates/functions/slogic_footer.tpl
 
- the design can now be changed through 1 CSS file per area, which is located in
modules/admin/slogic/templates/stylesheet.css
modules/staff/slogic/templates/stylesheet.css
modules/users/slogic/templates/stylesheet.css

CONTACT:
--------
Feel free to contact me directly by email hendrik@support-logic.com or visit 
www.support-logic.com to post about bugs, feature requests, new modules etc ...

Feel free to email marie@support-logic.com for help with and advice on editing 
the headers and footers and/or stylesheets.

Please submit your site via "Web Links" -> "Add Link" at www.support-logic.com
and I will add your site.

... Hendrik Daldrup 
 
 
*  日本でも利用しているサイト    
 

PHP Support Tickets

Install Maniax2008 CRM/HelpDesk

 
http://www.phpsupporttickets.com/get/downloads/ 

 
 
 
 

インストール手順
 
1. サイトからダウロードしたファイルを c:/apps/phpst_2.2 に展開、
  
2. 仮想ディレクトリの追加
 
c:/apps/phpst_2.2 --> /phpst 
 
 
3.  c:/apps/phpst/include/config.inc.php fileに変更権限を付与。 *アプリケーション共通設定参照
 
4. セットアップ開始
 
*  指定した Database が存在しない場合、create database してくれるが、
    MySQL 5.1 では my.ini の以下の行をコメントアウトしないとエラーとなる。
 
 #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

  
 
 
 
 
 
 
  -----------------------------------------------------------------------------------------------------------------------------------   
Congratulations! PHP Support Tickets has been successfully installed and configured
[User Front End]
Triangle Solutions Ltd | PHP Support Tickets 2.2
  -----------------------------------------------------------------------------------------------------------------------------------
 
 以上
 

 
 
* トラブル対応 
 
Error: BLOB/TEXT column 'file' can't have a default value
    MySQL 5.1 では my.ini の以下の行をコメントアウトしないとエラーとなる。
 
   #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
 
Previous Install Detected - Please delete the previous installation or rename to an obsolete folder.
c:/apps/phpst/config.inc.php を削除 
 
* その他
 
Database tickets Created
Create Database 機能あり。 
 
 
Script Location の内容は config.inc.php にて編集可能。 
 
define('PHPST_PATH', 'c:/apps/phpst/');
define('BASE_URL', 'http://iis.museu-in-cloud.com/phpst/'); 
 
* ブラウザが Google Chrome でないと正しい動作とならない。 
* このアプリケーションには更新プログラム (KB954946)の適用が必須。  
 
 
* 参考
 
 
/phpst/document/Install.txt 
 
Install (PHPST v2.2)
----------------------------------------------------------------------------

Contents
----------------------------------------------------------------------------
A) To install PHP Support Tickets
B) Upgrade a previous version
C) Using the File Upload
D) Additional Notes relevant to version 2.2

A) To install PHP Support Tickets
----------------------------------------------------------------------------
01. Copy all files to a sub directory within your web site.
02. Run the file install/index.php and fill up the form correctly
03. Make sure you add the appropriate security to the config.inc.php file. Chmod etc.
04. Styles may be modified by editing /css/style.css and /css/style_global.css.
05. Aspects of the graphical interface can be modified by editing the files found
    under /classes/GUI

B) Upgrade a previous version
----------------------------------------------------------------------------
1. In the /sql folder you will find a migration script for 1.9 to 2.2. This was
   needed because of the large differences between the 2 database layouts. For
   migrations between further versions, the tables are essentially the same,
   except for table names, so we except the change won't be difficult to make
   by hand. If you are having troubles, let us know and we will write a new
   script for these migrations. Tnis latest version of the script is yet
   untested. You are welcome to give us some feedback on it, should you need it

C) Using the File Upload
----------------------------------------------------------------------------
NOTE : In version 2, all file upload path and filetype information are stored in
root/classes/static/static.FormHandler.php.

1. This can be quite complicated to set up and may involve you having to
check your PHP.ini file.
2. Firstly in the config make sure that ALLOWATTACHMENTS is set to TRUE.
This will place the form on the User and Admin side underneath the
response box, and also allow the verification of the upload.
3. Set the MAXFILE size this has to be in BYTES - here I would also check
your PHP.ini file to make sure that firstly you allow file uploads and
secondly make sure that the Max File Size is set high enough for your
desires. I wouldnt allow people to upload files too big though! also
check that your TMP UPLOAD folder is set.
4. Next you must set the paths to your upload folder. The first UPLOADPATH
must be the absolute path on the server i.e. C:/wwwroot/etc... This
folder also must be writable by your webusers, otherwise I cannot dump
the files into that. The RELATIVEPATH is used to download the items and
must point to the upload folder on the web side i.e.
http://www.yourdomain.com/etc....
5. File types; the first array houses some common MIME file types and one
extension for each. This is important that you dont list all the common
extensions as this is how I name the file.
6. ALLOWEDTYPES indicates what files types you would like the customers to
upload. Simply copy the MIME type into the string, making sure you
enclose it with quotes and they are correctly coma seperated. Scan the
internet for MIME types that you want to include.

D) Additional Notes relevant to version 2.2

ABOUT CREATING USERS:

Self-registration is on by default, but only at the Client level. Only Admins
can create Moderators and Admins, but they can also create regular client users.

There is no more Admin subfolder, the user's privileges are detected during the login
procedure, and the GUI is updated accordingly, offering different menus for the
different admin levels.

I hope the above is all clear if you have any problems understanding anything
then please email me at iwarner@triangle-solutions.com, but make sure you have
donated first if you want support! 
 
 
* free 版について
 
The Free downloads are older versions that may contain bugs (many of the fixes are documented in our forum), and certainly will not have the full feature list. However we recommend downloading and installing the lastest free version to get the hang of the application before purchasing