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
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
Lean Drupal Repositories with Composer and DrushPantheon
Composer is the industry-standard PHP dependency manager that is now in use in Drupal 8 core. This session will show the current best practices for using Composer, drupal-composer, drupal-scaffold, Drush, Drupal Console and Drush site-local aliases to streamline your Drupal 7 and Drupal 8 site repositories for optimal use on teams.
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.
A book for learning puppet by real example and by building code. Chapter 1 gives you basic introduction and sets you up with a server-agent using Vagrant so that you can do hands-on.
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
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
Lean Drupal Repositories with Composer and DrushPantheon
Composer is the industry-standard PHP dependency manager that is now in use in Drupal 8 core. This session will show the current best practices for using Composer, drupal-composer, drupal-scaffold, Drush, Drupal Console and Drush site-local aliases to streamline your Drupal 7 and Drupal 8 site repositories for optimal use on teams.
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.
A book for learning puppet by real example and by building code. Chapter 1 gives you basic introduction and sets you up with a server-agent using Vagrant so that you can do hands-on.
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
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!
Composer is the de-facto php dependency management tool of the future. An ever-increasing number of useful open-source libraries are available for easy use via Packagist, the standard repository manager for Composer. As more and more Drupal contrib modules begin to depend on external libraries from Packagist, the motivation to use Composer to manage grows stronger; since Drupal 8 Core, and Drush 7 are now also using Composer to manage dependencies, the best way to ensure that all of the requirements are resolved correctly is to manage everything from a top-level project composer.json file.
This deck examines the different ways that Composer can be used to manage your project code, and how these new practices will influence how you use Drush and deploy code.
Watch the session video: https://www.youtube.com/watch?v=WNS3d_wzZ2Y
Pantheon's Greg Anderson presents on the topic of using Composer with Drupal and Drush. Composer is a dependency manager that has become the de-facto standard for managing the components used in any sort of PHP library or application. Drupal is no exception to this, and in this presentation, Greg showed that the future is already here: it is completely possible to use native Composer functions to manage the modules and themes used in a Drupal site. In this capacity, Composer can take over the functions usually performed with drush make, drush pm-download, and drush pm-update.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Pantheon
Greg Anderson's slide deck from BADCamp 2016.
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
- PhpDocumentor api documentation generator
- ReadTheDocs online documentation reader service
- Composer scripts and projects for running local tests and builds
Slides from my presentation, "Creating a Plug-In Architecture in .NET". Code is available as well at https://github.com/ondrejbalas/plugin-architecture
[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
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!
Composer is the de-facto php dependency management tool of the future. An ever-increasing number of useful open-source libraries are available for easy use via Packagist, the standard repository manager for Composer. As more and more Drupal contrib modules begin to depend on external libraries from Packagist, the motivation to use Composer to manage grows stronger; since Drupal 8 Core, and Drush 7 are now also using Composer to manage dependencies, the best way to ensure that all of the requirements are resolved correctly is to manage everything from a top-level project composer.json file.
This deck examines the different ways that Composer can be used to manage your project code, and how these new practices will influence how you use Drush and deploy code.
Watch the session video: https://www.youtube.com/watch?v=WNS3d_wzZ2Y
Pantheon's Greg Anderson presents on the topic of using Composer with Drupal and Drush. Composer is a dependency manager that has become the de-facto standard for managing the components used in any sort of PHP library or application. Drupal is no exception to this, and in this presentation, Greg showed that the future is already here: it is completely possible to use native Composer functions to manage the modules and themes used in a Drupal site. In this capacity, Composer can take over the functions usually performed with drush make, drush pm-download, and drush pm-update.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...Pantheon
Greg Anderson's slide deck from BADCamp 2016.
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
- PhpDocumentor api documentation generator
- ReadTheDocs online documentation reader service
- Composer scripts and projects for running local tests and builds
Slides from my presentation, "Creating a Plug-In Architecture in .NET". Code is available as well at https://github.com/ondrejbalas/plugin-architecture
[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
[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] - Behat per Drupal: test automatici e molto di piùDrupalDay
Behat è nato per semplificare il processo di accettazione da parte del cliente: per evitare ambiguità si realizza un test automatico (leggibile anche da chi non ha competenze tecniche) la cui esecuzione con successo garantisce che le specifiche siano rispettate. L'integrazione di Behat nel processo di sviluppo Drupal permette tuttavia di andare ben oltre: si può usare Behat per condividere le specifiche con il cliente, per guidare lo sviluppo (scrivendo il test prima del codice), per assistere il debug (usando uno scenario per popolare una situazione di errore ripetibile) e persino per migrare un sito da Drupal 7 a Drupal 8 (codificando il comportamento del sito in una serie di test che vengono poi usati come base per lo sviluppo del nuovo sito). Per tutti gli scenari descritti vedremo esempi basati sull'esperienza di Nuvole.
di Andrea Pescetti
[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
[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] - 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
[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 - 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] - 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 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
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] - Decoupled frontend con Drupal 8 e OpenUI 5DrupalDay
Lo sviluppo Frontend sta conoscendo una vera e propria rivoluzione, con l'introduzione e l'utilizzo di strumenti sempre più raffinati. In questo panorama, un attore relativamente recente sta guadagnando la meritata popolarità: OpenUI 5. Durante il talk faremo la conoscenza di questo nuovo toolkit e vedremo come costruire un frontend custom utilizzando le REST API di Drupal 8
di Donato Rotunno
[drupalday2017] - 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] - 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
[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
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
Simple REST-API overview for developers. An newer version is here: https://www.slideshare.net/patricksavalle/super-simple-introduction-to-restapis-2nd-version-127968966
This is a talk I gave at IPC 2014 in Munich.
It's about how to build durable web apis based on the experience gained at Namshi while we were developing our SOA architecture
Everyday we create services for our systems. A lot of people create RESTful APIs but much more can be accomplished by following best practices and treating your APIs as a product to be consumed by fellow team members, systems and 3rd party consumers.
We will discuss what makes a great RESTful API and share some of our experiences building some that power real systems.
This was part of JOSA TechTalks project within Jordan Open Source Association, presented by Yazan Quteishat and Tambi Jalouqa.
Big Data Web applications for Interactive Hadoop by ENRICO BERTI at Big Data...Big Data Spain
This talk describes how open source Hue [1] was built in order to provide a better Hadoop User Experience. The underlying technical details of its architecture, the lessons learned and how it integrates with Impala, Search and Spark under the cover will be explained.
Need to automate tasks in Alma but are not sure where to start? This will help you understand how APIs are relevant to real work you're doing, familiarize you with concepts that help you work with any API, and help you understand what you need to know specifically to work with the Alma API
Super simple introduction to REST-APIs (2nd version)Patrick Savalle
See also: https://hersengarage.nl/rest-api-design-as-a-craft-not-an-art-a3fd97ed3ef4
An API in an interface or client-server-contract and REST is an HTTP design pattern. A REST-API is the de facto standard in web interface. It maps server resources onto URLs and allows CRUD-like manipulations of those (Create-Read-Update-Delete).
In this presentation we cover the basics of:
- The HTTP protocol
- The REST design pattern
- The API
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
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
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
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
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
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
3. ~$ whoami ↩
Paolo “Stick” Pustorino
#stickgrinder (almost everywhere)
CEO / COO @ SparkFabrik Srl
DRUMMER @ A couple of metal bands m/_
WIZARD @ Cormyr’s Royal Court
FATHER @ Casamia
ANCHE @ Basta
4. ~$ ls -alh ↩
What makes a great API
Which tools are available
Use-cases showdown
8. A cut above the
REST
What makes you API really stand out?
(from my perspective)
9. ~$ curl -i -X GET https://stick.says/api-rules/1 ↩
URI should be nouns, not verbs
Verbs are already hard-coded in HTTP (GET, POST, …) so help yourself with
sensible semantics.
11. ~$ curl -i -X GET https://stick.says/api-rules/2 ↩
Never alter the state by GETs
We are not talking quantum physics, so you can observe things without changing their status!
HTTP supports state-alteration verbs. Use ‘em!
13. ~$ curl -i -X GET https://stick.says/api-rules/3 ↩
Don’t mix plurals and singulars
Don’t try to exaggerate semantics expressivity, keep things simple and use plurals.
14. GET /users
DELETE /users/{id}
POST /users/{id}/reviews
GET /users
(right but inconsistent with the following)
DELETE /user/{id}
POST /user/{id}/review
15. ~$ curl -i -X GET https://stick.says/api-rules/4 ↩
Use sub-resources as relational maps
Resource relations can be seen as ownership: hierarchical mapping helps here.
17. ~$ curl -i -X GET https://stick.says/api-rules/5 ↩
Specify formats in HTTP headers
Exchange format information in HTTP headers and leave other means alone to avoid confusion
and messing with priorities.
19. ~$ curl -i -X GET https://stick.says/api-rules/6 ↩
Caching is built-in HTTP
You can save traffic and help frontend applications deliver light-speed experience with HTTP
caching strategies. Server-to-server connections can benefit too.
21. ~$ curl -i -X GET https://stick.says/api-rules/7 ↩
Collections should be filterable, sortable and pageable
That’s what query parameters are there for! Be creative and use powerful expressions.
23. ~$ curl -i -X GET https://stick.says/api-rules/8 ↩
Version your API
Or kittens will die en-masse on a per-request basis!
Really, you can break outdated consumers if you don’t.
25. ~$ curl -i -X GET https://stick.says/api-rules/9 ↩
Return meaningful status codes
HTTP status codes are to machines what error payloads are to humans. Use both and don’t return
meaningless 200 OK all around.
26. 401 UNAUTHORIZED
{
"errors": [
{
"user_msg": "You shall nooot paaass!!!",
"internal_msg": "Balrogs are not welcome",
"code": 666,
“info": "http://stick.says/docs/v1/errors/666"
}
]
}
200 OK
{
“status” : “error”,
"user_msg": "You shall nooot paaass!!!",
"internal_msg": "Balrogs are not welcome",
"code": 666,
“info": "http://stick.says/docs/v1/errors/666"
}
27. ~$ curl -i -X GET https://stick.says/api-rules/10 ↩
Support modern authorization methods
Allow apps and services to act on behalf of users with clear scopes and tough security. Remember
authentication and authorization are not the same!
31. ~$ cat DRUPAL_WAY.txt | grep “pros” ↩
Drupal is finally PHP
REST is almost built-in (REST UI module helps if you like admin UIs)
Pervasive HATEOAS support via HAL
Leverages Symfony’s HTTP exceptions
Resource editing backend comes free
Views are natively RESTful
32. ~$ cat DRUPAL_WAY.txt | grep “cons” ↩
Role-based permissions are not handled by middleware (@FIXME)
No PUTs, just PATCHes (really…)
Can’t do without HATEOAS / HAL (bloated output)
Its endpoint mapping is not ideal
RESTful Views are naive
Heavy bootstrap times
Still hard to integrate continuously
34. ~$ cat FULLSTACK_FW.txt | grep “pros” ↩
Tailored persistence layer
Complex logic is often easy to implement
Small footprint
Easier multi-environment workflow (you only depend on code)
Continuous integration is a gas
Great cross-framework packages and extensions
35. ~$ cat FULLSTACK_FW.txt | grep “cons” ↩
You may have to implement authentication by yourself
No built-in backoffice for resource management
You have to write all by yourself (even CRUD)
Boilerplate / redundant code across projects
Codebase policies / opinionation is often up to you
36. ~$ cat FULLSTACK_FW.txt | grep “opts” ↩
Laravel / Lumen
Symfony 2/3 / Silex
Lithium (yes, still a good option if you don’t mind getting your hands dirty)
Slim and the like
38. ~$ cat DEDICATED_FW.txt | grep “pros” ↩
All the pros of full-stack frameworks
Highly opinionated approach
Out-of-the-box support for most REST-related aspects (auth/auth, status-code
mapping, rate-limiting, versioning, format negotiation, etc)
Automatic API documentation generation
39. ~$ cat DEDICATED_FW.txt | grep “cons” ↩
Smaller userbase / community
Few contribution, rely heavily on the shoulder of single maintainers
Risk to end up drowned in a fish bowl
* not that true for Dingo and not that issue for PHP Platform
40. ~$ cat DEDICATED_FW.txt | grep “opts” ↩
API Platform
Dingo API (awesome package for Laravel and Lumen)
Epiphany
Recess PHP
42. ~$ cat API_PLATFORMS.txt | grep “pros” ↩
Make creating basic (and complex) APIs a breeze
Accessible to non-developers (or better said, frontend developers)
Make you focus on frontend application
Provide basic content management features
Generates API documentation
Pretty easy to scale with native cloud-oriented mindset
(often) Generates client SDKs (even for a number of platforms)
43. ~$ cat API_PLATFORMS.txt | grep “cons” ↩
Logic is in configuration, not code (much like Drupal)
Smaller communities than Drupal
Higher vendor lock-in
Hard to use in team (not friendly to multi-environment workflows)
Suboptimal deployment to production
Rely on older PHP/FW versions
44. ~$ cat API_PLATFORMS.txt | grep “opts” ↩
DreamFactory API Automation Platform (written in Laravel)
Zend Apigility
FRAPI
deployd (it’s node.js, not PHP, but it’s really good!)
46. ~$ diff use_cases..drupal_8 ↩
Use Drupal 8 when...
You are exposing actual content via REST API
Your business logic is already on Drupal and REST becomes a necessary addition
Some specific feature of Drupal, unrelated to REST makes it the best candidate for
your project (and you can bear with the… rest, er…)
47. ~$ diff use_cases..fullstack_fw ↩
Use a full-stack framework when...
You need fluid teamwork, multi-env workflow, fast testing, etc.
You want hassle-free Continuous Integration and Deploy
Your application has lot of custom functions aside “editorial” content management
You want to swim in the ocean, not a bathtub
You must provide enterprise-class support on the long term
48. ~$ diff use_cases..dedicated_fw ↩
Use a dedicated framework when...
You want to speed up development, leveraging good boilerplate code
You want hassle-free Continuous Integration and Deploy
Your application is bound to remain a REST API
You don’t mind getting your hand dirty (smaller community)
You can afford supporting yourself on the long term (yes, even forking the framework)
49. ~$ diff use_cases..api_platforms ↩
Use an API platform when...
You want to speed up development, leveraging easy low-coding tools
Your focus is on thick frontend application
You are akin to pay for managed cloud services
Heavy teamwork on the backend is not in sight
You don’t mind locking to vendors