slogan3

Help mij met het implementeren van een Statamic workflow voor content goedkeuring

description

Met deze prompt kan de gebruiker een efficiënte en betrouwbare content goedkeuringsworkflow opzetten in Statamic, wat zorgt voor betere controle over publicaties en verhoogde contentkwaliteit. Dit voorkomt fouten en versnelt samenwerking tussen redactieleden, wat beter is dan handmatige of losse processen.

prompt

Help mij met het opzetten van een workflow voor content goedkeuring in mijn Statamic CMS. Mijn huidige contentstructuur is: <beschrijf je huidige contentstructuu ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een voorstel voor een workflow voor content goedkeuring in je Statamic CMS, afgestemd op je structuur en wensen: 1. **Voorbereiding van de Workflow:** - Maak gebruik van een add-on of custom implementatie voor goedkeuringsprocessen, zoals bijvoorbeeld de "Statamic Workflow" add-on (indien beschikbaar) of een externe tool gekoppeld via API. 2. **Content Statusen:** - Voeg velden toe aan je content (bijvoorbeeld in het YAML- of Blueprint-bestand) om de status bij te houden, zoals: - Draft (concept) - In review - Goedgekeurd - Gepubliceerd 3. **Reviewers Toewijzen:** - Voeg velden toe waarin je reviewers kunnen aangeven of ze akkoord gaan, bijvoorbeeld via selectievakjes of keuzemenu's. - Zorg dat minimaal twee reviewers moeten bevestigen voordat de content wordt vrijgegeven. 4. **Reviewproces:** - Wanneer een auteur een blogpost of pagina klaarzet, verandert de status naar "In review". - Reviewers ontvangen automatisch een notificatie (via e-mail of via CMS-meldingen) dat er een nieuw item ter review is. 5. **Goedkeuringsmechanisme:** - Elke reviewer geeft hun goedkeuring door een veld te activeren of te ondertekenen. - Een automatische controle checkt of minimaal twee reviewers hun goedkeuring hebben gegeven. - Pas zodra deze voorwaarde is voldaan, wordt de status automatisch op "Goedgekeurd" gezet. 6. **Publicatie:** - Na goedkeuring kan de content handmatig worden gepubliceerd of automatisch als de status "Goedgekeurd" wordt bereikt. 7. **Automatisering en Notificaties:** - Gebruik bijvoorbeeld Laravel events (indien je je eigen code kunt aanpassen) of een plugin die notificaties kan sturen. - Stel in dat bij elke statuswijziging automatisch een notificatie wordt gestuurd naar de betrokken reviewers of content-eigenaar. 8. **Extra Tips:** - Overweeg het gebruik van een review- en goedkeuringsplugin voor Statamic, indien beschikbaar. - Documenteer het reviewproces duidelijk voor alle reviewers. - Test de workflow grondig voordat je deze in productie neemt. Wil je dat ik je help met concrete codevoorbeelden of instellingen voor een specifieke add-on?
provider: deepseek
model: deepseek-chat
Absoluut! Hier is een gedetailleerd stappenplan om een contentgoedkeuringsworkflow met meerdere reviewers op te zetten in Statamic. Statamic heeft hiervoor uitstekende ingebouwde mogelijkheden, met name via **Revisies (Revisions)** en **Workflows**. We gaan deze combineren met de notificatiefuncties. ### Vereisten - Statamic 3.3 of hoger (voor de beste Workflow-ondersteuning) - Controleer of de `revisions` optie in `config/statamic/revisions.php` is ingeschakeld. --- ### Stap 1: Configureer de Basiswerkstroom (Workflow) We gaan een aangepaste workflow maken in `config/statamic/editing.php`. 1. **Open het configuratiebestand:** `config/statamic/editing.php` 2. **Vervang of voeg de volgende workflowconfiguratie toe:** ```php 'workflows' => [ 'content_goedkeuring' => [ 'title' => 'Content Goedkeuring', 'steps' => [ 'ingediend_voor_review' => [ 'label' => 'Ingediend voor review', 'status' => 'in_review', 'broadcast' => true, // Stuur notificaties ], 'eerst_review' => [ 'label' => 'Eerste Review', 'status' => 'review_1_voltooid', ], 'tweede_review' => [ 'label' => 'Tweede Review', 'status' => 'review_2_voltooid', ], 'gepubliceerd' => [ 'label' => 'Gepubliceerd', 'status' => 'published', 'commit_message' => 'Goedgekeurd en gepubliceerd na twee reviews', ], ], ], ], ``` --- ### Stap 2: Wijs de Workflow toe aan je Inhoud Je moet de workflow nu koppelen aan de gewenste collecties (Blogposts) en/of structuren (Pagina's). 1. **Voor Blogposts (Collection):** - Open het configuratiebestand van je collection, bijvoorbeeld `content/collections/blog.yaml`. - Voeg de volgende regels toe: ```yaml # content/collections/blog.yaml # ... andere instellingen ... revisions: true workflow: content_goedkeuring ``` 2. **Voor Pagina's (Structure):** - Open de configuratie van je structure, bijvoorbeeld `content/structures/pages.yaml`. - Voeg dezelfde regels toe: ```yaml # content/structures/pages.yaml # ... andere instellingen ... revisions: true workflow: content_goedkeuring ``` --- ### Stap 3: Stel Automatische Notificaties in Statamic kan e-mailnotificaties sturen wanneer een contentitem van status verandert. We configureren dit in `config/statamic/editing.php` binnen dezelfde workflow. **Pas je eerder gemaakte workflow aan met `notifications`:** ```php 'workflows' => [ 'content_goedkeuring' => [ 'title' => 'Content Goedkeuring', 'steps' => [ 'ingediend_voor_review' => [ 'label' => 'Ingediend voor review', 'status' => 'in_review', 'broadcast' => true, 'notifications' => [ // Notificaties voor deze stap [ 'class' => \Statamic\Notifications\WorkflowSubmittedNotification::class, 'to' => 'reviewers@jouwdomein.nl', // Vervang door een e-mailgroep of specifieke reviewers ], ], ], 'eerst_review' => [ 'label' => 'Eerste Review', 'status' => 'review_1_voltooid', 'notifications' => [ [ 'class' => \Statamic\Notifications\WorkflowApprovedNotification::class, 'to' => 'hoofdredacteur@jouwdomein.nl', // Notificeer iemand dat de 1e review klaar is ], ], ], 'tweede_review' => [ 'label' => 'Tweede Review', 'status' => 'review_2_voltooid', 'notifications' => [ [ 'class' => \Statamic\Notifications\WorkflowApprovedNotification::class, 'to' => 'hoofdredacteur@jouwdomein.nl', // Notificeer iemand dat het klaar is voor publicatie ], ], ], 'gepubliceerd' => [ 'label' => 'Gepubliceerd', 'status' => 'published', 'commit_message' => 'Goedgekeurd en gepubliceerd na twee reviews', ], ], ], ], ``` **Belangrijk voor notificaties:** - Zorg dat je e-mailinstellingen in `.env` correct zijn geconfigureerd (SMTP, Mailgun, etc.). - De `'to'` waarde kan een enkel e-mailadres, een array van adressen (`['persoon1@mail.nl', 'persoon2@mail.nl']`) of een User Role zijn (bijv. `'reviewers'`). --- ### Stap 4: De Workflow in de Praktijk (Hoe het werkt) 1. **Auteur maakt/schrijft content:** Een redacteur schrijft een blogpost of pagina. De status is standaard `Bewerkt`. 2. **Indienen voor review:** De redacteur klikt op **"Werkstroom"** > **"Indienen voor review"**. De status verandert in `In Review` en er gaat een e-mail naar de eerste reviewer(s). 3. **Eerste review:** Reviewer 1 logt in, bekijkt het artikel en keurt het goed via **"Werkstroom"** > **"Voltooien: Eerste Review"**. De status wordt `Review 1 Voltooid`. Er gaat (optioneel) een notificatie naar de hoofdredacteur. 4. **Tweede review:** Reviewer 2 logt in, voert dezelfde handeling uit en kiest **"Voltooien: Tweede Review"**. De status wordt `Review 2 Voltooid`. 5. **Publicatie:** Een eindverantwoordelijke (bijv. hoofdredacteur) ziet dat beide reviews zijn voltooid en kan het artikel nu **publiceren** via **"Werkstroom"** > **"Publiceren"**. De status wordt `Gepubliceerd` en de live versie wordt bijgewerkt. --- ### Optionele Verbeteringen & Beperkingen * **User Roles & Permissions:** Creëer gebruikersrollen (bijv. 'Auteur', 'Reviewer', 'Hoofdredacteur') in de Gebruikerspermissies en pas de `'to'` velden in de notificaties aan om naar deze rollen te verwijzen. Dit is veel schaalbaarder dan hardcoded e-mailadressen. * **Beperking:** De workflow-stappen zijn lineair. Je kunt niet twee *specifieke, verschillende* personen verplichten om elke stap te voltooien. De praktische oplossing is om de notificaties naar een groep (bijv. een e-maildistributielijst of een user role met alle reviewers) te sturen. Het is dan aan hen onderling wie de eerste en tweede review doet. De workflow controleert of er **twee stappen** zijn voltooid, niet welke twee *personen* dat deden. * **Verschillen tussen Collections & Pages:** De interface voor het beheren van workflows is identiek voor zowel entries (blogposts) als pages, dus de ervaring voor je reviewers zal consistent zijn. Met deze setup heb je een robuust, automatisch notificerend goedkeuringsproces dat perfect past binnen de mogelijkheden van Statamic. Succes met de implementatie