mp3tag-fähige online-DB anlegen


#1

Hallo alle zusammen.

Ich habe nun schon einige Zeit damit verbracht, eine Lösung mittels Google zu finden, aber leider bin ich alleine gescheitert. Vielleicht kann mir ja einer von euch helfen.

Ich habe folgendes Problem:

Ich habe vor, eine Onlinedatenbank anzulegen, zum Bsp: von einem Hörspiel.

Wie gehe ich die Sache an oder was muss ich machen, dass man nun per MP3Tag diese Daten aus meiner DB rausladen kann, als Tag-Quelle quasi wie es bei Amazon.de und freedb und der gleichen klappt?

Ich bin für jede brauchbare Antwort dankbar.

Ciao

Die Tomate


#2

Du kannst eine passende .src Datei schreiben die z.B. eine html oder xml Seite parst.
In der Hilfe gibt es dazu eine Seite und im Forum zahlreiche Beispiele:
/c/web-sources-scripts


#3

Danke... Ich hatte mir fast schon gedacht, dass ich nicht der erste bin, der fragt, nur leider war ich nicht schlau genug, um zu finden, was ich suchte :wink:
Nur leider muss ich grade feststellen, dass ich das absolut nicht verstehe...

Gibt es denn in mp3tag eine möglichkeit, die daten so zu exportieren, dass ich sie in meiner Website einbinden kann, oder muss ich diese Listen dynamisch per anfrage auslesen lassen, damit das Programm damit umgehen kann?

Ich bin leider, muss ich zugeben auf diesem Gebiet ein absoluter Nullblicker... :flushed:


#4

Wenn ich das richtig verstehe, willst du die deine Dateien exportieren und selbst eine Datenbank anlegen.
Da gibt es einige Möglichkeiten mit den Export Scripts:
/t/1495/1
Du kannst solche Scripts auch selbst erstellen oder nach belieben umeditieren, Hilfe dazu hier:
http://help.mp3tag.de/options_export.html


#5

Wenn ich dich richtig verstehe, dann meinst du einfaches Exportieren des Tags, oder?

Ich möchte gerne, dass Hans und auch Bernd den ID3-Tag mittels MP3TAG oder iTunes oder welchen tagging-tools auch immer, von meiner Site laden können. So wie A**zon oder eben freedb.org. Und das möchte ich gerne in meine Site einbinden... Also keine reine Tag-Site haben aber diese Funktion bieten können...


#6

Genau, um selbst so eine Seite zu erstellen kannst du die Tags exportieren. Wirf doch einfach mal nen Blick auf die vielen Beispiele mit Previw hier:
/t/1495/1
Da wird doch was passendes dabei sein was du noch ein bisschen abwandeln kannst und schon hast du die Seiten für deine online Datenbank.

Damit Hans und auch Bernd den ID3-Tag mittels MP3TAG von deiner Site laden können, brauchen die dann ein Web Sources Script, dass auf deine Seite angepasst werden muss. Beispiele solcher Scripte für andere Seiten wie A**zon oder eben freedb.org findest du unter dem Link von dano oben.
Wie Hans und auch Bernd den ID3-Tag mittels iTunes oder welchen tagging-tools auch immer von meiner Site laden können weiß ich nicht. Bei iTunes würde es mich sehr wundern wenn die frei Scripte für beliebige Quellen erlauben, weiß ich aber nicht. Für viel andere Tools kann man sicher auch Skripte schreiben.


#7

Wenn es für deine beiden Freunde Hans und Bernd sein soll, dann lege doch einfach eine Textdatei auf deinem Server ab, vielleicht im CSV Format oder wie auch immer, die sich deine Freunde herunterladen können und den Inhalt dann via Konverter "Textdatei-Tag" in ihren Dateibestand einladen können. Das ist eigentlich fast das unkomplizierteste Vorgehen.

Wenn du dir aber vorstellst, dass deine Freunde dazu die Mp3tag Tag-Quellen Funktion benutzen sollen, dann geht das grundsätzlich erst einmal genauso.
Du legst eine Textdatei mit entsprechendem Inhalt auf deinen Server.
Diese Datei wird dann mit der Tag-Quellen Funktion abgerufen und ausgewertet.
Dabei solltest du darauf achten, die Quellendatei in einem möglichst einfachen Format anzubieten, so dass das Tag-Quellen-Skript auch einfach gehalten werden kann.
Also möglichst kein HTML, aber in einem automatisch auswertbaren Format.

Wenn die Tag-Quellen Funktion von Mp3tag wirklich irgenwann einmal mit dem HTML oder XML DOM Modell umgehen kann oder XPath verstehen könnte, dann würde ich selbstverständlich ein strukturiertes Datenangebot via XML empfehlen, aber dem ist ja nicht so.

Du kannst dich ja mal damit beschäftigen, ein simples Skript zu erstellen, vielleicht erst einmal für zwei oder drei Tag-Felder für einen bestimmten Song.

Irgendwie musst du es ja auch hinbekommen, dass z. B. der von Mp3tag "gesendete" bzw. abgefragte Artist oder Titel von deinem Server erkannt wird und dann die dazugehörigen Daten ausliefert. Dafür brauchst du aber entsprechende Web-Funktionalität auf deinem Server, z. B. CGI oder ASP.

Wenn das nicht vorhanden ist, dann musst du eben den langen Weg gehen und eine Menge einzelner Dateien anlegen, die irgendwie über ihre Dateinamen den Rückschluss auf den Artist oder Titel ermöglichen.

DD.20101030.1833.CEST


#8

Wieso, die meisten Web Source Skripte sind doch für HTML Seiten. Und auch für XML hab ich schon eins gesehen.
Ich würde in HTML am besten mit id-Attributen arbeiten, dann ist es ein Kinderspiel ein Skript zu schreiben das die betreffenden Werte findet.


#9

Die Mp3tag Tag-Quellen Funktion geht nur mit Text um, aber nicht mit dem Dokumentenmodell von HTML oder XML.

Ja, das mit den id-Attributen habe ich mir auch schon mal überlegt, ob man nicht in einem pre-processing alle (relevanten) HTML Tags mit automatischer ID Nummer versieht, so dass man anschließend bei der Auswertung mit einfachen Regex-Ausdrücken sozusagen wahlfrei in den Text hineingreifen kann, ohne auf irgendwelche Zeilenvorschübe und andere Formatierungen angewiesen zu sein oder Rücksicht nehmen zu müssen.

DD.20101020.1930.CEST


#10

Ach so, du meinst weil man der Quelltext einer Seite als Grundlage dient und HTML oder XML Elemente nicht von selbst erkannt werden.
Aber das hindert ja das Mp3Tag mit dem richtigen Skript nicht daran, den relevanten Text in einem HTML oder XML Text zu finden.


#11

Ja das trifft schon zu, aber HTML oder XML kann auch völlig wegfallen.
Das Tag-Quellen Konzept bezieht sich nicht aiuf eine besondere Sprachsyntax in der Quellendatei.

Aber wenn mal irgendwo an einer relevanten Stelle in der Webseite ein Leerzeichen hinzukommt oder entfernt wurde, oder der Webseitenhersteller meint, er müsse heute mal alle HTML Skripte "schön" machen, dann ist es leicht möglich, dass ein Tag-Quellen Skript sofort nicht mehr funktioniert, weil es eben so sehr stark von der Form des Textes abhängig ist.

Alle diese auf das Textformat bezogenen Anweisungen wie GotoLine und GotoChar sind sehr anfällig für Formatierungsänderungen auf der Webseite, dabei muss noch nicht einmal ein einziger Anzeigeinhalt verändert sein, und doch funktioniert dann ein Tag-Quellen Skript nicht mehr, deshalb sind diese Skripte außergewöhnlich wartungsintensiv.
Ich persönlich halte dieses Skript Konzept für nicht besonders robust in der Anwendungspraxis.

Ein professionelles Konzept, das zielgerichtet mit XPath Anweisungen auf den konkreten Inhalt direkt zugreift, ohne erst lange im Text herum zu navigieren, wäre vorzuziehen.

DD.20101020.2036.CEST


#12

Wir werden leicht off-topic.
Er will doch seine Datenbank selbst machen auf die das Skript später zugreifen soll, da wird er kaum irgendwas verändern ohne sein Skript dabei im Auge zu behalten.
Dass GotoLine und GotoChar anfällig sind wird glaub ich sogar in der Hilfe für Web Sources extra erwähnt, aber dafür gibt es ja auch noch FindLine und FindInLine.
Ob das mit XPath Anweisungen einfacher und robuster ginge, kann ich nicht beurteilen, ist aber hier doch auch erstmal egal.


#13

Deswegen weise ich ja auch auf den Zusammenhang zwischen Datenhaltung und Datenabfrage hin.
Tommy Tomate hat die Chance, für sich und seine Freunde eine ziemlich einfache singuläre Lösung zu erschaffen.
Oder er entwickelt vielleicht eine universal nutzbare Lösung, an der wir alle etwas haben.

Bis jetzt ist es noch völlig ungeklärt was Tommy Tomate unter einer "Onlinedatenbank" versteht.
Ist das eine "Zettelwirtschaft" mit ganz vielen einzelnen Dateien oder mit einer einzigen ganz langen Datei oder läuft ein SQL Server im Hintergrund? Nichts genaues weiß man nicht.

Wie wird das ganze Vorhaben technisch "gehostet"?
Tommy Tomate möchte "Daten aus Mp3tag so exportieren, dass er sie in seine Website einbinden kann". Hmm, wo oder was ist die Datenbank?

Wie stellt Tommy Tomate sich den Abfragevorgang vor?
Hat Tommy Tomate verstanden wie ein Mp3tag Tag-Quellen Skript eine Anfrage an einen Webserver richtet und wie das Skript die Antwort auswertet?

Fragen über Fragen.

Wie gesagt, eigentlich kann man ruck zuck eine Textseite erzeugen, welches Format auch immer, und die auf seine private Homepagesite kopieren, diese Seite muss nach außen auch gar nicht sichtbar sein, Hauptsache die URL ist dem Abfragenden bekannt, und mit einem Tag-Quellen Skript kann die Datei ausgewertet werden.
Man muss nur das ganze Drumherum ordentlich organisieren, so dass es auch in der Vielzahl der Nutzung wirklich robust und intensiv brauchbar ist.

DD.20101020.2224.CEST


#14

Genau, aber schön das wir zwei schon ausführlich über alle Eventuallitäten diskutiert haben bevor sich der Tommy Tomate wieder meldet.


#15

Hello Dudes...

Was freu ich mich, dass es ein solch reges Treiben um meine Visionen gibt :w00t:

Bevor nun weitere Eventuallitäten geklärt werden will ich mal versuchen, nichts genaues genauer zu erläutern...

Mache ich glatt, nur lande ich damit bei den gleichen Problemen wie vorher, aber erst mal der Reihe nach.

Ich habe hier ein Beispiel, zwar noch ohne weitere Funktion und nicht direkt von Nutzen für eine MP3-Tag-Abfrage, aber so etwas in der Art wollt ich mit meinen Hörspielen machen, die ich hier seit frühster Kindheit sammel: Rainer-Bekannter v3.X. So wie im Beispiel wollt ich auch meine Hörspiele und Musikalben einpflegen und die Tags dann gleichzeitig für alle anbieten, sowohl online (also tabelarisch auf der Site) als auch zur besagten Abfrage, da ich weiß, wieviel Zeit man damit verbringen kann und da ich bei dem Einpflegen nicht alleine bin, wird es wohl mit zunehmender Zeit auch genügen Auswahl geben.

Vorzugsweise in meiner eigenen Datenbank zu meiner eigenen Site und die Cover extern auf einem ImageHoster like Photobucket oder ähnlichem. Das exportieren ist ja nun mal eine nebensache, die ich mir gedacht habe, weil ich schon alle Tags fertig habe, könnt ich sie exportieren und automatisiert einpflegen, ob nun als txt in flash einlesen und per PHP abspeichern oder alles per PHP. Das wird dann entschieden, wenn es um die Befüllung der DB geht...

In dem der User, dem ich die Tags zur Verfügung stellen will in MP3TAG den dritten Button von rechts (zumindest bei meiner Version und meinen Settings) drückt und dort über meine URL die Daten bekommt, wenn sie eingepflegt wurden...

Hat er beides nicht verstanden, da er ja leider absolut unwissend ist :flushed: (wobei oben genannte Links ja vllt schon einen Schritt in Richtung abhilfe bringen)

Das mit der Textdatei hätte ich auch noch grad hinbekommen, aber mir geht es darum, dass ich die Daten ja auch gleich für die Onlinenutzung nutzen will, also wie im Bsp oben schon erläutert und nicht noch für jeden Eintrag eine txt-Datei per Hand erstelle oder aus eingepflegten Daten mittels PHP erstellen lasse.

Ich hatte mich ja extra in diesem Forum bemerkbar gemacht, um eine Lösung zu erarbeiten die auch länger brauchbar ist und alle glücklich macht und vllt auch von dem einen oder anderen genutzt wird, wenn sie Idiotensicher ist und lückenfrei funktioniert

Ich danke euch aber für eure bisherigen Bemühungen und hoffe, dass vllt irgendwann der Groschen fällt, ich weiß was zu machen ist und so eine brauchbare Datenbank entsteht.


#16

"sowohl online als auch zur Abfrage" (mit Mp3Tag) ist das selbe. Mp3Tag kann mit Skripten auf alle Textbasierenden Onlineangebote zugreifen. Du musst das nicht an zwei verschiedenen Orten oder in zwei Formaten oder so speichern. Wenn etwas tabelarisch auf einer Seite vorliegt, ist das ziemlich ideal für Mp3Tag um das zu lesen.

Was meinst du Nebensache? Um deine Datenbank zu machen musst du sie doch exportieren. Sonst hast du ja keine Daten. Oder meinst du mit "alle Tags fertig", dass du sie schon in einem anderen Format als in den einzelnen mp3s gespeichert hast.
In Flash geht nicht, weil dann kann Mp3Tag nicht mehr auf den Text zugreifen.

Grob gesagt: die Skripte können jedes online Angebot auswerten, das im Textformat zugänglich ist. Damit mein ich den Quelltext einer Website. Flashseiten gehen also nicht, weil man da im Quelltext nicht den gesuchten Text findet.

Damit das Skript eine Seite findet, braucht es eine Suchmethode um sie zufinden. Bei den meisten Skripten funktioniert das über die Suchfunktion der jeweiligen Zieldatenbank. Wenn man diese benutzt, kommt man bei den meisten Seiten auf eine Seite, die die Suchbegriffe in der URL hat. Dies macht sich das Skript zu nutzen in dem es diese URL mit den vom Mp3Tag Benutzer gewählten Suchbegriffen erzeugt und die Treffer dann tabelarisch auflistet.
Eine Weitere Möglichkeit bietet sich bei vielen Datenbankseiten durch feste Kategorien die man ohne Suche per URL aufrufen kann. Das wären auf deiner Beispielseite etwa Matt Groening, The Simpsons, Animation, Comedy, Twentieth Century Fox. Hätten diese Links alle eine Seite die alle dazugehörigen Folgen, Staffeln ode welche Datenbankeinträge auch immer auflistet, könnte diese Liste auch wieder mit Mp3Tag abgerufen werden.
Es ist aber auch möglich ein Skript so zu gestallten dass man direkt ein URL eingibt. Der Nachteil dabei ist dass dann erst eine Suche im Webbrowser vorausgehen muss, auf den anders ganz verzichtet werden kann.

Hat das Skript dann eine Seite gefunden folgt das Suchen der Inhalte für die gewünschten Tags. Dazu gibt es eine Skriptsprache, mit der das Skript automatisch im Quelltext der Seite "navigiert" und zu den gewünschten Inhalten springt. Wichtig ist dabei dass alle Seiten der Datenbank gleich aufgebaut sind, damit das Skript auf jeder Seite gleich navigieren kann.
Auf deiner Beispielseite könnte man etwa "Matt Groening" dadurch finden, dass das Skript im Quelltext nach "Regisseur(e):" sucht, dann das im Text als nächstes folgende "<a href" und dann das nächste ">". Von da würde es dann alles bis zu nächsten "<" als Wert nehmen und in ein beliebiges Tag Feld schreiben. In dem Fall also wohl %artist%, du könntest aber auch ein frei wählbares nicht-Standard-Feld wie %director%" wählen, oder auch beides.

Ich kann nur nochmal sagen, schau dir die Beispiel hier an:
/t/10843/1
Man kann das beliebig abwandeln solange es regelmäßig, aslo für jeden Eintrag gleich ist. Da sind Beispiele für HTML und XML. Auch andere Formate sind denkbar, was du halt brauchst. Du kannst auch Links gleich mit einbauen, wenn sich sich jeweils nur duch den Tag-Wert unterscheinden. Also z.b: database/artists/%artist% für den link zu database/artists/Matt_Groening oder database/series/%album% für database/series/The_Simpsons wenn du "The Simpsons" als Album-Tag nimmst.

Alles in allem müsste sich damit eigentlich fast die komplette Website erstellen lassen. Nur die Navigationsseiten müsstest du extra machen. Obwohl sich so Kategorie Seiten für verschiedene Serien, Verlage, was auch immer auch automatisch machen lassen müssten, wenn du halt alle Dateien gleichzeitig in Mp3Tag einlädst.
Kann dass aber nicht ganz so kompetent beurteilen da ich nur einen groben Einblick in HTML habe und sonst von Webseiten oder Programmieren keine große Ahnung hab. Wie etwa PHP funktioniert und was das genau ist weiß ich z.B. nicht.

Dein Gesamtvorhaben besteht also im wesentlichen aus drei Schritten, die nur in dieser Reihenfolge bearbeitet werden können:

  1. Du überlegst dir, wie deine Datenbank strukturiert sein soll.
  2. Du überlegst dir, wie du die Daten in diese Struktur kriegst. Da kann dir Mp3Tag mit einem Exportskript helfen, dass du dir selbst für deine Zwecke erstellen musst.
  3. Nachdem du deine Datenbank (oder die ersten Testseiten) hast machst du dir ein Webskript, das die Daten da wieder rauslesen kann.

#17

Ich wollte damit eigentlich sagen, dass ich das alles so gestallten will, dass es für beide Anwendungen passend ist.

Ich meinte mit Nebensache wie ich die Tags aus den MP3s bekomme und in meine Datenbank eintrage. Mit alle Tags sind fertig, meine ich, dass ich die alle noch in den MP3s habe und nur exportieren muss. Und bei Flash meinte ich den eigentlichen "Einpflegevorgang", sprich von der exportierten Datei in die Datenbank. Die ausgabe soll zum schluß im HTML-Format geschehen (Flash nur deshalb, weil ich da weiß, wie ich eine *.txt einlese :smiley:)

Soll alles PHP/HTML werden, nur Navigation und Spielerein (wie gezeigten Speedvote) in FLash

Die Links, die du angesprochen hast, sollen tatsächlich alle eine tabellarische Ausgabe ergeben. Also Matt Groening gibt alles, was in meiner DB unter Matt Groening zu finden ist. Equivalent verhalten sich die anderen Links.

Ich glaube verstanden zu haben, dass ich einheitlich arbeiten soll und immer die gleiche "Maske" für meine Site brauche?! Da ich vorhabe, die gesamte Seite aus einer DB generieren zu lassen, sollte es immer einheitlich aussehen. Zumindest bei den MP3-Tag-relevanten Teilen (Musik / Hörspiel)

Ich werde es auswendig lernen und mich danach richten :wink:

Also die Navigationsseite verstehe ich nicht ganz. Ich habe für jeden bereich, sprich News / Hörspiele / Musik / ... eine extra Übersicht, wo dann als erstes immer die neusten einträge ausgegeben werden. Aber im Menübaum auf der linken Seite sind noch weitere Hauptgruppen, wo man ohne weiteres Tag-Relevante Links erstellen könnte.

  1. Die Strukturierung der DB wollte ich (zumindest bei Musik und Hörspielen) von den MP3-Tags abhängig machen. Aber wenn du sagst, dass man direkt im HTML-Code nach den wichtigen Einträgen suchen kann, ist doch viel mehr die Ausgabe wichtig, oder irre ich?
  2. Die Daten werde ich wohl tatsächlich per MP3-TAG in eine *.txt exportieren und diese irgendwie in die DB eintragen lassen.
  3. Testen wäre das erste was ich mit einem kompletten Eintrag machen würde, alleine schon, weil es ein wunderbares Gefühl ist, wenn seine eigenen Sachen funktionieren :smiley:

Aber jetzt mal fern ab meines Geschwafels und Vorhabens (und um sie zu würdigen): Ich bin dir wirklich dankbar für deine Hilfe :w00t:


#18

Richtig genau, hab mir schon gedacht, dass das eh der Fall ist.


#19

Guten Abend...

Ich hoffe, ich betreibe nun keine Leichenschändung, da der Fred ja nun knapp 8 Monate brach lag. Wenn ja, dann sei dem so und ich nenn mich Frank'n-Stein. Aber worauf ich eigentlich hinaus wollte ist: Klausurenphase als Student + Umzug + kleines Kind = wenig Zeit = wenig Website = mein Fall...

Ich bin wirklich sehr dankbar über eure Hilfe und wollt an dieser Stelle eigentlich nur mal direkt meinen Dank loswerden...

Ich habe es nun über die letzte Zeit geschafft, wenigstens mal eine Vorlage zu erschaffen, wie die Website mit der Tracklist und allen Infos tatsächlich aussehen würde und nun stellt sich mir die Frage ob es so gehen würde oder ob ich meine Site überarbeiten muss...

Hier ist mal der link: Beispiel-Website Hörspiel

Mein Ziel ist es, die iPod-Relevanten Daten aus dieser Website mittels mp3-Tag auszulesen, als da wären:

  • Tracknummer/Gesamttrackzahl
  • Discnumber/komplettdiscnumber
  • Cover
  • Titel
  • Album
  • Jahr
  • Interpret
  • Genre

Sicher kann man da noch einige mehr Informationen unterbringen und auslesen, aber das ist erst mal der Kern meines anliegens. Wollt mal nicht gleich nach den Wolken greifen, wenn ich noch nicht mal laufen kann :wink:

Wenn ich nun alles richtig verstanden habe ist es nur wichtig, dass die Site einer bestimmten Gleichmäßigleit unterliegt und nicht etwa besondere tag benötigt werden, richtig?

Ich bin direkt im Vorfelde dankbar, wenn sich noch mal jemand dazu äußern könnte und wünsch mal so salop nen schönen abend...

Die Tomate