[English](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README_en.md) - [Català](https://gitlab.com/digitaldemocratic/digitaldemocratic/-/blob/master/README.md) ### Llicència AGPLv3 (https://www.gnu.org/licenses/agpl-3.0.en.html) ### Crèdits Projecte pilot del Pla de Digitalització Democràtica dirigit per Xnet i famílies promotores. Programari creat per IsardVDI i 3iPunt amb la col·laboració de MaadiX.net, Affac, l’Ajuntament de Barcelona y el Consorci d'Educació de Barcelona # Què és això Aquest projecte permet facilitar un proveïdor d'identitat complet i moltes aplicacions per tenir un entorn pensat per a escoles i universitats. El projecte proporcionarà una solució integrada per a gestionar l'entorn comú en l'educació: - **Aules**: Una instància de Moodle amb tema personalitzat i connectors personalitzats. - **Fitxers**: Una instància del Nextcloud amb tema personalitzat i connectors personalitzats. - **Documents**: Una instància d'OnlyOffice integrada amb nextcloud. - **Pàgines web**: Una instància de pressió de paraules amb el tema personalitzat i connectors personalitzats. - **Pad**: Una instància etherpad integrada amb nextcloud. - **Conferències**: Un BigBlueButton integrat amb moodle i nextcloud. Necessita un servidor independent. - **Formularis**: Els connectors del nextcloud dels formularis. - ... (algunes aplicacions com jitsi o BigBlueButton no estan totalment integrades ara mateix) | | | | ---------------------------- | ------------------------------- | | ![](docs/img/classrooms.png) | ![](docs/img/cloud_storage.png) | # Interfície d'administració Ara hi ha una interfície d'administració que permet gestionar fàcilment usuaris i grups i mantenir-los sincronitzats entre aplicacions. Això es fa executant accions sobre les apis de les diferents aplicacions. | ![](docs/img/admin_sync.png) | ![](docs/img/admin_user_edit.png) | | ---------------------------- | --------------------------------- | Per migrar i introduïr fàcilment usuaris i grups al sistema també hi ha dues importacions:: - Des de la consola d'administració de Google en format JSON - Des d'un fitxer CSV Aquesta interfície d'administració està en estat alfa, però ja permet gestionar usuaris sincronitzats entre keycloak, moodle i nextcloud. # Estat del projecte Funcional, però hi seguim treballant i tindrà moltes millores en els pròxims mesos. Cal fer algunes automatitzacions, especialment amb la integració de SAML a Moodle i Keycloak. La vostra col·laboració és benvinguda! Podeu fer un *fork* del projecte per a desenvolupar o bé obrir-nos *incidències* en aquest repositori. # Documentació DigitalDemocratic Està escrita en markdown utilitzant [MkDocs+Gitlab](https://gitlab.com/pages/mkdocs). Mire al directori `docs` els fitxers Markdown o bé a [auto-built site](https://digitaldemocratic.gitlab.io/digitaldemocratic). ## Inici ràpid ``` cp digitaldemocratic.conf.sample digitaldemocratic.conf ``` Canvia les contrasenyes per defecte ``` ./securize_conf.sh ``` Editeu les variables de fitxer digitaldemocratic.conf per satisfer les vostres necessitats. ``` cp -R custom.sample custom ``` Edita i substitueix els fitxers per personalitzar el sistema. La primera vegada executa: ``` ./dd-ctl update-repo ``` I després: ``` ./dd-ctl all ``` NOTA: L'autenticació SAML actualment es troba automatitzada: - Moodle: No completament automatitzat. 1. Inicieu la sessió a moodle com a administrador via: https://moodle.\/login/index.php?saml=off 2. Aneu a la configuració d'autenticació: https://moodle.\/admin/settings.php?section=manageauths 3. Activa SAML2 fent clic a l'ull. 4. Clic a configuració* a SAML2 5. Feu clic al botó Regenera el certificat* dins del formulari. Després d'això, torna a la pàgina de configuració de SAML2. 6. Feu clic al botó Bloqueja el certificat*. 7. Al terminal executeu l'script per autoconfigure: acoblador exec isard-sso-admin python3 moodle_saml.py 8. L'última cosa és purgar la memòria cau de moodle: ]]femida l'script php-fpm7 de l'acoblador Exec, feu-ho a través de moodle ui]] - Nextcloud: automatitzada. Després d'acabar el *make all* hauria d'estar llest. En cas que falla es refereix a isard-sso/docs. - Wordpress: Pràcticament automatitzat. Després d'acabar el *make all* hauria d'estar llest i només caldrà activar el plugin. En cas que falla es refereix a isard-sso/docs. ## Instal.lació estesa Podeu iniciar aquest projecte en qualsevol servidor amb docker & docker-compose (qualsevol sistema operatiu hauria de funcionar). Per a instal·lar aquests paquets a la vostra distribució, consulteu el funcionament de docker-compose a la documentació oficial i a la carpeta sysadm teniu alguns scripts d'automatització Qualsevol distribució hauria de funcionar però, si voleu utilitzar els nostres scripts sysadm per instal·lar docker & docker-compose , utilitzeu Debian Buster (10). ### Clonar els submòduls ``` git clone https://gitlab.com/digitaldemocratic/digitaldemocratic/ cd digitaldemocratic git submodule update --init --recursive ``` ### docker Referiu-vos a la documentació oficial (https://docs.docker.com/engine/install/) o utilitzeu l'script a la carpeta sysadm per a Debian Buster (10). ### docker-compose Referiu-vos a la documentació oficial (https://docs.docker.com/compose/install/) o utilitzeu l'script a la carpeta sysadm per a Debian Buster (10). ### Configuració Copieu digitaldemocratic.conf.exemple a digitaldemocratic.conf i editeu-lo per satisfer les vostres necessitats. Com a mínim (per a desenvolupament) heu d'adaptar la variable de DOMINI al vostre domini arrel. - PRODUCCIÓ: Necessiteu un dns multidomini (o redirigeix els subdominis múltiples) a la vostra màquina d'amfitrió. - Desenvolupament: Editeu el fitxer /etc/hosts i afegiu els subdominis per a propòsits de proves locals. #### Subdominis - Keycloak: sso. - Api: api. - Moodle: moodle. - Nextcloud: nextcloud. - Wordpress: wp. - Onlyoffice: oof. - Etherpad: pad. - (opcional) FreeIPA: ipa. ### Personalització Copia recursivament la carpeta *custom.sample* a *custom* i edita els fitxers yaml de personalització i menú i substitueix les imatges. ### Iniciar el projecte La primera vegada (i si voleu actualitzar a la última versió posteriorment) executeu: ``` ./dd-ctl update-repo ``` I després ``` ./dd-ctl all ``` Posteriorment podreu iniciar o aturar amb: ``` ./dd-ctl down ./dd-ctl up ``` ### Integració Llegiu el fitxer [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/SAML_README.md) a la carpeta isard-sso/docs per integrar totes les aplicacions. Ara el Nextcloud i el Wordpress s'haurien d'integrar automàticament amb el Keycloak.