Da zieht man eine Sache aus dem Smarty Forum heran als Argument warum man selbst die 1 er Version noch nicht auf Smarty aktuell umgestellt hat.
Da wird bei Smarty eine Sache behandelt mit einem Benchmark der als solches bereits falsch aufgestellt ist und der zudem in der Praxis natürlich nie vorkommt - aber das ist bei allen Benchmarks der Fall.
Wie dem auch sei - man will mal wieder auf die nächste Smarty Version warten.
Dabei sollte man doch einfach mal einen Benchmark machen der so ausschaut:
<?php
require '../libs/Smarty.class.php';
$smarty = new Smarty();
$loop = 0;
$speed = 50000;
$start = microtime(true);
$smarty->assign("Name", "Fred Irving Johnathan Bradley Peppergill", true);
$smarty->assign("FirstName", array("John", "Mary", "James", "Henry"));
$smarty->assign("LastName", array("Doe", "Smith", "Johnson", "Case"));
$smarty->assign("Class", array(array("A", "B", "C", "D"), array("E", "F", "G", "H"),
array("I", "J", "K", "L"), array("M", "N", "O", "P")));
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
$smarty->assign("option_values", array("NY", "NE", "KS", "IA", "OK", "TX"));
$smarty->assign("option_output", array("New York", "Nebraska", "Kansas", "Iowa", "Oklahoma", "Texas"));
$smarty->assign("option_selected", "NE");
for ($i=0; $i<$speed; $i++) {
$smarty->fetch('index.tpl');
$loop++; echo $loop.'<br />';
}
$time = microtime(true) - $start;
echo "Total: " . $time . "<br />";
echo "One: " . ($time/$loop) . "<br />";
Ja richtig . das ist die mitgelieferte Demo etwas verändert.
Die Ergebnisse:
3.29
50000
Total: 20.58358001709
One: 0.0004116716003418
3.27
Versuch 1
20594
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/test1/smarty27/libs/sysplugins/smarty_internal_template.php on line 367
Versuch 2
34326
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/test1/smarty27/libs/sysplugins/smarty_internal_configfileparser.php on line 940
Was nichts weiter bedeutet das die Version 3.27 die bei dem ominösen Benchmark eine Rolle spielt ganz andere Fallen hat und das es ein ziemlicher Unsinn ist so zu argumentieren.
Das Problem - die bei cms...de haben nicht wirklich Ahnung.
Donnerstag, 24. März 2016
Montag, 7. März 2016
Mysql Fulltext die letzte
Da cmsmadesimple.de den Vorschlag publiziert hat liefere ich nun eine Version die auch für den unerfahrenen Anwender von Cmsms brauchbar ist.
Sie besteht aus dem verändertem Script, einem uralten Modifierer für Smarty (der aber bis in die aktuelle Smarty Version läuft) und einem etwas angepasstem Template.
Die Version liefert einen Textauszug bei Treffer die sich auf Seiten beziehen.
Man beachte die Datei readme.
Hier gibt es die Scripte http://112-6.de/files/uploads.tar.gz .
Unverändert ist eine logische AND Verknüpfung nicht möglich, da die Suchbegriffe bei Cmsms pro Stück in einem jeweils extra Datensatz ablegt sind.
Aber man kann sich behelfen.
Diese Bilder zeigen ein Beispiel was passiert:
Sie besteht aus dem verändertem Script, einem uralten Modifierer für Smarty (der aber bis in die aktuelle Smarty Version läuft) und einem etwas angepasstem Template.
Die Version liefert einen Textauszug bei Treffer die sich auf Seiten beziehen.
Man beachte die Datei readme.
Hier gibt es die Scripte http://112-6.de/files/uploads.tar.gz .
Aber man kann sich behelfen.
Diese Bilder zeigen ein Beispiel was passiert:
Sonntag, 6. März 2016
Mysql Fulltext Suche Vollausbau
In der Stufe 3 kann man dann nun alle Features der Mysql Volltextsuche verwenden.
Auch diese Version gibt es von mir nicht im Download - aus bekannten Gründen.
Aber es funktioniert prima.
Hier zwei Bilder von Ergebnissen - im ersten Bild wird nach sidebar gesucht der Begriff muss genauso vorhanden sein.
Bei der zweiten Suche das Gleiche aber mit einem weiteren Suchbegriff das ein - Zeichen davor hat - das bedeutet - das Wort Navigation darf nicht vorhanden sein.
Welche Möglichkeiten die komplette Volltextsuche hat liest man am besten bei Mysql nach.
Der Änderungsaufwand ist hier etwas größer aber kein Problem.
Es zeigt nur wieder einmal die "Lahme Ente" bei den Cmsms Developern, denn die kennen weder Volltextsuche noch einen Textauszug.
Und hier noch ein anderer Screenshot
Auch diese Version gibt es von mir nicht im Download - aus bekannten Gründen.
Aber es funktioniert prima.
Hier zwei Bilder von Ergebnissen - im ersten Bild wird nach sidebar gesucht der Begriff muss genauso vorhanden sein.
Bei der zweiten Suche das Gleiche aber mit einem weiteren Suchbegriff das ein - Zeichen davor hat - das bedeutet - das Wort Navigation darf nicht vorhanden sein.
Welche Möglichkeiten die komplette Volltextsuche hat liest man am besten bei Mysql nach.
Der Änderungsaufwand ist hier etwas größer aber kein Problem.
Es zeigt nur wieder einmal die "Lahme Ente" bei den Cmsms Developern, denn die kennen weder Volltextsuche noch einen Textauszug.
Und hier noch ein anderer Screenshot
Mysql Fulltext Stufe 2
Diese Version ist nicht Bestandteil eines Downloads.
Sie soll nur zeigen das man mit wenig Eingriffen in die veröffentlichte Stufe 2 die Ausgabe stark verbessern kann, nämlich mit einem Textauszug.
Unterm Strich handelt es sich immer noch um eine vereinfachte Suche bei der ein AND nicht möglich ist, weil wir die vorhandene Suchworttabelle aus Kompatibilitätsgründen nutzen und da ist immer nur ein Wort pro Datensatz enthalten.
Ein OR ist ohne besondere Maßnahmen immer automatisch gegeben.
Die letzte Ausbaustufe ist dann der vollständige Verzicht auf Kompatibilität aber mit allen Möglichkeiten .
Worttabellen oder die Stemmerclass werden dazu überhaupt nicht benötigt.
Aber auch das wird kein Gegenstand einer Veröffentlichung sein - die Gründe sind einfach.
Stufe 2 und 3 erfordern mehr Kenntnisse die ich - nach eigenem Bekunden - noch nicht einmal dem Betreiber von cmsmadesimple.de zutrauen darf.
Und - alle Änderungen werden nicht von den Entwicklern übernommen oder unterstützt und nicht von cmsmadesimple.de in irgendeiner Form moderiert und thematisiert dauerhaft gesammelt und angeboten.
Das bedeutet - es sind Eintagsfliegen.
Aber es sind Eintagsfliegen die deutlich zeigen wie jämmerlich die Einstellungen der Developer von Cmsms gegenüber Anwendern ist und wie sehr man das Projekt über Jahrzehnte ausgebremst hat.
Sie soll nur zeigen das man mit wenig Eingriffen in die veröffentlichte Stufe 2 die Ausgabe stark verbessern kann, nämlich mit einem Textauszug.
Unterm Strich handelt es sich immer noch um eine vereinfachte Suche bei der ein AND nicht möglich ist, weil wir die vorhandene Suchworttabelle aus Kompatibilitätsgründen nutzen und da ist immer nur ein Wort pro Datensatz enthalten.
Ein OR ist ohne besondere Maßnahmen immer automatisch gegeben.
Die letzte Ausbaustufe ist dann der vollständige Verzicht auf Kompatibilität aber mit allen Möglichkeiten .
Worttabellen oder die Stemmerclass werden dazu überhaupt nicht benötigt.
Aber auch das wird kein Gegenstand einer Veröffentlichung sein - die Gründe sind einfach.
Stufe 2 und 3 erfordern mehr Kenntnisse die ich - nach eigenem Bekunden - noch nicht einmal dem Betreiber von cmsmadesimple.de zutrauen darf.
Und - alle Änderungen werden nicht von den Entwicklern übernommen oder unterstützt und nicht von cmsmadesimple.de in irgendeiner Form moderiert und thematisiert dauerhaft gesammelt und angeboten.
Das bedeutet - es sind Eintagsfliegen.
Aber es sind Eintagsfliegen die deutlich zeigen wie jämmerlich die Einstellungen der Developer von Cmsms gegenüber Anwendern ist und wie sehr man das Projekt über Jahrzehnte ausgebremst hat.
Samstag, 5. März 2016
Einfache Mysqlvolltextsuche bei Cmsmadesimple-Frontend
Mit einigen wenigen Änderungen kann eine einfache Volltextsuche bei Cmsmadesimple realisiert werden ohne das man an Kompatibilität verliert.
Einfach weil man eben nicht alles kann was man könnte wenn man es komplett umstellt, aber man kann mit * suchen und das ist doch schon etwas mehr als man vorher konnte.
Es sind nur 2 Dinge zu tun
1.
Eine Tabelle muss einen Fulltext Index bekommen - das macht man am besten über phpmyadmin (man achte auf den Prefix der hier cms_ ist).
ALTER TABLE `cms_module_search_index` ADD FULLTEXT(`word`);
2.
Man kopiere das veränderte Script action.dosearch.php in den Ordner modules/Search
Das war es.
Hier gibt es das gepackte Script (vor dem kopieren auf den Server also entpacken).
Hinweise :
Ich gebe dazu weder eine Hilfestellung noch ein Support.
Erfahrungsgemäß werden solche Dinge nicht von Cmsmadesimple übernommen.
Bei Cmsmadesimple.de sind derartige Dinge nirgendwo gelistet und werden bestenfalls bei denen im Forum mal erwähnt und verschwinden dann, wenn die Aktualität einen Beitrag nach unten fallen lässt.
Die Änderung selbst ist 0815 sozusagen Stufe 2 im Schwierigkeitsgrad von 10, wenn man es alles selbst programmieren würde.
Das geänderte Script bezieht sich auf Cmsms Version 2.1.2 dürfte aber auch leicht an die 1 er Version anzupassen sein.
Ich habe das Script geändert um mal zu zeigen wie einfach es ist gewisse Kundenwünsche zu erfüllen wenn man denn nur will.
Die Dev's von Cmsms konnten nicht einmal eine halbe Stunde investieren um diesen Zustand zu erreichen und das seit 10 Jahren.
Nachttrag - habe noch ein Änderung vorgenommen die eine Änderung der Anzeige von Ergebnissen bewirkt (weil im Original da ein Fehler drin steckt).
Unterschiede sieht man hier:
Einfach weil man eben nicht alles kann was man könnte wenn man es komplett umstellt, aber man kann mit * suchen und das ist doch schon etwas mehr als man vorher konnte.
Es sind nur 2 Dinge zu tun
1.
Eine Tabelle muss einen Fulltext Index bekommen - das macht man am besten über phpmyadmin (man achte auf den Prefix der hier cms_ ist).
ALTER TABLE `cms_module_search_index` ADD FULLTEXT(`word`);
2.
Man kopiere das veränderte Script action.dosearch.php in den Ordner modules/Search
Das war es.
Hier gibt es das gepackte Script (vor dem kopieren auf den Server also entpacken).
Hinweise :
Ich gebe dazu weder eine Hilfestellung noch ein Support.
Erfahrungsgemäß werden solche Dinge nicht von Cmsmadesimple übernommen.
Bei Cmsmadesimple.de sind derartige Dinge nirgendwo gelistet und werden bestenfalls bei denen im Forum mal erwähnt und verschwinden dann, wenn die Aktualität einen Beitrag nach unten fallen lässt.
Die Änderung selbst ist 0815 sozusagen Stufe 2 im Schwierigkeitsgrad von 10, wenn man es alles selbst programmieren würde.
Das geänderte Script bezieht sich auf Cmsms Version 2.1.2 dürfte aber auch leicht an die 1 er Version anzupassen sein.
Ich habe das Script geändert um mal zu zeigen wie einfach es ist gewisse Kundenwünsche zu erfüllen wenn man denn nur will.
Die Dev's von Cmsms konnten nicht einmal eine halbe Stunde investieren um diesen Zustand zu erreichen und das seit 10 Jahren.
Nachttrag - habe noch ein Änderung vorgenommen die eine Änderung der Anzeige von Ergebnissen bewirkt (weil im Original da ein Fehler drin steckt).
Unterschiede sieht man hier:
Dienstag, 1. März 2016
Fork oder kein Fork
Vor Jahren legte ich schon mal ein Fork von #Cmsms #Cmsmadesimple unter dem Namen Powercms auf, das weiter entwickelt nach diversen Versionen keinerlei Ähnlichkeit mehr mit Cmsms hatte - die Leistung von PowerCMS und die Möglichkeiten standen in einer ganz anderen Welt als Cmsms es tat.
Speed bis zu Faktor 40 schneller, Transaktionen, unbegrenzte Mehrsprachlichkeit im Frontend wie auch im Backend, Fulltextsuche und später auch eine komplett eigene Templateengine.
Folgend wurde aus PowerCMS eine komplett eigene Entwicklung in dem keine einzige Zeile mehr an Cmsms erinnerte.
Heute steht Cmsmadesimple trotz vieler Versionen im Grunde genommen noch genau so da wie vor 10 Jahren.
In den wesentlichen Punkten hat sich nicht nur rein nichts geändert sondern man ist geradezu stehen geblieben.
Ich will hier nicht schon wieder endlos aufzählen was Cmsms alles versäumt hat - jeder der diese CMS kennt müsste das wissen.
Ursache des Übels ist einwandfrei der Developer Robert Campbell - aus meiner Sicht ein Vollversager in Sachen Team- und Projektführung, ein schlichter Programmierer ohne Visionen, ohne Mut zu Neuerungen - einfach eine lahme Ente.
Das meine nicht nur ich sondern viele andere Leute die dem Projekt sehr viel näher stehen als ich.
Dieser Developer ist noch nicht einmal in der Lage die wichtigsten und am dringlichsten anzusehenden Änderungen vorzunehmen und verwendet aus dem Grunde uralte Fremdlibs.
Der Hintergrund seiner Verweigerung ist damit zu beleuchten, das er schlagartig viele andere Dinge lösen müsste die er ebenfalls nie angegangen ist.
Damit aber würde seine bisherige Systematik seines Konzeptes restlos in die Tonne fallen.
Ich habe die aktuelle 2 er Version mal überarbeitet und auf den Stand der Technik gebracht mit überraschend guten Ergebnissen.
Natürlich ist klar das auch bei mir die alte Systematik von Cmsms gestorben ist.
Mich hat es auch in den Fingern gejuckt rechtzeitig zu seinem dämlichen nächsten Geekmoot die Version als Fork anzubieten.
Aber das lasse ich sein - es bringt nichts, da ich weder Zeit noch weitere Lust habe mich mit dem Thema Cmsmadesimple intensiv zu beschäftigen.
Wegen Cmsms bin ich ja seinerzeit zur PHP Programmierung gekommen, Visual Basic, diverse C Varianten und Modula waren vorher meine Welt, daher mein Interesse.
Ich setze Cmsms überhaupt nicht ein - die Leistung ist einfach zu beschissen.
Wenn die deutsche Fraktion davon träumt ihre eigene Version auf Basis 1 zu pflegen dann träumen die auch nur - richtig weiter entwickeln macht nur Sinn mit einem ziemlichen Umbau.
Den alten Mist am Leben zu erhalten ist nicht sinnvoll.
Nachtrag:
Wenn man solche Sprüche auf dem Twitter Account von Anne-Mieke Bovelett liest, die bei Cmsms Marketing machen soll:
"See something “wrong” in an open source project? Offer concrete help instead of criticism! THAT’S the spirit, nothing else!"
dann kann man nur sehr laut lachen - die gute Frau hat tatsächlich keinerlei Ahnung wie man bei den Dev's von Cmsms mit anderen Dev's umgesprungen ist und wie man auch heute laufend mit Nutzern umspringt und anscheinend glaubt sie auch noch daran.
Grundsätzlich hat sie ja Recht aber jede Kritik - egal von wem - wie auch jede Hilfe - auch egal von wem - hat dieser Campbell mit fiesesten Methoden in die Tonne getreten, bis hin zum Rauswurf, Sperrung von Konten, Löschung von Beiträgen.
Auf der anderen Seite sollte sich die gute Bovelett doch schlicht einmal die Behandlung von Bugs und Feature Request's ansehen oder noch einfacher - sich öfters mal als Moderatorin in den ihr zugewiesenen Foren blicken lassen.
Speed bis zu Faktor 40 schneller, Transaktionen, unbegrenzte Mehrsprachlichkeit im Frontend wie auch im Backend, Fulltextsuche und später auch eine komplett eigene Templateengine.
Folgend wurde aus PowerCMS eine komplett eigene Entwicklung in dem keine einzige Zeile mehr an Cmsms erinnerte.
Heute steht Cmsmadesimple trotz vieler Versionen im Grunde genommen noch genau so da wie vor 10 Jahren.
In den wesentlichen Punkten hat sich nicht nur rein nichts geändert sondern man ist geradezu stehen geblieben.
Ich will hier nicht schon wieder endlos aufzählen was Cmsms alles versäumt hat - jeder der diese CMS kennt müsste das wissen.
Ursache des Übels ist einwandfrei der Developer Robert Campbell - aus meiner Sicht ein Vollversager in Sachen Team- und Projektführung, ein schlichter Programmierer ohne Visionen, ohne Mut zu Neuerungen - einfach eine lahme Ente.
Das meine nicht nur ich sondern viele andere Leute die dem Projekt sehr viel näher stehen als ich.
Dieser Developer ist noch nicht einmal in der Lage die wichtigsten und am dringlichsten anzusehenden Änderungen vorzunehmen und verwendet aus dem Grunde uralte Fremdlibs.
Der Hintergrund seiner Verweigerung ist damit zu beleuchten, das er schlagartig viele andere Dinge lösen müsste die er ebenfalls nie angegangen ist.
Damit aber würde seine bisherige Systematik seines Konzeptes restlos in die Tonne fallen.
Ich habe die aktuelle 2 er Version mal überarbeitet und auf den Stand der Technik gebracht mit überraschend guten Ergebnissen.
Natürlich ist klar das auch bei mir die alte Systematik von Cmsms gestorben ist.
Mich hat es auch in den Fingern gejuckt rechtzeitig zu seinem dämlichen nächsten Geekmoot die Version als Fork anzubieten.
Aber das lasse ich sein - es bringt nichts, da ich weder Zeit noch weitere Lust habe mich mit dem Thema Cmsmadesimple intensiv zu beschäftigen.
Wegen Cmsms bin ich ja seinerzeit zur PHP Programmierung gekommen, Visual Basic, diverse C Varianten und Modula waren vorher meine Welt, daher mein Interesse.
Ich setze Cmsms überhaupt nicht ein - die Leistung ist einfach zu beschissen.
Wenn die deutsche Fraktion davon träumt ihre eigene Version auf Basis 1 zu pflegen dann träumen die auch nur - richtig weiter entwickeln macht nur Sinn mit einem ziemlichen Umbau.
Den alten Mist am Leben zu erhalten ist nicht sinnvoll.
Nachtrag:
Wenn man solche Sprüche auf dem Twitter Account von Anne-Mieke Bovelett liest, die bei Cmsms Marketing machen soll:
"See something “wrong” in an open source project? Offer concrete help instead of criticism! THAT’S the spirit, nothing else!"
dann kann man nur sehr laut lachen - die gute Frau hat tatsächlich keinerlei Ahnung wie man bei den Dev's von Cmsms mit anderen Dev's umgesprungen ist und wie man auch heute laufend mit Nutzern umspringt und anscheinend glaubt sie auch noch daran.
Grundsätzlich hat sie ja Recht aber jede Kritik - egal von wem - wie auch jede Hilfe - auch egal von wem - hat dieser Campbell mit fiesesten Methoden in die Tonne getreten, bis hin zum Rauswurf, Sperrung von Konten, Löschung von Beiträgen.
Auf der anderen Seite sollte sich die gute Bovelett doch schlicht einmal die Behandlung von Bugs und Feature Request's ansehen oder noch einfacher - sich öfters mal als Moderatorin in den ihr zugewiesenen Foren blicken lassen.
Abonnieren
Kommentare (Atom)









