Un riepilogo con tutte le novità presenti nella nuova sprint release di TYPO3 CMS: Love at first Site.
E' previsto il rilascio della versione 9 LTS per il 2 ottobre 2018
Tightening the screws è lo slogan che caratterizza questo nuovo rilascio di TYPO3 CMS. La versione 8.1 introduce aggiornamenti sull'interfaccia grafica del modulo workspace, la gestione dei database con Doctrine e molti altri miglioramenti.
Riassunto delle funzionalità. modifiche e aggiornamenti presenti nella versione 7.5, in preparazione del rilascio della nuova LTS previsto per il 10 novembre. Sarà organizzato un Party Release in cui conoscere da vicino il nuovo prodotto CMS. Contattami per avere maggiori informazioni.
Il 10 novembre 2015 viene rilasciato TYPO3 CMS 7.6, la nuova versione LTS con supporto fino al 2018. Queste le differenze con la versione 7.5 e fra qualche giorno i documenti con tutte le differenze tra TYPO3 CMS 6.2 LTS e TYPO3 CMS 7 LTS
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...bmeme
Talk tenuto da Daniele Piaggesi, bmeme Technical Director, alla DrupalDay 2015 Conference del 4 dicembre 2015. Insieme a Leonardo Guaragna, responsabile digital Nouvelle S.r.l.
"Eventum project" - A Drupal platform for managing events and conferencesbmeme
The "Project Eventum" was born from a specific need: to create a web platform that could handle an event: from its advertising, the attendee registration, sale and service tickets.
It was produced entirely using the framework and the potential of the Drupal CMS and the talk will discuss the requirements the technological and methodological choices made, features, and advantages it offers to attendee and event organizers.
We'll talk about how Drupal is really "ready-for-app!" and how it is possible to realize with (relatively) little effort a reusable product and, at the same time, highly customizable. And what we intend to do with this product and the case-histories that already can boast.
"Eventum" was developed in 2013 by bmeme in collaboration with Nouvelle, an Italian agency focused on Communication and Marketing.
Un riepilogo con tutte le novità presenti nella nuova sprint release di TYPO3 CMS: Love at first Site.
E' previsto il rilascio della versione 9 LTS per il 2 ottobre 2018
Tightening the screws è lo slogan che caratterizza questo nuovo rilascio di TYPO3 CMS. La versione 8.1 introduce aggiornamenti sull'interfaccia grafica del modulo workspace, la gestione dei database con Doctrine e molti altri miglioramenti.
Riassunto delle funzionalità. modifiche e aggiornamenti presenti nella versione 7.5, in preparazione del rilascio della nuova LTS previsto per il 10 novembre. Sarà organizzato un Party Release in cui conoscere da vicino il nuovo prodotto CMS. Contattami per avere maggiori informazioni.
Il 10 novembre 2015 viene rilasciato TYPO3 CMS 7.6, la nuova versione LTS con supporto fino al 2018. Queste le differenze con la versione 7.5 e fra qualche giorno i documenti con tutte le differenze tra TYPO3 CMS 6.2 LTS e TYPO3 CMS 7 LTS
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...bmeme
Talk tenuto da Daniele Piaggesi, bmeme Technical Director, alla DrupalDay 2015 Conference del 4 dicembre 2015. Insieme a Leonardo Guaragna, responsabile digital Nouvelle S.r.l.
"Eventum project" - A Drupal platform for managing events and conferencesbmeme
The "Project Eventum" was born from a specific need: to create a web platform that could handle an event: from its advertising, the attendee registration, sale and service tickets.
It was produced entirely using the framework and the potential of the Drupal CMS and the talk will discuss the requirements the technological and methodological choices made, features, and advantages it offers to attendee and event organizers.
We'll talk about how Drupal is really "ready-for-app!" and how it is possible to realize with (relatively) little effort a reusable product and, at the same time, highly customizable. And what we intend to do with this product and the case-histories that already can boast.
"Eventum" was developed in 2013 by bmeme in collaboration with Nouvelle, an Italian agency focused on Communication and Marketing.
Drupal 8 - dal download del core alla pubblicazione in produzionesparkfabrik
Inizializzare una nuova installazione Drupal è una procedura un po' più tricky rispetto al passato. Cos'è cambiato? Cos'è il Configuration Management e come dovremo scrivere le nostre Feature? Di cosa dobbiamo tenere conto nello scrivere i nostri moduli? Una volta risposto a queste domande c'è da portare tutto in stage e successivamente in produzione in maniera sicura ed indolore magari automatizzando il tutto, se possibile.
Managing configuration in Drupal 8 - SIDCamp 2015Kelyon Srl
Il sistema di configuration management è una delle grandi novità di Drupal 8, gli use-cases di riferimento per l'utilizzo del sistema di configuration management in Drupal 8 sono differenti da quelli del sistema Drupal 7 + Features sia dal punto di vista di un site-builder che dal punto di vista dello sviluppo.
Il modulo Features in Drupal 8 ritornerà ad essere impiegato per il suo scopo originario.
Come portare il profiler di symfony2 in drupal8Luca Lusso
Molti progetti PHP open source hanno adottato Symfony2 come base per la loro prossima versione, tra questi c'è anche il CMS Drupal (http://drupal.org). In questo talk vedremo come scrivere un modulo per Drupal8 in modo da sfruttare il più possibile il suo nuovo motore Symfony2, dall'integrazione con il service container alla gestione degli eventi, dal routing a Twig. Verrà usato come esempio il modulo webprofiler (http://drupal.org/project/webprofiler) per dimostrare come un bundle per Symfony2 possa essere trasformato in un modulo per Drupal8 e integrato facilmente nel sistema.
Livin' with Docker - dallo sviluppo alla produzionegiacomos
Presentiamo un caso di studio di un progetto web nato e cresciuto con Docker al centro della scena. Vedremo le soluzioni scelte durante tutto il percorso, partendo da docker-compose in locale, per arrivare a CoreOS e systemd in produzione, passando per la fase di continuous integration/build e il deploy.
Talk DockerOps 13-02-2016, Ferrara
Enterprise Applications - Angular Day 2018Paolo Galfione
Angular 6 introduce il concetto di workspace per la creazione di applicazioni Angular aziendali complesse e articolate. Grazie ad un approccio basato sul pattern mono-repo un workspace può contenere più applicazioni e librerie condivisibili tra le applicazioni stesse. Vedremo come progettare un workspace e sfruttare la potenza dei nuovi @angular-devkit/schematics per automatizzare la generazione di codice applicativo pronto all’uso
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
La ragione principale per cui le aziende decidono di non adottare il DevOps per il database è di preservare la sicurezza del database stesso. Eppure, si tratta di una concezione errata: applicando il DevSecOps al DB, infatti, è possibile creare in ambienti strutturati le condizioni per un rilascio sicuro degli script del database, gestendo al meglio potenziali rischi di sicurezza. Segui il webinar per apprendere come includere il DB all’interno della tua strategia DevSecOps.
Relazione sul progetto di realizzazione di un algoritmo di localizzazione (mediante trilaterazione) attraverso l'utilizzo del controllore cRIO e del software LabVIEW.
Relazione sul progetto di realizzazione di un algoritmo di localizzazione (mediante trilaterazione) attraverso l'utilizzo del controllore cRIO e del software LabVIEW.
Drupal 8 - dal download del core alla pubblicazione in produzionesparkfabrik
Inizializzare una nuova installazione Drupal è una procedura un po' più tricky rispetto al passato. Cos'è cambiato? Cos'è il Configuration Management e come dovremo scrivere le nostre Feature? Di cosa dobbiamo tenere conto nello scrivere i nostri moduli? Una volta risposto a queste domande c'è da portare tutto in stage e successivamente in produzione in maniera sicura ed indolore magari automatizzando il tutto, se possibile.
Managing configuration in Drupal 8 - SIDCamp 2015Kelyon Srl
Il sistema di configuration management è una delle grandi novità di Drupal 8, gli use-cases di riferimento per l'utilizzo del sistema di configuration management in Drupal 8 sono differenti da quelli del sistema Drupal 7 + Features sia dal punto di vista di un site-builder che dal punto di vista dello sviluppo.
Il modulo Features in Drupal 8 ritornerà ad essere impiegato per il suo scopo originario.
Come portare il profiler di symfony2 in drupal8Luca Lusso
Molti progetti PHP open source hanno adottato Symfony2 come base per la loro prossima versione, tra questi c'è anche il CMS Drupal (http://drupal.org). In questo talk vedremo come scrivere un modulo per Drupal8 in modo da sfruttare il più possibile il suo nuovo motore Symfony2, dall'integrazione con il service container alla gestione degli eventi, dal routing a Twig. Verrà usato come esempio il modulo webprofiler (http://drupal.org/project/webprofiler) per dimostrare come un bundle per Symfony2 possa essere trasformato in un modulo per Drupal8 e integrato facilmente nel sistema.
Livin' with Docker - dallo sviluppo alla produzionegiacomos
Presentiamo un caso di studio di un progetto web nato e cresciuto con Docker al centro della scena. Vedremo le soluzioni scelte durante tutto il percorso, partendo da docker-compose in locale, per arrivare a CoreOS e systemd in produzione, passando per la fase di continuous integration/build e il deploy.
Talk DockerOps 13-02-2016, Ferrara
Enterprise Applications - Angular Day 2018Paolo Galfione
Angular 6 introduce il concetto di workspace per la creazione di applicazioni Angular aziendali complesse e articolate. Grazie ad un approccio basato sul pattern mono-repo un workspace può contenere più applicazioni e librerie condivisibili tra le applicazioni stesse. Vedremo come progettare un workspace e sfruttare la potenza dei nuovi @angular-devkit/schematics per automatizzare la generazione di codice applicativo pronto all’uso
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
Pirma parte del seminario su NoSQL al DiTeDi di Udine del 15/12/2012. Affrontato il caso di studio di un'architettura enterprise, basata su datastore relazionali (PostgreSQL) e non (CouchDB, MongoDB, Redis e OrientDB).
La ragione principale per cui le aziende decidono di non adottare il DevOps per il database è di preservare la sicurezza del database stesso. Eppure, si tratta di una concezione errata: applicando il DevSecOps al DB, infatti, è possibile creare in ambienti strutturati le condizioni per un rilascio sicuro degli script del database, gestendo al meglio potenziali rischi di sicurezza. Segui il webinar per apprendere come includere il DB all’interno della tua strategia DevSecOps.
Relazione sul progetto di realizzazione di un algoritmo di localizzazione (mediante trilaterazione) attraverso l'utilizzo del controllore cRIO e del software LabVIEW.
Relazione sul progetto di realizzazione di un algoritmo di localizzazione (mediante trilaterazione) attraverso l'utilizzo del controllore cRIO e del software LabVIEW.
7. CONFIGURATIONMANAGEMENT
INITIATIVE
IN COSA CONSISTE PRATICAMENTE?
3CMI
E’ lo strumento che ci consente di gestire le
configurazioni della nostra istanza Drupal,
dandoci la possibilità di tracciarne i
cambiamenti e di rilasciarle nei vari
ambienti dell’applicazione.
configurazioni
8. CONFIGURAZIONIINDRUPAL7
VARIABLES
3CMI
Drupal 7 consente di memorizzare dati più o
meno complessi all’interno della tabella
variable sotto forma di valori serializzati (value)
identificabili da una chiave (name).
Le operazioni di CRUD delle variabili sono rese
disponibili da queste tre funzioni:
• variable_set($name, $value);
• variable_get($name, $default_value);
• variable_del($name);
configurazioni
11. CONFIGURAZIONIINDRUPAL7
GESTIONE MANUALE
3CMI
Consiste nel riportare nei vari ambienti
dell’applicazione ogni configurazione che è stata
fatta nel proprio ambiente di sviluppo locale.configurazioni
“Ma piuttosto cambio lavoro!”
• Error-prone
• Impossibilità di tener
traccia dei
cambiamenti
• All’aumentare delle
configurazioni da
apportare, aumenta
l’effort
14. CONFIGURAZIONIINDRUPAL7
GRANDI POTENZIALITÀ MA CI SONO DEI CONTRO:
3CMI
- per le variabili più complesse (views, fields,
ecc..) l’export potrebbe risultare non così
semplice.
- necessità di un developer per poter esportare
le configurazioni sul codice.
- rischio di avere una serie infinita di
hook_update_N() all’interno del mio file
*.install per gestire eventuali
aggiornamenti delle configurazioni.
- impossibilità di tracciare eventuali modifiche
apportate dagli utenti del sito rispetto alle
configurazioni riportate sul codice.
configurazioni
16. CONFIGURAZIONIINDRUPAL7
SETTINGS.PHP
3CMI
- utile quando si vuol configurare un set di
variabili in base all’ambiente in cui ci si trova.
- necessità di un developer per poter esportare
le configurazioni all’interno del file.
configurazioni
“Ma mo’ che
è sta zozzeria?”
19. CONFIGURAZIONIINDRUPAL7
FEATURES
3CMI
Features è un modulo contrib che nasce con
l’intento iniziale di racchiudere, all’interno di
unità funzionali, un set di configurazioni da poter
riutilizzare su istanze diverse di Drupal.
E’ diventato, in realtà, un modulo che genera
moduli, all’interno dei quali vengono messe le
configurazioni del nostro sito e che ci offre la
possibilità di tener traccia dei cambiamenti
avvenuti su tali configurazioni.
E’ il sistema di gestione delle configurazioni più
utilizzato su Drupal 7 (per mancanza di
alternative).
configurazioni
20. CONFIGURAZIONIINDRUPAL8
CONFIGURATIONS
3CMI
Drupal 8 consente di memorizzare dati più o meno
complessi all’interno della tabella config sotto
forma di valori serializzati (data) identificabili da
una chiave (name) ed un raggruppamento
(collection).
COSA CAMBIA
• Le configurazioni in Drupal 8 possono essere
memorizzate su files invece che sul DB
• I file di configurazione sono scritti in formato
YAML (.yml)
• Possibilità di tener traccia dei cambiamenti
utilizzando sistemi di versioning del codice
configurazioni
26. CONFIGURAZIONIINDRUPAL8
DRUPAL 8 INTRODUCE NUOVI TIPI DI CONFIGURAZIONI:
3CMI
• Simple configurations (config_object)
• Sono quanto di più avvicinabile al sistema di variabili di
Drupal 7.
• Sono oggetti configurativi per la gestione di
impostazioni di base che risultino in valori booleani,
interi, stringhe ecc.
• Configuration Entities (config_entity)
• Memorizzano oggetti configurativi creati dagli utenti
del sito (es: “image style”)
• State API
• Sono le configurazioni che memorizzano informazioni
sullo stato del sistema.
• Non abbiamo interesse a rilasciarle su ambienti diversi
(es: la data dell’ultimo passaggio del cron)
configurazioni
31. CONFIGURAZIONIINDRUPAL8
3CMI
configurazioni
SCHEMA FILE
“The primary reason schema files were
introduced into Drupal 8 is multilingual
support. A tool was needed to identify all
translatable strings within the shipped
configuration.
The secondary reason is to provide actual
translation forms for configuration based
on your data and to expose translatable
configuration pieces to external tools.”
- fonte: Drupal 8 Configuration Management -
…PERCHÉ?
32. CONFIGURATION OBJECTS
• accessibili tramite il servizio configFactory
• per accedere in modifica alle configurazioni bisogna
caricare la versione modificabile del file.
• clear() rimuove un elemento dal config_object.
• save() non deve essere mai chiamato dopo il delete()
• delete() cancella l’intero config_object
CONFIGURAZIONIIN DRUPAL8
• Drupal::config($name) == Drupal::configFactory()->get($name)
33. CONFIGURATION ENTITIES
• entity_load(), entity_create(), entity_save(),
ecc sono tutte funzioni deprecate
• si accede alle istanze delle entity sfruttando
il metodo statico ::load()
• get() set() e delete() vi ricordano qualcosa?
CONFIGURAZIONIIN DRUPAL8
34. 4
WORKFLOW DI
SVILUPPO IN
DRUPAL
Building Development
Configurations Management
Packaging
Deploy
Configurations Management
WORKFLOWDISVILUPPOINDRUPAL
D7
FeaturesFeature create/update
Deploy
Feature revert
35. COME UTILIZZARE ACTIVE E SYNC
active sync
exportdevelopment
active sync
import
production
Deploy
4
WORKFLOW DI
SVILUPPO IN
DRUPAL
WORKFLOWDISVILUPPOINDRUPAL
Building Development
38. ALLINEARE SVILUPPO CON PRODUZIONE
active sync
export
development
active sync
import
production
Download Export
4
WORKFLOW DI
SVILUPPO IN
DRUPAL
WORKFLOWDISVILUPPOINDRUPAL
40. IL RUOLODIFEATURESIN DRUPAL8
FEATURES
Features è un modulo contrib che nasce con
l’intento iniziale di racchiudere, all’interno di
unità funzionali, un set di configurazioni da poter
riutilizzare su istanze diverse di Drupal.
E’ diventato, in realtà, un modulo che genera
moduli, all’interno dei quali vengono messe le
configurazioni del nostro sito e che ci offre la
possibilità di tener traccia dei cambiamenti
avvenuti su tali configurazioni.
E’ il sistema di gestione delle configurazioni più
utilizzato su Drupal 7 (per mancanza di
alternative).
5
IL RUOLO DI
FEATURES IN
DRUPAL 8
41. ESEMPIDIUTILIZZODELCMI
Nei seguenti esempi,
dati due ambienti
completamente
identici, che
chiameremo
Development e
Production, vedremo
come funziona in
pratica il flusso di
lavoro descritto
precedentemente,
in entrambe le
direzioni
(dev -> prod;
prod -> dev)
6
ESEMPI DI UTILIZZO
DEL CMI
“Daje va,
famme
sogna’…”