Speaker: Luca Lusso
Area: Development
Probabilmente Drupal8 sarà la versione più performante di Drupal mai realizzata (o almeno questo è l'obiettivo). In questo talk vedremo alcune delle tecniche che sono state messe in campo per raggiungere questo risultato e vedremo come sfruttarle dentro ad un modulo custom.
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.
Cloud storage in azienda: perche` Riak ci e` piaciutoBioDec
La realizzazione di un software per l'automazione di un processo di
lavoro ha portato all'implementazione di un sistema di storage in
grado di gestire imponenti flussi di dati (raw data, immagini...).
Il core del sistema di archiviazione e` il database NoSql Riak. A
quasi un anno dall'entrata in produzione, tale configurazione si e`
confermata robusta e performante (vengono acquisiti in modo
ridondato centinaia di migliaia di files ogni mese, realizzando un
archivio permanente in costante crescita dell'ordine di terabytes).
Nel corso dell'intervento verranno mostrate le motivazioni che hanno
portato a questa scelta.
Oltre ad una rapida panoramica volta ad illustrare le funzionalita`
di Riak si intende condividere in modo pratico il know-how acquisito
ripercorrendo le problematiche riscontrate durante il setup, la
configurazione e la gestione di un cluster Riak (ambienti di
sviluppo e produzione, ottimizzazioni, deploy del cluster, backup,
disaster recovery, ...).
Formazione sul theming per drupal 8: partendo da una breve panoramica di che cos'è cambiato rispetto alla versione precedente, vedremo quali sono le novità introdotte con la nuova versione ma soprattutto faremo alcuni esempi pratici utili per chi vuole iniziare a creare un tema per drupal 8 e… vivere sereno!
The document provides an overview and comparison of modern approaches for building REST APIs, including Drupal, full-stack frameworks, dedicated REST frameworks, and API generation platforms. It discusses the pros and cons of each approach, and provides recommendations for when each option may be best suited based on different use cases. Examples of specific frameworks and platforms are also listed for each category.
Frontend asset management with Bower and Gulp.jsRenan Gonçalves
Leverage Bower as your package manager for the front-end assets of your CakePHP application. Define your packages once (jQuery, Bootstrap, and what not?), and let it download everything for you and check for compatibilities among them. No more committing third-party assets to your repository.
And also utilizing Gulp.js, the streaming build system, for automating repetitive front-end related tasks like converting LESS to CSS, CoffeeScript to JavaScript, concatenating files, minifying them, etc with just a single command.
Managing packages with Bower and NuGet in ASP.NET CorePhilip Domingo
The document discusses the package manager Bower and how it can be used for client-side packages in ASP.NET Core projects. It explains what Bower is, compares it to NuGet, and outlines the three things needed to use Bower, which are installing Node.js, npm, and Git, and then using npm to install Bower globally. The document also mentions that Bower has a rich ecosystem for client-side packages and uses semantic versioning.
This document discusses how DevOps tools like Docker and Zaratan can help automate tasks and improve efficiency when managing Drupal 8 sites. It begins with an introduction of the speakers and overview of the talk. It then explains what Docker is, how it can package applications into standardized units, and demonstrates Docker and Docker Compose with Drupal 8. The document introduces Zaratan as a tool to more easily manage Docker projects without needing developer skills. It concludes with a demo of Zaratan with Drupal 8 and a discussion of potential future features.
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpMatthew Davis
We take great care in our back end coding workflow, optimising, automating and abstracting as much as is possible. So why don't we do that with our front end code?
We'll take a look at some tools to help us take our front end workflow to the next level, and hopefully optimise our load times in the process!
We'll be looking at using Twig templates and optimising them for the different areas of your application, integrating Bower and Gulp for managing assets and processing our front-end code to avoid repetitive tasks - looking at how that impacts the typical Symfony workflow.
Ericsson is launching new software for Massive IoT on existing LTE network and this new software addresses the massive number of IoT devices and diversity of their connectivity requirements. The software includes key features enabling cellular networks to support applications such as Smart Cities, Smart Metering, Smart Agriculture.
Best Practice Site Architecture in Drupal 8Pantheon
Drupal 8 offers developers many exciting new features to use in building websites. Have you tried configuration management? How about the new Symfony based routing system? Twig? Cache tags? Each of these systems is extremely powerful and will let you build websites like never before.
Development Workflow Tools for Open-Source PHP LibrariesPantheon
Having a fine-tuned continuous integration environment is extremely valuable, even for small projects. Today, there is a wide variety of standalone projects and online Software-As-A-Service offerings that can super-streamline your everyday development tasks that can help you get your projects up and running like a pro. In this session, we'll look at how you can get the most out of:
* GitHub source code repository
* Packagist package manager for Composer
* Travis CI continuous integration service
* Coveralls code coverage service
* Scrutinizer static analysis service
* Box2 phar builder
* Sami api documentation generator
* ReadTheDocs online documentation reader service
* Composer scripts and projects for running local tests and builds After mastering these tools, you will be able to quickly set up a new php library project and use it in your Drupal modules.
Session presented at Stanford Drupal Camp: https://drupalcamp.stanford.edu/development-workflow-tools-open-source-php-libraries
Il motore di database MySQL, suo funzionamento e utilizzo. Le novita' introdotte dalla versione 5.
Talk tenuto da Alessandro Tanasi (http://www.tanasi.it)
Slides made for the third apointment of the three lessons course "Xamarin Introduction", kept at the Politecnico di Milano.
These are the slides used to present how to use SQLite in a Xamarin.Forms app.
Community Tour 2010 - CMS Edition
DotNetMarche
Slides relative alla seconda sessione su Orchard: principi di base sulla customizzazione di temi e layout.
Non stiamo parlando di un ritorno a WebForm ma di un'evoluzione (o meglio) di un'alternativa al pattern MVC. Le Razor Pages possono essere un buon motore per smuovere le migrazioni di vecchie applicazioni, utilizzando un paradigma di pagina (vicino a quello che chi utilizza WebForm già conosce) ma con una visione e pulizia degna delle migliori applicazioni MVC .
Ecco che le Razor Pages si stanno ritagliano il loro spazio, ed in questa sessione cercheremo di affrontare i pro e contro del loro utilizzo, capendone al meglio i casi duso ideali.
Formazione sul theming per drupal 8: partendo da una breve panoramica di che cos'è cambiato rispetto alla versione precedente, vedremo quali sono le novità introdotte con la nuova versione ma soprattutto faremo alcuni esempi pratici utili per chi vuole iniziare a creare un tema per drupal 8 e… vivere sereno!
The document provides an overview and comparison of modern approaches for building REST APIs, including Drupal, full-stack frameworks, dedicated REST frameworks, and API generation platforms. It discusses the pros and cons of each approach, and provides recommendations for when each option may be best suited based on different use cases. Examples of specific frameworks and platforms are also listed for each category.
Frontend asset management with Bower and Gulp.jsRenan Gonçalves
Leverage Bower as your package manager for the front-end assets of your CakePHP application. Define your packages once (jQuery, Bootstrap, and what not?), and let it download everything for you and check for compatibilities among them. No more committing third-party assets to your repository.
And also utilizing Gulp.js, the streaming build system, for automating repetitive front-end related tasks like converting LESS to CSS, CoffeeScript to JavaScript, concatenating files, minifying them, etc with just a single command.
Managing packages with Bower and NuGet in ASP.NET CorePhilip Domingo
The document discusses the package manager Bower and how it can be used for client-side packages in ASP.NET Core projects. It explains what Bower is, compares it to NuGet, and outlines the three things needed to use Bower, which are installing Node.js, npm, and Git, and then using npm to install Bower globally. The document also mentions that Bower has a rich ecosystem for client-side packages and uses semantic versioning.
This document discusses how DevOps tools like Docker and Zaratan can help automate tasks and improve efficiency when managing Drupal 8 sites. It begins with an introduction of the speakers and overview of the talk. It then explains what Docker is, how it can package applications into standardized units, and demonstrates Docker and Docker Compose with Drupal 8. The document introduces Zaratan as a tool to more easily manage Docker projects without needing developer skills. It concludes with a demo of Zaratan with Drupal 8 and a discussion of potential future features.
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpMatthew Davis
We take great care in our back end coding workflow, optimising, automating and abstracting as much as is possible. So why don't we do that with our front end code?
We'll take a look at some tools to help us take our front end workflow to the next level, and hopefully optimise our load times in the process!
We'll be looking at using Twig templates and optimising them for the different areas of your application, integrating Bower and Gulp for managing assets and processing our front-end code to avoid repetitive tasks - looking at how that impacts the typical Symfony workflow.
Ericsson is launching new software for Massive IoT on existing LTE network and this new software addresses the massive number of IoT devices and diversity of their connectivity requirements. The software includes key features enabling cellular networks to support applications such as Smart Cities, Smart Metering, Smart Agriculture.
Best Practice Site Architecture in Drupal 8Pantheon
Drupal 8 offers developers many exciting new features to use in building websites. Have you tried configuration management? How about the new Symfony based routing system? Twig? Cache tags? Each of these systems is extremely powerful and will let you build websites like never before.
Development Workflow Tools for Open-Source PHP LibrariesPantheon
Having a fine-tuned continuous integration environment is extremely valuable, even for small projects. Today, there is a wide variety of standalone projects and online Software-As-A-Service offerings that can super-streamline your everyday development tasks that can help you get your projects up and running like a pro. In this session, we'll look at how you can get the most out of:
* GitHub source code repository
* Packagist package manager for Composer
* Travis CI continuous integration service
* Coveralls code coverage service
* Scrutinizer static analysis service
* Box2 phar builder
* Sami api documentation generator
* ReadTheDocs online documentation reader service
* Composer scripts and projects for running local tests and builds After mastering these tools, you will be able to quickly set up a new php library project and use it in your Drupal modules.
Session presented at Stanford Drupal Camp: https://drupalcamp.stanford.edu/development-workflow-tools-open-source-php-libraries
Il motore di database MySQL, suo funzionamento e utilizzo. Le novita' introdotte dalla versione 5.
Talk tenuto da Alessandro Tanasi (http://www.tanasi.it)
Slides made for the third apointment of the three lessons course "Xamarin Introduction", kept at the Politecnico di Milano.
These are the slides used to present how to use SQLite in a Xamarin.Forms app.
Community Tour 2010 - CMS Edition
DotNetMarche
Slides relative alla seconda sessione su Orchard: principi di base sulla customizzazione di temi e layout.
Non stiamo parlando di un ritorno a WebForm ma di un'evoluzione (o meglio) di un'alternativa al pattern MVC. Le Razor Pages possono essere un buon motore per smuovere le migrazioni di vecchie applicazioni, utilizzando un paradigma di pagina (vicino a quello che chi utilizza WebForm già conosce) ma con una visione e pulizia degna delle migliori applicazioni MVC .
Ecco che le Razor Pages si stanno ritagliano il loro spazio, ed in questa sessione cercheremo di affrontare i pro e contro del loro utilizzo, capendone al meglio i casi duso ideali.
L’eXtensible Markup Language, fin dalla sua nascita, ha avuto un gran consenso da parte di tutti gli attori che operano nel mondo informatico, diventando di fatto la base di molte applicazioni, in particolar modo di quelle che fondano la loro attività sullo scambio di informazioni, per la sua semplicità ed interoperabilità.
Presentazione sull'evoluzione di Struts, primo framework web MVC in ambito Java e sul merger con WebWork, effettuata durante la (prima!) tappa di Torino della prima edizione di JavaDay '06.
MySQL Tech Tour 2016 - Database-as-a-Service con MySQL e Oracle OpenstackPar-Tec S.p.A.
In occasione dell’Oracle MySQL Tech Tour 2016, il TechAdvisor Daniele Marcocci ha illustrato come Oracle OpenStack e MySQL Enterprise Edition permettono di realizzare un DBaaS funzionale e produttivo.
Nella sessione introduttiva sono stati trattati i seguenti punti:
- Capiamo l’architettura
- Approfondimenti
- Database-as-a-Service
Per saperne di più, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/database-as-a-service-con-mysql-e-oracle-openstack
Talks on my machine: Drupal, Storybook e SDCsparkfabrik
L'introduzione di Single Directory Components (SDC) in Drupal ha inaugurato un nuovo approccio allo sviluppo frontend. Ad un anno dall'integrazione nel core, abbiamo messo alla prova SDC su progetti avanzati caratterizzati da design system complessi con un'attenzione particolare alle performance.
In questo talk esploreremo le sfide tecniche e organizzative che abbiamo affrontato, i miglioramenti in termini di efficienza e manutenibilità del codice e come l'utilizzo di uno strumento come Storybook abbia trasformato il nostro approccio allo sviluppo frontend su Drupal.
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 l’interfaccia più carina, c’era (troppo) poco JavaScript. Ma alla fine il lavoro a casa l’avrebbe 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 l’esperienza d’uso di Drupal.
In questo talk vedremo quali sono le principali differenze tra Drupal CMS e alcune piattaforme headless come Strapi e Contentful.
Talks on my machine: Drupal: AI e Typesense come integrare la ricerca semanticasparkfabrik
In questa sessione esploreremo come l'AI e la ricerca semantica possono trasformare il modo in cui gli utenti trovano contenuti sui siti Drupal, grazie a Typesense, un motore di ricerca open-source semplice e veloce. Inizieremo con una breve panoramica sul fantastico lavoro della comunità Drupal nell’integrare l’AI, prendendo spunto dagli highlight condivisi durante il Driesnote al DrupalCon Barcelona 2024.
Poi, vedremo cosa significa davvero la ricerca semantica e perché è un vero punto di svolta per offrire risultati di ricerca rapidi e precisi. Scoprirai come Typesense migliora questo processo e ti mostreremo come configurarlo in Drupal utilizzando il modulo "Search API Typesense", al quale abbiamo contribuito direttamente.
Per rendere tutto più pratico, faremo una demo live, guidandoti passo dopo passo nella configurazione e mostrandoti come funziona. Concluderemo con qualche consiglio pratico per aiutarti a sfruttare al massimo Typesense nei tuoi progetti Drupal. Che tu sia alle prime armi con l'AI o un esperto sviluppatore Drupal, questa sessione ti darà gli strumenti per migliorare l'esperienza di ricerca del tuo sito.
KCD Italy 2023 - Secure Software Supply chain for OCI Artifact on Kubernetessparkfabrik
In this talk we will talk about how to ensure the security and quality of the software we deploy on Kubernetes using open-source tools like Sigstore, Kyverno and Syft/Grype.
We will explain what a secure supply chain is, why it is important and how to implement it with these tools. We will also show you how to generate and verify SBOMs (Software Bill of Materials) of your OCI (Open Container Initiative) artifacts. And finally, we will show you some practical examples of how to use these technologies in action.
We hope you enjoy it and find it useful!
This document discusses application-driven infrastructure using Crossplane. It introduces Crossplane as a Kubernetes-native framework that allows platform teams to assemble infrastructure from multiple vendors and expose higher-level APIs. This enables development teams to consume infrastructure services without having to write custom code. Crossplane uses the concepts of providers, managed resources, and composite resources to map external services to Kubernetes and provide opinionated APIs through self-service resources. It aims to simplify infrastructure provisioning and management for both platform and application teams.
IAD 2023 - 22 Years of Agile and all I got is this lousy t-shirtsparkfabrik
Agilità oltre il software? Ma se è una fatica di Sisifo applicarla già solo AL software?
A 22 anni dalla pubblicazione del Manifesto ancora lamentiamo scarsi risultati e aspettative sbagliate. Il mondo non ci capisce, ma noi ci facciamo l'occhiolino e custodiamo la chiave segreta per il successo. O no?
È tempo di smettere di lamentarci e iniziare a chiederci perché è così difficile convincere il mondo che abbiamo ragione noi.
E se vestissimo i panni di chi paga? Come clienti, qual è la nostra propensione al rischio? Nella nostra vita privata, procediamo sempre in modo empirico?
E come sviluppatori, cosa vogliamo ottenere davvero? Siamo certi che il resto del mondo rifiuti il nostro mindset, o magari non vediamo che l'agilità si esprime già su scale e in industrie differenti?
Facciamo un po' di retrospettiva su questi 22 anni, sul mercato dell'Agile, sulle nostre convinzioni e su "gli individui e le interazioni" al primo punto del nostro amato manfesto. Magari ne usciamo con qualche esperimento.
2023 - Drupalcon - How Drupal builds your pagessparkfabrik
Have you ever wondered what happens when a HTTP request reaches your Drupal web site? How does Drupal find the correct code to execute? Which parts of the page come from the cache and which ones are built from scratch? Which queries are executed against the database? And, why not, how much time and memory the request requires to be converted into a response?
Whether you are a contrib developer or a simple curious person the answers to those questions will let you better understand how Drupal 10 works.
The WebProfiler module can help you in discovering how all the different subsystems of Drupal 10 interact to take a request and return a response. WebProfiler collects data during the build of each page of the site and lets you easily explore the internals of Drupal 10.
Follow the journey of a request entering the stack middleware, passing the routing component and the controller through the ViewSubscriber and Twig. Discover how services provide functionalities and how events give the opportunity (or the chance) to write decoupled code.
Knowing your system will allow you to find bottlenecks, reduce resources and lower the costs.
2023 - TAC23 - Agile HR - Racconti dal frontesparkfabrik
Nel 2020 ho avuto il piacere di essere ospite della Agile Community Torino, per raccontare come in SparkFabrik avessimo organizzato i processi di reclutamento secondo quanto appreso dalla nostra esperienza di sviluppo agile.
Non ho parlato di tecnologia, ma di approcci. Non di strumenti ma di valori.
Sono passati già tre anni da quell'intervento e il nostro reparto Human Relations non ha mai smesso di innovare e sperimentare, non solo nelle fasi di recruiting ma in tutta la filiera di supporto al personale.
Vi racconterò cosa è stato fatto per snellire, efficientare e rendere trasparente il nostro ramo. Discuteremo delle sfide ancora aperte e di alcuni elefanti nella stanza che sempre più spesso - a mio avviso - vengono ignorati nelle discussioni di questo settore.
E come mio solito, non ci andrò per il sottile.
CodeMotion 2023 - Deep dive nella supply chain della nostra infrastruttura cl...sparkfabrik
In this talk I’ll explain what is the Software Supply Chain, common threats and mitigations and how they apply to IAC ecosystem too. I’ll show off security threats using Terraform and its ecosystem and finally i’ll talk about OCI images talking about digital signatures and SBOM using Sigstore and Syft. I’ll do a live coding session showing off how to deploy secure OCI images on K8S cluster with security policies built with Kyverno, the session includes also security scanning using the generated SBOM.
What is the Secure Supply Chain and the Current State of the PHP Ecosystemsparkfabrik
In this talk I’ll present the current state of the software supply chain, the big global recent events (SolarWinds, log4shell, codecov, packagist) and the state of the PHP and Drupal ecosystem, the threats and the mitigations that can be applied using tools like Sigstore, Syft, and Grype for digital signatures, SBOM generation, and automatic vulnerability scanning and how to use them for real-world projects to gain unprecedented levels of knowledge of your digital artifacts.
There will be also a demo of the mentioned tools in action to implement a secure supply chain pipeline for your Drupal projects.
Quanto è sostenibile la UX per il nostro Pianeta? Che si tratti di utilizzare Internet per lavoro, per accrescimento personale o semplicemente per staccarsi dalla realtà, tutto questo ha un costo e un forte impatto ambientale. Infatti, la prima frase citata nel Sustainable Web Manifest è la seguente: ''Se Internet fosse un Paese, sarebbe il settimo più grande inquinatore'. Progettare siti web sostenibili per l'ambiente significa tenere conto di parametri come velocità, performance e usabilità: ironicamente, si tratta di caratteristiche che gli utenti in primis premiano. Quindi perchè il web contribuisce ancora così tanto alle emissioni di CO2?
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...sparkfabrik
This document discusses the secure software supply chain and current state of the PHP ecosystem. It begins with introductions and defines a software supply chain as a network involved in creating and delivering a product to consumers. It then discusses threats in modern software supply chains like dependencies and demonstrates building a software bill of materials (SBOM) to analyze dependencies. It also covers recent supply chain attacks on PHP infrastructure and tools like Composer and PEAR. Finally, it recommends mitigations like using signed container images to verify integrity and provenance and generating SBOMs to detect vulnerabilities.
Deep dive nella supply chain della nostra infrastruttura cloudsparkfabrik
The document discusses software supply chain security and infrastructure as code. It describes how malicious modules and containers could potentially compromise infrastructure. It emphasizes the importance of using tools to detect issues like unauthorized access from modules. The document also discusses using digital signatures, software bills of materials, and initiatives like Sigstore and the OpenSSF to help secure the software supply chain and increase integrity and transparency of artifacts. It provides examples of how infrastructure as code could be exploited and recommends best practices like static analysis and generating signatures and software bills of materials to help prevent issues.
KCD Italy 2022 - Application driven infrastructure with Crossplanesparkfabrik
Crossplane allows users to extend their Kubernetes clusters using CRDs. The CRDs map any infrastructure or managed service, ensuring that the creation process for the users is as simple as the Kubernetes resources creation. Using a collection of YAML manifests, the development teams can assemble the needed cloud services for their applications removing this duty from the operation teams: this is "shift left" at its best. All this powerfulness comes with a cost in terms of security, governance, cognitive load and maintenance. In this talk we'll discuss strategies and techniques to better map the complexity of this infrastructure.
Hai mai pensato a cosa succede quando una richiesta HTTP arriva al tuo sito Drupal? Come Drupal trova il codice corretto da eseguire? Quali parti di una pagina provengono dalla cache e quali sono costruite da zero? Quante e quali query vengono eseguite sul database? E, perché no, quanto tempo e quanto memoria richiede convertire la richiesta in una risposta?
Che tu sia una persona che sviluppa moduli o solo curiosa, le risposte a queste domande ti aiuteranno a comprendere meglio come funziona internamente il tuo CMS preferito (perché se non lo è già, lo diventerà).
Per fare questo useremo il modulo Webprofiler, che ci aiuterà a capire come le varie componenti di Drupal interagiscono per convertire una richiesta in una risposta. Webprofiler raccoglie dati durante la costruzione di ogni pagina del sito e ci permette di esplorare facilmente cosa succede all’interno di Drupal.
Seguiremo il percorso di una richiesta iniziando dai middleware, passeremo dal routing al controller per finire a Twig. Scopriremo come i servizi forniscono funzionalità e come gli eventi danno la possibilità (o l’opportunità) di scrivere codice disaccoppiato. Il tutto senza perdere di vista le performance e tenendo un occhio sulle risorse, il tempo, le cache e le query.
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.
Do you know what your Drupal is doing Observe it! (DrupalCon Prague 2022)sparkfabrik
This document discusses observability tools for distributed systems like Drupal websites. It recommends using Monolog for structured logging, the Prometheus monitoring system for metrics collection, and OpenTelemetry with Tempo for distributed tracing. The Observability suite module can integrate all three for Drupal. Monolog logs are scraped by Promtail and sent to Loki. Metrics are exposed via Prometheus and scraped. OpenTelemetry instruments code and sends traces to Tempo. This provides insights across logs, metrics and traces for observability of distributed applications.
Do you know what your Drupal is doing_ Observe it!sparkfabrik
Our Drupal 8 websites are true applications, often very complex ones.
More and more workload is delegated to external systems, usually microservices, that are used for many different tasks.
Architectures are always more distributed and fragmented.
To trace the lifecycle of a single request that origins in a client, passes throught all Drupal subsytems, reaches external (micro)services and comes back will become mandatory to track down problems and to optimize for performances. This is often time consuming and without the right tools may became very difficult.
A simple unstructured log stream isn't enough anymore, we need to find a way to observe the details of what is going on.
Observability is all about this and is based on structured logs, metrics and traces. In this talk we will see how to implement these tecniques in Drupal, which tools and which modules to use to trace and log all requests that reach our website and how to expose and display useful metrics.
We will integrate Drupal with OpenTracing, Prometheus, Monolog, Grafana and many more.
Progettare e sviluppare soluzioni serverless con AWSsparkfabrik
1. DEFINIZIONI
- Perché Serverless / Cos’è Serverless
- Le promesse di serverless
- Use case
2. I PRODOTTI DISPONIBILI
- Confrontare prodotti serverless
- Il mercato FaaS
- La famiglia AWS serverless
4. STRUMENTI E BEST PRACTICE
- Strumenti AWS
- Framework e ambienti di sviluppo
- Testing
- Debug, log, monitoraggio
3. DESIGN E ARCHITETTURA
- Performance e Capacity
- Deploy e Release
- Gestione costi
From React to React Native - Things I wish I knew when I startedsparkfabrik
INTRO
Why RN
Welcome to the Mobile world
The app bundle
UI COMPONENTS/NAVIGATION
Android Jetpack
iOS UIKit
React Navigation
THE JAVASCRIPT ENGINE
JavaScriptCore
Chrome V8
Hermes
THE LOCAL DEVELOPMENT
Metro
Flipper
Gradle
CocoaPods
Fastlane
9. PERCHÉ ES6?
* Why not? transpiler >>> compatibilità
* Contiene una discreta dose di "syntactic sugar", per
oggetti e tipi di dati di uso comune
* È più orientato a organizzare il codice a oggetti in
modi "familiari" (classi vs. prototype)
10. PERCHÉ ES6?
* Rende il comportamento del codice più prevedibile
rispetto alle versioni precedenti (es. scope delle var)
* Moduli
* Promises (per AJAX)
11. ES6: COSA ABBIAMO SFRUTTATO FINORA?
* Syntactic sugar
* Accenno di modularità
* Classi
12. ES6: COSA SFRUTTEREMO IN FUTURO?
* ES7 async
* Generators
* Promises
(insomma, next-gen AJAX…)
13. COMPONENTI DEL SISTEMA
* una rotta unica
* template pagina
* hook_theme
* YAML >>> blocchi
* GOAT-core
* JS per clic su tab
14. ROUTING
Una sola rotta
restituisce con JSON i
contenuti di ogni blocco.
La rotta accetta un
parametro che indica
quale blocco recuperare.
Per convenzione, il
parametro identificativo
coincide con il nome
dell’elemento di
hook_theme
15. THEMING
Un template per la pagina
contenitore di
destinazione delle
sezioni. Contiene tutti i
contenitori di markup che
definiscono le sezioni.
Un elemento hook_theme
per ogni blocco da
implementare, indica
quale template usare come
contenitore per i
blocchi.
16. CLASSI
Un’interfaccia definisce
quali metodi devono
implementare i singoli
blocchi.
Una factory provvede ad
associare ogni
identificativo di blocco
(elemento hook_theme -
vd. altra slide) con la
relativa classe.
17. YAML + SETTINGS
Un file YAML di
definizione di sezioni,
regioni, blocchi: viene
elaborato dalla classe
parser.
Una volta elaborata la
configurazione, viene
passata agli script
tramite drupalSettings.
18. -CORE
Una libreria generica che
si occupa di mostrare e
nascondere i blocchi
all’interno delle varie
sezioni.
Interagisce con i
drupalSettings.
Riceve i dati sulla
sezione da mostrare da
uno script che gestisce i
click sulle tab.
19. -CORE
Nella versione D7 il
codice server-side si
occupa anche di caricare
dinamicamente le librerie
eventualmente richieste
dai contenuti caricati
via AJAX, per il
funzionamento di alcuni
widget (es. i filtri
esposti AJAX di Views).
20. Il futuro di
* Gestione di URL che
portano direttamente a un
tab interno
* Gestione della
cronologia di navigazione
attraverso le tab
* AJAX “moderno”
(promises, ES7…)
* Possibilità di
configurare la necessità
di refresh per sezioni o
singoli blocchi
21. PROBLEMI E ANNOTAZIONI - ES6
* retrocompatibilità >>> transpiler + polyfill
* moduli: decidere se usare librerie fornite da Drupal
(es. jQuery come modulo >>> DEPENDENCY)
* transpiler >>> layer aggiuntivo da gestire durante
sviluppo e debug
22. PROBLEMI E ANNOTAZIONI - D8
* Supportare le librerie JS "di terzi" è un po' più
problematico (WIP) >>> attachment
* Obsolescenza delle librerie fornite “stock” da D8