Documentazione in corso di aggiornamento. Dubbi, refusi, + info: milanocollabora [presso] comune [punto] milano [punto] it
i testi della piattaforma sono licenziati in CC BY-NC-SA 3.0 [common deed] [legal code]
il tema è basato su Bootstrap 4 e rilasciato sotto licenza AGPL 3.0 [tldrlegal] [legal code]
La piattaforma Milanoaiuta servizi è stata sviluppata con un occhio di riguardo alla possibilità di riuso: tutto il software utilizzato è F/LOSS (Free/Libre Open Source Software), con codice sorgente aperto, disponibile per il riuso, la modifica e il rilascio pubblico. Si è optato per l'utilizzo in particolare di software privo di costi di licenza.
Di seguito saranno illustrate brevemente le caratteristiche software della piattaforma ed eventualmente le ragioni delle scelte effettuate. Saranno elencati in dettaglio i moduli utilizzati, sia core che contributed. Viene fornito contestualmente accesso a quelle parti di software sviluppate ad hoc per questo progetto, esclusivamente relative all'impostazione grafica (tema), oltre che al sistema delle categorie (tassonomia servizi). Ogni altro aspetto dello sviluppo è relativo a configurazioni dei moduli e a dettagli sistemistici, ovvero non ha richiesto ulteriore sviluppo di codice dedicato.
caratteristiche software della piattaforma milanoaiuta-servizi
- LEMP stack (Linux, Ngnix, MySQL, PHP) > la scelta di Ngnix al posto di Apache (LAMP stack) è stata dettata principalmente dalla necessità di rapidità di sviluppo e integrazione veloce dei moduli PHP. In particolare, sono stati utilizzati:
- Ubuntu 18.04 server LTS
- Drupal 8
- Matomo Analytics
- Jquery
- JqueryUI
Sono stati attivati una parte consistente dei moduli core di Drupal 8, aggiungendo poi solo i moduli contributed necessari per mettere in opera le caratteristiche richieste.
Per venire incontro a esigenze di sicurezza nell'inserimento dati (servizi), si è ritenuto necessario creare un sistema di categorie harcoded, cioè non modificabile dagli amministratori della piattaforma tramite l'interfaccia grafica (backend Drupal 8). Per modificare le categorie è necessario intervenire a livello del tema, in particolare modificare le relative porzioni di codice twig.
Moduli Drupal utilizzati
$ drush pm-list --type=Module --core --status=enabled
-------------- -------------------------------------------------- --------- ---------
Package Name Status Version
-------------- -------------------------------------------------- --------- ---------
Core Automated Cron (automated_cron) Enabled 8.8.4
Core Block (block) Enabled 8.8.4
Core Custom Block (block_content) Enabled 8.8.4
Core Breakpoint (breakpoint) Enabled 8.8.4
Core CKEditor (ckeditor) Enabled 8.8.4
Core Color (color) Enabled 8.8.4
Core Comment (comment) Enabled 8.8.4
Core Configuration Manager (config) Enabled 8.8.4
Core Contact (contact) Enabled 8.8.4
Core Contextual Links (contextual) Enabled 8.8.4
Field types Datetime (datetime) Enabled 8.8.4
Core Database Logging (dblog) Enabled 8.8.4
Core Internal Dynamic Page Cache (dynamic_page_cache) Enabled 8.8.4
Core Text Editor (editor) Enabled 8.8.4
Core Field (field) Enabled 8.8.4
Core Field UI (field_ui) Enabled 8.8.4
Field types File (file) Enabled 8.8.4
Core Filter (filter) Enabled 8.8.4
Core Help (help) Enabled 8.8.4
Core History (history) Enabled 8.8.4
Field types Image (image) Enabled 8.8.4
Multilingual Language (language) Enabled 8.8.4
Field types Link (link) Enabled 8.8.4
Multilingual Interface Translation (locale) Enabled 8.8.4
Core Custom Menu Links (menu_link_content) Enabled 8.8.4
Core Menu UI (menu_ui) Enabled 8.8.4
Core Node (node) Enabled 8.8.4
Field types Options (options) Enabled 8.8.4
Core Internal Page Cache (page_cache) Enabled 8.8.4
Core Path (path) Enabled 8.8.4
Core Path alias (path_alias) Enabled 8.8.4
Core Quick Edit (quickedit) Enabled 8.8.4
Core RDF (rdf) Enabled 8.8.4
Core Search (search) Enabled 8.8.4
Core Shortcut (shortcut) Enabled 8.8.4
Core System (system) Enabled 8.8.4
Core Taxonomy (taxonomy) Enabled 8.8.4
Field types Text (text) Enabled 8.8.4
Core Toolbar (toolbar) Enabled 8.8.4
Core Tour (tour) Enabled 8.8.4
Core Update Manager (update) Enabled 8.8.4
Core User (user) Enabled 8.8.4
Core Views (views) Enabled 8.8.4
Core Views UI (views_ui) Enabled 8.8.4
-------------- -------------------------------------------------- --------- ---------
$ drush pm-list --type=Module --no-core --status=enabled
----------------------------- --------------------------------------------------- --------- ----------------
Package Name Status Version
----------------------------- --------------------------------------------------- --------- ----------------
Administration Admin Toolbar (admin_toolbar) Enabled 8.x-2.2
Administration Admin Toolbar Search (admin_toolbar_search) Enabled 8.x-2.2
Administration Admin Toolbar Extra Tools (admin_toolbar_tools) Enabled 8.x-2.2
Advanced CSS/JS Aggregation Advanced CSS/JS Aggregation (advagg) Enabled 8.x-4.0
User interface Back To Top (back_to_top) Enabled 8.x-1.1
Views Better Exposed Filters (better_exposed_filters) Enabled 8.x-4.0-alpha1
Other Block Class (block_class) Enabled 8.x-1.1
Bootstrap Bootstrap Library (bootstrap_library) Enabled 8.x-1.11
Chaos tool suite Chaos Tools (ctools) Enabled 8.x-3.4
Views DraggableViews (draggableviews) Enabled 8.x-1.2
Other Easy Breadcrumb (easy_breadcrumb) Enabled 8.x-1.12
Entity Print Entity Print (entity_print) Enabled 8.x-2.1
User interface EU Cookie Compliance (eu_cookie_compliance) Enabled 8.x-1.8
Media IEK - Image Effect Kit (iek) Enabled 8.x-1.1
Media Imce File Manager (imce) Enabled 8.x-1.7
Mail Mail System (mailsystem) Enabled 8.x-4.2
Statistics Matomo Analytics (matomo) Enabled 8.x-1.9
Performance and scalability Memcache (memcache) Enabled 8.x-2.0
SEO Metatag (metatag) Enabled 8.x-1.12
SEO Metatag: Facebook (metatag_facebook) Enabled 8.x-1.12
SEO Metatag: Open Graph (metatag_open_graph) Enabled 8.x-1.12
SEO Metatag: Twitter Cards (metatag_twitter_cards) Enabled 8.x-1.12
SEO Metatag: Views (metatag_views) Enabled 8.x-1.12
Other Pathauto (pathauto) Enabled 8.x-1.6
Other Redirect (redirect) Enabled 8.x-1.5
Other Token (token) Enabled 8.x-1.6
Other Taxonomy Views Integrator (tvi) Enabled 8.x-1.0-beta2
Other Twig Tweak (twig_tweak) Enabled 8.x-2.5
Other Typed Data (typed_data) Enabled 8.x-1.0-alpha4
Views Views Bootstrap 4 (views_bootstrap) Enabled 8.x-4.2
Views Views Filters Populate (views_filters_populate) Enabled 8.x-1.1
Views Views Infinite Scroll (views_infinite_scroll) Enabled 8.x-1.7
Webform Webform Attachment (webform_attachment) Enabled 8.x-5.9
Webform Webform Bootstrap (webform_bootstrap) Enabled 8.x-5.9
Webform Webform Entity Print (PDF) (webform_entity_print) Enabled 8.x-5.9
Webform Webform Entity Print (PDF) Attachment Enabled 8.x-5.9
(webform_entity_print_attachment)
Webform Webform Image Select (webform_image_select) Enabled 8.x-5.9
Webform Webform Node (webform_node) Enabled 8.x-5.9
Webform Webform Submission Log (webform_submission_log) Enabled 8.x-5.9
Webform Webform UI (webform_ui) Enabled 8.x-5.9
Webform Webform (webform) Enabled 8.x-5.9
Custom Cambia Query (milanoaiuta) Enabled 1
----------------------------- --------------------------------------------------- --------- ----------------
tema grafico
documentazione in corso
le categorie (tassonomie)
I servizi sono ricercabili grazie a sistemi di categorie (tassonomie in Drupal). Per ragioni di sicurezza, sono state incorporate nel tema via twig, quindi non sono immediatamente modificabili da chi inserisce i contenuti.
sviluppo