From 7e2921f6b8c08ed22f7ff688925fadc4564be5fc Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Wed, 30 Sep 2026 21:52:30 +0200 Subject: [PATCH] =?UTF-8?q?Hvem=20best=C3=A5r=20Klingenberg=20Bygg=20av=3F?= =?UTF-8?q?=20som=20egen=20side;=20Hvordan=20presenterer=20du=20deg=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt --- aggregates.yaml | 12 +++++++ needs.yaml | 34 ++++++++++++++++++- questions/hvem.yaml | 47 ++++++++++++++++++++++++++ questions/index.yaml | 20 +++-------- questions/kontor/ansatt-sent.yaml | 2 +- questions/kontor/ansatt.yaml | 8 ++--- questions/kontor/erfaring-sent.yaml | 10 ++++++ questions/kontor/erfaring.yaml | 35 +++++++++++++++++++ questions/kontor/index.yaml | 26 ++++++++++++-- questions/status/erfaringer/index.yaml | 20 +++++++++++ 10 files changed, 190 insertions(+), 24 deletions(-) create mode 100644 questions/hvem.yaml create mode 100644 questions/kontor/erfaring-sent.yaml create mode 100644 questions/kontor/erfaring.yaml create mode 100644 questions/status/erfaringer/index.yaml diff --git a/aggregates.yaml b/aggregates.yaml index 70d4c13..8dd98c3 100644 --- a/aggregates.yaml +++ b/aggregates.yaml @@ -11,6 +11,18 @@ aggregates: transitions: open: - sluttet +- bucket: erfaringer + initial: open + states: + open: + event: received + fjernet: + event: fjernet + leaves_after: + minutes: 10 + transitions: + open: + - fjernet - bucket: leveranser initial: open states: diff --git a/needs.yaml b/needs.yaml index 7a4ed15..bbe8eaf 100644 --- a/needs.yaml +++ b/needs.yaml @@ -114,7 +114,7 @@ needs: who: en av oss på kontoret, som vil vise hvem hen er og hva hen kan wants: at den som vurderer oss ser hvem som gjør jobben enters: /kontor/ansatt - via: Ditt kort på forsiden + via: Kortet ditt lands_in: ansatte handled_by: kontor stages: @@ -130,6 +130,26 @@ needs: open: vises på forsiden sluttet: sluttet enters_as: kontor +- id: erfaring + who: en av oss på kontoret, når et oppdrag er verdt å vise fram + wants: at den som vurderer oss ser hva vi har gjort + enters: /kontor/erfaring + via: Et oppdrag med bilde + lands_in: erfaringer + handled_by: kontor + stages: + - open + - fjernet + done_when: + - fjernet + success: + - fjernet + max_steps: 1 + max_fields: 3 + stage_words: + open: vises + fjernet: fjernet + enters_as: kontor personas: - id: kommune-skole need: tilstand @@ -152,4 +172,16 @@ personas: - id: ansvarsrett need: soknad text: Vi har prosjektert ombyggingen selv, men mangler noen med ansvarsrett som kan stå for søknaden. +- id: rapport-klar + need: leveranse + text: Tilstandsrapporten til borettslaget er ferdig. Jeg vil at styreleder skal få den og vite at den ligger der. +- id: ny-hos-oss + need: ansatt + text: Jeg har nettopp begynt hos Klingenberg Bygg og vil at kundene skal se hvem jeg er og hva jeg kan. +- id: nytt-portrett + need: ansatt + text: Portrettet mitt på forsiden er fra da jeg begynte. Jeg vil bytte det uten å skrive alt det andre på nytt. +- id: brannstasjonen + need: erfaring + text: Brannstasjonen i Ytre Enebakk står ferdig, og vi har gode bilder fra fundamenteringen. Den vil jeg vise fram. tones: [] diff --git a/questions/hvem.yaml b/questions/hvem.yaml new file mode 100644 index 0000000..f9d51ca --- /dev/null +++ b/questions/hvem.yaml @@ -0,0 +1,47 @@ +name: Hvem består Klingenberg Bygg av? +description: Menneskene som gjør jobben, oppdragene vi har gjort, og det vi står for. +responsible: + name: Fredrik Borch Lynghaug + contact: fredrik@klingenbergbygg.no +alternatives: +- name: Menneskene + description: De som går befaringene, skriver rapportene og står for søknadene. + features: + - name: '' + description: '' + resource: + source: + kind: kv + bucket: ansatte + public: true + states: + - open + empty: Snart presenterer vi oss her. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {name: .name, rolle: .rolle, erfaring: .erfaring, portrett: .portrett}' +- name: Erfaringer + description: Et utvalg oppdrag, med bilder. + features: + - name: '' + description: '' + resource: + source: + kind: kv + bucket: erfaringer + public: true + states: + - open + empty: Snart viser vi fram oppdrag her. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}' +- name: Verdier + description: Det vi står for. + features: + - name: Mål to ganger + description: Vi måler to ganger og skriver én gang. Det gjelder betong, og det gjelder rapporter. + icon: lucide:ruler + - name: Bygget først + description: Et bygg bryr seg ikke om hvem som har rett. Vi skriver det bygget trenger, ikke det som er lettest å si. + - name: Ingen overraskelser i veggen + description: Det vi finner, får du vite. Også sprekkene. + icon: lucide:search + - name: Vannet finner en vei + description: Vannet finner alltid en vei. Derfor leter vi etter den først. diff --git a/questions/index.yaml b/questions/index.yaml index 57ce39f..f1d9b5f 100644 --- a/questions/index.yaml +++ b/questions/index.yaml @@ -12,22 +12,10 @@ alternatives: - name: Prosjekt og søknad, med ansvarsrett description: 'Vi lager arbeidsbeskrivelse opp mot [NS 3420](https://standard.no/fagomrader/ns-3420-/) og fremdriftsplan, og utarbeider byggesøknaden. Vi har sentral [godkjenning](https://sgregister.dibk.no/enterprises/976015711) innen flere fagområder og kan stå med det offentligrettslige ansvaret. Samarbeidspartner: [Westra Engineering AS](https://www.westra-engineering.no/).' - name: Hvem består Klingenberg Bygg av? - description: Mennesker, verdier og erfaringer. - features: - - name: Erfaringene - description: Skoler i drift, brannstasjoner, omsorgsboliger, kantina på Det Norske Teatret og en Munch-eiendom på Hvitsten. Vi har gått over, prosjektert og fulgt opp bygg for kommuner, borettslag, bedrifter og private, fra borprøver i gammel mur til kunstgress på Fredrikstad stasjon. - - name: Menneskene - description: De som går befaringene, skriver rapportene og står for søknadene. - icon: lucide:users - resource: - source: - kind: kv - bucket: ansatte - public: true - states: - - open - empty: Snart presenterer vi oss her. - jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {name: .name, rolle: .rolle, erfaring: .erfaring, portrett: .portrett}' + description: Mennesker, erfaringer og verdier. + action: /hvem + consequence: + - Bli kjent med oss - name: Få kartlagt byggets tilstand description: Vi utarbeider tilstandsrapporter som representerer bygget med hensyn til fremtidige mål. action: /received/tilstand diff --git a/questions/kontor/ansatt-sent.yaml b/questions/kontor/ansatt-sent.yaml index 04aff9b..4e9f30d 100644 --- a/questions/kontor/ansatt-sent.yaml +++ b/questions/kontor/ansatt-sent.yaml @@ -2,7 +2,7 @@ name: Kortet ditt er lagret description: Slik står du nå på forsiden. alternatives: - name: Vil du endre noe? - description: 'Åpne «Ditt kort på forsiden» igjen: det er fylt ut med det du har, og det du lagrer erstatter det.' + description: 'Åpne «Hvordan presenterer du deg?» igjen: kortet ditt er fylt ut med det du har, og det du lagrer erstatter det.' - name: Se alle ansatte description: '' action: /status/ansatte diff --git a/questions/kontor/ansatt.yaml b/questions/kontor/ansatt.yaml index 5de6694..7c85d9b 100644 --- a/questions/kontor/ansatt.yaml +++ b/questions/kontor/ansatt.yaml @@ -1,12 +1,12 @@ followup: false -name: Ditt kort på forsiden -description: Det du skriver her, står under portrettet ditt på forsiden. +name: Hvordan presenterer du deg? +description: Det du skriver her, står på kortet ditt blant menneskene på forsiden. responsible: name: Fredrik Borch Lynghaug contact: fredrik@klingenbergbygg.no alternatives: -- name: Ditt kort på forsiden - description: Slik står du blant menneskene på forsiden. Rett det du vil og lagre; du har ett kort, og det nye erstatter det gamle. +- name: Kortet ditt + description: Rett det du vil og lagre. Du har ett kort, og det du lagrer erstatter det som står der nå. action: /kontor/ansatt-sent consequence: - Lagre kortet diff --git a/questions/kontor/erfaring-sent.yaml b/questions/kontor/erfaring-sent.yaml new file mode 100644 index 0000000..90b1fc6 --- /dev/null +++ b/questions/kontor/erfaring-sent.yaml @@ -0,0 +1,10 @@ +name: Oppdraget vises nå +description: Det står blant erfaringene på «Hvem består Klingenberg Bygg av?». +alternatives: +- name: Skal det ned igjen? + description: Trykk «Fjern» på raden i listen over erfaringer her på kontoret. Det forsvinner fra listen ti minutter etter. +- name: Se alle erfaringer + description: '' + action: /status/erfaringer + consequence: + - Åpne diff --git a/questions/kontor/erfaring.yaml b/questions/kontor/erfaring.yaml new file mode 100644 index 0000000..d88be38 --- /dev/null +++ b/questions/kontor/erfaring.yaml @@ -0,0 +1,35 @@ +followup: false +name: Hvilket oppdrag vil du vise fram? +description: Det du legger inn her, står blant erfaringene på «Hvem består Klingenberg Bygg av?». +responsible: + name: Fredrik Borch Lynghaug + contact: fredrik@klingenbergbygg.no +alternatives: +- name: Et oppdrag med bilde + description: Et bilde og noen løse ord om hva vi gjorde. Det vises med en gang. + action: /kontor/erfaring-sent + consequence: + - Vis fram + record_as: erfaringer + features: + - name: Når du sender + description: Oppdraget vises blant erfaringene med en gang, til noen på kontoret fjerner det. + icon: lucide:route + - name: Hvem ser det + description: Alle som besøker siden. Skriv ikke noe om kunden de ikke ville lest selv. + icon: lucide:users + - name: Oppdraget + requirements: + - name: tittel + label: Hva var det? + type: text + placeholder: 'For eksempel: Brannstasjonen i Ytre Enebakk' + - name: bilde + label: Bilde + type: file + accept: image/jpeg,image/png,image/webp + placeholder: Et bilde fra oppdraget, gjerne liggende + - name: om + label: Noen ord om det + type: textarea + placeholder: Hva vi gjorde, og hva som var verdt å gjøre skikkelig. **Fet**, *kursiv*, lister og lenker går an. diff --git a/questions/kontor/index.yaml b/questions/kontor/index.yaml index bbb3223..5392940 100644 --- a/questions/kontor/index.yaml +++ b/questions/kontor/index.yaml @@ -21,6 +21,23 @@ alternatives: - from: open to: sluttet label: Tatt av forsiden +- name: Erfaringer + description: Oppdragene slik besøkende ser dem. + action: /kontor + consequence: + - Bekreft + features: + - name: Erfaringer + description: Hver rad er ett oppdrag som vises nå. + resource: + source: + kind: kv + bucket: erfaringer + requires_group: kontor + transitions: + - from: open + to: fjernet + label: Fjern - name: Leverte dokumenter description: Rapporter, tegninger og vedtak som er sendt til kunder. action: /kontor @@ -148,11 +165,16 @@ alternatives: action: /kontor/leveranse consequence: - Ny leveranse -- name: Ditt kort på forsiden - description: Rolle, erfaring og portrett, slik besøkende ser deg. +- name: Hvordan presenterer du deg? + description: 'Kortet ditt på forsiden: rolle, erfaring og portrett.' action: /kontor/ansatt consequence: - Åpne +- name: Hvilket oppdrag vil du vise fram? + description: Et bilde og noen løse ord, blant erfaringene. + action: /kontor/erfaring + consequence: + - Åpne - name: Gi en kollega tilgang description: De får en konto og plass på kontoret, og ser de samme sakene som deg. action: /kontor diff --git a/questions/status/erfaringer/index.yaml b/questions/status/erfaringer/index.yaml new file mode 100644 index 0000000..ac7a02f --- /dev/null +++ b/questions/status/erfaringer/index.yaml @@ -0,0 +1,20 @@ +name: Hva har Klingenberg Bygg gjort? +description: Et utvalg oppdrag, med bilder. +responsible: + name: Fredrik Borch Lynghaug + contact: fredrik@klingenbergbygg.no +alternatives: +- name: Erfaringer + description: '' + features: + - name: Erfaringer + description: Hver rad er én sak og hvor langt den har kommet. Navn og kontaktopplysninger vises ikke her. + resource: + source: + kind: kv + bucket: erfaringer + public: true + states: + - open + empty: Snart viser vi fram oppdrag her. + jq: 'sort_by(.submitted_ms) | reverse | .[] | .responses |= {tittel: .tittel, bilde: .bilde, om: .om}'