# Cursusstructuur — Atlas Academy ## Catalogus | ID | Naam | Slug | Secties | Lessen | Quizvragen | Cover kleur | |----|------|------|---------|--------|------------|-------------| | 1 | Praktijktraining Lean | `praktijktraining-lean-1` | 2 | 7 | 21 | `#1a4fa0` | | 2 | Sales vanaf Nul | `sales-vanaf-nul-2` | 2 | 10 | 30 | `#0f7a3d` | | 3 | Netwerken & Relaties | `netwerken-relaties-3` | 1 | 5 | 12 | `#7b2d8b` | | 4 | Strategisch Denken | `strategisch-denken-4` | 2 | 9 | 26 | `#c47a1e` | | 5 | Alles Automatiseren met AI | `alles-automatiseren-met-ai-5` | 1 | 5 | 15 | `#1a8a8a` | | 6 | IT-Basis & Manier van Denken | `it-basis-manier-van-denken-6` | 1 | 3 | 9 | `#8a3a1a` | | 7 | Business & Juridisch | `business-juridisch-7` | 1 | 3 | 9 | `#2a6a8a` | | 8 | Marketing & Funnels | `marketing-funnels-8` | 1 | 4 | 12 | `#8a1a4a` | | 9 | Startup & Groei | `startup-groei-9` | 2 | 7 | 19 | `#3a7a1a` | **Totaal:** 53 lessen · 153 quizvragen URL-patroon: `https://atlasacademy.nl/slides/` --- ## Cursusstructuur (Odoo-modellen) ### `slide.channel` — Cursus ```python { 'name': 'Sales vanaf Nul', 'website_id': 3, # Atlas Academy 'website_published': True, 'website_slug': 'sales-vanaf-nul-2', 'cover_properties': '{"background-color": "#0f7a3d", ...}', 'channel_type': 'documentation', } ``` ### `slide.slide` — Sectie (is_category=True) ```python { 'channel_id': 2, 'name': 'Deel 1: Mindset & Voorbereiding', 'is_category': True, 'sequence': 1, } ``` ### `slide.slide` — Les (artikel) ```python { 'channel_id': 2, 'name': 'Les 1 — De verkoper als adviseur', 'slide_category': 'article', 'is_category': False, 'category_id': , 'html_content': '

Theorie tekst...

', 'sequence': 2, 'website_published': True, } ``` ### `slide.question` — Quizvraag ```python { 'slide_id': , 'question': 'Wat is het primaire doel van een adviseur-verkoper?', } ``` ### `slide.answer` — Antwoordoptie ```python { 'question_id': , 'text_value': 'Vertrouwen opbouwen en de klant echte waarde bieden', 'is_correct': True, 'comment': 'Een adviseur-verkoper stelt klantbelang centraal.', } ``` --- ## Cursus bouwen via ORM shell ```python # save als /tmp/build_cursus.py, dan: # ssh atlas-01 "docker exec -i atlas-odoo odoo shell -d atlas --no-http < /tmp/build_cursus.py" env = env # Odoo shell # 1. Cursus aanmaken channel = env['slide.channel'].sudo().create({ 'name': 'Mijn Nieuwe Cursus', 'website_id': 3, 'website_published': True, 'channel_type': 'documentation', }) # 2. Sectie toevoegen sectie = env['slide.slide'].sudo().create({ 'channel_id': channel.id, 'name': 'Deel 1: Introductie', 'is_category': True, 'sequence': 1, }) # 3. Les toevoegen les = env['slide.slide'].sudo().create({ 'channel_id': channel.id, 'name': 'Les 1 — Overzicht', 'slide_category': 'article', 'is_category': False, 'category_id': sectie.id, 'html_content': '

Theorie...

', 'sequence': 2, 'website_published': True, }) # 4. Quizvraag + antwoorden vraag = env['slide.question'].sudo().create({ 'slide_id': les.id, 'question': 'Wat leer je in les 1?', }) for tekst, correct, uitleg in [ ('Optie A', True, 'Correct omdat...'), ('Optie B', False, 'Fout omdat...'), ('Optie C', False, 'Fout omdat...'), ]: env['slide.answer'].sudo().create({ 'question_id': vraag.id, 'text_value': tekst, 'is_correct': correct, 'comment': uitleg, }) env.cr.commit() print(f"Cursus aangemaakt: /slides/{channel.website_slug}") ``` --- ## Content-richtlijnen - **Theorie per les:** 300–500 woorden, plain HTML (`

`, `

`, `

    `) - **Quizvragen per les:** minimaal 3, maximaal 5 - **Antwoordopties:** altijd 3, precies 1 correct - **Uitleg:** altijd een `comment` bij elke optie (leermoment) - **Toon:** generiek en professioneel — niet Chaib-centric, voor de community - **Taal:** Nederlands --- ## Slug-conventie `-` Voorbeeld: channel ID 4, naam "Strategisch Denken" → `strategisch-denken-4` Odoo genereert de slug automatisch op basis van de naam bij aanmaken. --- ## ESF / BiSL (apart, nog te migreren) | Pagina | Status | Doel | |--------|--------|------| | `bisl.html` | Statisch (actief) | BiSL Foundation examentrainer (custom engine) | | `bisl_examen.html` | Statisch (actief) | ~82-97 vragen, eigen JS-quizengine | | `esf.html` | Statisch, noindex | Persoonlijk ITMG ESF-studieoverzicht | Migratie naar Odoo eLearning is gepland maar niet launch-blocking.