Content Types mit unterschiedlichen Zuständen

am 15.05.2015 - 10:05 Uhr in
Hallo *,
innerhalb einer abgeschlossenen Community sollen Gegenstände tauschbar sein. Ich habe daher einen neuen Content Typ erstellt, der alle notwendigen inhaltlichen Felder enthält. Nun ist es ja so, das ist ja keine übliche "Veröffentlichung", sondern die Nodes haben unterschiedliche Zustände und durchlaufen damit einen Workflow. Ich habe mir dazu die Module Rules und Workflow angeschaut, aber finde kein praktikables Beispiel, wie ich jetzt selbst vorgehen könnte.
Also Beispiel, wenn jemand ein Angebot akzeptiert, dann kann das kein Zweiter tun. Gleichzeitig sollten sich die Tauschpartner gegenseitig kennen, also sollte der Name von allen Beteiligten dastehen.
Mein Anliegen scheint sehr speziell zu sein. Ich wüsste jetzt anhand der vorhandenen Modulbeschreibung und der Suche in diesem Forum aktuell nicht, wie ich anfangen könnte. Ich glaube aber, die Funktionalität von Rules genügt, wissen tue ich das nicht. Kennt jemand ein gutes Tutorial, dass ein anwendbares Beispiel hat?
Ciao, Q
- Anmelden oder Registrieren um Kommentare zu schreiben
du wirst dir etwas
am 15.05.2015 - 11:06 Uhr
Gedanken über den Tauschprozess machen müssen.
Wie könnte ein solcher Prozess ablaufen?
Ein Gegenstand GX gehört dem User UY.
Nun bekundet ein User UZ Interesse an diesem Gegenstand, und bietet den Gegenstand GT, den er im Besitz hat, zum Tausch an.
Nimmt UY den Tausch an, wird UZ Besitzer von GX und UY Besitzer von GT.
Oder wie hast du das vorgesehen?
Grüße
Ronald
Im Prinzip ab ... "bietet
am 15.05.2015 - 13:32 Uhr
Im Prinzip ab ...
Also das sind die digitalen Schritte. Alles weitere passiert ja implizit bzw. offline (außerhalb des Systems).
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
Dass die Gegenstände transportiert werden müssen
am 15.05.2015 - 13:44 Uhr
ist eine andere Sache.
Aber ansonsten muss der gesamte Prozess im System abgebildet werden.
Es gibt also mehrere User, die eine Listen von Gegenständen zum Tausch anbieten, und darauf warten, dass andere ihnen ein Angebot mit einem Gegenstand aus ihrer Kollektion machen.
Bis dahin sind das wohl einfach views.
Ein Tauschangebot wäre möglicherweise ein spezieller content_type mit referenzfeldern für die Artikel.
Die Tauschbestätigung löst dann den trigger für das Umbuchen der Besitzverhältnisse aus, und veranlasst den physischen Tausch.
Ist dieser vollstreckt, ist der Vorgang abgeschlossen, und kann archiviert oder gelöscht werden.
Grüße
Ronald
Ich denke, es braucht gar
am 15.05.2015 - 17:28 Uhr
Ich denke, es braucht gar keinen Extra Inhaltstyp, sondern nur den Inhaltstyp Tauschgegenstand.
Der hat dann zusätzlich zu den Beschreibungsfeldern und Name des Besitzers (User A) ein Feld Status, das automatisch verändert wird (durch Rules) und ein Feld Tausch, welches vom Typ Referenz auf Inhalt vom gleichen Typ ist (geht das???...warum eigentlich nicht???)
Stati sind 1=Neu, 2=Tauschangebot erfolgt 3=Tausch abgeschlossen
Ein weiteres Feld wird bereit gehalten, um die ID aufzunehmen von dem Gegenstand, den User A von User B,C od. D als Tauschgegenstand akzeptiert.
Ein kleines Modul mit einem form_alter_hook befüllt ein Auswahlfeld, welches Referenzen hinzufügt nur mit Tauschgegenständen des Users B, der diesen Tauschgegenstand vom User A anschaut.
Bzw. man könnte ein Feld View List daraus machen und eine View integrieren, die alle Tauschangebote des Betrachters zur Auswahl anbietet.
Da muß man prüfen, ob man die User-ID des Betrachters an der Stelle als Argument übergeben kann.
Wenn der Betrachter User B einen Gegenstand aus seinem Fundus auswählt, wird dieses also dem Referenzfeld angehängt.
Dieses Referenz Feld kann entweder beliebig viele oder nur eine bestimmte Anzahl annehmen, was eben Sinn macht.
Über Field Permissions kann man einstellen, daß keiner der User das Feld Status, bzw. das mit der Referenz-ID ändern darf, aber jeder darf beim Feld Tausch eine Auswahl treffen aus den eigenen Tauschgegenstand-Inhalten.
Das Hinzufügen eines Tausch-Angebotes führt per Rules dazu, daß der Status auf 2 wechselt.
EVt. kann die Rule auch eine Mail an User A senden ("Guck mal, User B hat was angeboten")
Es gibt eine View, die User A anzeigt, wer ihm alles was zum Tausch angeboten hat. (Also sieht er hier nur die Gegenstände mit Status 2 und die dazu angebotenen Produkte + Besitzer
Bei jedem Gegenstand befindet sich ein Link, der als Argument die ID vom Tauschgegenstand User A und die ID vom Tauschgegenstand User B enthält.
Wenn er auf diesen Link klickt, öffnet sich eine Seite, auf der ne Rule anspringt, die
a) ID vom Tauschgegenstand User B in das dafür vorbereitete Feld mit der Tausch-ID schreibt
b) den Status auf 3 setzt
c) eine Mail an User B schickt ("Yuhu, Dein Gegenstand wurde akzeptiert")
d) ene Mail an User C, D... schickt ("Schade, diesmal nicht")
Und dazu kann man dann natürlich noch ein paar weitere hübsche Views bauen.
Nur mal so als schneller Brainstorm...
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Ganz lieben dank euch beide
am 20.05.2015 - 11:25 Uhr
Ganz lieben dank euch beide für die Ideen. Mir fehlt aber gerade wirklich der Link zu "das mache ich jetzt mit X". Alleine schon, dass ein Benutzer B, ein Angebot von A annimmt, stellt für mich die Frage, wie bekomme ich da so ein Button "Biete auf Angebot" hin. Wenn der Statuswechsel ein Field ist, dass "hidden" ist und nur durch das Rules-Modul verändert wird, welchen Typ hat es? Wenn ein Tausch perfekt ist, wie werden die Content Nodes dann insgesamt "unsichtbar"?
Ich kenne mich da eher nicht so aus, daher hatte ich auch nach einem sinnvollem Tutorial gefragt. Wie habt ihr das gelernt, wie man mit eigenen Content Types einen Prozess abhilden könnt?
Achso, und ich kann kein PHP und kenne mich in Drupal so gar nicht aus. Ich bin da also eher ein Drupal-Anwender für eigene Zwecke.
Ciao, Q
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
sinnvolle Tutorials kannst du
am 20.05.2015 - 18:46 Uhr
sinnvolle Tutorials kannst du selber suchen... flag modul