[TYPO3-german] Glossar mit Autotagging

Manfred Müller-Späth fms1961 at gmx.de
Wed Oct 29 10:44:15 CET 2008


Hallo Jochen!

Am 29.10.2008 um 09:52 schrieb Jochen Rau:

> Hallo Manfred,
>
> ich bin der Entwickler von contagged. Ich denke prinzipiell, dass eine
> Zusammenarbeit hier sinvoll wäre. Mit einem zusätzlichen Hook könnte  
> der
> Parser ausgetauscht werden kann oder sogar mehrere Parser nacheinander
> aufgerufen werden (nur serverseitig).

Ok, ich habe nun den JS-Parser fertig. JS übrigens aus diesem Grund:  
ich setze den z.B. auf einer Intranet-Seite ein, auf der mehrere Texte  
per TinyMCE editiert werden. Diese werden auf Knopfdruck aktiviert (im  
Lesemodus ist TinyMCE nicht aktiv) und die Änderungen per xAjax  
gespeichert (ohne submit aus dem Formular heraus), aber nicht neu  
gerendert, weil es an dieser Stelle nicht nötig ist - der Content ist  
ja so, wie der User ihn haben will. Nur soll er nach dem Schließen von  
TinyMCE auch automatisch mit den gewünschten Tags versehen werden, da  
greift dann der JS-Parser, den man auf einen beliebigen Startknoten im  
DOM-Baum loslassen kann.

> Anforderungen und wünsche von Dir:
>>   - ein einfaches Glossar bietet (Schlüsselwort, Beschreibung +  
>> optionale Daten)
> Ok.
Gut. ;-)

>>   - die Wörter einer Seite gegen das Glossar prüft und bei Funden  
>> ein Tag einfügt
> Ok.
Auch gut, aber siehe oben: ich müsste serverseitig rendern lassen.

>
>>   - dieser Auto-Tag Mechanismus sollte folgendes können  
>> (konfigurierbar)
>>       1. bestimmte HTML-Elemente nicht taggen (default: 'A')
> Ok.
Gut.
>
>>       2. einstellbare CSS-Klassen auslassen (default: eigene Klasse)
> Geht nicht
Ist im JS-Parser implementiert

> .       3. nur bestimmte CSS-Klassen taggen (z.B. nur content- 
> Container von Templates)
> Geht nicht.
Ist im JS-Parser implementiert

>>       4. optional Tool-Tipps unterstützen
> Geht. Beispielkonfiguration wird mitgeliefert.
Ich wollte die ursprünglich "native" dazupacken. Davon bin ich  
abgerückt, daher kann man, gesetzt den Fall, ich kann eine beliebige  
Klasse und den das "title"-Tag passend füllen, ein beliebiges ToolTip- 
Script anwenden.

>
>>       5. das Tag ist frei konfigurierbar  (für Links oder Span-Tags)
> Ok. Sehr flexibel konfigurierbar.
Gut.

Das eigentliche Glossar ist bei mir rudimentär, es gibt eben eine  
Listenübersicht, die Detailseite ist noch nicht soweit, insofern wäre  
Dein Code da brauchbarer, ich brauch aber noch eine Seite, in der  
bestimmte FE-Gruppen Datensätze anlegen und ändern können, und das  
nicht per BE. Das müsste ich auf jeden Fall noch umsetzen.

> Contagged bietet noch ein paar Sachen mehr (z.B. findet es auch mit
> Bindestrich verbundene Begriffe; außerdem können einzelne Äste oder
> Seiten des Seitenbaums aus- bzw. eingeschlossen werden).

Das ist gut. Kann er auch Phrasen? Denn da dachte ich gerade drüber  
nach ... das würde dann aber bedeuten, dass man aus Performancegründen  
nicht mehr einfach "plump" in der Datenbank nach Schlüsselbegriffen  
suchen kann. Ich habe vor Jahren einmal eine Suchmaschine geschrieben  
(allerdings in Delphi und 'ner Oracle DB), das Teil war sogar  
kommerziell online (bis das zugehörige Startup beim Dotcom-Blasen- 
Platzen mit unterging...) - da war doch erheblicher Aufwand nötig, um  
eine sinnvolle Performance zu erzielen.

>
> Das Parsen des 'fertigen' HTML-Dokuments hat den entscheidenden
> Nachteil, dass man jegliche Information über den Ursprung (z.B. Uid  
> des
> tt_news-Datensatzes) verliert.

Das könnte man sicherlich umgehen, indem man die Parametrisierung  
passend gestaltet. Ist zwar redundant, würde das problem aber lösen.

> Ich bin ein Fan von Regulären Ausdrücken, aber das würde ich mir nicht
> antun, dafür einen passenden Ausdruck zu schreiben ;-)

Hier packe ich den extradicken Edding aus und unterstreiche das ...  
vor allem, weil man da nicht sicher ist, auch mal quer durchs DOM zu  
schiessen und Tags zu zerhacken ... In Sachen Performance kann ich  
meinen JS-Parser aber nicht tadeln ... ;-) Vor allem, wenn man ihn  
sinnvoll nur auf die Bereiche loslässt, die auch passende Inhalte haben.

> Vielleicht können wir ja das Beste aus Deinem und meinem Ansatz  
> vereinen.

Gerne. Bin ich immer für zu haben! :-)

Gruß, Manfred



More information about the TYPO3-german mailing list