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
[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 (dall’esecuzione 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] - 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
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8Roberto Peruzzo
Titolo Talk: Cosa significa convertire un modulo da D7 a D8.
Livello: Base
Abstract: 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.
[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
Friction Logging and Internal Advocacy, DevRel/Asia 2020Emma Haruka Iwao
One of the core functions of DevRel is to advocate for developers and make developer experience frictionless. We, DevRel at Google, use friction logs to create and provide structured feedback for products for different scenarios and help product teams deliver consistent experience across multiple products and features. In this talk, you will learn: - What is a friction log - Working as an internal outsider - How to write a friction log - How friction logs are different from bugs - Continuing conversations with product teams The goal is to be able to confidently write cross-product, experience-focused feedback.
WordPress plugins can appear to be magical, but they can be created with basic knowledge of PHP. This session will demonstrate how a beginner may develop a simple plugin or a more complex plugin using a boilerplate template.
[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 (dall’esecuzione 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] - 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
COSA SIGNIFICA CONVERTIRE UN MODULO DA D7 A D8Roberto Peruzzo
Titolo Talk: Cosa significa convertire un modulo da D7 a D8.
Livello: Base
Abstract: 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.
[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
Friction Logging and Internal Advocacy, DevRel/Asia 2020Emma Haruka Iwao
One of the core functions of DevRel is to advocate for developers and make developer experience frictionless. We, DevRel at Google, use friction logs to create and provide structured feedback for products for different scenarios and help product teams deliver consistent experience across multiple products and features. In this talk, you will learn: - What is a friction log - Working as an internal outsider - How to write a friction log - How friction logs are different from bugs - Continuing conversations with product teams The goal is to be able to confidently write cross-product, experience-focused feedback.
WordPress plugins can appear to be magical, but they can be created with basic knowledge of PHP. This session will demonstrate how a beginner may develop a simple plugin or a more complex plugin using a boilerplate template.
Website factory with domain Access: why and how& - Kiêt Trân & David FerlayDrupalCamp Kyiv
One of the frequent need of large companies is to be able to provide to their different businesses or brands a website. And while Drupal is a powerful tool to answer to custom or complex needs, it lacks of scalability to creates small and simple websites.
When you face this issue, one of the answer (and probably the one your customer will ask anyway) is: a website factory. The principle is based on a multi site solution.
Domain Access modules suite is a way to build the needed architecture but you have to ask yourself few simple questions before giving it a go:
Why would Domain Access be the architecture you need? (Pros, cons, comparisons)
How do we build a website factory using Domain access? (Available modules and their use)
To those of us Drupal developers getting started with Symfony, there's a whole new set of vocabulary words we need to learn. In this SlideShare presentation, I cover a few of the key things you need to know about the new terminology in Drupal 8 including:
-YAML
-Composer
-PSR-0
-Dependency Injection
-Service Containers
-Routing
The Workflow Methodology to Train Your Team on Drupal 8Acquia
With all of the new updates in Drupal 8, it’s important to ensure that you and your team are fully trained on the improvements and changes. This webinar will do just that and will help you get up to speed on Drupal 8. Whether you need to train yourself, or a whole team, you’ll leave this webinar with useful resources and advice.
Join OSTraining, an Acquia training partner, to hear about the process for getting your team ready to build on Drupal 8. Topics covered will include:
- The course outline from the Drupal 8 Beginner class, used to get newcomers and site-builders ready to work with Drupal 8
- The skills that Drupal themers will need to learn including Twig, Javascript, and Headless Drupal (and where to learn them!)
- The abilities that Drupal 8 developers must learn including Symfony, object oriented programming, and the new REST API (and the resources available to learn them)
Digital Signage for YMCA and the Drupal roleDmitry Drozdik
The YMCA of the Greater Twin Cities is currently building an Internet of Things. As part of this project, we are assisting them in developing an omnichannel system for managing content that includes both marketing material and data from third-party systems across digital signage, web, and mobile experiences. In this system, we are using the Open Y Drupal distribution to serve as a proxy between resources that provide data about scheduled activities and to manage that content as well as to supplement it with both marketing content and time and location sensitive messaging.
In this session, I will cover a number of issues that we faced during development.
Our integration uses the following 3rd party services:
- GroupEx Pro - a private, web-based communication portal for group fitness programs
- ScreenCloud - an online platform which allows us to manage content on screens easily.
I will discuss:
- Business goals and Use Cases - The YMCA is an evolving organization with a wide variety of needs, from member services to marketing, to wellness promotion. With a new facility and new capabilities, we can only predict a portion of the messaging needs that the Y will have in-branch.
- Architecture - Because of the fundamental lack of control we have over third party services, a strong, flexible architecture that can cover a wide variety of use cases and adapt to changes in data format and service availability is necessary.
- Implementation - I will demonstrate how everything comes together and show what you need to implement it, add your own features, and adapt it to new use cases.
Drupal 8 sets a new standard for ease of use, and allows users to create and deploy content in a whole new way. You’ve seen the platform designed for Drupal, now see Drupal designed for the platform.
As of May 1st 2015, when should you deploy Drupal 8? There are a very limited number of appropriate use cases and deployment circumstances right now. How can you know when Drupal 8 is ready for you and you ready for it? How do you have the conversation with a prospective client who wants Drupal 8, but whose project isn't right for it now? Don't forget Drupal 7 is stable, feature rich, and rapidly deployable *right now*. Examples of Drupal 8 sites and projects.
Plugin Development for Beginners v.2019Joe Cartonia
WordPress plugins are not as complicated as you may think. They can be created with basic knowledge of PHP. This session will demonstrate how a beginner can start developing a plugin, and some common tools used by developers.
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...DrupalCamp Kyiv
I will examine the implementation of the update process in the OpenY distribution
A few topics that will be covered:
- Main disadvantages of updating existing distributions
- How these problems were solved in the distribution of OpenY
- Separation of the openy_upgrade_tool module into a contrib project
- Problems to be Solved
Drupal Café October 2014: DrupalCon AmsterdamExove
Lauri Eskola from Druid highlighted the best parts of DrupalCon Amsterdam at Drupal Café October 2014.
The slides can be seen also on their original format at http://laurieskola.fi/drupalcon-14/index.html#/
The answer is no, but it will help! There's not much commentary on those slides actually, you had to be there. The actual model is at https://community.apache.org/apache-way/apache-project-maturity-model.html
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.DrupalDay
Il talk sarà incentrato sul tema dell’accessibilità web. Sarà introdotta la tematica sia dal punto di vista generale (cos’è l’accessibilità, quali sono le leggi nazionali in materia), che delle metodologie utilizzate per la verifica dell’accessibilità (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à dell’accessibilità in Drupal.
di Antonio Giovanni Schiavone
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
Website factory with domain Access: why and how& - Kiêt Trân & David FerlayDrupalCamp Kyiv
One of the frequent need of large companies is to be able to provide to their different businesses or brands a website. And while Drupal is a powerful tool to answer to custom or complex needs, it lacks of scalability to creates small and simple websites.
When you face this issue, one of the answer (and probably the one your customer will ask anyway) is: a website factory. The principle is based on a multi site solution.
Domain Access modules suite is a way to build the needed architecture but you have to ask yourself few simple questions before giving it a go:
Why would Domain Access be the architecture you need? (Pros, cons, comparisons)
How do we build a website factory using Domain access? (Available modules and their use)
To those of us Drupal developers getting started with Symfony, there's a whole new set of vocabulary words we need to learn. In this SlideShare presentation, I cover a few of the key things you need to know about the new terminology in Drupal 8 including:
-YAML
-Composer
-PSR-0
-Dependency Injection
-Service Containers
-Routing
The Workflow Methodology to Train Your Team on Drupal 8Acquia
With all of the new updates in Drupal 8, it’s important to ensure that you and your team are fully trained on the improvements and changes. This webinar will do just that and will help you get up to speed on Drupal 8. Whether you need to train yourself, or a whole team, you’ll leave this webinar with useful resources and advice.
Join OSTraining, an Acquia training partner, to hear about the process for getting your team ready to build on Drupal 8. Topics covered will include:
- The course outline from the Drupal 8 Beginner class, used to get newcomers and site-builders ready to work with Drupal 8
- The skills that Drupal themers will need to learn including Twig, Javascript, and Headless Drupal (and where to learn them!)
- The abilities that Drupal 8 developers must learn including Symfony, object oriented programming, and the new REST API (and the resources available to learn them)
Digital Signage for YMCA and the Drupal roleDmitry Drozdik
The YMCA of the Greater Twin Cities is currently building an Internet of Things. As part of this project, we are assisting them in developing an omnichannel system for managing content that includes both marketing material and data from third-party systems across digital signage, web, and mobile experiences. In this system, we are using the Open Y Drupal distribution to serve as a proxy between resources that provide data about scheduled activities and to manage that content as well as to supplement it with both marketing content and time and location sensitive messaging.
In this session, I will cover a number of issues that we faced during development.
Our integration uses the following 3rd party services:
- GroupEx Pro - a private, web-based communication portal for group fitness programs
- ScreenCloud - an online platform which allows us to manage content on screens easily.
I will discuss:
- Business goals and Use Cases - The YMCA is an evolving organization with a wide variety of needs, from member services to marketing, to wellness promotion. With a new facility and new capabilities, we can only predict a portion of the messaging needs that the Y will have in-branch.
- Architecture - Because of the fundamental lack of control we have over third party services, a strong, flexible architecture that can cover a wide variety of use cases and adapt to changes in data format and service availability is necessary.
- Implementation - I will demonstrate how everything comes together and show what you need to implement it, add your own features, and adapt it to new use cases.
Drupal 8 sets a new standard for ease of use, and allows users to create and deploy content in a whole new way. You’ve seen the platform designed for Drupal, now see Drupal designed for the platform.
As of May 1st 2015, when should you deploy Drupal 8? There are a very limited number of appropriate use cases and deployment circumstances right now. How can you know when Drupal 8 is ready for you and you ready for it? How do you have the conversation with a prospective client who wants Drupal 8, but whose project isn't right for it now? Don't forget Drupal 7 is stable, feature rich, and rapidly deployable *right now*. Examples of Drupal 8 sites and projects.
Plugin Development for Beginners v.2019Joe Cartonia
WordPress plugins are not as complicated as you may think. They can be created with basic knowledge of PHP. This session will demonstrate how a beginner can start developing a plugin, and some common tools used by developers.
Don’t fight with windmills. Upgrade path tool from OpenY distro - Igor Karpil...DrupalCamp Kyiv
I will examine the implementation of the update process in the OpenY distribution
A few topics that will be covered:
- Main disadvantages of updating existing distributions
- How these problems were solved in the distribution of OpenY
- Separation of the openy_upgrade_tool module into a contrib project
- Problems to be Solved
Drupal Café October 2014: DrupalCon AmsterdamExove
Lauri Eskola from Druid highlighted the best parts of DrupalCon Amsterdam at Drupal Café October 2014.
The slides can be seen also on their original format at http://laurieskola.fi/drupalcon-14/index.html#/
The answer is no, but it will help! There's not much commentary on those slides actually, you had to be there. The actual model is at https://community.apache.org/apache-way/apache-project-maturity-model.html
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.DrupalDay
Il talk sarà incentrato sul tema dell’accessibilità web. Sarà introdotta la tematica sia dal punto di vista generale (cos’è l’accessibilità, quali sono le leggi nazionali in materia), che delle metodologie utilizzate per la verifica dell’accessibilità (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à dell’accessibilità in Drupal.
di Antonio Giovanni Schiavone
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
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...DrupalDay
Gli Open Data rappresentano il motore per l’innovazione, la crescita e la governance. Recentemente la Commissione Europea, nell’ambito delle azioni dell’Agenda Digitale, ha presentato un programma di azioni per il riutilizzo delle informazioni del settore pubblico che dovrebbe dare un contributo consistente all’economia. 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 & 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] - 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 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] - 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 l’occasione 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
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
[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 l’informazione è un servizioDrupalDay
Creare e mantenere contenuti online è un’attività 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 l’intero 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
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
[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 (dall’esecuzione 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
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
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
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
Learn the basics of Behavioral Driven Development (BDD) with Behat to build quality applications. Behat utilizes natural language syntax to define feature test scenarios. In this tutorial you will learn how to write integration tests for web applications. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and Sauce Labs. Learn a better way to perform integration testing today!
In this session we will cover as much as possible the following topics:
- Quick intro to TDD (Test-Driven Development) and BDD (Behavior-Driven Development)
- Gherkin
- Behat
- Mink
- Drupal extension with Drush integration
- Acceptance criteria
- Demonstrations and show cases
Automated Acceptance Testing (and tool choice)
Automated acceptance testing has many names: acceptance-test driven development (ATDD), story-test driven development (STDD), agile acceptance testing and, most recently, specification by example. At the heart of all these approaches is to produce business-facing tests which are system tests running end-to-end, picking up regression issues and improving confidence that the code works as required.
In this talk, I will contextualise how each of these approaches share in common a three-tier layering strategy: acceptance criteria, test implementation layer and application driver layer. This is important because applying this approach requires a tool choice and each tool tends to have its own sweet (and blind) spot that is best understood through these layers.
I will first deep dive into sample code across a few tools (Cucumber, Fitnesse, Concordion) to illustrate this layering. I use an example that shows how to decouple the GUI from tests (window driver pattern).
Finally, I will look at some typical client scenarios to examine which tools might best suited because tool choice is not simply a host operating system question (.Net, Java, Ruby).
Building products people actually can use – why all developers need to unders...Cyber-Duck
Discover the presentation from our fifth episode in Cyber-Duck's new webinar series, Essential (Laravel) developer skills for successful end-to-end project delivery.
From Drupal 7 to Drupal 8 - Drupal Intensive Course OverviewItalo Mairo
From Drupal 7 to Drupal 8
A Drupal 7 and Drupal 8 course Intensive Overview
Treated arguments
Project characteristics
Main uses and users
Strength points
Community Documentation
Site Building Guide
Drupal 7 Focus
Implementation Workflow
Technology Stack, Core and Files Structure
Clean URLs & Aliases
Hooks
Themes
Blocks & Regions
Nodes
Taxonomy
Fields
Download & Extend (main useful modules)
Views Module
Menu System
Quality Assurance & Coding Standards
Multisite
Advanced Development Tools and Workflows
Git operational workflow
Continuous Integration, with Features Module
Drupal 8 Focus
Files Layout and Structures
Core concepts: “Proudly Invented Elsewhere”
New features and enhancements
WYSIWYG Editor
Quick Edit - In-place Editing
Refreshed Admin Theme
Draft Support in Core
Mobile First
Mobile-friendly Toolbar
Responsive-ize ALL Things (Themes, Images, Tables...)
Multilingual First & Language Selection Everywhere
Views in Core
More and Better Blocks
More Field Types
Render arrays
Front-end Developer Improvements
HTML5
Improved Accessibility
New Theme System: Twig
Back-end Developer Improvements
Symfony based Routing System
Configuration Management System & Configuration Sync Workflow
Content Deployment
Entities Everywhere, Configuration and Content Entities
Web Services
Improved Caching & Big Pipe
Building Modules with Drupal 8
Migration Path: Preparing for Drupal 8
Deciding When to Upgrade
Using Composer and GIT To create a new Drupal 8 project
Another day, another buzzword in the world of software development! ‘Microservices’ is a new approach to structuring server-side software. But is it really new? In this talk I’ll walk you through the birth and ‘raison d’etre’ of microservices and tell about pro’s and con’s of the approach.
Having laid the foundation, we will take a look at best-practices and patterns for building micro service architectures and combine this with a tour of current technologies and development tools.
Finally, I will take a quick look at the future and discuss some of the remaining challenges. All parts of the presentation will be accompanied by structural examples based on a real ecommerse system.
The development and future of GlotPressMarko Heijnen
A talk about the history, the current status en future of GlotPress. GlotPress is a collaborative, web-based software translation tool used by WordPress and related projects.
Similar to [drupalday2017] - Behat per Drupal: test automatici e molto di più (20)
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Generating a custom Ruby SDK for your web service or Rails API using Smithy
[drupalday2017] - Behat per Drupal: test automatici e molto di più
1. Behat for Drupal
Automated tests and much more
Andrea Pescetti
andrea@nuvole.org
Fabian Bircher
fabian@nuvole.org
Antonio De Marco
antonio@nuvole.org
web: nuvole.org twitter: @nuvoleweb
2.
3. 🎯
Our experience
Nuvole is a 100% Drupal company.
Projects: Drupal 8 websites, mostly in the high-profile range.
Clients: International organizations in the US and Europe.
Team: Distributed in 4 European countries - small and agile.
4.
Behat: an overview
A generic tool for PHP (not just Drupal).
Focus: behavior-driven development (BDD).
In plain English: a way for developers and business to agree on
project specifications that can be validated automatically.
Or, in other words, a way to use machine-readable user stories.
5. 🔍
Behat: basic example
Feature: Users
Scenario: Visitors can access the login form
Given I am not logged in
When I visit "/user"
Then I should see "Username"
And I should see "Password"
6. 📚
Gherkin: Scenario Background
Feature: Users
Background:
Given users:
| name | mail | pass |
| testing | testing@example.com | pass |
Scenario: Users can login
Given I am not logged in
When I visit "/user"
Then I should see "Username"
When I enter "testing" for "Username"
And I enter "pass" for "Password"
And I press the "Log in" button
Then I should see the link "View"
And I should see the link "Edit"
7. 📚
Gherkin: Scenario Outline
Scenario Outline: Ordinary users cannot create content
Given I am logged in as "testing"
And I visit "/node/add/<type>"
Then I should not see "Create"
Examples:
| type |
| document |
| news |
8.
Drupal Behat: Built-in steps
Compact format (list):
$ behat --definitions l
Extended format (info):
$ behat --definitions i
9.
Custom steps
New steps for Behat can easily be added when needed by
providing custom Behat Contexts.
Just write the test in Gherkin as if the custom step existed.
Behat will give you a stub for the step code!
10. 👑
Behat: best practices
Behat will clean up added users/content after use.
But the database after a Behat run should be considered "dirty".
Backup first if needed.
Never run in production.
11. 👑
Behat: clean-room or real-life?
Maintain a set of tests that are supposed to run on a freshly
installed site.
Maintain a set of tests that are supposed to run on any site state,
including a snapshot of the current production database.
Tags can help to discriminate such tests.
12. 👑
Behat for speci cations
Gherkin is readable (and almost writable) by the business -
localized variants available too.
Well-written Behat tests give you a way for encoding and testing
site specifications.
This can be reused for a site manual/documentation later.
You get to decide the level of coverage!
13. 👑
Behat for development
Write the test first and run it.
It will fail due to missing steps or code (or it doesn't, and you know
the test is incomplete!).
Develop missing steps and code, run until green.
Bonus: you know that the test is actually good.
14. 👑
Behat for regression testing
Update core and modules.
Site still working? Security patch brough a new permission to be
configured?
Run the full test suite and ensure everything is OK.
If not, you can even git bisect until you find the problematic
commit.
15. 👑
Site migration
Example: convert a Drupal 7 site to a (new) Drupal 8 site.
We want to test proper implementation of functionality (not
content migration).
Encode the current functionality in Behat tests that run
successfully on the D7 site.
Use them (the same files) as a basis for the D8 development.
End of the "It used to work like this" headaches!