Module:Layout/doc
Dit is de documentatiepagina voor Module:Layout
De Module:Layout is bedoeld om snel, consistent en uitgebreid een pagina op te maken.
Er is een op de module afgestemde handleiding over deze onderwijswiki beschikbaar.
De module wordt geïnitialiseerd met de configuratie in Module:Layout/Production/Configuration.
De module Layout werkt nauw samen met het sjabloon Opmaak. Directe benadering door gebruikers van deze module wordt dan ook ontraden en ook tegengehouden waar mogelijk. Voor het gebruik van de module verwijzen we daarom naar de sjabloonbeschrijving van het sjabloon Opmaak.
Subpagina's
[bewerken]- Layout/Book series
- Layout/Deprecated
- Layout/Dev
- Layout/Development
- Layout/Development/Configuration
- Layout/Development/Language/Nl
- Layout/Development/Language/Nl/doc
- Layout/Development/doc
- Layout/Production/Configuration
- Layout/Production/Configuration/Hook
- Layout/Production/Configuration/Hook/doc
- Layout/Production/Configuration/Location
- Layout/Production/Configuration/Location/doc
- Layout/Production/Configuration/Style
- Layout/Production/Configuration/Style/doc
- Layout/Production/Configuration/Testframe
- Layout/Production/Configuration/doc
- Layout/Production/Content
- Layout/Production/Content/Age
- Layout/Production/Content/Age/doc
- Layout/Production/Content/Book
- Layout/Production/Content/Book/doc
- Layout/Production/Content/Bookshelf
- Layout/Production/Content/Bookshelf/doc
- Layout/Production/Content/Chess
- Layout/Production/Content/Chess/doc
- Layout/Production/Content/Infobox
- Layout/Production/Content/Infobox/doc
- Layout/Production/Content/Module
- Layout/Production/Content/Module/doc
- Layout/Production/Content/Series
- Layout/Production/Content/Series/doc
- Layout/Production/Content/Template
- Layout/Production/Content/Template/doc
- Layout/Production/Content/doc
- Layout/Production/Interface
- Layout/Production/Interface/Flight
- Layout/Production/Interface/Flight/doc
- Layout/Production/Interface/Frisk
- Layout/Production/Interface/Frisk/doc
- Layout/Production/Interface/Security
- Layout/Production/Interface/Security/doc
- Layout/Production/Interface/doc
- Layout/Production/Language
- Layout/Production/Language/En
- Layout/Production/Language/Nl
- Layout/Production/Language/Nl/Age
- Layout/Production/Language/Nl/Age/doc
- Layout/Production/Language/Nl/Book
- Layout/Production/Language/Nl/Book/doc
- Layout/Production/Language/Nl/Bookshelf
- Layout/Production/Language/Nl/Bookshelf/doc
- Layout/Production/Language/Nl/Category
- Layout/Production/Language/Nl/Category/doc
- Layout/Production/Language/Nl/Chapter
- Layout/Production/Language/Nl/Chapter/doc
- Layout/Production/Language/Nl/Chess
- Layout/Production/Language/Nl/Chess/doc
- Layout/Production/Language/Nl/Concept
- Layout/Production/Language/Nl/Concept/doc
- Layout/Production/Language/Nl/Infobox
- Layout/Production/Language/Nl/Infobox/doc
- Layout/Production/Language/Nl/Logo
- Layout/Production/Language/Nl/Logo/doc
- Layout/Production/Language/Nl/Module
- Layout/Production/Language/Nl/Module/doc
- Layout/Production/Language/Nl/Painting
- Layout/Production/Language/Nl/Painting/doc
- Layout/Production/Language/Nl/Person
- Layout/Production/Language/Nl/Person/doc
- Layout/Production/Language/Nl/Progress
- Layout/Production/Language/Nl/Progress/doc
- Layout/Production/Language/Nl/Section
- Layout/Production/Language/Nl/Section/doc
- Layout/Production/Language/Nl/Series
- Layout/Production/Language/Nl/Series/doc
- Layout/Production/Language/Nl/Talk
- Layout/Production/Language/Nl/Talk/doc
- Layout/Production/Language/Nl/Template
- Layout/Production/Language/Nl/Template/doc
- Layout/Production/Language/Nl/Toc
- Layout/Production/Language/Nl/Toc/doc
- Layout/Production/Language/Nl/User
- Layout/Production/Language/Nl/User/doc
- Layout/Production/Language/Nl/Wikijunior
- Layout/Production/Language/Nl/Wikijunior/doc
- Layout/Production/Language/Nl/Wikipedia
- Layout/Production/Language/Nl/Wikipedia/doc
- Layout/Production/Language/Nl/doc
- Layout/Production/Language/doc
- Layout/Production/Library
- Layout/Production/Library/Array
- Layout/Production/Library/Array/doc
- Layout/Production/Library/Box
- Layout/Production/Library/Box/doc
- Layout/Production/Library/Calculator
- Layout/Production/Library/Calculator/doc
- Layout/Production/Library/Color
- Layout/Production/Library/Color/doc
- Layout/Production/Library/Markup
- Layout/Production/Library/Markup/doc
- Layout/Production/Library/Mediawiki
- Layout/Production/Library/Mediawiki/doc
- Layout/Production/Library/Pattern
- Layout/Production/Library/Pattern/doc
- Layout/Production/Library/Text
- Layout/Production/Library/Text/doc
- Layout/Production/Library/Timestamp
- Layout/Production/Library/Timestamp/doc
- Layout/Production/Library/Unittest
- Layout/Production/Library/Unittest/doc
- Layout/Production/Library/Validation
- Layout/Production/Library/Validation/doc
- Layout/Production/Library/doc
- Layout/Production/Model
- Layout/Production/Model/Call
- Layout/Production/Model/Call/doc
- Layout/Production/Model/Convert
- Layout/Production/Model/Convert/doc
- Layout/Production/Model/Extract
- Layout/Production/Model/Extract/doc
- Layout/Production/Model/Inventory
- Layout/Production/Model/Inventory/doc
- Layout/Production/Model/Luggage
- Layout/Production/Model/Luggage/doc
- Layout/Production/Model/Response
- Layout/Production/Model/Response/doc
- Layout/Production/Model/doc
- Layout/Production/Test
- Layout/Production/Test/Array
- Layout/Production/Test/Array/doc
- Layout/Production/Test/Box
- Layout/Production/Test/Box/doc
- Layout/Production/Test/Call
- Layout/Production/Test/Call/doc
- Layout/Production/Test/Chess
- Layout/Production/Test/Chess/doc
- Layout/Production/Test/Color
- Layout/Production/Test/Color/doc
- Layout/Production/Test/Convert
- Layout/Production/Test/Convert/doc
- Layout/Production/Test/Extract
- Layout/Production/Test/Extract/doc
- Layout/Production/Test/Include
- Layout/Production/Test/Include/doc
- Layout/Production/Test/Interface
- Layout/Production/Test/Interface/doc
- Layout/Production/Test/Logo
- Layout/Production/Test/Logo/doc
- Layout/Production/Test/Luggage
- Layout/Production/Test/Luggage/doc
- Layout/Production/Test/Mediawiki
- Layout/Production/Test/Mediawiki/doc
- Layout/Production/Test/Pattern
- Layout/Production/Test/Pattern/doc
- Layout/Production/Test/Security
- Layout/Production/Test/Security/doc
- Layout/Production/Test/System
- Layout/Production/Test/System/doc
- Layout/Production/Test/Testcases
- Layout/Production/Test/Testcases/Corrupted Headings
- Layout/Production/Test/Testcases/Corrupted Headings/doc
- Layout/Production/Test/Testcases/Empty
- Layout/Production/Test/Testcases/Empty/doc
- Layout/Production/Test/Testcases/Empty Page
- Layout/Production/Test/Testcases/Empty Page/doc
- Layout/Production/Test/Testcases/Extract Parameter Multiple Parameters
- Layout/Production/Test/Testcases/Extract Parameter Multiple Parameters/doc
- Layout/Production/Test/Testcases/Extract Parameter Present
- Layout/Production/Test/Testcases/Extract Parameter Present/doc
- Layout/Production/Test/Testcases/Extract Parameter Two Hits
- Layout/Production/Test/Testcases/Extract Parameter Two Hits/doc
- Layout/Production/Test/Testcases/Four
- Layout/Production/Test/Testcases/Four/doc
- Layout/Production/Test/Testcases/One
- Layout/Production/Test/Testcases/One/doc
- Layout/Production/Test/Testcases/Only Text
- Layout/Production/Test/Testcases/Only Text/doc
- Layout/Production/Test/Testcases/Other
- Layout/Production/Test/Testcases/Other/doc
- Layout/Production/Test/Testcases/Ten
- Layout/Production/Test/Testcases/Ten/doc
- Layout/Production/Test/Testcases/doc
- Layout/Production/Test/Text
- Layout/Production/Test/Text/doc
- Layout/Production/Test/Timestamp
- Layout/Production/Test/Timestamp/doc
- Layout/Production/Test/Validation
- Layout/Production/Test/Validation/doc
- Layout/Production/Test/doc
- Layout/Production/View
- Layout/Production/View/Age
- Layout/Production/View/Age/doc
- Layout/Production/View/Book
- Layout/Production/View/Book/doc
- Layout/Production/View/Bookshelf
- Layout/Production/View/Bookshelf/doc
- Layout/Production/View/Category
- Layout/Production/View/Category/doc
- Layout/Production/View/Chapter
- Layout/Production/View/Chapter/doc
- Layout/Production/View/Chess
- Layout/Production/View/Chess/doc
- Layout/Production/View/Definition
- Layout/Production/View/Definition/doc
- Layout/Production/View/Description
- Layout/Production/View/Description/doc
- Layout/Production/View/Gradient
- Layout/Production/View/Gradient/doc
- Layout/Production/View/Infobox
- Layout/Production/View/Infobox/doc
- Layout/Production/View/Logo
- Layout/Production/View/Logo/doc
- Layout/Production/View/Module
- Layout/Production/View/Module/doc
- Layout/Production/View/Prefixindex
- Layout/Production/View/Prefixindex/doc
- Layout/Production/View/Progress
- Layout/Production/View/Progress/doc
- Layout/Production/View/Series
- Layout/Production/View/Series/doc
- Layout/Production/View/Talk
- Layout/Production/View/Talk/doc
- Layout/Production/View/Template
- Layout/Production/View/Template/doc
- Layout/Production/View/Toc
- Layout/Production/View/Toc/doc
- Layout/Production/View/User
- Layout/Production/View/User/doc
- Layout/Production/View/Wikijunior
- Layout/Production/View/Wikijunior/doc
- Layout/Production/View/Wikipedia
- Layout/Production/View/Wikipedia/doc
- Layout/Production/View/doc
- Layout/Sandbox
- Layout/Sandbox/Configuration
- Layout/Sandbox/doc
- Layout/Stage
- Layout/Stage/Configuration
- Layout/Stage/doc
- Layout/Style/Test
- Layout/doc
Omgevingen
[bewerken]Module Migratie | ||||||
---|---|---|---|---|---|---|
Sandbox | Development | Stage | Production | |||
|
→ test |
|
→ test |
|
→ test |
|
Opbouw
[bewerken]MVC Pattern | ||
---|---|---|
Model | View | Controller |
Deze module is gebouwd om via een interface de aanroeper door te sturen naar specifieke functionaliteit behorende bij het type Opmaak gegroepeerd onder Module:Layout/Production/View. Onder Module:Layout/Production/Test zijn alle testfuncties gebundeld. De library Module:Layout/Production/Library heeft verzameld alle functies die door meerdere modules worden gebruikt en geen andere modules aanroepen. Alle instellingen zoals de berichten en de structuur van deze module zijn ondergebracht bij Module:Layout/Production/Configuration. Ook is er een ontwikkelomgeving ingericht onder Module:Layout/Sandbox. Samengevat:
Hoofdmodules onder Layout | ||
---|---|---|
Hoofdmodule | Activiteit | Omschrijving |
Module:Layout | inrichten | module die juiste omgeving voor het systeem inricht. |
Module:Layout/Production/View | weergeven | modules die nieuwe wikibooks-objecten weergeven. |
Module:Layout/Production/Interface | communiceren | modules die de communicatie tussen de aanroepende wikipagina en de module Layout afhandelen. |
Module:Layout/Production/Library | opbouwen | modules die bouwstenen vormen voor andere modules. |
Module:Layout/Production/Content | creëren | modules die de speciale inhoud van bepaalde wikibooks-objecten creëren. |
Module:Layout/Production/Model | verrijken | modules die de bestaande gegevens verrijken zodat ze geschikt zijn voor wikibooks-objecten. |
Module:Layout/Production/Configuration | configureren | modules die de werking van andere modules configureren. |
Module:Layout/Production/Language | vertalen | modules die in de taal van de gebruiker communiceren. |
Module:Layout/Production/Style | stijlen | modules die in de stijl van de weergave instellen. |
Module:Layout/Production/Test | testen | modules die testen. |
Hooks
[bewerken]Objecten
[bewerken]Om functionaliteit toe te voegen of aan te passen haken we de nieuwe of aan te passen module in met exact de naam (in Engels) van het wikiobject dat we toevoegen. Dat dient in ieder geval te gebeuren onder de view (we moeten toch iets laten zien). We moeten ook berichten in de geldende taal wat de naam van het wikiobject is door deze toe te voegen door de een module te zetten met dezelfde naam onder de language modules. Afgestemde inhoud zullen we meestal creëren door wederom met exact dezelfde naam (in het Engels) te plaatsen onder de topmodule content. Daarna kunnen we bij een nieuwe module in het configuratiebestand Configuratie/Hook een haakje zetten (een extra element toevoegen aan de tabel HOOK.OBJECT) zodat het systeem onze nieuwe module opneemt. Ook passen we de bijbehorende test aan of maken een nieuwe. Hetzelfde doen we voor de documentatie. Het aangepast of nieuwe object is zoveel mogelijk afgezonderd van andere objecten om onderlinge impact bij fouten te voorkomen.
Wiki-objecten toevoegen of Wijzigen | |||||
---|---|---|---|---|---|
Configuratie/Hook (Vereist) | View (Vereist) | Language (Vereist) | Content (Optioneel) | Test (Vereist) | Sjabloon (Vereist) |
|
|
|
|
|
|
Parameters
[bewerken]Op dezelfde manier als bij de objecten kan men ook nieuwe parameters aanmaken of aanpassen. Indien mogelijk is het advies dat niet toe doen omdat dit wel meer impact heeft dan objecten en een te lange lijst van mogelijke parameters het overzichtelijk gebruik zal afremmen. Probeer zoveel mogelijk de bestaande parameters te gebruiken of de unnamed parameters. Als men toch een parameter nodig heeft dan haakt men die in eveneens in de configuratie module Module:Layout/Production/Configuration/Hook onder HOOK.PARAMETER. Zorg dat hij ook op de juiste plek in de language module komt (Module:Layout/Production/Language/Nl) in de naam van de geïnstalleerde taal. Daarna kan men door een functie aan te maken of aan te passen in Module:Layout/Production/Interface/Frisk de inhoud van deze parameter checken en de foutmelding met eventuele parameters teruggeven als return waarde. Bij een fout zal het programma vanzelf verder uitvoering voorkomen en op grond van ingestelde support een foutmelding weergeven. Daarna kan men de inhoud converteren en/of aanvullen zodat het voor verder gebruik veilig en volledig is als inventaris (Module:Layout/Production/Model/Inventory). Het streven is dat de gegevens uit het model zonder verdere modificatie zijn te gebruiken bij de weergave (view). Test de parameter zeer grondig als bouwsteen ook voor andere objecten en voeg de juiste documentatie toe aan het sjabloon.
Wiki-objecten toevoegen of Wijzigen | |||||
---|---|---|---|---|---|
Configuratie/Hook (Vereist) | Frisk (Vereist) | Language (Vereist) | Inventory (Optioneel) | Test (Vereist) | Sjabloon (Vereist) |
|
|
|
|
|
|
Aanroep
[bewerken]De interface van de module vindt men onderin de code en gebeurt via de aanroep {{#Invoke:Layout|main|...}} en dan kiest of de gebruiker of het systeem zelf op grond van pagina-eigenschappen welke type pagina het is.
Tests
[bewerken] In Module:Layout/Production/Test worden de tests gespecificeerd die zijn uitgevoerd.
Zie ook
[bewerken]- Voor meer informatie over LUA modules zie de de extensie Scribunto.