Kdo je kdo: Martin Rejman konsolidace systémů PS - https://wiki.pirati.cz/to/admini * vlákno na fóru - https://forum.pirati.cz/technicky-odbor-f183/upgrade-komunikacnich-systemu-t39079.html * analýza stavu a potřeb (upgrade týmu) - https://docs.google.com/document/d/1B84m40nJpPnSkmBiDcqMOQYkiyvM5d0F98T6CRapDrI/edit?ts=5a4d1b53#heading=h.qcld31crfdf4 * fyzická pracovní schůzka: v nedeli 21.1. ve sněmovně v 10:00 * zápis - https://docs.google.com/document/d/1YdigwAjJJtZaEzeY21KlPlDHij5TN2GKhV4meV1uv7E/edit?usp=sharing * CRM (HR) * parametry * členy, příznivce a dobrovolníky pro účely PO a KoDo * na kolaiční partnery (strany, lidi) pro účely MS, KS, poslanců, atd. * diskuzní fórum * parametry * ankety (nutné pro PaRo, sbírání hlasů pro členské podněty) * anonymní vytvoření příspěvku (bez nutnosti registrace) * archivace (volitelná) * blokování uživatelů (skrývání příspěvků od nich, nastavitelné per uživatel) * decentralizace * jednotlivých implementací - standardy * skupin + moderace + uživatelských práv * fultextové vyhledávání * historie modifikaci prispevku + nemoznost odstranit jednou zverejneny obsah * hlasování (formální nebo Helios) * hodnocení příspěvků (like/poděkování) * integrace * API, integrovatelnost do jiných systémů * audio/video * chat * skupiny stálé i ad hoc * s centrální správu identit (PirateID, LDAP, ..) * sdílení dat (např. mezi přáteli, mezi vedoucím týmu a jeho členem) * jednání (jednoduché věci, specifikované workflow) * dáno jednacím řádem * možná omezený počet lidí * lokalizace do češtiny * micro a dočasný update: mute pro celé fóra, ne jen vlákna. I kdyby to mělo jen automaticky poklikat všechny vlákna v daném fóru na mute (tzn nefungovalo by to na nově vytvořená) bylo by to fajn * mobilní přístup (dobrá responzivita či přímo aplikace * možnost nastavit limit délky příspěvku * nízkoprahovost * "podatelnový mikrosystém" použitelný pro libovolné týmy i celou stranu ve stulu "pokud máte dotaz na stranu/TO/garanty programového bodu/whatewer, zanechte dotaz a kontakt, na který byste chtěli odpověď" s tím, že to automaticky vyrobí vlákno na fóru pošle to echo na zvolené lidi nebo/a vyrobí tiket v redmine * připíchnutí tématu * odběry dle lidí, tagů/témat, konkrétních diskuzí, členství ve skupině * odlišit oficiální x neoficiální * ochrana osobnich udaju (IP adresy) pred moderatory * odkazy na "primární" zdroje * odolnost vůči útoku jednotlivce nebo malé útočné skupiny * open source s aktivní komunitou / vývojem / maintenance - na stranickém železe * plnohodnotna funkcionalita i bez zapnuteho javascriptu a povolenych obrazku (jinak maji svetlotesni smulu) * polovědecké vyměňování příspěvků, strukturovaná diskuse (ala Reddit, Askbot, Discourse, StackOverflow) * reputace * obecněji : https://en.wikipedia.org/wiki/Reputation_system * decentralizovaná https://www.koikonfait.com/fr/e/5a4d917948237e27e511cc27/bitcoin-meetup-decentralizovany-reputacni-system | záznam - https://youtu.be/-ToQvrByFYM * ve stylu stack exchange, možnost seřazení podle hodnocení, dvoustupňové stromy, kladné i záporné hodnocení, možnost výběru nejlepších * rich-text formatovani * ROBOT9000-like system zamezujici uzivateli mlyt jak kafemlejnek porad to stejny dokola nekolik let v kuse * skupiny + jejich seznam (škálovatelnost) , , stromové uspořádání * soukromé zprávy na jednotlivce i skupiny * striktni ochrana soukromi uzivatele (proxy na obrazky, nemoznost vkladat vykonatelny kod, odchozi odkazy pres trampolinu apod.) * sumarizace obsahu https://www.kialo.com/ * šifrování * škálovat i na tisíce členů a odborné týmy i lokální buňky * téma jen pro čtení těm, co nejsou členy * upozornění * mail * v zařízení * aby si každý mohl vybrat způsob (tj. emailem, hromadně, pouze SMS avízo, ... ) a obsah ( všechno, jen vlákno, vybrané, jen moje, ...). Pro odesílatele by mělo být snadné napsat zprávu jednou, ta se následné odešle poptávanými kanály dle nastavení jednotlivých uživatelů * UX * nebyt zahlcen * připojení se do rozsáhlého tématu (např. nepodmíněný příjem) * ve výchozím nastavení všechny příspěvky: * 1. zobrazitelné, když chci (pokud není čtení skupiny uzavřené jen pro členy), * 2. nesledované (ať nejsem přehlcen), s možností nastavit si sledované skupiny (např. kde jsem členem) či témata * úprava priorit zobrazování pozitivně hodnocených příspěvků oproti negativně hodnoceným ( např. v 15ti stránkové diskusi může být pouze cca 10 hodnotných přípěvků, které ale nikdo nenajde * uživatelská přívětivost, možnost lehce najít, co mně zajímá a rychle se zapojit * vše jednoduše default dohledatelné (read access když chci) ale by default skryté (ať nejsem přehlcen), včetně skupin (např. s filtrováním) * verejne audit logy moderace * vytrzeni cast prispevku jako off-topic do samostatneho vlakna * výběr témat * zabránit nepřehlednosti diskuse pramenící z příspěvků, které jsou off-topic / hate / mimo téma * tipy * Discourse https://en.wikipedia.org/wiki/Discourse_(software) | demo https://try.discourse.org/ * | implementace islandští Pirati https://x.piratar.is/polity/1/ * hlasování * tipy * Helios * identity * již máme funkční Keycloak https://auth.pirati.cz, který by měl umět většinu níže až na funkcionalitu Midpointu * management * parametry * konekory na všechy sytémy používané v PS * Jakým způsobem budou uloženy informace o skupinách, členství uživatelů v nich a návazná oprávnění ? ( Zde bychom měli využít LDAP a Keycloak pro případné dopočítání složitějších oprávnění. Alternativou je skladovat tato nastavení v jednotlivých miniaplikacích včetně logiky např. navázané na LDAP skupiny). * tipy * midPoint https://evolveum.com/midpoint/how-it-works/ | demo https://demo.evolveum.com/ * provisioning * parametry * funkčnost napříč technologiemi (OAuth, SAML, OpenID, ..) * akceptace externích identit (např. FB, mojeID, ..) * spojování uživatelských identit * .. * tipy * eduID.cz | https://www.eduid.cz/cs/index * spojování identit řeší Perun - https://www.eduid.cz/cs/aa * Single sign-on (SSO) * parametry * jednotného místa přihlašování (SSO KeyCloak s napojením na LDAP a možností přihlášení pomocí Facebook, Google a dalších účtů) a editace základního profilu (username, email, heslo, 2FA autentifikace, reset hesla emailem) * tipy * CAS (Central Authentication Service) https://apereo.github.io/cas/5.0.x/index.html | demo https://jasigcas.herokuapp.com/cas * Gluu https://www.gluu.org/ | demo * keycloak - vybrán po rešerši * instant messaging (IM) * parametry * archivace * uncke/skupiny v komunikátoru na filtrování * hodnocení příspěvků * poslat obrázek, soubor, odkaz * audio/video komunikace * historie/archiv * možnost vyhledávat * skupiny stálé i ad hoc * tagy * tipy * IRC * NextCloud Talk (nové ve verzi 13) * RocketChat * Riot.im (postaveno na Matrix.org) - má end to end šifrování * Slack * SMS brána (chceme) * kalendáře * mail server * hromadné emaily * parametry * odeslání pod obecnou identitou typu news letter např. news@pirati.cz * odeslání personalizovaných textu pod osobní identitou (změna oslovení apod.) * * možnost vlastních adresátů (seznam copy-paste) * navázat hromadné mailingy na skupiny - tj. kdo komu co posílá * vazba na CRM, správu identit * není potřeba - řeší se jako redirect dle uživatelského profilu * navigace mezi systémy, integrace * automatizátory častých úkonů * aplikace pro oznámení schůze MS či KS: automatizovaně (či poloautomatizovaně) vytvoří příspěvek na fóru, vytvoří událost v kalendáři a na Facebooku, nachystá dokumenty pro plán schůze a zápis ze schůze, pošle newsletter emailem, notifikuje členy sdružení na IM, ... * nástěnka odboru: přehled nových a nedávno dokončených úkolů z podatelny, nejnovější diskuse na fóru v sekci odboru, přehled členů, odkazy do wiki, dokumentů, kalendář schůzí, ... * osobní přehled / rozcestník - přehled mých úkolů, novinky na fóru (v diskusích kterých se účastním či sleduji), aktuálně běžící hlasování které se mě týká, odkazy do dokumentů, odkazy na profil v registru lobbystických schůzek, můj pirátský kalendář (schůze MS, KS, mých týmů, ...), ... * corporate identity - ať ty systémy vypadají stejně nebo aspoň podobně * ať je nahoře vždycky lištička ala wiki a všechny weby mají jednotný barevný vzhled * možnost alespoň sdílet např. na FB jednoduché odkazy do dalších systémů * přehled sytémů (ala skouktská křižovatka), nástěnka * rozcestníky, nástěnky, * sepsání "best practice" - tyto činnosti děláme takto (lidé se to pak naučí a nebudou hledat další cesty) * dvojsměrnost křižovatky - tj. nejen napsat na křižovatku know-how, ale i do systému prolinkovat zpět na "dokumentaci procesu", odpovědné osoby (za technickou stránku, za informační obsah, garant, ... ) případně další organizační záležitosti * UX * boční lišta pro překlikávání mezi systémy (návrh jedné konkrétní realizace přehledné orientace v dostupných systémech) * jednotný design pro koncové uživatele * nezařazeno/zbytky * aplikace by pak měla být vytvořena podle zásad (komentujte, doplňujte): * deployment * environment properties - vazby na vnější (porty, kudy maily, ..) * Heroku(?) * popis co aplikace potřebuje * dobrá udržovatelnost * dodržování principu YAGNI - https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it * dokumentace již v samotném zdrojovém kódu (samostatně se píše špatně, nebo vůbec), případně vedle - platí, že kód se napíše jednou, ale číst a pochopit ho bude muset více lidí, tj. čím přímočařejší pochopení, tím lepší. * ideálně zabalená v instalačním balíčku (docker, virtuálka, ... ) * postup pro otestování funkcionalit aplikace, ideálně automatizovaný (jakými nástroji ?) * prototyp aplikace (integrace či GUI bude obecné) * přihlašování přes SSO, napojený framework na API, připojení společné lišty, zabaleno v dockeru s preferovanou databází * shlédnout přednášku Dealing With Complexity https://youtu.be/1_oU4qW7I9M (15:12-21:42 a 25:12-33:42 můžete přeskočit). TLDR verze * Složitost je cokoliv, co brání vám nebo někomu jinému udělat správnou věc teď nebo v budoucnu. Jednoduchost je opak - cokoliv co tomu pomůže. Jednoduchost je těžká. Každý složitý systém se vyvinul z jednoduchého. * zdrojové kódy dostupné v GITu * aplikace pro editace rozšířených profilových informací uživatele (medailonek na web, dovednosti, možnosti pomoci pirátům ... * aplikace ve formě "mini" služeb - tj. aplikací zaměřených na splnění konkrétních "SMART" cílů, tj. relativně malé, jednoúčelové aplikace, které se budou snadno testovat, budou poskytovat data, API a přímé prokliky ostatním aplikacím tak, aby se informace dobře sdílely, kde je potřeba. * Asi panuje shoda na tom, že phpBB fórum je vzhledem k možnostem strukturování a hodnocení informací nejjeddnodušší možné. Návrh dále rozpracuji, můžeme ho diskutovat.) * inspirovat se lze i u univerzitních systémů, které jsou rovněž komplexní * jednací software * komunikace se členy příznivci tak, aby si mohli vybrat, o jaké informace mají zájem * stack overflow * Nástroje pro zadání toho, kdo se jaké informace se má kdo dozvědět, a také, komu má na ně odpovídat (např. při rozesílání hromadných emailů / SMS). * Správně zapojit lidi, ten, kdo nám chce pomoci, má velkou bariéru v tom, že stávající lidé jsou přetížení. Je potřeba mít systémy "nízkoprahové" (tomu by mělo pomoci SSO a jednotná identita) * virtualizace HW (již je) * zadání nesmí vést k technickému dluhu v systémech do budoucna * projekty/úkoly * tipy * Redmine (používáme) * sdílení znalostí * wiki * sociální sítě * FB (snaha nahradit) * tipy * redit * Twitter * souborové úložiště a kolaborativní práce * drive.google (snaha nahradit) * parametry * oprávně na základě účtu i zasláním odkazu. Možnost vzájemně kombinovat * odkaz jen pro čtení * řazení do složek i dle tagů * synchronizace osobních zařízení * upozorňování na úpravy * verzování * komentáře/poznámky bez zásahu do vlastního obsahu * je potřeba připomínkovat konkrétní části textu * tipy * Nextcloud | https://en.wikipedia.org/wiki/Nextcloud * kolaborativní editace je založená na LibreOffice * umí IM (které konkrétně) * end-to-end šifrování