Decidim - elektronický podpis do PDF není konfigurován #518
Labels
No Label
app-basic
app-ckan
app-crisiscleanup
app-cts
app-decidim
app-dhis2
app-frontlinesms
app-gnuhealth
app-kanboard
app-mifosx
app-motech
app-odoo
app-opendatakit
app-pandora
app-sahana
app-seeddms
app-sigmah
app-taarifa
app-ushahidi
critical
CZ
documentation
Doing
enhancement
GMaps
info
Mapbox
needinfo
new-app
OSM
performance
QGIS
regression
suggestion
To Do
upstream
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Disassembler/Spotter-VM#518
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decidim umožňuje připojit elektronický podpis do PDF, pokud je tato služba konfigurována.
V dokumentaci: https://docs.decidim.org/en/configure/initializer/#_pdf_signature_service
Není určeno, která služba konkrétně to má být, k dispozici jsou pravděpodobně jmenované: https://www.guru99.com/free-electronic-signature-software.html
na Githubu zmíněno v issue, které bylo uzavřeno https://github.com/decidim/decidim/issues/4753
pro integraci pravděpodobně užitečný https://www.kryptokoder.com
changed the description
changed the description
Tady zkusím popsat moji uživatelskou zkušenost.
Založení Iniciativy vynucuje mít ověřenou identitu.
Dokumentace k pochopení Initiatives: https://docs.decidim.org/en/admin/initiatives/ včetně screenshotů nebo v PDF
https://decidim.org/pdf/Decidim_AdminManual_EN_0.10.pdf strana 81
Podobné a rozšířenější je vysvětlování k Petitions na straně https://en.docs-decidim.opensourcepolitics.eu/category/69-initiatives (Tato strana je nějaký derivát návodu na použití Decidim. Modul Iniciativy je zde vysvětlen jako Petice)
Příprava prostředí na založení Iniciativy:
experimentálně jsem si vyzkoušel, že při zaškrtnutí více parametrů to sice obohatí ten vstupní proces, ale Už ve fázi výroby Iniciativy to nakonec zhavaruje. Hláškou "Chyba na straně serveru" Takže to znamená že iniciativa nelze založit a tudíž ještě nedošlo ani k interakci uživatele s iniciativou.
Při nastavení méně zaškrtátek u přednastavení typu iniciativy, prakticky žádných, je situace lepší:
Administrátor v admin rozhraní musí ale nastavit jaký počet minimálních hlasů musí iniciativa mít. A pokud má mít iniciatva také propagační výbor, tak kolik minimálně lidí je v tom propagačním výboru. Tohle pak už zakladatel iniciativy neovlivní. Vybírá si totiž z nabídky jen pevně nastavených typů iniciativ.
Když jsou typy iniciativ adminem připravené, tak v uživatelském rozhraní lze Uživatelem=zakladatelem vybrat typ a založit novou iniciativu, vyplnit veřejný formulář a tento formulář "dokončit" což znamená dojít do fáze "odeslání k technickému schválení". Ještě není Iniciativa veřejně viditelná.
Když se to povede až sem (což znamená že nedošlo k chybě na serveru), tak zakladatel Iniciativy (=Uživatel) má najednou nový, ale omezený přístup do administrátorské části rozhraní, tedy jen ke své Iniciativě. Tam iniciativě může upravit parametry. Zároveň může pozvat pro její propagaci a podporu další "kámoše=členy výboru" z Decidimu. Dělá se to tak, že Iniciativa má v admin rozhraní neveřejnou URL, kterou si zakladatel Iniciativy zkopíruje do clipboardu a pak ve své konverzaci (interní pošta v decidimu) vybere příjemce a odkaz mu pošle s výzvou aby se připojil k iniciativě.
Oslovený kámoš si v poště klikne na odkaz a požádá tím, aby se stal členem komise iniciativy. Toto se zjeví také v admin rozhraní pro zakladatele iniciativy. Tam může zakladatel iniciativy jeho přistoupení ke komisi potvrdit. Vizuálně se připojení člena pak ukáže i v záhlaví veřejné stránky Iniciativy. (Pozn. spottera: Tento proces s kopírováním do clipboardu kvuli pozvánce do výboru mi přijde jako dementní, ale chápu že posílání neveřejného URL je asi možné i mimo Decidim a proto to dělají tímto postupem)
Role Admina je v tuto chvíli taková, že vidí, že někdo založil novou Iniciativu. Zakladatel ji potřebuje schválit, aby byla veřejně viditelná. Admin má možnost upravit některé parametry (datum od-do, zařazení) a dole pod formulářem má tlačítka na schválení, nebo odmítnutí. Adminem vyřazené Iniciativy už nejde vrátit zpět ani adminem. V administraci ale zůstávají k prohlížení.
Už v této fázi vidí Admin pod formulářem tlačítko "Export PDF podpisů" což je přímý link na soubor PDF. (ten se tím má vygenerovat) Toto tlačítko je aktuálně vedoucí k havárii ukazující textovou hlášku
500 Internal Server Error If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.
protože to zjevně chce vyrobit PDF s obsahem, co neexistuje, nebo není konfigurováno. No, tady to ještě není nic co by překáželo ve veřejném provozu iniciativy, ale už to naznačuje, že něco je špatně.
V možnostech admina je i reakce na Iniciativu v jakékoliv fázi její existence. Ta se pak zobrazí v zeleném boxiku pod Iniciativou veřejně.
Pozn.: Zakladatel by měl také v přípravné fázi mít možnost u své iniciativy editovat a odeslat k technické validaci přímo z veřejného rozhraní.
Je to vidět na tomto screenshotu a jsou to ty velká červená tlačítka.
Jenže jak jsem to zkoušel, tak takto červená tlačítka jsem nikdy neviděl. pokus o editaci iniciativy je umožněn pouze v tom uživatelském-admin rozhraní
Ok, posuňme se dál. Řekněme, že admin klinkutím na tlačítko vedoucí ke schválení a publikování iniciativy schválí její technickou způsobilost. Tím se iniciativa stává zveřejněnou a když má termín od-do v přítomnosti, tak k ní můžou uživatelé hlasovat.
Vybral jsem si tedy uživatele, který má autorizaci pouze jedním způsobem = kód v listovní zásilce. (schválení tímto primotivním způsobem lze udělat protože jsem i admin a tak vím jaký kód uživateli posílám, nemusím si posílat dopis poštou)
Uživatel se tedy pustí do hlasování tím, že v iniciativě klikne na tlačítko Podepsat.
Zde pozoruji další situaci, která mi není úplně jasná proč se děje zrovna takto.
V nějakých prvních stádiích testování tohoto procesu jsem při nedostatečné autorizaci byl vyzván, abych doplni své údaje, nebo abych se autorizoval ještě jedním způsobem.
Nyní, s uživatelem který má jen jednu autorizaci, vyzýván nejsem a rovnou to ukáže tuto chybovou hlášku.
Tato hláška se ale zobrazuje u každého, i nově založeného uživatele bez jakékoliv autorizace. Čili u tohoto hlasujícího uživatele Decidim nemůže vědět praktivky nic, tedy ani kolik mu je let, odkud je a zda je uživatelem způsobilým k hlasování.
Hláška tedy vytváří dojem, že vůbec nesouvisí s kvalitou ověření uživatele.
okolnosti se SMS
V dokumentaci jsem zahlédl, že proces vyzývání nedostatečně způsobilého uživatele je v dialogovém okně, které navrhuje jakým způsobem se ověřit. A myslím že tam právě bylo nabídnutí k zadání telefonního čísla. To tedy znamená využití SMS gateway, přes kterou Decidim pošle znova nějaký ověřovací kód.
V mém případě jsem se nepotkal s možností, že bych někde při tomto ověření zadával telefonní číslo. Vysvětluji si to tak, že komponenta zajišťující SMS není zapnuta a tak se ani nenabízí v interakci s uživatelem.
Takové dialogové okno tedy vnímám jako "zpracovaný proces" potvrzování... aby skutečně podesal jen validní uživatel. Zatímco hlášku "Při podpisu iniciativy došlo k chybám" chápu jako velmi nekonkrétní hlášku upozorňující že se něco (cokoliv v modulu Iniciativy) rozbilo. A nemusí to být konkrétně ve fázi podpisu toho konkrétního divného uživatele.
Druhý postřeh s absencí možnosti SMS je právě zas v nastavení sekce administrace, kde na tomto screenshotu z dokumentace je uplně dole možnost zaškrtnout SMS ověření. Já tu možnost nemám.
OK. takže shrnuto z mého pozorování:
zjistit jestli se při využití zaškrtátek u nastavení typu iniciativy dá potlačit oznámení "chyba na straně serveru" a tudíž následně i dokončení typu iniciativy s jinými než základními parametry.
zjistit ze systémového logu, co je příčinou 500 internal server error a jak se toho zbavit, nebo zda to má vliv na jiné operace až do fáze podpisu v iniciativách
zjistit důvod terminální hlášky Při podpisu iniciativy došlo k chybám a podle toho se zařídít.
zjistit skutečný vztah ověřování přes SMS k dokončení iniciativy. Podle mne je to nějak zasocháno i do nastavení formuláře iniciativy.
Pozn.: o časové razítko na PDF zřejmě půjde, protože
na tomto screenshotu je vidět otisk exportovaného PDF včetně timestamp a hash.
pozn. 2: Jestli má Decidim nějakou potíž s překladem textů do PDF, tak podle ukázaného screenshotu umí zjevně angličtinu a podle mého reálného testu umí katalánštinu. To už jsou 2 jazyky. Není mi tedy jasné jak se s jazykovými mutacemi v PDF vypořádává Decidim. Jestli to je nějak blbě nastaveno, nebo někdo zapomněl, že kromě katalánštiny a angličtiny existují i jiné jazyky.
Toto: https://github.com/decidim/decidim/issues/5447 Přidám tam update.
Vidím tam nějakou chybu
ActionController::RoutingError (No route matches [GET] "/admin/officializations")
která na mě působí jako že by to mohla způsobovat. Zkusím zjistit, co se tam děje a případně otevřeme issue.Nemyslím si, že nějaký je. SMS ověření je prostě jen další metodou, která na rozdíl od těch několik předchozích vyžaduje ještě dodatečnou konfiguraci. Kód iniciativy říká, že uživatel musí být verified, neříká ale jakou metodou. Mimoto se to nutnost autorizace u iniciativ dá vypnout úplně, viz readme na https://github.com/decidim/decidim/tree/develop/decidim-initiatives
V kódu je to jako úplně normální ERB template používající překladatelské funkce.
https://github.com/decidim/decidim/blob/develop/decidim-initiatives/app/views/decidim/initiatives/admin/initiatives/export_pdf_signatures.pdf.erb Namátková kontrolu říká, že příslušné řetězce v souboru s překladem jsou. Řešil bych až po odstranění předchozích dvou problémů.
Mno, zkusil jsem replikovat ten postup pro založení iniciativy, export PDF mi háže tu stejnou chybu co popisujete. Podepsání mi ale normálně jde a chybovou hlášku nedostávám a můžu podepsat i uživatelm, který je pouze registrován, ale ne ověřen, protože jsem nevynutil žádný konkrétní způsob ověření v typu iniciativy. Pokud zadám ověření dokladem, jsem při podpisu vyzván k vyplnění údajů a pokud jsem se předtím neověřil, následně odpálkován s tím, že "Údaje poskytnuté k podpisu iniciativy nejsou platné". Pokud jsem se ověřil a zadám stejné číslo dokladu, tak tu stejnou hlášku dostanu taky :) Nicméně takovou hlášku, jakou máte vy, se mi vyčarovat nepovedlo. Co jste si všechno vyklikal při vytváření typu iniciativy, potažmo iniciativy samotné?
Co se týče toho screenshotu s tlačítky edit a send to technical validation, u nás je edit nahoře vedle jména uživatele a send pak schovaný ve formuláři pro editaci samotném. Možná je to něco nového v 0.24 nebo naopak něco starého.
myslím že jste adminem v Decidim, takže než bych to screenshotoval a popisoval, tak to zkuste vidět tady:
https://decidim.spotter.cz/admin/initiatives_types/1/edit
respektive je jich tam víc: https://decidim.spotter.cz/admin/initiatives_types
a nějak jsem neobjevil jakoukoliv funkční konfiguraci.
U vytváření samotné inicitativy už postuppuji jak otrok tak, jak mi formulář dovolí. cokoliv by bylo špatně, tak mi nedovolí dokončit.
Že je možné nastavit konkrétní typ ověření vím, zkoušel jsem to měnit, stejně jsem hlášku o nemožnosti dokončení dostával. Ikdyby v tom byl rozdíl, tak bych čekal že aplikace zahlásí něco srozumitelného, ne že došlo k chybám a nazdar.
Uf... hm, co s tim. Nemohlo se stát, že "upgradovaná instance https://decidim.spotter.cz" je obohacena nějakými mými pavouky, které v čisté instalaci nejsou?
Jeden nesmysl tam stále nechápu. A ten nesmysl si tak trošku zapříčinili v Decidim, když udělali dva typy filtrovacích rozsahů:
to jsou ty, které používají to vyskakovací okno modal, kde se vybírají konkrétní oblasti.
oni se pak k tomu někde vyjádřili, že to dělené neni úplně šťastné, ale přesto tam je.
Já jsem tedy nadefinoval Scopes jako Oblasti působnosti a area na tematické oblasti.
(pozn: zde je zrovna příklad, kdy absence druhého jazyka v uživatelském rozhraní je peklo, když mám něco porovnávat z cizích jazyků. Nelze přepnout do angličtiny :(
Mno... jenže když teď jako Zadavatel iiniciativy zadávám to, co formulář iniciativy chce, tak tam je formulářový dropdown Area (nepřeložitelný) kde se vybírají tematické oblasti.
ale nahoře v nápovědě mě to láskyplnně ptá jestli mám všechno správně vyplněný: Jaký je geografický rozsah iniciativy? Město, okres? Čili to chce Scopes? eee.?
supr... i kdybch to moc chtěl vyplnit, tak zrovna neni možnost kde???
Tady tuším nějakou zradu. Chce to něco, co nelze v této konfiguraci splnit.
No mohlo, protože koukám, že u Vás se při kliknutí na podpis vůbec neposílá ID té iniciativy, která se podepisuje, takže Decidim pak takový request odpálí s chybou
422 Unprocessable Entity
, která značí sémantický problém s požadavkem, což je správně. Proč se ale to ID neposílá je mi záhadou, protože ten image je úplně čistý a identický s tím, na kterém testuju já, a jediné, co se liší jsou akorát data v databázi a kousky konfigurace v inicializačním souboru, které v tomhle případě ale nejsou relevantní.ještě pozn. na site: https://voda.spotter.cz mam zase jiné typy iniciativ a mam tam i založené uživatele. Teď jsem si tam uživatele ověřil a zkusil založt iniciativu. Chová se to na první pohled stejně. Předpokládám proto, že to běží na stejném instalaci.
Napadlo mne, jestli by pomohlo pro otestování pavouků, že byste udělal dump databáze a tato data vstrčil do té čisté instalace? Pak zkusit vyrobit iniciativu s těmi stejnými daty tam? Dalo by se tim odhalit že moje site je uozbitá v kódu a nikoliv uozbitá v datech? (laická představa)
zkusil jsem na VM vyrobit iniciativu. Při opravdu minimálním settingu se tam dá vyrobit iniciativa a dá se zahlasovat. Takže funkce přifání hlasu tam ve speciálním případě funguje.
Nicméně při pokusech o složitější nastavení jsem se poměrně snadno dostal do fáze kterou už znám = Iniciativa nejde ani dokončit a dostanu hlášku "Chyba serveru". To se stalo i tehdy, když jsem ve formuláři měl umožněno zadat datum ukončení sběru podpisů a zadal jsem tam datum v minulosti. a hle - chyba serveru.
Jestli to tedy je příčina, tak by si chlapci měli pořešit a zakázat zadávání datumů do minulosti. To je evidentně nesmysl.
moved to decidim#9