Commit Graph

1837 Commits

Author SHA1 Message Date
a2f5df33c0 Direktive_Zusammenarbeit.md hinzugefügt 2026-02-15 20:05:22 +00:00
5d90832769 MOLTBOT_SYNOLOGY_GUIDE.md aktualisiert
Ergänzung zur neuen installation
2026-02-14 12:07:23 +00:00
Jarvis
3d45e03739 docs: Add ID mappings for Roles and Verticals (DEV) 2026-02-12 14:24:57 +00:00
Jarvis
5040b0b52e docs: Add DEV/PROD mapping for UDF ProgIds 2026-02-12 14:23:45 +00:00
Jarvis
5a19a9c85f feat: Build complete POC for Butler model (client, matrix, daemon) 2026-02-12 14:18:57 +00:00
Jarvis
5b1939c881 docs: Create comprehensive documentation for the Butler model architecture 2026-02-12 14:18:57 +00:00
15db0cfe7f [2ff88f42] IDs für Felder herausfinden.
IDs für Felder herausfinden.
2026-02-12 11:08:17 +00:00
07ca427fc8 [2fd88f42] 1. Kartendarstellung (Neutralisierung):
1. Kartendarstellung (Neutralisierung):
       * Die TileLayer-URL in heatmap-tool/frontend/src/components/MapDisplay.tsx wurde auf eine neutrale CARTO light_all-Kachelansicht umgestellt und die Quellenangabe entsprechend angepasst.
2026-02-11 15:36:06 +00:00
96875247dd [2ff88f42] Wir haben versucht, auf eine neu erstellte Zusatz-Tabelle (ExtraTableId 1, auch y_marketing_copy oder Marketing Ansprache genannt) in SuperOffice zuzugreifen, um dort Marketing-Texte zu speichern. Dabei sind wir auf eine
Wir haben versucht, auf eine neu erstellte Zusatz-Tabelle (ExtraTableId 1, auch y_marketing_copy oder Marketing Ansprache genannt) in SuperOffice zuzugreifen, um dort Marketing-Texte zu speichern. Dabei sind wir auf eine
  hartnäckige Blockade gestoßen:
2026-02-11 13:36:57 +00:00
88f9b8efb5 [2ff88f42] Update README.md with custom table access lessons learned and revert unrequested files. 2026-02-11 13:34:35 +00:00
581ec01775 [2fd88f42] ✦ Das Heatmap-Tool zeigte einen Fehler beim Laden der Frontend-Anwendung, da die Datei /src/main.tsx nicht gefunden werden konnte.
✦ Das Heatmap-Tool zeigte einen Fehler beim Laden der Frontend-Anwendung, da die Datei /src/main.tsx nicht gefunden werden konnte.
2026-02-11 11:32:16 +00:00
d484ab08a0 [30388f42] Einrichtung der Entwicklungsumgebung auf der neuen VM docker1 (Ubuntu 24.04). Fehlerbehebung bei Docker-DNS-Problemen (systemd-resolved). Installation und Konfiguration einer frischen Gitea-Instanz via Docker Compose (manuelle Web-Installation für Konsistenz). Bereitstellung der Gemini CLI-Umgebung (Docker-basiert mit startgemini.sh Workflow). Dokumentation der Schritte in umzug.md erstellt.
Einrichtung der Entwicklungsumgebung auf der neuen VM docker1 (Ubuntu 24.04). Fehlerbehebung bei Docker-DNS-Problemen (systemd-resolved). Installation und Konfiguration einer frischen Gitea-Instanz via Docker Compose (manuelle Web-Installation für Konsistenz). Bereitstellung der Gemini CLI-Umgebung (Docker-basiert mit startgemini.sh Workflow). Dokumentation der Schritte in umzug.md erstellt.
2026-02-10 15:38:02 +00:00
05c377b40e [30388f42] Doc: Migration steps for docker1 setup (Gitea & Gemini CLI) 2026-02-10 15:36:59 +00:00
68e0d31ed4 [2ff88f42] 1. Professionalisierung & Code-Härtung ("Enterprise Ready")
1. Professionalisierung & Code-Härtung ("Enterprise Ready")
   * Zentrales Logging: Wir haben eine logging_config.py implementiert. Der Connector schreibt jetzt professionelle, rotierende Log-Dateien (mit Zeitstempel und Modulnamen), statt nur
     print-Ausgaben in die Konsole zu werfen. Das ist essenziell für den stabilen Betrieb auf der VM.
   * Decoupling (Entkopplung): Alle festkodierten Werte (wie die mühsam ermittelten MA-Status-IDs 11–18 oder die UDF-ProgIds) wurden aus dem Logik-Code entfernt und in eine zentrale
     config.py ausgelagert. Diese kann nun einfach über Umgebungsvariablen für die Produktion (Prod) angepasst werden.
   * Refactoring: Sämtliche Module (SuperOfficeClient, AuthHandler, ExplorerClient) wurden bereinigt, redundante Kommentare entfernt und auf die neue Konfigurationsstruktur umgestellt.
2026-02-10 12:45:43 +00:00
92fcfd747c [2ff88f42] refactor(connector-superoffice): finalize production readiness cleanup
- Integrated centralized logging system in all modules.
- Extracted all IDs and ProgIds into a separate .
- Refactored  and  for cleaner dependency management.
- Included updated discovery and inspection utilities.
- Verified end-to-end workflow stability.
2026-02-10 12:43:26 +00:00
f2ddd7ac09 [2ff88f42] 1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
       * Firmen (`Contact`)
       * Personen (`Person`)
       * Verkäufe (`Sale`) (entspricht D365 Opportunity)
       * Projekte (`Project`) (entspricht D365 Campaign), inklusive der Verknüpfung von Personen als Projektmitglieder.
   2. Robuste UDF-Aktualisierung: Wir haben eine generische und fehlertolerante Methode (update_entity_udfs) implementiert, die benutzerdefinierte Felder (UDFs) für sowohl Contact- als
      auch Person-Entitäten aktualisieren kann. Diese Methode ruft zuerst das bestehende Objekt ab, um die Konsistenz zu gewährleisten.
   3. UDF-ID-Discovery: Durch eine iterative Inspektionsmethode haben wir erfolgreich alle internen SuperOffice-IDs für die Listenwerte deines MA Status-Feldes (Ready_to_Send, Sent_Week1,
      Sent_Week2, Bounced, Soft_Denied, Interested, Out_of_Office, Unsubscribed) ermittelt und im Connector hinterlegt.
   4. Vollständiger End-to-End Test-Workflow: Unser main.py-Skript demonstriert nun einen kompletten Ablauf, der alle diese Schritte von der Erstellung bis zur UDF-Aktualisierung umfasst.
   5. Architekturplan für Marketing Automation: Wir haben einen detaillierten "Butler-Service"-Architekturplan für die Marketing-Automatisierung entworfen, der den Connector für die
      Textgenerierung und SuperOffice für den Versand und das Status-Management nutzt.
   6. Identifikation des E-Mail-Blockers: Wir haben festgestellt, dass das Erstellen von E-Mail-Aktivitäten per API in deiner aktuellen SuperOffice-Entwicklungsumgebung aufgrund fehlender
      Lizenzierung/Konfiguration des E-Mail-Moduls blockiert ist (500 Internal Server Error).
   7. Feiertagslogik ergänzt
2026-02-10 11:58:49 +00:00
2f17a3bec1 [2ff88f42] feat(connector-superoffice): Implement Company Explorer sync and Holiday logic
- **Company Explorer Sync**: Added `explorer_client.py` and integrated Step 9 in `main.py` for automated data transfer to the intelligence engine.
- **Holiday Logic**: Implemented `BusinessCalendar` in `utils.py` using the `holidays` library to automatically detect weekends and Bavarian holidays, ensuring professional timing for automated outreaches.
- **API Discovery**: Created `parse_ce_openapi.py` to facilitate technical field mapping through live OpenAPI analysis.
- **Project Stability**: Refined error handling and logging for a smooth end-to-end workflow.
2026-02-10 11:56:44 +00:00
312ce8aa1d [2ff88f42] 1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
1. Umfassende Entitäten-Erstellung: Wir haben erfolgreich Methoden implementiert, um die Kern-SuperOffice-Entitäten per API zu erstellen:
       * Firmen (`Contact`)
       * Personen (`Person`)
       * Verkäufe (`Sale`) (entspricht D365 Opportunity)
       * Projekte (`Project`) (entspricht D365 Campaign), inklusive der Verknüpfung von Personen als Projektmitglieder.
   2. Robuste UDF-Aktualisierung: Wir haben eine generische und fehlertolerante Methode (update_entity_udfs) implementiert, die benutzerdefinierte Felder (UDFs) für sowohl Contact- als
      auch Person-Entitäten aktualisieren kann. Diese Methode ruft zuerst das bestehende Objekt ab, um die Konsistenz zu gewährleisten.
   3. UDF-ID-Discovery: Durch eine iterative Inspektionsmethode haben wir erfolgreich alle internen SuperOffice-IDs für die Listenwerte deines MA Status-Feldes (Ready_to_Send, Sent_Week1,
      Sent_Week2, Bounced, Soft_Denied, Interested, Out_of_Office, Unsubscribed) ermittelt und im Connector hinterlegt.
   4. Vollständiger End-to-End Test-Workflow: Unser main.py-Skript demonstriert nun einen kompletten Ablauf, der alle diese Schritte von der Erstellung bis zur UDF-Aktualisierung umfasst.
   5. Architekturplan für Marketing Automation: Wir haben einen detaillierten "Butler-Service"-Architekturplan für die Marketing-Automatisierung entworfen, der den Connector für die
      Textgenerierung und SuperOffice für den Versand und das Status-Management nutzt.
   6. Identifikation des E-Mail-Blockers: Wir haben festgestellt, dass das Erstellen von E-Mail-Aktivitäten per API in deiner aktuellen SuperOffice-Entwicklungsumgebung aufgrund fehlender
      Lizenzierung/Konfiguration des E-Mail-Moduls blockiert ist (500 Internal Server Error).
2026-02-10 11:06:32 +00:00
23559cff08 [2ff88f42] 1. Strategische Klärung & Dokumentation: Wir haben die Rolle der SuperOffice-Entitäten Sale (als D365 Opportunity) und Project (als D365 Campaign) in unserem Integrationsplan geklärt
1. Strategische Klärung & Dokumentation: Wir haben die Rolle der SuperOffice-Entitäten Sale (als D365 Opportunity) und Project (als D365 Campaign) in unserem Integrationsplan geklärt
      und dies in der SUPEROFFICE_INTEGRATION_PLAN.md dokumentiert.
   2. `Sale` (Verkauf/Opportunity) Implementierung:
       * Ich habe die Methode create_sale in superoffice_client.py implementiert, um Verkaufschancen anzulegen.
       * Wir haben diese Funktion erfolgreich getestet und dabei gelernt, dass das Titelfeld in SuperOffice Heading statt Title heißt. Die Implementierung und das Logging wurden
         entsprechend korrigiert.
   3. `Project` (Projekt/Kampagne) Implementierung:
       * Ich habe die Methode create_project in superoffice_client.py implementiert, um Marketing-Projekte zu erstellen.
       * Nach anfänglichen API-Herausforderungen (falsche HTTP-Methode und Endpunkt für Projektmitglieder) habe ich die create_project-Methode so angepasst, dass Projektmitglieder direkt
         beim Erstellen des Projekts übergeben werden.
       * Diese Funktionalität wurde ebenfalls erfolgreich getestet.
   4. End-to-End-Workflow Demonstration: Das main.py-Skript demonstriert nun erfolgreich den gesamten Workflow: Anlegen einer Firma (Contact), einer Person (Person), eines Verkaufs (Sale)
      und eines Projekts (Project), wobei die Person direkt dem Projekt zugeordnet wird.
   5. Detaillierter Plan für Marketing Automation: Wir haben einen sehr detaillierten Plan für die Marketing-Automatisierung über SuperOffice erarbeitet. Dieser "Butler-Service"-Ansatz
      sieht vor, dass der Connector E-Mail-Inhalte generiert und in SuperOffice-Feldern speichert, während der Versand manuell durch den User im SuperOffice-Client erfolgt.
   6. Dokumentation des Marketing-Automationsplans: Dieser detaillierte Plan, einschließlich der benötigten benutzerdefinierten Felder (UDFs) und des Workflows, wurde 1:1 in der
      connector-superoffice/README.md dokumentiert.
2026-02-10 07:58:28 +00:00
c420bb31c3 [2ff88f42] feat(connector-superoffice): Implement Sale and Project entities, refine workflow
This commit extends the SuperOffice connector to support the creation and linking of Sale \(Opportunity\) and Project \(Campaign\) entities, providing a comprehensive foundation for both sales and marketing automation workflows.

Key achievements:
- **`SUPEROFFICE_INTEGRATION_PLAN.md`**: Updated to include strategic mapping of D365 concepts \(Opportunity, Campaign\) to SuperOffice entities \(Sale, Project\).
- **`connector-superoffice/superoffice_client.py`**:
    - Implemented `create_sale` method to generate new opportunities, correctly mapping `Title` to SuperOffices
2026-02-10 07:57:11 +00:00
47cd047bc8 [2ff88f42] 1. Analyse der Änderungen:
1. Analyse der Änderungen:
      * superoffice_client.py: Implementierung der Methoden create_contact (Standardfelder) und create_person (inkl. Firmenverknüpfung).
      * auth_handler.py: Härtung der Authentifizierung durch Priorisierung von SO_CLIENT_ID und Unterstützung für load_dotenv(override=True).
      * main.py: Erweiterung des Test-Workflows für den vollständigen Lese- und Schreib-Durchstich (Erstellung von Demo-Firmen und Personen).
      * README.md: Aktualisierung des Status Quo und der verfügbaren Client-Methoden.
2026-02-09 19:00:18 +00:00
a479058df2 [2ff88f42] Durchstich geschafft
Durchstich geschafft
2026-02-09 16:05:04 +00:00
16fc826b5e feat(connector-superoffice): implement OAuth 2.0 flow and S2S architecture
Completed POC for SuperOffice integration with the following key achievements:
- Switched from RSA/SOAP to OAuth 2.0 (Refresh Token Flow) for better compatibility with SOD environment.
- Implemented robust token refreshing and caching mechanism in .
- Solved 'Wrong Subdomain' issue by enforcing  for tenant .
- Created  for REST API interaction (Search, Create, Update UDFs).
- Added helper scripts: , , .
- Documented usage and configuration in .
- Updated  configuration requirements.

[2ff88f42]
2026-02-09 16:04:16 +00:00
Jarvis
2940843457 docs: Update docs with DEV/PROD environment variable standards 2026-02-09 13:02:39 +00:00
bc018669cf Dateien nach "docs/Zierl" hochladen 2026-02-09 11:37:32 +00:00
b7afd5c221 Fragen an Manuel ergänzt 2026-02-09 09:13:36 +00:00
Jarvis
fe335cd5f3 fix: Restore deleted API docs and ensure full file integrity 2026-02-09 07:56:44 +00:00
Jarvis
15670a4be3 docs: Add step-by-step IT setup guide for GCP Dev/Prod projects 2026-02-09 07:51:17 +00:00
0bc8a301b9 Merge remote-tracking branch 'origin/main' 2026-02-06 14:01:33 +00:00
6ced7f13e6 [2ff88f42] Zusammenfassung des bisherigen Fortschritts
Zusammenfassung des bisherigen Fortschritts
2026-02-06 13:53:12 +00:00
a04d92253a feat(superoffice): POC API handshake & auth flow [2ff88f42]
Establishes the initial structure for the SuperOffice connector. Implements the complete, iterative authentication process, culminating in a successful refresh token exchange. Documents the process and the final blocker (API authorization) in the integration plan, awaiting IT action to change the application type to 'Server to server'.
2026-02-06 13:52:44 +00:00
ca726ee7a4 Dateien nach "docs/roboplanet/Produkte/InMotion Robotics/Puma_M20" hochladen 2026-02-05 13:26:12 +00:00
Jarvis
0241bc1265 docs: Fully align architecture with Cloud Identity Free strategy (replace Gemini App with Custom Chat) 2026-02-05 09:42:25 +00:00
Jarvis
ff3bbc6791 docs: Update strategy for Cloud Identity Free tier and GCP billing request 2026-02-05 09:39:47 +00:00
Jarvis
622689e2f5 docs: Update meeting cheat sheet with new IT constraints (blocked Gemini) 2026-02-05 07:53:12 +00:00
Jarvis
cdb8bacb32 docs: Restore missing meeting notes and Axels template 2026-02-05 07:51:12 +00:00
Jarvis
b71733d8c0 fix: mermaid syntax error in subgraph titles 2026-02-05 07:43:31 +00:00
Jarvis
1f162138e4 docs: Add detailed GCP vs Workspace privacy architecture 2026-02-05 07:41:24 +00:00
d48311ca3e Merge branch 'main' of https://floke-gitea.duckdns.org/Floke/Brancheneinstufung2 2026-02-04 20:44:05 +00:00
2172b9a1c2 [2f988f42] readme.md wiederhergestellt.
readme.md wiederhergestellt.
2026-02-04 20:43:00 +00:00
b332964ba5 docs([2f988f42]): Restore full readme.md content and add LLM warning 2026-02-04 20:42:38 +00:00
91b084d66d ARCHITEKTUR_GCP_SETUP.md aktualisiert 2026-02-04 19:49:30 +00:00
898ae98d5a [2fd88f42] Sehr guter erster Wurf, sollte sicher für 95% der Anforderungen genügen.
Sehr guter erster Wurf, sollte sicher für 95% der Anforderungen genügen.
2026-02-04 14:59:40 +00:00
2d2e05aa2a docs([2fd88f42]): finalize documentation and update tasks for heatmap tool 2026-02-04 14:59:40 +00:00
6bd21e7323 fix([2fd88f42]): restore missing MarkerClusterGroup import 2026-02-04 14:59:39 +00:00
d46b30a205 refactor([2fd88f42]): consolidate tooltip manager into filter panel and fix app structure 2026-02-04 14:59:39 +00:00
6c755f186c fix([2fd88f42]): correct type import for TooltipColumn in App.tsx 2026-02-04 14:59:39 +00:00
e187a4ea52 fix([2fd88f42]): correct type import for TooltipColumn 2026-02-04 14:59:39 +00:00
97a2bac4be feat([2fd88f42]): implement tooltip column manager 2026-02-04 14:59:39 +00:00
25307f3ed4 feat([2fd88f42]): implement smart PLZ column selection 2026-02-04 14:59:39 +00:00