CMS unter Sqlite Topic is solved
CMS unter Sqlite
Da Adodb (Vollversion) auch einen Treiber für Sqlite hat, habe ich versuchsweise begonnen, die CMS unter Sqlite zu fahren.
Über die Ergebnisse werde ich berichten.
Über die Ergebnisse werde ich berichten.
Re: CMS unter Sqlite
Man müsste also nur die Installationsprozedur anpassen - nicht schlechtPiratos wrote: Da Adodb (Vollversion) auch einen Treiber für Sqlite hat,

Re: CMS unter Sqlite
Das ist es was zu klären wäre.nur die Installationsprozedur anpassen
Die install.php zu ändern ist so ein Klacks. Möglicherweise habe ich dabei noch einen allgemeinen Fehler entdeckt.
Wenn ich ausdrücklich die Option Musterdaten installiere ausschalte wird dennoch der ganze Müll installiert. Und - bei den Inhalten sind welche dabei, die für Sqlite nicht korrekt sind (Bulletmenu Vert 1 col Template)
Ansonsten klappte die Installation problemlos - 125 KB Datenbank bis zur Stelle mit dem defekten Inhalt.
Re: CMS unter Sqlite
Klingt so unbekannt - ich vermute mal, Du testet mit der dailyPiratos wrote: Option Musterdaten installieren

Optimal!Ansonsten klappte die Installation problemlos - 125 KB Datenbank bis zur Stelle mit dem defekten Inhalt.
Re: CMS unter Sqlite
Das ist das was ich meine.Install sample content and templates
Installation klappt soweit, aber offenbar gibt es einige Befehle die für sqlite nicht umgesetzt sind (movenext).
Re: CMS unter Sqlite
Sind diese fehlenden SQLite-Befehle nur für die Installation interessant, oder anders gefragt, könnte man evtl. die Installation anpassen/umschreiben? Oder wird dadurch die komplette Funktionsfähigkeit von CMS beeinträchtigt ?
Last edited by cyberman on Fri Jan 20, 2006 12:59 pm, edited 1 time in total.
Re: CMS unter Sqlite
Also MoveNext wurde ja speziell auch auf mein Betreiben breitflächig in der CMS eingesetzt, da es erhebliche Geschwidnigkeitsvorteile hat.Fatal error: Call to a member function on a non-object in I:\xampp\htdocs\sql\lib\content.functions.php on line 984
MoveNext ist aber einfach zu implementieren , das habe ich z.Z. der Fehler bleibt - kann durchaus andere Ursachen haben.
Werde mal auf PHP 4.4.1 switchen, da aich dem Adodb unter 5.1.1 nicht so recht traue.
Re: CMS unter Sqlite
Also die ersten Fehlermeldungen sind tatsächlich reine Scriptfehler in der CMS Programmierung.
Beispiel:
content.functions.php
Zeile 970
Ist
while (isset($result) && !$result->EOF)
Soll
while ($result && !$result->EOF)
isset greift hier nicht, da natürlilch $result gesetzt ist und zwar auf 0 (false) da hier keine userplugins installiert sind. 0 bedeutet aber, dass es kein Object EOF gibt.
Solche Stellen gibt es mehrfach.
Eigentlich sollte man vorraussetzen dass die core module sauber sind, sind es aber reichlich nicht.
Beispiel:
content.functions.php
Zeile 970
Ist
while (isset($result) && !$result->EOF)
Soll
while ($result && !$result->EOF)
isset greift hier nicht, da natürlilch $result gesetzt ist und zwar auf 0 (false) da hier keine userplugins installiert sind. 0 bedeutet aber, dass es kein Object EOF gibt.
Solche Stellen gibt es mehrfach.
Eigentlich sollte man vorraussetzen dass die core module sauber sind, sind es aber reichlich nicht.
Re: CMS unter Sqlite
Da frag ich mich natürlich, sehen die Core Devs das nicht und wenn ja, warum nicht?
Oder bist Du Neo (Matrix)
?
Oder bist Du Neo (Matrix)

Re: CMS unter Sqlite
Die installieren immer die gesamte Standardinstallation, dann kann das nicht auftreten folglich kann man das nicht sehen.Core Devs das nicht und wenn ja, warum nicht
Aber das isset ist völlig klar - das sollte man wissen.
Re: CMS unter Sqlite
Das ist der Stand der Dinge:
Daraus ist zu entnehmen - Installation läuft, alle Inhalte der Standardinstallation sind drin plus alle Module plus und Plugins (rund 223 KB)
Und nun kommt das aber ....
Seiten werden nicht gefunden (404)
Admin kommt zwar der Login - Schirm , aber offenbar wird Admin nicht gefunden (user oder Passwort falsch).
Das Problem besteht darin das der Adodb Treiber für Sqlite als Parameter übergebene Array die in den Querys so dargestellt werden:
nicht expandiert, d.h. die Fragezeichen bleiben Fragezeichen und somit das Ergebnis einer Abfrage immer ohne Wert.
Code: Select all
$config['dbms'] = 'sqlite';
$config['db_hostname'] = 'i:/xampp/htdocs/sql/cms.sqlite';
$config['db_username'] = 'cms_user';
$config['db_password'] = 'cms_pass';
$config['db_name'] = 'cms';
$config['db_prefix'] = 'cms_';
$config['root_url'] = 'http://localhost/sql';
$config['root_path'] = 'I:\\xampp\\htdocs\\sql';
$config['query_var'] = 'page';
$config['use_bb_code'] = false;
$config['use_smarty_php_tags'] = false;
$config['previews_path'] = 'I:\xampp\htdocs\sql/tmp/cache';
$config['uploads_path'] = 'I:\\xampp\\htdocs\\sql/uploads';
$config['uploads_url'] = 'http://localhost/sql/uploads';
$config['max_upload_size'] = 1000000;
$config['debug'] = false;
$config['assume_mod_rewrite'] = false;
$config['auto_alias_content'] = true;
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';
$config['use_Indite'] = false;
$config['image_uploads_path'] = 'I:\\xampp\\htdocs\\sql/uploads/images';
$config['image_uploads_url'] = 'http://localhost/sql/uploads/images';
$config['default_encoding'] = '';
$config['disable_htmlarea_translation'] = false;
$config['admin_dir'] = 'admin';
$config['persistent_db_conn'] = true;
$config['default_upload_permission'] = '664';
$config['page_extension'] = '.html';
$config['locale'] = '';
$config['admin_encoding'] = 'utf-8';
?>
Und nun kommt das aber ....
Seiten werden nicht gefunden (404)
Admin kommt zwar der Login - Schirm , aber offenbar wird Admin nicht gefunden (user oder Passwort falsch).
Das Problem besteht darin das der Adodb Treiber für Sqlite als Parameter übergebene Array die in den Querys so dargestellt werden:
Code: Select all
SELECT c.content_id, c.content_name, c.content_alias, c.menu_text, c.hierarchy, c.modified_date AS c_date, c.cachable, t.template_id, t.encoding, t.modified_date AS t_date FROM cms_templates t INNER JOIN cms_content c ON c.template_id = t.template_id WHERE (c.content_alias = ? OR c.content_id = ?) AND c.active = 1
Last edited by Piratos on Fri Jan 20, 2006 6:58 pm, edited 1 time in total.
Re: CMS unter Sqlite
Läßt sich der AdoDB-Treiber diesbezüglich modifizieren?
Ist zwar nicht ganz im Sinne des Erfinders, aber ich glaub, damit würdest Du wishy einen großen Wunsch erfüllen
- SQLite steht noch auf seiner Wunschliste.
Ist zwar nicht ganz im Sinne des Erfinders, aber ich glaub, damit würdest Du wishy einen großen Wunsch erfüllen

Re: CMS unter Sqlite
Inzwischen bin ja etwas weiter.
Stand der Dinge ist der dass der original Adodb Sqlite Treiber läuft und zwar ohne Änderungen.
Aber eine Menge SQL Statementes erzeugen SQL Errors weil dort Zeichen enthalten sind, die Sqlite nicht verarbeitet.
Das ist der Hauptgrund , warum da alles noch hakt - was da genau geändert werden müsste - da bin ich noch beim ermitteln.
Stand der Dinge ist der dass der original Adodb Sqlite Treiber läuft und zwar ohne Änderungen.
Aber eine Menge SQL Statementes erzeugen SQL Errors weil dort Zeichen enthalten sind, die Sqlite nicht verarbeitet.
Das ist der Hauptgrund , warum da alles noch hakt - was da genau geändert werden müsste - da bin ich noch beim ermitteln.
Re: CMS unter Sqlite
Das vorläufige Endergebnis
Auch wenn der Treiber von Adodb für Sqlite grundsätzlich funktioniert, gint es allerhand Aufgaben, die von der CMS erledigt werden müssen, bevor man erfolgreich mit Sqlite arbeiten kann.
Beispiel:
müsste vor der Übergabe in die Sqlite - Datenbank bearbeitet werden, so dass er so aussieht:
Das gilt natürlich auch für alle Abfragen und ist der Hauptgrund, warum eine Funktion der CMS so einfach nicht gegeben ist, wenn man die Musterdaten reinzwängt um zu sehen was läuft.
Zum anderen kennt Sqlite nur zwei Typen integer und varchar.
Es ist daher auch angesagt z.B. Datumseintragungen im Format Timestamp zu machen.
Aber es lohnt sich für die Core Developer die Arbeit zu machen, denn z.B. haben alle grossen Hoster Sqlite ab PHP 4.4 im Angebot, diverse Freehoster ebenfalls.
Vorteil ist die einfache Datensicherung (Datenbank einfach kopieren) aber auch die Möglichkeit, das Module ihre eigene Datenbank nutzen und somit der Core CMS nie in die Quere kommen können.
Umgekehrt können Designer einfach Ihre Arbeit von lokal auf den Webserver kopieren und das war's.
Und - Sqlite ist sehr schnell, sehr viel schneller als so manche Mysql Datenbank bei einem Hoster.
Die SQL - Implementierung ist ebenso vollständig wie die von Mysql selbst und es ist nur eine Frage der Zeit, wann diese Datenbank wegen PHP 5 ein obligatorischer Bestandteil auf einem Webserver ist.
Man sollte auch berücksichtigen, dass Sqlite in der Zwisschenzeit bei herkömmlichen Programmierern z.B. für Buchhaltsprogramme und kleine Warenwirtschaftsysteme die angesagte Datenbank ist und von Mysql nicht mehr die Rede ist. (Man kann mit dieser Datenbank wie auch unter Mysql ohne jeglichen Webserver arbeiten und natürlich auch mit herkömmlichen Programmiersprachen).
Auch wenn der Treiber von Adodb für Sqlite grundsätzlich funktioniert, gint es allerhand Aufgaben, die von der CMS erledigt werden müssen, bevor man erfolgreich mit Sqlite arbeiten kann.
Beispiel:
Code: Select all
#menu_vert, #menu_vert ul {"\"r"\"n margin: 0;"\"r"\"n
Code: Select all
#menu_vert, #menu_vert ul {\"\\\"r\"\\\"n margin: 0;\"\\\"r\"\\"n
Zum anderen kennt Sqlite nur zwei Typen integer und varchar.
Es ist daher auch angesagt z.B. Datumseintragungen im Format Timestamp zu machen.
Aber es lohnt sich für die Core Developer die Arbeit zu machen, denn z.B. haben alle grossen Hoster Sqlite ab PHP 4.4 im Angebot, diverse Freehoster ebenfalls.
Vorteil ist die einfache Datensicherung (Datenbank einfach kopieren) aber auch die Möglichkeit, das Module ihre eigene Datenbank nutzen und somit der Core CMS nie in die Quere kommen können.
Umgekehrt können Designer einfach Ihre Arbeit von lokal auf den Webserver kopieren und das war's.
Und - Sqlite ist sehr schnell, sehr viel schneller als so manche Mysql Datenbank bei einem Hoster.
Die SQL - Implementierung ist ebenso vollständig wie die von Mysql selbst und es ist nur eine Frage der Zeit, wann diese Datenbank wegen PHP 5 ein obligatorischer Bestandteil auf einem Webserver ist.
Man sollte auch berücksichtigen, dass Sqlite in der Zwisschenzeit bei herkömmlichen Programmierern z.B. für Buchhaltsprogramme und kleine Warenwirtschaftsysteme die angesagte Datenbank ist und von Mysql nicht mehr die Rede ist. (Man kann mit dieser Datenbank wie auch unter Mysql ohne jeglichen Webserver arbeiten und natürlich auch mit herkömmlichen Programmiersprachen).
Re: CMS unter Sqlite
Sqlite lohnt sich wirklich
Hier einmal die Anzeige aus meiner Testumgebung mit exakt dem gleichen Inhalt, Template und Menüaufbau
aus der OneMenShow
Generated in 0.005554 seconds by Piratos - OneMenShow - Website
und hier CMSMadeSimple
Generated in 0.616326 seconds by CMS Made Simple 0.11.2
Wenn man bei CMSMS daran arbeiten würde glaube ich schon an eine enorme Geschwindigkeitserhöhung.
Natürlich hinkt der Vergleich hier ein wenig, da der Aufbau völlig anders ist - aber es geht um die Tendenz.
Hier einmal die Anzeige aus meiner Testumgebung mit exakt dem gleichen Inhalt, Template und Menüaufbau
aus der OneMenShow
Generated in 0.005554 seconds by Piratos - OneMenShow - Website
und hier CMSMadeSimple
Generated in 0.616326 seconds by CMS Made Simple 0.11.2
Wenn man bei CMSMS daran arbeiten würde glaube ich schon an eine enorme Geschwindigkeitserhöhung.
Natürlich hinkt der Vergleich hier ein wenig, da der Aufbau völlig anders ist - aber es geht um die Tendenz.