Hilfe gesucht/Anpassung oder Neufassung eines Scripts

  • Da ich leider Programmierlaie bin, suche ich Hilfe bei der Anpassung meiner Plone-Seite. Ich habe die Optik fürs erste gut im Griff, was jetzt hakt, ist die Einbindung meiner Inhalte, die bislang in anderer Form veröffentlicht sind.

    Details:
    Es gibt eine nicht ganz fertige (meint: gefüllte) MySQL-Datenbank, in der über 1000 Rezensionen liegen (werden).
    Diese Daten enthalten neben dem Text, ein großes Bild (bisher oben drüber) und teilweise bis zu vier kleine Bilder, die bislang noch neben dem text am rechten Rand erscheinen, sowie Angaben zu Autoren (nicht Rezensionsverfasser), Verlag, Länge, Alter und Anzahl. Diese Daten sollen als Suchraster dienen (Suche nach Produkten, die 30 - 60 min dauern z. B. oder für bestimmte Altersgruppen gedacht sind). Die Autoren und Verlage sollen durch Klick auf den Namen eine eigene Seite generiert bekommen, in der alle dazu veröffentlichten/rezensierten Produkte aufgelistet sind (ggf. Intelligenter Ordner?).

    Mein Problem ist nun folgendes: Wie bekomme ich diese und zukünftige Daten
    a) nach Plone importiert bzw.
    b) bei Neuanlagen in eine passende Maske, von der diese in die Datenbank gelegt werden, und
    c) als (tabellarische?) Zusatzangaben unter den Rezensionstext ausgegeben.

    Die bisher veröffentlichten Add-Ons machen alle nicht ganz das, was ich wohl benötige, zumal das Problem der Dateneinbindung bleibt. Jedenfalls weiß ich als Python-Laie nicht, wie ich bereits bestehende Daten in der von mir gewollten (und recht klaren) Struktur in Plone ausgeben kann und neue anlegen kann, dass sie dazu passen. Ich bin leider auch nicht fit genug, um die Scripte anzupassen.

    Meine Frage: Könnte mir dabei jemand helfen? Es handelt sich zwar um ein privates Projekt, aber ich würde mich sicher irgendwie erkenntlich zeigen. Ruhm und Ehre ist aufgrund des in der Branche (Verlage, Autoren, Endnutzer) durchaus vorhandenen Stellenwertes garantiert, zudem eine (allerdings vergleichsweise geringe) Aufwandsentschädigung möglich.

    Kleiner Haken: Ich habe noch kein Plone-Hosting, sodass eine Zusammenarbeit oder Hilfe per Datenaustausch erfolgen müsste.

    Kleine Hilfe: Ein Freund hat hat mir ein lokales frei programmiertes System entwickelt, das auf Python aufbaut. Dabei habe ich eine Eingabemaske, mit der die Datenbank gefüllt wird und ein Template mit Scripts, das die Daten ausliest und als statische Webseiten (in der alten Fassung) erstellt. Dieses System ist im Beta-Status und hat nichts mit Plone zu tun, aber wird leider nicht weiter entwickelt. Die hier hinterlegten Python-Codeschnipsel könnten ggf. genutzt werden. Nur muss ich ihn erst mal fragen, wo die versteckt sind. Wie gesagt: Ich bin Laie, wenn auch einer, der meist ganz gut nachvollziehen kann, wovon ihr Progger sprecht.

    Ich würde mich freuen, wenn jemand helfen kann/mag oder eventuell ein halbwegs passendes Modul entwickelt hat oder kennt, das diese Zwecke erfüllt.

    Weitere Infos gerne später.

    Danke erst einmal!

  • Ich denk mal drüber nach. Jedoch stecke ich auch noch in der Fertigstellung eines Skins, so dass ich nicht genau weiß wann ich dazu etwas schreiben kann. In der Zwischenzeit kannst du dir aber schonmal den einfachen CT-Prototyp saugen, denn auf einen eigenen Contenttyp wird es hinauslaufen.

    Ok, ich sag mal ~ bis nachher ;)

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Hast du von deinem Wunsch-Layout eine Grafik zur Hand? Dann kann man sich besser vorstellen was du erstellen willst und man kann Rückschlüsse für die Erstellung des CT machen.

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Prima, dass du mir helfen kannst/willst.

    Ein Beispiel für die bisherige Struktur ist folgender Link, der so ziemlich alle Sonderfälle abdeckt:
    http://www.reich-der-spiele.de/kritiken/SchattenUeberCamelot.php

    Also:
    1. Überschrift über Foto über Text, bis zu 4 Fotos rechts daneben. Unter dem Text bis zu drei Einschübe Hinweise/Tipp/Unser Tipp (die innerhalb des Textes erstellt werden können).
    2. Wichtig sind die "Interessenlinks", die aber duzrch Plone ganz gut manuell ergänzt werden könnten. Wenn es automatisch geht (gleiche Autoren, Spielekategorien), dann umso besser.
    3. Der Link zu Spieletest ist nicht mehr vorgesehen.
    4. Der Kasten mit den Verlagsangaben soll ergänzt werden mit internen Infolinks zu Übersichtsseiten zu den Verlagen und Autoren, die wiederum alle besprochenen Spiele (und ggf. Interviews etc.) auflisten sollen.
    5. Die Partnerlinks darunter sowie die Navigation mit den Anfangsbuchstaben sind derzeit überflüssig.

    Viel, oder?

  • Ok - genau sowas meinte ich :)
    Ich schlage vor wir nennen den neuen CT "ArticleReview".

    Viel? Nein - aber wir müssten es so anlegen, dass die Daten dezentralisiert werden. Also z.B. für Punkt 4 (Info-Kasten) wäre es ja in-effektiv wenn die Buchinfos in dem CT ArticleReview stehen. Besser wäre man erstellt einen weiteren CT "RezArticle", der die Infos über den Artikel aufnimmt. Dieser wird dann im unsichtbaren Ordner "Rezensions-Artikel" abgelegt.
    Die eigentliche Rezension (also ein ReviewArticle-Objekt) referenziert dann nur auf den entsprechenden Artikel. Das Template holt sich dann die Infos von dem RezArticle.

    Punkt 1 kann dahingehend erweitert werden, dass nun beliebig viele Bilder abgelegt werden können. Wobei es auch keine schlechte Idee wäre die Ausgabe aktuell auf ~ 10 Bilder zu beschränken und bei mehr Bildern später eine Art Gallerie-Template zu erstellen.

    Punkt 2 ist auch nicht so "ohne". Das sieht danach aus, dass jede Rezension einer Kategorie zugeordnet wird, damit themenverwandte Links erstellt werden können.

    Und genau hier muss etwas Denkarbeit geleistet werden. Ich mache also mal ne Skizze und dann diskutieren wir die um zu sehen ob es für deine jetzigen und ggf. die zukünftigen Ideen/Wünsche ausreicht.

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Gut, dann folgt hier also meine 1.Überlegung.

    Die Artikel/Spiele/etc werden ReviewObject's genannt und bilden den 1.CT.
    Ich habe dem ReviewObject die Screenshots zugeordnet, da es evtl. noch andere Stellen als den Review gibt, bei dem Screens benötigt werden. Da bin ich mir aber nicht sicher. Müsstest du mal durchdenken.

    Der 2.CT heißt ReviewArticle und enthält den eigentlichen Review mit Text, Author, etc. Die Reviews werden dann nach Kategorien sortiert abgelegt. Somit kann man später themenverwandte Reviews finden.

    [Blockierte Grafik: http://www.ironsight.de/web/CT_ReviewObject_thumb.gif][Blockierte Grafik: http://www.ironsight.de/web/CT_ReviewArticle_thumb.gif][Blockierte Grafik: http://www.ironsight.de/web/Std_Layout_thumb.gif]

    Die Struktur in Plone zeigt der folgende Screen. Die unsichtbaren Ordner sind ATFolder deren ID in den navtree_properties als idsNotToList eingetragen sind und die die Navi somit nicht mit ausgiebt. Hierfür gibts aber auch noch andere Wege z.B. über das Rechtesystem, so dass nur die Manager und das Script auf die Ordner direkt zugreifen dürfen.

    [Blockierte Grafik: http://www.ironsight.de/web/Konzept_Bild1_cut_thumb.gif]
    Die Organisation erfolgt also unter Reviews und nicht schon bei den ReviewObject's. Das hat den Vorteil, dass der Reviewer (der das Game ja nun am besten kennt) es passent einordnen kann. Die ReviewObject's werden alle im Ordner Artikel eingetragen. Dabei ist ReviewObject ein folderish-Objekt, welches die Screenshots enthält.

    Soweit mal mein 1.Entwurf. Denk drüber nach, denn du kennst dein Seitenschema immer noch am besten. :)

    Guten Rutsch und bis nächstes Jahr
    Torty

  • Wow!

    Ich schau mir das mal genauer an, auf dem ersten Blick sind das schon mal locker über 90 %. An ein, zwei Stellen muss ich noch mal genauer hinsehen.

    Ich melde mich dann nächstes Jahr wieder ;)

    Wünsche allen einen guten Start mit wenig Kopfschmerzen *fg*

  • So, habe mal etwas nachgedacht.

    1. Es müssen keine 10 Fotos sein, maximal 5 sind ausreichend. Die Seitendarstellung ist sehr gut. Auch die Struktur der Ordner ist sehr schön dargestellt, das passt wohl so :)

    2. Ist jetzt eine reine "Anwendersichtfrage": Verstehe ich das richtig, dass beim Anlegen durch die Verfasser erst ReviewObjects angelegt wird (über Auswahl im Mittelmenü durch die registrierten Autoren), dort hinein dann der ReviewArticel platziert und ausgefüllt wird? (auf der Webseite aus Sicht des Nutzers). Oder muss der Verfasser zwei Objekte anlegen, den zweiten per Referenz an den ersten binden?

    3. Wenn Solospiele tatsächlich mit abgedeckt werden könnten, wäre das ein netter Bonus. :) Ausgabe als separate Seite würde vermutlich über einen intelligenten Subordner funktionieren?
    In der (ausgegebenen) Ordnerstruktur/Navigation sollte beides wie bisher benannt und getrennt sein. Hintergrundinfo: "Normale" Spiele umfassen alles, Solospiele sind eher Denkspiele oder Knobeleien, die nicht in das gängige Bild eines Gesellschaftsspiels passen, deshalb bei uns getrennt gelistet werden.

    4. Zusatzfrage: Das System sollte ohne Pflichteingaben (außer Titel) bleiben, dann kann ich es ggf. für die bisherigen Artikel/Interviews mitbenutzen. Gibt es eine Möglichkeit, das Tool doppelt zu nutzen und so anzupassen, dass diese Texte in einem anderen Ordner gesammelt werden (bisher "specials")?

    5. ReviewObject: Hier müsste ein Feld Autor (Spieleautor ist gemeint) ergänzt werden, das bei Bedarf mehrere Namen (gilt auch für Hersteller, da hier mitunter zwei Angaben gemacht werden - für die Hersteller kann das aber auch unter Zusatzinfos laufen) fasst.

    6. ReviewArticle: Punkt Author meint Verfasser des Textes (s. 5.)? Zudem wäre hier ein Punkt Untertitel hilfreich, der nicht in die Kategorisierung oder ID eingehen muss. Tip-URL sollte Text und URL ermöglichen. Ggf. könnten hier zwei, drei verschiedene URL/Tipps/Hinweise erfolgen. Ist das durch diesen Punkt + Zusatzinfos im ReviewObjekt abgedeckt? Verwandte Artikel - wird hier ein Eintrag in Spiel B mit Verweis auf Spiel D zugleich in der Datenbank für D mit Verweis auf B aktualisiert?

    7. ID/Titel - ist vorgesehen, daraus einen (ggf. bei gleichnamigen Spielen leicht zu modifizierenden) Link wie http://www.reich-der-spiele.de/kritiken/spieletitel zu erzeugen?

    7. Wie kann ich unsere bisherige Übersichtsseite mit der Auflistung aller besprochenen Spiele am sinnvollsten generieren? Ist vermutlich unabhängig von dem Tool, sollte aber mit in die Überlegung einfließen. Ich benötige im Prinzip bisher(!) die Links mindestens dreimal:
    - http://www.reich-der-spiele.de/willkommen.php (oben rechts, die letzten Rezensionen, das bekomme ich zukünftig wohl mit "die letzten x Einträge aus y nutze)
    - http://www.reich-der-spiele.de/news.php (das wird nun wohl als RSS/Blog laufen können und kann an die Möglichkeiten von Plone angepasst werden, ohne die bisherige Struktur beibehalten zu müssen).
    - http://www.reich-der-spiele.de/reviews.php (Diese Seit muss als Grundliste erhalten bleiben. Hier ist beim aktuellen Output damit zu rechnen, dass in zwei - drei Jahren ca 2.500 - 3.000 Texte gelistet werden müssen. Ich möchte möglichst lange Zeit alle Spielerezensionen aus Übersichtsgründen auf einer Seite darstellen können. Eine zweite/weitere Seite/n oder eine Listung durch Klick auf Anfangsbuchstaben wäre eher eine Notlösung.)

    8. Nicht zu vernachlässigen: Die bisherige Seite ist leider 100 % statisch :/ , die Datenbank ist noch im Aufbau. Wie weit müssen die neuen Eingabemöglichkeiten und Datenbankfelder mit den bisherigen übereinstimmen? Benötigst du ein Probefile?

    So, das war wieder eine Menge Text. Wie ich das sehe, gibt es nur minimalen Änderungsbedarf, aber eben ein paar Fragen, die noch zu klären sind.
    Eventuell ist es leichter, wenn wir einen Teil der weiteren Schritte per Mail abwickeln? info atat reich-der-spiele dotdot de.

    Dankbare Grüße

  • Ok, bin ein wenig im Stress.
    Ich versuche mir die Sachen heut noch anzuschauen und eine passende Antwort zu verfassen.

    Bis dann...
    Torty

    "Carpe Diem" powered by positiv Feelings

  • Es ist ja nun nicht so, dass die Welt untergeht, wenn es ein bisschen länger dauert. Ich bin ja schon dankbar, dass du überhaupt Hilfe anbietest. Also, keinen Stress, sondern schon bis hierher ein unschätzbar großes Danke!

  • Torty, ich weiß, dass du wenig Zeit und viel Stress hast. Ich wollte mich nach meinem letzten, eventuell missverständlichen, Posting nur noch mal in Erinnerung als Hilfesuchender bringen ;)

    Es gibt keine Deadline für das Projekt, wenn ich auch nicht ein Jahr oder so warten will. Ich wäre aber dankbar, wenn du (oder auf deiner Grundlage jemand anderes?) helfen könnte und hoffe auf ein Zeichen, dass ich zumindest nicht vergessen bin. :) Ich habe nämlich das Gefühl, dass ich so rüberkam, als ob ich keine Hilfe mehr benötigen würde. Das ist aber leider nicht wahr :(

  • Nun ich hatte es tatsächlich nicht mehr im Kopf, aber wir machen da weiter kein Problem.
    Ich versuche mal deine letzten Punkte zu klären:
    1.) Das wird eine Option in den Properties werden. Also flexibel änderbar.

    2.) Angedacht ware es so, dass der 1.Autor das neue Spiel als ReviewObject anlegt. Im also seine Attribute verpasst. Danach wechselt er in den Ordner Solospiele oder Mehrspieler und legt dort dann für seinen Artikel einen ReviewArticle an. Dieser ReviewArticle referenziert dann das ReviewObject - also das Spiel. Von dort holt er sich dann auch die Bilder und Informationen.

    3.) Klar. Könnte man per SmartFolder machen.

    4.) Naja die Überlegungen gehen davon aus, dass die bisherigen Inhalte übertragen werden. Die CT's nehmen also mindestens die Informationen auf, die du jetzt auf der Seite anzeigst.

    5.) Ein einzeiliges Eingabefeld in dem die Autoren per Komma getrennt stehen sollte auch gehen - oder? Hersteller müsste man dann schauen wie man es zwecks der Suche verwendet.

    6.) Ja genau - wenn du da Felder siehst die fehlen oder aufgeteilt werden sollten dann schreibst dud as so und ich werds einbauen. So war's gedacht. :)

    7.) In Zope muss die ID nur eindeutig innerhalb des aktuellen Ordners sein. Und die Kategorien bilden dann ja eigene Ordner. Oder hab ich's falsch verstanden.

    8.) [dein 2. 7] Gute Frage. Das wird sich zeigen wenn wir die CT und Struktur soweit stehen haben. Dann sieht man mit welchem Ansatz man das am besten abdeckt.
    PS: Eine Auflistung von 2000 - 3000 Artikel auf einer Seite halte nicht für übersichtlich. Die Unterteilung in Anfangsbuchstaben verbunden mit der Suche bietet dem Leser die kompakteste Darbietungsform.

    9.) [dein 8.] Also ich gehe aktuell davon aus, dass deine Seite auf Zope/Plone konvertiert werden soll. Dann gibts keine PHP-Files mehr und die Zope-DB ist bereits onBoard. Hab ich das richtig verstanden?

    Ok, wenn wir die wichtigsten Punkte geklärt haben könnten wir konkretere Pläne machen.

    Torty

    "Carpe Diem" powered by positiv Feelings

  • zu 5.) Ja, Komma ist ok.

    zu 6.) :)

    zu 7.) Schon klar. Mir ging es eher darum, ob die ID mit dem Spieletitel identisch sein kann und dauerhaft von außen so aufgerufen werden kann.

    zu 9.) Richtig. Grundsätzlich jedenfalls. Ich erkläre es lieber, bevor es zu Missverständnissen kommt noch einmal. Die Seite, die derzeit online ist, ist 100 % statisch mit einem Editor gebastelt. Das heißt, jede Rezension und auch sonst jeder Text wird einzeln als individuelle Seite abgespeichert und nur mit .php versehen, weil Navigation, Seitenkopf und zum Beispiel die Quick-Links zu den Anfangsbuchstaben per incl eingebaut werden. Die Datenbank, die im Aufbau ist, ist also nicht online und ebenfalls nicht abgeschlossen.
    Die Frage war einfach nur: Wird die im Aufbau befindliche Datenbank benötigt, um die Seite von statisch zu plonisch zu machen (Datenbankfelder übernehmen usw., an der Struktur entlanghangeln usw.) oder wird dann ausgeparst oder gar neu per Hand eingegeben (was in Anbetracht der Tatsache, dass die Datenbank nur zu etwa 50 % steht, eventuell gar nicht so viel schlimmer wäre ;)

    So weit ist aber deine Planung als solche ganz großartig. Und im Übrigen bin ich schwer begeistert und dankbar für diese Hilfe.

  • Hallölle,

    zu 7.) Mir schwahnt da was: Du willst nach der Konvertierung die Rezensionen unter Plone über die jetzige URL wieder erreichen können. Vermutlich zwecks google-Einträge etc.
    Seh ich das richtig? Und falls ja: lautet die Antwort ebenfalls ja. Es sei denn wir stellen fest, dass eine geänderte Struktur mehr Vorteile bietet, dann kann man google immernoch mitteilen wo die bisherigen Inhalte unter neuer URL zu finden sind.

    zu 9.) Also die Struktur der mySQL könnte uns ggf. beim Entwurf des CT helfen. Für die Verwendung in Plone brauchen wir sie dann nicht. Ein Script welches die mySQL ausliest und in neue Plone-CT-Objekte überführt ist auch machbar. Kostet halt nur ein wenig mehr Zeit um das Script zu erstellen und zu testen.

    Torty

    "Carpe Diem" powered by positiv Feelings

  • zu 7.) Jein. Mir stellte sich die grundsätzliche Frage, wohl aber auch vor dem Hintergrund von http://www.luding.org (Spieledatenbank im Web) und deshalb, weil ich die Linkstruktur gerne beibehalten möchte. Im Grunde ist das so ein bisschen die Frage nach suchmaschinenfreundlichen URLs mit anderem Hintergrund ;o) Google wäre nicht der Grund, die kommen eh alle paar Tage und schauen, was sich getan hat.

    zu 9.) Die Frage ist doch eher: Wie kommen die bisherigen Texte in Plone? [Ein Parsescript auf Python-Basis muss es bereits geben, sonst gäbe es die MySQL nicht. Nur hakt es bei alten falsch formatierten HTML-Seiten. Deshalb muss ich ja auch die Datenbank per Hand überprüfen und nachpflegen.]
    Wenn du jetzt ja sagst, versuche ich eine aktuelle Version der Datenbank und des Scriptes zu beschaffen.

  • zu 7.) Naja - verschieben wir das bis die Seite tatsächlich erstellt wird und wir wieder zur Frage der Ordnerstruktur gelangen. Im Prinzip kann die aktuelle Struktur ja bestehen bleiben.

    zu 9.) Das Py-Script, welches die mySQL ausliest und die Infos in den Plone-CT stopft muss noch geschrieben werden. Eine Überprüfung des HTML kann per mxTidy passieren. Eine anschließende per Hand-Kontrolle wird aber nicht vermieden werden können.
    Und wozu genau sollte ich ja sagen? ;)

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Zitat

    6. ReviewArticle: Punkt Author meint Verfasser des Textes (s. 5.)? Zudem wäre hier ein Punkt Untertitel hilfreich, der nicht in die Kategorisierung oder ID eingehen muss. Tip-URL sollte Text und URL ermöglichen. Ggf. könnten hier zwei, drei verschiedene URL/Tipps/Hinweise erfolgen. Ist das durch diesen Punkt + Zusatzinfos im ReviewObjekt abgedeckt? Verwandte Artikel - wird hier ein Eintrag in Spiel B mit Verweis auf Spiel D zugleich in der Datenbank für D mit Verweis auf B aktualisiert?

    • ArtikelUtor(en) sollte dies nun erfüllen.
    • Untertitel ist auch drin.
    • Tip wurde zum Textfeld in dem man per Kupu & Co. einen eigenen Tip verfassen kann, der dann auch Links enthalten kann.
    • abdeckt?
    • verwandte Artikel sollte wie folgt funktionieren [list:ffaea5c632]
    • verwandte Artikel sind Artikel in der gleichen Kategorie
    • angezeigt werden aus den dort gefundenen Objekten 5 zufällige Artikel
    • ^^ darüber müssten wir dann wohl noch etwas detailierter sprechen


    [/list:u:ffaea5c632]
    [Blockierte Grafik: http://ironsight.de/web/revObj_v2_small.jpg][Blockierte Grafik: http://ironsight.de/web/revArt_v2_small.jpg]
    Torty

    "Carpe Diem" powered by positiv Feelings

  • Ich bekomme die nächsten Tage eine aktualisierte Database, aber habe bereits eine zur Verfügung. Wenn du mich bitte mal anmailst oder mir deine Mail gibst, sende ich sie dir. Die Scripte sollen ebenfalls in Kürze kommen. Kann sicher beim einen oder anderen helfen.

    Die Struktur ist gut. Die Begrenzung auf zufällig ausgewählte Spiele in der Liste müssen wir in der Tat noch einmal besprechen ;o)

    Ein Klick auf Autor/Verlag kann eine Liste aller bei uns besprochenen Spiele ausgeben? Müsste meine ich mit den Plone-Hausfeatures gehen, oder?

  • Hallo - ich weiß ich weiß - aber ich komm aktuell zu fast nix.
    Wie schauts bei dir jetzt aktuell aus?

    Torty

    "Carpe Diem" powered by positiv Feelings