This now a multi modul odoo repository, open_workshop moved to open_workshop_base
This commit is contained in:
parent
dff2de1755
commit
7cd458b72f
8
.env
8
.env
|
|
@ -1,8 +0,0 @@
|
|||
ODOO_VERSION=13.0
|
||||
CONTAINER_NAME_EXTENSION=13_dev
|
||||
ODOO_PORT=9013
|
||||
DB_HOST=hobbyhimmel_odoo_13_dev_db
|
||||
DB_PORT=5432
|
||||
DB_USER=odoo
|
||||
DB_PASSWORD=odoo
|
||||
DB_NAME=hobbyhimmel
|
||||
142
FEATURE_REQUEST/open_workshop_modulstruktur.md
Normal file
142
FEATURE_REQUEST/open_workshop_modulstruktur.md
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# Empfohlene Modulstruktur für Open_Workshop + öffentliches Website-Modul
|
||||
|
||||
## 🎯 Ziel
|
||||
Du möchtest:
|
||||
1. Ein **öffentliches Website-Modul**, das Maschineninformationen aus dem Maintenance-Modul anzeigt.
|
||||
2. Dein gesamtes `open_workshop`-Repository sinnvoll modularisieren.
|
||||
|
||||
Diese Antwort beschreibt die optimale Struktur und die Gründe dafür.
|
||||
|
||||
---
|
||||
|
||||
# ✅ Öffentliches Modul ist sinnvoll
|
||||
|
||||
Du möchtest:
|
||||
- Maschinen anzeigen (Maintenance)
|
||||
- Zustand sichtbar machen
|
||||
- Bilder & PDFs anzeigen
|
||||
- ohne Login (auth="public")
|
||||
|
||||
➡️ Dafür ist ein eigenes Modul **open_workshop_website** ideal.
|
||||
|
||||
Dieses Website-Modul sollte *nur Anzeige* machen, keine Logik verwalten.
|
||||
|
||||
---
|
||||
|
||||
# ⭐ Empfohlene Modulstruktur (Best Practice)
|
||||
|
||||
```
|
||||
open_workshop/
|
||||
│
|
||||
├── open_workshop_pos/ # POS-Integration, Einweisungen, Freigaben
|
||||
│
|
||||
├── open_workshop_maintenance/ # Verbindung zu maintenance.equipment
|
||||
│ # z. B. Modelle, Felder, Extensions
|
||||
│
|
||||
└── open_workshop_website/ # Öffentliche Darstellung, QR-Codes, Website
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# 🧩 Gründe für diese modulare Struktur
|
||||
|
||||
## 1️⃣ Trennung nach funktionalen Bereichen
|
||||
Odoo trennt:
|
||||
- POS
|
||||
- Maintenance
|
||||
- Website
|
||||
|
||||
Du solltest dasselbe tun.
|
||||
So bleibt alles klar, logisch und update-sicher.
|
||||
|
||||
---
|
||||
|
||||
## 2️⃣ Bessere Wartbarkeit
|
||||
Wenn Odoo 19/20 Änderungen bringt:
|
||||
|
||||
- POS ändert sich → nur `open_workshop_pos`
|
||||
- Maintenance ändert sich → nur `open_workshop_maintenance`
|
||||
- Website ändert sich → nur `open_workshop_website`
|
||||
|
||||
Ein großes Sammelmodul wäre schwer zu warten.
|
||||
|
||||
---
|
||||
|
||||
## 3️⃣ Nutzer können auswählen, was sie brauchen
|
||||
Beispiel:
|
||||
|
||||
Ein Kunde will nur Maschinen + Website, aber kein POS.
|
||||
|
||||
Dann installiert er:
|
||||
|
||||
- `open_workshop_maintenance`
|
||||
- `open_workshop_website`
|
||||
|
||||
🔧 Ohne unnötige POS-Abhängigkeit.
|
||||
|
||||
---
|
||||
|
||||
## 4️⃣ Klare Modulabhängigkeiten
|
||||
### `open_workshop_pos`
|
||||
- depends: `point_of_sale`
|
||||
|
||||
### `open_workshop_maintenance`
|
||||
- depends: `maintenance`
|
||||
|
||||
### `open_workshop_website`
|
||||
- depends: `website`
|
||||
- optional depends: `open_workshop_maintenance`
|
||||
|
||||
Alles sauber getrennt.
|
||||
|
||||
---
|
||||
|
||||
## 5️⃣ Erweiterbarkeit bleibt einfach
|
||||
Dein Projekt wächst schnell:
|
||||
|
||||
- QR-Codes
|
||||
- Maschinenstatus
|
||||
- API
|
||||
- Dashboards
|
||||
- Rollen mit Einweisungssichtbarkeit
|
||||
|
||||
Wenn alles in EINEM Modul wäre → unübersichtlich
|
||||
Wenn modular → perfekt strukturiert
|
||||
|
||||
---
|
||||
|
||||
# ❌ Warum alles in *einem einzigen Modul* schlecht wäre
|
||||
|
||||
- Mischmasch aus POS, Website und Maintenance-Code
|
||||
- schwerer zu debuggen
|
||||
- schlechtere Wiederverwendbarkeit
|
||||
- mehr Merge-Konflikte
|
||||
- Odoo selbst macht das nie so
|
||||
|
||||
---
|
||||
|
||||
# 🎉 Fazit
|
||||
|
||||
Die modulare Struktur ist optimal und entspricht OCA/Odoo-Best-Practices:
|
||||
|
||||
| Modul | Zweck |
|
||||
|-------|--------|
|
||||
| **open_workshop_pos** | Einweisung, Freigaben, POS GUI |
|
||||
| **open_workshop_maintenance** | Maschinenmodellierung, Maintenance-Anbindung |
|
||||
| **open_workshop_website** | öffentliche Darstellung, QR-Codes |
|
||||
|
||||
---
|
||||
|
||||
# 📦 Optional: Nächster Schritt
|
||||
|
||||
Ich kann dir komplette Modul-Gerüste erstellen:
|
||||
|
||||
- Manifest-Dateien
|
||||
- Controller
|
||||
- Views
|
||||
- Templates
|
||||
- QR-Code-Integration
|
||||
- Demo-Daten
|
||||
|
||||
Sag einfach Bescheid:
|
||||
👉 *„Bitte erstelle mir das Grundgerüst.“*
|
||||
161
FEATURE_REQUEST/workshop_maintenance_overview.md
Normal file
161
FEATURE_REQUEST/workshop_maintenance_overview.md
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
# Maschinen- und Geräteverwaltung im FabLab mit Odoo Maintenance + Open_Workshop
|
||||
|
||||
## 🎯 Ausgangssituation
|
||||
|
||||
In der Werkstatt existieren viele verschiedene Maschinen und Geräte:
|
||||
|
||||
- stationär
|
||||
- mobil
|
||||
- elektrisch
|
||||
- mechanisch
|
||||
- verschiedene Sicherheits- und Einweisungsanforderungen
|
||||
|
||||
Der aktuelle Zustand, Bilder und Bedienungsanleitungen sind unstrukturiert im Wiki gespeichert.
|
||||
Das Ziel ist:
|
||||
|
||||
- eine zentrale, strukturierte Verwaltung in **Odoo**
|
||||
- Anzeige des Maschinenzustands
|
||||
- Zugriff für Nutzer auf Bedienungsanleitungen
|
||||
- ohne Backend-Zugang
|
||||
- am besten über Website/Portal + QR-Codes
|
||||
|
||||
---
|
||||
|
||||
## 💡 Die perfekte Lösung: Maintenance-Modul + Open_Workshop + Website
|
||||
|
||||
Die optimale Architektur besteht aus drei Komponenten:
|
||||
|
||||
1. **Maintenance-Modul**
|
||||
→ Zentrale Verwaltung aller Maschinen/Devices
|
||||
2. **Open_Workshop-Modul**
|
||||
→ Freigaben, Einweisungen, POS-Integration
|
||||
3. **Website-/Portal-Modul (Custom)**
|
||||
→ Anzeige für Nutzer: Maschine, Zustand, Anleitung, QR-Codes
|
||||
|
||||
Diese Kombination ist robust, klar strukturiert und update-sicher.
|
||||
|
||||
---
|
||||
|
||||
# ✅ Warum das Maintenance-Modul ideal ist
|
||||
|
||||
Das Modell `maintenance.equipment` bietet bereits alles, was du brauchst:
|
||||
|
||||
| Feld | Nutzen |
|
||||
|------|--------|
|
||||
| `name` | Maschinenname |
|
||||
| `category_id` | Maschinenbereich |
|
||||
| `maintenance_state` | Betriebszustand |
|
||||
| `note` | Beschreibung |
|
||||
| `image_1920` | Maschinenbild |
|
||||
| `message_attachment_count` | PDFs & Dateien |
|
||||
| Anhänge | Bedienungsanleitungen |
|
||||
|
||||
Diese Felder machen das Maintenance-Modul zur perfekten **Source of Truth**.
|
||||
|
||||
---
|
||||
|
||||
# 🧩 Wie du die Daten Nutzern sichtbar machst
|
||||
|
||||
Nicht das Backend öffnen.
|
||||
Nicht `website=True` setzen.
|
||||
Sondern:
|
||||
|
||||
### ✔ Eigener Website-/Portal-Controller
|
||||
|
||||
Beispiele:
|
||||
|
||||
### Maschinenliste
|
||||
```
|
||||
/workshop/machines
|
||||
```
|
||||
|
||||
### Maschinendetailansicht
|
||||
```
|
||||
/workshop/machine/<id>
|
||||
```
|
||||
|
||||
Dort sieht der Nutzer:
|
||||
|
||||
- Bild
|
||||
- Betriebszustand
|
||||
- Kategorie
|
||||
- Beschreibung
|
||||
- Bedienungsanleitung (PDF-Download)
|
||||
- optional: Sicherheitsinfos
|
||||
- optional: Einweisungsstatus (aus Open_Workshop)
|
||||
|
||||
Alles **read-only**, ohne Backend.
|
||||
|
||||
---
|
||||
|
||||
# 🔒 Zugriffsvarianten
|
||||
|
||||
Du entscheidest selbst:
|
||||
|
||||
## **Option A: Öffentlich**
|
||||
- Keine Anmeldung nötig
|
||||
- Zustand und Anleitung für alle sichtbar
|
||||
- Ideal für Tablets im FabLab oder QR-Codes an Maschinen
|
||||
|
||||
## **Option B: Portal-Zugang**
|
||||
- Nutzer müssen sich einloggen
|
||||
- Anleitungen nur für registrierte Mitglieder sichtbar
|
||||
|
||||
## **Option C: Hybrid**
|
||||
- Zustand öffentlich
|
||||
- Anleitungen nur für eingeloggte Benutzer mit Einweisung
|
||||
|
||||
Diese Variante passt besonders gut zu deinem Open_Workshop-Modell.
|
||||
|
||||
---
|
||||
|
||||
# 🧰 Integration mit Open_Workshop
|
||||
|
||||
Die ideale Struktur ist:
|
||||
|
||||
```
|
||||
maintenance.equipment ←→ ows.machine ←→ ows.machine.access
|
||||
```
|
||||
|
||||
Das bedeutet:
|
||||
|
||||
- Maintenance = technische Daten
|
||||
- Open_Workshop = Einweisungsprozesse
|
||||
- Website = Darstellung
|
||||
|
||||
---
|
||||
|
||||
# 📲 QR-Codes an den Maschinen
|
||||
|
||||
Odoo kann automatisch QR-Codes generieren.
|
||||
|
||||
Du platzierst auf jeder Maschine einen QR-Code, z. B.:
|
||||
|
||||
```
|
||||
/workshop/machine/42
|
||||
```
|
||||
|
||||
Der Nutzer scannt ihn und sieht:
|
||||
|
||||
- Bild
|
||||
- Zustand
|
||||
- Anleitung
|
||||
- ggf. "Einweisung vorhanden" / "Keine Einweisung"
|
||||
|
||||
---
|
||||
|
||||
# 🚀 Modularer Vorschlag für deine Architektur
|
||||
|
||||
### **1. Maintenance-Modul**
|
||||
Zentrale Maschinenverwaltung
|
||||
|
||||
### **2. Open_Workshop-Modul**
|
||||
Einweisung, Freigaben, POS
|
||||
|
||||
### **3. Custom Website-Modul**
|
||||
- Maschinenliste
|
||||
- Detailseiten
|
||||
- PDF-Downloads
|
||||
- Einweisungsstatus
|
||||
- optional QR-Code-Automatik
|
||||
|
||||
Loading…
Reference in New Issue
Block a user