diff --git a/03-school-communication/guide-dify-school-communication.pdf b/03-school-communication/guide-dify-school-communication.pdf index 8f647aa..69b7a2c 100644 Binary files a/03-school-communication/guide-dify-school-communication.pdf and b/03-school-communication/guide-dify-school-communication.pdf differ diff --git a/03-school-communication/screenshots/c00-whole-flow.jpg b/03-school-communication/screenshots/c00-whole-flow.jpg index 6988a31..7d48e73 100644 Binary files a/03-school-communication/screenshots/c00-whole-flow.jpg and b/03-school-communication/screenshots/c00-whole-flow.jpg differ diff --git a/07-school-news-with-checks/guide-dify-school-news-with-checks.md b/07-school-news-with-checks/guide-dify-school-news-with-checks.md index 34e19ff..d1c28c4 100644 --- a/07-school-news-with-checks/guide-dify-school-news-with-checks.md +++ b/07-school-news-with-checks/guide-dify-school-news-with-checks.md @@ -2,7 +2,7 @@ FOR THE EDITOR Guide 7: self-critique and a gatekeeper, a sequel to guide 3. Screenshots in screenshots/, -captured on 20 September 2026 (Dify cloud, Dutch build of the same workflow). +captured on 21 September 2026 (Dify cloud, English interface). Convert to HTML, PDF and Word: python3 build.py (python-markdown, google-chrome and libreoffice; layout and logo in _tools/build_guide.py) @@ -15,7 +15,7 @@ Formatting conventions (see also README.md): - Blockquote starting with **Your choice** = a choice for the participant (green box) The Python code for the Gatekeeper is in the text; participants paste it with Ctrl+V into the Code node. -Published example app (Dutch, version 2 of School news): https://udify.app/workflow/jJclFyX9BlteuHYi +Published example app (version 2 of School news): https://udify.app/workflow/E2CHtVPKe3PLg7GF --> # School news with checks: self-critique and a gatekeeper @@ -32,7 +32,7 @@ In guide 3 you built School news: one core message becomes a piece for the websi The difference between those two is the heart of this guide. The Checker is a model reviewing a model: good for form and tone, but it can talk itself into things. The Gatekeeper is six lines of Python that cannot be talked into anything: 81 words is too many, full stop. Together they deliver what a communications officer wants: less checking work, and certainty that the rules that really matter really apply. -This guide follows the cloud version of Dify of 20 September 2026. If your screen differs, follow what you see. The screenshots show the Dutch build of this workflow (Dutch block names such as Controleur and Poortwachter, Dutch texts); the screens and clicks are the same. +This guide follows the cloud version of Dify of 20 September 2026. If your screen differs, follow what you see. **How to read this guide** @@ -77,11 +77,11 @@ Before we started clicking, this card was filled in (the blank card is in the De This is what School news looks like before you start: -![Starting point: the workflow from guide 3](screenshots/01-uitgangspunt.jpg) +![Starting point: the workflow from guide 3](screenshots/01-starting-point.jpg) And this is what the tail looks like when you are done: -![The goal: Checker, Gatekeeper, IF/ELSE and two exits](screenshots/27-hele-keten.jpg) +![The goal: Checker, Gatekeeper, IF/ELSE and two exits](screenshots/27-whole-chain.jpg) --- @@ -100,15 +100,15 @@ The new blocks go between Social and Output. So you first disconnect Output. ![Change, Disconnect, Delete](screenshots/03-disconnect-menu.jpg) -![Social now has no next step](screenshots/04-losgekoppeld.jpg) +![Social now has no next step](screenshots/04-disconnected.jpg) ### Step 2. Add the Checker 1. Under **NEXT STEP** click **Select next step** and choose **LLM**. -![The list of blocks](screenshots/05-nodes-lijst.jpg) +![The list of blocks](screenshots/05-nodes-list.jpg) -![The new, empty LLM block](screenshots/06-llm4-leeg.jpg) +![The new, empty LLM block](screenshots/06-llm4-empty.jpg) 2. **MODEL**: gpt-5-mini. **CONTEXT**: Knowledge Retrieval / result (the style guide). 3. Paste the prompt below into **SYSTEM**. For `{Context}` type a forward slash and choose **Context**; for `{Parent app/text}` choose the item **text** under **PARENT APP**. @@ -125,11 +125,11 @@ Style guide: {Context} Draft message: {Parent app/text} ``` -![The prompt, with the menu after a forward slash](screenshots/07-controleur-prompt.jpg) +![The prompt, with the menu after a forward slash](screenshots/07-checker-prompt.jpg) 4. Rename the block to `Checker`. -![Checker ready: context and draft message are connected](screenshots/08-controleur-klaar.jpg) +![Checker ready: context and draft message are connected](screenshots/08-checker-ready.jpg) > "Work in two steps, but give only step 2." That is not a contradiction but a trick: the model assesses first (which improves the result) and you still get clean text back that you can pass on directly. If you leave step 1 in the answer, that explanation ends up in the parent app too. @@ -145,7 +145,7 @@ Draft message: {Parent app/text} 1. At Checker: **NEXT STEP** → **Select next step** → under Transform: **Code**. -![The Code block with sample code](screenshots/09-code-standaard.jpg) +![The Code block with sample code](screenshots/09-code-default.jpg) 2. Click in the editor, select everything (Ctrl+A) and paste the code below. @@ -171,7 +171,7 @@ def main(website: str, parent_app: str, social: str) -> dict: } ``` -![The code is in place](screenshots/10-code-ingevuld.jpg) +![The code is in place](screenshots/10-code-in-place.jpg) What the code does, line by line in plain words: @@ -191,7 +191,7 @@ What the code does, line by line in plain words: 1. Under **INPUT VARIABLES** rename `arg1` to `website` and `arg2` to `parent_app`. Click **+** for a third variable and call it `social`. The names must be exactly the same as the names in the first line of the code. -![Input variables renamed, third one added](screenshots/11-invoer-hernoemd.jpg) +![Input variables renamed, third one added](screenshots/11-inputs-renamed.jpg) 2. For each variable click **Set variable** and choose: @@ -201,17 +201,17 @@ What the code does, line by line in plain words: | parent_app | **CHECKER / text** (the improved version, not the raw one) | | social | **SOCIAL / text** | -![The variable picker](screenshots/12-variabele-kiezen.jpg) +![The variable picker](screenshots/12-variable-picker.jpg) -![All three connected](screenshots/13-invoer-gekoppeld.jpg) +![All three connected](screenshots/13-inputs-connected.jpg) 3. Under **OUTPUT VARIABLES**: rename `result` to `ok` and set the type to **Number**. Click **+** and add `reasons`, type **String**. -![Choosing the type: Number](screenshots/14-uitvoer-type.jpg) +![Choosing the type: Number](screenshots/14-output-type.jpg) 4. Rename the block to `Gatekeeper`. -![Gatekeeper ready](screenshots/15-poortwachter-klaar.jpg) +![Gatekeeper ready](screenshots/15-gatekeeper-ready.jpg) > The output names (`ok`, `reasons`) must literally match the names in the `return` line of the code. One letter different and the workflow stops with an error about a missing output. @@ -225,21 +225,21 @@ What the code does, line by line in plain words: 1. At Gatekeeper: **Select next step** → under Logic: **IF/ELSE**. -![The empty IF/ELSE block](screenshots/16-ifelse-leeg.jpg) +![The empty IF/ELSE block](screenshots/16-ifelse-empty.jpg) 2. Under **IF** click **+ Add Condition** and choose **GATEKEEPER / ok**. -![The variable for the condition](screenshots/17-conditie-variabele.jpg) +![The variable for the condition](screenshots/17-condition-variable.jpg) 3. Leave the comparison on **=** and type `1` as the value. -![The condition: ok = 1](screenshots/18-conditie.jpg) +![The condition: ok = 1](screenshots/18-condition.jpg) ### Step 6. Exit 1: Approved 1. Under **NEXT STEP** under **IF**: **Select next step** → **Output**. -![The new Output block](screenshots/19-output2-leeg.jpg) +![The new Output block](screenshots/19-output2-empty.jpg) 2. Add three output variables: @@ -251,7 +251,7 @@ What the code does, line by line in plain words: 3. Rename the block to `Approved`. -![Approved](screenshots/20-goedgekeurd.jpg) +![Approved](screenshots/20-approved.jpg) ### Step 7. Exit 2: to the communications officer @@ -270,7 +270,7 @@ What the code does, line by line in plain words: 3. Rename the block to `To the communications officer`. -![The second exit](screenshots/22-naar-medewerker.jpg) +![The second exit](screenshots/22-to-officer.jpg) > Two Output blocks may not have variables with the same name. If you call them `website` in both, Dify puts an orange "Duplicate variable" in the checklist and you cannot publish. Hence `draft_` in the second exit. @@ -280,16 +280,14 @@ What the code does, line by line in plain words: ![The checklist: the old Output is connected to nothing](screenshots/23-checklist.jpg) -2. Click **Output** in the checklist. The old block is selected; it is hidden behind Checker. +2. Click the first line under **Output** in the checklist. The old block is selected and the panel opens. -![The old Output, hidden behind Checker](screenshots/24-oude-output.jpg) +![The old Output, selected from the checklist](screenshots/24-old-output.jpg) 3. In the panel click the three dots and then **Delete**. 4. Check that the checklist is empty (no number on the icon any more). -![After renaming to draft_: no duplicate variables any more](screenshots/25-concept-variabelen.jpg) - -![The new tail of the workflow](screenshots/26-nieuwe-staart.jpg) +![The new tail of the workflow](screenshots/26-new-tail.jpg) --- @@ -309,7 +307,7 @@ You always test a gatekeeper both ways. Testing only the good side proves nothin 2. **Start Run**. After about a minute the path via **IF** to **Approved** turns green. -![Test 1: the path runs via IF to Approved](screenshots/28-test1-resultaat.jpg) +![Test 1: the path runs via IF to Approved](screenshots/28-test1-result.jpg) 3. Click **DETAIL**: status SUCCESS, run time and tokens. @@ -319,12 +317,10 @@ You always test a gatekeeper both ways. Testing only the good side proves nothin ![Tracing: every block with its time and tokens](screenshots/30-tracing.jpg) -![The Gatekeeper: ok 1, "All rules satisfied."](screenshots/31-poortwachter-ok.jpg) +![The Gatekeeper: ok 1, "All rules satisfied."](screenshots/31-gatekeeper-ok.jpg) > Tracing is your friend. For every question "why did this come out?" you open the block here and see exactly what went in and what came out. This is also the screen on which you saw that the Checker had removed the sign-up deadline (see the orange box in step 2). -![The extended prompt of the Checker after test 1](screenshots/32-controleur-aangevuld.jpg) - ### Step 10. Test 2: a message with gaps 1. **Test Run** again, now with a message without a date, without a time and with an abbreviation: @@ -335,25 +331,25 @@ You always test a gatekeeper both ways. Testing only the good side proves nothin | For which class or year group? | `Year 7` | | Which tone fits this message? | **informative** | -![Test 2: the input](screenshots/33-test2-invoer.jpg) +![Test 2: the input](screenshots/33-test2-input.jpg) 2. **Start Run**. Now the path runs via **ELSE** to **To the communications officer**, and the reasons are at the top of the result. -![Test 2: rejected, with four reasons](screenshots/34-test2-afgekeurd.jpg) +![Test 2: rejected, with the reasons at the top](screenshots/34-test2-rejected.jpg) -Read the reasons: all three texts contain [FILL IN] (the models did not know the date and neatly did not invent one), and the social post contains "asap". That last one is instructive: the Social prompt asked to follow the style guide, and still the abbreviation from the core message slipped through. A prompt asks; the gatekeeper enforces. +Read the reasons: all three texts contain [FILL IN] (the models did not know the date and neatly did not invent one). In our Dutch run the social post also contained the abbreviation from the core message; in this run the model left it out. That difference is instructive: the Social prompt asked to follow the style guide, and whether the abbreviation slips through depends on the run. A prompt asks; the gatekeeper enforces, every time. ### Step 11. Publish 1. **Publish** → **Publish Update**. Dify creates version 2 of the app; with **Name** you can give a version a name, and via the clock icon at the top right you can always go back to version 1. -![Published as version 2](screenshots/35-gepubliceerd.jpg) +![Published as version 2](screenshots/35-published.jpg) 2. Open the webapp and repeat test 2. The colleague sees the reasons at the top and below them the drafts to complete. -![The webapp: rejected, with the reasons and the drafts](screenshots/36-webapp-afgekeurd.jpg) +![The webapp: rejected, with the reasons and the drafts](screenshots/36-webapp-rejected.jpg) -The link has stayed the same (Dutch version): https://udify.app/workflow/jJclFyX9BlteuHYi +The link has stayed the same: . --- diff --git a/07-school-news-with-checks/guide-dify-school-news-with-checks.pdf b/07-school-news-with-checks/guide-dify-school-news-with-checks.pdf index c3c7103..2b997e7 100644 Binary files a/07-school-news-with-checks/guide-dify-school-news-with-checks.pdf and b/07-school-news-with-checks/guide-dify-school-news-with-checks.pdf differ diff --git a/07-school-news-with-checks/screenshots/01-starting-point.jpg b/07-school-news-with-checks/screenshots/01-starting-point.jpg new file mode 100644 index 0000000..7d48e73 Binary files /dev/null and b/07-school-news-with-checks/screenshots/01-starting-point.jpg differ diff --git a/07-school-news-with-checks/screenshots/01-uitgangspunt.jpg b/07-school-news-with-checks/screenshots/01-uitgangspunt.jpg deleted file mode 100644 index 9821bb2..0000000 Binary files a/07-school-news-with-checks/screenshots/01-uitgangspunt.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/02-next-step-output.jpg b/07-school-news-with-checks/screenshots/02-next-step-output.jpg index 40fcbcc..f541631 100644 Binary files a/07-school-news-with-checks/screenshots/02-next-step-output.jpg and b/07-school-news-with-checks/screenshots/02-next-step-output.jpg differ diff --git a/07-school-news-with-checks/screenshots/03-disconnect-menu.jpg b/07-school-news-with-checks/screenshots/03-disconnect-menu.jpg index 83f617d..03cac83 100644 Binary files a/07-school-news-with-checks/screenshots/03-disconnect-menu.jpg and b/07-school-news-with-checks/screenshots/03-disconnect-menu.jpg differ diff --git a/07-school-news-with-checks/screenshots/04-disconnected.jpg b/07-school-news-with-checks/screenshots/04-disconnected.jpg new file mode 100644 index 0000000..6b9a7a6 Binary files /dev/null and b/07-school-news-with-checks/screenshots/04-disconnected.jpg differ diff --git a/07-school-news-with-checks/screenshots/04-losgekoppeld.jpg b/07-school-news-with-checks/screenshots/04-losgekoppeld.jpg deleted file mode 100644 index 14749f7..0000000 Binary files a/07-school-news-with-checks/screenshots/04-losgekoppeld.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/05-nodes-lijst.jpg b/07-school-news-with-checks/screenshots/05-nodes-lijst.jpg deleted file mode 100644 index 8aa9479..0000000 Binary files a/07-school-news-with-checks/screenshots/05-nodes-lijst.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/05-nodes-list.jpg b/07-school-news-with-checks/screenshots/05-nodes-list.jpg new file mode 100644 index 0000000..df1b960 Binary files /dev/null and b/07-school-news-with-checks/screenshots/05-nodes-list.jpg differ diff --git a/07-school-news-with-checks/screenshots/06-llm4-empty.jpg b/07-school-news-with-checks/screenshots/06-llm4-empty.jpg new file mode 100644 index 0000000..3a70353 Binary files /dev/null and b/07-school-news-with-checks/screenshots/06-llm4-empty.jpg differ diff --git a/07-school-news-with-checks/screenshots/06-llm4-leeg.jpg b/07-school-news-with-checks/screenshots/06-llm4-leeg.jpg deleted file mode 100644 index 88e1f7c..0000000 Binary files a/07-school-news-with-checks/screenshots/06-llm4-leeg.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/07-checker-prompt.jpg b/07-school-news-with-checks/screenshots/07-checker-prompt.jpg new file mode 100644 index 0000000..a4b08db Binary files /dev/null and b/07-school-news-with-checks/screenshots/07-checker-prompt.jpg differ diff --git a/07-school-news-with-checks/screenshots/07-controleur-prompt.jpg b/07-school-news-with-checks/screenshots/07-controleur-prompt.jpg deleted file mode 100644 index c932b5c..0000000 Binary files a/07-school-news-with-checks/screenshots/07-controleur-prompt.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/08-checker-ready.jpg b/07-school-news-with-checks/screenshots/08-checker-ready.jpg new file mode 100644 index 0000000..900c2c9 Binary files /dev/null and b/07-school-news-with-checks/screenshots/08-checker-ready.jpg differ diff --git a/07-school-news-with-checks/screenshots/08-controleur-klaar.jpg b/07-school-news-with-checks/screenshots/08-controleur-klaar.jpg deleted file mode 100644 index c885ede..0000000 Binary files a/07-school-news-with-checks/screenshots/08-controleur-klaar.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/09-code-default.jpg b/07-school-news-with-checks/screenshots/09-code-default.jpg new file mode 100644 index 0000000..16b26ac Binary files /dev/null and b/07-school-news-with-checks/screenshots/09-code-default.jpg differ diff --git a/07-school-news-with-checks/screenshots/09-code-standaard.jpg b/07-school-news-with-checks/screenshots/09-code-standaard.jpg deleted file mode 100644 index b0d8040..0000000 Binary files a/07-school-news-with-checks/screenshots/09-code-standaard.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/10-code-in-place.jpg b/07-school-news-with-checks/screenshots/10-code-in-place.jpg new file mode 100644 index 0000000..8993af1 Binary files /dev/null and b/07-school-news-with-checks/screenshots/10-code-in-place.jpg differ diff --git a/07-school-news-with-checks/screenshots/10-code-ingevuld.jpg b/07-school-news-with-checks/screenshots/10-code-ingevuld.jpg deleted file mode 100644 index 871389e..0000000 Binary files a/07-school-news-with-checks/screenshots/10-code-ingevuld.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/11-inputs-renamed.jpg b/07-school-news-with-checks/screenshots/11-inputs-renamed.jpg new file mode 100644 index 0000000..385cec3 Binary files /dev/null and b/07-school-news-with-checks/screenshots/11-inputs-renamed.jpg differ diff --git a/07-school-news-with-checks/screenshots/11-invoer-hernoemd.jpg b/07-school-news-with-checks/screenshots/11-invoer-hernoemd.jpg deleted file mode 100644 index ce7ccca..0000000 Binary files a/07-school-news-with-checks/screenshots/11-invoer-hernoemd.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/12-variabele-kiezen.jpg b/07-school-news-with-checks/screenshots/12-variabele-kiezen.jpg deleted file mode 100644 index d7ede9c..0000000 Binary files a/07-school-news-with-checks/screenshots/12-variabele-kiezen.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/12-variable-picker.jpg b/07-school-news-with-checks/screenshots/12-variable-picker.jpg new file mode 100644 index 0000000..86389c4 Binary files /dev/null and b/07-school-news-with-checks/screenshots/12-variable-picker.jpg differ diff --git a/07-school-news-with-checks/screenshots/13-inputs-connected.jpg b/07-school-news-with-checks/screenshots/13-inputs-connected.jpg new file mode 100644 index 0000000..7ae0ee5 Binary files /dev/null and b/07-school-news-with-checks/screenshots/13-inputs-connected.jpg differ diff --git a/07-school-news-with-checks/screenshots/13-invoer-gekoppeld.jpg b/07-school-news-with-checks/screenshots/13-invoer-gekoppeld.jpg deleted file mode 100644 index 43a5081..0000000 Binary files a/07-school-news-with-checks/screenshots/13-invoer-gekoppeld.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/14-output-type.jpg b/07-school-news-with-checks/screenshots/14-output-type.jpg new file mode 100644 index 0000000..b6167ec Binary files /dev/null and b/07-school-news-with-checks/screenshots/14-output-type.jpg differ diff --git a/07-school-news-with-checks/screenshots/14-uitvoer-type.jpg b/07-school-news-with-checks/screenshots/14-uitvoer-type.jpg deleted file mode 100644 index 96e0607..0000000 Binary files a/07-school-news-with-checks/screenshots/14-uitvoer-type.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/15-gatekeeper-ready.jpg b/07-school-news-with-checks/screenshots/15-gatekeeper-ready.jpg new file mode 100644 index 0000000..1183a9c Binary files /dev/null and b/07-school-news-with-checks/screenshots/15-gatekeeper-ready.jpg differ diff --git a/07-school-news-with-checks/screenshots/15-poortwachter-klaar.jpg b/07-school-news-with-checks/screenshots/15-poortwachter-klaar.jpg deleted file mode 100644 index 2c97945..0000000 Binary files a/07-school-news-with-checks/screenshots/15-poortwachter-klaar.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/16-ifelse-empty.jpg b/07-school-news-with-checks/screenshots/16-ifelse-empty.jpg new file mode 100644 index 0000000..3f870ce Binary files /dev/null and b/07-school-news-with-checks/screenshots/16-ifelse-empty.jpg differ diff --git a/07-school-news-with-checks/screenshots/16-ifelse-leeg.jpg b/07-school-news-with-checks/screenshots/16-ifelse-leeg.jpg deleted file mode 100644 index 889364b..0000000 Binary files a/07-school-news-with-checks/screenshots/16-ifelse-leeg.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/17-conditie-variabele.jpg b/07-school-news-with-checks/screenshots/17-conditie-variabele.jpg deleted file mode 100644 index 130b12c..0000000 Binary files a/07-school-news-with-checks/screenshots/17-conditie-variabele.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/17-condition-variable.jpg b/07-school-news-with-checks/screenshots/17-condition-variable.jpg new file mode 100644 index 0000000..021ef0c Binary files /dev/null and b/07-school-news-with-checks/screenshots/17-condition-variable.jpg differ diff --git a/07-school-news-with-checks/screenshots/18-conditie.jpg b/07-school-news-with-checks/screenshots/18-conditie.jpg deleted file mode 100644 index 5a79a75..0000000 Binary files a/07-school-news-with-checks/screenshots/18-conditie.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/18-condition.jpg b/07-school-news-with-checks/screenshots/18-condition.jpg new file mode 100644 index 0000000..b3e9689 Binary files /dev/null and b/07-school-news-with-checks/screenshots/18-condition.jpg differ diff --git a/07-school-news-with-checks/screenshots/19-output2-empty.jpg b/07-school-news-with-checks/screenshots/19-output2-empty.jpg new file mode 100644 index 0000000..a0003c9 Binary files /dev/null and b/07-school-news-with-checks/screenshots/19-output2-empty.jpg differ diff --git a/07-school-news-with-checks/screenshots/19-output2-leeg.jpg b/07-school-news-with-checks/screenshots/19-output2-leeg.jpg deleted file mode 100644 index ff74cf0..0000000 Binary files a/07-school-news-with-checks/screenshots/19-output2-leeg.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/20-approved.jpg b/07-school-news-with-checks/screenshots/20-approved.jpg new file mode 100644 index 0000000..9d373e0 Binary files /dev/null and b/07-school-news-with-checks/screenshots/20-approved.jpg differ diff --git a/07-school-news-with-checks/screenshots/20-goedgekeurd.jpg b/07-school-news-with-checks/screenshots/20-goedgekeurd.jpg deleted file mode 100644 index 4aeb3b3..0000000 Binary files a/07-school-news-with-checks/screenshots/20-goedgekeurd.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/21-ifelse-else.jpg b/07-school-news-with-checks/screenshots/21-ifelse-else.jpg index 1e8b371..b63dd4e 100644 Binary files a/07-school-news-with-checks/screenshots/21-ifelse-else.jpg and b/07-school-news-with-checks/screenshots/21-ifelse-else.jpg differ diff --git a/07-school-news-with-checks/screenshots/22-naar-medewerker.jpg b/07-school-news-with-checks/screenshots/22-naar-medewerker.jpg deleted file mode 100644 index 6fa8631..0000000 Binary files a/07-school-news-with-checks/screenshots/22-naar-medewerker.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/22-to-officer.jpg b/07-school-news-with-checks/screenshots/22-to-officer.jpg new file mode 100644 index 0000000..dfc9b33 Binary files /dev/null and b/07-school-news-with-checks/screenshots/22-to-officer.jpg differ diff --git a/07-school-news-with-checks/screenshots/23-checklist.jpg b/07-school-news-with-checks/screenshots/23-checklist.jpg index b96b42f..d37f394 100644 Binary files a/07-school-news-with-checks/screenshots/23-checklist.jpg and b/07-school-news-with-checks/screenshots/23-checklist.jpg differ diff --git a/07-school-news-with-checks/screenshots/24-old-output.jpg b/07-school-news-with-checks/screenshots/24-old-output.jpg new file mode 100644 index 0000000..bfb9ddd Binary files /dev/null and b/07-school-news-with-checks/screenshots/24-old-output.jpg differ diff --git a/07-school-news-with-checks/screenshots/24-oude-output.jpg b/07-school-news-with-checks/screenshots/24-oude-output.jpg deleted file mode 100644 index e66cedc..0000000 Binary files a/07-school-news-with-checks/screenshots/24-oude-output.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/25-concept-variabelen.jpg b/07-school-news-with-checks/screenshots/25-concept-variabelen.jpg deleted file mode 100644 index c9714f0..0000000 Binary files a/07-school-news-with-checks/screenshots/25-concept-variabelen.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/26-new-tail.jpg b/07-school-news-with-checks/screenshots/26-new-tail.jpg new file mode 100644 index 0000000..95a4161 Binary files /dev/null and b/07-school-news-with-checks/screenshots/26-new-tail.jpg differ diff --git a/07-school-news-with-checks/screenshots/26-nieuwe-staart.jpg b/07-school-news-with-checks/screenshots/26-nieuwe-staart.jpg deleted file mode 100644 index 3c8a1fd..0000000 Binary files a/07-school-news-with-checks/screenshots/26-nieuwe-staart.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/27-hele-keten.jpg b/07-school-news-with-checks/screenshots/27-hele-keten.jpg deleted file mode 100644 index 9d7c43c..0000000 Binary files a/07-school-news-with-checks/screenshots/27-hele-keten.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/27-whole-chain.jpg b/07-school-news-with-checks/screenshots/27-whole-chain.jpg new file mode 100644 index 0000000..8f6d27d Binary files /dev/null and b/07-school-news-with-checks/screenshots/27-whole-chain.jpg differ diff --git a/07-school-news-with-checks/screenshots/28-test1-result.jpg b/07-school-news-with-checks/screenshots/28-test1-result.jpg new file mode 100644 index 0000000..40397e7 Binary files /dev/null and b/07-school-news-with-checks/screenshots/28-test1-result.jpg differ diff --git a/07-school-news-with-checks/screenshots/28-test1-resultaat.jpg b/07-school-news-with-checks/screenshots/28-test1-resultaat.jpg deleted file mode 100644 index 4a5f9b5..0000000 Binary files a/07-school-news-with-checks/screenshots/28-test1-resultaat.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/29-test1-detail.jpg b/07-school-news-with-checks/screenshots/29-test1-detail.jpg index b932c81..a082b4b 100644 Binary files a/07-school-news-with-checks/screenshots/29-test1-detail.jpg and b/07-school-news-with-checks/screenshots/29-test1-detail.jpg differ diff --git a/07-school-news-with-checks/screenshots/30-tracing.jpg b/07-school-news-with-checks/screenshots/30-tracing.jpg index c1d48f9..f816edf 100644 Binary files a/07-school-news-with-checks/screenshots/30-tracing.jpg and b/07-school-news-with-checks/screenshots/30-tracing.jpg differ diff --git a/07-school-news-with-checks/screenshots/31-gatekeeper-ok.jpg b/07-school-news-with-checks/screenshots/31-gatekeeper-ok.jpg new file mode 100644 index 0000000..20ee302 Binary files /dev/null and b/07-school-news-with-checks/screenshots/31-gatekeeper-ok.jpg differ diff --git a/07-school-news-with-checks/screenshots/31-poortwachter-ok.jpg b/07-school-news-with-checks/screenshots/31-poortwachter-ok.jpg deleted file mode 100644 index 3c87ed2..0000000 Binary files a/07-school-news-with-checks/screenshots/31-poortwachter-ok.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/32-controleur-aangevuld.jpg b/07-school-news-with-checks/screenshots/32-controleur-aangevuld.jpg deleted file mode 100644 index 6e94bab..0000000 Binary files a/07-school-news-with-checks/screenshots/32-controleur-aangevuld.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/33-test2-input.jpg b/07-school-news-with-checks/screenshots/33-test2-input.jpg new file mode 100644 index 0000000..e5c6cd6 Binary files /dev/null and b/07-school-news-with-checks/screenshots/33-test2-input.jpg differ diff --git a/07-school-news-with-checks/screenshots/33-test2-invoer.jpg b/07-school-news-with-checks/screenshots/33-test2-invoer.jpg deleted file mode 100644 index bca9c79..0000000 Binary files a/07-school-news-with-checks/screenshots/33-test2-invoer.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/34-test2-afgekeurd.jpg b/07-school-news-with-checks/screenshots/34-test2-afgekeurd.jpg deleted file mode 100644 index 395c911..0000000 Binary files a/07-school-news-with-checks/screenshots/34-test2-afgekeurd.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/34-test2-rejected.jpg b/07-school-news-with-checks/screenshots/34-test2-rejected.jpg new file mode 100644 index 0000000..1747aae Binary files /dev/null and b/07-school-news-with-checks/screenshots/34-test2-rejected.jpg differ diff --git a/07-school-news-with-checks/screenshots/35-gepubliceerd.jpg b/07-school-news-with-checks/screenshots/35-gepubliceerd.jpg deleted file mode 100644 index 6310662..0000000 Binary files a/07-school-news-with-checks/screenshots/35-gepubliceerd.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/35-published.jpg b/07-school-news-with-checks/screenshots/35-published.jpg new file mode 100644 index 0000000..6e9f2d0 Binary files /dev/null and b/07-school-news-with-checks/screenshots/35-published.jpg differ diff --git a/07-school-news-with-checks/screenshots/36-webapp-afgekeurd.jpg b/07-school-news-with-checks/screenshots/36-webapp-afgekeurd.jpg deleted file mode 100644 index bb3a69a..0000000 Binary files a/07-school-news-with-checks/screenshots/36-webapp-afgekeurd.jpg and /dev/null differ diff --git a/07-school-news-with-checks/screenshots/36-webapp-rejected.jpg b/07-school-news-with-checks/screenshots/36-webapp-rejected.jpg new file mode 100644 index 0000000..39dda72 Binary files /dev/null and b/07-school-news-with-checks/screenshots/36-webapp-rejected.jpg differ diff --git a/CHANGELOG.md b/CHANGELOG.md index d8925cb..7dd546a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ This is what changed per release. ## 2026-09-20, English screenshots -- Guides 01, 02 and 03 rebuilt with the English Dify interface and English apps (Text at level, School guide assistant, Parent letter assistant, School news; links in the README). The other guides follow. +- Guides 01, 02, 03 and 07 rebuilt with the English Dify interface and English apps (Text at level, School guide assistant, Parent letter assistant, School news with checks; links in the README). The other guides follow. - New appendix 00-self-hosting: running Dify Community Edition yourself with Docker (Windows, Mac, Linux). ## 2026-09-20, first release diff --git a/README.md b/README.md index 5edd40e..6602250 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ The apps are live to try out: - Text at level (01): https://udify.app/workflow/VHWboGL9462eA1KI - School guide assistant (02, with the Reception mode from 03): https://udify.app/chat/6Y6WnP0m5Z3jSHRs - Parent letter assistant (03): https://udify.app/chat/oB2H2mLaoKR6d4IC -- School news (03): https://udify.app/workflow/E2CHtVPKe3PLg7GF +- School news (03 and 07): https://udify.app/workflow/E2CHtVPKe3PLg7GF - Test week planner (04; Dutch build): https://udify.app/agent/rKoqw8rbmp0IF86Q - Transcription tool (05; Dutch build): https://udify.app/workflow/7N5dNg8fD9qXHA80 - Materials check (06; Dutch build): https://udify.app/agent/lkWKedkSW2d3nqBV