Pläne für die phpMyFAQ 1.4.0 und später
Moderator: Thorsten
Pläne für die phpMyFAQ 1.4.0 und später
Hallo,
bevor die phpMyFAQ 2.0 erscheint, gibt es bis hoffentlich Ende des Jahres 2003 eine phpMyFAQ 1.4.0 mit folgenden neuen Features:
- basiert auf der stabilen 1.3.9 Version [bereits fertig]
- grafische Auswertungen der Statistiken [bereits fertig]
- verbesserte Mehrsprachigkeit [bereits fertig]
- neues Default-Layout in XHTML [bereits fertig]
- Codeoptimierungen [bereits fertig]
- bessere Rubrikverwaltung [bereits fertig]
- bessere XML-Fähigkeiten [bereits fertig]
- Vorbereitung auf phpMyFAQ 2.0.0 [bereits fertig]
Ende November / Anfang Dezember 2003 erscheint wohl eine erste Testversion.
bye
Thorsten
bevor die phpMyFAQ 2.0 erscheint, gibt es bis hoffentlich Ende des Jahres 2003 eine phpMyFAQ 1.4.0 mit folgenden neuen Features:
- basiert auf der stabilen 1.3.9 Version [bereits fertig]
- grafische Auswertungen der Statistiken [bereits fertig]
- verbesserte Mehrsprachigkeit [bereits fertig]
- neues Default-Layout in XHTML [bereits fertig]
- Codeoptimierungen [bereits fertig]
- bessere Rubrikverwaltung [bereits fertig]
- bessere XML-Fähigkeiten [bereits fertig]
- Vorbereitung auf phpMyFAQ 2.0.0 [bereits fertig]
Ende November / Anfang Dezember 2003 erscheint wohl eine erste Testversion.
bye
Thorsten
Last edited by Thorsten on Mon Jul 26, 2004 6:37 am, edited 3 times in total.
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Hallo,
der erste Milstone der phpMyFAQ 1.4.0 erscheint wohl diese Woche.
bye
Thorsten
der erste Milstone der phpMyFAQ 1.4.0 erscheint wohl diese Woche.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Hallo,
der erste Meilenstein der phpMyFAQ 1.4.0 wurde eben veröffentlicht.
bye
Thorsten
der erste Meilenstein der phpMyFAQ 1.4.0 wurde eben veröffentlicht.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Naja, so groß ist die "Meile" nun auch nicht - abgesehen von den Copyrightangaben in einigen Funktionen. <grrr>Thorsten wrote:der erste Meilenstein der phpMyFAQ 1.4.0 wurde eben veröffentlicht.
Bezüglich der UBB Klasse hatte ich Dir ja mal mitgeteilt, daß ich da noch ein paar grundsätzliche Fehler beseitigen wollte. In der von Dir übernommenen Form funktionieren nämlich verschachtelte Tags
Code: Select all
[i][b]Test[/i][b]
Weiterhin muß bei PHP der Errorlevel auf 0 gesetzt werden, weil sonst bei einigen Quelltext Konstruktionen im 'ge-highlight-eten' String ominöse Fehlermeldungen auftauchen. Ob das von der verwendeten PHP Version abhgängig, weiß ich nicht.
Stelle Dich mal in der nächsten Version auf folgende globale Tags ein:
[ ubb ]Diverser Text, welcher nach UBB Tags geparst wird.[ /ubb ]
[ html ]HTML Dokument, bei dem nur der Teil zwischen <body> und </body> ausgegeben wird[ /html ]
[ php ]Der Text wird als highlighting ausgegeben[ php ]
[ code ]Der Text wird in <pre> Tags ausgegeben [ code ]
Da die Freigabe von UBB, HTML, PHP und CODE userabhängig sein soll, erwartet die Klasse dann die entsprechend gesetzten Konstanten.
Ob HTML mit Einbindung externer Ressourcen (img code applet iframe script) sein kann, müßte noch geprüft werden. Ich würde das allerdings pauschal mit strip_tags() wegmiezen.
Da ich momentan am nested_set- und Admin- Menügenerator bastele (hat Vorrang), werde ich mit der UBB Klasse wohl erst zum Jahresende fertig werden.
installer.php: dort wird immer noch nicht geprüft, ob ./inc/data.php schon Werte enthält (existierende Installation, die dabei geschrottet werden kann). installer.php sollte dann eigenständig und mit Hinweis darauf zu update.php wechseln. Ein weiterer Hinweis darauf, daß zumindest installer.php nach der Installation gelöscht wird, wäre nicht schlecht. Noch besser wäre allerdings, wenn update.php ebenfalls gelöscht werden würde.
Hallo Meikel,
das ist eine Pre-Alphaversion. Das Updateskript ist noch gar nicht fertig und funktioniert auch nicht. Eine Überprüfung der data.php ist meiner Meinung nach nicht nötig, weil bei den Update-Paketen kein Installer vorhanden ist. Aber ich werde das noch hinzufügen.
Zum Schachteln der BB-Tags: Da die Templates nun auf XHTML basieren, ergibt sowas dann auch falsches XHTML.
Das die 1.4.0 nicht soviel neues bietet, lässt sich dadurch erklären, dass die 1.4er Serie ein Zwischenschritt zur 2.0 nächstes Jahr ist.
bye
Thorsten
das ist eine Pre-Alphaversion. Das Updateskript ist noch gar nicht fertig und funktioniert auch nicht. Eine Überprüfung der data.php ist meiner Meinung nach nicht nötig, weil bei den Update-Paketen kein Installer vorhanden ist. Aber ich werde das noch hinzufügen.
Zum Schachteln der BB-Tags: Da die Templates nun auf XHTML basieren, ergibt sowas dann auch falsches XHTML.
Das die 1.4.0 nicht soviel neues bietet, lässt sich dadurch erklären, dass die 1.4er Serie ein Zwischenschritt zur 2.0 nächstes Jahr ist.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Kennzeichne das deutlicher, bevor die Versionshopper zu jammern anfangen.Thorsten wrote:das ist eine Pre-Alphaversion.
Besser isses. Vereinige update.php und installer.php, füge eine Authentifizierung hinzu, wenn data.php gesetzt ist. zb:Das Updateskript ist noch gar nicht fertig und funktioniert auch nicht. Eine Überprüfung der data.php ist meiner Meinung nach nicht nötig, weil bei den Update-Paketen kein Installer vorhanden ist. Aber ich werde das noch hinzufügen.
Login: admin, PW: <datenbank passwort>
Und beachte meinen Hinweis bezüglich der safe_mode User:
- packe den 'source tree' in ein Unterverzeichnis von Install
- erzeuge die Zielverzeichnisse mit PHP
- und kopiere mit copy()
Im Problemfalle soll der User ein janz kurzes Installscript, welches ein require install.php enthält, per WebFTP erzeugen, damit das aufgerufene Script mit den Rechten des Webservers läuft.
Darum gings mir weniger - mehr um die Programmierlogik. preg_replace() arbeitet leider nicht rekursiv. Somit werden bei verschachtelten Tags nur die äußeren ersetzt.Zum Schachteln der BB-Tags: Da die Templates nun auf XHTML basieren, ergibt sowas dann auch falsches XHTML.
Die og. neue UBB Klasse basiert darauf, daß bei den 4 genannten Tags eine neue Instanz erzeugt wird, welche dann nur innerhalb dieser "pre tags" arbeitet. Zu markierende Suchbegriffe müssen dann als zusätzliches Array übergeben werden.
Außerhalb diese Klasse sollen dann keine weiteren Bearbeitungen des Contents mehr nötig sein/stattfinden.
Bei den "Ersetzungen" werde ich wahrscheinlich Teiltemplates verwenden. Dann hat der Admin die volle Kontrolle darüber, wie zB. ein Link aussehen soll, ohne im PHP Text rumpfuschen zu müssen.
Ich habe mich ja auch nur über die Vokabel 'Meilenstein lustig gemacht... <ggg>Das die 1.4.0 nicht soviel neues bietet,
Hi Meikel,
in der README steht ganz deutlich, dass das ne Pre-Alpha ist.
Den Installer und den Updater werde ich nicht vereinigen, da demnächst ja mal der Online-Updater mit integriert werden soll.
Die Dateien per Web-FTP kopieren ist nicht so toll, denn das funktioniert nicht, wenn der Provider die FTP-Extension von PHP deaktiviert hat. Das Prinzip des Installers funktioniert bei 99% aller User, warum sollte ich da also was dran ändern?
Zum BBCode-Parser:
Nachdem das ja nun ne Klasse ist, kann man ja recht simpel die Funktionen da drin anpassen und ändern.
Das Ding heisst Meilenstein, weil es schon genung Alpha-Versionen von allen möglichen Programmen gibt.... 8)
bye
Thorsten
in der README steht ganz deutlich, dass das ne Pre-Alpha ist.
Den Installer und den Updater werde ich nicht vereinigen, da demnächst ja mal der Online-Updater mit integriert werden soll.
Die Dateien per Web-FTP kopieren ist nicht so toll, denn das funktioniert nicht, wenn der Provider die FTP-Extension von PHP deaktiviert hat. Das Prinzip des Installers funktioniert bei 99% aller User, warum sollte ich da also was dran ändern?
Zum BBCode-Parser:
Nachdem das ja nun ne Klasse ist, kann man ja recht simpel die Funktionen da drin anpassen und ändern.
Das Ding heisst Meilenstein, weil es schon genung Alpha-Versionen von allen möglichen Programmen gibt.... 8)
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
<grrrr>Es geht hier nicht um den Online Updater sondern um das File ./install/update.php, welches aufgerufen werden soll, wenn installer.php eine existierende FAQ Installation vorfindet. Es muß wenigstens gefragt werden, ob installer.php die existierenden Tabellen schrotten soll oder nicht.Thorsten wrote:Den Installer und den Updater werde ich nicht vereinigen, da demnächst ja mal der Online-Updater mit integriert werden soll.
In beiden Fällen müssen am Schluß installer.php und update.php gelöscht werden. Nur installer.php zu löschen, ist zwar nett, verhindert aber nicht die Fehlermeldung von index.php, weil update.php ja noch da ist.
Nicht die Dateien sondern eine einzige Datei. Genau die Dateien, welche den Kram umkopiert. Wie ich Dir ja schon mal geschrieben hatte, haben beim Kopieren die Zieldateien die Rechte des ausführenden Scriptes. Verstanden?Die Dateien per Web-FTP kopieren ist nicht so toll, denn das funktioniert nicht, wenn der Provider die FTP-Extension von PHP deaktiviert hat.
Woher Du diese Gewißheit nimmst, ist mir unbegreiflich. Install und Update Script funktionieren nur auf PHP CGI Servern pflegeleicht. Alle anderen - und das sind nicht wenig - haben damit Probleme. Ist, was zu hoffen ist, der safe_mode an, dann haben diese User fast keine Chance, die FAQ zu installieren, wenn sie keinen Dunst von PHP haben.Das Prinzip des Installers funktioniert bei 99% aller User, warum sollte ich da also was dran ändern?
Das exttends db... ist Mist. Übergib dem fehlenden Constructor einfach die Referenz auf die DB Klasse.Zum BBCode-Parser:
Nachdem das ja nun ne Klasse ist, kann man ja recht simpel die Funktionen da drin anpassen und ändern.
Auszugsweise das Verfahren (basiert auf PEAR und KTemplate von Ralf Geschle):
Code: Select all
<?php
# requires und setzen aller anderen Konstanten.
if (!defined('_UBB_TPL', './tpl/ubb.tpl');
class ubb2
{
var $db = false;
var $tp = false;
var $rights = '';
function menu ($db='', $rights='')
{
if (!empty($db)) $this->db = &$db;
if (!$this->db) die ('Kein DB Connect')
if (!empty($rights)) $this->rights = $rights;
if (!class_exists('Template')) die ('KTemplate nicht gefunden');
$this->tp = &new Template (_UBB_TPL);
}
# usw.
}
$tp = &new Template (_TPL_PATH.'/index.tpl');
$db = DB::connect(_DSN);
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$a = new Auth ('DB', $authParams, 'dummy',false);
$a->start();
define ('_AUTH', ($a->getAuth()) ? true : false);
define ('_RIGHTS', (isset($_SESSION['auth']['data']['rights']))
? $_SESSION['auth']['data']['rights']
: false);
$_RIGHTS = explode (',', _RIGHTS);
$ubb = &new ubb2 (&$db, _RIGHTS);
$main = &new main();
$c['menu'] = $menu->user(_RIGHTS);
if (isset($_REQUEST['id']) AND !empty($_REQUEST['id']))
$c['content'] = $ubb->parse($main->getContent($_REQUEST['id']));
# $c weiter füttern...
$tp->assign($c);
$tp->out();
$db->disconnect();
?>
Na und?Das Ding heisst Meilenstein, weil es schon genung Alpha-Versionen von allen möglichen Programmen gibt.... 8)
Im Installer steht schön groß, dass man diesen nicht nutzen darf, wenn man bereits eine FAQ hat. Desweiteren muss man sich bei einem Update nur die Update-Datei herunterladen und dort ist keine installer.php dabei. Wer eine FAQ hat und trotzdem den Installer ausführt, ist selber schuld. Klingt zwar hart, aber ausser dir ist das noch niemanden passiert.meikel wrote:<grrrr>Es geht hier nicht um den Online Updater sondern um das File ./install/update.php, welches aufgerufen werden soll, wenn installer.php eine existierende FAQ Installation vorfindet. Es muß wenigstens gefragt werden, ob installer.php die existierenden Tabellen schrotten soll oder nicht.
Das Löschen der update.php wird noch mit integriert. Wie bereits oben geschrieben ist das Release noch lange nicht fertig.meikel wrote:In beiden Fällen müssen am Schluß installer.php und update.php gelöscht werden. Nur installer.php zu löschen, ist zwar nett, verhindert aber nicht die Fehlermeldung von index.php, weil update.php ja noch da ist.
Das wird aber bei mod_php nicht klappen, da klappt nämlich noch nicht mal das automatische Löschen.meikel wrote:Nicht die Dateien sondern eine einzige Datei. Genau die Dateien, welche den Kram umkopiert. Wie ich Dir ja schon mal geschrieben hatte, haben beim Kopieren die Zieldateien die Rechte des ausführenden Scriptes. Verstanden?
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
installer:
andere Installationsmethode:
So kann nur /install/index.php ausgeführt werden, das sich bei Fehlerfreiheit am Schluß selbst killt.
Hellseher? Egal. Es war damals für mich zumindest eine Lehre, ein Script zu starten, welches ich nicht vorher im Sandkasten getestet hatte. Deshalb habe ich seit 1.3.3 kein Update mehr gemacht, da ich keine Zeit hatte, die Scripts zu entwanzen.Thorsten wrote:Im Installer steht schön groß, dass man diesen nicht nutzen darf, wenn man bereits eine FAQ hat. Desweiteren muss man sich bei einem Update nur die Update-Datei herunterladen und dort ist keine installer.php dabei. Wer eine FAQ hat und trotzdem den Installer ausführt, ist selber schuld. Klingt zwar hart, aber ausser dir ist das noch niemanden passiert.
andere Installationsmethode:
Du suchst Probleme, wo keine sind:Das wird aber bei mod_php nicht klappen, da klappt nämlich noch nicht mal das automatische Löschen.
Code: Select all
# ./install/index.php
# per webftp erzeugen.
<?php
define ('_RUN', true);
require './installer.php');
if (defined('_CAN_DEL')) unlink (__FILE__);
?>
./install/installer.php
<?php
if (!defined('_RUN')) die ('so nicht! Erstelle per webFtp index.php mit folgendem Inhalt: ... ');
# viel quelltext
# ggf. require ./update, wenn es ein update ist
# janz unten:
if (fehlerabfrage(......) === false ) define('_CAN_DEL', true);
?>
Es steht ganz groß im Installer, dass man diesen nicht nutzen soll, wenn man bereits eine FAQ hat...meikel wrote:Hellseher? Egal. Es war damals für mich zumindest eine Lehre, ein Script zu starten, welches ich nicht vorher im Sandkasten getestet hatte. Deshalb habe ich seit 1.3.3 kein Update mehr gemacht, da ich keine Zeit hatte, die Scripts zu entwanzen.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Nunja, diesen Fehler fängt der Installer nicht ab, aber er wird nur vom Benutzer produziert, der Warnhinweise nicht liest...meikel wrote:Ich erwarte von einem Programm, daß es Fehler abfängt und nicht verursacht.
Ich werde aber den neuen Installer dahingehend verbessern.
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist
Dann hast Du einiges zu tun. Und vergißt update.php nicht. Vor der 1.3.3 hinterließ das Teil auch schon mal ein halbfertiges Update. Update könnte ja bei meinem Installationsmodell vorher die alte Version abfragen und entsprechend darauf reagieren. Bei dem derzeitigen Modell ist das nicht möglich, weil das File, in dem das steht, per FTP überschrieben wird...Thorsten wrote:Ich werde aber den neuen Installer dahingehend verbessern.
Hallo Meikel,
welches File wird per FTP überschrieben?
bye
Thorsten
welches File wird per FTP überschrieben?
bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
amazon.de Wishlist