libisds
autor Petr Písař
libisds je klientská knihovna pro přístup k SOAP rozhraní ISDS napsaná v jazyce C (verze ISO99) a šířena podle podmínek licence LGPL-3. Zdrojové kódy lze získat na http://repo.or.cz/w/libisds.git. Knihovna vznikla v rámci projektu Multiplatformní přístup pro datové schránky.
Bugzilla
Chyby a požadavky týkající se libisds můžete hlásit v bugzille na adrese http://bugzilla.abclinuxu.cz/enter_bug.cgi?product=Datové schránky.
Cíl
Podporovat všechny operace, které ISDS nabízí, formou knihovny napsané v jazyce C a s co nejpřívětivějším rozhraním pro programátory.
Hotovo je:
- Přihlášení heslem
- Odhlášení
- Pingnutí serveru (DummyOperation)
- Zjištění informací o přihlášeném uživateli a jeho schránce
- Vyhledání cizích schránek podle zadaných kritérií
- Ověření doručitelnosti do cizí schránky
- Odeslání zprávy (jen binární dokumenty)
- Získání seznamu odeslaných zpráv
- Získání seznamu příchozích zpráv
- Stažení obálky příchozí zprávy
- Stažení podepsané doručenky (a nahrání z místní kopie)
- Stažení nepodepsané doručenky (a nahrání)
- Stažení nepodepsané příchozí zprávy (a nahrání) (jen binární dokumenty, pravděpodobně nedodržuje fyzickou strukturu XML)
- Stažení podepsané příchozí a odchozí zprávy (a nahrání) (jen binární dokumenty)
- Získání otisku zprávy prošlé ISDS ze systému
- Porovnání dvou otisků
- Označení zprávy v systému jako přečtené
- Nalezení dokumentu ve zprávě podle jeho identifikátoru
- Testovací funkce s neexistujícím požadavkem na systém, která vždy selže (vhodné pro programátory aplikací)
- Systém chybových hlášení a protokolování
- Automatické testy vybraných off-line funkcí
- Výpočet otisku místní kopie zprávy (čeká na implementaci zvláštního XML parseru zachovávajícího fyzickou strukturu XML)
- Ověření místní kopie zprávy, že prošla systémem na základě porovnání otisků (tato funkce je hotová, jen závisí na rozpracovaném výpočtu otisku)
- Podpora verze ISDS 2.1
- Nahrávání a ukládání podepsaných zpráv bez CMS obálky
- Správa schránky (změna údajů o uživateli a jeho práv, přidání a odstranění uživatele, žádost o vytvoření schránky, žádost o znepřístupnění schránky, žádost o znovuzpřístupnění schránky)
- Internacionalizace chybových hlášení (zatím jsou vyznačeny makrem, stačí přidat gettext)
- Indikátor průběhu stahování a nahrávání s možností přerušit operaci
- Odeslání dokumentu do systému Czech POINT na autorizovanou konverzi
- Přihlašování certifikátem
- Zbývající funkce ISDS (funkce pro soudy, vězeňskou správu, evidenci obyvatel)
Udělat v dohledné době:
- Ověřování podpisů a časových razítek zpráv
- Získání a odeslání XML dokumentů
Udělat později:
- Automatické testy on-line funkcí
- Asynchronní a vícevláknové zpracování
- Dokumentace (zatím se autoři aplikací musí spokojit s komentáři v hlavičkovém souboru)
Udělat někdy:
- Ostatní věci zmíněné v souboru TODO
Podrobný popis vývoje je v blogu: Zpráva z vývoje libisds.