Changelog für Populo ==================== $Revision: 24095 $ $Date: 2011-11-19 21:43:45 +0100 (Sa, 19. Nov 2011) $ Siehe auch die Datei link:README.html[README]. Zugriff auf das Quelltext-Archiv über http://svn.extra.gymel.com/repos/allegro/populo/trunk/[SVN] bzw. zur Konsultation über http://svn.gymel.com/viewvc/allegro/populo/trunk/[ViewVC]. == Änderungen chronologisch == 1.21_05:: popmac:: - Keys für POPULO STRUC dürfen nun wirklich mit anderen Zeichen als A-Z beginnen. - L10N-Defaultvorgaben nun nach ALL (Piorität höher als konkrete) und ANY (niedriger) differenziert. - Vorkehrungen fuer Baumstrukturen (mode="tree", PrepareTree), Keyliste enthaelt Events fuer Stufenwechsel - Einsammeln von Werten ueber sekundaere Indizes (PokeIndirect) - Optionales, viertes Argument fuer pushrow/pushcol (war "keep") nun anonymer Hash oder Tokenliste als String. Werte "keep" und "decode". populo:: - PO!ShiftSplit(Varname, Pattern)!: reduziert Variable, liefert aufgegessenen Teil zurueck. avdemo 1.02:: avdemo:: - Vorkehrungen fuer Baumstrukturen, Codeaufloesungen - Allgemeines STWenhance - Features ZDBLink und EZBLink: Nur Basis-URL in Feature-Konfiguration (und auch die hat keine Priorität, falls "Imagebutton" konfiguriert. Vorzugsweise wird nun ein Icon anstelle des Linktexts eingeblendet - Feature TextLink (Fliesstextverlinkungen), EKI-Spielereien 1.21_02:: allgemein:: - Warnungen unter perl 5.12 + popmac:: - Keys für POPULO STRUC dürfen auch mit anderen Zeichen als A-Z beginnen. + avdemo:: - td.populo_short_note => th.populo_short_note avdemo 1.01:: avdemo: - p-htmpop.apr und multi.job hatten Probleme mit Akzentvertauschung - optionale p-htupop.apt (Ersatz fuer p-htmpop) produziert UTF-8 - ResultHook(): Combining diacritics werden zusammengefasst falls UTF-8 1.21_01:: populo:: - Die Identifikationszeile "++@...++" mag ID und DB in Grossschreibung + avdemo: - onEvent-Attribute mit Rücksicht auf XHTML-Validierung klein geschrieben 1.21:: Erstes Release der Reihe 1.2x avdemo:: - Demo-Interface mit eigener Versionsnummer 1.00 + oai:: - Bleibt eigenes Paket, jedoch interoperabeln (popoai.pm, in - Hooks einbindbar, kann Konfigurationsdateien nachnutzen) 1.20_24:: RC 10 populo:: - ExpandResultHooks enthaelt prioritaere Referenzen auf Subroutinen: liefern Array von Skalaren oder von Tripelrefs - MultiResultHook hat Praeferenz vor ResultHook, liefert Array + popdebug:: - Abschalten (init mit "!" vorangestellt) soll gesammeltes nicht loeschen + avdemo:: - noend.htm fehlte 1.20_23:: RC 9 populo:: - UTF8-Repraesentation durch urlescape funktionierte in Perl >5.10 nicht - Ausgabeumleitung in Buffer: _StartCapture()_, _EndCapture()_, _GetCaptured()_ - ++++ als Spezialfall des Buffermechanismus - Namespace-Tricks (popoai.pm aus dem separaten OAI-PMH-Paket ist nachträglich zuschaltbar und tauscht das Verhalten komplett aus) + popdebug:: - weitere Zeichenescapes und "--"-Verfremdung wg. Einbindung als XML-Kommentar falls HeaderContentType "xml" enthaelt. + avdemo:: - Templates fügen Diagnostik nun vor Ende des HTML-Bodies ein 1.20_21:: RC 8 populo:: - ConnectTimeout implementiert (15 Sek) - PO!Quote(...)! erspart $-Variable in Jobs 1.20_20:: RC 7 populo:: - MODATT scheiterte manchmal (auch cmsweave) + avdemo:: - einige weitere Tooltips spendiert 1.20_19:: RC 6 populo:: - TextOrFile hatte Ersetzungsproblem - ReEval zum spezifischeren Ersetzen von in ResultHook eingefuegten Konstruktionen - GetStrucEntry kann nun auch ein Array liefern - neu: refrow: STRUC-Zeile als Hashref - neu: colkeys: Array von Keys, fuer die Spalte nicht leer ist, + sortiert nach Key, optional nach anderer Spalte 1.20_17:: RC 5 populo:: - Redesign Aufrufschalter cmsweave - Aktivierung optionaler Module verzoegert 1.20_16:: RC 4 populo:: - unzulässige Verkürzung in StartRes/EndeRes bei Ausganswert JJJJ (ohne von-bis) 1.20_15:: RC 3 populo:: - Bugfix: PO:...: (Einflechten von Variablenwerten in Job-Resultate) scheiterte in Zeilen mit weiteren ":" - _preify()_ und _PrintVariablesShort()_ nach PopDebug ausgelagert - Diagnostischer ouptut nun als ++++, falls ContentTypeHeader "xml" enthält - _ResultHook()_ darf nun ++$_++ undef'en: Zeile wird dann vernichtet - neu: _FormatTimeGM()_ - PI-Handling ++++ nun in popmac.pm - allgemeines Cleanup - NB: Reihenfolge der Filter bei LineTyp == 4 ist nun vertauscht: 1. lnkscp/LinkEscape (hier koennten nicht-UTF-Zeichen sitzen) 2. ResultHook (um etwa utf-ness zu forcieren auch bei LegacyCharset) 3. expandmacros (noch einmal, weil ResultHook neue PIs hat einschleusen duerfen) - Setzen von HeaderCharset hat folgende Nebeneffekte, auch bei LegacyCharset: 1. Output-Disziplin wird auf :encode($HeaderCharset) eingestellt 2. lnkescp erzwingt UTF-ness bei impliziten Suchbegriff Konsequenz: Darf nur gesetzt sein, wenn von Avanti i.W. UTF geliefert wird + avdemo:: - openURL 1.0-Handling, COinS-Unterstuetzung (Citavi, Zotero) - Verlinkung Ampel "Journals Online & Print", EZB 1.20_14:: RC 2 populo:: - _HtmEsc()_, _HtmEsc7()_ - Reparatur _JobSubtyp_ = 0 - Neue Slots _Interface_ und _User_ fuer popdebug + avdemo:: - "Features"-Mechanismus: SeeAlso-Client f. pnd2wikipedia, pnd2viaf; EZB- und ZDB-Verlinkung - SeeAlso-Server, damit RIS-Export mit unAPI (Zotero) 1.20_13:: RC 1 populo:: - _DefaultJTHook()_ kann _JobTyp_ nun auch ohne Parameter __t_...__ bestimmen - _AbsURL()_ stark verbessert 1.20_xy:: Diverse unveröffentlichte Test-Releases populo:: - Umstellung auf interne Verarbeitung ausschliesslich in Unicode => __Job- und Ausgabetemplates ueberpruefen__! - ++$LegacyCharset = 0++: Avanti-Kommunikation in UTF-8, das gilt auch fuer Ausgabeparameter! + sonst (default): Avanti-Kommunikation in allegro-Windows - Umwandlung aller Trunkierungszeichen auf "++?++" erfolgt nur noch in _BasciTrimify()_, diese wird nur dann genutzt, wenn +%MaskenSpecial+ fuer das betreffende Register nicht belegt ist. Abwandlung mit Verzicht auf Umsetzung in gewissen Faellen ist z.B. _BasicTreu()_ im avdemo-Interface. - Aufbereitungsfunktionen _PersParse()_, _QueryParse()_ + *Inkompatiblitaeten zu früheren Versionen*:: - _ContentType_ umbenannt in _HeaderContentType_ - _LinkEscape()_ bekommt den optionalen Suchbegriff nun nicht mehr URL-escaped geliefert, ausser bei ++$LegacyCharset != 0++. 1.17:: Maintenance-Release: populo:: - Kommunikation mit Avanti ueberarbeitet 1.16:: Maintenance-Release: populo:: - "++$++" und "++@++" in ++"++-Strings wurden nicht gezeigt - Neuer Hook: _InitHook()_ - gebraeuchliche Wildcards "++$++", "++?++", "++*++" wurden beim Einlesen ausgefiltert, jetzt nur noch von _CollectQuery()_. 1.15:: Maintenance-Release: populo:: - _VonBisRes()_ behandelte "++-1990++" anders (++<++) als "++0-1990++" (++<=++) - Es gab einen Konflikt, wenn eine Variable wie eine Funktion hiess (Bsp.: _Everything()_) - _SanifyRegister()_ wie angekuendigt deaktiviert 1.14:: Maintenance-Release: populo:: - Erkennung von ASCII 0 im Avanti-Output nervte: Die Sequenz +\#<00>\#+ wird nun nur noch bei ++$Debug=1++ ausgegeben - Zeilenumbrueche im diagnostischen Output waren HTML-escaped - noch mehr Umcodierungen allegro-Windows -> HTML - Content-Type-Header jetzt mit explizitem charset=ISO-8859-1 1.13:: Maintenance-Release: populo:: - Parameter ++$SR++ fuer _CollectQuery()_ nun beliebig falls nicht leer - Handling von Aufrufen ++PO!Fun()!++ verbessert - Kompatibilitaetsproblem (Hyperlinks) mit Perl 5.003 1.12:: Maintenance-Release: populo:: - registeruebergreifende Verweise repariert - Sortierung von Sonderzeichen in Kurztitelliste abgestellt - Debug-Zeichen (!) bei Uebergabe von Umlauten entfernt - Beispiel "direktes Download" in Demodatenbank eingebaut 1.11:: Maintenance-Release: populo:: - Bugfixes Trefferzahlen - Suchbegriffe stellenweise nicht von ISO nach Allegro gewandelt - Abwaertskompatiblitaet verbessert - besseres Handling von Zeichen ausserhalb ISO 8859-1 1.10:: Grosser interner Umbau: populo:: - Beschleunigung fuer grosse Datenmengen, - Schachtelungen jetzt sauber moeglich, - Socket-Kommunikation neu programmiert. + IMPORTANT: Variable, die erstmalig in _LOOP_ oder __STRUC__s vorkommen, muessen vorher initialisiert werden! + - diverse bekannte avanti-Probleme umschifft - interner Zeichensatz nun OSTWEST-Windows avdemo:: - Links bei "vielen" Treffern im Register repariert - Aufruf ++populo.pl?db=avdemo++ loest nun ein Redirect auf _avdemo.pl_ aus, Uebergabefeld "++db++" konsequent eliminiert. - Logos etc. nun in popimg (virt. Pfad +/popimg+), um nicht mit dem Default-Verzeichnis +/images+ von Xitami zu kollidieren 1.07:: Migrationsversion fuer 1.1x populo:: - _Everything_ ist jetzt Funktion, Argumente sind diejenigen HTTP-Felder, die nicht aufgenommen werden sollen - Routine _Declare()_: Initialisert (mehrere) Variable - Konfigurationsvariable _Stat_: Falls gesetzt, wird _Everything()_ (komplette Query) als Bestandteil eines Jobs an avanti uebertragen, damit es im Logfile landet. - _StartNo_ und _EndNo_ als zusaetzliche Belegungen durch _PO&Paginate&_ - Bindestriche in __JobTyp__en etc. erlaubt - seltener Fehler in Tests auf Verbindung behoben + avdemo:: - _LinkEscape_ produzierte Links ++++ ohne Quotierung. - Label "toomuch" bei zuvielen Treffern fehlte - in _acexpand_ war der Suchbegriff fuer qrix nicht in +""+ (Pech bei Gesamttiteln mit "++ ; ++" ...) - Hilfsseiten mittels ++PO?IF(0 == 1)?++ jetzt statisch und dynamisch sichtbar - Hilfsseiten jetzt im Unterverzeichnis +help/+ (war: +avdemo/+) 1.06:: Maintenance-Release: populo:: - Bug in _PrepareQuery()_ bei leeren Mehrfachfeldern - _PrintVariablesShort()_ verschoent - Apostroph wird bei Eingabe nicht mehr getoetet - Struktur +%AvantiErrTrans+ bzw. Routine _AvantiErrHook_ - Interne Verarbeitung beschleunigt fuer grosse Resultate - Konfigurationsdatei darf _JobTyp_ und _JobSubtyp_ setzen (etwa fuer Redirects) - Neue Kontrollstruktur _PO?WHILE(...)?_ - Neue Routine _PO&Message(...)&_ - "++<=++" und "++>=++" in Bedingungen wurden nicht erkannt - _Paginate()_ erkennt als Aktion auch Werte "++\+++", "++-++" und numerische Werte (setzen Seitennummer). + avdemo:: - ++PopDebug->init()++ auf +WantDebug+ umgestellt - Hilfeseiten jetzt unterhalb von +./cat/+, benoetigen kein virtuelles Verzeichnis +/avdemo+ mehr 1.05:: Maintenance-Release: populo:: - _SplitFind()_ wieder abgeschafft (nicht mehr noetig) - _STLmap()_ loest _stlsort()_ ab (mit Schwartzian Transform) - _Everything_ korrigiert - neue Diagnose-Optionen: "++Envir++", "++Diag++" - Umcodierungen komplett reorganisiert - Hilfsfunktionen _StartRes()_, _EndeRes()_ zum Zerlegen von "JJJJ-JJJJ" + avdemo:: - Verschoenerung und Anpassung Kurztitel - _STLmap()_ wird benutzt, _stlsort()_ deaktiviert. 1.04:: Maintenance-Release: populo:: - _RegPraefix()_ eliminiert (avanti 1.4 zwingend!) - Aufruf ueber Konfigurationsscript moeglich. - Festverdrahteter _JobTyp_ +notjet+ umbenannt in +notyet+. + avdemo:: - Zugriff auf Kurztitel via symbolischer Namen 1.03:: Maintenance-Release: populo:: - Security beruecksichtigt - Neue Funktion _SplitFind()_ (ve: max. 4999 Zeichen pro Jobzeile!) 1.02:: Maintenance-Release: populo:: - Output von "++qrix t++", "++qrix t\+++" kann verarbeitet werden - Automatische Wildcard-Umsetzung "++*++" -> "++?++" war fatal fuer SW... - Tests mit XITAMI ("Working directory" richtig, d.h. etwa als "-" konfigurieren!) + avdemo:: - "++qrix t\+++" in acexpand.job eingebaut 1.01:: Maintenance-Release: populo:: - _LineTyp_ 14, _Fetchit()_ - Debug-Feature +ShowResult+ verbessert - _LineTyp_ 13 wurde faelschlich sortiert - Quotierung bei Mehrwort-find war erforderlich - Comment-Fix - _GetSTLentry()_ umbenannt in _ParseSTLentry()_ - _DbTime_ (Datum der Konfigurationsdatei) + avdemo:: - Quotierung repariert in diversen Jobdateien - Remote-Abfrage jetzt auch mit erweitertem Register + Doku:: - HTML-Version eingefuehrt + Distribution:: - +poppop.lzh+ aufgeteilt in +populo.lzh+ und +nodb.lzh+ 1.00:: erste freigegebene Version