Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
油
Come poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
Speaker: Roberto Peruzzo
Area: Building
Nella mia esperienza Drupal Commerce rappresenta uno strumento versatile per realizzare progetti e-commerce, riuscendo ad adattarsi a diversi tipi di business grazie alla sua gestione delle varianti di prodotto.
Lo speaker consegna anche la pagina che ha preparato per l'occasione ed il link da cui scaricare la distribuzione Drupal che hanno preparato per l'evento, che contiene le configurazioni viste durante l'intervento.
http://www.studioaqua.it/drupalday-milano-2014/
http://www.studioaqua.it/drupalday/localize_drupal_commerce.tar.gz
Docker allows developers to package applications and dependencies into standardized containers. Containers provide isolated environments that are consistent across different machines. This document outlines how Docker can be used to develop PHP applications, including building containers with Dockerfiles, sharing containers via Docker Hub, and running multi-container applications with Docker Compose. The speaker demonstrates building, shipping, and running containers to illustrate Docker's capabilities.
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...DrupalDay
油
Raccontiamo un case study decisamente importante per valutare la potenza e la flessibilit di Drupal in ambienti complessi.
Relatori: Daniele Piaggesi e Leonardo Guaragna
Behaviour Driven Development con Behat & DrupalDrupalDay
油
This document provides an overview of Behaviour Driven Development (BDD) using Behat and Drupal. It discusses what BDD is, the BDD workflow, how to write specification features and scenarios using Gherkin syntax, and how Behat reads Gherkin and runs tests through step definitions in context classes. It also covers how to integrate Behat and Drupal using the Drupal Extension, which provides pre-defined steps and contexts. The document demonstrates writing features and scenarios for downloading Drupal and provides examples of step keywords, results, and using Mink to control browser interactions without being concerned with the specific browser.
Come approcciare il layer di theming in Drupal 8 (e non solo) utilizzando strumenti grazie ai quali possiamo ottenere tempi di sviluppo pi湛 breve.
Relatore: Evan Butera
Con la versione 7 di Drupal 竪 stato introdotto il concetto di Entity.
Verranno mostrate le potenzialit nell'uso delle Entity custom e le integrazioni possibili.
Relatore: Marco Vito Moscaritolo
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
油
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attivit ripetitive o noiose (dallesecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Luca Cracco
Lo sviluppo del modulo Devel affonda le sue radici nel lontano 2003 quando la versione di Drupal era la 4.1. Ne 竪 passata di acqua sotto i ponti e siamo in direttura di arrivo per la prima versione stabile di Devel per Drupal 8. Molte cose sono cambiate sia a livello di architettura che di funzionalit messe a disposizione degli sviluppatori. Integrazione con il Core - integrazione nativa con il modulo Toolbar del Core - pagine di informazione sul Service Container, le rotte, le entit, gli eventi e molto altro - cambio rapido di utente - accesso in lettura e modifica dei dati memorizzati nel Configuration Management System e nelle State API - estensioni di Twig per il dump delle variabili o l'impostazione di breakpoint per xDebug Dumpers Un sistema a plugin per stampare in pagina variabili complesse come array ed oggetti. Kint, Symfony var-dumper, Doctrine, sono tutti supportati e presenti di default in Devel. Webprofiler Profila e analizza ogni singola pagina del sito. Dalla toolbar che Webprofiler aggiunge al footer di ogni pagina hai una visione sull'utilizzo delle risorse, sulle query al database, sulle viste, sui blocchi e molto altro.
di Luca Lusso
Indaghiamo quali sono gli elementi di un processo produttivo di un progetto Drupal che devono essere condivisi con il suo Stakeholder per una strategia win-win.
di Claudia Astazi
[drupalday 2017] - Accessibilit Web: Finalit, metodologie e strumenti.DrupalDay
油
Il talk sar incentrato sul tema dellaccessibilit web. Sar introdotta la tematica sia dal punto di vista generale (cos竪 laccessibilit, quali sono le leggi nazionali in materia), che delle metodologie utilizzate per la verifica dellaccessibilit (le WCAG, gli esperti ed i gruppi di valutazione), che degli strumenti a supporto dello sviluppo di siti accessibili (validatori e contrast checker), con una dimostrazione del loro funzionamento. Infine si discuter dellaccessibilit in Drupal.
di Antonio Giovanni Schiavone
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a timeDrupalDay
油
Innovation & Open source are almost always related, but start, sustain and position an open source project is not a easy task. Using Drupal Console as an example, would be presented the challenges and rewards or creating and maintaining an Open Source project. Talk in lingua inglese.
di Eduardo Garcia
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
油
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attivit ripetitive o noiose (dallesecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Marco Capobussi
[drupalday2017] - Behat per Drupal: test automatici e molto di pi湛DrupalDay
油
Behat 竪 nato per semplificare il processo di accettazione da parte del cliente: per evitare ambiguit si realizza un test automatico (leggibile anche da chi non ha competenze tecniche) la cui esecuzione con successo garantisce che le specifiche siano rispettate. L'integrazione di Behat nel processo di sviluppo Drupal permette tuttavia di andare ben oltre: si pu嘆 usare Behat per condividere le specifiche con il cliente, per guidare lo sviluppo (scrivendo il test prima del codice), per assistere il debug (usando uno scenario per popolare una situazione di errore ripetibile) e persino per migrare un sito da Drupal 7 a Drupal 8 (codificando il comportamento del sito in una serie di test che vengono poi usati come base per lo sviluppo del nuovo sito). Per tutti gli scenari descritti vedremo esempi basati sull'esperienza di Nuvole.
di Andrea Pescetti
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
油
I detrattori parlano di un declino di Drupal: sempre meno developer lo scelgono per realizzare siti. Eppure se osserviamo la qualit dei progetti basati su Drupal, 竪 evidente che si tratti di progetti di impatto sempre maggiore, per lo pi湛 a livello enterprise, in grado di garantire vere e proprie esperienze digitali innovative.
Drupal rimane non solo il pi湛 potente e sicuro CMS open source enterprise-grade, ma 竪 diventato un CMF solido che ha saputo rinnovarsi seguendo i principi del framework MACH che promuove piattaforme basate su microservizi, che siano API-first, cloud native ed headless. Quindi no, nessun declino, Drupal 竪 al passo con le migliori tecnologie esistenti sul mercato.
Ecco di cosa parliamo oggi: la nuova major release di Drupal 竪 alle porte e vogliamo raccontarvi tutte le novit per utenti e developer.
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...DrupalDay
油
Raccontiamo un case study decisamente importante per valutare la potenza e la flessibilit di Drupal in ambienti complessi.
Relatori: Daniele Piaggesi e Leonardo Guaragna
Behaviour Driven Development con Behat & DrupalDrupalDay
油
This document provides an overview of Behaviour Driven Development (BDD) using Behat and Drupal. It discusses what BDD is, the BDD workflow, how to write specification features and scenarios using Gherkin syntax, and how Behat reads Gherkin and runs tests through step definitions in context classes. It also covers how to integrate Behat and Drupal using the Drupal Extension, which provides pre-defined steps and contexts. The document demonstrates writing features and scenarios for downloading Drupal and provides examples of step keywords, results, and using Mink to control browser interactions without being concerned with the specific browser.
Come approcciare il layer di theming in Drupal 8 (e non solo) utilizzando strumenti grazie ai quali possiamo ottenere tempi di sviluppo pi湛 breve.
Relatore: Evan Butera
Con la versione 7 di Drupal 竪 stato introdotto il concetto di Entity.
Verranno mostrate le potenzialit nell'uso delle Entity custom e le integrazioni possibili.
Relatore: Marco Vito Moscaritolo
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
油
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attivit ripetitive o noiose (dallesecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Luca Cracco
Lo sviluppo del modulo Devel affonda le sue radici nel lontano 2003 quando la versione di Drupal era la 4.1. Ne 竪 passata di acqua sotto i ponti e siamo in direttura di arrivo per la prima versione stabile di Devel per Drupal 8. Molte cose sono cambiate sia a livello di architettura che di funzionalit messe a disposizione degli sviluppatori. Integrazione con il Core - integrazione nativa con il modulo Toolbar del Core - pagine di informazione sul Service Container, le rotte, le entit, gli eventi e molto altro - cambio rapido di utente - accesso in lettura e modifica dei dati memorizzati nel Configuration Management System e nelle State API - estensioni di Twig per il dump delle variabili o l'impostazione di breakpoint per xDebug Dumpers Un sistema a plugin per stampare in pagina variabili complesse come array ed oggetti. Kint, Symfony var-dumper, Doctrine, sono tutti supportati e presenti di default in Devel. Webprofiler Profila e analizza ogni singola pagina del sito. Dalla toolbar che Webprofiler aggiunge al footer di ogni pagina hai una visione sull'utilizzo delle risorse, sulle query al database, sulle viste, sui blocchi e molto altro.
di Luca Lusso
Indaghiamo quali sono gli elementi di un processo produttivo di un progetto Drupal che devono essere condivisi con il suo Stakeholder per una strategia win-win.
di Claudia Astazi
[drupalday 2017] - Accessibilit Web: Finalit, metodologie e strumenti.DrupalDay
油
Il talk sar incentrato sul tema dellaccessibilit web. Sar introdotta la tematica sia dal punto di vista generale (cos竪 laccessibilit, quali sono le leggi nazionali in materia), che delle metodologie utilizzate per la verifica dellaccessibilit (le WCAG, gli esperti ed i gruppi di valutazione), che degli strumenti a supporto dello sviluppo di siti accessibili (validatori e contrast checker), con una dimostrazione del loro funzionamento. Infine si discuter dellaccessibilit in Drupal.
di Antonio Giovanni Schiavone
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a timeDrupalDay
油
Innovation & Open source are almost always related, but start, sustain and position an open source project is not a easy task. Using Drupal Console as an example, would be presented the challenges and rewards or creating and maintaining an Open Source project. Talk in lingua inglese.
di Eduardo Garcia
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
油
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attivit ripetitive o noiose (dallesecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Marco Capobussi
[drupalday2017] - Behat per Drupal: test automatici e molto di pi湛DrupalDay
油
Behat 竪 nato per semplificare il processo di accettazione da parte del cliente: per evitare ambiguit si realizza un test automatico (leggibile anche da chi non ha competenze tecniche) la cui esecuzione con successo garantisce che le specifiche siano rispettate. L'integrazione di Behat nel processo di sviluppo Drupal permette tuttavia di andare ben oltre: si pu嘆 usare Behat per condividere le specifiche con il cliente, per guidare lo sviluppo (scrivendo il test prima del codice), per assistere il debug (usando uno scenario per popolare una situazione di errore ripetibile) e persino per migrare un sito da Drupal 7 a Drupal 8 (codificando il comportamento del sito in una serie di test che vengono poi usati come base per lo sviluppo del nuovo sito). Per tutti gli scenari descritti vedremo esempi basati sull'esperienza di Nuvole.
di Andrea Pescetti
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
油
I detrattori parlano di un declino di Drupal: sempre meno developer lo scelgono per realizzare siti. Eppure se osserviamo la qualit dei progetti basati su Drupal, 竪 evidente che si tratti di progetti di impatto sempre maggiore, per lo pi湛 a livello enterprise, in grado di garantire vere e proprie esperienze digitali innovative.
Drupal rimane non solo il pi湛 potente e sicuro CMS open source enterprise-grade, ma 竪 diventato un CMF solido che ha saputo rinnovarsi seguendo i principi del framework MACH che promuove piattaforme basate su microservizi, che siano API-first, cloud native ed headless. Quindi no, nessun declino, Drupal 竪 al passo con le migliori tecnologie esistenti sul mercato.
Ecco di cosa parliamo oggi: la nuova major release di Drupal 竪 alle porte e vogliamo raccontarvi tutte le novit per utenti e developer.
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
油
Le applicazioni mobili sono osservati speciali. Ma come decidere se sviluppare un'App Nativa o un'App Ibrida e quali sono i costi da sostenere? Questo ed altro 竪 stato discusso a SMAU Milano 2016.
I linguaggi del web - seconda edizione (3属 giornata)Diego La Monica
油
Modulo 4 AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 ARIA e laccessibilit lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e propriet
- Strumenti per lo sviluppo accessibile
Federico Massi.it - Intro alle app mobile CordovaFederico Massi
油
Introduzione generale alle app mobile Cordova (per Android, iOS, Windows, ecc).
(riduzione / adattamento della presentazione svolta presso GLM Macerata il 24 marzo 2017)
Non Conventional Android Programming (Italiano)Davide Cerbo
油
Android 竪 il nuovo sistema operativo open source per dispositivi mobili e realizzato da Google che si 竪 posta la missione di rendere linternet mobile accessibile a tutti tramite dispositi a basso costo.
Durante questo intervento mostrer嘆 come sia possibile sviluppare per questo sistema operativo (e non solo) senza lutilizzo di Java e come sia possibile utilizzare una versione light di Spring Framework nelle applicazioni mobili.
Una panoramica sulle diverse possibilit offerte da Spring per applicazioni RIA realizzate in Flex: Spring sul server per l'implementazione di un backend con serializzazione nativa AMF3 con Spring BlazeDS integration, Spring sul client con Spring ActionScript e Spring come usato dallo streaming server opensource Red5 per la realizzazione di applicazioni video. Presentazione tenuta allo Spring Framework Meeting di Settembre 2009 a Cagliari.
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
油
Cordova 竪 la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicit del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
In questa presentazione verr introdotto brevemente il concetto di RIA (Rich Internet Application), di Framework e fondendo i due concetti verranno presentati alcuni dei pi湛 conosciuti Framework per la realizzazione di RIA. Visualizza la presentazione.
Le novit di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
油
Ionic 竪 da anni uno dei framework basati su angular pi湛 famosi e pi湛 usati.
La versione 4 竪 una completa riscrittura della precedente versione usando tutta una serie di nuovi standard web con cui avremo a che fare sempre pi湛 spesso nei prossimi anni: Custom Element, Variabili CSS, Shadow DOM e non solo.
In questo talk, sia per esperti che principianti, vedremo come, grazie a Ionic, si pu嘆 usare Angular per sviluppare un applicazione funzionante sia sul Web che sul Mobile.
Talks on my machine: Drupal CMS versus The Cool Kidssparkfabrik
油
Drupal 竪 un carrozzone obsoleto, dicono in molti. Dobbiamo essere agili e disaccoppiati rispondono altri. Esistono decine di CMS online che con 2 click ti mettono a disposizione un backend piuttosto configurabile ed espongono i tuoi contenuti via API. Gi, piuttosto configurabile...
Qualche tempo fa un cliente ci ha dato una lista di funzionalit e ci ha chiesto di valutare, tra i vari CMS headless disponibili sul mercato, quello che ne soddisfacesse di pi湛.
I requisiti erano i pi湛 disparati, dal supporto al multilingua ai workflow editoriali avanzati; dalla possibilit di chiamare API di terze parte al login via Single Sign On.
Indovinate un po? Nessuno era in grado di rispettarli tutti.
Sapete invece chi li rispettava tutti? Gi, Drupal. Certo non era il pi湛 cool, non aveva linterfaccia pi湛 carina, cera (troppo) poco JavaScript. Ma alla fine il lavoro a casa lavrebbe portato, e senza compromessi.
La community Drupal per嘆 vorrebbe che Drupal finisse nella lista dei cool kids e sta lavorando alacremente a Drupal CMS, una soluzione per migliorare drasticamente lesperienza duso di Drupal.
In questo talk vedremo quali sono le principali differenze tra Drupal CMS e alcune piattaforme headless come Strapi e Contentful.
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...DrupalDay
油
La razionalizzazione delle infrastrutture tecnologiche della PA centrale e locale non 竪 solo loccasione per ottimizzare la spesa ICT, ma anche una opportunit per migliorare i servizi alle imprese ed ai cittadini attraverso la condivisione delle piattaforme tecnologiche innovative. Questa evoluzione richieder necessariamente delle considerazioni inerenti la propriet intellettuale nell'ambito dell'open source e dei big data.
di Claudia Pavoletti e Michele Melchionda
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
油
Proviamo a gettare un nuovo standard per la gestione delle sorgenti e per la presentazione di dati nelle istanze Drupal che consumano servizi. Perch竪 ne abbiamo bisogno e come i Guzzle Service Description possono salvarci la vita.
di Adriano Cori
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al themingDrupalDay
油
Mano a mano che i siti diventano sempre pi湛 complessi ed articolati emergono nuovi metodi di progettazione che cercano di gestire questa complessit. Uno dei metodi pi湛 popolari 竪 l'Atomic Design che ha nei seguenti elementi i mattoni fornamentali con cui progettare il sito: Atomi, Molecole, Organismi, Templates, Pagine. Questa tecnica 竪 supportata da uno strumento: PatternLab. C'竪 molta attivit attorno all'uso di questo strumento in Drupal, in questo talk vedremo a che punto 竪 l'integrazione.
di Gian Mario Mereu
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5DrupalDay
油
Lo sviluppo Frontend sta conoscendo una vera e propria rivoluzione, con l'introduzione e l'utilizzo di strumenti sempre pi湛 raffinati. In questo panorama, un attore relativamente recente sta guadagnando la meritata popolarit: OpenUI 5. Durante il talk faremo la conoscenza di questo nuovo toolkit e vedremo come costruire un frontend custom utilizzando le REST API di Drupal 8
di Donato Rotunno
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...DrupalDay
油
Gli Open Data rappresentano il motore per linnovazione, la crescita e la governance. Recentemente la Commissione Europea, nellambito delle azioni dellAgenda Digitale, ha presentato un programma di azioni per il riutilizzo delle informazioni del settore pubblico che dovrebbe dare un contributo consistente alleconomia. Sulla base di queste importanti indicazioni Sapienza ha sviluppato dei modelli web realizzati con Drupal per valorizzare il patrimonio dei dati di Ateneo mediante l'esposizione e il riutilizzo. Il licensing e la tutela dei dati personali sono gli strumenti necessari per gli sviluppatori interessati alla costruzione di servizi innovativi per le PA.
di Andrea Dori
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di SapienzaDrupalDay
油
La Sapienza mette a disposizione dei cittadini, delle istituzioni, delle imprese e degli utenti in generale due piattaforme sviluppate in Drupal in ottemperanza ai DLgs 33/2013 (come modificato dal D.Lgs. 97/2016) e DLgs 190/2012 sulla trasparenza amministrativa. Il talk tratter le soluzioni implementate in Drupal per soddisfare i requisiti normativi.
di Francesco Barcellona e Ramon Souviron
[drupalday2017] - Venezia & Drupal. Venezia 竪 Drupal!DrupalDay
油
Il nuovo sito istituzionale del Comune di Venezia: linee guida per il design dei siti della Pubblica amministrazione, SPID, Carta Nazionale dei Servizi, certificati anagrafici on line, news wall, campagne e-mail e servizi di messaggistica. Con Drupal.
di Paolo Cotti Cometti e Francesco Trabacchin
[drupalday2017] - Quando linformazione 竪 un servizioDrupalDay
油
Creare e mantenere contenuti online 竪 unattivit complessa e costosa per ogni organizzazione, ma strategica: per la PA i contenuti online rappresentano un canale e un punto di contatto essenziale nei servizi per il cittadino. Quali sono i metodi e gli approcci che rendono questo investimento efficace? E come cambiano la funzione e la fisionomia del CMS, quando da strumento di pubblicazione e manutenzione diventa una piattaforma per gestire lintero processo produttivo del contenuto?
di Francesca Marangoni
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8DrupalDay
油
Ho sentito spesso dire: non utilizziamo D8 perch辿 non ha ancora i moduli che ci servono per il progetto.. OK, allora iniziamo a convertirli! Presenter嘆 la mia esperienza nel convertire il modulo Iubenda Integration da D7 a D8, cercando di mettere in luce le principali difficolt incontrate. Con questa sessione la mia speranza 竪 di fornire le basi per convertire i propri moduli da a chi sviluppa progetti in Drupal 8.
di Roberto Peruzzo
[drupalday2017] - Speed-up your Drupal instance!DrupalDay
油
Perch竪 la tua istanza Drupal non performa e cosa puoi fare per invertire la rotta. D'altronde 竪 una questione complessa: i moduli, la qualit del codice, l'uso delle cache, ma anche la versione di PHP, il proxy-cacher, il tuo hosting e, in ultimo, le cavallette...
di Daniele Piaggesi
Cosa Drupal 8 ha da offrire rispetto ad altri framework PHP quando si parla di esporre un servizio REST? Partendo dalle dieci regole per creare una API che i vostri client ameranno, vedremo quali strumenti brillano nel firmamento di PHP all'alba del 2017 e metteremo alcuni di essi a confronto con Drupal 8, la versione pi湛 PHP-friendly del nostro CMS preferito. Pezzo per pezzo, costruiremo una mappa che metta in relazione gli strumenti ai casi d'uso cui sono pi湛 adatti e che ci permetter di decidere con pi湛 confidenza cosa usare per il nostro prossimo service layer.
di Paolo Pustorino
DrupalGap: crea una app Android (ed iOS) con Drupal, Drupalgap ed Apache Cordova
2. DrupalGap
Crea una app Android (ed iOS) con Drupal ,
Drupalgap ed Apache Cordova
Lorenzo Monaco
m3m3nto@gmail.com
3. DrupalGap
Inizialmente sviluppato da Tyler Frankenstein
all'inizio del 2012.
Permette di create app Android e iOS
totalmente gestite da una installazione Drupal.
4. DrupalGap: architettura
Basato su un modulo Drupal che fornisce un
wrapper per Drupal Services e da un mobile
SDK basato su jQuery Mobile
Modulo Drupal:
services
wrapper
Mobile SDK:
basato su jQuery
Mobile
https://www.drupal.org/project/drupalgap
https://www.github.com/signalpoint/DrupalGap
5. DrupalGap: come funziona? (1)
Cordova/PhoneGap permette la creazione
di app per Android e iOS (recentemente
anche Windows Phone) basate su
HTML5 + CSS3 + JS (es. jQuery Mobile)
Cordova mette a disposizione un wrapper
javascript per tutte le funzionalit tipiche di
un device mobile: fotocamera, bussola
digitale, contatti, Gps, filesystem locale,
etc.
DrupalGap permette quindi di collegare
la app al nostro back-end drupal.
DrupalGap fornisce una installazione di
Drupal di natura headless, che espone
una serie di webservice consumati
dalla nostra app.
6. DrupalGap: come funziona? (2)
rdbms drupal
views
datasource
services +
drupalgap mod
Restfull
webservice
http server
drupalGap
mobile sdkjDrupal
jQuery
mobile
mobile app
rest server module
7. DrupalGap e Drupal (1)
DrupalGap espone una API javascript che
eredita tutti i concetti chiave di Drupal
Themes Forms
Modules Messages
Blocks Vews
Pages Services
Entity Fields
8. DrupalGap e Drupal (2)
Fornisce integrazione per molti moduli esistenti:
http://drupalgap.com/project/modules
L'api 竪 chiaramente estendibile:
http://api.drupalgap.org
Tra i moduli supportati troviamo:
Commerce, Webform, Gmap, Colorbox,
AmazonS3
Drupal8 fornisce restfull webservice ootb ed 竪
in fase di adattamento il mobile sdk.
9. Installazione ambiente di sviluppo (1)
Installazione sintetica step by step:
https://github.com/m3m3nto/drupalday2015_drupalgap
Requisiti:
Oracle Java6
Nodejs
Apache Cordova
Cordova plugin
AndroidSDK
Drupal
10. Installazione ambiente di sviluppo (2)
Creazione dell'app con Apache Cordova:
# cordova create drupaldayapp com.drupalday "DrupalDay App"
# cd drupaldayapp
# cordova platform add android
# cordova plugin add [v. drupalgap_environment_installation]
Installazione dei moduli Drupal necessari:
# drush dl drupalgap services libraries views_datasource
# drush en drupalgap field_ui image list menu number path services
views_datasource views_ui locale -y
11. Installazione ambiente di sviluppo (3)
Download del mobile SDK:
https://github.com/signalpoint/DrupalGap
# wget https://github.com/signalpoint/DrupalGap/archive/7.x-1.3.tar.gz
# tar xzf 7.x-1.3.tar.gz && mv DrupalGap-7.x-1.3/* www/
# rm -rf www/css/ www/img/ www/js/
# cd www/app && cp default.settings.js settings.js
Impostazione della url/endpoint di Drupal ed
impostazione del DrupalGap mode in settings.js:
Drupal.settings.site_path = 'http://drupalday.dev';
drupalgap.settings.mode = 'phonegap';
# cp platforms/android/assets/www/cordova.js www/
12. DrupalGap: DrupalDay demo app
Repository delle slide [slide]
Istruzioni installazione [drupalgap_install.txt]
Codice del progetto demo [drupaldayapp]
https://github.com/m3m3nto/drupalday2015_drupalgap
http://bit.ly/1IAvqkC
Apk per l'installazione
http://drupalday.iotdb.it/sites/default/files/drupaldaydemo.apk
13. DrupalGap API (1)
Esempio di hook_menu():
function drupalday_menu() {
try {
var items = {};
items['drupaldaydashboard'] = {
title: 'Drupalday 2015',
page_callback: 'drupalday_dashboard_page'
};
items['gallery'] = {
title: 'Gallery',
page_callback: 'drupalday_gallery_page',
options:{
reloadPage:true
}
};
return items;
}
catch (error) { console.log('drupalday_menu - ' + error); }
}
15. DrupalGap: API (3)
Attivazione del modulo
in settings.js:
// App Front Page
drupalgap.settings.front =
'drupalday-dashboard';
Drupal.modules.custom['drupalday'] = {};
Build della app android:
# cordova run android
16. DrupalGap Cordova API
Apache Cordova permette di accedere alle
funzionalit tipiche dei device mobili:
# cordova plugin list
[...] "Battery"
[...] "Contacts"
[...] "Device Motion"
[...] "Device Orientation"
[...] "Vibration"
[...] "Whitelist"
[...] "Camera"
[...] "Console"
[...] "Device"
[...] "Notification"
[...] "File"
[...] "Geolocation"
[...] "InAppBrowser"
[...] "Network Information"