Add README, customization snapshot, and snapshot/restore tooling

Provisioning now restores all GUI customizations on reset+reprovision:

- create_pod_espocrm.sh: deploy the version-controlled espocrm-custom/ tree
  (CTag entity, layouts, i18n, clientDefs, custom views, custom CSS) into the
  pod, then chown www-data and rebuild. Replaces the earlier inline CSS-only
  step. Adds a live-phase cache rebuild so customizations and the client
  cacheTimestamp are refreshed on every run.
- espocrm-custom/: snapshot of custom/ and client/custom/ (source of truth).
- snapshot_espocrm_custom.sh: refresh the snapshot from a running pod.
- readme.md: usage, first-time host setup, image-update and reset workflows.
- Include the task/instruction notes and plan.md for reference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
mkt
2026-06-06 16:51:02 +02:00
parent 79ea236da0
commit cebe829dcd
79 changed files with 2064 additions and 45 deletions

View File

@@ -0,0 +1,10 @@
{
"fields": {
"cAgentur": "Agentur",
"cTags": "Tags"
},
"links": {
"cAgentur": "Agentur",
"cTags": "Tags"
}
}

View File

@@ -0,0 +1,15 @@
{
"labels": {
"Create CTag": "Create Tag"
},
"fields": {
"verkaufschancen": "Verkaufschancen",
"kontakte": "Kontakte",
"firmen": "Firmen"
},
"links": {
"verkaufschancen": "Verkaufschancen",
"kontakte": "Kontakte",
"firmen": "Firmen"
}
}

View File

@@ -0,0 +1,8 @@
{
"fields": {
"cTags": "Tags"
},
"links": {
"cTags": "Tags"
}
}

View File

@@ -0,0 +1,8 @@
{
"scopeNames": {
"CTag": "Tag"
},
"scopeNamesPlural": {
"CTag": "Tags"
}
}

View File

@@ -0,0 +1,39 @@
{
"fields": {
"cLeadQuelle": "Lead-Quelle",
"cVerlustgrund": "Verlustgrund",
"cProjektlink": "Projektlink",
"cVerguetungsmodell": "Vergütungsmodell",
"cAccount1": "Über Agentur",
"cTags": "Tags"
},
"options": {
"cLeadQuelle": {
"Inbound Agentur": "Inbound Agentur",
"Inbound Plattform-Lead": "Inbound Plattform-Lead",
"Aktive Plattform-Suche": "Aktive Plattform-Suche",
"Aktive Akquise": "Aktive Akquise",
"Empfehlung / Netzwerk": "Empfehlung / Netzwerk",
"Sonstiges": "Sonstiges"
},
"cVerlustgrund": {
"Agentur Absage": "Agentur Absage",
"Kunde Absage": "Kunde Absage",
"Keine Einigung": "Keine Einigung",
"Eigene Absage": "Eigene Absage",
"Sonstiges": "Sonstiges",
"Agentur Ghosted": "Agentur Ghosted",
"Kunde Ghosted": "Kunde Ghosted"
},
"cVerguetungsmodell": {
"Agentur Honorar": "Agentur Honorar",
"Direkt Festpreis": "Direkt Festpreis",
"Direkt Honorar": "Direkt Honorar",
"Direkt Nutzenbasiert": "Direkt Nutzenbasiert"
}
},
"links": {
"cAccount1": "Über Agentur",
"cTags": "Tags"
}
}