Komplexes Profil mit entsprechenden Rollen, Listen und Suchfunktion (angepasst an Benutzerart)
am 24.11.2009 - 03:17 Uhr in
Hallo zusammen,
bin auf der Suche nach einem oder mehreren Modulen - oh wunder - welche mir die Mühe abnehmen könnten, selbst Programmieren zu müssen. Es sei noch erwähnt, dass ich erst seit grob einer Woche Erfahrung mit Drupal habe.
Man kann sich die gesamte Lösung als eine Art Marktplatz vorstellen, bei der die Benutzer Informationen von sich selbst anbieten. Kontaktaufnahme ist nur durch Eintauschen von Punkten möglich. Gleiches gilt für das Einsehen "erweiterter Informationen".
Das Problem
Es gibt mehrere Arten von Benutzer. Diese Arten nenne ich der Einfachheithalber mal A, B, C, ...
Jede Art von Benutzer kann bestimmte Informationen veröffentlichen. Dabei orientiere ich mich am Modul "profile". Die Informationen werden also in einfachen Textfeldern, Freitext, Listenauswahl usw. festgehalten. DAU-freundlich eben.
So und nun kommt der Knackpunkt:
* in der Grundfunktion darf A nicht A-Benutzer finden und B darf nicht B finden usw usf.
* nur B darf A finden und das wiederum nur unter bestimmten Bedingungen (klingt für mich stark nach dem Modul "views"). C darf A finden aber nicht B und C usw usf.
* manche der "Profil"-Felder sind ausgeblendet, bis Punkte eingelöst wurden. Daraufhin sind diese Felder des einen Benutzers immer für den einen Benutzer einsehbar, der die Punkte eingelöst hat. Unter Umständen darf der "gekaufte" Benutzer dann nicht mehr gefunden werden, außer eben von dem einen, der ihn "gekauft" hat.
* "Unterbenutzer" von B können ausgewählte Felder ebenfalls ändern, dürfen aber nie explizit gefunden oder aufgerufen werden können
* Zwischen dem einen B-Benutzer und dessen Unterbenutzern besteht eine 1:n-Beziehung (<-- wirklich pfui). Das impliziert wiederum, dass die Unterbenutzer listenartig aufgeführt werden
* Eine Übersicht wie und wofür die Punkte ausgegeben wurden braucht das Ganze natürlich auch, damit die Admins was zum Spielen haben natürlich nochmal für diesen aufbereitet. Dabei denke ich irgendwie an eine Kontoauszugsübersicht, wie man sie beim online-Banking findet. Dafür müsste ja "views" herhalten können, oder?
* Benutzer der Art A und B können eine Freundschaft eingehen, was in den Suchtreffern auch explizit dargestellt wird (grün bei bestehender Freundschaft, gelb bei Antrag und ansonsten nichts bzw. rot)
Glaube fast man kann sich die Punkte besser als Währung vorstellen. Sie arbeiten nach dem gleichen Prinzip :) Wir nennen sie nur Credits :p
Hilfe!? :)
Anfangs dachte ich, ich könnte das mit Übercart, profile, roles, CCK und views irgendwie lösen, aber ich finde keinen Weg.
Anreize oder Lösungsvorschläge wären echt super! Danke :)
- Anmelden oder Registrieren um Kommentare zu schreiben
"Rules", "apply for role",
am 24.11.2009 - 19:07 Uhr
"Rules", "apply for role", "Role select" zusammen mit Rules... Man müßet ein wenig mehr wissen um was es geht...
Hallo, erstmal Danke für
am 25.11.2009 - 09:19 Uhr
Hallo, erstmal Danke für die Tipps. "Rules" sieht in der Beschreibung ganz gut aus. Komme aber erst später dazu mir die Module genauer anzusehen. Gebe aber definitiv Feedback.
Hm, ich weiß nicht wie viel ich verraten darf ;) Daher versuche ich es nochmal etwas abstrakter zu erklären, worum es geht:
Im Großen und Ganzen gibt es zwei Benutzergruppen: Interessenten und Anbieter. Anbieter werden wiederum unterteilt, was aber gerade nicht so wichtig ist. Niemand ist Kunde (wird gleich klarer wieso nicht)
Die Lösung, die ich entwickeln soll, bietet quasi einen Marktplatz an, auf dem sich Interessenten und Anbieter darbieten und finden können. Zum einen kann der Interessent nach Anbietern suchen, und zum anderen Anbieter nach passenden Interessenten. Derzeit habe ich eine Lösung im Kopf, bei der die Benutzer über "profile" deren Profil einpflegen. Manche der Felder überschneiden sich, weswegen Anbieter es leichter haben Interessenten zu finden. Manche der Felder dürfen aber erst durch den "Kauf" eingesehen werden. Tatsächlich bestimmt der Admin, welche Felder "Bezahlfelder" sind und welche nicht. Und Interessenten sollen Anbieter direkt vergleichen können (vergleichbar mit dem direkten Produktvergleich in Online-Shops).
Und dann wäre es noch schön, wenn bei der Suche durch Interessent bzw. Anbieter ein Indikator (so was wie eine Ampel) anzeigt, ob die Benutzer bereits Kontakt hatten. Dadurch weiß der Anbieter bereits im Suchergebnis, ob er die Daten bereits "gekauft" hat. So Kram wie E-Mail-Benachrichtigung bei Ereignis X und Y soll das Ganze natürlich auch noch haben. Aber alles zu seiner Zeit. Für mich ist es erstmal wichtig dieses benutzergruppenabhängige (+ der Einschränkung der Felder) Profil zu haben.
Achso: bin PMs von Drupal-Profis, vorzugsweise mit Programmiererfahrung, nicht abgeneigt :)
Klar kannst Du hier nicht
am 25.11.2009 - 09:54 Uhr
Klar kannst Du hier nicht viel verraten... :-) Also es gibt für jedes Problem in Deiner Beschreibung eine Lösung. Auf Drupal gibt es z.B. ein Modul, mit dem man bestimmte Profilbereiche vor anderen Rollen verdecken kann. Außerdem könntest Du an "Groups" denken, die sind allerdings derzeit mit anderen sogenannten Access-Modulen inkompatibel und können deshalb nur auf einer zweiten DB ausgeführt werden, wenn man auf andere Access-Module nicht verzichten kann oder will.
Wie angekündigt melde ich
am 01.12.2009 - 04:01 Uhr
Wie angekündigt melde ich mich nach einer Prüfung der genannten Module nochmal :)
Die genannten Module für sich sind nützlich, leider sind sie nicht so fein steuerbar, wie ich es brauche. "Rules" hat es fast geschafft meine Anforderung zu erfüllen. Wäre es mit "profile" kompatibel, hätte mir das viel Arbeit erspart. Aber vielleicht kann ich rules einfach so umbiegen, dass es das macht was ich brauche. Damit wäre auch schon viel geholfen denke ich. Brauche die Logik ja auf Feldebene und nicht "nur" auf Seitenebene.
"Profile Permissions" ist auch vielversprechend. Hier kann man aber leider nur auf Rollenebene statt Benutzerebene steuern.
Letztlich lässt das nur den Schluss zu, dass selbst entwickelt werden muss :(
Nochmal: PHP-Entwickler mit Drupal-Kenntnissen bitte per PM melden, kann Unterstützung brauchen!