Template for iSAQB Advanced Level Curricula
This is copyrighted work.
-
Either click on "Use this template" in the Github UI or Clone the repository - including the submodule:
Via SSH: git clone [email protected]:isaqb-org/advanced-template.git --recursive Via HTTPS: git clone https://github.com/isaqb-org/advanced-template.git --recursive
-
Rename the repository to the name of your curriculum e.g.
curriculum-flex
-
Rename the file
/docs/advanced-template.adoc
to the name of your curriculum e.g.curriculum-flex.adoc
(this is later on referred to ascurriculumFileName
) -
Open the file
./config/setup.adoc
to adjust configuration specific to your curriculum:-
:curriculum-short: MODULKUERZEL
: this is the abbreviation of your module. Replace MODULKUERZEL with your module name e.g. FLEX -
:curriculum-name: MODULNAME IN VOLLER LAENGE
: the full German title of your CPSA-A module. replace "MODULNAME IN VOLLER LAENGE" with your module name e.g. "Flexible Architecture Models - Microservices und Self-Contained Systems" -
:curriculum-name: MODULNAME IN VOLLER LAENGE
: the full English title of your CPSA-A module. replace "MODULNAME IN VOLLER LAENGE" with your module name e.g. "Flexible Architecture Models - Microservices and Self-Contained Systems"
-
-
Open the file
build.gradle
to adjust attributes specific to your curriculum:-
curriculumFileName
: the name of the asciidoc root file of your curriculum e.g.curriculum-flex
(see above! The.adoc
suffix is added automatically, omit it here!)
-
-
Open README.adoc and replace the string
curriculum-template
with the name of your Github repository e.g.curriculum-flex
-
Build the project with gradle (you need a locally installed JDK 17 or higher) via
./gradlew
. -
Once the "BUILD SUCCESSFUL" is show, you can review the build result under
./build/index.html
Requirement | Solution |
---|---|
Visually appealing pdf output |
We created an iSAQB pdf theme, located under the |
Multiple people contribute content, review and comment |
highly modularized content: Small chunks, like learning-goals or subsections, are contained in their own asciidoc-files. |
Multiple languages, at least EN and DE (i18n) |
Every piece of text is enclosed in tags like |
Simple conversion from asciidoc to pdf (and html) |
There is currently one option available:
|
TODO: Add explanation for keywords and general procedure when creating a new Advanced Level Curriculum.
You should know some details about the AsciiDoc include statement.
If the Asciidoctor processor encounters a statement like the one below:
include::directory/file.adoc[]
It will replace this include statement with the contents of file.adoc
. That’s easy and straightforward.
As we are writing i18n we need to strictly distiguish between two kind of files:
-
content files, they contain text, tables or diagrams that shall be included in the output.
-
structure files, containing only include-statements, configuration information. Structure files include both content-files and other structure files.
For content files, specific parts will be included via the tag-syntax described above.
For that purpose we define a variable named include_configuration
in the file config/setup.adoc
.
In theory, you can just use the docs/curriculum-template.adoc
as is and just
edit the section documents in the subdirectories. If you want to create your own file,
we recommend to stick with the following:
From docs/curriculum-template.adoc
(excerpts):
= Template Curriculum: CPSA Certified Professional for Software Architecture^(R)^
:doctype: book
include::config/setup.adoc[] // // (1)
:document-version: 2020.2 // //(2)
:sectnums!: // // (3)
include::00-preamble/copyright.adoc[{include_configuration}] // // (4)
<<< // // (5)
:toc:
<<<
:sectnums!:
include::00-preamble/00-introduction.adoc[] // //(6)
-
We propose to put the asciidoc configuration in this special file (
docs/config/setup.adoc
). -
You can set a version, but it may be overridden in the build process.
-
You can turn section numbering on and off (here: off).
-
This includes parts of the
docs/00-preamble/copyright.adoc
file. -
The
<<<
will create a pagebreak in pdf files. -
Include the whole file 00-introduction.adoc.
Prerequisite: You need a Java Runtime(tm) installed.
You build the output documents with gradle. That will produce both pdf and html output in German (DE) and English (EN), unless you modify the configuration.
In case you want to change that, adjust the following part of build.gradle
:
task buildDocs {
group 'Documentation'
description 'Grouping task for generating all languages in several formats'
dependsOn "renderDE", "renderEN"
}
In the task "renderDE", certain attributes (aka variables) are defined that configure the corresponding output.
This repository is currently maintained by Benjamin Wolf. It was forked from https://github.com/isaqb-org/curriculum-template, so the contributors of that project basically contributed to this one, too.