Antwort
 
Themen-Optionen Thema durchsuchen
Alt 26.10.2006, 18:55 Nach oben    #1
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 287
Standard Tagging realisieren, Datenbankstruktur, tagcloud

Hallo,

Ich möchte auf meiner Seite Tags einsetzen...also hier den Web 2.0 Krempl. Nur ohne Effekthascherei, etc. So das ich auf meiner Page so ne kuhle Tag Cloud anzeigen kann.

Derzeit habe ich verschiedene Arten von Texte in unterschiedliche DB Tabellen gespeichert. Folglich kann ich nicht einfach so eine Auflösungstabelle erstellen die die Tags den jeweiligen Texten zuordnet da es ja unterschiedliche Inhaltstabellen sind wo sich natürlich auch die IDs überschneiden. Zur Not könnte man noch nen Wert einbauen der die einzelnen Text Typen nochmals unterscheidet.

Aber so eine Tabelle zum Auflösen der Text <-> Tag Beziehung wäre j irre riesig. Allerdings werden dadurch die Tags zentral gespeichert, was auch nicht verkehrt ist falls verschiedene Autoren untersch. Schreibweisen für Tags benutzen würden könnte man dem vorbeugen.

Was ich mir vielleicht gedacht hatte. Ich speichere die Tags Zentral in einer Tabelle und jeder Text bekommt ne Spalte wo unnormalisiert etwa sowas drinsteht: 64;3;12;74;43;7;53;23
Diese Zahlen geben die jeweilgen Tags wieder. Die Namen der Tags könnte man ja glaube ich nach einem explode(), etc. mit dem passenden Query auf einen Schlag rausholen.

Die Möglichkeit die Autoren die Tags selber eintragen zu lassen einfach in eine Spalte unnormalisiert zu speichern, etwa: gelb, obst, sauer, lustig, ...
is wohl die schlechteste Möglichkeit um im nachhinein mit den Tags was zu machen.

Habt ihr noch ein paar Tips wie man was mit Tags machen könnte?
ex³ ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 21:32 Nach oben    #2
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 553
Standard

naja das taggen von einträgen sollte schon im klartext möglich sein, aber beim eintragen in die datenbank müssen die tags dann in die enstrprechenden ids umgeändert werden.

eine eigene tag_relation tabelle wird natürlich richtig groß, hat aber den vorteil, dass man schnell alle einträge mit einem bestimmten tag rausfinden kann. und auch das finden von ähnlichen einträgen (also ähnlichen tags) ist damit auch schneller.

welche variante du jetzt verwenden solltest hängt aber auch davon ab, was du mit den tags alles machen willst, und was deine seite so alles enthält.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 21:38 Nach oben    #3
Erfahrener Benutzer
 
Registriert seit: 30.10.2005
Beiträge: 287
Standard

Zitat:
naja das taggen von einträgen sollte schon im klartext möglich sein, aber beim eintragen in die datenbank müssen die tags dann in die enstrprechenden ids umgeändert werden.
Ich dachte da eher an ein eine ellenlange Liste mit Checkboxes. Wobei die im Klartext speichern und dann in IDs konvertieren und dann speichern auch nicht verkehrt ist.

Letztendlich wollte ich mit den Tags das übliche machen. Also zu jedem Text die jeweiligen Tags anzeigen bzw. ne TagCloud draußen machen. Dann vielleicht noch ne gruppierte Tag Cloud nach den Textarten und eine große für die Hauptseite.
ex³ ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.10.2006, 01:37 Nach oben    #4
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 553
Standard

für diese anwendung reicht es allerdings, die tag-ids als array bei den einträgen zu speichern.
um die erstellung der tag clouds zu verbessern, solltest du für jedes tag auch die anzahl der einträge in einem extra feld speichern. also wenn ein neuer eintrag mit einem keyword erstellt wird, den zähler hochzählen, wenn einer gelöscht wird, runterzählen. dann muss für die erstellung einer tag cloud nicht die kompletten eintrags-tabellen durchsuchtwerden, wie oft eine id in der auflistung vorkommt.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.11.2007, 23:12 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Hallo,
ich krame diesen Thread nochmal aus den Tiefen dieses Forums heraus, da ich derzeit überlege, wie ich das Problem der Tag-Vergabe und Speicherung innerhalb der Datenbank am besten umsetze.

Die tagcloud, die ich haben möchte ist eine Standardvariante, die man häufig in Weblogs vorfindet. Das reicht mir für den Anfang.
Ich habe nun etwas im Internet gesucht und bin zum Beispiel auf dieses Datenbankmodell gestoßen. [1]

Es wird ja sicherlich schon irgendwer mal Gedanken zu diesem Thema "verschwendet" haben. Aus diesem Grund frage ich auch nochmals an dieser Stelle nach, um eventuelle Verbesserungsvorschläge, Ideen zur Datenspeicherung und auch zur Datenverarbeitung zu erhalten.

Wenn mir dort jemand ein Feedback zu der verlinkten DB-Struktur geben könnte, wäre das perfekt.


[1] Ralf Eggert, Zend Framework Tutorial Teil 4: MVC Design Pattern und Zend_Db
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.11.2007, 23:34 Nach oben    #6
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

So habe ich das Schema auch umgesetzt.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.11.2007, 23:55 Nach oben    #7
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 553
Standard

was soll denn da "tag_path" sein? Also meiner Auffasung nach sollten Tags im Gegensatz zu Cats keine "Verzeichnisstruktur" haben.
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.11.2007, 23:56 Nach oben    #8
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
So habe ich das Schema auch umgesetzt.
Gut. Danke.

Es dauert bei mir noch etwas bis ich an die eigentliche Implementierung gelange, demnach ist hier noch etwas Zeit, um Antworten zu schreiben. Werde hier regelmäßig wieder reinschauen.


Zitat:
was soll denn da "tag_path" sein?
Ich habe keine Ahnung. Ist ja nicht mein DB-Entwurf.
Ich hätte diese Spalte nicht mit einbezogen, sondern eventuell pro Tag noch eine Art Zähler mitlaufen lassen, so dass man nicht beim Auslesen erst berechnen muss, wie häufig ein tag vergeben wurde, sondern dass die Datensätze beim Neueintrag eines Datensatzes direkt auf den aktuellen Stand gebracht werden.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.11.2007, 05:11 Nach oben    #9
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Naja tag_path ist eine Implementierung um eine saubere Url zu haben, wenn der Tag beispielsweise Dönertier ist, will ich das ö nicht drinhaben, sondern stattdessen z.b. oe, je nach Backend gibt es da jetzt 2 Möglichkeiten, eine wäre, eine Funktion die mir automatisch aus dem Tagnamen eine schöne passende Variante für die Url macht (umlaute, sondernzeichen etc entfernen bzw. umsetzen (ä = ae ... etc), n lowercase umwandeln, ... ) macht oder eben einen der vom User selbst eingegeben wird und der landet dann beispielsweise in dem Feld.

Und da diese Umwandlung nicht 1:1 rückgängig machbar ist, braucht man das eben als weiteren Wert.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.11.2007, 12:47 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Danke für die Erläuterung. Hatte nicht an Umlaute oder z.B. tags aus zwei oder mehr Wörtern gedacht.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.11.2007, 17:26 Nach oben    #11
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 553
Standard

achso, danke benjamin. also das is quasi wie der "post slug" in wordpress. halte ich nicht für nötig, solange man größtenteils ascii-zeichen verwendet (bei asiatischen schriftzeichen wäre dass natürlich was anderes... *gg*) kann man das auch durch einfache ersetzungen machen (Umlaute umschreiben, Sonderzeichen rauslöschen oder durch Bindestrich ersetzen etc.)
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.11.2007, 18:33 Nach oben    #12
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard

@Johannes: deine Aussage wiederspricht aber:
Zitat:
Zitat von robo47 Beitrag anzeigen
Und da diese Umwandlung nicht 1:1 rückgängig machbar ist, braucht man das eben als weiteren Wert.
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 01:01 Nach oben    #13
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Habe jetzt gerade mal auf Basis der oben verlinkten Grafik angefangen mir ein paar Gedanken zu machen und ich glaube, dass das noch ganz interessant wird.

Gerade im Bereich der Zuweisung von tags zu Artikeln bzw. der Abgleichung von tags, mit schon in der Datenbank vorhandenen.
Wirklich interessant. Freu ich mich schon drauf dieses Problem anzugehen.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 07:21 Nach oben    #14
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Habe jetzt gerade mal auf Basis der oben verlinkten Grafik angefangen mir ein paar Gedanken zu machen und ich glaube, dass das noch ganz interessant wird.

Gerade im Bereich der Zuweisung von tags zu Artikeln bzw. der Abgleichung von tags, mit schon in der Datenbank vorhandenen.
Wirklich interessant. Freu ich mich schon drauf dieses Problem anzugehen.
naja du musst nur abfragen ob der Tag oder der pfad schon in der DB ist oder die brutale methode, die spalten unique machen und nen insert versuchen, dann bekommste nen fehler um die ohren gehauen
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 08:16 Nach oben    #15
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Klar. Man muss halt auch schauen, wie man dem User das am besten anbietet, damit zwar neue tags hinzukommen können, aber dennoch auch bestehende verwendet werden können.

Altbekanntes Beispiel: Web 2.0, Web2.0, web 2.0, ... das muss ja irgendwie auf einen Nenner gebracht werden. Ist alles kein Hexenwerk, muss aber in meinen Augen gut bedacht sein, damit man sich da nicht verzettelt.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 08:26 Nach oben    #16
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Klar. Man muss halt auch schauen, wie man dem User das am besten anbietet, damit zwar neue tags hinzukommen können, aber dennoch auch bestehende verwendet werden können.

Altbekanntes Beispiel: Web 2.0, Web2.0, web 2.0, ... das muss ja irgendwie auf einen Nenner gebracht werden. Ist alles kein Hexenwerk, muss aber in meinen Augen gut bedacht sein, damit man sich da nicht verzettelt.

Version 1)
-> User schaltet Brain 1.0 ein und weis zumindest etwas was er schon für Tags verwendet hat
Version 2)
-> User bekommt Unterstützung von Web 2.0 durch Ajax, das so wie es bei erstellen von Bookmarks bei beispielsweise del.icio.us passiert, beim Tippen Vorschläge aus der DB für seine Tags bekommt, das ganze sollte halt wie dort auch so implementiert sein, dass es nach jeder (fast) Leerstelle wieder neu anfängt, das fast, weil man ja eventuell Tags aus 2 Wörtern auch erstellen will, das ist möglich z.b. mit Anführungszeichen oder der etwas unschönere Weg, den Bindestrich zwischen den Worten nutzen und ihn dann bei der Ausgabe entfernen, geht halt nur wenn man keine Tags mit - im Namen später braucht und ist zugegeben der faulere und einfachere Weg (den ich aktuell gegangen bin )
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 08:32 Nach oben    #17
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.517
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
User schaltet Brain 1.0 ein und weis zumindest etwas was er schon für Tags verwendet hat
Das ist keine wirkliche Alternative, weil es ja unter Umständen x User mit y verwendeten tags geben kann.

Ich würde auch zu Version 2, so wie du sie vorstellst, tendieren.
Wobei das mit den tags mit mehreren Wörtern wohl am einfachsten durch einen Trenner, z.B. dem Komma, realisiert werden könnte.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.11.2007, 08:38 Nach oben    #18
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
Standard

Die Idee mit , (Komma) als Trennzeichen ... phänomenal, gerade zu Nobelpreisverdächtig ... warum ich da ned selbst drauf gekommen bin, dann kann man weiterhin ganz einfach den - (Bindestrich) nutzen wenn man will und kann ohne nen regex oder ähnliches die Tags in ein Feld eingeben und mittels explode auf ein leerzeichen trennen.
Mega Supi Toll das werd ich nachher umändern

Danke
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unterschied zwischen Kategorisierung (mehrfach) und tagging Ben Anwendungsdesign / Softwarearchitektur 16 16.11.2007 01:39


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45