Courses » Historie » Verze 6

Verze 5 (Jakub Jirůtka, 2011-11-17 22:25) → Verze 6/12 (Jakub Jirůtka, 2012-07-12 18:53)

h1. Předměty

{{>toc}}

Rozlišují se dvě entity předmětu - předmět (course) a tzv. instance předmětu (coursin). První obsahuje všechny statické údaje předmětu jako je název, způsob zakončení, anotace, osnovy apod. Tyto údaje by měly být po dobu existence předmětu neměnné. Instance předmětu je pak konkrétní instance vypsaná v semestru (tzv. „semestropředmět“) a obsahuje proměnné údaje jako je kapacita, počet obsazených míst apod.

h2. GET /courses

Vrátí všechny předměty vyučované na ČVUT. Výchozí hodnota parametru [[URLParameters#sem|sem]] je _none_, což zde znamená, že se vypíší pouze obecné atributy platné pro předmět samotný, nikoli jeho instanci v semestru.

Pomocí parametru [[URLParameters#sem|sem]] lze vyfiltrovat pouze ty předměty, které jsou/byly vypsané (tzn. existuje jejich instance) v alespoň jednom z daných semestrů (např. _sem=current_ pro aktuální semestr). Zároveň se vypíší i atributy instance předmětu pro dané semestry.

Vysvětlení k parametru _detail_ viz dále.

* *URI:* {{base_url}}/api/3/courses/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Course]]
* *Formáty:* [[atom]], [[xml]]
* *Parametry:* [[URLParameters#detail|detail]], [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#startIndex|startIndex]], [[URLParameters#maxResults|maxResults]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]]

h2. GET /courses/{code}

Vrátí konkrétní předmět podle jeho kódu. Výchozí hodnota parametru [[URLParameters#sem|sem]] je _none_, což zde znamená, že se vypíší pouze obecné atributy platné pro předmět samotný, nikoli jeho instanci v semestru.

Pomocí parametru [[URLParameters#sem|sem]] lze zároveň zobrazit i atributy instance * *URI:* {{base_url}}/api/3/courses/{code}/
* *Typ zdroje:* Atom Entry
* *Typ obsahu:* [[Course]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód
předmětu ve vybraném semestru (např. _sem=current_ pro aktuální semestr). Pakliže předmět není/nebyl vypsaný v žádném z daných semestrů (tzn. neexistuje jeho instance pro tyto semestry), tak vrátí kód 404 (Not Found).
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/texts


Ve výchozím nastavení se nevypisují popisné Vrátí texty daného předmětu (např. osnova přednášek, požadavky, …), jelikož jejich načítání (anotace, osnovy apod.)

Pozn.: _Získání těchto dat
je pomalé a hodně navyšují velikost vráceného XML. Pro vypsání i popisných textů lze použít parametr _[[URLParameters#detail|detail]]=1_. databázově poměrně drahé, proto jsou odděleny do samostatného zdroje._

* *URI:* {{base_url}}/api/3/courses/{code}/ {{base_url}}/api/3/courses/{code}/texts/
* *Typ zdroje:* Atom Entry
* *Typ obsahu:* [[Course]] [[CourseTexts]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu
* *Parametry:* [[URLParameters#detail|detail]], [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]]

h1. Instance předmětů

h2. GET /courses/{code}/examDates /courses/{code}/instances

Vrátí zkouškové termíny (instance) všechny instance daného předmětu.

* *URI:* {{base_url}}/api/3/courses/{code}/instances/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Coursin]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód
předmětu a)
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/instances/{semester}

Vrátí danou instanci předmětu podle jeho kódu a semestru.

* *URI:* {{base_url}}/api/3/courses/{code}/instances/{semester}/
* *Typ zdroje:* Atom Entry
* *Typ obsahu:* [[Coursin]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu, @{semester}@ kód semestru
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/instances/{semester}/examiners/

Vrátí zkoušející tohoto předmětu
v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_). daném semestru.

* *URI:* {{base_url}}/api/3/courses/{code}/examDates/ {{base_url}}/api/3/courses/{code}/instances/{semester}/examiners/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[ExamDate]] [[Teacher]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu, @{semester}@ kód semestru
*
*Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]] [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/parallels /courses/{code}/instances/{semester}/guarantors/

Vrátí paralelky (instance) garanty tohoto předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_). daném semestru.

* *URI:* {{base_url}}/api/3/courses/{code}/parallels/ {{base_url}}/api/3/courses/{code}/instances/{semester}/guarantors/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Parallel]] [[Teacher]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu, @{semester}@ kód semestru
*
*Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]] [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/students /courses/{code}/instances/{semester}/instructors/

Vrátí studenty zapsané na (instanci) cvičící tohoto předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem [[URLParameters#sem|sem]], c) nebo pro všechny semestry (parametr _sem=none_). daném semestru.

* *URI:* {{base_url}}/api/3/courses/{code}/students/ {{base_url}}/api/3/courses/{code}/instances/{semester}/instructors/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Student]] [[Teacher]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu, @{semester}@ kód semestru
*
*Parametry:* [[URLParameters#sem|sem]], [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#limit|limit]], [[URLParameters#locEnums|locEnums]], [[URLParameters#multilang|multilang]], [[URLParameters#offset|offset]], [[URLParameters#orderBy|orderBy]], [[URLParameters#query|query]] [[URLParameters#locEnums|locEnums]]

h2. GET /courses/{code}/instances /courses/{code}/instances/{semester}/lecturers/

Vrátí všechny instance daného předmětu. přednášející tohoto předmětu v daném semestru.

* *URI:* {{base_url}}/api/3/courses/{code}/instances/ {{base_url}}/api/3/courses/{code}/instances/{semester}/lecturers/
* *Typ zdroje:* Atom Feed
* *Typ obsahu:* [[Coursin]] [[Teacher]]
* *Formáty:* [[atom]], [[xml]]
* *Proměnné:* @{code}@ kód předmětu předmětu, @{semester}@ kód semestru
* *Parametry:* [[URLParameters#fields|fields]], [[URLParameters#lang|lang]], [[URLParameters#multilang|multilang]], [[URLParameters#locEnums|locEnums]]