Protokoll-Content-Types (Plone)

  • Hallo miteinander,

    inzwischen bin ich richtig happy mit meiner Plone-Installation. Nur ist es so, das ich bei "Zu diesem Ordner hinzufügen" gerne ein paar weitere Einträge hinzufügen würde. Und zwar brauche ich nicht zwingend neue ContentTypes, sondern eigentlich nur vom Typ Seite ein paar Vorlagen, wo einfach ein paar Texte schon mal vordefiniert sind und der User dann einfach drauf los schreibt. Die sollen dann eben als "Besprechung", "Server", ... in der Drop-Down-Liste auftauchen und ein paar Überschriften bzw Tabellen sind halt in der Seite schon vorgegeben.

    Wie bekomm ich das gebacken, wenn ich einfach nur Text in eine Seite schreibe und diese dann als Vorlage hernehmen will :?:

    Bisher habe ich halt eine Seite "template" in den entsprechenden Ordnern liegen, die kopiert und wieder eingefügt werden. Aber das geht doch sicher eleganter.

    Gruß
    m.dot

  • Nun - wenn du es in dem Pulldown haben willst kommst du um eigene CT's nicht umhin. Aber nach den ersten Anlaufschwierigkeiten ist das auch kein Problem mehr.
    Es wäre gut, wenn du die Vorlagen etwas genauer beschreiben kannst (ggf. mit Skizze) dann kann man dir auch n paar Ratschläge geben.

    Wenn nötig bauen wir den dann gemeinsam auf. Es wird ja vermutlich eh nur n ATDocument-Clone werden...

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Ich denke mit nem Clone vom ATDocument kommen wir gut hin, es handelt sich nur um ein paar Überschriften und Tabellen, die im Content einfach schon mal dastehen sollen. Der User soll diese auch ruhig bearbeiten oder löschen können. Es geht nur um die Abnahme von etwas Schreibarbeit.

    Bei den Besprechungen führen wir hier halt jedes Mal ein Protokoll, damit nicht anwesende Mitarbeiter auch nachlesen können, was besprochen wurde. Der Grundaufbau sieht wie folgend aus.

    Bei dem Typ "Server" verhält sich das recht ähnlich. Es sollen einfach ein paar Überschriften bzw Tabellen vordefiniert sein, weil wir da halt so Sachen wie 'Hardware', 'Betriebssystem' und 'laufende Dienste' einfach dokumentieren wollen. Damit man aber nicht jedes Mal die eigentlich gleichen Informationen wieder neu eintragen muss, will ich da halt eine Vorlage anbieten.

    Ich hab mich - wie gesagt - zwar schon mal mit den ContentTypes beschäftigt, muss aber ehrlich sagen, bisher hab ich da noch nicht so recht durchgeblickt. Ein paar einfache Texte bzw Tabellen vorzudefinieren kann ja an sich nicht der riesen Aufwand sein. In den Tutorials, die ich dazu gefunden habe, ist das alles aber immer etwas sehr weit ausgeholt.

    Über eine einfachere Lösung wäre ich sozusagen sehr erfreut.
    Danke an der Stelle für dein Engagement in dem Forum hier, find ich klasse!

    Gruß
    m.dot

  • Da der eigene CT eine eigene Klasse ( wenn auch abgeleitet) darstellt, kommt man um etwas Aufwandt nicht umhin. Das meinte ich mit den Anlaufschwierigkieten. :)

    Ich würde mal einen Entwurf machen und den können wir dann diskutieren. Im Prinzip gliedert sich das in 2 Teile. 1.) die Erstellung des abgeleitetetn CT und 2.) die Erstellung des passenden View.

    Ok - ich mach mal und meld mich dann wieder ...

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Agenda = anstehende Themen

    Ich hab inzwischen den Content-Type dupliziert, er taucht im Drop-Down Menü auf und ich kann ihn wie eine normale Seite editieren. Jetzt muss ich nur noch an die vordefinierten Texte ran. Laut dem Tutorial, mit dem ich dann gestern doch noch recht schlau geworden bin, muss ich besprechung_view bearbeiten? Leider ist nicht genauer ausgeführt, wo ich die finde. Ist das ein neuer Workflow? Wo finde ich diese *_view-Dateien im ZMI?

    Gruß
    m.dot

  • Der View ist ein eigenes PageTemplate welches im skins-Ordner des CT liegt. Ich habe den CT-Entwurf fertig und hänge ihn mit an. Da hast du ja vielleicht ne kleine Orientierung.
    Meine Fassung ist auch gleich zweisprachig. Somit erkennst du dieses Prinzip auch gleich und kannst direkt drauf loslegen den CT für dich zu erweitern anzupassen, etc....

    Bei Fragen weiß du ja wo du sie stellen kannst! *g*

    Hier der View auf meine Version
    [Blockierte Grafik: http://ironsight.de/web/pics/mdotProtocol_View.jpg]

    "Carpe Diem" powered by positiv Feelings

  • Ich würde dich/euch um Feedback zu diesem Entwurf bitten. Denn ich habe ihn entworfen und würde gern wissen, ob er passt und was eigentlich anders gedacht war.
    Auch mich hat es Zeit gekostet ihn zu erstellen, weshalb ich mir wirklich eine Rückmeldung wünschen würde.
    Thx.

    Torty

    "Carpe Diem" powered by positiv Feelings

  • Hallo Torty,

    sorry wegen der späten Antwort. Du hattest Recht, ich hatte Urlaub und war - dank Freundin - auch einige Tage von Notebook und Internet getrennt.

    Deine Vorlage hat mir enorm viel geholfen und ich habe sie auch in vielen Punkten so verwendet. Habe eine Menge gelernt, wie man im Endeffekt eigene ContentTypes erstellt und damit Produkte erstellt.

    Ich habe an sich nur noch eine letzte Frage: Ist es möglich in das Haupteingabefeld einen vordefinierten Text einzufügen. Habe zwar mal ein bisschen rumprobiert, bin aber noch zu keinem wirklichen Ergebnis gekommen. Hast du bzw jemand anderes da ne Idee/Erfahrungen? Über die verschiedenen Felder (Anwesende, Datum, ...) lassen sich zwar reichlich praktische Daten eingeben, aber nicht immer ist ein eigenes Feld sinnvoll. Ein vorher definierter Text, den der User ruhig abändern können soll wäre da durchaus praktikabler.

    Ansonsten vielen Dank nochmal Torty, hast mir wirklich sehr geholfen.

    Freundliche Grüße von einem erholten
    m.dot

  • Na da lag ich doch garnicht so verkehrt. ;)

    Zitat von m.dot

    Ist es möglich in das Haupteingabefeld einen vordefinierten Text einzufügen.


    Du meinst also das TextField 'protocol'?
    Hmmm...das müsste gehen in dem bei der Schema-Definituion ein default-Wert angegeben wird.
    Also so

    Code
    ...
            TextField('protocol',
                required=True,
                searchable=True,
                primary=True,
                default=DEFAULT_TEXT,
                storage = AnnotationStorage(migrate=True),
    ...


    In der config.py könnte man nun den Defaulttext definieren:


    Dadurch würde beim Erstellen eines neuen Objektes im Feld Protocol der DEFAULT_TEXT eingefügt. Das kannst du natürlich auch auf den gesamten CT ausdehnen und alle Felder entfernen bis auf das TextField 'protocol'. Leider hättest du dann keinen Zugriff mehr auf die einzelnen Felder (z.B. das Datum).

    Das musst du mal schauen welche Variante gangbarer ist. Immerhin kann man bis auf das Field 'protocol' und 'meeting_date' alle anderen Felder optional gestalten. Es muss bei den entsprechenden Fields dazu nur das required=True, durch required=False, ersetzt werden.

    Naja du wirst dir dazu schon n klares Bild verschaffen können...
    Torty

    "Carpe Diem" powered by positiv Feelings

  • Hallo Torty,

    danke für die schnell Antwort. Bin heute erst dazu gekommen, es umzusetzen aber es funktioniert jetzt alles. Vielen Dank für deine Hilfe. Jetzt werd ich mich noch an die Konnektivität mit MySQL-Datenbanken machen und dann hab ich erst mal genug angepasst.

    Muss sagen, das mir die Zope/Plone Kombination wirklich sehr gut gefällt. Sobald man alles mal etwas durchschaut, ist es wirklich nicht soooo schwierig und wenn mal ein Problem auftaucht bekommt man hier immerhin schnelle und gute Hilfe. Danke an der Stelle noch mal an dich (und das Forum). Die User, die es benutzen sind auch allesamt happy - also denke ich, ich habe ich mit Plone eine gute Wahl getroffen.

    Sonnige Grüße
    m.dot