hitobito / hitobito_youth

A hitobito wagon adding common features for (swiss) youth organizations.
Other
10 stars 20 forks source link

AHV-Nummer vom Profil in den Event verschieben #58

Open ThomasEllenberger opened 7 months ago

ThomasEllenberger commented 7 months ago

Umsetzungsticket aus der Diskusion von https://github.com/hitobito/hitobito/issues/2162

Da den Organisationen welche heute die AHV-Nummer in Hitobito verwalten die gesetzliche Grundlage fehlt, um die AHV Nummer persistiert auf Personen zu speichern, soll diese neu nur noch dort gespeichert werden, wo sie verwendet wird. Die AHV-Nummer wird nur bei Events von J+S benötigt und nur zum Zeitpunkt des Exports für die NDBJS. Aus diesem Grund soll die AHV Nummer nur noch auf dem Event gespeichert und x Tage nach der Durchführung von dort wieder gelöscht werden. Ob die AHV Nummer bei einem Event benötigt wird oder nicht soll man einstellen können. Wie Lange die AHV Nummer gespeichert wird ist pro Wagon definierbar und entspricht dem gleichen Zeitraum wie auch die restlichen Anmeldeangaben gespeichert werden.

Ausgangslage:

MVP-Hitobito:

Abgrenzung:

In einem zweiten Schritt sollen die bestehenden AHV- Daten gelöscht und auf alle aktiven Kurse übertragen werden. Des wird im Issue #59 umgesetzt.

Tech-Spec

ToDo

Noch offen

richardjubla commented 7 months ago

Hinweis zur Umsetzung

~~Uns ist der Zeitpunkt der Umsetzung (produktiv schalten) ein sehr wichtiges Anliegen: Entweder auf den Quartalsrelease 2/24 (Di, 2. Juli) ODER den Quartalsrelease 3/24 (Di, 01. Oktober) abhängig von einem Entscheid im Juni. Zu diesem Zeitpunkt hat die Nationale Datenbank Sport (NDS) angekündigt, eine Lösung für die AHV-Nr. bereit zu haben: In der NDS sollen dann bereits bekannte AHV-Nummer mit importierten Daten kombiniert werden können. Unsere Anpassung könnte und soll gleich daran anschliessen. Sollte es zu Verzögerungen kommen, wären wir für einen Release im Oktober vorbereitet und könnten uns kommunikativ/unterstützend für unsere Scharen vorbereiten. Zusätzlich oder alternativ könnte die Dauer der temporären Speicherung der Daten im Event angepasst werden. (1. Release 12 Monate / 2. Release 3 Monate) Hintergrund: Die AHV-Nr. ist für mache eine «mühsame» Sache, weil sie insbesondere bei Kindern nicht so einfach zu bekommen ist oder vergessen geht. Der (emotionale) Verlust der AHV Nr. in den Profilen der Mitglieder soll damit kompensiert werden, dass diese eben zukünftig bereits in der NDS automatisch zugeordnet werden. Die youth-Verbände werden die Lager-Administration (Lagerleitung/Coach) in Abhängigkeit mit der NDS-Fähigkeiten auf die Umstellung sensibilisieren und schulen. Du kannst dich darauf verlassen, dass wir (youth-Verbände) uns dazu austauschen.~~

Da der Mergefreeze für den July release bereits Mitte Juni anfängt, ist ein Entscheid Anfang Juni zu knapp. Arbeiten sollen im 3. Quartal stattfinden und die Änderungen mit dem Oktober Release produktiv umgesetzt werden.

tschuepbach commented 5 months ago

Update seitens NDS: Die Anpassung des Imports in der NDS wird für die Jugendausbildung Ende Juli umgesetzt. Die Anpassungen für die Kaderbildung erfolgt im Oktober. Somit ist eine Umsetzung in Q3 passend und sinnvoll.

richardjubla commented 3 months ago

Als FG Datenbank möchten wir Scharen und Event-Veranstalter entlasten, dass sie nicht notwendige oder nicht legitimierbare Daten unbeschränkt aufbewahren. Dazu sollen die Antworten zu Events nach x Monaten automatisch gelöscht werden, damit dies der Vorstand oder die Event-Administration nicht manuell machen muss.

Wir beziehen uns auf https://github.com/hitobito/hitobito_sac_cas/issues/367 und https://github.com/hitobito/hitobito_sac_cas/issues/367

Vorgabe:

Vorgeschlagene Werte:

Settings.event.participations.delete_additional_information_after_months = 60
Setting.sevent.participations.delete_answers_after_months = 60
diegosteiner commented 2 months ago

Für die technische Umsetzung habe ich mit @ThomasEllenberger und @kronn folgende zusätzliche Punkte besprochen:

@ThomasEllenberger habe ich etwas vergessen?

diegosteiner commented 2 months ago

Ich habe den Prototypen soweit mal umgesetzt:

Image

diegosteiner commented 2 months ago

ref https://github.com/hitobito/hitobito_sac_cas/issues/367

diegosteiner commented 2 months ago

@ThomasEllenberger wir hatten gestern noch darüber diskutiert, ob man die Standardfragen nicht «unveränderbar» machen kann. Ich habe das testweise mal umgesetzt und bin jetzt recht überzeugt, dass das die sinnvollste Variante ist. Es würde dann etwa so aussehen:

image

richardjubla commented 2 months ago

So wie ich das verstehe, werden die "Standardfragen" im jubla-Wagon weiterhin lediglich bei Kursen sichtbar und "verwendbar" sein. (organisatorisch für den User weitgehend irrelevant, wie und wann die Fragen kopiert oder verknüpft werden.) Ich begrüsse explizit, dass standardisierte und unveränderbare Fragen gibt.

Die die Administrationsangaben nur mit der manuellen Zuteilung ausgefüllt werden können, können sie nicht für die AHV Nr. verwendet werden. Es wäre wichtig, dass die AHV-Nr. nicht für alle Lagerteilnehmer*innen sichtbar wird, selbst wenn sie sich gegenseitig sehen können (Option: event_participations_visible)

richardjubla commented 2 months ago

Neu sind "Antwort obligatorisch ist kein gültiger Wert", sofern Standardfragen oder in den Administrationsangaben eine Frage

image Workaround: Frage in den Administrationsangaben löschen, Anlass speichern und Frage neu anlegen.

diegosteiner commented 2 months ago

Noch eine Ergänzung, die ich sinnvoll fände

Neue Standardfragen (wie z.B. die AHV Nummer) sollten auch bestehenden Events hinzugefügt werden. Mein Vorschlag wäre, dass die Standardfragen sowohl beim Erstellen als auch beim Bearbeiten übernommen werden.

Alternativ oder zusätzlich könnte man auch noch eine Migration machen, welche die AHV-Nummer allen bestehenden Anlässen als (optionale) Frage hinzufügt? Wie seht ihr das @ThomasEllenberger @richardjubla ?

ThomasEllenberger commented 2 months ago

Hey Diego. Die AHV Nummer Frage müsste sicher auch in bestehende Events übernommen werden. Evtl noch nicht in diesem Issue. Es gib ein Folgeissue: https://github.com/hitobito/hitobito_youth/issues/59 durch welches AHV-Nummern von Personen auf bestehende Events übertragen werden sollen. Spätestens dafür müssten in bestehenden Events dann die Frage nach AHV-Nummern auch vorhanden sein.

diegosteiner commented 2 months ago

Es wäre wichtig, dass die AHV-Nr. nicht für alle Lagerteilnehmer*innen sichtbar wird, selbst wenn sie sich gegenseitig sehen können (Option: event_participations_visible)

Ich habe das geprüft; den TN wird gegenseitig «fehlende Berechtigung» angezeigt:

image

@ThomasEllenberger

ThomasEllenberger commented 1 month ago

@nchiapol hat mich heute noch darauf aufmerksam gemacht, dass im Cevi wagon hier noch etwas nicht korrekt ist:

Image

richardjubla commented 1 month ago

@ThomasEllenberger

image

tschuepbach commented 1 month ago

@ThomasEllenberger

image

Die Formulierung der Fehlermeldung ("Application questions disclosure muss ausgefüllt werden") müsste wohl noch sinnvoll "übersetzt" werden..

Und sollte es nicht heissen "Anmeldeangaben sind nicht gültig"? 🤔

richardjubla commented 1 month ago

@ThomasEllenberger

Für die Koordination im Youth-Wagon benötigen zu wissen, wie der Stand dieser Story ist. (Aktuell "unreleased" auf der Stage-Umgebung?). Passiert hier noch was im Marge-Freeze bis 1. Oktober?

richardjubla commented 1 month ago

Als FG Datenbank möchten wir Scharen und Event-Veranstalter entlasten, dass sie nicht notwendige oder nicht legitimierbare Daten unbeschränkt aufbewahren. Dazu sollen die Antworten zu Events nach x Monaten automatisch gelöscht werden, damit dies der Vorstand oder die Event-Administration nicht manuell machen muss.

Wir beziehen uns auf hitobito/hitobito_sac_cas#367 und hitobito/hitobito_sac_cas#367

Vorgabe:

  • Mit dem Release wird der Wert auf 5 Jahre (60 Monate) gesetzt und im Verband über die jubla.db (Release/Handbuch) kommuniziert. (Maximal rechtlich vertretbarer Nachweis für Event-Angaben). Mit einem folgenden Release soll der Wert dann auf 13 Monate gesenkt werden. (Damit haben die Scharen Zeit, allfällige Archiv-Wünsche oder spezielle Anforderungen abzudecken).

Vorgeschlagene Werte:

Settings.event.participations.delete_additional_information_after_months = 60
Setting.sevent.participations.delete_answers_after_months = 60

Wie ist hier der Stand? @ThomasEllenberger und @diegosteiner

richardjubla commented 1 month ago

@ThomasEllenberger @diegosteiner

Aktuell macht uns diese Story die Kurse "kaputt": image

Die Vorlagen-Fragen werden beim bearbeiten von einem Kurs dupliziert und sind dann doppelt drin. Bei einem neuen Kurs sind sie zwar nicht doppelt drin, können aber nicht bearbeitet werden. Es ist auch nicht ersichtlich, was die Antwort Optionen sind.

nchiapol commented 1 month ago

Ich habe das bei uns eben Getestet und beobachte folgendes Verhalten:

Aus meiner Sicht ist dieses Verhalten soweit ok.

Ein echter Bug ist aber, dass die Antwort-Optionen nicht angezeigt werden.

richardjubla commented 1 month ago

Ich fasse für uns aktuell zusammen:

@nchiapol @ThomasEllenberger

diegosteiner commented 1 month ago

Danke euch beiden für die Rückmeldung. @richardjubla @nchiapol @ThomasEllenberger

Stimmt das für euch so oder habe ich etwas grundsätzlich falsch verstanden?

diegosteiner commented 1 month ago

Mein Vorschlag für die Darstellung der Antwort-Optionen bei globalen Fragen:

image

Würde das das 1. Problem für euch lösen?

nchiapol commented 1 month ago

@diegosteiner Die Doppelten Fragen sind "nicht deine Schuld". Das Problem ist, dass bei laufenden Kursen die gleiche Frage bereits vorhanden ist (weil sie schon im alten Setup [1] als Standard-Frage automatisch angelegt wurde oder weil sie jemand manuell angelegt hat). Ich denke nicht, dass sich das technisch lösen lässt.

[1] Das alte Setup hat einfach bei jedem neuen Kurs Fragen vor-angelegt, die aber sonst identisch waren mit manuellen.

@richardjubla Ich sehe dein Problem bei Kursen, in denen die Anmeldung bereits läuft. Aus meiner Sicht kann das Chaos dort vermieden werden, wenn die neue Standardfrage jeweils auf "nicht anzeigen" gesetzt wird. Dann verhält sich der bestehende Kurs wie bisher. Ob dies manueller gemacht werden kann oder ihr einen Automatismus braucht, hängt wohl von der Anzahl Fragen ab. Wir haben aktuell nur 2 und zusätzliche 2 Klicks vor dem Speichern halte ich für verkraftbar. Zusammenfassend:

(Abgesehen von der AHV-Nummer könnten in meinen Augen alle Standardfragen "nicht anzeigen" als default haben, dann wäre der manuelle Aufwand noch kleiner. Wichtig ist mir, dass für alle neuen Anlässe bei der AHV-Frage ein User-Entscheid erzwungen wird. vgl. https://github.com/hitobito/hitobito/issues/2876)

nchiapol commented 1 month ago

@diegosteiner der Mockup für 1. Problem passt so für mich.

richardjubla commented 1 month ago

Doppelte Fragen: Ich kann die Unsicherheit hier nachvollziehen und schaue mir das nochmals genau an. Ich denke einige der Duplikate sind dem Umstand geschuldet, dass es auf der Integration mehrere Iterationen des Features gegeben hat. Das soll und darf es auf der Produktivumgebung natürlich nicht geben. Ziel ist es, dass:

  1. Für die Benutzer alle Fragen und Antworten auf den Kursen 1:1 bestehen bleiben
  2. Die globalen Fragen aber im Hintergrund auf die Kurse kopiert und verknüpft werden
  3. Die neue globale Frage AHV-Nummer beim Erstellen oder Editieren eines Anlasses hinzugefügt wird.

Natürlich wollen wir, dass die bestehenden Antworten auf die Fragen bestehen bleiben. Die Informationen sind für die Durchführung des Kurses wichtig. Bei etlichen Kursen sind also die Standradfragen bereits drin. Wird der Kurs (in Zukunft) bearbeitet entsteht die Situation, dass die "neuen" Standardfragen zusätzlich erstellt werden (diese sind aus gründen nicht bearbeitbar und nicht löschbar). Die Kursadmin hat dann nur noch die Option mit den doppelten Fragen zu leben und die Kunden zu verwirren, oder muss zum Beispiel über manuellen Export/Import alle Teilnehmenden und deren Informationen von den bestehenden Fragen in die neuen Standardfragen mutieren.

nchiapol commented 1 month ago

dass die "neuen" Standardfragen zusätzlich erstellt werden (diese sind aus gründen nicht bearbeitbar und nicht löschbar).

Du kannst sie nicht löschen aber du kannst sie "nicht anzeigen" :arrow_right: Ich verstehe dein Problem nicht.

diegosteiner commented 1 month ago

Natürlich wollen wir, dass die bestehenden Antworten auf die Fragen bestehen bleiben. Die Informationen sind für die Durchführung des Kurses wichtig. Bei etlichen Kursen sind also die Standradfragen bereits drin. Wird der Kurs (in Zukunft) bearbeitet entsteht die Situation, dass die "neuen" Standardfragen zusätzlich erstellt werden (diese sind aus gründen nicht bearbeitbar und nicht löschbar). Die Kursadmin hat dann nur noch die Option mit den doppelten Fragen zu leben und die Kunden zu verwirren, oder muss zum Beispiel über manuellen Export/Import alle Teilnehmenden und deren Informationen von den bestehenden Fragen in die neuen Standardfragen mutieren.

Auf der Integrationsumgebung gab es die Situation, dass die globalen Fragen mehrfach geseeded wurden. Das Problem ist inzwischen behoben, es kann aber sein, dass da noch Folgen davon herumliegen (=> deshalb tauchen die Fragen bei diesem Kurs wohl mehrfach auf). Es ist nicht vorgesehen, dass die globalen Fragen mehrfach auf den Kursen erscheinen, auch beim bearbeiten nicht. Bereits erstellte Kurse behalten die globalen Fragen bei, wie sie waren. Mit der Ausnahme von eben der AHV-Nummer, die es bisher noch auf keinem Kurs gegeben haben kann.

Ich versuche versuche dem Problem auf der Integrationsumgebung auf den Grund zu gehen und stelle sicher, dass es so funktioniert wie es vorgesehen ist.

richardjubla commented 1 month ago

@diegosteiner @ThomasEllenberger Aktuelle Erkenntnis (26.9. 20:29Uhr):

diegosteiner commented 1 month ago

@richardjubla ich bin hier auch gerade noch dran.

Ein zusätzlicher Punkt:

diegosteiner commented 1 month ago

@richardjubla so, jetzt haben wir's, glaube ich.

Ich habe mich nochmals intensiv mit den bestehenden Daten auseinander gesetzt und bin zu folgendem Schluss gekommen: die Migration der Standard-Fragen auf bestehenden Events ist Schwachsinn und würde in der Tat zu doppelt vorkommenden Fragen führen. Aktuell ist es bereits so, dass die Standard-Fragen als «Kopie» auf dem Anlass abgelegt wurden. Dementsprechend ist die Strategie viel sinnvoller, die Fragen genau so zu belassen.

Auf der anderen Seite bedeutet das aber auch, dass wir nicht wissen, bei welchen Fragen es sich um Standardfragen handelt. Das könnte zwar über den Text abgeleitet werden, wird aber beliebig kompliziert (=> Fragetext hat sich über die Zeit verändert).

In Kombination mit dem Vorschlag, «neue Standard-Fragen», bzw. Standard-Fragen welche noch nicht auf diesem Anlass hinzugefügt wurden defaultmässig als «versteckt» hinzuzufügen, wenn man den Anlass bearbeitet, würde das bedeuten:

Was meinst du @richardjubla ? Wäre das für euch so akzeptabel?

Beim prüfen der bestehenden Anlässe und Fragen ist mir noch aufgefallen, dass es 244 Fragen ohne Fragetext gibt. Die führen dazu, dass die zugehörigen Anlässe ebenfalls nicht gültig sind.

richardjubla commented 1 month ago

Was meinst du @richardjubla ? Wäre das für euch so akzeptabel?

Wir haben getestet und die Kommunikation vorbereitet. Die Verantwortung für den Release, die Qualität und Auswirkungen inkl. Haftung auf das produktive System liegt explizit und abgesprochen mit @ThomasEllenberger bei euch.

patriziajubla commented 1 month ago

@diegosteiner

was mir gerade noch aufgefallen ist:

Bei einem Lager oder einem Anlass werden neue Fragen automatisch als Obligatorisch gesetzt inkl. Auswahlmöglichkeiten Optional, Obligatorisch, Nicht angezeigt - ich bin mir nicht sicher, ob dies gewünscht wird oder nur bei der Standardfrage der AHV image

diegosteiner commented 1 month ago

Liebe @patriziajubla

Nein, es ist nicht vorgesehen, dass neue Standardfragen obligatorisch sind, sondern eben «nicht angezeigt». Hast du dies bei allen Lagern beobachtet oder nur bei diesem? Bist du sicher, dass es nicht bereits manuell auf «obligatorisch» gesetzt wurde? Sonst bitte ich dir mir auf der Integrationsumgebung Zugriff auf diese Schar zu geben, damit ich mir das ansehen kann. Danke für den Hinweis!

patriziajubla commented 1 month ago

@diegosteiner

du hast recht, die neue Frage war nicht obligatorisch, die Sterne bzw. das neue Layout haben mich verwirrt. Sowie das ich beim neuen Eintrag auch alle drei Optionen (Optional, Obligatorisch, Nicht angezeigt) zur Verfügung habe. Wieso sollte ich eine neue Frage erstellen und diese dann nicht anzeigen lassen. Hier handelt es sich um normale Fragen die ich pro Anlass erstelle und nicht um Standardfragen.

diegosteiner commented 1 month ago

Liebe @patriziajubla

Danke für die Rückmeldung. Das sehe ich ein, aber vielleicht gibt's ja trotzdem mal einen Fall, bei dem man eine Frage nicht mehr Anzeigen, die Antworten aber trotzdem behalten möchte. Das wäre dann möglich. Sonst könnte man schon darüber nachdenken, das «Nicht angezeigt» für eigene Fragen auszublenden.

richardjubla commented 1 month ago

Liebe @patriziajubla

Danke für die Rückmeldung. Das sehe ich ein, aber vielleicht gibt's ja trotzdem mal einen Fall, bei dem man eine Frage nicht mehr Anzeigen, die Antworten aber trotzdem behalten möchte. Das wäre dann möglich. Sonst könnte man schon darüber nachdenken, das «Nicht angezeigt» für eigene Fragen auszublenden.

@diegosteiner Die Möglichkeit des Setzen der Werte required und multiple_choices in event_questions.rb ist damit wohl nicht mehr möglich: https://github.com/hitobito/hitobito_jubla/pull/116/files

ThomasEllenberger commented 2 weeks ago

@diegosteiner Im SAC-Wagon erscheinen aktuell Antwortangaben ohne Frage. Da sie keinen Defaultwert hat, kam die Vermutung auf es könnte sich um die AHV-Frage handeln... Kannst du dir das evtl. einmal anschauen? Image

richardjubla commented 2 weeks ago

Als FG Datenbank möchten wir Scharen und Event-Veranstalter entlasten, dass sie nicht notwendige oder nicht legitimierbare Daten unbeschränkt aufbewahren. Dazu sollen die Antworten zu Events nach x Monaten automatisch gelöscht werden, damit dies der Vorstand oder die Event-Administration nicht manuell machen muss.

Wir beziehen uns auf hitobito/hitobito_sac_cas#367 und hitobito/hitobito_sac_cas#367

Vorgabe:

  • Mit dem Release wird der Wert auf 5 Jahre (60 Monate) gesetzt und im Verband über die jubla.db (Release/Handbuch) kommuniziert. (Maximal rechtlich vertretbarer Nachweis für Event-Angaben). Mit einem folgenden Release soll der Wert dann auf 13 Monate gesenkt werden. (Damit haben die Scharen Zeit, allfällige Archiv-Wünsche oder spezielle Anforderungen abzudecken).

Vorgeschlagene Werte:

Settings.event.participations.delete_additional_information_after_months = 60
Setting.sevent.participations.delete_answers_after_months = 60

@ThomasEllenberger

Wir haben https://github.com/hitobito/hitobito_jubla/pull/120 versucht nachzuvollziehen. Aus meiner Sicht greifen die Anpassungen nicht auf dem produktiven System.

ThomasEllenberger commented 1 week ago

@richardjubla wir schauen uns das gerne noch einmal an. Hast du evtl. gerade ein Beispiel von einem Event welches älter als 5 Jahre ist, und bei dem die Anmeldeangaben noch gespeichert sind?

richardjubla commented 1 week ago

@richardjubla wir schauen uns das gerne noch einmal an. Hast du evtl. gerade ein Beispiel von einem Event welches älter als 5 Jahre ist, und bei dem die Anmeldeangaben noch gespeichert sind?

https://github.com/hitobito/hitobito_jubla/pull/120#issuecomment-2428756736