hallo leute,
ich habe mich heute mal ein klein wenig bei sourceforge.net umgeschaut; danke @pq
zur Konfig:
da gefaellt mir pq's Idee recht gut (ich hoffe, ich habe sie richtig verstanden), die ganze konfig in einen Hash (oder mir waere Hashref lieber) zu laden und den dann ueber den Exporter als $Config->{PageName} oder so verfuegbar zu machen. Ist auch viel kuerzer als $PBoard::Config::PageName.
Ich ueberlege gerade, ob es Sinn macht, die Config aufzuteilen. %TagsFirstReplace, %TagsBlocked, %TagsFastReplace und TagsLastReplace enthaelt Perl-Code, hat aber mit dem Rest der Config nicht allzu viel zu tun, und koennte gut in einem Perl-Modul stehen.
Als Config-Modul gefaellt mir eigentlich
YAML recht gut, vielleicht, weil ich schon oefter damit gearbeitet habe. Ich habe aber geruechteweise gehoert, dass es bei YAML Probleme mit dem Schreiben geben soll (stimmt das/hat sich das schon erledigt/war das nur bei Perl-Datenstrukturen?). Ich schaetze mal, dass irgendwann mal auch ein Admin-Interface nett waere, das diese Konfig veraendern kann, und da sollten wir ein Modul waehlen, mit dem man auch gut schreiben kann. Ob wir mit Config::Inifiles auskommen, weiss ich nicht, dazu habe ich zu wenig mit diesem Modul gemacht. auf jedem fall sollten konstrukte wie
$DbTablePrefix => 'pb_';
%DbTables =>
( boards => $DbTablePrefix . 'boards',
threads => $DbTablePrefix . 'threads',
messages => $DbTablePrefix . 'messages',
- also das verwenden von Variablen darin - moeglich sein.
Wenn man die Config schon beim server-startup laedt, muesste bei mod_perl eigentlich keine Performance verloren gehen; bei CGI kostet es halt ein bisschen was, ein Modul anstelle des Perl-Moduls zu verwenden.
.perltidyrc wuerde ich in jedem Verzeichnis ablegen, in dem Perl-Scripte oder Module liegen; perltidy versucht naemlich zuerst die aus dem aktuellen verzeichnis zu laden; das duerfte die sache am einfachsten machen.
[s]zu CPAN: ich verstehe den sinn nicht ganz, wieso man das board wie ein Perl-Modul ueber die CPAN-Shell installieren koennen soll. Ich bevorzuge den "klassischen" Weg als tar.gz und die dateien ueber ein install-script an die richtigen stellen kopieren; dann kann man die leute auch dazu zwingen, pfade anzugeben, und die Module verschwinden nicht einfach in irgendeinem site/perl.../ - verzeichnis, sondern das Board ist auch einfach wieder deinstallierbar, indem man ein oder zwei verzeichnisse loescht (nicht jeder kennt perl Makefile.PL PREFIX=...). Allenfalls ein dummy-modul, ueber das die ganzen benoetigten Abhaengigkeiten von CPAN automatisch installiert werden koennen, halte ich fuer sinnvoll. Bitte erklaert mir den Sinn.[/s]
[edit|strat] habe den Sinn jetzt kapiert, und finde es gut[/edit]
Zur Verzeichnisstruktur: gefaellt mir sehr gut. Zusaetzlich schlage ich noch folgendes vor:
data/ht_cache
data/backup (dann koennen dort in Zukunft mal Backups der DB abgelegt werden, z.B. ferngesteuertes mysqldump)
conf/apache.conf.template: man kann ja in der Apache-Config mit Include /my/file.conf weitere Dateien einbinden; waere es nicht am einfachsten, die apache-config auch zum PBoard abzulegen und dem Installierenden nur zu sagen, er soll die in die httpd.conf reinlinken?
Ich schlage auch vor, die ganze CPAN-Geschichte zu verschieben, bis das Board mal stabil laeuft. Da ist naemlich schon noch das eine oder andere wichtige.\n\n
<!--EDIT|Strat|1154121070-->