| |
I am installing Tikiwiki on Oracle 9i Release 2. Most of this stuff should work with older versions of Oracle including 8.1.7. I took a snapshot of the CVS on Jan 19, 2004 (~09:10 PST). I finally got it working after making changes to SQL scripts and some PHP files. Still, I get some ORA error once in a while. It's working partially. I have a modified create script tiki-1.8-oci8-create.sql to create the schema. Should you get any error in your log, when you run this script, either you or I have made a mistake. Long table names
tiki_live_support_message_comments
Due to tiki_content_templates_sections tiki-admin_html_pages.php and other related pages would not work. You can fix the page by changing the table name if you need it. I didn't investigate the impact of tiki_live_support_message_comments table but I am reasonably certain that it will not work either.
Notes on Changes Made to SQL Script
tiki_live_support_message_comments table is name is changed to tiki_live_supp_msg_commnts tiki_content_templates_sections table is name is changed to tiki_content_templates_sections All the DROP TABLE statements are deleted All instances of CREATE TRIGGER is changed to CREATE OR REPLACE TRIGGER All CREATE INDEX on clob types are commented out with The type of "source" in "tiki_language" and "tiki_untranslated" tables definition is changed to "raw(255) NOT NULL" from "blob NOT NULL". RAW type in Oracle is compatible with BLOB and it can to used in a primary key. Use URL_RAW.CAST_TO_RAW(VARCHAR2) to insert text into RAW type. Following Insert statements are fixed such that they complete normally. The first three inserts text into BLOB type. The fourth one uses '' to insert ' char into the database.
INSERT INTO tiki_integrator_rules VALUES ('2','1','2',utl_raw.CAST_TO_RAW('img src=("|'')(?!http://)'),utl_raw.CAST_TO_RAW('img src=1{path}/'),'y','n','i','y','Fix images path'); INSERT INTO tiki_integrator_rules VALUES
INSERT INTO tiki_quicktags (taglabel,taginsert,tagicon) VALUES ('italic','''''text''''','images/ed_format_italic.gif'); Drop Schema Objects
You could use drop user tikischema cascade to drop the entire schema. If you don't have DBA privileges. Then you can run tiki-1.8-oci8-drop.sql script to drop the schema objects. Again, you should not get any error in your log. If you get either you are in error. PHP Files Changes:
Known issues
I will post any errors I encounter beyond this patch here. Search (using search_new) doesn't work. Always returns zero hits. Attach files in Wiki pages doesn't work.
Uploading files to File gallery fails with similar error.
PDF Generation of Pages Fails
Warning: Cannot modify header information - headers already sent by (output started at wiki\lib\htmlparser\htmlparser.inc:393) in wiki\lib\pdflib\class.pdf.php on line 1916 Warning: Cannot modify header information - headers already sent by (output started at wiki\lib\htmlparser\htmlparser.inc:393) in wiki\lib\pdflib\class.pdf.php on line 1917 Warning: Cannot modify header information - headers already sent by (output started at wiki\lib\htmlparser\htmlparser.inc:393) in wiki\lib\pdflib\class.pdf.php on line 1919
Suggested Changes
value field in tiki_tracker_item_fields table could be changed to VARCHAR2(4000) since it appears in the where clause of some queries. It's fixed such that Preferences work. I have implemented a hack by using to_char(CLOB) in the patch. In certain quries inside Workflow lib PHPs, I ran into ORA-00918: column ambiguously defined in query. It was an interesting problem to fix since I didn't get the same error when I ran the queries using SQLPlus. After a while, I figured out the subtle reason well articulated in at this page. I renamed the duplicate variables with 'varname_' and the error was gone. I can't explain why there is no error when SQLPlus was used. It could be the difference between OCI used by PHP and SQLPlus. tiki-webmail.php tries to insert "yes" "no" string into "tiki_user_mail_accounts" which is CHAR(1) ERROR: ORA-01401: inserted value too large for column. I expect this to be a generic problem. Perhaps the following files needs to be changed.
In wiki/lib/userfiles/userfileslib.php
wiki/lib/usermenu/usermenulib.php inside get_max_position($user) function
wiki/lib/wiki/wikilib.php inside wiki_attach_file function
| |