User Tools

Site Tools


de:developer:ideas:extensions:ext-grade

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

Diese Dokumentationsseite ist Mitglied des [[de:developer:start|Entwicklerteils]] und [[de:developer:ideas:extensions:|Ideen zu den Erweiterungen]] dieses Wikis. ====== Erweiterung ext-grade (Entwicklerversion, kein produktiver Einsatz möglich) ====== **Daten zur Erweiterung:** * Name: **[[de:user:extensions:ext-grade|ext-grade]]** * Kurzbeschreibung: **Einstufung von Mitgliedern** * Version: **v0.0.0** * Hat Adminbereich? **Ja** * Hat Gastbereich? **Ja** * Hat Mitgliederbereich? **Ja** * Abhängigkeiten: //Keine// * Releae-Revision: //Noch nicht fertiggestellt// **Aus dem Aufgabentext herauskopiert:** ''Stufen Sie Ihre Mitglieder z.B. in Bronze, Silber, Gold und Platin für das Erreichen von einstellbaren Punkteständen und/oder bestätigter Mails ein und vergeben Sie Ermäßigungen oder Sonderboni für das Erreichen der Stufen. Wenn die Ermäßigung eingelöst bzw. der Bonus ausgewählt wurde, verfällt die erreichte Stufe und das Mitglied kann diese erneut erreichen. Anderfalls kann das Mitglied sich zur nächsten Stufe hocharbeiten. Sie sollten beispielweise Bronze als niedrigste und Platin als höchste Stufe nehmen. Dann können Ihre Mitglieder es sich aussuchen, ob sie weiter verdienen wollen um an eine höhere Stufe zu gelangen, oder ob sie sich mit der niedrigeren Stufe zufrieden geben.'' ===== Ideen ===== Hier nun alle Ideen aufgelistet: ==== Bereits implementiert (auch lokale Arbeitskopie) ==== * Es werden mehr als drei weitere Tabellen benötigt: Einstufungsdaten (Id, Kurzbezeichnung, Rückfallsstufe bei Einlösung, Eltern-Id), Ermäßigung/Sonderbonus (Id, Kurzbezeichnung, Art [Ermäßigung,Sonderbonus], erreichte Punkteanzahl, erreichte Mailbestätigungen, Dauer ab Einlösung), Verknüpfungstabelle Einstufung<->Ermäßigung/Sonderbonus (Id, Id-Einstufung, Id-Ermäßigung/Sonderbonus), Verknüpfungstabelle Einstufung<->Mitglied (Id, Id-Einstufung, Id-Mitglied, Zeitmarke bei Ablauf der Ermäßigung/Sonderbonus) ==== Noch zu implementieren ==== === Allgemeine Ideen: === * Intensive Nutzung des [[de:developer:api:filter-system|Filtersystems]] * Ermäßigungen bei Bestellungen oder Sonderprozente bei z.B. Klicks auf Mailbestätigungslinks vergebbar, realisiert mit Filtern (//Weitere Ideen?//) * Einstufungsbezeichnung ("Bronze", "Silber", "Gold" usw.) sind frei eingebbar (keine Vorgabe durch SELECT-Auswahl) * Pro Stufe kann frei ausgewählt werden, was der User in welcher Höhe erhalten soll bzw. weniger zahlen soll. * Es soll passend auswählbar sein, ob dies z.B. eine einmalige Ermäßigung oder dauerhafte Sonderprozente (Sonderaufschlag pro Klick) ist * Nach Einlösung einmaliger Angebote verfällt die Einstufung auf die eingestellte Stufe und kann wieder erneut erreicht werden. * Eine allgemeine Filterkette erlaubt das Auffinden der Daten aus den Ermäßigungen/Sonderboni und übermittelt diese an die gewünschten //Empfänger//, dies sind z.B. Mailbuchungsfunktionen oder Bettelvergütungsfunktionen (kann auch eine einzelne Zeile sein). * Der Filterkette müssen (vermutlich) nur Mitglieder-Id und Punkteanzahl übermittelt werden. === Überlegungen zum Datenbanklayout === * Dadurch sind Mehrfach-Ermäßigungen/Sonderboni an die Mitglieder pro Stufe vergebbar: keine Eingrenzung auf z.B. ein Sonderbonus für eine Stufe und eine Ermäßigung auf eine andere Einstufung, sondern flexible Möglichkeiten * //Weiteres?// ==== Weitere Ideen für zukünftige Updates ==== * //Weiteres?// ===== Datenbankstruktur ===== ==== Tabelle grade_data - Einstufungsdaten ==== * **id**, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen * **grade_name**, VARCHAR - Kurzbeschreibung der Einstufung (z.B. Gold,Platin) * **grade_parent_id**, BIGINT - Verknüpfungen mit der Eltern-Einstung (um Abhängigkeiten zu konstruieren) ==== Tabelle grade_cash_data - Daten für Ermäßigungen bzw. Sonderboni ==== * **id**, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen * **grade_cash_name**, VARCHAR - Kurzbeschreibung der Ermäßigung bzw. Sonderbonus * **grade_cash_type**, ENUM - Typ: Ermäßigung bzw. Sonderbonus * **reached_points**, FLOAT - Erreichte Punkteanzahl um diese Ermäßigung bzw. Sonderbonus zu erhalten * **reached_mails**, BIGINT - Erreichte Mailbestätigungen um diese Ermäßigung bzw. Sonderbonus zu erhalten * **time_valid**, BIGINT - Anzahl Sekunden, wie lange diese Ermäßigung bzw. Sonderbonus gültig ist ==== Tabelle grade_cash_connection - Verknüpfungstabelle "Einstufung<->Ermäßigung" ==== * **id**, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen * **grade_id**, BIGINT - Verknüpfung mit der Tabelle //grade_data// * **grade_cash_id**, BIGINT - Verknüpfung mit der Tabelle //grade_cash_data// ==== Tabelle grade_user_connection - Verknüpfungstabelle "Einstufung<->Mitglied" ==== * **id**, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen * **userid**, BIGINT - Verknüpfung mit der Tabelle //user_data// * **grade_id**, BIGINT - Verknüpfung mit der Tabelle //grade_data// * **grade_expired**, TIMESTAMP - Zeitmarke, bis die Einlösung gültig ist ====== Sprachauswahl: ====== Diese Webseite ist auch in anderen Sprachen erhältlich: [[en:developer:ideas:extensions:ext-grade|English]]

de/developer/ideas/extensions/ext-grade.1309731016.txt.gz · Last modified: 2011/07/04 00:10 by roland