Not logged in. · Lost password · Register
Forum: UNB Components (a.k.a. UNB2) RSS
Umgang mit Attachments
Ein paar offene Fragen...
Avatar
Yves (Administrator) #1
User title: UNB developer & webmaster
Member since Jan 2004 · 3855 posts · Location: Erlangen, Germany
Group memberships: Administrators, Members
Show profile · Link to this post
Subject: Umgang mit Attachments
Hallo zusammen,

ich habe die letzten Tage wieder mehr mit der Entwicklung an UNB2 verbracht, nachdem ich jetzt ein neues Projekt plane, in dem ich das neue System einsetzen will. Seit dem letzten öffentlichen Release gibt es einige kleinere Neuerungen, zuletzt habe ich einige Änderungen am Datenbankschema und dem Datenbankzugriff vorgenommen. Auch die Demo-Anwendung hat einiges dazugelernt, u.a. die Darstellung mehrerer Mitteilungen in einer Diskussion, wie man es von Foren eben kennt (und nicht so umständlich wie bei heise.de).

Bevor ich dann mit der Textsuche anfange, möchte ich jetzt aber noch die Attachment-Verarbeitung klären und evtl. auch fertig implementieren. Bei einfachen Webforen (wie auch im UNB1) kann man an jede Mitteilung genau eine Datei anhängen. Die wird dann ggf. unter dem Text angezeigt. Das soll in UNB2 ja aber besser werden. Hier ist es vorgesehen, mehrere Dateien an beliebigen Stellen des Texts einzufügen, vergleichbar mit einem Wikipedia-Artikel.

Dazu müssen natürlich die Dateien irgendwie hochgeladen werden, um sie dann im Mitteilungstext an der gewünschten Stelle einzufügen. Soweit ist noch alles klar. Man öffnet ein Datei-Upload-Formular, am besten in einem 2. Tab oder Popup-Fenster, und erhält einen Textschnipsel, den man im Text einfügen kann, oder so ähnlich. Vom Prinzip her ist jede Datei auch nur eine Mitteilung, nur eben eine mit angehängten Daten, und bei der kein Betreff verwendet wird und der Mitteilungstext höchstens als Dateibeschreibung verwendet wird, wenn überhaupt. Dateien und Text-Mitteilungen sind in der Datenbank also das gleiche und werden auch von den gleichen Klassen behandelt.

Naja, was passiert dann mit für eine Mitteilung hochgeladenen Dateien, wenn die Mitteilung nie erstellt wird? Bleiben die im System liegen oder räumt sie bald jemand auf? Wer findet solche Dateien überhaupt nochmal? Weiß ich noch nicht. Referenzen, an denen sich die Nutzung einer Datei in anderen Texten erkennen ließe, sind momentan nicht vorgesehen.

Nun fängt es aber mit den Unterschieden an: Eine Datei sollte z.B. nicht der Beginn einer Diskussion (DEP) sein. Auf Dateien sollte man auch nicht mit anderen Mitteilungen antworten können, demnach erübrigt sich auch ein Teil der Berechtigungen und Moderationseinschränkungen. Um die Unterscheidung zu verstärken würde ich dafür sorgen, dass eine Mitteilung, die als Datei entstanden ist, auch immer eine Datei bleibt, und Textmitteilungen nie eine Datei werden. Natürlich sind Dateien ja genauso versionierbar, der Dateiinhalt kann also später verändert werden, aber gelöscht werden soll er halt nicht können. (Das Datenbankfeld "HasData" wandert dabei auch von der Tabelle "message_revision" nach "message".)

Noch haariger wird das ganze mit der Moderation: Mitteilungen von unbekannten Benutzern müssen zuerst von einem Moderator genehmigt werden, bevor andere sie lesen können. Solche Mitteilungen erscheinen also in den Listen, aber noch ohne Inhalt und mit dem Vermerk "unapproved". Der nächste Moderator sieht das und klickt einfach auf "genehmigen".

Was passiert aber mit den Dateien in einer Mitteilung? Die müssen ja auch erstmal genehmigt werden, bevor sie jemand sehen kann. (Nur Moderatoren sehen automatisch alle noch ungenehmigten Inhalte.) Die erscheinen aber natürlich nicht in einer Diskussionsliste, wo man sie einzeln abhaken könnte. Hier würde ich beim Genehmigen einer Mitteilung einfach alle enthaltenen Dateien gleich mit genehmigen, damit die komplette Mitteilung gleich an einem Stück erscheint.

Wird eine Mitteilung dann vom Autor geändert, muss auch die neue Revision erst wieder genehmigt werden, bevor sie die alte öffentlich ablöst. Wenn dabei auch wieder Dateien überarbeitet wurden, werden die gleich mit genehmigt.

Aber was passiert, wenn nur eine Datei überarbeitet wurde, aber nicht die Mitteilung, die sie verwendet? Hier erscheint ja kein offensichtlicher Hinweis, dass etwas genehmigt werden müsste, weil keine Textmitteilung betroffen ist. Mir würde im Moment nur einfallen, dass beim Anzeigen jeder einzelnen Mitteilung eben geprüft werden müsste, ob sie noch ungenehmigte Dateiversionen verwendet, um die sich der Moderator dann kümmern kann. Das könnte in der Implementierung aber recht ineffizient enden...

Das ist so mein aktueller Gedankenstand zum Thema Attachments/Dateien. Ich hoffe, ich konnte mich für interessierte Leser verständlich ausdrücken. Als Grundlagenlektüre empfehle ich die Dokumentation aus dem letzten Release. Anregungen, Hinweise und Lösungsvorschläge nehme ich gerne an.
♪ ...nanananah, all in all we’re just brilliant thieves, nanananah... ♪♬
Avatar
Yves (Administrator) #2
User title: UNB developer & webmaster
Member since Jan 2004 · 3855 posts · Location: Erlangen, Germany
Group memberships: Administrators, Members
Show profile · Link to this post
So, was nicht alles passiert, wenn man das alles ausführlich formuliert und dann mal eine Nacht drüber schläft. Ich habe mir jetzt folgendes überlegt.

Was passiert mit Mitteilungen, die Dateien einbinden, wenn eine Datei aktualisiert wird? Die Mitteilung selbst wird ja nicht aktualisiert, wo soll also die neue Dateiversion genehmigt werden? - Da ich sowieso noch eine spezielle Suchfunktion einrichten will, die einem Moderator alle noch ungenehmigten Mitteilungen auflistet, kann ich in dieser Liste ja auch solche Dateiaktualisierungen mit anzeigen. Somit gehen die schonmal nicht verloren. Ein Hinweis soll den Moderator dann bei seinem Besuch darauf aufmerksam machen, dass ungenehmigte Mitteilungsrevisionen vorliegen. Der Hinweis könnte sogar bei einer Mitteilung direkt angezeigt werden, um auf aktualisierte Attachments hinzuweisen.

Was passiert mit für eine Mitteilung hochgeladenen Dateien, wenn die Mitteilung nie erstellt wird? - Dafür würde ich ein zusätzliches Dateimerkmal hinzufügen, das angibt, ob die Datei selbstständig ist, oder ob sie zu einer anderen Mitteilung gehören soll. Da das Feld "HasData" ja schon von message_revision in message wandern soll, kann ich es auch gleich in sowas wie "FileType" umbenennen. Statt einem boolschen Wert bekommt das eine Zahl, die das aussagt: Keine Datei / Selbstständige Datei / Eingebettete Datei. Außerdem könnte es eine weitere Datenbanktabelle geben: message_revision_files (MessageRevisionId, MessageId). Die enthält die Zuordnung aller in einer Revision verwendeten eingebetteten Dateien. Dateien, die in keiner Mitteilung verwendet werden, können dann nach einiger Zeit automatisch gelöscht werden. Durch diese Zuordnung können auch im Mitteilungstext nicht explizit angegebene Dateien nach dem Text aufgelistet werden, wie es in anderen Foren der Fall ist. Außerdem wird das implizite Mit-Genehmigen von Attachments deutlich einfacher, weil der Mitteilungstext nicht mehr analysiert und nach Datei-Referenzen durchsucht werden muss.

Klingt m.E. also erstmal gar nicht mehr so schlimm. Jemand Einwände, Vorschläge oder Fragen? :-)
♪ ...nanananah, all in all we’re just brilliant thieves, nanananah... ♪♬
Karl_de_Hall #3
Member since Apr 2011 · 30 posts
Group memberships: Members
Show profile · Link to this post
Hallo Yves,
hatte heute in meinem nicht-öffentlichen Forum (UNB1) die Anfrage, ob mehrere Dateien an einen Beitrag angehängt werden kann. Bei der Suche hier fand ich dann Deine Überlegungen von vor einem Jahr.
Meine Frage nun:
Bist Du damit weitergekommen?
Gibt es Pläne für UNB2?

Noch eine Bemerkung:
Wegen eines anderen Programms gucke ich immer wieder in dem Forum dort nach (SimpleMachinesForum, allerdings eine alte Version).
Und dann vergleiche ich und finde immer wieder, dass Dein UNB einfach viel benutzerfreundlicher ist und meine Nutzer damit schnell zurechtkommen. Dankeschön!
Gruß
Karl
Avatar
Yves (Administrator) #4
User title: UNB developer & webmaster
Member since Jan 2004 · 3855 posts · Location: Erlangen, Germany
Group memberships: Administrators, Members
Show profile · Link to this post
Quote by Karl_de_Hall on 2012-01-17, 21:44:
Bist Du damit weitergekommen?
Gibt es Pläne für UNB2?

Leider hatte ich in den letzten Monaten kaum Zeit für die Weiterentwicklung von UNB2. Ich kann derzeit leider auch keinen realistischen Zeitplan nennen.
♪ ...nanananah, all in all we’re just brilliant thieves, nanananah... ♪♬
Karl_de_Hall #5
Member since Apr 2011 · 30 posts
Group memberships: Members
Show profile · Link to this post
Danke für Deine Antwort.
Dann gibts halt einen Anhang pro Eintrag.
Gruß
Karl
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
This board is powered by the Unclassified NewsBoard software, 20120620-dev, © 2003-2011 by Yves Goergen
Page created in 189 ms (134 ms) · 67 database queries in 110.3 ms
Current time: 2013-05-20, 09:07:33 (UTC +02:00)