diff --git a/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf b/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf deleted file mode 100644 index 52d1d4b..0000000 Binary files a/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250812.pdf and /dev/null differ diff --git a/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf b/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf deleted file mode 100644 index de94668..0000000 Binary files a/mandates/spitch/Spitch.ch Integration Technical Specification - PowerOn Platform 20250813.pdf and /dev/null differ diff --git a/mandates/vattenfall/110 Base Documents/DBT Questionaire V0.2.xlsx b/mandates/vattenfall/000 Private/DBT Questionaire V0.2.xlsx similarity index 100% rename from mandates/vattenfall/110 Base Documents/DBT Questionaire V0.2.xlsx rename to mandates/vattenfall/000 Private/DBT Questionaire V0.2.xlsx diff --git a/mandates/vattenfall/110 Base Documents/Intro pamo.txt b/mandates/vattenfall/000 Private/Intro pamo.txt similarity index 100% rename from mandates/vattenfall/110 Base Documents/Intro pamo.txt rename to mandates/vattenfall/000 Private/Intro pamo.txt diff --git a/mandates/vattenfall/000 Private/Neutralizer Glossary.txt b/mandates/vattenfall/000 Private/Neutralizer Glossary.txt new file mode 100644 index 0000000..e53f731 --- /dev/null +++ b/mandates/vattenfall/000 Private/Neutralizer Glossary.txt @@ -0,0 +1,44 @@ +[organization] +vattenfall +valueon +h3 + +[name] +Alied +Anna +Annemarie +Borchers +Cassandra +Christoffer +Christoph +Claire +Dorota +Edwin +Fabian +Fanny +Hagmann +Haverkorn +Henrik +Ivo +Jeroen +Jitske +John +Jong +Lindberg +Lutz +Marklund +motsch +Nordberg +Nordström +ommeren +patrick +pieter +Rebecca +Rijsewijk +Robin +Sebastian +Stefan +Steven +Tobias +Verdonkschot +Wesselsboer diff --git a/mandates/vattenfall/110 Base Documents/20250829 transscript alignment pre interviews.txt b/mandates/vattenfall/100 Context/20250829 transscript alignment pre interviews.txt similarity index 100% rename from mandates/vattenfall/110 Base Documents/20250829 transscript alignment pre interviews.txt rename to mandates/vattenfall/100 Context/20250829 transscript alignment pre interviews.txt diff --git a/mandates/vattenfall/110 Base Documents/20250903 transscript design meeting.txt b/mandates/vattenfall/100 Context/20250903 transscript design meeting.txt similarity index 100% rename from mandates/vattenfall/110 Base Documents/20250903 transscript design meeting.txt rename to mandates/vattenfall/100 Context/20250903 transscript design meeting.txt diff --git a/mandates/vattenfall/100 Context/Contract excerpt objective.docx b/mandates/vattenfall/100 Context/Contract excerpt objective.docx new file mode 100644 index 0000000..ac5b833 Binary files /dev/null and b/mandates/vattenfall/100 Context/Contract excerpt objective.docx differ diff --git a/mandates/vattenfall/100 Context/Notes Interveiwee.docx b/mandates/vattenfall/100 Context/Notes Interveiwee.docx new file mode 100644 index 0000000..d2f74b0 Binary files /dev/null and b/mandates/vattenfall/100 Context/Notes Interveiwee.docx differ diff --git a/mandates/vattenfall/110 Base Documents/Notes Setup.docx b/mandates/vattenfall/100 Context/Notes Setup.docx similarity index 88% rename from mandates/vattenfall/110 Base Documents/Notes Setup.docx rename to mandates/vattenfall/100 Context/Notes Setup.docx index 4c8a22b..d02a02a 100644 Binary files a/mandates/vattenfall/110 Base Documents/Notes Setup.docx and b/mandates/vattenfall/100 Context/Notes Setup.docx differ diff --git a/mandates/vattenfall/100 Context/glossary.txt b/mandates/vattenfall/100 Context/glossary.txt new file mode 100644 index 0000000..7297df6 --- /dev/null +++ b/mandates/vattenfall/100 Context/glossary.txt @@ -0,0 +1,11 @@ +BU - Business Unit +DSH - Digital Services & Hardware (central department) +MCO - Marketing and Commercial Operations (central department) +VMG - Value Management & Governance (central department) +S&O's - Sales & Organisations (country organisations Sweden, NL and Germany) +Project Orion - Extensive program to carve out B2C and hand it over to other Vattenfall departments outside of the BU +Project Gearshift - Program in 2024 to reorganize the S&O Germany +Project Nexus - Program to implement the new operating model in 2024/2025 +BA - Business Area, which consists of a collection of BU’s +Central IT - this is Vattenfall IT, located outside of the BU in the central Vattenfall organisation + diff --git a/mandates/vattenfall/111 Interview Tobias - Procurement/00 Interview Guide - Tobias Winblad von Walter.pptx b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/00 Interview Guide - Tobias Winblad von Walter.pptx similarity index 100% rename from mandates/vattenfall/111 Interview Tobias - Procurement/00 Interview Guide - Tobias Winblad von Walter.pptx rename to mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/00 Interview Guide - Tobias Winblad von Walter.pptx diff --git a/mandates/vattenfall/111 Interview Tobias - Procurement/02 questions.txt b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/02 questions.txt similarity index 100% rename from mandates/vattenfall/111 Interview Tobias - Procurement/02 questions.txt rename to mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/02 questions.txt diff --git a/mandates/vattenfall/111 Interview Tobias - Procurement/03 notes.docx b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/03 notes.docx similarity index 100% rename from mandates/vattenfall/111 Interview Tobias - Procurement/03 notes.docx rename to mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/03 notes.docx diff --git a/mandates/vattenfall/111 Interview Tobias - Procurement/04 transscript.txt b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/04 transscript.txt similarity index 100% rename from mandates/vattenfall/111 Interview Tobias - Procurement/04 transscript.txt rename to mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/04 transscript.txt diff --git a/mandates/vattenfall/111 Interview Tobias - Procurement/05 document FPSC Category Deep Dive E-Mobility.pdf b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/05 document FPSC Category Deep Dive E-Mobility.pdf similarity index 100% rename from mandates/vattenfall/111 Interview Tobias - Procurement/05 document FPSC Category Deep Dive E-Mobility.pdf rename to mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/05 document FPSC Category Deep Dive E-Mobility.pdf diff --git a/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/ANONOMIZED_Transcript Interview Procurement Leader.pdf b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/ANONOMIZED_Transcript Interview Procurement Leader.pdf new file mode 100644 index 0000000..23bed5e Binary files /dev/null and b/mandates/vattenfall/110 Interviews/111 Interview Tobias - Procurement/ANONOMIZED_Transcript Interview Procurement Leader.pdf differ diff --git a/mandates/vattenfall/112 Interview Alied - Sales and Operations/00 Interview Guide - Alied Wesselsboer.pptx b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/00 Interview Guide - Alied Wesselsboer.pptx similarity index 100% rename from mandates/vattenfall/112 Interview Alied - Sales and Operations/00 Interview Guide - Alied Wesselsboer.pptx rename to mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/00 Interview Guide - Alied Wesselsboer.pptx diff --git a/mandates/vattenfall/112 Interview Alied - Sales and Operations/01 briefing.txt b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/01 briefing.txt similarity index 100% rename from mandates/vattenfall/112 Interview Alied - Sales and Operations/01 briefing.txt rename to mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/01 briefing.txt diff --git a/mandates/vattenfall/112 Interview Alied - Sales and Operations/02 transscript.txt b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/02 transscript.txt similarity index 100% rename from mandates/vattenfall/112 Interview Alied - Sales and Operations/02 transscript.txt rename to mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/02 transscript.txt diff --git a/mandates/vattenfall/112 Interview Alied - Sales and Operations/03 notes.docx b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/03 notes.docx similarity index 100% rename from mandates/vattenfall/112 Interview Alied - Sales and Operations/03 notes.docx rename to mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/03 notes.docx diff --git a/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/ANONOMIZED_Transcript Interview S&O NL leader.pdf b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/ANONOMIZED_Transcript Interview S&O NL leader.pdf new file mode 100644 index 0000000..02523b2 Binary files /dev/null and b/mandates/vattenfall/110 Interviews/112 Interview Alied - Sales and Operations/ANONOMIZED_Transcript Interview S&O NL leader.pdf differ diff --git a/mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/00 Interview Guide - Fanny Lindberg.pptx b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/00 Interview Guide - Fanny Lindberg.pptx similarity index 100% rename from mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/00 Interview Guide - Fanny Lindberg.pptx rename to mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/00 Interview Guide - Fanny Lindberg.pptx diff --git a/mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/01 briefing.txt b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/01 briefing.txt similarity index 100% rename from mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/01 briefing.txt rename to mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/01 briefing.txt diff --git a/mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/02 transscript.txt b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/02 transscript.txt similarity index 100% rename from mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/02 transscript.txt rename to mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/02 transscript.txt diff --git a/mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/03 notes.docx b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/03 notes.docx similarity index 100% rename from mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/03 notes.docx rename to mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/03 notes.docx diff --git a/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/ANONOMIZED_Transcript Interview MCO leader.pdf b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/ANONOMIZED_Transcript Interview MCO leader.pdf new file mode 100644 index 0000000..d2fa432 Binary files /dev/null and b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/ANONOMIZED_Transcript Interview MCO leader.pdf differ diff --git a/mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/Process Cost Saving Matrix FL.pptx b/mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/Process Cost Saving Matrix FL.pptx similarity index 100% rename from mandates/vattenfall/113 Interview Fanny - Marketing and Commercial Operation/Process Cost Saving Matrix FL.pptx rename to mandates/vattenfall/110 Interviews/113 Interview Fanny - Marketing and Commercial Operation/Process Cost Saving Matrix FL.pptx diff --git a/mandates/vattenfall/114 Interview Fabian - Head E-Mobility/01 questions.docx b/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/01 questions.docx similarity index 100% rename from mandates/vattenfall/114 Interview Fabian - Head E-Mobility/01 questions.docx rename to mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/01 questions.docx diff --git a/mandates/vattenfall/114 Interview Fabian - Head E-Mobility/02 transscript.txt b/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/02 transscript.txt similarity index 100% rename from mandates/vattenfall/114 Interview Fabian - Head E-Mobility/02 transscript.txt rename to mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/02 transscript.txt diff --git a/mandates/vattenfall/114 Interview Fabian - Head E-Mobility/03 notes.docx b/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/03 notes.docx similarity index 100% rename from mandates/vattenfall/114 Interview Fabian - Head E-Mobility/03 notes.docx rename to mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/03 notes.docx diff --git a/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/ANONOMIZED_Transcript Interview BU Leader.pdf b/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/ANONOMIZED_Transcript Interview BU Leader.pdf new file mode 100644 index 0000000..58d1e75 Binary files /dev/null and b/mandates/vattenfall/110 Interviews/114 Interview Fabian - Head E-Mobility/ANONOMIZED_Transcript Interview BU Leader.pdf differ diff --git a/mandates/vattenfall/115 Interview Jetske - Head IT/02 questions.docx b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/02 questions.docx similarity index 100% rename from mandates/vattenfall/115 Interview Jetske - Head IT/02 questions.docx rename to mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/02 questions.docx diff --git a/mandates/vattenfall/115 Interview Jetske - Head IT/02 transscript.txt b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/02 transscript.txt similarity index 100% rename from mandates/vattenfall/115 Interview Jetske - Head IT/02 transscript.txt rename to mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/02 transscript.txt diff --git a/mandates/vattenfall/115 Interview Jetske - Head IT/03 notes.docx b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/03 notes.docx similarity index 100% rename from mandates/vattenfall/115 Interview Jetske - Head IT/03 notes.docx rename to mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/03 notes.docx diff --git a/mandates/vattenfall/115 Interview Jetske - Head IT/04 INPUT - IT-strategy-2025-short.pptx b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/04 INPUT - IT-strategy-2025-short.pptx similarity index 100% rename from mandates/vattenfall/115 Interview Jetske - Head IT/04 INPUT - IT-strategy-2025-short.pptx rename to mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/04 INPUT - IT-strategy-2025-short.pptx diff --git a/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/ANONOMIZED_Transcript Interview VP IT.pdf b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/ANONOMIZED_Transcript Interview VP IT.pdf new file mode 100644 index 0000000..a05103e Binary files /dev/null and b/mandates/vattenfall/110 Interviews/115 Interview Jetske - VP IT/ANONOMIZED_Transcript Interview VP IT.pdf differ diff --git a/mandates/vattenfall/110 Interviews/116 Interview Henrik - xxx/01 briefing.txt b/mandates/vattenfall/110 Interviews/116 Interview Henrik - xxx/01 briefing.txt new file mode 100644 index 0000000..3fac33e --- /dev/null +++ b/mandates/vattenfall/110 Interviews/116 Interview Henrik - xxx/01 briefing.txt @@ -0,0 +1,15 @@ +0:00: Hey Patrick, , , briefing on, , Henrik, Heinrich, senior, most senior in terms of age in the business unit MT. + 0:08: Warm man, Swedish team manager, I would say, , very Swedish, meaning very polite, but also very effective in his politeness in managing that team, took over in April, came from outside Votenfall, has previous experience with large corporates such as. + 0:22: IBM, but also as, , , with, with scalips. + 0:26: So I think the, the most recent movies he came from a scale, which was also active in the EV industry, so the e-mobility industry in Sweden, , very well received in terms of, , you know, so I think he's, he came in and, , basically is, is transforming a, an underperforming team which was basically also due to the Predecessor of Hendrik, , who, who kind of frustrated the harmonisation and centralization agenda. + 0:57: , and, , also caused the emergence of two camps within the Swedish management team, , and he came in basically and, , yeah, that tilted. + 1:10: So, , , a few people who were gone actually decided to come back, so one was on maternity leave, the other was one on the other one was on job rotation, actually decided to come back because of the leadership change or for a substantial part because of the leadership change. + 1:28: , and I just spoke to every one of his team members as part of this contract that I sent you, , I'm going on a team journey with, with, with his team starting later this month, and yeah, they all seem really to be really positive. + 1:40: There's one, I guess I think. + 1:43: With maybe one person who the person has been given the the benefit of the doubt so the team but there's there there this person has shown more loyalty to, to his predecessor, , but Henlich is very much, you know, kind of made up his mind and said. + 2:00: , I trust her, , or him, , and I trust that person and we go, and that seems to be also the, the predominant. + 2:09: , very much, , the energy. + 2:12: So great energy. + 2:13: I, I would say great person, very warm, not sure how much he knows about tech. + 2:18: , we'll find out, , but basically he's the Swedish counterpart of elite and in the Netherlands and Ana Marie in, in Germany. + 2:27: , so, yeah, , let me know if you have any other questions. diff --git a/mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025 P3 Workshop for VF_Slides.pdf b/mandates/vattenfall/120 Industry Reports/2025 P3 Workshop for VF_Slides.pdf similarity index 100% rename from mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025 P3 Workshop for VF_Slides.pdf rename to mandates/vattenfall/120 Industry Reports/2025 P3 Workshop for VF_Slides.pdf diff --git a/mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025_ChargeUp_Europe_State_of_the_Industry.pdf b/mandates/vattenfall/120 Industry Reports/2025_ChargeUp_Europe_State_of_the_Industry.pdf similarity index 100% rename from mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025_ChargeUp_Europe_State_of_the_Industry.pdf rename to mandates/vattenfall/120 Industry Reports/2025_ChargeUp_Europe_State_of_the_Industry.pdf diff --git a/mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025_IMPROVED_EV_Outlook.pdf b/mandates/vattenfall/120 Industry Reports/2025_IMPROVED_EV_Outlook.pdf similarity index 100% rename from mandates/vattenfall/110 Base Documents/E-Mobility Industry reports -2025_IMPROVED_EV_Outlook.pdf rename to mandates/vattenfall/120 Industry Reports/2025_IMPROVED_EV_Outlook.pdf diff --git a/mandates/vattenfall/110 Base Documents/E-Mobility Industry reports - Summary.txt b/mandates/vattenfall/120 Industry Reports/E-Mobility Industry reports - Summary.txt similarity index 100% rename from mandates/vattenfall/110 Base Documents/E-Mobility Industry reports - Summary.txt rename to mandates/vattenfall/120 Industry Reports/E-Mobility Industry reports - Summary.txt diff --git a/mandates/vattenfall/130 Internal Analyses/FPSC Category Deep Dive E-Mobility.pdf b/mandates/vattenfall/130 Internal Analyses/FPSC Category Deep Dive E-Mobility.pdf new file mode 100644 index 0000000..fcd52dc Binary files /dev/null and b/mandates/vattenfall/130 Internal Analyses/FPSC Category Deep Dive E-Mobility.pdf differ diff --git a/mandates/vattenfall/130 Internal Analyses/Fw Vattenfall IT Architecture AI Guidelines.pdf b/mandates/vattenfall/130 Internal Analyses/Fw Vattenfall IT Architecture AI Guidelines.pdf new file mode 100644 index 0000000..0b9fc05 Binary files /dev/null and b/mandates/vattenfall/130 Internal Analyses/Fw Vattenfall IT Architecture AI Guidelines.pdf differ diff --git a/mandates/vattenfall/130 Internal Analyses/IT-strategy-2025-short.pptx b/mandates/vattenfall/130 Internal Analyses/IT-strategy-2025-short.pptx new file mode 100644 index 0000000..344848c Binary files /dev/null and b/mandates/vattenfall/130 Internal Analyses/IT-strategy-2025-short.pptx differ diff --git a/mandates/vattenfall/130 Internal Analyses/Refined_poster_Fanny.png b/mandates/vattenfall/130 Internal Analyses/Refined_poster_Fanny.png new file mode 100644 index 0000000..b8a335d Binary files /dev/null and b/mandates/vattenfall/130 Internal Analyses/Refined_poster_Fanny.png differ diff --git a/mandates/vattenfall/200 Kickoff/20250910_Kick-off Presentation_CONCEPT.key b/mandates/vattenfall/200 Kickoff/20250910_Kick-off Presentation_CONCEPT.key new file mode 100644 index 0000000..871dda7 Binary files /dev/null and b/mandates/vattenfall/200 Kickoff/20250910_Kick-off Presentation_CONCEPT.key differ diff --git a/mandates/vattenfall/300 Strategy Planner/01 AI-Powered Scenario Planning Workflow .pdf b/mandates/vattenfall/300 Strategy Planner/01 AI-Powered Scenario Planning Workflow .pdf new file mode 100644 index 0000000..d5198a7 Binary files /dev/null and b/mandates/vattenfall/300 Strategy Planner/01 AI-Powered Scenario Planning Workflow .pdf differ diff --git a/mandates/vattenfall/300 Strategy Planner/02 Prompt Oxford-Aligned scenario planing pages (1).pdf b/mandates/vattenfall/300 Strategy Planner/02 Prompt Oxford-Aligned scenario planing pages (1).pdf new file mode 100644 index 0000000..f3ebbd0 Binary files /dev/null and b/mandates/vattenfall/300 Strategy Planner/02 Prompt Oxford-Aligned scenario planing pages (1).pdf differ diff --git a/poweron/release_status_report.md b/poweron/release_status_report.md index 852df05..c201517 100644 --- a/poweron/release_status_report.md +++ b/poweron/release_status_report.md @@ -46,8 +46,8 @@ Alle 8 spezialisierten Methoden sind vollständig implementiert: - ✅ **Intelligentes Chunking** für große Dokumente - ✅ **Base64-Encoding** für Binärdaten -#### **4. Workflow-Management** -- ✅ **`managerWorkflow.py`** - Hauptkoordinator +#### **4. Services** +- ✅ **`serviceValueonChat.py`** - Hauptkoordinator - ✅ **`managerChat.py`** - Chat-Management mit AI-Integration - ✅ **Task-basierte Ausführung** implementiert diff --git a/powerson/appdoc/testdoc_nyla_ui.txt b/powerson/appdoc/testdoc_nyla_ui.txt new file mode 100644 index 0000000..a5b797d --- /dev/null +++ b/powerson/appdoc/testdoc_nyla_ui.txt @@ -0,0 +1,883 @@ +================================================================================ + POWERON AI PLATFORM - UI TESTDOKUMENTATION +================================================================================ + +ÜBERSICHT +--------- +Dieses Dokument strukturiert alle UI-Funktionen der PowerOn AI Platform nach Views, +Objekten und Attributen. Es dient als systematische Testanleitung für die Validierung +der neuen UI-Implementierung. + +================================================================================ +1. AUTHENTIFIZIERUNG & BENUTZERVERWALTUNG +================================================================================ + +1.1 LOGIN VIEW (/login.html) +--------------------------- +OBJEKTE & ATTRIBUTE: +- Form: #login-form + - Input: #username (type="text", required, autocomplete="username") + - Input: #password (type="password", required, autocomplete="current-password") + - Input: #csrf-token (type="hidden", class="csrf-token") + - Button: .login-btn (type="submit") + +- Error Display: #login-error (class="login-error-message") + +- Alternative Login Buttons: + - Button: #msft-login-btn (class="register-btn msft-btn") + - Button: #google-login-btn (class="register-btn msft-btn") + - Link: .register-btn.local-btn (href="register.html") + +FUNKTIONEN ZU TESTEN: +□ Username-Eingabe validiert (min. 3 Zeichen) +□ Password-Eingabe maskiert Zeichen +□ CSRF-Token wird generiert und übertragen +□ Login-Button aktiviert Form-Submission +□ Fehlerbehandlung bei ungültigen Credentials +□ Microsoft Login öffnet OAuth-Popup +□ Google Login öffnet OAuth-Popup +□ "Registrieren" Link führt zu Register-View +□ Form-Validation funktioniert (required fields) +□ Autocomplete-Attribute sind gesetzt + +1.2 REGISTER VIEW (/register.html) +--------------------------------- +OBJEKTE & ATTRIBUTE: +- Form: #register-form + - Input: #username (type="text", required, minlength="3") + - Input: #password (type="password", required, minlength="8") + - Input: #confirm-password (type="password", required) + - Input: #email (type="email", required) + - Input: #fullName (type="text", minlength="2") + - Input: #authenticationAuthority (type="hidden", value="local") + - Button: .login-btn (type="submit") + +- Error Display: #register-error (class="login-error-message") +- Navigation: .register-link > a (href="login.html") + +FUNKTIONEN ZU TESTEN: +□ Username-Validierung (min. 3 Zeichen) +□ Password-Validierung (min. 8 Zeichen) +□ Password-Bestätigung prüft Übereinstimmung +□ Email-Validierung (korrekte Email-Format) +□ FullName ist optional (min. 2 Zeichen wenn ausgefüllt) +□ AuthenticationAuthority ist auf "local" gesetzt +□ Form-Submission erstellt neuen Benutzer +□ Fehlerbehandlung bei Validierungsfehlern +□ "Zum Login" Link führt zurück zu Login-View +□ Alle required fields werden validiert + +1.3 HOME VIEW (/poweron-home.html) +--------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: .container +- Header: .header + - H1: "PowerOn AI Platform" + - P: Beschreibungstext +- Content Sections: .content-section + - H2: Sektionsüberschriften + - P: Beschreibungstexte +- Features: .features (grid layout) + - Feature Cards: .feature-card + - H3: Feature-Titel + - P: Feature-Beschreibung +- Navigation: .navigation + - Links: .nav-link (href zu Privacy/Terms) +- Footer: .footer + +FUNKTIONEN ZU TESTEN: +□ Responsive Grid-Layout für Features +□ Navigation-Links funktionieren +□ Alle Textinhalte sind korrekt angezeigt +□ CSS-Styling ist korrekt angewendet +□ Mobile-Responsive Design funktioniert + +================================================================================ +2. HAUPTANWENDUNG - MODULARES SYSTEM +================================================================================ + +2.1 MAIN CONTAINER (/index.html) +------------------------------- +OBJEKTE & ATTRIBUTE: +- App Container: .app-container +- Sidebar: #sidebar (class="sidebar") + - Header: .sidebar-header + - H2: "PowerOn AI" + - User Display: #user-name (class="current-user") + - Environment: #environment-name (class="environment-info") + - Navigation: .navigation-container + - List: #main-navigation (ul) + +- Main Content: .main-content + - Module Container: #module-container (class="module-container") + +- File Preview Modal: #file-preview-modal + - Content: .file-preview-modal-content + - Header: .file-preview-modal-header + - Title: #file-preview-modal-title + - Actions: .file-preview-modal-actions + - Download: #modal-download-file-btn + - Copy: #modal-copy-file-btn + - Close: #modal-close-file-preview-btn + - Body: #file-preview-modal-body + +FUNKTIONEN ZU TESTEN: +□ Sidebar wird korrekt geladen +□ Benutzername wird angezeigt +□ Environment-Info wird angezeigt +□ Navigation wird dynamisch generiert +□ Module-Container wechselt zwischen Views +□ File-Preview-Modal funktioniert +□ Modal-Actions (Download, Copy, Close) funktionieren + +2.2 NAVIGATION SYSTEM +-------------------- +OBJEKTE & ATTRIBUTE: +- Navigation List: #main-navigation + - Items: .nav-item (data-module, data-level) + - Links: a (href="#moduleName") + - Icons: i.fas (FontAwesome icons) + - Labels: span (text content) + +- Folder Items: .folder-header + - Toggle Icon: .toggle-icon (fa-chevron-down) + - Collapsed State: .collapsed + +- Dropdown Items: .dropdown + - Toggle: .dropdown-toggle + - Content: .dropdown-content + - Options: a (data-value) + +- Action Items: .nav-action-btn + - Dynamic Labels: span (text updates based on state) + +FUNKTIONEN ZU TESTEN: +□ Module-Navigation funktioniert +□ Folder-Toggle (auf/zu) funktioniert +□ Dropdown-Menüs öffnen/schließen +□ Action-Buttons (Logout, MS Login) funktionieren +□ Aktive Module werden hervorgehoben +□ Hierarchische Navigation funktioniert +□ Dynamic Labels werden aktualisiert + +================================================================================ +3. WORKFLOW MODULE +================================================================================ + +3.1 WORKFLOW VIEW (part_workflow.html) +------------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: .workflow-container +- Chat Section: .chat-section + - Columns: .chat-columns + - Left Column: .chat-left (70%) + - Empty State: #empty-chat-state (class="empty-state") + - Icon: i.fas.fa-comments.fa-3x + - Title: h4 "Noch keine Kommunikation" + - Description: p + - Content Area: #unified-content-area (class="unified-content-area") + - Right Column: .chat-right (30%) + - Dashboard: #workflow-dashboard-container + - Header: .workflow-dashboard-header + - Title: h4 "Workflow Progress" + - Actions: .dashboard-actions + - Refresh: #refresh-dashboard-btn + - Minimize: #minimize-dashboard-btn + - Content: #workflow-dashboard-content + +- Footer: .workflow-footer + - Columns: .footer-columns + - Left Column: .footer-left (70%) + - Input Area: #user-input-area (class="user-input-area file-dropzone-wrapper") + - Container: .user-input-container + - Prompt Selection: .prompt-selection + - Select: #prompt-select-main (class="form-control") + - Textarea: #user-message-input (class="form-control") + - Actions: .user-input-actions + - File Actions: .file-actions + - Upload Button: #upload-additional-file-btn + - File Input: #additional-file-input (type="file", multiple, hidden) + - Workflow Controls: .workflow-controls + - Stop: #stop-workflow-btn (class="btn btn-danger") + - Reset: #reset-btn (class="btn btn-outline-secondary") + - Refresh Tokens: #refresh-tokens-btn (class="btn btn-outline-warning") + - Send: #send-user-message-btn (class="btn btn-primary") + - Right Column: .footer-right (30%) + - Statistics: #data-statistics (class="data-statistics") + - Items: .stat-item (data sent, received, time, tokens) + - Files Container: #additional-files-container + +FUNKTIONEN ZU TESTEN: +□ Empty State wird korrekt angezeigt +□ Unified Content Area zeigt Logs und Messages +□ Dashboard zeigt Workflow-Progress +□ Prompt-Selection lädt verfügbare Prompts +□ User-Input funktioniert (Textarea) +□ File-Upload (Button + Drag & Drop) +□ Workflow-Controls (Start, Stop, Reset, Refresh Tokens) +□ Statistics werden angezeigt +□ Additional Files werden gelistet +□ Drag & Drop funktioniert +□ Enter-Key sendet Message +□ Shift+Enter fügt neue Zeile hinzu + +3.2 WORKFLOW STATE MANAGEMENT +---------------------------- +OBJEKTE & ATTRIBUTE: +- Workflow States: WORKFLOW_STATES + - NULL: null + - RUNNING: 'running' + - COMPLETED: 'completed' + - FAILED: 'failed' + - STOPPED: 'stopped' + +- State Properties: + - currentTask: number + - currentAction: number + - currentRound: number + - totalTasks: number + - totalActions: number + - status: string + - workflowId: string + - pollActive: boolean + +FUNKTIONEN ZU TESTEN: +□ State-Transitions funktionieren korrekt +□ Polling startet/stoppt bei State-Änderungen +□ UI aktualisiert sich bei State-Änderungen +□ Error-Handling bei State-Transitions +□ Workflow-ID wird korrekt gesetzt +□ Progress-Tracking funktioniert + +3.3 FILE HANDLING +---------------- +OBJEKTE & ATTRIBUTE: +- File Objects: + - id: string + - fileName: string + - fileSize: number + - mimeType: string + - content: Blob/File + +- File Upload: + - Input: #additional-file-input + - Button: #upload-additional-file-btn + - Container: #additional-files-container + +- File Display: + - Items: .additional-file-item + - Icon: i.fas.fa-file + - Name: .file-name + - Size: .file-size + - Remove: .remove-file-btn (data-file-id) + +FUNKTIONEN ZU TESTEN: +□ File-Upload funktioniert (Button + Drag & Drop) +□ Multiple Files werden unterstützt +□ File-Validation (Type, Size) +□ File-Display zeigt korrekte Informationen +□ File-Removal funktioniert +□ File-Preview funktioniert +□ Download-Links funktionieren + +================================================================================ +4. USER MANAGEMENT MODULE +================================================================================ + +4.1 USERS VIEW (part_formUsers.html) +----------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: #users-view +- Card: .card + - Header: .section-header + - Title: h3 "Verfügbare Benutzer" + - Add Button: #add-user-btn (class="add-btn") + - List Container: #users-list + +- User Objects: + - id: string + - username: string + - email: string + - password: string (hashed) + - enabled: boolean + - language: string + - privilege: string ('admin', 'user', 'sysadmin') + - mandateId: string + - authenticationAuthority: string + +FUNKTIONEN ZU TESTEN: +□ User-Liste wird geladen +□ Add-Button öffnet User-Form +□ User-Table zeigt alle Attribute +□ Edit-Button öffnet Edit-Form +□ Delete-Button löscht User +□ Enable/Disable-Toggle funktioniert +□ Form-Validation funktioniert +□ User-Creation funktioniert +□ User-Update funktioniert +□ User-Deletion funktioniert + +4.2 USER FORM FIELDS +------------------- +OBJEKTE & ATTRIBUTE: +- Form Fields (from API getEntityAttributes('User')): + - username: text, required, minlength=3 + - email: email, required + - password: password, required, minlength=8 + - enabled: checkbox + - language: select, options from backend + - privilege: select, options: ['admin', 'user', 'sysadmin'] + +- Form Actions: + - Save: .entity-save-btn + - Cancel: .entity-cancel-btn + - Delete: .entity-delete-btn + +FUNKTIONEN ZU TESTEN: +□ Alle Form-Felder werden korrekt gerendert +□ Field-Types entsprechen Backend-Definition +□ Required-Validation funktioniert +□ Minlength-Validation funktioniert +□ Select-Options werden geladen +□ Form-Submission funktioniert +□ Error-Messages werden angezeigt +□ Success-Messages werden angezeigt + +================================================================================ +5. CONNECTION MANAGEMENT MODULE +================================================================================ + +5.1 CONNECTIONS VIEW (part_formConnections.html) +----------------------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: #connections-view +- Card: .card + - Header: .section-header + - Title: h3 "External Connections" + - Add Buttons: #add-connection-buttons + - Google: #connect-google-btn (class="add-btn") + - Microsoft: #connect-msft-btn (class="add-btn") + - List Container: #connections-list + +- Connection Objects: + - id: string + - userId: string + - authority: string ('google', 'msft') + - externalUsername: string + - externalEmail: string + - status: string ('active', 'pending', 'needs_reconnection') + - expiresAt: number (UTC timestamp) + - lastChecked: number (UTC timestamp) + +FUNKTIONEN ZU TESTEN: +□ Connection-Liste wird geladen +□ Google-Connect-Button funktioniert +□ Microsoft-Connect-Button funktioniert +□ Connection-Status wird angezeigt +□ Token-Expiration wird angezeigt +□ Refresh-Token-Button funktioniert +□ Connection-Deletion funktioniert +□ OAuth-Popup funktioniert +□ Token-Refresh funktioniert +□ Expired-Token-Warning funktioniert + +5.2 TOKEN MANAGEMENT +------------------- +OBJEKTE & ATTRIBUTE: +- Token Status: + - hasValidToken: boolean + - hasRefreshableToken: boolean + - isExpired: boolean + - expiresSoon: boolean (5 min buffer) + +- Token Actions: + - Refresh: .entity-refresh-token-btn + - Cleanup: automatic cleanup + - Warning: #refresh-tokens-btn (shows when tokens expire soon) + +FUNKTIONEN ZU TESTEN: +□ Token-Status wird korrekt erkannt +□ Expired-Token-Detection funktioniert +□ Token-Refresh funktioniert +□ Automatic-Cleanup funktioniert +□ Warning-Button wird angezeigt +□ Token-Status-Updates funktionieren +□ Error-Handling bei Token-Refresh + +================================================================================ +6. FILE MANAGEMENT MODULE +================================================================================ + +6.1 FILES VIEW (part_formFiles.html) +----------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: #files-view +- Card: .card + - Header: .section-header + - Title: h3 "Meine Dateien" + - List Container: #my-files-list (class="files-list-container") + - Empty State: #empty-files-state (class="empty-state") + - Icon: i.fas.fa-file-alt.empty-icon + - Message: p "Noch keine Dateien vorhanden." + +- Upload Section: #upload-section (class="upload-section") + - Upload Area: .upload-area + - Icon: .upload-icon > i.fas.fa-cloud-upload-alt + - Text: .upload-text + - Button: .upload-button > input#file-upload-input (type="file", multiple, hidden) + +- File Objects: + - id: string + - fileName: string + - mimeType: string + - fileSize: number + - creationDate: number (UTC timestamp) + +FUNKTIONEN ZU TESTEN: +□ File-Liste wird geladen +□ Upload-Section wird angezeigt +□ Drag & Drop funktioniert +□ File-Selection funktioniert +□ Multiple-File-Upload funktioniert +□ File-Information wird angezeigt +□ Empty-State wird angezeigt +□ File-Actions funktionieren + +6.2 FILE ACTIONS +--------------- +OBJEKTE & ATTRIBUTE: +- File Action Buttons: + - Download: .entity-view-btn + - Icon: i.fas.fa-download + - Text: "Download" + - Copy Link: .entity-copy-btn + - Icon: i.fas.fa-clipboard + - Text: "Copy Download Link" + - Edit: .entity-edit-btn + - Delete: .entity-delete-btn + +- File Edit Modal: #edit-file-modal + - Name Field: #edit-file-name + - Upload Field: #edit-file-upload + - Save Button: .entity-modal-save + - Cancel Button: .entity-modal-cancel + +FUNKTIONEN ZU TESTEN: +□ Download-Button funktioniert +□ Copy-Link-Button funktioniert +□ Edit-Button öffnet Modal +□ Delete-Button löscht File +□ File-Edit-Modal funktioniert +□ File-Rename funktioniert +□ File-Replacement funktioniert +□ Modal-Validation funktioniert + +================================================================================ +7. WORKFLOW LIST MODULE +================================================================================ + +7.1 WORKFLOWS VIEW (part_formWorkflows.html) +------------------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: #workflows-view +- Card: .card + - Header: .section-header + - Title: h3 "Workflows" + - Add Button: #add-workflow-btn (class="add-btn") + - List Container: #workflows-list + +- Workflow Objects: + - id: string + - name: string + - status: string ('running', 'completed', 'stopped', 'error') + - currentRound: number + - lastActivity: number (UTC timestamp) + - mandateId: string + +FUNKTIONEN ZU TESTEN: +□ Workflow-Liste wird geladen +□ Add-Button öffnet Workflow-Form +□ Workflow-Status wird angezeigt +□ Last-Activity wird formatiert angezeigt +□ Continue-Button funktioniert +□ Workflow-Creation funktioniert +□ Workflow-Deletion funktioniert +□ Sorting funktioniert (by lastActivity) +□ Status-Badges werden korrekt angezeigt + +7.2 WORKFLOW TABLE FORMATTING +---------------------------- +OBJEKTE & ATTRIBUTE: +- Table Fields: + - id: text, readonly + - name: text, readonly + - status: select, readonly, options: ['running', 'completed', 'stopped', 'error'] + - currentRound: number, readonly + - lastActivity: timestamp, readonly + +- Field Formatters: + - status: badge formatting (success, info, warning, danger) + - lastActivity: UTC timestamp formatting + +FUNKTIONEN ZU TESTEN: +□ Table-Columns werden korrekt angezeigt +□ Status-Badges haben richtige Farben +□ Timestamp-Formatting funktioniert +□ Sorting funktioniert +□ Field-Alignment ist korrekt +□ Readonly-Fields sind nicht editierbar + +================================================================================ +8. PROMPT MANAGEMENT MODULE +================================================================================ + +8.1 PROMPTS VIEW (part_formPrompts.html) +--------------------------------------- +OBJEKTE & ATTRIBUTE: +- Container: #prompts-view +- Card: .card + - Header: .section-header + - Title: h3 "Prompts" + - Add Button: #add-prompt-btn (class="add-btn") + - List Container: #prompts-list + +- Prompt Objects: + - id: string + - name: string + - content: string + - mandateId: string + +FUNKTIONEN ZU TESTEN: +□ Prompt-Liste wird geladen +□ Add-Button öffnet Prompt-Form +□ Prompt-Name wird angezeigt +□ Prompt-Content wird angezeigt +□ Copy-Button funktioniert +□ Prompt-Creation funktioniert +□ Prompt-Update funktioniert +□ Prompt-Deletion funktioniert +□ Form-Validation funktioniert + +8.2 PROMPT FORM FIELDS +--------------------- +OBJEKTE & ATTRIBUTE: +- Form Fields (from API getEntityAttributes('Prompt')): + - name: text, required + - content: textarea, required + +- Form Actions: + - Save: .entity-save-btn + - Cancel: .entity-cancel-btn + - Copy: .entity-copy-btn + +FUNKTIONEN ZU TESTEN: +□ Name-Field ist required +□ Content-Field ist textarea +□ Form-Validation funktioniert +□ Copy-to-Clipboard funktioniert +□ Form-Submission funktioniert +□ Error-Handling funktioniert + +8.3 PROMPT INTEGRATION +--------------------- +OBJEKTE & ATTRIBUTE: +- Workflow Integration: + - Select: #prompt-select-main + - Options: option (value=promptId, text=promptName) + - Textarea: #user-message-input + +- Event Handling: + - prompt:created event + - prompt:updated event + - prompt:deleted event + +FUNKTIONEN ZU TESTEN: +□ Prompt-Dropdown wird geladen +□ Prompt-Selection lädt Content +□ Event-Handling funktioniert +□ Global-Prompt-List wird aktualisiert +□ Workflow-Integration funktioniert + +================================================================================ +9. UI COMPONENTS & SHARED ELEMENTS +================================================================================ + +9.1 MODALS +--------- +OBJEKTE & ATTRIBUTE: +- File Preview Modal: #file-preview-modal + - Content: .file-preview-modal-content + - Header: .file-preview-modal-header + - Title: #file-preview-modal-title + - Actions: .file-preview-modal-actions + - Body: #file-preview-modal-body + +- Edit Modals: .entity-modal + - Content: .entity-modal-content + - Header: .entity-modal-header + - Body: .entity-modal-body + - Footer: .entity-modal-footer + - Close: .entity-modal-close + - Save: .entity-modal-save + - Cancel: .entity-modal-cancel + +FUNKTIONEN ZU TESTEN: +□ Modal-Öffnung funktioniert +□ Modal-Schließung funktioniert +□ Modal-Content wird korrekt angezeigt +□ Modal-Actions funktionieren +□ Modal-Validation funktioniert +□ Modal-Overlay funktioniert +□ Escape-Key schließt Modal + +9.2 NOTIFICATIONS +---------------- +OBJEKTE & ATTRIBUTE: +- Toast Messages: window.utils.ui.showToast() + - Types: 'success', 'error', 'warning', 'info' + - Properties: title, message, type + - Styling: .toast-success, .toast-error, .toast-warning, .toast-info + +FUNKTIONEN ZU TESTEN: +□ Success-Toasts werden angezeigt +□ Error-Toasts werden angezeigt +□ Warning-Toasts werden angezeigt +□ Info-Toasts werden angezeigt +□ Toast-Auto-Dismiss funktioniert +□ Toast-Styling ist korrekt +□ Multiple-Toasts funktionieren + +9.3 FORM VALIDATION +------------------ +OBJEKTE & ATTRIBUTE: +- Validation Rules: + - required: boolean + - minlength: number + - maxlength: number + - pattern: regex + - type: string (text, email, password, etc.) + +- Error Display: + - Field Errors: .field-error + - Form Errors: .form-error + - Validation Messages: dynamic text content + +FUNKTIONEN ZU TESTEN: +□ Required-Validation funktioniert +□ Minlength-Validation funktioniert +□ Email-Validation funktioniert +□ Password-Validation funktioniert +□ Real-time-Validation funktioniert +□ Error-Messages werden angezeigt +□ Success-Validation funktioniert + +9.4 TABLES +---------- +OBJEKTE & ATTRIBUTE: +- Table Structure: + - Container: .table-container + - Table: table + - Header: thead > tr > th + - Body: tbody > tr > td + - Actions: .entity-actions-cell + +- Table Features: + - Sorting: .sortable (data-sort) + - Filtering: .filter-input + - Pagination: .pagination + - Empty State: .empty-state + +FUNKTIONEN ZU TESTEN: +□ Table-Rendering funktioniert +□ Column-Headers werden angezeigt +□ Data-Rows werden angezeigt +□ Action-Buttons funktionieren +□ Sorting funktioniert +□ Filtering funktioniert +□ Pagination funktioniert +□ Empty-State wird angezeigt + +9.5 RESPONSIVE DESIGN +-------------------- +OBJEKTE & ATTRIBUTE: +- Breakpoints: + - Mobile: < 768px + - Tablet: 768px - 1024px + - Desktop: > 1024px + +- Responsive Classes: + - .d-none, .d-block + - .d-md-none, .d-md-block + - .d-lg-none, .d-lg-block + +FUNKTIONEN ZU TESTEN: +□ Mobile-Layout funktioniert +□ Tablet-Layout funktioniert +□ Desktop-Layout funktioniert +□ Navigation ist responsive +□ Tables sind responsive +□ Forms sind responsive +□ Modals sind responsive + +================================================================================ +10. PERFORMANCE & ERROR HANDLING +================================================================================ + +10.1 LOADING STATES +----------------- +OBJEKTE & ATTRIBUTE: +- Loading Indicators: + - Spinner: .spinner, .loading + - Progress: .progress-bar + - Skeleton: .skeleton-loader + +- Loading States: + - Module Loading: moduleLoader states + - Data Loading: formGeneric loading + - API Loading: apiCalls loading + +FUNKTIONEN ZU TESTEN: +□ Loading-Indicators werden angezeigt +□ Loading-States werden korrekt gesetzt +□ Loading-Errors werden behandelt +□ Loading-Performance ist akzeptabel +□ Loading-Cancellation funktioniert + +10.2 ERROR HANDLING +----------------- +OBJEKTE & ATTRIBUTE: +- Error Types: + - Validation Errors: form validation + - API Errors: network/server errors + - JavaScript Errors: runtime errors + - User Errors: user input errors + +- Error Display: + - Error Messages: .error-message + - Error Toasts: showToast('error', ...) + - Error Modals: .error-modal + +FUNKTIONEN ZU TESTEN: +□ Validation-Errors werden angezeigt +□ API-Errors werden behandelt +□ JavaScript-Errors werden abgefangen +□ User-Errors werden erklärt +□ Error-Recovery funktioniert +□ Error-Logging funktioniert + +10.3 MEMORY MANAGEMENT +-------------------- +OBJEKTE & ATTRIBUTE: +- Memory Cleanup: + - Event Listeners: removeEventListener + - Intervals: clearInterval + - Timeouts: clearTimeout + - Objects: null assignment + +- Module Cleanup: + - onDeactivation: module cleanup + - Event Cleanup: removeEventListeners + - State Cleanup: reset state + +FUNKTIONEN ZU TESTEN: +□ Event-Listeners werden entfernt +□ Intervals werden gestoppt +□ Timeouts werden gestoppt +□ Module-Cleanup funktioniert +□ Memory-Leaks werden vermieden +□ Performance bleibt stabil + +================================================================================ +11. ACCESSIBILITY & USABILITY +================================================================================ + +11.1 KEYBOARD NAVIGATION +----------------------- +OBJEKTE & ATTRIBUTE: +- Focus Management: + - Tab Order: tabindex + - Focus Indicators: :focus styles + - Focus Trapping: modal focus + +- Keyboard Shortcuts: + - Enter: form submission + - Escape: modal close + - Tab: next element + - Shift+Tab: previous element + +FUNKTIONEN ZU TESTEN: +□ Tab-Navigation funktioniert +□ Focus-Indicators sind sichtbar +□ Keyboard-Shortcuts funktionieren +□ Focus-Trapping funktioniert +□ Skip-Links funktionieren + +11.2 SCREEN READER SUPPORT +------------------------ +OBJEKTE & ATTRIBUTE: +- ARIA Attributes: + - aria-label: element labels + - aria-describedby: element descriptions + - aria-expanded: expandable elements + - aria-hidden: hidden elements + +- Semantic HTML: + - Headings: h1-h6 hierarchy + - Lists: ul, ol, li + - Forms: form, label, input + - Tables: table, th, td + +FUNKTIONEN ZU TESTEN: +□ ARIA-Attribute sind gesetzt +□ Semantic-HTML ist korrekt +□ Screen-Reader-Navigation funktioniert +□ Alt-Text ist vorhanden +□ Form-Labels sind korrekt + +================================================================================ +12. TESTING CHECKLIST +================================================================================ + +ALLGEMEINE TESTS: +□ Alle Views laden korrekt +□ Navigation zwischen Modulen funktioniert +□ Responsive Design funktioniert +□ Error-Handling funktioniert +□ Loading-States funktionieren +□ Form-Validation funktioniert +□ Modal-Funktionalität funktioniert +□ Toast-Notifications funktionieren +□ Keyboard-Navigation funktioniert +□ Screen-Reader-Support funktioniert + +WORKFLOW-SPEZIFISCHE TESTS: +□ Workflow-Erstellung funktioniert +□ Workflow-Ausführung funktioniert +□ Workflow-Stopp funktioniert +□ Workflow-Reset funktioniert +□ File-Upload funktioniert +□ Prompt-Selection funktioniert +□ Dashboard-Updates funktionieren +□ State-Management funktioniert + +DATEN-MANAGEMENT TESTS: +□ User-CRUD funktioniert +□ Connection-Management funktioniert +□ File-Management funktioniert +□ Prompt-Management funktioniert +□ Workflow-List funktioniert +□ Token-Management funktioniert +□ Data-Synchronisation funktioniert + +UI-COMPONENT TESTS: +□ Tables funktionieren +□ Forms funktionieren +□ Buttons funktionieren +□ Modals funktionieren +□ Dropdowns funktionieren +□ File-Upload funktioniert +□ Drag & Drop funktioniert + +================================================================================ +ENDE DER TESTDOKUMENTATION +================================================================================