PRD · SOLCOM Projektpartnerportal · P2503-275

Projekt-Alert-Konsolidierung

approved

2026-07-02 · Target-Release 08.07.2026 · ADR: 0055 · Plan: 2026-07-02-001 · Jira: P2503-275

Scope-Änderung 2026-07-03 (ADR-0056): Der Projekt-Alert steht nur noch registrierten, eingeloggten Projektpartner:innen zur Verfügung. Anonyme Besucher:innen sehen auf /projektportal/projektalert einen Teaser mit Login- und Registrieren-Aufruf statt des Formulars. Damit entfallen die Stories des Clusters A (anonyme Anlage, Double-Opt-in, Token-Bearbeiten-Links) sowie Story 20 und 22 in ihrer Gast-Form: Die 7.314 aktiven Gast-Alerts des Altsystems werden nicht migriert (Hard Cut); übernommen werden ausschließlich user-gebundene aktive Alerts. Der Token-Abmelde-Link in den E-Mails bleibt als Ein-Klick-Abmeldung erhalten. Dieses Dokument bleibt als Stand vom 02.07.2026 unverändert stehen — das verbindliche Delta lebt in ADR-0056.

Problem Statement

Wer auf der neuen SOLCOM-Website über passende Projekte informiert werden will, stößt auf einen Projekt-Alert, der Vertrauen kostet statt Vertrauen aufzubauen: Beim Eintippen von Schlagworten erscheinen kryptische Vorschläge wie „anlagen^bau". Eigene Begriffe wie „Kunde" werden nicht akzeptiert, obwohl das auf der alten Website selbstverständlich ging. Niemand erklärt, wie oft und wann E-Mails kommen. Dasselbe Schlagwort lässt sich gleichzeitig als Suchbegriff und als Ausschluss eintragen, ohne dass das Formular widerspricht. Und wer den Alert ohne Registrierung angelegt hat, findet ihn nie wieder: Die Seite ist beim nächsten Besuch leer, es gibt keinen Weg, die eigenen Kriterien anzusehen, zu ändern oder zu löschen.

Hinter diesen Symptomen steht ein strukturelles Problem: Es existieren zwei parallel gebaute Alert-Systeme — ein „Suchagent" nur für eingeloggte Projektpartner:innen (mit Bearbeiten und Löschen, aber ohne Ausschluss-Kriterien) und ein anonymer „Projekt-Alert" (mit Ausschluss-Kriterien und Double-Opt-in, aber ohne jede Verwaltungsmöglichkeit). Der Stakeholder hat nur das zweite gesehen und vermisst genau das, was das erste kann. Zusätzlich hängen am alten System rund 13.000 aktive Abonnements (registrierte Nutzer:innen und Gäste), die beim Relaunch ersatzlos verloren gingen, wenn niemand sie mitnimmt.

Solution

Es gibt künftig genau einen Projekt-Alert für alle — erreichbar unter derselben Adresse wie auf der alten Website (/projektportal/projektalert). Schlagworte lassen sich frei eintippen; beim Schreiben schlägt das Formular Begriffe aus einer redaktionell gepflegten Liste vor. Suchbegriffe und Ausschlüsse verhalten sich identisch, Widersprüche (gleicher Begriff auf beiden Seiten) werden abgewiesen. Das Formular erklärt die Versandlogik in einem Satz: E-Mail, sobald neue passende Projekte online gehen — jedes Projekt nur einmal. Eine Trefferzahl zeigt schon beim Ausfüllen, wie viele Projekte aktuell passen würden.

Anonyme Abonnent:innen bestätigen ihr Abo wie bisher per E-Mail-Link (Double-Opt-in) und erhalten künftig in jeder E-Mail zwei Verwaltungslinks: „Alert bearbeiten" öffnet das ausgefüllte Formular (ändern oder löschen), „Abmelden" beendet das Abo sofort. Eingeloggte Projektpartner:innen legen ihren Alert ohne erneute Kontaktdaten-Eingabe an, er ist sofort aktiv, und sie pflegen ihn jederzeit im Portal — genau einen pro Person. Die aktiven Abonnements der alten Website (auch die von Gästen) werden vollständig übernommen; niemand muss sich neu anmelden, und niemand wird nach der Umstellung mit E-Mails zu längst veröffentlichten Projekten geflutet.

User Stories

Cluster A — Anonyme Interessent:innen

  1. Als anonyme:r Besucher:in möchte ich einen Projekt-Alert anlegen, ohne mich registrieren zu müssen, damit ich mit minimaler Hürde über passende Projekte informiert werde.
  2. Als anonyme:r Besucher:in möchte ich beliebige eigene Schlagworte eintippen können (z. B. „Kunde"), damit meine Suche nicht an einer vorgegebenen Liste scheitert.
  3. Als anonyme:r Besucher:in möchte ich beim Tippen sinnvolle Vorschläge aus einer gepflegten Begriffsliste sehen, damit ich schneller und tippfehlerfrei zu guten Kriterien komme.
  4. Als anonyme:r Besucher:in möchte ich keine kryptischen Vorschläge wie „anlagen^bau" sehen, damit ich dem Formular vertraue.
  5. Als anonyme:r Besucher:in möchte ich Schlagworte ausschließen können — mit derselben freien Eingabe wie bei den Suchbegriffen, damit sich beide Felder konsistent verhalten.
  6. Als anonyme:r Besucher:in möchte ich eine verständliche Fehlermeldung bekommen, wenn ich denselben Begriff als Suchwort und als Ausschluss eintrage, damit mein Alert keine widersprüchlichen Kriterien enthält.
  7. Als anonyme:r Besucher:in möchte ich Einsatzgebiete ausschließen können (Remote, Österreich, Schweiz, deutsche PLZ-Bereiche, andere Länder), damit ich nur regional relevante Projekte erhalte.
  8. Als anonyme:r Besucher:in möchte ich schon beim Ausfüllen sehen, wie viele Projekte aktuell auf meine Kriterien passen, damit ich einschätzen kann, ob meine Kriterien zu eng oder zu weit sind.
  9. Als anonyme:r Besucher:in möchte ich im Formular erklärt bekommen, wann und wie oft ich E-Mails erhalte, damit ich weiß, was mich erwartet.
  10. Als anonyme:r Besucher:in möchte ich mein Abo per Bestätigungslink in einer E-Mail aktivieren (Double-Opt-in), damit niemand fremde Adressen anmelden kann.
  11. Als Abonnent:in möchte ich in jeder E-Mail einen „Alert bearbeiten"-Link haben, der mein ausgefülltes Formular öffnet, damit ich meine Kriterien jederzeit ansehen und ändern kann — auch ohne Konto.
  12. Als Abonnent:in möchte ich meinen Alert über den Bearbeiten-Dialog oder den Abmelde-Link endgültig löschen können, damit ich die Kontrolle über meine Daten behalte.
  13. Als Abonnent:in möchte ich beim erneuten Ausfüllen mit derselben E-Mail-Adresse keine zweite Anmeldung erzeugen, sondern per E-Mail auf meinen bestehenden Alert hingewiesen werden, damit keine Dubletten entstehen.
  14. Als Besucher:in möchte ich nicht über das Formular herausfinden können, ob eine fremde E-Mail-Adresse bereits einen Alert hat, damit meine Daten geschützt bleiben.

Cluster B — Registrierte Projektpartner:innen

  1. Als eingeloggte:r Projektpartner:in möchte ich meinen Alert ohne erneute Eingabe meiner Kontaktdaten anlegen, damit das Formular meine Zeit respektiert.
  2. Als eingeloggte:r Projektpartner:in möchte ich, dass mein Alert sofort aktiv ist (ohne Bestätigungs-E-Mail), damit ich keinen unnötigen Schritt gehen muss.
  3. Als eingeloggte:r Projektpartner:in möchte ich genau einen Alert besitzen, den ich im Portal ansehen, ändern und löschen kann, damit meine Benachrichtigungen an einer Stelle gepflegt sind.
  4. Als eingeloggte:r Projektpartner:in möchte ich unter der bisherigen Suchagent-Adresse automatisch auf die neue Alert-Seite geleitet werden, damit alte Lesezeichen weiter funktionieren.

Cluster C — Bestands-Abonnent:innen der alten Website

  1. Als Bestands-Abonnent:in der alten Website möchte ich, dass mein aktiver Alert den Relaunch übersteht, damit ich mich nicht neu anmelden muss.
  2. Als Gast-Abonnent:in der alten Website (ohne Konto) möchte ich, dass auch mein Alert übernommen wird, damit mein aktives Abo nicht stillschweigend verschwindet.
  3. Als übernommene:r Abonnent:in möchte ich nach der Umstellung keine Flut von E-Mails zu Projekten erhalten, die schon vor der Umstellung online waren, damit der Alert nützlich bleibt statt lästig.
  4. Als übernommene:r Abonnent:in möchte ich in den künftigen E-Mails dieselben Verwaltungsmöglichkeiten haben wie Neu-Abonnent:innen (bearbeiten, abmelden), damit ich meine übernommenen Kriterien nachschärfen kann — gerade wenn die Umstellung meine Suchlogik vereinfacht hat.
  5. Als übernommene:r Abonnent:in möchte ich im Zweifel eher etwas mehr passende Projekte sehen als zu wenige, damit mir durch die Umstellung keine Chancen entgehen.

Cluster D — Redaktion und Betrieb

  1. Als Redakteur:in möchte ich die Vorschlagsliste der Schlagworte selbst pflegen können, damit die Vorschläge zum Projektangebot und zur Sprache unserer Zielgruppe passen.
  2. Als Redakteur:in möchte ich, dass frei eingetippte Nutzer-Begriffe meine gepflegte Liste nicht verändern, damit die Vorschlagsqualität nicht schleichend verfällt.
  3. Als Betreiberin möchte SOLCOM genau ein Alert-System betreiben, damit jede künftige Änderung nur einmal gebaut, getestet und gepflegt werden muss.
  4. Als Betreiberin möchte SOLCOM, dass Bearbeiten- und Abmelde-Links nicht erratbar sind, damit niemand fremde Alerts manipulieren kann.
  5. Als Betreiberin möchte SOLCOM unbestätigte Anmeldungen nach kurzer Frist automatisch löschen, damit keine unnötigen personenbezogenen Daten liegen bleiben.
  6. Als Betreiberin möchte SOLCOM jedes Projekt pro Abonnent:in höchstens einmal verschicken, damit der Alert als hochwertig wahrgenommen wird.
  7. Als Betreiberin möchte SOLCOM, dass die Kuriositäten-Begriffe auch aus den Filtern der Projektliste verschwinden und über die Importe nicht wieder entstehen, damit das Problem nicht nur am Alert-Formular kaschiert wird.

Implementation Decisions

Testing Decisions

Ein Seam, ganz oben (User-Entscheidung): Sämtliche Tests greifen an der öffentlichen HTTP-Oberfläche an — dem höchsten existierenden Seam. Getestet wird ausschließlich externes Verhalten: was ein:e Abonnent:in im Browser und im Postfach erlebt. Keine Assertions auf Entity-Interna, Service-Rückgaben oder Implementierungsdetails.

Out of Scope

Further Notes