Technické specifikace
Tato stránka popisuje technické specifikace Courses. Jejím běžným užíváním a tvorbou obsahu se zaobírá sekce Tvorba obsahu pro kterou není znalost technických specifikací nutná.
Rozdělení
Platforma Courses se skládá ze několika částí:
- Rozcestník (na adrese
https://courses.fit.cvut.cz/
) - Stránky jednotlivých předmětů (např.
BI-XYZ
je umístěn podhttps://courses.fit.cvut.cz/BI-XYZ
)

Rozcestník
Rozcestník se nachází na úvodní stránce.[1] Umožňuje následující:
- Vyhledávání mezi předměty.
- Zobrazuje předměty, které uživatel studuje nebo učí.
- Zobrazuje shrnutí nejdůležitějších informací z propojených systémů jako jsou Fittable nebo Klasifikace na jednom místě.
- Zobrazuje aktuální novinky jednotlivých předmětů, které mohou vyučující sdílet prostřednictvím komponenty Novinky.
U předmětových stránek, které nevyužívají Courses pro publikování studijních materiálů, zajišťuje přesměrování z vyhledávání na jejich domovskou stránku (např. do systému Moodle).
Nastavení rozcestníku
Garanti předmětu mohou pro svůj předmět v rámci rozcestníku Courses určit následující parametry:
- Preferovanou platformu pro publikování studijních materiálů (Courses nebo Moodle).
- Preferovanou platformu pro klasifikaci (Grades, Progtest nebo Moodle).
- Zda všechny varianty předmětu sloučit do jedné předmětové stránky nebo zda má každá varianta vlastní stránku.
Žádost o změnu nastavení lze provést vytvořením issue v repozitáři https://gitlab.fit.cvut.cz/course-pages/signpost-data/.
Jako příklad uvádíme žádost o přesměrování z Courses na Moodle:

Předmětové stránky
Z pohledu jednotlivých předmětových stránek je platforma Courses implementací univerzálnějšího systému PagesFIT, který slouží k obecnému vytváření a publikování statických HTML stránek.
Courses pro vytváření výsledného HTML využívá vlastní generátor obsahu – Generátor Course Pages. Ten převádí soubory podporovaných formátů do finální HTML podoby, jak ji znáte na stránkách jednotlivých předmětů (viz https://courses.fit.cvut.cz/).[2]

PagesFIT mimo vlastní generování také zajišťuje zcela automatické publikování na HTTP(S) server, správu přihlašování s pomocí SSO, oprávnění apod.
Vytvoření předmětu
Manuální vytvoření nové předmětové stránky (např. při vzniku předmětu).
Varování:
Toto nastavení provádí za vyučující oddělení ICT, více viz Vznik nového předmětu.
Pro vytvoření a konfiguraci stránky nového předmětu využijte následující postup:
Proveďte fork projektu se vzorovým předmětem do jmenného prostoru požadované předmětové skupiny.[3] Název projektu musí začínat kódem předmětu a mezerou, následovat může libovolně například
Pages
neboMaterials
atd.Obrázek 4. Výběr jmenných prostorů, ke kterým má uživatel přístup. Zkontrolujte nastavení v souboru
.gitlab-ci.yml
, ten musí obsahovat následující deploy job.Ukázka 1. Ukázka gitlab-ci.yml s požadovaným deploy jobem. # Build pages and deploy to courses.fit.cvut.cz course-pages: stage: deploy image: gitlab.fit.cvut.cz:5000/course-pages/course-pages:stable script: - course-pages public/ artifacts: paths: - public expire_in: 1 hour
Nastavte konfigurační soubor
course-pages.yml
dle potřeb nově vznikající předmětu. Následující ukázka obsahuje pouze minimální nutné množství konfigurace.Ukázka 2. Ukázka course-pages.yml s minimálním množstvím konfigurace. Upravte dle potřeb předmětu. course: code: BI-NEW altCodes: [ BIK-NEW ] name: Vzorový předmět language: cs repository: gitlabPath: /course-pages/example 1 navigation: hiddenFiles: - files/ - media/ - README.* excludedFiles: - /public
- Cesta k repozitáři. Standardně se jedná o složení skupiny a názvu projektu. Například pro BI-ZMA s URL
https://gitlab.fit.cvut.cz/BI-ZMA/bi-zma/
bude cesta/BI-ZMA/bi-zma
.
Více ke konfiguraci viz Konfigurační soubor.
- Cesta k repozitáři. Standardně se jedná o složení skupiny a názvu projektu. Například pro BI-ZMA s URL
Povolte pipelines. Přejděte do Settings › General › Permissions a u Pipelines zvolte Everyone With Access [4]
Obrázek 5. Přehled oprávnění v projektu. - Nastavte integrace přidáním nového webhooku. Přejděte do Settings › Integrations a nastavte následující položky:
- Po dokončení běhu pipeline bude výsledná podoba k naleznutí na
courses.fit.cvut.cz/<KOD PREDMETU>
Šablona nového předmětu
Ukázkový předmět, resp. šablona nového předmětu, se nachází na https://gitlab.fit.cvut.cz/course-pages/course-starter a výslednou podobu je možné si prohlédnout na https://courses.fit.cvut.cz/BI-NEW/.
- Odkaz na repozitář https://gitlab.fit.cvut.cz/course-pages/signpost-app ↩
- Využívání Generátoru Course Pages je při tvorbě předmětu na platformě Courses nezbytné. Vzhledem ke konfiguračním závislostem není možné v rámci Courses využívat generátory obsahu třetích stran. ↩
- Uživatel musí mít dané skupině oprávnění alespoň Maintainer. ↩
- Alternativně lze zvolit Only Team Members. ↩