Riuso

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

moduli core

$ 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    
 -------------- -------------------------------------------------- --------- ---------


moduli contrib

$ 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

alekos.net logo

 

 

Alekos.net - tecnologie appropriate