Man schaue sich mal dieses Artikel an und setzte es geistig auf Webverhältnisse um.
Cmsmadesimple ist ein typisches Beispiel dafür was ich meine.
Man ersetze den Begriff Roboter durch Module und man hat es schon.
Für jeden Müll ein Modul, Module die sich teils gegenseitig benötigen, ein Haufen Parameter und Einstellungen sind zu lernen, Templates sind anzupassen usw. .
So weit so gut.
Kommt dann aber auch nur eine einzige Abweichung auf Grund eines Kundenwunsches der nicht über Parameter einstellbar wäre ist der Ofen bereits aus.
Wird ein Modul nicht mehr gewartet und ist dann nicht mehr lauffähig dann ist es eine Katastrophe.
So ähnlich ist es aber auch bei anderen Titeln.
Um Parameter und Einstellungen abarbeiten zu können sind Module zwangsweise relativ groß, verbrauchen viel RAM und sind in der Reaktion schwerfällig.
Hinzu kommt, das der generelle Einschub immer aktiv sein muss, egal ob die Seite nun ein Modul benötigt oder nicht.
Das Problem ist zweigleisig.
Zum einen schleppt ein Titel wie Cmsmadesimple immer unnötigen Ballast mit sich herum und zum anderen sind eine Vielzahl von sogenannten Webdesignern nicht in der Lage den kleinsten Kleinkram zu programmieren.
Das liegt zum einen an dem grundsätzlichen Unvermögen zum anderen aber auch daran das Cmsms alles verbaut und vernagelt hat was eine kleine Erweiterung möglich macht.
Man hat also einen Haufen Roboter (Module) kann aber individuelle Eigenschaften nur begrenzt und ganz spezielle Dinge nur mit gigantischem Aufwand realisieren (wenn man denn überhaupt PHP kann).
Dabei würde eine Einbindung von "meininclude.php" an der richtigen Stelle in der index.php und, wenn benötigt, ein "meinadmininclude.php" im Adminbereich das sofort erledigen.
Dazu müsste man natürlich a. die Einschubstelle definieren b. aufzeigen was bis dahin alles schon abgearbeitet ist und c. was man zu berücksichtigen hat.
Denkanstöße die bei meinen eigenen Titeln zum Erfolg geführt haben - bei Cmsms wird man noch Jahre warten müssen um dann festzustellen - es passiert nichts.
Samstag, 27. Februar 2016
Sonntag, 21. Februar 2016
Direktzugriff auf Mysqli Funktionen
Die von Cmsms verwendete Adodb Lib ist uralt , nicht gewartet und man kann damit einige Dinge nicht machen, die man mit Mysqli - Zugriff machen könnte.
Mit folgendem PHP Code geht alles.
$db = cmsms()->GetDb();
$dbid = $db->connectionId;
unset($db);
$r=mysqli_query ($dbid , 'select * from cms_content;');
print_r($r);
Mit GetDb holt man sich das Adodb Objekt.
Mit $dbid = $db->connectionId; holt man sich die Verbindungsid/link zu Mysqli.
Das Objekt $db wird nicht mehr benötigt also weg damit mit unset($db);
Und nun kann man alle Mysqli Statements ausführen die es so gibt.
Beispiel:
$r=mysqli_query ($dbid , 'select * from cms_content;');
print_r($r);
$r enthält dann das Resultsetobjekt der Abfrage.
Aber warum sollte man es machen ?
Adodb auch in der light Version enthält allerhand Zeugs das man eigentlich für die meisten Dinge nicht benötigt.
Und es verwendet ja selbst Mysqli.
Also gewinnt man RAM und vor allem Speed bei der Abfrage wenn man diese Dinge direkt erledigt.
Mit folgendem PHP Code geht alles.
$db = cmsms()->GetDb();
$dbid = $db->connectionId;
unset($db);
$r=mysqli_query ($dbid , 'select * from cms_content;');
print_r($r);
Mit GetDb holt man sich das Adodb Objekt.
Mit $dbid = $db->connectionId; holt man sich die Verbindungsid/link zu Mysqli.
Das Objekt $db wird nicht mehr benötigt also weg damit mit unset($db);
Und nun kann man alle Mysqli Statements ausführen die es so gibt.
Beispiel:
$r=mysqli_query ($dbid , 'select * from cms_content;');
print_r($r);
$r enthält dann das Resultsetobjekt der Abfrage.
Aber warum sollte man es machen ?
Adodb auch in der light Version enthält allerhand Zeugs das man eigentlich für die meisten Dinge nicht benötigt.
Und es verwendet ja selbst Mysqli.
Also gewinnt man RAM und vor allem Speed bei der Abfrage wenn man diese Dinge direkt erledigt.
Freitag, 19. Februar 2016
Backup einfach gemacht
Bei Cmsmadesimple.de gab es Diskussionen weil ein Modul, welches ein Backup ermöglichen soll, nicht weiter gepflegt wird und man damit eben das Problem hat ein Backup einfach ausführen zu können.
Ich schickte dem Inhaber der deutschen Site ein kleines Smarty Plugin mit dem man eben genau das Problem behebt, mit der Bitte das seinen Leuten zur Verfügung zu stellen.
Es wird nach lib/smarty/plugins kopiert und mit {backupcms} in einer beliebigen Seite eingebunden.
Wird die Seite aufgerufen und man hat im Backend als Superuser mit der Userid 1 sich erfolgreich angemeldet, dann wird das Backup gemacht.
Die Daten werden im Standard in das Verzeichnis tmp abgelegt, aus dem Namen geht Datum und Uhrzeit hervor und die Datei ist gz gepackt.
Zusätzlich wird ein Link ausgegeben damit man die Backupdatei downloaden kann.
Auch wenn das Thema bei Cmsmadesimple.de als dringlich dargestellt wurde - die Leute dort warten immer noch auf die kleine Lösung.
Auch eine Erinnerung an den Betreiber brachte nichts.
Offenbar ist sein Interesse an Cmsms teilweise nur gespielt.
Deswegen gibt es das Plugin hier:
function.backupcms.php.tar.gz
Es ist sehr leicht änderbar.
Getestet unter der aktuellen 2 er Version unter PHP 7 aktuell.
Es dürfte unter den 1 er Versionen ebenfalls funktionieren wenn als Treiber Mysqli verwendet wurde.
Ich schickte dem Inhaber der deutschen Site ein kleines Smarty Plugin mit dem man eben genau das Problem behebt, mit der Bitte das seinen Leuten zur Verfügung zu stellen.
Es wird nach lib/smarty/plugins kopiert und mit {backupcms} in einer beliebigen Seite eingebunden.
Wird die Seite aufgerufen und man hat im Backend als Superuser mit der Userid 1 sich erfolgreich angemeldet, dann wird das Backup gemacht.
Die Daten werden im Standard in das Verzeichnis tmp abgelegt, aus dem Namen geht Datum und Uhrzeit hervor und die Datei ist gz gepackt.
Zusätzlich wird ein Link ausgegeben damit man die Backupdatei downloaden kann.
Auch wenn das Thema bei Cmsmadesimple.de als dringlich dargestellt wurde - die Leute dort warten immer noch auf die kleine Lösung.
Auch eine Erinnerung an den Betreiber brachte nichts.
Offenbar ist sein Interesse an Cmsms teilweise nur gespielt.
Deswegen gibt es das Plugin hier:
function.backupcms.php.tar.gz
Es ist sehr leicht änderbar.
Getestet unter der aktuellen 2 er Version unter PHP 7 aktuell.
Es dürfte unter den 1 er Versionen ebenfalls funktionieren wenn als Treiber Mysqli verwendet wurde.
Abonnieren
Kommentare (Atom)