-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Silverscouts: Automatismus / Opt-in #273
Comments
Das Ticket scheint auch für uns interessant. (Auch wenn wir wohl keinen SilverCevi-Baum einführen werden und aktuell noch keine Ehemaligengruppen haben.) Ich kann mir vorstellen, dass wir den Gruppentyp "Ehemalige" einbauen und dann wären wir sehr an dieser Funktionalität interessiert. Aus meiner Sicht könnte das also genre auch in den Youth-Wagon oder gar den Core. Eine Rückfrage zu @Michael-Schaer's Antwort: Erzeugen "Selbstregistrierungen" keine Dubletten? (Wenn ich bei uns aktuell eine Selbstregistrierung [1] durchführe erhalte ich die Warnung "E-Mail wird bereits verwendet. Melde dich an oder registrier dich mit einer anderen E-Mail-Adresse.") [1] Ich verstehe darunter den Link "Externe Registrierung" bei der Gruppen-Info. Oder gibt es da bei euch eine weitere Funktion? |
@nchiapol Das ist tatsächlich etwas schade, wenn wir am Schluss so verschiedene Ehemaligen-Lösungen haben. Wir haben das auch schon mit Puzzle besprochen und die einfachste Lösung ist leider, das im PBS-Wagon zu machen. Die Jubla hat bereits ihre Lösung im eigenen Wagon, unsere ist recht unterschiedlich und das zusammen zu bringen, lohnt sich nicht wirklich. Ob das etwas ändert, wenn ihr euch auch für die hier beschriebene Lösung interessiert, müsste man wohl noch einmal mit Puzzle besprechen.
Da hast du Recht. Ich dachte eigentlich, das wäre als eingeloggte Person auch möglich. Aber hier müssen wir wohl noch mal nachbessern. Wenn wir das gleich richtig machen wollen, vermutlich so:
|
@Michael-Schaer Diese Selbst-Einschreibung fehlt bisher noch komplett, und diese müsste man erst programmieren. Möchtet ihr das gleich im Rahmen dieses Tickets erledigen lassen? Dadurch könnte sich die Offerte allenfalls nochmals ändern (ich bin nicht sicher, ob das bereits in der Offerte so eingerechnet wurde). Als Alternative könnte man auch z.B. die Kontakt-Mailadresse der Ehemaligengruppen ins Mail rendern, wo eine gesetzt ist. Dann können sich die Leute bei den jeweiligen Gruppen selber melden, und dort hinzugefügt werden (wird Zugriffsanfragen auslösen, aber diese kann die ehemalige Person auch selber freigeben). Noch andere Fragen die sich mir gestellt haben:
|
Siehe hitobito/hitobito#2180. Vielleicht könnt ihr den PR bei der Umsetzung mit einbeziehen?
Dieser Fall muss nicht beachtet werden, da er sehr selten ist
Guter Punkt. Vorschlag: Wenn die Person in irgendeiner Ehemaligen-Gruppe eine Rolle hat, sollte das Mail nicht verschickt werden. |
@Michael-Schaer hast du noch einen (vorerst nur deutschen) Beispiel-Text für das Mail, inkl. Verwendung der beiden Platzhalter? Es wäre hilfreich um beim Entwickeln genau zu verstehen wofür das Mail gedacht ist, und wir könnten den Text dann auch gleich als Default erfassen. |
@carlobeltrame Ich habe mal ein Mail inkl. Pseudocode aufgesetzt. Den Text werden wir sicher noch anpassen, symbolisch passt er aber. Ich dachte an zwei Variablen, die im Mail frei eingesetzt werden können. Bei der zweiten Variable ist etwas ungünstig, dass diese selber einen längeren Text enthält, der dann vermutlich nicht konfigurativ ist(?)
|
Merci vielmals für den Text. Was im Rahmen dieses Issues (und der offerierten Zeitschätzung) sicher nicht möglich sein wird, ist eine "Skriptsprache" mit
An der Stelle der Platzhalter würden dann gemäss meinem aktuellen Plan direkt ausprogrammierte (HTML-)Aufzählungen mit Verlinkungen ins Mail eingesetzt. Für den Fall dass keine Ehemaligengruppen in der Hierarchie aufwärts gefunden werden: Erst mal, ist das denn ein realistischer Fall? Gibt es Kantone in denen es keinen APV gibt der sich so präsentieren würde? Wird es keine Ehemaligengruppe auf Ebene PBS geben?
|
Achtung: Der Text den du mir geschickt hast enthält übrigens noch einen Widerspruch mit deiner Spezifikation. Du schreibst "Ich habe festgestellt, dass du in der Mitgliederdatenbank der PBS keine Rolle mehr hast." In der Spezifikation ist aber nicht die Rede von "keine Rolle in der Mitgliederdatenbank", sondern nur von "Die letzte aktive Rolle der Person in dieser Gruppe und Ebene wurde gelöscht" (emphasis mine). Es werden also gemäss deiner aktuellen Spezifikation auch Personen das Mail bekommen, die durchaus noch aktive Rollen haben, aber einfach z.B. in einer von mehreren Abteilungen / Ebenen aufgehört haben. |
Die Ehemaligengruppen kommen ja nach dem Release erst nach und nach dazu. Dann müssten sie auch noch die Selbst-Einschreibung aktiviert haben. Irgendwann entscheiden wir uns dann, das Mail zu aktivieren. Da werden vermutlich weitaus nicht alle Ebenen eine Ehemaligen-Gruppe haben.
Nein, die SiSc-Regionen sind ja im anderen Knoten.
Beide funktionieren für mich. Wichtig ist, dass wir das Mail beim Start, sowie temporär nur mit einer der beiden Variablen verwenden können.
|
Wie meinst du das mit aktivieren? Muss der Mailversand-Automatismus als ganzes (de-)aktivierbar sein? Reicht es wenn wir das als FeatureGate in den settings.yml konfigurierbar machen und somit ein Deployment nötig ist um es umzuschalten? |
Siehe auch Punkt 10. ganz oben. Das muss nicht zwingend "on the fly" sein. Für mich ergibt sich dadurch folgender Einführungsplan / Ablauf:
3 Monate nach Release:
Habe ich alles richtig verstanden? Bzw. passt das mit der technischen Spezifikation zusammen? |
Ja, den Punkt 10 hatte ich gestern noch provisorisch ergänzt. Gut wenn du dem zustimmst. Das Vorgehen passt. Wenn ihr wollt können wir euch auch das manuelle Mail ersparen, indem wir beim Release nur gelöschte Rollen mit "Löschdatum < vor 1 Jahr" als "bereits erledigt" markieren. |
refs #235
requires #271
Automatismus / Opt-in
Wenn jemand in der MiData die letzte Rolle verliert, soll nach 3 Monaten eine Anfrage via Mail verschickt werden. Diese Anfrage soll konfigurierbar sein und folgende Textbausteine beinhalten:
Für den Automatismus gibt es diverse Kriterien:
Wenn keine Rückmeldung eingeht, passiert erst mal nichts. Bei keiner Reaktion wird nach weiteren 3 Monaten ein Reminder (das gleiche Mail noch einmal) verschickt.
Tech-Spec
Bei Löschen einer relevanten Rolle (nicht in Ehemaligengruppe) Jobs schedulen sofern die Rolle mindestens 7 Tage alt ist und die Person eine Email Adresse hatmitrun_at = 3.months.from_now
für erstes Mailmitrun_at = 6.months.from_now
für reminder MailOffene Fragen
Antwort von @Michael-Schaer: via Selbstregistrierung lösen. Im Mail-Template könnten dann zwei Variablen {SiScRegion-Links} und {AlumniGroup-Links} verwendet werden. Die erste Variable enthält alle Links von SilverScouts-Regionen mit aktivierter Selbstregistrierung. Die zweite Variable enthält Links zu allen Ehemaligen-Gruppen im normalen MiData-Baum, die hierarchisch über der Person vorkommen und die Selbstregistrierung aktiviert haben.
ToDo
Role
zwei neue Datumsfelderalumni_invitation_processed_at
undalumni_reminder_processed_at
einfügendeleted_at < NOW()
) in der Datenbank die beiden Datumsfelder mit dem Datum 1.1.1970 befüllendeleted_at < 3.months.ago
unddeleted_at >= 6.months.ago
undalumni_invitation_processed_at IS NULL
und iteriert über diese (deckt bereits das fachliche Kriterium 3. (siehe oben) ab, weil wir für weniger als 7 Tage alte Rollen ein hard delete machen)alumni_invitation_processed_at
Feld mitNOW()
befüllen (und in die DB speichern)silverscouts.invitation
ist enabled. Deckt fachliches Kriterium 10. ab.Group::Biber
,Group::Woelfe
,Group::Pfadi
,Group::Pio
,Group::Pta
. Deckt fachliche Kriterien 4. und 6. ab.Group::Ehemalige::Mitglied
oderGroup::Ehemalige::Leitung
sein, und die Gruppe der Rolle ist keineGroup::Silverscouts::Region
,Group::Silverscouts
oderGroup::Root
. Deckt fachliches Kriterium 5. ab.Group::Ehemalige::Mitglied
oderGroup::Ehemalige::Leitung
sein, und die Gruppe der Rolle ist keineGroup::Silverscouts::Region
,Group::Silverscouts
oderGroup::Root
. Deckt fachliches Kriterium 9. ab.ALUMNI_INVITATION_WITH_REGIONAL_ALUMNI_GROUPS
) versenden{person-name}
: Name der Person deren Rolle beendet wurde{SiScRegion-Links}
: Eine HTML-Liste mit Links zur Selbstregistrierungsseite allen Gruppen vom Typ "Group::Silverscouts::Region", welche Selbstregistrierung aktiviert haben<a href="[self_inscription_link]" target="_blank">[group_name]</a>
{AlumniGroup-Links}
: Eine HTML-Liste mit Links zur Selbstregistrierungsseite aller Ehemaligengruppen von der Rolle aus aufwärts im Baum. Die Suche soll folgendermassen ablaufen:role.group.layer_group
müsste ungefähr gehen)Group::Ehemalige
dieses Layers suchen, welche Selbstregistrierung aktiviert haben, und sie zur HTML-Liste hinzufügen. Siehe Nested Set Doku für Details wie man diesen Query effizient machen kann.<a href="[self_inscription_link]" target="_blank">[layer_name]: [ehemalige_gruppe_name]</a>
ALUMNI_INVITATION_WITHOUT_REGIONAL_ALUMNI_GROUPS
versenden, welches nur die{person-name}
und{SiScRegion-Links}
Placeholder enthält.alumni_invitation_processed_at
arbeitet diese Job mit dem Feldalumni_reminder_processed_at
ALUMNI_REMINDER_WITH_REGIONAL_ALUMNI_GROUPS
/ALUMNI_REMINDER_WITHOUT_REGIONAL_ALUMNI_GROUPS
)The text was updated successfully, but these errors were encountered: