Index dle názvu

Studijní obor

Klíčový zdroj: /branches/{id}
XSI typ: kos:branch

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
abbrev zkratka string ≤ 20 zn.
capacity kapacita integer 1–9999 kapacita oboru (počet studentů)
code kód string ≤ 8 zn. identifikátor oboru (není unikátní!)
description charakteristika string ML
diplomaName oficiální název string ML ≤ 100 zn. název oboru pro tisk na diplom
division středisko Division středisko, které obor vypsalo
guarantor garant Person
name název string ML ≤ 100 zn.
openForAdmission otevřený pro přijímačky boolean true pokud se má obor nabízet v přijímacím řízení
validFrom platnost od date od kdy je obor platný
validTo platnost do date do kdy je obor platný

Studijní obory

Studijní program může mít jeden či více studijních oborů, jeden obor může náležet více programům. Některé obory mají spíše význam studijní etapy, např. společný první ročník před rozdělením do oborů. Na některých fakultách obory nemají, např. na architektuře.

GET /branches

Vrátí všechny studijní obory.

GET /branches/{id}

Vrátí zadaný studijní obor.

GET /branches/{id}/studyPlans

Vrátí studijní plány asociované se zadaným studijním oborem.


Přehled změn

2015-05-15

2015-04-22

2015-03-26

2014-12-08

2014-12-03

2014-11-13

2014-11-10

2014-07-24

2014-06-24

2014-05-06

2014-04-24

2014-03-26

2014-03-25

2014-03-10

2014-03-03

2014-02-17

2013-11-04

2013-10-02

2013-09-30

2013-11-04

2013-07-29

2013-04-11

2013-04-09

2013-04-08

2013-03-25


Jazyk výuky

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
CS čeština Czech CS
DE němčina German DE / GE
EN angličtina English EN
ES španělština Spanish SP
FR francouzština French FR
PL polština Polish PO
RU ruština Russian RU
SK slovenština Slovak SL
UNDEFINED neurčen undefined OO

Metoda výuky

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
ATELIER ateliér Atelier A
BLOCK bloková výuka Block Teaching B
CONSULTATION konzultace Consultation K
LABORATORY laboratoř Laboratory L
LECTURE přednáška Lecture P
PROJECT projekt Project PR
PROJECT_INDV projekt (individuální) Project (individual) PRI
PROJECT_TEAM projekt (týmový) Project (team) PRT
PROSEMINAR proseminář Proseminar R
PT_COURSE Kurz TV Physical Education Course TVK
SEMINAR seminář Seminar S
TUTORIAL cvičení Tutorial C
UNDEFINED nedefinovaný Undefined

Klientské knihovny


Způsob zakončení předmětu

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
CLFD_CREDIT klasifikovaný zápočet Graded Assessment KZ
CREDIT zápočet Assessment Z
CREDIT_EXAM zápočet a zkouška Assessment + Examination Z,ZK
DEFENCE obhajoba Defence O
EXAM zkouška Exam Z
NOTHING nic Nothing NIC
UNDEFINED nedefinovaný Undefined

Typy obsahu

Seznam všech typů obsahu:


Předmět

Klíčový zdroj: /courses/{code}
XSI typ: kos:course

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
allowedEnrollmentCount povolený počet zapsání integer 1-99 kolikrát za studium si student může daný předmět zapsat (typicky 2x)
approvalDate datum schválení date
classesLang jazyk výuky ClassesLang
classesType metody výuky ClassesType* udává, zda má předmět přednášky, cvičení apod.
code kód string NN, UQ, ≤ 20 zn. unikátní identifikátor předmětu
completion způsob zakončení Completion NN
credits kredity integer 0-999
department zodpovědné středisko Division NN středisko (většinou katedra), pod kterou předmět patří
description 1 anotace string ML
homepage webové stránky string ≤ 250 zn. pokud se nevypisuje, tak to znamená, že v KOSu není příslušný záznam vyplněn
keywords klíčová slova string ML ≤ 500 zn. klíčová slova charakterizující předmět (oddělená čárkami)
lecturesContents 1 osnova přednášek string ML
literature 1 literatura string ML seznam doporučené literatury
name název string ML NN cs, ≤ 100 zn.
note poznámka string ML ≤ 2000 zn.
objectives 1 cíle string ML
programmeType typ programu ProgrammeType typ studijního programu, pro který je předmět primárně určen; prázdný pokud je určen pro více typů (pouze doplňkový atribut, vlastnost je dána ze vztahu předmětu k programu)
range rozsah string ≤ 5 zn. udává časovou dotaci výukových hodin; obsahuje hodnoty typu: [0-9]+[dpcslj](\+[0-9]+[pcslj]?)?; nelze jednoznačně strojově dekódovat, protože se tu míchají hodnoty počet/měsíc a počet/semestr bez nějakého odlišení.
requirements 1 požadavky string ML
season sezóna Season část školního roku, ve kterém se předmět vypisuje (letní/zimní/oba)
state stav CourseState NN stav v „životním cyklu“ předmětu
studyForm forma studia StudyForm forma studia, pro kterou je předmět určen
superiorCourse nadřízený předmět Course nadřízený předmět (tzv. superpředmět)
subcourses/course podřízené předměty ( ➞Course* ) může mít pouze superpředmět
tutorialsContents 1 osnova cvičení string ML
instance 2 instance předmětu ( Instance* )

1 vypíše se pouze při detail=1
2 vypíše se pouze při sem ≠ none

Instance předmětu

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
semester semestr Semester NN
capacity [@of='instance’] kapacita inst. předmětu integer 1 – 99999
capacity [@of='tutorial’] kapacita cvičení integer 1 – 99999
capacityOverfill překročení kapacity Permission příznak určující, zda je povoleno překročení kapacity předmětu
occupied počet obsazených míst integer 1 – 99999 kolik studentů má předmět zapsaný
examiners/teacher zkoušející ( ➞Teacher* )
guarantors/teacher garanti ( ➞Teacher* )
instructors /teacher cvičící ( ➞Teacher* )
lecturers/teacher přednášející ( ➞Teacher* )

Jednorázová akce předmětu

Klíčový zdroj: /courseEvents/{id}
XSI typ: kos:courseEvent

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
targetBranch cílový obor Branch* studijní obory, pro které je akce určena
capacity kapacita integer kapacita akce (počet studentů)
course předmět Course
creator vypsal Teacher vyučující, který akci vypsal
endDate konec dateTime
name název string ML NN cs, ≤ 100 zn.
note poznámka string ML ≤ 250 zn.
occupied počet obsazených míst integer počet přihlášených studentů
room místo konání Room
semester semestr Semester
signinDeadline uzávěrka přihlášení date
startDate začátek dateTime NN

Jednorázové akce předmětů

Jednorázové akce slouží například pro vypisování zápočtových testů, hromadných zápisů apod.

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /courseEvents

Vrátí všechny jednorázové akce.

GET /courseEvents/{id}

Vrátí jednorázovou akci podle jejího ID.

GET /courseEvents/{id}/attendees

Vrátí studenty přihlášené na akci.


Stav předmětu

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
PROPOSED navržený Proposed N
APPROVED schválený Approved S
OPEN vypsaný (otevřený) Open V
CLOSED uzavřený (zrušený) Closed U
UNDEFINED nedefinovaný Undefined

Předměty

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.

GET /courses

Vrátí všechny předměty vyučované na ČVUT. Výchozí hodnota parametru 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 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.

GET /courses/{code}

Vrátí konkrétní předmět podle jeho kódu. Výchozí hodnota parametru 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 sem lze zároveň zobrazit i atributy instance 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).

Ve výchozím nastavení se nevypisují popisné texty předmětu (např. osnova přednášek, požadavky, …), jelikož jejich načítání je pomalé a hodně navyšují velikost vráceného XML. Pro vypsání i popisných textů lze použít parametr detail=1.

GET /courses/{code}/events

Vrátí jednorázové akce (instance) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /courses/{code}/exams

Vrátí zkouškové termíny (instance) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /courses/{code}/parallels

Vrátí paralelky (instance) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /courses/{code}/students

Vrátí studenty zapsané na (instanci) předmětu a) v aktuálním semestru, b) ve zvolených semestrech parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /courses/{code}/instances

Vrátí všechny instance daného předmětu – pouze atributy instance, nikoli obecné předmětu. Ve většině případech budete chtít použít spíše zdroj /courses/{code} s parametrem sem.

GET /courses/{code}/branches

Vrátí všechny studijní obory, ve kterých je daný předmět zařazený.


Skupina předmětů

Klíčový zdroj: /coursesGroups/{code}
XSI typ: kos:coursesGroup

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
approved schválená boolean true pokud je skupina schválená
code kód string 0–99
coursesMaxLimit horní limit počtu předmětů integer 0–99 Maximální počet předmětů, který se započítá do absolvovaných předmětů při hodnocení studijního plánu.
coursesMinLimit spodní limit počtu předmětů integer 0–9999 Minimální počet předmětů, který student musí absolvovat, aby splnil požadavky na skupinu při hodnocení studijního plánu.
creditsMaxLimit horní limit počtu kreditů integer 0–9999 Maximální počet kreditů, který se započítá do získaných kreditů při hodnocení studijního plánu.
creditsMinLimit spodní limit počtu kreditů integer Minimální počet kreditů, který student musí získat, aby splnil požadavky na skupinu při hodnocení studijního plánu.
name název string ML ≤ 100 zn.
note poznámka string ML ≤ 2000 zn.
role role ve studijním plánu string ≤ 20 zn. Role skupiny předmětů ve studijním plánu.
courses/course předměty ve skupině ( ➞Course* ) Element course obsahuje atribut recommendedSemester s pořadovým číslem semestru, ve kterém je doporučeno předmět absolvovat.

Skupiny předmětů

GET /coursesGroups

Vrátí všechny skupiny předmětů.

GET /coursesGroups/{code}

Vrátí konkrétní skupinu předmětů podle jejího kódu.


Instance předmětu

Klíčový zdroj: /courses/{code}/instances/{semester}
XSI typ: kos:coursin

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
capacity kapacita integer ≤ 99 999 kolik studentů si ho může zapsat
capacityOverfill překročení kapacity Permission příznak určující, zda je povoleno překročení kapacity předmětu (podle stavu zápisu počet
zapsaných studentů může překročit kapacitu předmětu, anebo ne)
course předmět Course NN
occupied obsazených míst integer ≤ 99 999 počet studentů, kteří mají předmět zapsaný
semester semestr Semester NN
tutorialCapacity kapacita cvičení integer ≤ 999
examiners/teacher zkoušející (➞Teacher*)
guarantors/teacher garanti (➞Teacher*)
instructors/teacher cvičící (➞Teacher*)
lecturers/teacher přednášející (➞Teacher*)

Soubor na DSpace

XSI typ: kos:dSpaceFile

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
author autor Teacher Autor posudku; používá se pouze u souborů typu posudek.
type typ souboru DSpaceFileType NN
url URL souboru string URL souboru na https://dspace.cvut.cz/.

Typ DSpace souboru

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
ATTACHMENT příloha Attachment PRILOHA
REVIEW posudek Review POSUDEK
THESIS text práce Thesis PRACE

Datová omezení

TODO


Organizační jednotka

Klíčový zdroj: /divisions/{code}
XSI typ: kos:division

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
abbrev zkratka string ML ≤ 4 zn.
code kód string NN, UQ, ≤ 15 zn. unikátní kód organizační jednotky
name název string ML NN cs, ≤ 200 zn.
parent nadřízená jednotka Division
divisionType typ DivisionType NN

Typ organizační jednotky (střediska)

{{sortable_table}}
Identifikátor Český název Anglický název
RECTORATE rektorát Rectorate
FACULTY fakulta Faculty
DEPARTMENT katedra Department
INSTITUTE institut Institute
UNDEFINED nedefinovaný Undefined

Institut se v KOSu se nazývá „podkatedra“, ale v hiearchii středisek není pod katedrou, nýbrž pod fakultou.


Střediska

Střediska či organizační jednotky (v terminologii KOSu jde o nákladová střediska) tvoří rektorát, fakulty, katedry a tzv. podkatedry. Záznamy jsou uspořádány ve stromové struktuře.

GET /divisions

Vrátí všechna střediska.

GET /divisions/{code}

Vrátí středisko podle jeho kódu.

GET /divisions/{code}/courses

Vrátí všechny předměty zajišťované daným střediskem nebo jeho podstředisky (rekurzivně).

GET /divisions/{code}/subdivisions

Vrátí všechna střediska podřízená danému středisku.

GET /divisions/{code}/teachers

Vrátí všechny vyučující, kteří spadají pod dané středisko nebo jeho podstřediska (rekurzivně).


Výčtové typy

Seznam všech výčtových typů:


ER model

Tento diagram zachycuje vztahy jednotlivých entit v KOSapi, resp. vybrané části databáze KOS.

Stáhnout v PDF


Zkouškový termín

Klíčový zdroj: /exams/{id}
XSI typ: kos:exam

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
cancelDeadline uzávěrka odhlášení date
capacity kapacita integer NN, 0–999
course předmět Course
TODO Příznak udávající, zda se na termín mohou přihlásit i studenti, kteří z daného předmětu ještě nemají zápočet.
department zodpovědné katedra Division Katedra, která termín vypsala.
endDate konec termínu dateTime
examiner zkoušející Teacher DEPRECATED: Použijte element examiners. Pokud termín zkouší více lidí, tak je prázdný.
examiners/teacher zkoušející (➞Teacher*) Pokud obsahuje více vyučujících, tak to neznamená, že všichni z nich skutečně budou na termínu zkoušet. KOS umí evidovat pouze jednoho zkoušejícího, nebo všechny zkoušející předmětu.
note poznámka string ≤ 200 zn.
occupied počet obsazených míst integer NN, 0–999 Počet studentů přihlášených na termín.
resit opravný termín? boolean Příznak udávající, zda je termín určený výhradně studentům, kteří neuspěli na některém předchozím termínu.
room místo konání Room
semester semestr Semester
signinDeadline uzávěrka přihlášení date
startDate začátek termínu dateTime
substitutes náhradníci Permission Příznak udávají, zda se na termín mohou hlásit i náhradníci, tj. nad kapacitu termínu.
superior nadřízený termín Exam
termType typ termínu TermType Zkoušový, nebo zápočtový termín.

Zkouškové termíny

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /exams

Vrátí všechny zkouškové termíny.

GET /exams/{id}

Vrátí zkouškový termín podle jeho ID.

GET /exams/{id}/attendees

Vrátí studenty přihlášené na termín.


Často kladené dotazy (FAQ)

Co znamená kód semestru?

Kód semestru má tvar CYYS, kde C značí století (A = 20. století, B = 21. století), YY dvojčíslí roku a S semestr (1 = zimní, 2 = letní). Například zimní semestr roku 2010 se označuje B101.

Jak je to s nulovými elementy?

Pokud je atribut prázdný (null), tak se příslušný element ve výstupu nevypíše.

Proč zpracování prvního požadavku trvá 5-10 s, ale další už je okamžitý?

K tomuto někdy dochází při autentizaci proti LDAP. Zpoždění způsobuje spojení mezi serverem a LDAP databází.

Kam se poděl export iCalendar? Bude i v nové verzi?

V aktuální verzi KOSapi již není. Tato funkcionalita se implementuje v rámci projektu Sirius jako samostatná služba, která řeší i přesuny výuky, sjednocení harmonogramů různých fakult a další potíže spojené s rozvrhováním.

Bude KOSapi-3 podporovat i formát JSON?

Je to v plánu, ale otázka je, kdy se na to dostane čas. Zároveň je v plánu zjednodušení stávajícího XML formátu.


Harmonogram semestru

Harmonogram fází semestru vzhledem ke stavovým parametrům v KOS.

Parametry KOS

Přehled parametrů v tabulce TNASTAVENI, které řídí stavy KOSu.

Stavy zápisu (STAVZAP)

  1. Předběžná nabídka předmětů (bez kapacity). [NP]
  2. Předběžný zápis předmětů (objednávka studenta). [PZ]
  3. Vypisování předmětů (s kapacitou). [VP]
  4. Závazný zápis předmětů. [ZZ]
  5. Zápisy uzavřeny. [ZU]

Stav NP na FIT nepoužíváme, nemá na nic vliv. Dříve se používal k vymezení období, kdy katedry mohly vypsat pro nový semestr nabídku předmětů. Ukázalo se, že je to moc omezující, takže katedra teď může vypsat další předmět kdykoli, i do AKTSEM uprostřed semestru (například předmět s blokovou výukou).

Harmonogram

1. Začátek semestru

První den nového semestru.

Parametry:

AKTSEM = kód aktuálního semestru
AKTSEM2 = AKTSEM - 1

2. Uzavření klasifikace za minulý semestr

Konec 1. týdne semestru (FIT).

Parametry::

AKTSEM2 = AKTSEM

3. Zamknutí rozvrhů

Konec 2. týdne semestru.

Parametry::

ROZUZAVST -> datum

4. Vypisování nabídky předmětů pro příští semestr

Týden před otevřením předběžných zápisů předmětů (FIT).

Parametry::

PRISEM = AKTSEM + 1

5. Otevření předběžných zápisů předmětů

Typicky kolem 6. týdne semestru (FIT).

Parametry::

STAVZAP = PZ

6. Ukončení předběžných zápisů předmětů

Typicky kolem 9. týdne semestru (FIT).

Parametry::

STAVZAP = VP

7. Začátek zkouškového období

Po 13. týdnu semestru.

8. Je připravený rozvrh pro příští semestr

Typicky 1-2 týdny před závaznými zápisy předmětů.

Parametry::

SEMPROROZ = AKTSEM + 1

9. Začátek závazných zápisů předmětů a otevření rozvrhu

Typicky ve 1/3 zkouškového období.

Parametry::

STAVZAP = ZZ
ZROTEVST = aktuální datum
ROZUZAVST = datum konce 2. týdne příštího semestru

10. Konec semestru

Oficiálně ke konci posledních úředních hodin aktuálního semestru (FIT).

Parametry::

STAVZAP = ZU


History

TODO

Památného dne 9. 3. 2012 jsme po více než 9 měsících složitých jednání konečně získali přístup k databázovým pohledům v KOSu.


Databázové pohledy v KOS

Seznam pohledů

Název pohledu Popis Zdrojové tabulky Omezení
VFF_OSOBY Pohled nad VFF_OSOBY_MATVIEW VFF_OSOBY_MATVIEW
VFF_OSOBY_MATVIEW Materializovaný pohled obsahující vybrané základní údaje o osobách TEKOSOBY, TUCITEL, TSTUDENTI, TTYPVYUC, TPREDMETY, TZAPUZPRED omezeno na osoby fakulty a osoby studující nebo učící předmět fakulty
VFF_PRED_METVYUKY Pomocný pohled pro metody výuky předmětu dekomponované z TPREDMETY.metoda_vyuky TPREDMETY bez omezení
VFF_PREDPROG Vazební pohled, pro jaké programy je předmět určen TPREDMETY, TPROGRAMY bez omezení
VFF_PREDSEMPROG Vazební pohled, pro jaké programy je vypsaný předmět určen TPREDSEM, TPROGRAMY bez omezení
VFF_ROZPAR_NAVAZ Vazební pohled pro navazující paralelky VFF_TROZPAR bez omezení
VFF_ROZPAR_UCITEL Vazební pohled pro učitele rozvrhové paralelky VFF_TROZPAR bez omezení
VFF_STUD_OSOBY Pohled nad VFF_STUD_OSOBY_MATVIEW VFF_STUD_OSOBY_MATVIEW
VFF_STUD_OSOBY_MATVIEW Pomocný materializovaný pohled k VFF_TSTUDENTI obsahující předpočítané „pořadové číslo“ studia dané osoby a omezení pro FITAGENT a FELAGENT TSTUDENTI, TZAPUZPRED omezeno na studenty fakulty a studenty předmětů fakulty
VFF_STUDLISTKY Vazební pohled pro rozvrhové lístky studentů TSTUDENTI, TZAPUZPRED, TROZPAR, TROZLIST bez omezení
VFF_STUDPAR Vazební pohled pro paralelky studentů TSTUDENTI, TZAPUZPRED, TROZPAR bez omezení
VFF_TCISDAT Uživatelské číselníky TCISDAT bez omezení
VFF_TEKNS Organizační jednotky – střediska TEKNS bez omezení
VFF_TEKTYPSTR Číselník typů org. jednotek TEKTYPSTR bez omezení
VFF_TJEDNRT Jednorázové akce TJEDNRT omezeno na fakultu
VFF_TJEDNRTZK Vazební pohled pro přihlášené studenty na jednorázové akce TJEDNRTZK bez omezení
VFF_TLIST1 Číselník jednoznakových výčtových typů TLIST1 bez omezení
VFF_TMJMIST Místnosti TMJMIST bez omezení
VFF_TNASTAVENI Parametry komponenty TNASTAVENI bez omezení
VFF_TNAVAZPL Vazební tabulka k navazujícím studijním plánům TNAVAZPL bez omezení
VFF_TOBORPROG Vazební tabulka, která určí, který obor do jakých programů patří TOBORPROG bez omezení
VFF_TOBORYST Studijní obory (s vloženými texty z TTEXTY) TOBORYST, TTEXTY_CLOB bez omezení
VFF_TOKENKA Okénka – souvislé intervaly v místnosti TOKENKA bez omezení
VFF_TOKRUHY Tématické okruhy pro závěrečné práce TOKRUHY bez omezení
VFF_TPREDMETY Registr učebních předmětů TPREDMETY bez omezení
VFF_TPREDMETY_TEXTY Pomocný pohled pro předměty – dlouhé texty najoinované z TTEXTY TPREDMETY, TTEXTY_CLOB bez omezení
VFF_TPREDSEM Vypsané předměty po semestrech (bez těch ze semestrů označených jako smazané nebo „pro uznané“) TPREDSEM, TSEMESTRY bez omezení
VFF_TPREDSEZ Seznamy předmětů – pro různé kontroly TPREDSEZ bez omezení
VFF_TPREDSKUP Předmět ve skupině TPREDSKUP bez omezení
VFF_TPROGRAMY Studijní programy (s vloženými texty z TTEXTY) TPROGRAMY, TTEXTY_CLOB bez omezení
VFF_TROZLIST Rozvrhové lístky TROZLIST bez omezení
VFF_TROZPAR Rozvrhové paralelky TROZPAR bez omezení
VFF_TSEMESTRY Semestry (zápisová období) TSEMESTRY bez omezení
VFF_TSEMPRPRED_P Předměty v průchodu studiem TSEMPRPRED bez omezení
VFF_TSEMPRPRED_S Skupiny předmětů v průchodu studiem TSEMPRPRED bez omezení
VFF_TSKUPRED Skupiny předmětů TSKUPRED bez omezení
VFF_TSKUPRSTPL Vazební tabulka, která skupina do jakého stud. plánu patří TSKUPRED bez omezení
VFF_TSTPLANY Studijní plány TSTPLANY bez omezení
VFF_TSTPRUCH Průchody studiem TSTPRUCH bez omezení
VFF_TSTUDENTI Vybrané základní údaje o studentech TSTUDENTI, VFF_STUD_OSOBY_MATVIEW omezeno na studenty fakulty a studenty předmětů fakulty
VFF_TSTUDTO Vazební tabulka obsahující vazbu mezi studentem a tématickým okruhem TSTUDENTI - TOKRUHY TSTUDTO bez omezení
VFF_TTEMDP Témata závěrečných prací TTEMDP bez omezení
VFF_TTEXTY Dlouhé texty (např. anotace předmětů) TTEXTY_CLOB bez omezení
VFF_TTYPVYUC Vazební pohled zachycující vztah učitel – předmět – semestr TTYPVYUC, VFF_OSOBY_MATVIEW omezeno podle VFF_OSOBY
VFF_TUCITEL Učitelé TUCITEL, VFF_OSOBY_MATVIEW omezeno podle VFF_OSOBY
VFF_TVYPTERM Vypsané zkouškové termíny TVYPTERM, ? omezeno na termíny fakulty a termíny předmětů zapsaných studenty fakulty
VFF_TVZTPRED Vztahy mezi předměty (např. prerekvizita, korekvizita, …) TVZTPRED bez omezení
VFF_TZKOUSKY Účast (i potenciální) studenta na zkoušce TZKOUSKY, TPREDMETY, TSTUDENTI omezeno podle předmětů fakulty a studentů fakulty
VFF_TZKOUSKY_NAHR Přihláška studenta na zkoušku jakožto náhradníka TZKOUSKY_NAHR, TVYPTERM omezeno podle předmětů fakulty a studentů fakulty
VFF_ZAPPRED Vybrané údaje ze zapsaných a uznaných předmětů studenta TZAPUZPRED, TPREDMETY omezeno podle studentů fakulty a studentů předmětů fakulty

Popis sloupců

VFF_OSOBY

Název pohledu Název sloupce Popis
VFF_OSOBY peridno ID osoby
VFF_OSOBY osobni_cislo osobni cislo
VFF_OSOBY prijmeni prijmeni
VFF_OSOBY jmeno jmeno
VFF_OSOBY titul titul
VFF_OSOBY titul_za titul za jmenem
VFF_OSOBY kdozap kdo udelal posledni zmenu
VFF_OSOBY kdyzap kdy byl zaznam naposledy zmenen
VFF_OSOBY username uzivatelske jmeno
VFF_OSOBY uzivatel uzivatelske jmeno majitele zaznamu

VFF_PRED_METVYUKY

Název pohledu Název sloupce Popis
VFF_PRED_METVYUKY predmet_id ID predmetu TPREDMETY.id
VFF_PRED_METVYUKY metoda_vyuky kod metody vyuky z TPREDMETY.metoda_vyuky TCISDAT.kod (cis= METODAVYUKY)

VFF_PREDPROG

Název pohledu Název sloupce Popis
VFF_PREDPROG predmet_id ID predmetu TPREDMETY.id
VFF_PREDPROG program_id ID programu TPROGRAMY.id

VFF_PREDSEMPROG

Název pohledu Název sloupce Popis
VFF_PREDSEMPROG sem_id kod semestru TSEMESTRY.id
VFF_PREDSEMPROG predmet_id ID predmetu TPREDSEM.predmet_id
VFF_PREDSEMPROG program_id ID programu TPROGRAMY.id

VFF_ROZPAR_NAVAZ

Název pohledu Název sloupce Popis
VFF_ROZPAR_NAVAZ rp_id ID rozvrhove paralelky TROZPAR.rp_id
VFF_ROZPAR_NAVAZ navaz_rp_id ID navazujici rozvrhove paralelky TROZPAR.rp_id
VFF_ROZPAR_NAVAZ navaz_typrp typ rozvrhove paralelky TLIST1.hodnota (polozka=TYPROZP)

VFF_ROZPAR_UCITEL

Název pohledu Název sloupce Popis
VFF_ROZPAR_UCITEL rp_id ID rozvrhove paralelky TROZPAR.rp_id
VFF_ROZPAR_UCITEL ucitel_id ID vyucujiciho, ktery uci tuto paralelku TUCITEL.peridno
VFF_ROZPAR_UCITEL hodn hodinovy podil ucitele na vyuce (procenta)
VFF_ROZPAR_UCITEL poradi poradove cislo X zdrojoveho sloupce (ucitelX, ucitelX_hodn), kde 0 < X < 5

VFF_STUD_OSOBY

Název pohledu Název sloupce Popis
VFF_STUD_OSOBY stud_id ID studenta (TSTUDENTI.id)
VFF_STUD_OSOBY osoba_id ID osoby (TEKOSOBY.peridno)
VFF_STUD_OSOBY cislo_studia poradove cislo studia dane osoby
VFF_STUD_OSOBY uzivatel uzivatelske jmeno majitele zaznamu (FITAGENT/FELAGENT)

VFF_STUDLISTKY

Název pohledu Název sloupce Popis
VFF_STUDLISTKY stud_id ID studenta
VFF_STUDLISTKY os_id ID osoby
VFF_STUDLISTKY rlid ID rozvrhoveho listku
VFF_STUDLISTKY sem_id kod semestru
VFF_STUDLISTKY zpred_id ID zaznamu v TZAPUZPRED

VFF_STUDPAR

Název pohledu Název sloupce Popis
VFF_STUDPAR stud_id ID studenta
VFF_STUDPAR os_id ID osoby
VFF_STUDPAR rp_id ID rozvrhove paralelky
VFF_STUDPAR sem_id kod semestru

VFF_TCISDAT

Název pohledu Název sloupce Popis
VFF_TCISDAT cis kod ciselniku
VFF_TCISDAT kod hodnota
VFF_TCISDAT nazev popis hodnoty cesky
VFF_TCISDAT zkr zkratka
VFF_TCISDAT alt alternativni hodnota
VFF_TCISDAT par parametr
VFF_TCISDAT nazev_an popis hodnoty anglicky
VFF_TCISDAT del priznak, zda je zaznam platny

VFF_TEKNS

Název pohledu Název sloupce Popis
VFF_TEKNS nsidno ID zaznamu
VFF_TEKNS typstridno typ organizacni jednotky TEKTYPSTR.typstridno
VFF_TEKNS nadriz ID nadrizene jednotky TEKNS.nsidno
VFF_TEKNS ns kod
VFF_TEKNS nazev nazev cesky
VFF_TEKNS nazev_an nazev anglicky
VFF_TEKNS nazev_l dlouhy nazev cesky
VFF_TEKNS nazev_an_l dlouhy nazev anglicky
VFF_TEKNS popis popis cesky
VFF_TEKNS poradi poradove cislo org. jednotky pri exportu do BK
VFF_TEKNS popis_an popis anglicky
VFF_TEKNS zkratka zkratka cesky
VFF_TEKNS zkratka_en zkratka anglicky
VFF_TEKNS ejidno cislo ekonomicke jednotky
VFF_TEKNS kdozap autor posledni zmeny
VFF_TEKNS kdyzap datum a cas posledni zmeny
VFF_TEKNS kdoseq kdo zalozil sekvenci
VFF_TEKNS del priznak, zda je zaznam platny
VFF_TEKNS kod_ve_fis kod org. jednotky v FIS
VFF_TEKNS zkratka_web zkratka pro web

VFF_TEKTYPSTR

Název pohledu Název sloupce Popis
VFF_TEKTYPSTR typstridno kod typu ekonomicke jednotky
VFF_TEKTYPSTR nazev nazev typu ekonomicke jednotky
VFF_TEKTYPSTR kdozap kdo udelal posledni zmenu
VFF_TEKTYPSTR kdyzap datum a cas posledni zmeny
VFF_TEKTYPSTR del priznak, zda je zaznam platny

VFF_TJEDNRT

Název pohledu Název sloupce Popis
VFF_TJEDNRT id ID zaznamu
VFF_TJEDNRT nazev nazev cesky
VFF_TJEDNRT datum datum a cas zacatku terminu
VFF_TJEDNRT uzaverka datum uzaverky
VFF_TJEDNRT obory seznam ID oboru, pro ktere je termin urcen TOBORYST.id
VFF_TJEDNRT predmet_id ID predmetu TPREDMETY.id
VFF_TJEDNRT katedra_id ID katedry, ktera termin vypsala TEKNS.nsidno
VFF_TJEDNRT vypsal_id ID vyucujiciho, ktery termin vypsal TUCITEL.peridno
VFF_TJEDNRT kapacita kapacita terminu
VFF_TJEDNRT obsazeno pocet obsazenych mist
VFF_TJEDNRT poznamka poznamka cesky
VFF_TJEDNRT cask cas konce terminu
VFF_TJEDNRT misto_id ID mistnosti TMJMIST.mistidno
VFF_TJEDNRT sem_id kod semestru TSEMESTRY.id
VFF_TJEDNRT okenko_id ID casoveho okenka
VFF_TJEDNRT kdozap kdo udelal posledni zmenu
VFF_TJEDNRT kdyzap datum a cas posledni zmeny
VFF_TJEDNRT dodatecny_zapis priznak, zda se mohou prihlasit studenti bez zapsaneho predmetu, pro ktery je termin
VFF_TJEDNRT nazev_en anglicky nazev
VFF_TJEDNRT poznamka_en poznamka anglicky

VFF_TJEDNRTZK

Název pohledu Název sloupce Popis
VFF_TJEDNRTZK jednrtzk_id ID zaznamu
VFF_TJEDNRTZK stud_id ID studenta TSTUDENTI.id
VFF_TJEDNRTZK term_id ID terminu TJEDNRT.id
VFF_TJEDNRTZK poznamka poznamka
VFF_TJEDNRTZK kdozap kdo udelal posledni zmenu
VFF_TJEDNRTZK kdyzap datum a cas posledni zmeny

VFF_TLIST1

Název pohledu Název sloupce Popis
VFF_TLIST1 polozka nazev polozky
VFF_TLIST1 hodnota hodnota polozky
VFF_TLIST1 vyznam vyznam polozky
VFF_TLIST1 del Zaznam je oznacen ke zruseni ( *= zruseno)
VFF_TLIST1 text TODO
VFF_TLIST1 text2 TODO

VFF_TMJMIST

Název pohledu Název sloupce Popis
VFF_TMJMIST mistidno ID zaznamu
VFF_TMJMIST cismist cislo mistnosti
VFF_TMJMIST nazmist nazev mistnosti cesky
VFF_TMJMIST nazmist_en nazev mistnosti anglicky
VFF_TMJMIST nsidno ID katedry/fakulty, ktere mistnost patri TEKNS.nsidno
VFF_TMJMIST lok kod lokality TCISDAT.kod (polozka=LOKALITA)
VFF_TMJMIST web_url adresa, kde je podrobny popis mistnosti
VFF_TMJMIST kdozap autor posledni zmeny
VFF_TMJMIST kdyzap datum a cas posledni zmeny
VFF_TMJMIST del priznak, ze zaznam je platny
VFF_TMJMIST typ typ mistnosti
VFF_TMJMIST kvyuka kapacita pro vyuku
VFF_TMJMIST kzkous kapacita pro zkouseni
VFF_TMJMIST rozvrh priznak, zda nabizet pro rozvrh
VFF_TMJMIST kod kod mistnosti
VFF_TMJMIST fakulta_id ID fakulty

VFF_TNASTAVENI

Název pohledu Název sloupce Popis
VFF_TNASTAVENI konstanta nazev parametru
VFF_TNASTAVENI typ_prog TODO
VFF_TNASTAVENI hodnota Hodnota parametru (napr. parametr je AKTSEM a hodnota je B061)
VFF_TNASTAVENI vyznam popis parametru
VFF_TNASTAVENI fakulta_id ID fakulty, pro kterou nastaveni plati TEKNS.nsidno

VFF_TNAVAZPL

Název pohledu Název sloupce Popis
VFF_TNAVAZPL plan_id ID studijniho planu TSTPLANY.id
VFF_TNAVAZPL navaz_id ID navazujiciho stud. planu TSTPLANY.id

VFF_TOBORPROG

Název pohledu Název sloupce Popis
VFF_TOBORPROG oborst_id ID oboru TOBORYST.id
VFF_TOBORPROG program_id ID programu TPROGRAMY.id

VFF_TOBORYST

Název pohledu Název sloupce Popis
VFF_TOBORYST id ID zaznamu
VFF_TOBORYST nazev_cs nazev cesky
VFF_TOBORYST nazev_an nazev anglicky
VFF_TOBORYST kapacita kapacita oboru
VFF_TOBORYST kod kod
VFF_TOBORYST typ pro jaky typ programu je obor urcen TCISDAT.kod (cis= TYPSPROG)
VFF_TOBORYST katedra_id ID katedry oboru, TEKNS.nsidno
VFF_TOBORYST garant_peridno ID garanta TUCITEL.peridno
VFF_TOBORYST diplom_cs nazev pro diplom cesky
VFF_TOBORYST diplom_an nazev pro diplom anglicky
VFF_TOBORYST prijimacky priznak, zda obor nabizet v prijimacim
VFF_TOBORYST charak_cs charakteristika cesky TTEXTY.id
VFF_TOBORYST charak_an charakteristika anglicky TTEXTY.id
VFF_TOBORYST kdozap autor posledni zmeny
VFF_TOBORYST kdyzap datum a cas posledni zmeny
VFF_TOBORYST del priznak, zda je zaznam platny
VFF_TOBORYST zkratka zkratka
VFF_TOBORYST poradi poradi pri tisku
VFF_TOBORYST charak_cs_text obsah charak_cs
VFF_TOBORYST charak_an_text obsah charak_an

VFF_TOKENKA

Název pohledu Název sloupce Popis
VFF_TOKENKA id ID zaznamu
VFF_TOKENKA casz zacatek okenka
VFF_TOKENKA cask konec okenka
VFF_TOKENKA den datum
VFF_TOKENKA poznamka poznamka
VFF_TOKENKA misto_id ID mistnosti
VFF_TOKENKA akce_id ID akce
VFF_TOKENKA obsazeno okenko je obsazeno
VFF_TOKENKA kdozap kdo udelal posledni zmenu
VFF_TOKENKA kdyzap datum a cas posledni zmeny
VFF_TOKENKA oj_id ID katedry, ktera vlastni okno
VFF_TOKENKA fakulta_id ID fakulty, ktera vlastni okno
VFF_TOKENKA rlid ID rozvrhoveho listku

VFF_TOKRUHY

Název pohledu Název sloupce Popis
VFF_TOKRUHY id ID okruhu
VFF_TOKRUHY nazev nazev tematickeho okruhu
VFF_TOKRUHY popis popis tematickeho okruhu
VFF_TOKRUHY oborst_id ID oboru, pro ktery je okruh urcen, nebo NULL pro vsechny obory (TOBORYST.id)
VFF_TOKRUHY vypsal_id ID učitele, který okruh vypsal (TUCITEL.peridno)
VFF_TOKRUHY kdozap kdo udělal poslední změnu
VFF_TOKRUHY fakulta_id ID fakulty, vyplývá z katedra_id (TEKNS.nsidno)
VFF_TOKRUHY katedra_id ID katedry, která téma vypsala (TEKNS.nsidno)
VFF_TOKRUHY typ typ programu, pro ktery je okruh urcen (B/M/D), nebo NULL pro vsechny

VFF_TPREDMETY

Název pohledu Název sloupce Popis
VFF_TPREDMETY id ID zaznamu
VFF_TPREDMETY kod kod
VFF_TPREDMETY zkratka zkratka
VFF_TPREDMETY nazev_cs cesky nazev
VFF_TPREDMETY nazev_an anglicky nazev
VFF_TPREDMETY katedra_id ID odpovidajici katedry TEKNS.nsidno
VFF_TPREDMETY zpuszak zpusob zakonceni TCISDAT.kod (cis=ZPUSZAK)
VFF_TPREDMETY rozsah rozsah vyuky
VFF_TPREDMETY zlsem kdy se predmet vypisuji TCISDAT.kod (cis=ZLSEM)
VFF_TPREDMETY kredity pocet kreditu za absolvovani predmetu
VFF_TPREDMETY kredity_vp pocet vazenych kreditu za absolvovani predmetu
VFF_TPREDMETY schvalen datum, kdy byl predmet schvalen
VFF_TPREDMETY stavpred stav predmetu TLIST1.hodnota (polozka=STAVPRED)
VFF_TPREDMETY fakulta_id ID fakulty TEKNS.nsidno
VFF_TPREDMETY etapa pro jakou etapu studia je predmet urcen TCISDAT.kod (cis=ETAPST)
VFF_TPREDMETY export typ exportu pro BK TCISDAT.kod (cis=EXPORTPR)
VFF_TPREDMETY rpred ID nadrizeneho predmetu TPREDMETY.id
VFF_TPREDMETY poczapsani kolikrat se muze student zapsat na predmet
VFF_TPREDMETY program_id seznam ID programu, pro ktere je predmet urcen TPROGRAMY.id
VFF_TPREDMETY forma_studia pro jakou formu studia je predmet urcen TCISDAT.kod (cis= FSTUDIA)
VFF_TPREDMETY klslova_a klicova slova anglicky
VFF_TPREDMETY klslova_c klicova slova cesky
VFF_TPREDMETY abs_vice priznak, ze predmet lze absolvovat vickrat
VFF_TPREDMETY html_adr html adresa, kde jsou ulozeny podrobnosti o predmetu
VFF_TPREDMETY jazyk_vyuky jazyk vyuky TCISDAT.kod (cis= VYUCJAZ)
VFF_TPREDMETY metoda_vyuky metoda vyuky podle ECTS TCISDAT.kod (cis= METODAVYUKY)
VFF_TPREDMETY typ typ predmetu (mozne role)
VFF_TPREDMETY ects_uroven_studia uroven studia dle ECTS TCISDAT.kod (cis= UROVEN_ST)
VFF_TPREDMETY ects_rocnik_studia rocnik studia dle ECTS TCISDAT.kod (cis= ROCNIK_ST)
VFF_TPREDMETY bp_stupen stupne proskoleni z BP TCISDAT.kod (cis= STUPNE_BP)
VFF_TPREDMETY ects_prac_staze_cs pracovni staze cesky TTEXTY.id
VFF_TPREDMETY ects_prac_staze_an pracovni staze anglicky TTEXTY.id
VFF_TPREDMETY anotace_an anotace anglicky TTEXTY.id
VFF_TPREDMETY anotace_cs anotace cesky TTEXTY.id
VFF_TPREDMETY pozadavky_an pozadavky anglicky TTEXTY.id
VFF_TPREDMETY pozadavky_cs pozadavky cesky TTEXTY.id
VFF_TPREDMETY osnova_an osnova anglicky TTEXTY.id
VFF_TPREDMETY osnova_cs osnova cesky TTEXTY.id
VFF_TPREDMETY osnovacv_an osnova pro cviceni anglicky TTEXTY.id
VFF_TPREDMETY osnovacv_cs osnova pro cviceni cesky TTEXTY.id
VFF_TPREDMETY literat_an seznam literatury anglicky TTEXTY.id
VFF_TPREDMETY literat_cs seznam literatury cesky TTEXTY.id
VFF_TPREDMETY cile_an cile vyuky anglicky TTEXTY.id
VFF_TPREDMETY cile_cs cile vyuky cesky TTEXTY.id
VFF_TPREDMETY obsah_an obsah vyuky anglicky TTEXTY.id
VFF_TPREDMETY obsah_cs obsah vyuky cesky TTEXTY.id
VFF_TPREDMETY ects_pozadavky_cs pozadavky na absolvovani predchozich predmetu cesky TTEXTY.id
VFF_TPREDMETY ects_pozadavky_an pozadavky na absolvovani predchozich predmetu anglicky TTEXTY.id
VFF_TPREDMETY ects_kriteria_cs metody a kriteria hodnoceni cesky TTEXTY.id
VFF_TPREDMETY ects_kriteria_an metody a kriteria hodnoceni anglicky TTEXTY.id
VFF_TPREDMETY poznamka poznamka cesky
VFF_TPREDMETY poznamka_en poznamka anglicky
VFF_TPREDMETY kdozap kdo naposledy editoval zaznam
VFF_TPREDMETY kdyzap kdy naposledy byl zaznam zmenen
VFF_TPREDMETY dok predmet je urcen pro doktorandy
VFF_TPREDMETY ma_prerekvizitu predmet ma prerekvizitu
VFF_TPREDMETY bezrozvrhu predmet neni rozvrhovan
VFF_TPREDMETY poznamka_text_cs dlouhe poznamky cesky TTEXTY.id
VFF_TPREDMETY poznamka_text_an dlouhe poznamky anglicky TTEXTY.id
VFF_TPREDMETY nadriz_typ typ predmetu R/Z
VFF_TPREDMETY pouzity predmet jiz ma zapsany student

VFF_TPREDMETY_TEXTY

Název pohledu Název sloupce Popis
VFF_TPREDMETY_TEXTY id ID predmetu
VFF_TPREDMETY_TEXTY kod kod predmetu
VFF_TPREDMETY_TEXTY nazev_cs cesky nazev predmetu
VFF_TPREDMETY_TEXTY nazev_an anglicky nazev predmetu
VFF_TPREDMETY_TEXTY klslova_a klicova slova anglicky
VFF_TPREDMETY_TEXTY klslova_c klicova slova cesky
VFF_TPREDMETY_TEXTY poznamka_text_cs dlouha poznamka cesky
VFF_TPREDMETY_TEXTY poznamka_text_an dlouha poznamka anglicky
VFF_TPREDMETY_TEXTY anotace_an anotace anglicky
VFF_TPREDMETY_TEXTY anotace_cs anotace cesky
VFF_TPREDMETY_TEXTY pozadavky_an pozadavky anglicky
VFF_TPREDMETY_TEXTY pozadavky_cs pozadavky cesky
VFF_TPREDMETY_TEXTY osnova_an osnova anglicky
VFF_TPREDMETY_TEXTY osnova_cs osnova cesky
VFF_TPREDMETY_TEXTY osnovacv_an osnova cviceni anglicky
VFF_TPREDMETY_TEXTY osnovacv_cs osnova cviceni cesky
VFF_TPREDMETY_TEXTY literat_an literatura anglicky
VFF_TPREDMETY_TEXTY literat_cs literatura cesky
VFF_TPREDMETY_TEXTY cile_an cile vyuky anglicky
VFF_TPREDMETY_TEXTY cile_cs cile vyuky cesky
VFF_TPREDMETY_TEXTY obsah_an obsah anglicky
VFF_TPREDMETY_TEXTY obsah_cs obsah cesky

VFF_TPREDSEM

Název pohledu Název sloupce Popis
VFF_TPREDSEM id ID zaznamu
VFF_TPREDSEM sem_id kod semestru TSEMESTRY.id
VFF_TPREDSEM predmet_id ID predmetu TPREDMETY.id
VFF_TPREDSEM kod kod predmetu
VFF_TPREDSEM fakulta_id ID odpovidajici fakulty TEKNS.nsidno
VFF_TPREDSEM katedra_id ID odpovidajici katedry TEKNS.nsidno
VFF_TPREDSEM zpuszak zpusob zakonceni TCISDAT.kod (cis=ZPUSZAK)
VFF_TPREDSEM rozsah rozsah vyuky
VFF_TPREDSEM nazev nazev cesky
VFF_TPREDSEM kredity pocet kreditu za absolvovani predmetu
VFF_TPREDSEM kapacita kapacita predmetu
VFF_TPREDSEM kapcvic kapacita cviceni
VFF_TPREDSEM obsazeno pocet obsazenych mist
VFF_TPREDSEM zapnuto priznak, ze hlidani kapacity predmetu je zapnuto
VFF_TPREDSEM p_blok v jakych souvislych blocich maji byt rozvrhovany prednasky
VFF_TPREDSEM c_blok v jakych souvislych blocich maji byt rozvrhovany cviceni
VFF_TPREDSEM l_blok v jakych souvislych blocich maji byt rozvrhovany lab. cviceni
VFF_TPREDSEM forma_studia pro jakou formu studia je predmet urcen TCISDAT.kod (cis=FSTUDIA)
VFF_TPREDSEM kdozap autor posledni zmeny
VFF_TPREDSEM kdyzap datum a cas posledni zmeny
VFF_TPREDSEM bezrozvrhu predmet neni rozvrhovan
VFF_TPREDSEM rpred ID nadrizeneho predmetu
VFF_TPREDSEM nadriz_typ typ_predmetu Z/R/null
VFF_TPREDSEM modul vyucuje se v dany den (ne periodicky)

VFF_TPREDSEZ

Název pohledu Název sloupce Popis
VFF_TPREDSEZ predmet_id ID predmetu (TPREDMETY.id)
VFF_TPREDSEZ fakulta_id ID fakulty (TEKNS.id)
VFF_TPREDSEZ nazev_sezn nazev seznamu predmetu
VFF_TPREDSEZ poradi poradove cislo predmetu v seznamu
VFF_TPREDSEZ kdozap kdo udelal posledni zmenu
VFF_TPREDSEZ kdyzap kdy byl zaznam naposledy zmenen

VFF_TPREDSKUP

Název pohledu Název sloupce Popis
VFF_TPREDSKUP id ID zaznamu
VFF_TPREDSKUP skupred_id ID skupiny predmetu TSKUPRED.id
VFF_TPREDSKUP predmet_id ID predmetu TPREDMETY.id
VFF_TPREDSKUP dopsem doporuceny semestr
VFF_TPREDSKUP kdozap autor posledni zmeny
VFF_TPREDSKUP kdyzap datum a cas posledni zmeny
VFF_TPREDSKUP semestry v kterych semestrech se ma absolvovat
VFF_TPREDSKUP poradi poradi pri tisku
VFF_TPREDSKUP lhuta do kdy absolvovat predmet

VFF_TPROGRAMY

Název pohledu Název sloupce Popis
VFF_TPROGRAMY id ID zaznamu
VFF_TPROGRAMY nazev_cs cesky nazev
VFF_TPROGRAMY nazev_an anglicky nazev
VFF_TPROGRAMY kod interni kod programu
VFF_TPROGRAMY diplom_cs cesky nazev pro diplom
VFF_TPROGRAMY diplom_an anglicky nazev pro diplom
VFF_TPROGRAMY typ typ programu
VFF_TPROGRAMY delka_studia planovana delka studia
VFF_TPROGRAMY planovany_titul planovany titul
VFF_TPROGRAMY matrika program je urcen pro matriku
VFF_TPROGRAMY kod_ext externi kod programu
VFF_TPROGRAMY jazyk vyucovaci jazyk
VFF_TPROGRAMY prijimacky program je urcen pro prijimaci rizeni
VFF_TPROGRAMY koordinator ID koordinatora programu TUCITEL.perid
VFF_TPROGRAMY garant ID garanta programu TUCITEL.peridno
VFF_TPROGRAMY charak_cs charakteristika cesky TTEXTY.id
VFF_TPROGRAMY charak_an charakteristika anglicky TTEXTY.id
VFF_TPROGRAMY klicove_vysledky_cs klicove vysledky uceni cesky
VFF_TPROGRAMY klicove_vysledky_an klicove vysledky uceni anglicky
VFF_TPROGRAMY postupy_uznavani_cs konkretni postupy uznavani predchoziho vzdelani cesky
VFF_TPROGRAMY postupy_uznavani_an konkretni postupy uznavani predchoziho vzdelani anglicky
VFF_TPROGRAMY pozadavky_na_prijeti_cs konkretni pozadavky na prijeti cesky
VFF_TPROGRAMY pozadavky_na_prijeti_an konkretni pozadavky na prijeti anglicky
VFF_TPROGRAMY pozadavky_na_ukonceni_cs pozadavky na ukonceni studia cesky
VFF_TPROGRAMY pozadavky_na_ukonceni_an pozadavky na ukonceni studia anglicky
VFF_TPROGRAMY pravidla_hodnoceni_cs pravidla zkouseni, hodnoceni a klasifikace cesky
VFF_TPROGRAMY pravidla_hodnoceni_an pravidla zkouseni, hodnoceni a klasifikace anglicky
VFF_TPROGRAMY pristup_k_dalsimu_stud_cs pristup k dalsimu studiu cesky
VFF_TPROGRAMY pristup_k_dalsimu_stud_an pristup k dalsimu studiu anglicky
VFF_TPROGRAMY prof_profil_abs_cs profesni profil absolventu cesky
VFF_TPROGRAMY prof_profil_abs_an profesni profil absolventu anglicky
VFF_TPROGRAMY profil_programu_cs profil programu cesky
VFF_TPROGRAMY profil_programu_an profil programu anglicky
VFF_TPROGRAMY kvalifikacni_pozadavky_cs kvalifikacni pozadavky a predpisy cesky
VFF_TPROGRAMY kvalifikacni_pozadavky_an kvalifikacni pozadavky a predpisy anglicky
VFF_TPROGRAMY kapacita kapacita
VFF_TPROGRAMY kdozap kdo provedl posledni zmenu
VFF_TPROGRAMY kdyzap datum a cas posledni zmeny
VFF_TPROGRAMY del priznak, ze zaznam je neplatny
VFF_TPROGRAMY charakteristika_cs charakteristika cesky
VFF_TPROGRAMY charakteristika_an charakteristika anglicky
VFF_TPROGRAMY charak_cs_text charak_cs ... text
VFF_TPROGRAMY charak_an_text charak_an ... text

VFF_TROZLIST

Název pohledu Název sloupce Popis
VFF_TROZLIST rlid ID listku
VFF_TROZLIST predmet_id ID predmetu TPREDMETY.id
VFF_TROZLIST par kod studijni paralelky
VFF_TROZLIST typrp typ rozvrhove paralelky TLIST1.hodnota (polozka=TYPROZP)
VFF_TROZLIST mistidno ID mistnosti TMJMIST.mistidno
VFF_TROZLIST ucitel1 ID vyucujiciho TUCITEL.peridno
VFF_TROZLIST ucitel2 ID vyucujiciho TUCITEL.peridno
VFF_TROZLIST sudylichy urcuje, zda se bude vyucovat v sudych nebo lichych nebo kazdy tyden
VFF_TROZLIST dencis poradove cislo dne v tydnu
VFF_TROZLIST hodina zacatek vyuky (ve vyuc. hodinach)
VFF_TROZLIST pocethod delka vyuky (ve vyuc hodinach)
VFF_TROZLIST pno cislo prednaskove paralelky
VFF_TROZLIST cno cislo cvicebni paralelky
VFF_TROZLIST lno cislo laboratorni paralelky
VFF_TROZLIST parjmeno nazev rozvrhove paralelky
VFF_TROZLIST katedra_id ID katedry, ktera vlastni listek TEKNS.nsidno
VFF_TROZLIST katuc_id ID katedry, ktera zajistuje vyuku TEKNS.nsidno
VFF_TROZLIST text text
VFF_TROZLIST zacatek zacatek vyuky (HH:MM)
VFF_TROZLIST konec konec vyuky (HH:MI)
VFF_TROZLIST fakulta_id ID fakulty
VFF_TROZLIST sem_id kod semestru
VFF_TROZLIST cismist cislo mistnosti
VFF_TROZLIST kod kod predmetu
VFF_TROZLIST lok kod lokality
VFF_TROZLIST nazev nazev predmetu
VFF_TROZLIST pozmist pozadavek na mistnost
VFF_TROZLIST rocnik pro ktery rocnik je listek urcen
VFF_TROZLIST rp_id ID rozvrhove paralelky
VFF_TROZLIST skupiny pro ktere stud. skupiny je listek urcen
VFF_TROZLIST soubezcis soubezne vyucovani
VFF_TROZLIST ucjm1 jmeno ucitele c. 1
VFF_TROZLIST ucjm2 jmeno ucitele c. 2
VFF_TROZLIST zapis jak nabizet listky pro zapis A/N/O
VFF_TROZLIST katpred_id ID katedry predmetu
VFF_TROZLIST kdozap autor posledni zmeny
VFF_TROZLIST kdyzap datum a cas posledni zmeny
VFF_TROZLIST rocniky pro ktere rocniky je listek urcen
VFF_TROZLIST delka delka vyuky
VFF_TROZLIST datum datum vyuky
VFF_TROZLIST poznamka_an poznamka anglicky

VFF_TROZPAR

Název pohledu Název sloupce Popis
VFF_TROZPAR fakulta_id id fakulty
VFF_TROZPAR predmet_id id predmetu
VFF_TROZPAR rp_id id rozvrhove paralelky
VFF_TROZPAR sem_id kod semestru
VFF_TROZPAR typrp typ rozvrhove paralelky
VFF_TROZPAR cno cislo cvicebni paralelky
VFF_TROZPAR kapacita kapacita paralelky
VFF_TROZPAR katedra_id id katedry, ktera paralelku vlastni
VFF_TROZPAR katuc_id id katedry, ktera paralelku uci
VFF_TROZPAR kontrkap priznak, zda hlidat kapacitu pri zapisu
VFF_TROZPAR lno cislo laboratorni paralelky
VFF_TROZPAR obsazeno pocet zapsanych studentu
VFF_TROZPAR par kod studijni paralelky, pro kterou je paralelka urcena
VFF_TROZPAR parjmeno nazev rozvrhove paralelky
VFF_TROZPAR pno cislo prednaskove paralelky
VFF_TROZPAR rocnik pro ktery rocnik je paralelka urcena
VFF_TROZPAR skupiny pro ktere studijni skupiny je paralelka urcena
VFF_TROZPAR ucitel1 id vyucujiciho c. 1
VFF_TROZPAR ucitel2 id vyucujiciho c. 2
VFF_TROZPAR zapis priznak, jak nabizet paralelku pro zapis
VFF_TROZPAR kdozap kdo provedl posledni zmenu zaznamu
VFF_TROZPAR kdyzap kdy byl zaznam naposledy zmenen
VFF_TROZPAR idno obsahuje cislo paralelky podle typu vyuky
VFF_TROZPAR parjmeno_en anglicky nazev rozvrhove paralelky
VFF_TROZPAR rocniky pro ktere rocniky je paralelka urcena
VFF_TROZPAR uzaverka datum uzaverky
VFF_TROZPAR ucitel3 id vyucujiciho c. 3
VFF_TROZPAR ucitel4 id vyucujiciho c. 4
VFF_TROZPAR ucitel1_hodn podil ucitele c. 1 na vyuce
VFF_TROZPAR ucitel2_hodn podil ucitele c. 2 na vyuce
VFF_TROZPAR ucitel3_hodn podil ucitele c. 3 na vyuce
VFF_TROZPAR ucitel4_hodn podil ucitele c. 4 na vyuce
VFF_TROZPAR ucitel1_kat pro jakou katedru zapocitat vykon ucitele 1
VFF_TROZPAR ucitel2_kat pro jakou katedru zapocitat vykon ucitele 2
VFF_TROZPAR ucitel3_kat pro jakou katedru zapocitat vykon ucitele 3
VFF_TROZPAR ucitel4_kat pro jakou katedru zapocitat vykon ucitele 4
VFF_TROZPAR jmenovatel jmenovatel pro vypocet vykonu jednotlivych ucitelu

VFF_TSEMESTRY

Název pohledu Název sloupce Popis
VFF_TSEMESTRY id kod semestru
VFF_TSEMESTRY oznaceni popis semestru cesky
VFF_TSEMESTRY oznaceni_en popis semestru anglicky
VFF_TSEMESTRY prouznane priznak, ze semestr je pro uznane predmety
VFF_TSEMESTRY zacatek zacatek semestru
VFF_TSEMESTRY konec konec semestru
VFF_TSEMESTRY zacatek_ar zacatek akademickeho roku
VFF_TSEMESTRY konec_ar konec akademickeho roku
VFF_TSEMESTRY kdozap autor posledni zmeny
VFF_TSEMESTRY kdyzap datum a cas posledni zmeny
VFF_TSEMESTRY del priznak, zda zaznam je platny
VFF_TSEMESTRY zkratka zkratka cesky
VFF_TSEMESTRY zkratka_en zkratka anglicky

VFF_TSEMPRPRED_P

Název pohledu Název sloupce Popis
VFF_TSEMPRPRED_P cislosem cislo semestru
VFF_TSEMPRPRED_P stpruch_id ID pruchodu studiem
VFF_TSEMPRPRED_P predmet_id ID predmetu
VFF_TSEMPRPRED_P dopkred kredity za predmet

VFF_TSEMPRPRED_S

Název pohledu Název sloupce Popis
VFF_TSEMPRPRED_S cislosem cislo semestru
VFF_TSEMPRPRED_S stpruch_id ID pruchodu studiem
VFF_TSEMPRPRED_S skupred_id ID skupiny predmetu
VFF_TSEMPRPRED_S dopkred kredity za predmet

VFF_TSKUPRED

Název pohledu Název sloupce Popis
VFF_TSKUPRED id ID zaznamu
VFF_TSKUPRED kod kod skupiny predmetu
VFF_TSKUPRED nazev nazev cesky
VFF_TSKUPRED nazev_an nazev anglicky
VFF_TSKUPRED limkred minimalni pocet kreditu pro splneni skupiny
VFF_TSKUPRED maxlim maximalni pocet kreditu, ktery se ze skupiny zapocita do ziskanych kreditu
VFF_TSKUPRED maxpred maximalni pocet predmetu, ktery se ze skupiny zapocita do absolvovanych predmetu
VFF_TSKUPRED minpred minimalni pocet absolvovanych predmetu pro splneni skupiny
VFF_TSKUPRED rolesp role skupiny ve studijnim planu TCISDAT.kod (cis= ROLESP)
VFF_TSKUPRED schvalena priznak, ze skupina predmetu je schvalena
VFF_TSKUPRED poradi poradi skupiny predmetu pri exportu pro BK
VFF_TSKUPRED program_id ID programu, pro ktery je skupina urcena TPROGRAMY.id
VFF_TSKUPRED forma_studia pro jakou formu studia je skupina urcena TCISDAT.kod (cis= FSTUDIA)
VFF_TSKUPRED poznamka poznamka cesky
VFF_TSKUPRED poznamka_an poznamka anglicky
VFF_TSKUPRED kdozap autor osledni zmeny
VFF_TSKUPRED kdyzap datum a cas posledni zmeny

VFF_TSKUPRSTPL

Název pohledu Název sloupce Popis
VFF_TSKUPRSTPL skupred_id ID skupiny predmetu TSKUPRED.id
VFF_TSKUPRSTPL stplan_id ID studijniho planu TSTPLANY.id

VFF_TSTPLANY

Název pohledu Název sloupce Popis
VFF_TSTPLANY id ID zaznamu
VFF_TSTPLANY kod kod studijniho planu
VFF_TSTPLANY minlim minimalni pocet kreditu pro splneni studijniho planu
VFF_TSTPLANY nazev cesky nazev
VFF_TSTPLANY nazev_an anglicky nazev
VFF_TSTPLANY oborst_id ID oboru, pro ktery je studijni plan urcen TOBORYST.id
VFF_TSTPLANY odpovida_id ID osoby, ktera odpovida za obor TUCITEL.peridno
VFF_TSTPLANY poznamka poznamka
VFF_TSTPLANY schvalen datum schvaleni studijniho planu
VFF_TSTPLANY stav stav studijniho planu TLIST1.hodnota (polozka=STAVSTPL)
VFF_TSTPLANY forma_studia pro jakou formu studia je st. plan urcen TCISDAT.kod (cis= FSTUDIA)
VFF_TSTPLANY program_id pro jaky program je st. plan urcen TPROGRAMY.id
VFF_TSTPLANY kdozap autor posledni zmeny
VFF_TSTPLANY kdyzap datum a cas posledni zmeny
VFF_TSTPLANY prijimacky priznak, zda zaznam nabizet pro prij. rizeni*/

VFF_TSTPRUCH

Název pohledu Název sloupce Popis
VFF_TSTPRUCH id ID zaznamu
VFF_TSTPRUCH nazev cesky nazev
VFF_TSTPRUCH nazev_an anglicky nazev
VFF_TSTPRUCH stplan_id pro jaky st. plan je pruchod urcen TSTPLANY.id
VFF_TSTPRUCH poznamka poznamka
VFF_TSTPRUCH kdozap autor posledni zmeny
VFF_TSTPRUCH kdyzap datum a cas posledni zmeny

VFF_TSTUDENTI

Název pohledu Název sloupce Popis
VFF_TSTUDENTI id ID zaznamu
VFF_TSTUDENTI os_id ID osoby TEKOSOBY.peridno
VFF_TSTUDENTI jmeno jmeno
VFF_TSTUDENTI prijmeni prijmeni
VFF_TSTUDENTI titul titul pred jmenem
VFF_TSTUDENTI titul_za titul za jmenem
VFF_TSTUDENTI oborst_id ID oboru TOBORYST.id
VFF_TSTUDENTI rocnik rocnik
VFF_TSTUDENTI skupina studijni skupina
VFF_TSTUDENTI email email
VFF_TSTUDENTI stplan_id ID studijniho planu TSTPLANY.id
VFF_TSTUDENTI forma_studia forma studia TCISDAT.kod (cis= FSTUDIA)
VFF_TSTUDENTI program_id ID studijniho programu TPROGRAMY.id
VFF_TSTUDENTI oj_id ID fakulty studenta
VFF_TSTUDENTI ststav_kod kod studijniho stavu
VFF_TSTUDENTI kdozap kdo udelal posledni zmenu
VFF_TSTUDENTI kdyzap datum a cas posledni zmeny
VFF_TSTUDENTI skolitel ID skolitele
VFF_TSTUDENTI katedra_id ID katedry dokoranda
VFF_TSTUDENTI rocnik_n pristi rocnik
VFF_TSTUDENTI skupina_n pristi skupina
VFF_TSTUDENTI ststav_datum datum posledni zmeny studijniho stavu
VFF_TSTUDENTI skol_prac skolici pracoviste
VFF_TSTUDENTI predp_konec predpokladany konec studii
VFF_TSTUDENTI preruseni_do do kdy bude studium preruseno
VFF_TSTUDENTI datum_zac zacatek studia
VFF_TSTUDENTI konzultant ID konzultanta
VFF_TSTUDENTI oborid_2 ID oboru 2
VFF_TSTUDENTI del priznak, zda je zaznam platny
VFF_TSTUDENTI datum_kon datum ukonceni studia
VFF_TSTUDENTI udeleny_titul ziskany titul podle stud. programu
VFF_TSTUDENTI typ_prog typ studijniho programu
VFF_TSTUDENTI studuje studijni stav studenta S/P/K
VFF_TSTUDENTI zamereni_id ID zamereni
VFF_TSTUDENTI titul_preduk titul pred ukoncenim studia
VFF_TSTUDENTI titul_za_preduk titul za jmenem pred ukoncenim studia
VFF_TSTUDENTI jazyk_vyuky jazyk vyuky
VFF_TSTUDENTI navaz_stud_id ID navazujiciho studia
VFF_TSTUDENTI navaz_program_id ID navazujiciho programu
VFF_TSTUDENTI vypocitane poradove cislo studia jeji osoby (pocinaje 0)

VFF_TSTUDTO

Název pohledu Název sloupce Popis
VFF_TSTUDTO stud_id ID studia (TSTUDENTI.id)
VFF_TSTUDTO okruh_id ID tematickeho okruhu (TOKRUHY.toid)
VFF_TSTUDTO kdozap kdo udelal posledni zmenu
VFF_TSTUDTO kdyzap kdy byl zaznam naposledy zmenen

VFF_TTEMDP

Název pohledu Název sloupce Popis
VFF_TTEMDP id ID tematu
VFF_TTEMDP nazev_cs nazev tematu cesky
VFF_TTEMDP katedra_id ID katedry, ktera tema vypsala (TEKNS.nsidno)
VFF_TTEMDP vedouci_id ID vedouciho - kdo tema vypsal (TUCITEL.peridno)
VFF_TTEMDP oponent_id ID oponenta (TUCITEL.peridno)
VFF_TTEMDP fakulta_id ID fakulty (TEKNS.nsidno)
VFF_TTEMDP nazev_en nazev tematu anglicky
VFF_TTEMDP literatura seznam doporucene literatury
VFF_TTEMDP pokyny pokyny (napln tematu prace)
VFF_TTEMDP ed_st priznak, ze student muze editovat zaznam
VFF_TTEMDP zadavatel zadavatel tematu (organizace)
VFF_TTEMDP obor_kod kod oboru, pro ktery je prace urcena
VFF_TTEMDP typ typ programu, pro ktery je tema urceno (B/M/D), nebo NULL pro vsechny
VFF_TTEMDP kdozap kdo udelal posledni zmenu
VFF_TTEMDP kdyzap kdy byl zaznam naposledy zmenen
VFF_TTEMDP del priznak, zda je zaznam platny
VFF_TTEMDP vedouci_pis_id ID vedouciho ucitele pisemne casti (TUCITEL.peridno)
VFF_TTEMDP konzultant_id ID konzultanta (TUCITEL.peridno)
VFF_TTEMDP oponent2_id druhy oponent
VFF_TTEMDP obor_id ID oboru, pro ktery je tema urceno (TOBORYST.id)
VFF_TTEMDP stud_id ID studenta
VFF_TTEMDP zadano priznak, ze je prace zadana

VFF_TTEXTY

Název pohledu Název sloupce Popis
VFF_TTEXTY id ID zaznamu
VFF_TTEXTY text text
VFF_TTEXTY kdozap autor posledni zmeny
VFF_TTEXTY kdyzap datum a cas posledni zmeny

VFF_TTYPVYUC

Název pohledu Název sloupce Popis
VFF_TTYPVYUC typvyuc_id ID zaznamu
VFF_TTYPVYUC sem_id kod semestru TSEMESTRY.id
VFF_TTYPVYUC osoba_id ID ucitele TUCITEL.peridno
VFF_TTYPVYUC predmet_id ID predmetu TPREDMETY.id
VFF_TTYPVYUC cvici priznak, ze ucitel cvici
VFF_TTYPVYUC garant priznak, ze ucitel je garantem
VFF_TTYPVYUC prednasi priznak, ze ucitel prednasi
VFF_TTYPVYUC autornav priznak, ze ucitel je autorem
VFF_TTYPVYUC zkousi priznak, ze ucitel zkousi
VFF_TTYPVYUC kdozap kdo naposledy editoval zaznam
VFF_TTYPVYUC kdyzap kdy byl zaznam naposledy zmenen

VFF_TUCITEL

Název pohledu Název sloupce Popis
VFF_TUCITEL peridno ID ucitele
VFF_TUCITEL jmeno jmeno
VFF_TUCITEL prijmeni prijmeni
VFF_TUCITEL titul titul pred jmenem
VFF_TUCITEL titul_za titul za jmenem
VFF_TUCITEL pracoviste pracoviste
VFF_TUCITEL telefon telefon
VFF_TUCITEL nsidno ID katedry, kam ucitel patri TEKNS.nsidno
VFF_TUCITEL email email
VFF_TUCITEL externi priznak, ze se jedna o externiho ucitele
VFF_TUCITEL muze_skolit_dok priznak, ze muze skolit doktorandy
VFF_TUCITEL kdozap kdo udelal posledni zmenu
VFF_TUCITEL kdyzap datum a cas posledni zmeny
VFF_TUCITEL fakulta_id ID fakulty ucitele
VFF_TUCITEL del priznak, zda je zaznam platny
VFF_TUCITEL umelecke_jmeno umelecke jmeno
VFF_TUCITEL typ_ucitele typ ucitele (externi, interni)

VFF_TVYPTERM

Název pohledu Název sloupce Popis
VFF_TVYPTERM id ID zaznamu
VFF_TVYPTERM datum datum a cas zacatku terminu
VFF_TVYPTERM cask cas konce terminu
VFF_TVYPTERM predmet_id ID predmetu TPREDMETY.id
VFF_TVYPTERM misto_id ID mistnosti TMJMIST.mistidno
VFF_TVYPTERM vypsal_id ID vyucujiciho, ktery termin vypsal TUCITEL.peridno
VFF_TVYPTERM sem_id kod semestru TSEMESTRY.id
VFF_TVYPTERM poznamka poznamka
VFF_TVYPTERM kapacita kapacita terminu
VFF_TVYPTERM kdozap kdo udelal posledni zmenu
VFF_TVYPTERM kdyzap datum a cas posledni zmeny
VFF_TVYPTERM uzaverka datum uzaverky prihlaseni
VFF_TVYPTERM obsazeno pocet obsazenych mist
VFF_TVYPTERM paralelka pro ktere paralelky je termin vypsan
VFF_TVYPTERM opravny priznak, ze se jedna o opravny termin
VFF_TVYPTERM nahradnici priznak, ze se mohou hlasit i nahradnici
VFF_TVYPTERM nadrizeny_id ID nadrizeneho terminu
VFF_TVYPTERM typ typ terminu (nadrizeny, podrizeny)
VFF_TVYPTERM katedra_id ID katedry, ktera termin vypsala
VFF_TVYPTERM zapocet_pozadovan student musi mit udeleny zapocet
VFF_TVYPTERM zapoctovy priznak, ze se jedna o zapoctovy termin
VFF_TVYPTERM uzaverka_odhlaseni datum, do kdy se muze student odhlasit
VFF_TVYPTERM username uzivatel, ktery ma pravo na zaznam

VFF_TVZTPRED

Název pohledu Název sloupce Popis
VFF_TVZTPRED id ID zaznamu
VFF_TVZTPRED prvni_predmet_id ID prvniho predmetu TPREDMETY.id
VFF_TVZTPRED druhy_predmet_id ID druheho predmetu TPREDMETY.id
VFF_TVZTPRED vztah kod vztahu TLIST1.hodnota (polozka=REKVIZ)
VFF_TVZTPRED skupred_id ID skupiny predmetu TSKUPRED.id
VFF_TVZTPRED kdozap0 autor zaznamu
VFF_TVZTPRED kdyzap0 datum a cas vzniku zaznamu
VFF_TVZTPRED kdozap autor zaznamu
VFF_TVZTPRED kdyzap datum a cas posledni zmeny

VFF_TZKOUSKY

Název pohledu Název sloupce Popis
VFF_TZKOUSKY zkouska_id ID zaznamu
VFF_TZKOUSKY stud_id ID studenta TSTUDENTI.id
VFF_TZKOUSKY sem_id kod semestru TSEMESTRY.id
VFF_TZKOUSKY term_id ID terminu TVYPTERM.id
VFF_TZKOUSKY datum datum zkousky
VFF_TZKOUSKY znamka znamka (ciselne)
VFF_TZKOUSKY klasifikoval ID zkousejiciho TUCITEL.peridno
VFF_TZKOUSKY poznamka poznamka
VFF_TZKOUSKY nezapsan priznak, ze student byl zapsan na zkousku, i kdyz nemel predmet zapsan
VFF_TZKOUSKY dostavil priznak, zda se student ke zkousce dostavil (A/N)
VFF_TZKOUSKY znamka_kod znamka (pismenkem)
VFF_TZKOUSKY kdozap kdo naposledy editoval zaznam
VFF_TZKOUSKY kdyzap kdy byl zaznam naposledy zmenen
VFF_TZKOUSKY predmet_id ID predmetu
VFF_TZKOUSKY uzivatel1 uzivatel, ktery ma pravo na zaznam
VFF_TZKOUSKY uzivatel2 uzivatel ktery ma pravo na zaznam

VFF_TZKOUSKY_NAHR

Název pohledu Název sloupce Popis
VFF_TZKOUSKY_NAHR id ID zaznamu
VFF_TZKOUSKY_NAHR sem_id kod semestru TSEMESTRY.id
VFF_TZKOUSKY_NAHR predmet_id ID predmetu
VFF_TZKOUSKY_NAHR stud_id ID studenta TSTUDENTI.id
VFF_TZKOUSKY_NAHR term_id ID terminu TVYPTERM.id
VFF_TZKOUSKY_NAHR kdozap kdo naposledy editoval zaznam
VFF_TZKOUSKY_NAHR kdyzap kdy byl zaznam naposledy zmenen
VFF_TZKOUSKY_NAHR dnu_do_terminu TODO
VFF_TZKOUSKY_NAHR fakulta_id ID fakulty

VFF_ZAPPRED

Název pohledu Název sloupce Popis
VFF_ZAPPRED stud_id ID studenta
VFF_ZAPPRED predmet_id ID predmetu TPREDMETY.id
VFF_ZAPPRED sem_id kod semestru TSEMESTRY.id
VFF_ZAPPRED kod kod predmetu
VFF_ZAPPRED kdozap kdo udelal posledni zmenu
VFF_ZAPPRED kdyzap datum a cas posledni zmeny
VFF_ZAPPRED cizi priznak, ze se jedna o cizi predmet
VFF_ZAPPRED kredity pocet kreditu za predmet
VFF_ZAPPRED poznamka poznamka
VFF_ZAPPRED uznankdy kdy byl predmet uznan
VFF_ZAPPRED zakoncen priznak, ze predmet je absolvovan
VFF_ZAPPRED zpuszak zpusob zakonceni
VFF_ZAPPRED role role predmetu ve stud. planu studenta
VFF_ZAPPRED nazev nazev predmetu
VFF_ZAPPRED del priznak, zda je zaznam platny
VFF_ZAPPRED rpred ID podrizeneho predmetu
VFF_ZAPPRED zpred_id ID zaznamu
VFF_ZAPPRED kdozap0 kdo zaznam zalozil
VFF_ZAPPRED kdyzap0 datum a cas zalozeni zaznamu
VFF_ZAPPRED uzivatel1 uzivatel, ktery ma pravo na zaznam
VFF_ZAPPRED uzivatel2 uzivatel, ktery ma pravo na zaznam

Pozn.: Většina popisů je převzatá ze smlouvy o poskytování dat z KOS.


Uživatelé KOSapi

Následující seznam obsahuje pouze lokální účty vedené v KOSapi 3.2, nejsou zde uvedeny historické účty. Také nutno vzít v potaz, že KOSapi je napojené na fakultní LDAP, takže ho může využívat kterýkoli člen akademické obce i bez speciálního účtu. Jde tedy spíše o seznam známých projektů, které KOSapi využívají.

ID Projekt / účel Garant projektu Vývojář Instance Datum založení v3.2+ only
uvazky Podpora tvorby uživatelských úvazků Michal Valenta Jan Toman FIT 10. 10. 2011
eduxanketa Edux / anketa Tomáš Kadlec Martin Babický FIT 8. 3. 2012
iim Zdeněk Trávníček FEL 30. 3. 2012
is_edumsg Messaging Tomáš Černý Václav Chalupa FIT, FEL 24. 4. 2012
webisport Portál / webis portlet Pavel Kordík Zdeněk Tuháček FIT 9. 5. 2012
13135web Web katedry 13135 Martin Samek Green Michal Kaňka FEL 17. 7. 2012
openidm OpenIDM / synchronizace skupin Tomáš Kadlec Tomáš Kadlec FIT 6. 8. 2012
edux Edux / dashboard aj Tomáš Kadlec Petr Kopčák FIT 6. 8. 2012
bpm Závěrečné práce / procesy v IBM BPM Pavel Kordík Daniel Matocha FIT 22. 8. 2012
chiliproject ChiliProject ICT / synchronizace skupin a rolí Tomáš Kadlec Tomáš Srna FIT, FEL 3. 9. 2012
uk_cvut Ústřední knihovna ČVUT Illona Trtíková Marek Feuermann FIT, FEL 19. 9. 2012
bd ?? Jiří Chludil FIT 2. 10. 2012
navigator Navigátor studia Jiří Chludil FIT 2. 10. 2012
bozp Portál BOZP Jiří Chludil FIT 2. 10. 2012
is_rozvrh Portál / portlet pro zobrazení rozvrhu Tomáš Černý Martin Burian FIT, FEL 12. 10. 2012
13136web Web katedry 13136 Ondřej Macek Jiří Málek FEL 15. 11. 2012
doubek Projekt pro PVS na FJFI (repositář) Jan Doubek FIT 22. 11. 2012
kosanda Android klient pro rozvrhy Andrej Palička FIT 6. 12. 2012
statistiky Statistické zpracování studijních výsledků Karel Klouda Martin Konečný FIT 6. 1. 2013
dochnacvi DochNaCvi / Systém pro evidenci docházky a náhradníků na cvičení Zdeněk Rybola Tomáš Pecka FIT 28. 2. 2013
courseware CourseWare Tomáš Svoboda Daniel Večerka FEL 20. 3. 2013
e-courses English Courses / Vyhledávání anglických předmětů Tomáš Svoboda Daniel Večerka FEL 28. 3. 2013
rozvrhar Rozvrhář / generování optimálního rozvrhu (SP1) Adam Plánský FIT, FEL 20. 4. 2013
sprava-projektu Systém pro správu a zadávání školních projektů Ondřej Macek Viktor Souček FEL 20. 4. 2013
dwh Datový sklad Michal Valenta Stanislav Kuznetsov FIT 20. 4. 2013
dp-sabol Účet pro potřeby diplomové práce Jakub Jirůtka Michal Sabol FIT 20. 4. 2013
openfire OpenFire – Chat plugin / Synchronizace skupin Pavel Kordík Marcel Mika FIT 22. 4. 2013
timetable Služba pro organizaci času na fakultě Tomáš Kalvoda, Jakub Jirutka Tibor Szolár FIT 17. 5. 2013

Hlavní stránka

O projektu

KOSapi poskytuje aplikační rozhraní (API) v podobě RESTful webových služeb, které zprostředkovává přístup k vybrané části dat v databázi KOS. Odstraňuje nutnost zpracovávání exportů, neustálou duplikaci všech dat a potíže s jejich udržováním. RESTové služby staví na osvědčených konceptech webu jakožto distribuovaného prostředí vzájemně provázaných informací. KOSapi umožňuje a podporuje vznik školních i studentských aplikací, které pro svou činnost vyžadují online aplikační přístup k datům souvisejícím s výukou.

Od verze 3.2 je KOSapi napojené přímo na databázi KOS a poskytuje přístup pro čtení k vybrané podmnožině dat týkající se bílé knihy, rozvrhů, studentů apod. Starší verze KOSapi získávaly data z databázových exportů KOS (již jsou mimo provoz).

Aktuálně jsou dostupné instance pro FEL, FIT a FBMI, prakticky není problém spustit instance i pro další fakulty ČVUT.

Co tu najdete?

Na tomto webu najdete dokumentaci aktuální verze KOSapi a přehled novinek. Dokumentace je pro všechny fakulty společná, jednotlivé instance FEL, FIT a FBMI se liší pouze doménou v URL a daty, která poskytují.

Instance KOSapi

KOSapi FIT

Base URI: https://kosapi.fit.cvut.cz/api/3
Autorizační server: https://auth.fit.cvut.cz

Provoz KOSapi FIT technicky zajišťuje ICT oddělení FIT.

KOSapi FEL

Base URI: https://api-test.fel.cvut.cz/kosapi/v3
Autorizační server: https://auth.fel.cvut.cz

Provoz zajišťuje SVTI FEL, konkr. Jakub Jirůtka.

Stará instance na https://kosapi.feld.cvut.cz/api/3, která se autentizuje vůči https://auth.fit.cvut.cz, již není podporovaná. Pokud ji ještě používáte, obraťte se na jirutjak@cvut.cz.

Jak začít?

Kalendáře

Výukové kalendáře (export do iCalendar aj.) poskytuje služba Sirius.


Řazení záznamů

Na všechny zdroje vracející kolekce (AtomFeed) lze aplikovat řazení pomocí parametru orderBy. Řadit lze obvykle podle libovolného elementu v první úrovni pod atom:content, a to i podle více elementů, přičemž pro každý lze určit směr řazení (vzestupně/sestupně).

Gramatika a sémantika

Zápis výrazu pro řazení odpovídá jednoduché gramatice:

expression = ordering, 
[ ",", ordering ];
ordering = identifier,
[ "@", direction ];
identifier = ? ["a"-"z","A"-"Z","_","0"-"9","-"]+ ?
direction = "asc" | "desc";

kde identifier je název elementu, podle kterého chceme řadit, a direction je směr řazení – asc vzestupný (výchozí), desc sestupný.

Příklady


Rozvrhová paralelka

Klíčový zdroj: /parallels/{id}
XSI typ: kos:parallel

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
capacity kapacita integer 0–999
capacityOverfill překročení kapacity Permission je povoleno překročení kapacity paralelky?
code kód (číslo) integer 0–99999 v kombinaci s kódem předmětu, semestru (a příp. typem paralelky) byl měl jednoznačně identifikovat paralelku
course předmět Course NN
parallelType typ paralelky ParallelType NN
enrollment povolení zápisu Permission je povolený zápis studentů na paralelku?
note poznámka string ML ≤ 35 zn. v KOSu vedené jako jméno paralelky, ale na FEL se používá jen na doplňující poznámky, na FIT vůbec
occupied počet obsazených míst integer 0–9999 kolik studentů je na paralelce zapsáno
semester semestr Semester NN
teacher vyučující ( ➞Teacher* ) 0–4 na paralelce mohou být napsaní maximálně 4 vyučující!
timetableSlot rozvrhový lístek TimetableSlot* rozvrhový lístek reprezentuje konkr. okýnko v rozvrhu, tj. kdy a kde probíhá výuka; mezi paralelkami a lístky je vztah 1:N

TimetableSlot

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
day den integer 1–7 pořadové číslo dne v týdnu (1–7)
duration délka trvání integer integer počet vyučovacích hodin
firstHour začátek (hodina) integer integer vyučovací hodina
parity parita opakování Parity sudý/lichý/oba týdny
room místnost Room
startTime čas začátku time nově přidané pro tzv. minutový rozvrh
endTime čas konce time nově přidané pro tzv. minutový rozvrh
teacher vyučující ( ➞Teacher* ) vyučující přiřazení na konkrétní rozvrhový lístek v definovaném pořadí
weeks rozvrhové týdny string týdny semestru, ve kterých se lístek opakuje (např.: 1,2,5-7); nově přidané pro tzv. minutový rozvrh

TODO


Typ paralelky

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
LABORATORY laboratoř Laboratory L
LECTURE přednáška Lecture P
TUTORIAL cvičení Tutorial C
UNDEFINED nedefinovaný Undefined

Rozvrhové paralelky

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /parallels

Vrátí všechny rozvrhové paralelky.

GET /parallels/{id}

Vrátí rozvrhovou paralelku podle jejího ID.

GET /parallels/{id}/related

Vrátí navazující paralelky k dané paralelce.

GET /parallels/{id}/students

Vrátí studenty zapsané v dané paralelce.


Parametr

Klíčový zdroj: /parameters/{key}
XSI typ: kos:kosetting

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
description popis string
key klíč string Klíč záznamu složený z kódu fakulty, názvu konstanty a příp. typu programu; oddělené spojovníkem (např. 18000-AKTSEM, 18000-PRODEKAN_PED-M)
value hodnota string

Parametry KOSu

Parametry KOSu jsou záznamy typu klíč-hodnota, které obsahují různé uživatelské parametry a konstanty jednotlivých fakult.

GET /parameters

Vrátí všechny parametry.

GET /parameters/{key}

Vrátí konkrétní parametr podle jeho klíče ve tvaru: {facultyCode}-{name}(-{programmeType}) (např. 18000-AKTSEM, 18000-PRODEKAN_PED-M).

TIP: Když nastavíte HTTP hlavičku Accept: text/plain, tak místo XML vrátí přímo hodnotu parametru jako text.


Parita (sudý/lichý)

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
ODD lichý Odd L
EVEN sudý Even S
BOTH oba Both O
UNDEFINED nedefinovaný Undefined

Studijní průchod

Klíčový zdroj: /pathways/{id}
XSI typ: kos:pathway

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
name název string ML ≤ 200 zn.
note poznámka string
studyPlan studijní plán StudyPlan studijní plán, pro který je průchod určen

TODO


Studijní průchody

Každý studijní plán může mít několik doporučených průchodů, které studentovi radí, kdy si zapsat který předmět. Pokud se student tohoto průchodu bude držet, určitě splní podmínky studijního plánu.

POZOR! Zdroje a reprezentace se ještě budou měnit!

GET /pathways

Vrátí všechny studijní průchody.

GET /pathways/{id}

Vrátí konkrétní studijní průchod podle jeho kódu.


Lidé

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /people

Vrátí všechny studenty a vyučující, které má fakulta právo vidět.

GET /people/{usernameOrId}


Povolení

{{sortable_table}}
Identifikátor Český název Anglický název
ALLOWED povoleno Allowed
DENIED zakázáno Denied
UNDEFINED nedefinovaný Undefined

Osoba

Klíčový zdroj: TODO
XSI typ: kos:person

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
firstName křestní jméno string ≤ 24 zn.
lastName příjemní string ≤ 35 zn.
personalNumber osobní číslo string ≤ 20 zn.
roles/student studentské role ( ➞Student* ) ≥ 0 jinak řečeno studia osoby
roles/teacher učitelské role ( ➞Teacher ) ≤ 1
titlesPost tituly před jménem string ≤ 35 zn.
titlesPre tituly za jménem string ≤ 20 zn.
username uživatelské jméno string ≤ 8 zn.

Plány do budoucna

Na této stránce naleznete stručný seznam plánovaných změn a nových funkcí do KOSapi. Napadne-li vás něco, co v tomto seznamu ještě není, určitě napište požadavek do úkolů.


Studijní program

Klíčový zdroj: /programmes/{code}
XSI typ: kos:programme

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
academicTitle titul string ≤ 15 zn. titul, který student obdrží po absolvování programu
capacity kapacita integer 0–9999
classesLang jazyk výuky ClassesLang
code kód string ≤ 5 zn. není unikátní!
description charakteristika string ML
diplomaName oficiální název string ML ≤ 100 zn. název programu pro tisk na diplom
faculty fakulta Division fakulta, která program zajišťuje
guarantor garant Teacher
name název string ML ≤ 100 zn.
openForAdmission otevřený pro přijímačky boolean true pokud se má obor nabízet v přijímacím řízení
studyDuration délka studia integer ≤ 99,9 standardní délka studia (roky)
type typ ProgrammeType typ programu (bakalářský, magisterský apod.)
validFrom platnost od date od kdy je studijní program platný
validTo platnost do date do kdy je studijní program platný

Typ studijního programu

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
BACHELOR bakalářské Bachelor B
DOCTORAL doktorské Doctoral D
INTERNSHIP stáž Internship S
LIFELONG celoživotní Lifelong C
MASTER magisterské Magister N
MASTER_LEGACY magisterské (původní) Master (legacy) M
UNDEFINED neurčeno Undefined

Studijní programy

GET /programmes

Vrátí všechny studijní programy.

GET /programmes/{code}

Vrátí konkrétní studijní program podle jeho kódu.

GET /programmes/{code}/branches

Vrátí obory daného studijního programu.

GET /programmes/{code}/courses

Vrátí předměty vyučované v daném studijním programu.

GET /programmes/{code}/coursesGroups

Vrátí skupiny předmětů asociované s daným programem.

GET /programmes/{code}/studyPlans

Vrátí všechny studijní plány daného programu.


Vyhledávání

Komplexní podpora dotazování tvoří jednu ze základních funkcionalit databází. Oproti tomu většina běžných RESTových služeb nenabízí moc silné prostředky pro dotazování a omezuje se pouze na triviální předdefinované dotazy, příp. fulltextové vyhledávání. Ovšem mají-li webové služby IS sloužit aplikacím jako přímý 1 zdroj dat, tak je komplexnější podpora vyhledávání prakticky nezbytná.

Předdefinované dotazy

Všechny zdroje s parametrem v URI jsou v podstatě předdefinované vyhledávací dotazy. Kupříkladu /units/18000 vyhledá organizační jednotku s kódem 18000. Na pozadí dojde k vygenerování SELECTu nad tabulkou nákladových středisek, kde kód střediska je rovný 18000. To je poměrně triviální dotaz. Trochu složitější se skrývá například za /programmes/MI/courses, který vyhledá všechny předměty patřící pod studijní program s kódem MI. Zde se vygeneruje polospojení nad programy, spojovou tabulkou a předměty, kde program má kód rovný MI.

Omezení takovýchto dotazů jsou zjevná. Co když potřebujeme například vyhledat všechny předměty, které se vyučují v zimním semestru, zajišťuje je Katedra softwarového inženýrství FIT a jejich název obsahuje slovo „prog“? Tady už potřebujeme nějaký dotazovací jazyk, který nám umožní kombinovat podmínky.

RSQL

UPOZORNĚNÍ: Integrace RSQL ještě není úplně dokončená, takže pro některé zdroje a konkrétní atributy nemusí fungovat správně!

RESTful Service Query Language (RSQL) je dotazovací jazyk a knihovna, jež jsem vyvinul pro KOSapi, která umožňuje vyhledávat záznamy (Atom Entry) podle jejich strukturovaných elementů (atributů) v Atom Content. Všechny zdroje KOSapi jsou koncipované tak, že Atom elementy využívají pouze pro metadata a vlastní data z KOSu jsou obsažená v Atom Content ve strukturované podobě (závisí na Content-Type, výchozí je XML). RSQL dotazy se v KOSapi překládají na SQL dotazy do KOSu.

Inspiroval jsem se Feed Item Query Language (FIQL), což je IETF návrh dotazovacího jazyka určeného (pouze) pro vyhledávání záznamů podle „metadat“ v Atom Entry. Syntaxe FIQL je výhodná svým prvoplánovým určením pro zápis v URI, díky čemuž ji není potřeba zakódovávat. Na druhou stranu je tím poněkud neobvyklá a ne příliš intuitivní. Jelikož jsem si stejně musel napsat vlastní parser, rozhodl jsem se tuto syntaxi využít a rozšířit ji ještě o alternativní zápis.

Proč jsem vlastně vyvíjel vlastní řešení a nevyužil nějaké standardizované? Důvod je prostý, žádné takové kupodivu zatím neexistuje nebo jsem ho nenašel. Tedy kromě standardu Open Data Protocol, který mimo jiné zahrnuje komplexní podporu pro dotazování. Ovšem využití OData pro KOSapi jsem z několika důvodů zavrhl a vzhledem k tomu, že podpora vyhledávání je jeho „inherentní“ součástí, tak mi její samostatné využití nepřišlo přínosné.

Gramatika a sémantika

RSQL výraz se skládá z jednoho či více kritérií, které se spojují logickými (Booleovskými) operátory.

expression = [ "(" ],
( constraint | expression ),
[ logical-operator, ( constraint | expression ) ],
[ ")" ];
Logické operátory jsou:
logical-operator = ";" | " and " | "," | " or ";

Operátor AND má standardně přednost, tj. všechny operátory OR se vyhodnocují až po něm. Toto chování lze samozřejmě změnit pomocí uzávorkování výrazů.

Kritérium se skládá ze selektoru, který identifikuje element v Atom Content, operátoru porovnání a argumentu.

constraint = selector, comparison-operator, argument;

Operátory porovnání jsou:

Název FIQL Alternativní Platné datové typy
rovná se == = textový řetězec, číslo, datum, výčtový typ, XLink
nerovná se != != textový řetězec, číslo, datum, výčtový typ, XLink
menší než =lt= < číslo, datum
menší nebo rovno =le= <= číslo, datum
větší než =gt= > číslo, datum
větší nebo rovno =ge= >= číslo, datum
comparison-operator = "==" | "=" | "!=" | "=lt=" | "<" | "=le=" | "<=" | "=gt=" | ">" | "=ge=" | ">=";

Selektor odpovídá názvu elementu v Atom Content nebo jeho relativní cestě, pakliže je zanořený. Může také obsahovat „dereferenci“ XLink vazby pomocí tečkové notace.

selector   = identifier, { ("/" | "."), identifier };
identifier = ? ["a"-"z","A"-"Z","_","0"-"9","-"]+ ?

Argumenty mohou být dvojího typu. Libovolná sekvence znaků uzavřená mezi jednoduché či dvojité uvozovky, nebo sekvence znaků bez mezer, kulatých závorek, čárek a středníků.

argument    = arg_ws | arg_sq | arg_dq;
argument-ws = ? ( ~["(", ")", ";", ",", " "] )+ ?;
argument-sq = ? "'" ~["'"]+ "'" ?;
argument-dq = ? "\"" ~["\""]+ "\"" ?;

Porovnávání textových řetězců nezohledňuje velikost písmen (je case insensitive). Pokud je URL parametr multilang nastaven na true, tak zohledňuje texty v obou jazycích (neplatí pro dereferencované atributy). V opačném případě vyhledává pouze ve zvoleném jazyce (podle Accept-Language, nebo lang).

Při porovnávání řetězců lze využít i divoké karty a hledat pomocí nich i jen podle části řetězce. Způsob zápisu je stejný jako v SQL LIKE, pouze s tím rozdílem, že místo % se zde používá *. Například podmínce name=prog_am* vyhoví všechny předměty, jejichž název začíná na „prog“, následuje jeden libovolný znak, pak „am“ a cokoli (opět bez ohledu na velikost písmen).

V případě elementů, které reprezentují výčtový typ, je nutné jako argument uvádět výčtový název (enum), nikoli jeho lokalizovaný popis.

Argumentem pro XLink je identifikátor záznamu použitý v URI, což většinou bývá kód, nebo ID.

„Dereference“ vazeb (aka JOIN)

V dotazu je možné přistupovat i k atributům odkazovaných zdrojů (na které vede XLink) pomocí tzv. „dereference“. Jinak řečeno umožňuje zápis podmínky s implicitním spojením (JOINem) entit, mezi kterými existuje explicitní průchozí vazba (obdobně jako v HQL). Vazbami se prochází pomocí tečkové notace a je možné i zanořování. Kupříkladu unit.unitType==FACULTY vybere všechny záznamy, které jsou ve vztahu s organizační jednotkou typu fakulta. Na pozadí dojde k vygenerování polospojení (LEFT JOIN) tabulky předmětů s tabulkou nákladových středisek a podmínky unitType=FACULTY.

Mějte prosím na paměti, že tyto dotazy mohou generovat velkou zátěž databáze. Jakmile bude KOSapi napojené přímo na KOS, bude tento problém dost citlivý. Používejte je proto obezřetně a vyhýbejte se zbytečně neefektivním dotazům. Z těchto důvodů jsem také omezil maximální počet implicitních JOINů pro dotaz na 3.

Parametry

RSQL výraz se zapisuje do URL parametru query a je možné ho efektivně kombinovat s parametry offset, limit a orderBy.

Příklady

Pár slov k implementaci

RSQL jsem vyvinul speciálně pro KOSapi, ale jeho návrh a implementace je dostatečně obecná i pro použití v jiných RESTových službách postavených nad relační databází. Skládá se ze dvou navazujících knihoven.

První je RSQL-parser, který provádí lexikální analýzu, parsování a sestavení objektové reprezentace zadaného RSQL výrazu. Součástí je gramatika zapsaná v JavaCC, ze které je vygenerován vlastní parser.

Druhou knihovnou je RSQL-hibernate. Ta zajišťuje převod dotazu na Hibernate Criteria Query (objektová reprezentace HQL, resp. SQL dotazu), z něhož se následně generuje SQL dotaz do relační databáze. V tomto procesu hrají hlavní roli RSQLCriteriaBuilder, sada CriterionBuilders a Mapper. CriteriaBuilder prochází strom výrazu, generuje Criterion pro logické výrazy (AND, OR) a deleguje kritéria (porovnání) na odpovídající CriterionBuilder. Ty má připravené v kolekci, jíž iteruje dokud nenalezne takový, který umí obsloužit daný selektor a operátor. Kromě obecného CriterionBuilder obsahuje například takový, který umí vytvořit Criterion pro atribut vazby (i s NaturalID), multijazyčný text, selektor s implicitním JOINem, příp. speciální pro nestandardní entity. Mapper zajišťuje mapování selektorů (názvů v XML, příp. cest) na názvy příslušných atributů v entitách. Většina odpovídá 1:1, ale v některých případech je nutné použít přemapování (např. multijazyčné texty).

Obě knihovny jsem uvolnil pod licencí LGPL a umístil na GitHub - RSQL-parser a RSQL-hibernate.

__
1 To znamená, že aplikace si nebudou uchovávat lokální kopii celé ani části databáze IS (cache se tím nevylučuje), ale budou je přímo získávat z webové služby.


Co si přečíst o RESTful?

V poslední době se mě několik kolegů ptalo, co si mají přečíst o RESTful, aby dokázali navrhnout dobré RESTful API. Pokusil jsem se tedy sestavit seznam doporučené literatury a článků (z nichž jsem kdysi sám vycházel), které čtenáře přívětivou formou uvedou do světa RESTových služeb – od základů, přes návrh až po implementaci.

Doporučené zdroje

Dále stojí za zmínku

Časem budu doplňovat další zdroje, jakmile na něco zajímavého narazím. Pokud byste měli tip na nějaký článek nebo publikaci, které by v tomto přehledu neměly chybět, tak mi určitě napište.


RESTful zdroje

Seznam všech zdrojů KOSapi-3.


Místnost

Klíčový zdroj: /rooms/{code}
XSI typ: kos:room

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
capacity [@for='examining’] kapacita pro zkoušení integer 0–999
capacity [@for='teaching’] kapacita pro výuku integer 0–999
code číslo místnosti string ≤ 15 zn. např. TH:A-1333
locality kód lokality string ≤ 20 zn.
name název string ML ≤ 30 zn.
TODO středisko Division středisko pod které místnost patří
type typ RoomType k čemu je místnost určena

Typ místnosti

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
LABORATORY laboratoř Laboratory L
LECTURE posluchárna Lecture room P
OFFICE kancelář Office K
TUTORIAL cvičebna Tutorial room C
UNDEFINED nedefinovaný Undefined

Místnosti

Rozsah dat: úplný / záznamy pro celé ČVUT /?/

GET /rooms

Vrátí všechny místnosti.

GET /rooms/{code}

Vrátí místnost podle jejího kódu (tj. čísla místnosti).


Sandbox

<atom:entry xml:lang="cs" xml:base="https://kosapi.fit.cvut.cz/api/3/">
    <atom:title>Webové služby a middleware</atom:title>
    <atom:id>https://kosapi.fit.cvut.cz/api/3/courses/MI-MDW</atom:id>
    <atom:updated>2011-12-11T00:20:33.883+01:00</atom:updated>
    <atom:author>
        <atom:name>BK.xml</atom:name>
    </atom:author>
    <atom:content xsi:type="kos:course" atom:type="xml">
        <approvalDate>2010-05-01T00:00:00+02:00</approvalDate>
        <classesLang>CS</classesLang>
        <classesType>LECTURE</classesType>
        <classesType>TUTORIAL</classesType>
        &lt;code&gt;MI-MDW&lt;/code&gt;
        &lt;completion&gt;CREDIT_EXAM&lt;/completion&gt;
        &lt;credits&gt;4&lt;/credits&gt;
        &lt;department xlink:href="units/18102"&gt;katedra softwarového inženýrství&lt;/department&gt;
        &lt;name&gt;Webové služby a middleware&lt;/name&gt;
        &lt;note&gt;Rozsah=prednasky+proseminare+cviceni2p+1c, Prednasejici: Ing. Tomáš Vitvar Ph.D.&lt;/note&gt;
        &lt;range&gt;2+1&lt;/range&gt;
        &lt;season&gt;WINTER&lt;/season&gt;
        &lt;state&gt;APPROVED&lt;/state&gt;
        &lt;studyForm&gt;FULLTIME&lt;/studyForm&gt;
    &lt;/atom:content&gt;
&lt;/atom:entry&gt;

Období semestru

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
WINTER zimní Winter Z
SUMMER letní Summer L
BOTH oba Both Z,L
UNDEFINED neurčena Undefined

Zabezpečení

KOSapi aktuálně poskytuje pouze ta data, která jsou veřejná v rámci akademické obce dané fakulty a většina zdrojů je zatím pouze pro čtení.

OAuth 2.0

KOSapi je zabezpečeno protokolem OAuth 2.0 a využívá fakultní autorizační server. Více informací najdete zde. Platí to pro FIT i FEL.

HTTP Basic

Z historických důvodů KOSapi umožňuje i autentizaci pomocí HTTP Basic (samozřejmě přes TLS kanál) pro lokální účty vytvořené pro konkrétní aplikace.

Oba způsoby jsou stále možné, ale nové lokální účty už nevytvářím.


Semestr

Klíčový zdroj: /semesters/{code}
XSI typ: kos:semester

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
endDate datum ukončení date datum ukončení celého semestru (vč. zkouškového)
name název string ML ≤ 20 zn. slovní název semestru
startDate datum zahájení date

SemesterFilter

Všechny zdroje poskytující data, která jsou ve vztahu ke konkrétnímu semestru, přijímají URL parametr sem, jehož argumentem mohou být následující hodnoty, příp. množina hodnot oddělená čárkami.

Příklad: sem=B112,B122,current,2042W

Pozn.: Některé zdroje povolují pouze omezený počet hodnot.


Semestry

Rozsah dat: úplný / záznamy pro celé ČVUT /?/

GET /semesters

Vrátí všechny semestry.

GET /semesters/{code}

Vrátí konkrétní semestr podle jeho KOSího kódu.

GET /semesters/current

Vrátí aktuální semestr, ve kterém probíhá výuka (v KOS parametr AKTSEM).

GET /semesters/next

Vrátí příští semestr, tj. následující po aktuálním.

GET /semesters/prev

Vrátí předchozí semestr.

GET /semesters/scheduling

Vrátí semestr, ve kterém probíhají zápisy do rozvrhu (v KOS parametr SEMPROROZ).


Pohlaví

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
MALE muž Male M
FEMALE žena Female Z
UNDEFINED neurčeno Undefined

Dokumentace

RESTful zdroje
Typy obsahu
Výčtové typy
URL parametry
Vyhledávání
Filtrování výstupu
ER diagram
Přehled změn

Další informace

Slovníček pojmů
Technologie
Klientské knihovny
Plány do budoucna
Doporučená četba
FAQ


Termín státní závěrečné zkoušky

Klíčový zdroj: /stateExams/{id}
XSI typ: kos:stateExam

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
branch obor Branch
endDate konec termínu date
note poznámka string
programmeType typ studijního programu ProgrammeType
signinDeadline datum uzávěrky přihlášení date
startDate začátek termínu date NN

Státní závěrečné zkoušky

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /stateExams

Vrátí všechny termíny státních závěrečných zkoušek.

GET /stateExams/{id}

Vrátí termín státní závěrečné zkoušky podle jeho ID.

GET /stateExams/{id}/students

Vrátí studenty přihlášené na daný termín závěrečné zkoušky.

GET /stateExams/{id}/students/{studentId}


Student (studium)

Klíčový zdroj: /students/{username}(-{order})
XSI typ: kos:student

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
branch obor studia Branch na některých fakultách se studenti neupisují na konkrétní obory (FIT) nebo nemají obory vůbec (FA)
department katedra Division platí pouze pro doktorandy
email e-mail string ≤ 100 zn.
startDate datum začátku studia date
faculty fakulta Division
firstName křestní jméno string ≤ 24 zn.
grade ročník studia integer 0–9
interruptedUntil přerušení do date do kdy má studet přerušené studium
lastName příjmení string ≤ 35 zn.
personalNumber osobní číslo string ≤ 20 zn.
programme studijní program Programme
endDate datum ukončení studia date
studyForm forma studia StudyForm
studyGroup studijní skupina integer 0–999 číslo studijní skupiny
studyPlan studijní plán StudyPlan pozor, na některých fakultách nemusí odpovídat plánu, který student opravdu studuje
studyState studijní stav StudyState stav studia
supervisor školitel Teacher platí pouze pro doktorandy
supervisorSpecialist školitel specialista Teacher platí pouze pro doktorandy
studyTerminationReason důvod ukončení studia StudyTermination
titlesPost tituly za jménem string ≤ 35 zn.
titlesPre tituly před jménem string ≤ 20 zn.
username uživatelské jméno string ≤ 8 zn.

Studenti / studia

Jedna osoba může mít na ČVUT více souběžných studií, dokonce i v rámci jediné fakulty. Takoví studenti existují a ačkoli jde o minoritní případy, je nutné s nimi počítat.

Rozsah dat: omezený / záznamy pro danou fakultu /?/

GET /students

Vrátí všechny studenty, které má fakulta právo vidět. To znamená všechny její studenty a studenty „cizích“ fakult, kteří mají zapsaný nějaký předmět z dané fakulty.

GET /students/{studyCodeOrId}

Vrátí studium studenta podle jeho uživatelského jména a příp. pořadového čísla studia (řazeno od nejnovějšího), má-li více souběžných studií, nebo podle jeho databázového ID.

Příklad: Student s uživatelským jménem flynnkev má tři aktivní souběžná studia. Potom jeho nejnovější studium (podle data vytvoření záznamu v KOS) bude mít identifikátor flynnkev, další flynnkev-1 a nejstarší studium flynnkev-2.

Kód studia není stabilní, v čase se mění (když student ukončí některé studium nebo započne nové)! Doporučuji namísto toho používat databázové ID, všude kde je to možné.

GET /students/{studyCodeOrId}/enrolledCourses

Vrátí zápisy předmětů daného studenta pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /students/{studyCodeOrId}/parallels

Vrátí paralelky, na kterých je student zapsaný, pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /students/{studyCodeOrId}/registeredExams

Vrátí zápisy zkoušek daného studenta pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /students/{studyCodeOrId}/exams

Vrátí zkoušky, na které je student zapsaný v a) aktuálním semestru, b) ve zvolených semestrech parametrem sem, c) nebo ve všech semestrech (parametr sem=none). Oproti zdroji registeredExams se liší v tom, že vrací přímo objekt zkoušky, kdežto registeredExams vrací zápis na zkoušku (v budoucnu bude obsahovat více údajů).


Forma studia

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
FULLTIME prezenční Fulltime P
PARTTIME kombinované Part-time K
DISTANCE dálkové Both D
SELF_PAYER pro samoplátce (anglické) Lifelong E
TODO Výjezd na krátkodobý studijní pobyt prezenční TODO V
TODO Výjezd na krátkodobý studijní pobyt kombinovaný [W] TODO W
TODO Příjezd na krátkodobý studijní pobyt TODO Z
UNDEFINED neurčeno Undefined

Studijní plán

Klíčový zdroj: /studyPlans/{code}
XSI typ: kos:studyPlan

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
approvalDate datum schválení date
approved schválený boolean true pokud je studijní plán schválený
branch studijní obor Branch studijní obor, pro který je plán určen
code kód string NN, UQ, ≤ 20 zn. unikátní kód plánu
creditsMinLimit minimální počet kreditů integer ≤ 999 minimální počet kreditů pro splnění plánu
division odpovědné středisko Division odpovědné středisko
individual individuální boolean true pokud se jedná o individuální studijní plán
name název string ML NN cs, ≤ 100 zn.
note poznámka string ≤ 2 000 zn.
programme studijní program Programme studijní program, pro který je plán určen
studyForm forma studia StudyForm

Studijní plány

Studijní plán je předpis studijních povinností, které student musí splnit, aby úspěšně absolvoval daný druh studia. Je to seznam předmětů, z nichž student musí získat minimálně stanovený počet kreditů (absolutně) v předepsané skladbě. Plán neříká nic o tom, kdy a v jakém pořadí je třeba předměty vystudovat.

Studijní plány jsou určeny pro konkrétní program, formu studia a příp. obor studia (některé fakulty obory nemají). Mezi programy a obory existuje vazba N:M!

GET /studyPlans

Vrátí všechny studijní plány.

GET /studyPlans/{code}

Vrátí konkrétní studijní plán podle jeho kódu.

GET /studyPlans/{code}/coursesGroups

Vrátí skupiny předmětů zařazené v daném studijním plánu.

GET /studyPlans/{code}/pathways

Vrátí průchody daného studijního plánu.


Stav studia

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
ACTIVE aktivní Active S
INTERRUPTED přerušené Interrupted P
CLOSED uzavřené Closed K
UNDEFINED nedefinovaný Undefined

Důvod ukončení studia

{{sortable_table}}
Identifikátor Český název Anglický název Zkratka v KOSu
GRADUATION úspěšné vykonání zkoušky 01
WITHDRAW zanechání studia 02
NONCOMPLIANCE nesplnění studijního programu 03
ACCREDITATION_REVOKED odnětí akreditace 04
ACCREDITATION_EXPIRED zánik akreditace 05
EXPULSION_PAR_65 vyloučení podle par. 65 06
EXPULSION_PAR_67 vyloučení podle par. 67 07
DEATH úmrtí 08
TRANSFER_TO_OTHER_FACULTY přestup na jinou fakultu 09
UNDEFINED nedefinovaný -

Vyučující

Klíčový zdroj: /teachers/{usernameOrId}
XSI typ: kos:teacher

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
division středisko Division středisko (typicky katedra), pod které vyučující spadá
email e-mail string ≤ 50 zn.
extern externista boolean true pokud je externista
firstName křestní jméno string ≤ 24 zn.
lastName příjmení string ≤ 35 zn.
personalNumber osobní číslo string ≤ 20 zn.
phone telefonní číslo/a string ≤ 50 zn. v KOSu se nijak nevaliduje!
stageName umělecké jméno string ≤ 100 zn.
supervisionPhDStudents může školit doktorandy Permission ALLOWED, pokud vyučující může školit doktorandy
titlesPost vědecký titul string ≤ 20 zn.
titlesPre akademický titul string ≤ 35 zn.
username uživatelské jméno string ≤ 8 zn.

Role vyučujícího

{{sortable_table}}
Identifikátor Český název Anglický název
EDITOR editor Editor
EXAMINER zkoušející Examiner
GUARANTOR garant Guarantor
INSTRUCTOR cvičící Instructor
LECTURER přednášející Lecturer

Role editor zmocňuje daného vyučujícího editovat informace o předmětu. Na FEL a FIT by garant předmětu měl mít vždy i tuto roli.


Vyučující

GET /teachers

Vrátí všechny vyučující.

GET /teachers/{usernameOrId}

Vrátí vyučujícího podle jeho loginu nebo ID (např. teachers/123456).

GET /teachers/{usernameOrId}/courses

Vrátí předměty, které vyučující přednáší, cvičí, zkouší nebo garantuje v a) v aktuálním semestru, b) ve zvolených semestrech parametrem sem. Výběr lze dále omezit podle role vyučujícího v daném předmět parametrem roles, který přijímá hodnoty lecturer, instructor, examiner, guarantor, editor nebo jejich kombinace oddělené čárkami (ve významu nebo).

GET /teachers/{usernameOrId}/parallels

Vrátí paralelky, které vyučující přednáší nebo cvičí pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /teachers/{usernameOrId}/exams

Vrátí zkoušky, které vyučující vypsal pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none).

GET /teachers/{usernameOrId}/timetable

Vrátí tzv. „omezení vyučujícího“ pro a) aktuální semestr, b) zvolené semestry parametrem sem, c) nebo pro všechny semestry (parametr sem=none). Jde o časové sloty v rozvrhu, které si vyučující rezervuje na jiné akce než výuku předmětu (např. konzultační hodiny, účast na jednáních výzkumné skupiny apod.) Slouží především jako informace pro rozvrháře.


Technologie

Stručný přehled technologií, na kterých je aplikace KOSapi postavená.

Platforma

Frameworky

Důležité knihovny

Vlastní knihovny vyvinuté pro KOSapi

Nástroje

Serverové prostředí


Typ termínu

{{sortable_table}}
Identifikátor Český název Anglický název
ASSESSMENT zápočtový Assessment
FINAL_EXAM zkouškový Final Exam

Témata závěrečných prací

GET /theses

Vrátí všechna témata závěrečných prácí.

GET /theses/{id}

Vrátí téma závěrečné práce podle jejího ID.

POST /theses

Přidá nové téma závěrečné práce.

Podmínky

Ukázka komunikace

POST /api/3/theses HTTP/1.1
Host: kosapi.fit.cvut.cz
Content-Type: application/atom+xml; charset=UTF-8
Authorization: Bearer put-access-token-here

<?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns="http://kosapi.feld.cvut.cz/schema/3" 
            xmlns:atom="http://www.w3.org/2005/Atom" 
            xmlns:xlink="http://www.w3.org/1999/xlink" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <atom:content atom:type="xml" xsi:type="thesis">
        <branch xlink:href="branches/4779/" />
        <department xlink:href="divisions/18102/" />
        <description>Prostudujte používané metodiky návrhu...</description>
        <literature>Pracovní postup k rozvrhu, Tril, 1998</literature>
        <name xml:lang="cs">KOSapi - verze 3</name>
        <name xml:lang="en">KOSapi - third version</name>
        <opponent xlink:href="people/valenta/" />
        <state>RESERVED</state>
        <student xlink:href="students/jirutjak/" />
        <supervisor xlink:href="people/kadleto2/" />
        <type>MASTER</type>
    </atom:content>
</atom:entry>

Status Code: 201 Created
Content-Length: 0
Date: Mon, 29 Jul 2013 11:42:33 GMT
Location: https://kosapi.fit.cvut.cz/api/3/theses/493466966705

PUT /theses/{id}

Modifikuje dané téma závěrečné práce.

Podmínky

DELETE /theses/{id}

Odstraní dané téma závěrečné práce.

Podmínky

GET /theses/{id}/reviews

Vrátí posudky závěrečné práce. Jedna práce může mít 1-2 vedoucí a 1-4 oponenty, přičemž každý může napsat nejvýše jeden posudek.

GET /theses/{id}/files

Vrátí metadata o souborech na DSpace asociovaných s danou závěrečnou prací.

GET /theses/{id}/files/main

Vrátí soubor s vlastním textem práce (mělo by jít o PDF).

PUT /theses/{id}/files/main

Nahraje PDF soubor s vlastním textem práce.

DELETE /theses/{id}/files/main

Smaže PDF soubor s vlastním textem práce.


Rámcová témata závěrečných prací

Upozornění: Název „thesis draft“ je pracovní a možná se změní.

GET /thesesDrafts

Vrátí všechna rámcová témata závěrečných prácí.

GET /thesesDrafts/{id}

Vrátí rámcové téma závěrečné práce podle jejího ID.

GET /thesesDrafts/{id}/applicants

Vrátí registrované zájemce o dané rámcové téma.


Posudky závěrečných prací

GET /thesesReviews

Vrátí všechny posudky závěrečných prácí.

POST /thesesReviews

Vytvoří posudek závěrečné práce.

Podmínky

GET /thesesReviews/{id}

Vrátí posudek závěrečné práce podle jeho ID.

PUT /thesesReviews/{id}

Modifikuje daný posudek závěrečné práce. Povoluje změnu pouze proposedGrade, všechny ostatní změny jsou ignorovány.

GET /thesesReviews/{id}/file

Vrátí soubor posudku, mělo by jít o PDF.

PUT /thesesReviews/{id}/file

Nahraje PDF soubor s posudkem.

DELETE /thesesReviews/{id}/file

Smaže PDF soubor s posudkem.


Téma závěrečné práce

Klíčový zdroj: /theses/{id}
XSI typ: kos:thesis

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
assignmentDate datum zadání date Oficiální datum zadání závěrečné práce. Tento datum se uvádí na výtisku zadání, který děkan podepisuje a přikládá se do textu práce.
branch cílový obor Branch Studijní obor, pro jehož studenty je téma určeno. Pokud není vyplněn, je téma určeno pro všechny.
department katedra Division Katedra, která téma vypsala (nemusí být vždy vyplněné, např. u disertačních prací zpravidla není).
defenseDate datum obhájení práce date
description popis tématu (zadání) string Text zadání tématu / pokyny k vypracování.
faculty fakulta Division Fakuta, na které bylo téma vypsáno, resp. fakulta studenta.
finalGrade závěrečné hodnocení string
keywords klíčová slova string ML
lang jazyk práce ClassesLang
licenceAgreed souhlas s licenčním ujednání boolean
literature literatura string Seznam doporučené literatury.
name název tématu string ML NN cs
reviewer oponent Person
proponent zadavatel (organizace) string
state stav ThesisState NN
student student Student Student, který má téma rezervované, nebo zadané.
submissionDeadline termín odevzdání date
supervisor vedoucí práce Person
summary abstrakt string ML
type typ práce ProgrammeType NN bakalářská (B) / magisterská (M) / doktorská (D)
dspaceUrl odkaz na DSpace string Odkaz vedoucí na stránku práce na https://dspace.cvut.cz/.

Rámcové téma závěrečné práce

Klíčový zdroj: /thesesDrafts/{id}
XSI typ: kos:thesis

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
branch cílový obor Branch Studijní obor, pro jehož studenty je téma určeno. Pokud není vyplněn, je téma určeno pro všechny.
creator vypsal Person Osoba, která téma vypsala.
department katedra Division Katedra, která téma vypsala.
description popis tématu string
faculty fakulta Division Fakuta, na které bylo téma vypsáno.
name název tématu string NN
type typ práce ProgrammeType NN bakalářská (B) / magisterská (M) / doktorská (D)

Posudek závěrečné práce

Klíčový zdroj: /thesesReviews/{id}
XSI typ: kos:thesisReview

{{sortable_table}}
Identifikátor Český název Datový typ Omezení Popis
thesis závěrečná práce Thesis NN
author autor posudku Teacher NN
proposedGrade návrh klasifikace string Známka na stupnici A-F
documentUrl URL dokumentu string PDF dokument s textem posudku

Stav tématu závěrečné práce

{{sortable_table}}
Identifikátor Český název Anglický název
AVAILABLE volné Available
RESERVED rezervované Reserved
ASSIGNED zadané Assigned
SUBMITTED odevzdaná Submitted
ACCEPTED potvrzená Accepted
DEFENDED obhájená Defended
UNDEFINED nedefinovaný Undefined

URL parametry

Seznam všech obecných URL parametrů používaných v KOSapi. Tyto parametry se zapisují do URL jako query string.

detail

Popis: Úroveň detailu vypsání zdroje. Zatím se používá pouze v Course.

Vstup: 0–1

Působnost: Course

fields

Popis: Filtrace vypisovaných elementů pomocí XPartial.

Vstup: XPartial výraz

Působnost: Atom Feed, Atom Entry

lang

Popis: Jazyk obsahu, přepíše hodnotu zadanou HTTP hlavičkou Accept-Language.

Vstup: cs|en

Působnost: všude

limit

Popis: Maximální počet požadovaných záznamů, neboli po kolika záznamech se má stránkovat.

Vstup: 1 - 1 000

Působnost: Atom Feed

locEnums

Popis: Mají se lokalizovat výčtové typy, nebo použít výčtový název?

Vstup: true|false

Působnost: Atom Feed, Atom Entry

multilang

Popis: Mají se vypsat multijazyčné názvy ve všech jazycích, nebo jen v zadaném (pomocí HTTP hlavičky Accept-Language nebo parametru lang)?

Vstup: true|false

Působnost: Atom Feed, Atom Entry

offset

Popis: Index prvního požadovaného záznamu (číslované od nuly) pro stránkování. Pozor na to, že KOSapi při stránkování nevynucuje řazení a bez něj databáze vrací záznamy v nedefinovaném pořadí! U některých zdrojů to může mít za následek vrácení nekompletní množiny záznamů s duplicitami. V takovém případě použijte parametr orderBy a řaďte např. podle id.

Vstup: 0 - 21 4748 3647

Působnost: Atom Feed

orderBy

Popis: Specifikuje řazení záznamů.

Vstup: Ordering

Působnost: Atom Feed

query

Popis: Vyhledá záznamy odpovídající zadanému RSQL výrazu.

Vstup: RSQL výraz

Působnost: Atom Feed

sem

Popis: Vyhledá záznamy platné pro dané semestry. V některých zdrojích má širší význam, který je poté explicitně uveden v dokumentaci příslušného zdroje.

Vstup: SemesterFilter

Působnost: není globálním parametrem


Slovníček pojmů

Na této stránce najdete slovníček všech pojmů používaných v KOSapi.

Na ČVUT bohužel neexistuje žádný jednotný slovníček anglických překladů univerzitních pojmů a v podstatě co web, to jiný překlad (i v rámci jedné fakulty). Všechny překlady jsem si proto musel sesbírat z různých školních webů, vybrat nejvhodnější, případně vymyslet vlastní. Jak jsem později zjistil, některé pojmy se překládají velmi problematicky, protože ve školství anglicky mluvících zemí neexistují nebo mají odlišný význam.

Pokud by vám některý překlad připadal špatný či matoucí, navrhněte prosím lepší.

Element Český název Anglický název
abbrev zkratka
academicTitle plánovaný titul
allowedEnrollmentCount povolený počet zapsání
approvalDate datum schválení
approved schválený
atelier ateliér
bachelor bakalářské
branch studijní obor
cancelDeadline uzávěrka odhlášení
capacity kapacita
capacityOverfill překročení kapacity
classesLang jazyk výuky
classesTypes metody výuky
code kód
completion způsob zakončení
consultation konzultace
coordinator koordinátor
course předmět
courseEvent jednorázová událost předmětu
coursesGroup skupina předmětů
coursesMaxLimit maximální počet předmětů
coursesMinLimit minimální počet předmětů
credit zápočet
clfd_credit klasifikovaný zápočet
credits kredity
creditsMaxLimit maximální počet kreditů
creditsMinLimit minimální počet kreditů
date datum
department katedra
description popis
diplomaName oficiální název
distance dálkové
divisionType typ střediska
division středisko
doctoral doktorské
editor editor
email e-mail
endDate datum ukončení
enrollment zápis (předmětu, paralelky)
exam zkouška
examiner zkoušející
extern externista
faculty fakulta
firstName křestní jméno
followup navazující
fulltime prezenční
fullName jméno
grade ročník (studia)
groupRole role skupiny
guarantor garant
instructor cvičící
internship stáž
keywords klíčová slova
laboratory laboratoř
lastName příjmení
lecture přednáška
lecturer přednášející
lecturesContents osnova přednášek
lifelong celoživotní
literature literatura
master magisterské
name název
note poznámka
objectives cíle
occupied obsazeno
office kancelář
openForAdmission otevřený pro přijímačky
parallel paralelka
parallelType typ paralelky (přednášková, cvičební, …)
parent nadřízené
parttime kombinované
pathway studijní průchod
personalNumber osobní číslo
phone telefon
programme studijní program
programmeType typ programu
project projekt
proposed navržený
proseminar proseminář
pt_course TVK
range rozsah
recommendedCredits doporučený počet kreditů
recommendedSemester doporučený semestr
rectorate rektorát
requirements požadavky
resit opravný (termín)
season sezóna
self_payer pro samoplátce (anglické)
semester semestr
seminar seminář
signinDeadline uzávěrka odhlášení
stageName umělecké jméno
startDate datum zahájení
state stav
studyDuration délka studia
studyForm forma studia
studyGroup studijní skupina
studyPlan studijní plán
substitutes náhradníci
superiorCourse nadřízený předmět
supervisionPhDStudents může školit doktorandy
supervisor školitel
teacher vyučující
timetable rozvrh
timetableSlot rozvrhový lístek
titlesPost vědecké tituly
titlesPre akademické tituly
tutorial cvičení
tutorialCapacity kapacita cvičení
tutorialsContents osnova cvičení
role role
username uživatelské jméno

Částečně vychází z https://www.fel.cvut.cz/en/education/vocabularyCA.html


XPartial

Server standardně vrací úplnou reprezentaci požadovaného zdroje, tedy se všemi elementy, které jsou pro něj definované. Ty ovšem mohou obsahovat mnoho elementů, které klient aktuálně nevyužije, ale musí vynaložit přenosovou kapacitu a výpočetní výkon pro jejich zpracování. V případě serverových aplikací, které mají k dispozici dostatečný výkon a využívají HTTP cache, to většinou nikterak nevadí, ale u lehkých aplikací, např. v JavaScriptu běžících ve webovém prohlížeči, to může představovat nezanedbatelnou zátěž.

Právě pro tento typ aplikací byl vyvinut XPartial, filtr aplikující restriktivní projekci nad výstupním dokumentem. XPartial vám umožní u každého GET zdroje určit, které elementy chcete zahrnout do výstupu, a to pomocí jednoduché syntaxe inspirované XPath. Požadované elementy se zapisují pomocí XPartial výrazu do URL parametru fields.

Příklad: https://kosapi.fit.cvut.cz/api/3/courses/MI-MDW?fields=id,content(code,completion,name)

Vrátí dokument obsahující pouze elementy /entry/id, /entry/content/code, /entry/content/completion, /entry/content/name a všechny jejich předky po cestě ke kořenovému elementu entry. Ekvivalentně lze zapsat také jako fields=id,content/code,content/completion,content/name.

Syntaxe

Formát XPartial výrazu je založen na syntaxi XPath a je kompatibilní se syntaxí Partial response Google Data protokolu, ovšem implementuje jen jeho podmnožinu.

Pár slov o implementaci

Implementace se skládá z parseru XPartial výrazu a SAX filtru, který je zařazen na výstupu služby, příp. před generátorem cílové datové reprezentace. Tady je nutné si uvědomit, že projekce se aplikuje až po zpracování celého požadavku, tedy až po načtení dat z databáze (či databázové cache) a jejich zpracování. Není proto vhodné ho nadužívat pro složitější filtrování dat, které lze dosáhnout jinými prostředky (např. pomocí RSQL dotazu). Jelikož známe své lidi, raději jsem možnosti XPartial cíleně omezil, aby ho nebylo možné nadužívat nežádoucím způsobem.