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
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.
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.
Terminus, the Pantheon command-line interfaceJon Peck
Terminus is a command-line tool for performing Pantheon dashboard operations. Free, open-source & MIT-licensed, Terminus is a great daily-use tool for both developers and DevOps engineers. From updating your Drush aliases to automating site creation and deployment, Terminus has features for everyone.
Join the maintainers, Jon Peck and Josh Koenig of Pantheon for an in-depth demonstration, training and discussion of how Terminus can supercharge your site management and development!
For more information on Terminus, see https://www.getpantheon.com/blog/terminus-pantheon-cli
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Acquia
We’ve heard that developing with Drupal 8 is fast by default, but does that extend to your development process? There are new tools in Drupal 8 that can accelerate your day-to-day work, and will help you master rapid development in Drupal 8.
Join Myplanet’s Erin Marchak as she does a live walk through of building a site install with Composer, developing a module with Drupal Console, and ingesting external content with Services, all within 1 hour. In this demonstration of Drupal 8’s improved developer experience, topics covered will include
Dependency management using Composer
Content ingestion using Guzzle PHP
Code scaffolding using Drupal Console
Configuration management using Drupal Console
Drupal 8’s Services and Dependency Injection
Big query - Command line tools and Tips - (MOSG)Soshi Nemoto
BigQuery =Command line tools and Tips for business use=
Mulodo Open Study Group (MOSG) @Ho chi minh, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/231504491/
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Ovadiah Myrgorod
Varnish is a caching proxy usually used for high profile Drupal sites. However, configuring Varnish is not an easy task that requires a lot of work. It is even more difficult when it comes to creating a scalable cluster of Varnish nodes.
Fortunately, there is a solution. I’ve been working on kube-httpcache project (https://github.com/mittwald/kube-httpcache) that takes care of many things such as routing, scaling, broadcasting, config-reloading, etc...
If you need to run more than one instance of Varnish, this session is for you. You will learn how to:
* Launch a single instance of Varnish in Kubernetes.
* Configure Varnish for Drupal.
* Scale Varnish from 1 to N nodes as part of the cluster.
* Make your Varnish cluster resilient.
* Reload Varnish configs on the fly.
* Properly invalidate cache for multiple Varnish nodes.
This session requires some basic understanding of Docker and Kubernetes; however, I will provide some intro if you are new to it.
Join this session and enjoy!
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.
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.
Terminus, the Pantheon command-line interfaceJon Peck
Terminus is a command-line tool for performing Pantheon dashboard operations. Free, open-source & MIT-licensed, Terminus is a great daily-use tool for both developers and DevOps engineers. From updating your Drush aliases to automating site creation and deployment, Terminus has features for everyone.
Join the maintainers, Jon Peck and Josh Koenig of Pantheon for an in-depth demonstration, training and discussion of how Terminus can supercharge your site management and development!
For more information on Terminus, see https://www.getpantheon.com/blog/terminus-pantheon-cli
Fast Paced Drupal 8: Accelerating Development with Composer, Drupal Console a...Acquia
We’ve heard that developing with Drupal 8 is fast by default, but does that extend to your development process? There are new tools in Drupal 8 that can accelerate your day-to-day work, and will help you master rapid development in Drupal 8.
Join Myplanet’s Erin Marchak as she does a live walk through of building a site install with Composer, developing a module with Drupal Console, and ingesting external content with Services, all within 1 hour. In this demonstration of Drupal 8’s improved developer experience, topics covered will include
Dependency management using Composer
Content ingestion using Guzzle PHP
Code scaffolding using Drupal Console
Configuration management using Drupal Console
Drupal 8’s Services and Dependency Injection
Big query - Command line tools and Tips - (MOSG)Soshi Nemoto
BigQuery =Command line tools and Tips for business use=
Mulodo Open Study Group (MOSG) @Ho chi minh, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/231504491/
Create a Varnish cluster in Kubernetes for Drupal caching - DrupalCon North A...Ovadiah Myrgorod
Varnish is a caching proxy usually used for high profile Drupal sites. However, configuring Varnish is not an easy task that requires a lot of work. It is even more difficult when it comes to creating a scalable cluster of Varnish nodes.
Fortunately, there is a solution. I’ve been working on kube-httpcache project (https://github.com/mittwald/kube-httpcache) that takes care of many things such as routing, scaling, broadcasting, config-reloading, etc...
If you need to run more than one instance of Varnish, this session is for you. You will learn how to:
* Launch a single instance of Varnish in Kubernetes.
* Configure Varnish for Drupal.
* Scale Varnish from 1 to N nodes as part of the cluster.
* Make your Varnish cluster resilient.
* Reload Varnish configs on the fly.
* Properly invalidate cache for multiple Varnish nodes.
This session requires some basic understanding of Docker and Kubernetes; however, I will provide some intro if you are new to it.
Join this session and enjoy!
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!
How to Use the Command Line to Increase Speed of DevelopmentAcquia
In a world of beautiful graphical user interfaces (GUI), it can be easy to forget (or ignore) the comparatively ugly and boring command line. However, for those of us who have been doing web development for many years, it is often still our go-to place to get things done quickly without the distraction that a dedicated application sometimes provides. With a little bit of tweaking, the command line can actually look pretty too, while at the same time providing useful information.
In this webinar, Dave Myburgh, senior engineer at Acquia, and team lead on acquia.com, will discuss useful ways to get things done faster by using the command line in Drupal web development.
Attendees will walk away from this webinar with a deeper understanding of:
-Using Git via the command line along with the aid of some visual tweaks
-Managing Drupal sites with drush
-Using SASS and Compass in your themes
-Several small command line tweaks and commands to optimize development
Containerization helps us bundle dependencies with applications instead of having to use configuration management to prepare machines for running them, hence making build once run anywhere easy. For legacy applications this can be quite hard though when they spread persistent data across the file system.
In this talk I'll show how we can quickly set up a Go.CD server and agents for our Continuous Delivery pipelines on Google Cloud. The infrastructure creation is handled by Terraform, the server and agents are custom built Docker containers.
How a Content Delivery Network Can Help Speed Up Your WebsiteMediacurrent
In this day and age, time is money—both for website developers and site visitors. Page load times can be the difference that impacts search engine rankings, ad revenue, and overall sales. Content Delivery Networks (CDNs) will cut the load time of assets between 20-50%, especially for users outside of the United States which amounts to an improved customer experience.
By speeding up CDNs, with geographically distributed servers, you can help deliver the fastest possible download for all users. In the past, CDNs were cost prohibitive and mostly reserved for sizable organizations who could afford to pay thousands of dollars per month. Recently, there has been an overall shift in CDNs that even the lowest traffic web sites can afford.
Advanced front-end automation with npm scriptsk88hudson
With a little planning and some helpful tools, you can use npm scripts to do complex front end builds without the use of any other build tool. Try it out!
When it comes to Drupal management and deployment, Drush is a must. This webcasts is about installing and configuring Drush on Windows, in order to manage local and remote Drupal sites on Windows and Linux.
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!
How to Use the Command Line to Increase Speed of DevelopmentAcquia
In a world of beautiful graphical user interfaces (GUI), it can be easy to forget (or ignore) the comparatively ugly and boring command line. However, for those of us who have been doing web development for many years, it is often still our go-to place to get things done quickly without the distraction that a dedicated application sometimes provides. With a little bit of tweaking, the command line can actually look pretty too, while at the same time providing useful information.
In this webinar, Dave Myburgh, senior engineer at Acquia, and team lead on acquia.com, will discuss useful ways to get things done faster by using the command line in Drupal web development.
Attendees will walk away from this webinar with a deeper understanding of:
-Using Git via the command line along with the aid of some visual tweaks
-Managing Drupal sites with drush
-Using SASS and Compass in your themes
-Several small command line tweaks and commands to optimize development
Containerization helps us bundle dependencies with applications instead of having to use configuration management to prepare machines for running them, hence making build once run anywhere easy. For legacy applications this can be quite hard though when they spread persistent data across the file system.
In this talk I'll show how we can quickly set up a Go.CD server and agents for our Continuous Delivery pipelines on Google Cloud. The infrastructure creation is handled by Terraform, the server and agents are custom built Docker containers.
How a Content Delivery Network Can Help Speed Up Your WebsiteMediacurrent
In this day and age, time is money—both for website developers and site visitors. Page load times can be the difference that impacts search engine rankings, ad revenue, and overall sales. Content Delivery Networks (CDNs) will cut the load time of assets between 20-50%, especially for users outside of the United States which amounts to an improved customer experience.
By speeding up CDNs, with geographically distributed servers, you can help deliver the fastest possible download for all users. In the past, CDNs were cost prohibitive and mostly reserved for sizable organizations who could afford to pay thousands of dollars per month. Recently, there has been an overall shift in CDNs that even the lowest traffic web sites can afford.
Advanced front-end automation with npm scriptsk88hudson
With a little planning and some helpful tools, you can use npm scripts to do complex front end builds without the use of any other build tool. Try it out!
When it comes to Drupal management and deployment, Drush is a must. This webcasts is about installing and configuring Drush on Windows, in order to manage local and remote Drupal sites on Windows and Linux.
This webcast will show you how to properly configure and deploy Memcached and Solr on Windows, including all the required Drupal integration. The webcast includes also instructions on proper configuration of your Drupal cron tasks for Solr indexing in conjunction with Windows Task Scheduler.
Composer tools and frameworks for drupal.pptPromet Source
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 insure that all of the requirements are resolved correctly is to manage everything from a top-level project composer.json file.
Learn how site building and maintenance can benefit from Drush, the Drupal command line shell and scripting interface. Join Jon Peck, author of the lynda.com course Simplified Drupal Sites with Drush as he describes what Drush is, demonstrates how to install it, and how to use it effectively for everyday tasks. Drush is a fantastic daily-use tool without the overhead of the full Drupal GUI and bootstrap, but it has some drawbacks in terms of approachability. The documentation for drush, while thorough and improving, can be intimidating and obtuse for people who don’t live, breathe and code Drupal. drush.org the home page is an example of this; it’s a very useful source of information, but it’s literally dozens of commands and all their arguments displayed on one page. Where should a new Drush user start?
http://www.youtube.com/watch?v=Pp6UofwFMDw
[Srijan Wednesday Webinar] Mastering Drupal 8 Development with Drupal ConsoleSrijan Technologies
Speaker: Eduardo Garcia, Enzo
This session explores the basic uses of Drupal Console in code development, and gives you some pro tips to improve your Drupal 8 development process.
Enzo takes you through the Drupal Console and explains
-The latest changes in Drupal 8 module development
-What is required to generate a Drupal 8 module
-How to develop faster and smarter with Drupal 8
-How to generate the code and files required by a Drupal 8 module
-How to interact with and debug your Drupal 8 installation
Key items of the presentation will be:
What is PHPUnit
Whats new in testing in Drupal 8
Core Classes and Components
Core/ Contibuted modules
PHPUnit file structure, namespace, and required metadata
Running PHPUnit tests.
Available tools for running automated tests.
Drush - use full power - DrupalCamp Donetsk 2014Alex S
Drush - незаменимый инструмент для Drupal разработчика. Если вы досихпор не используете этот замечательный инструмент либо пользуетесь только малой частью команд - этот доклад будет очень полезен для вас.
[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
Composer tools and frameworks for DrupalPromet Source
This presentation from Drupal GovCon 2015 reviews the composer framework and toolkit for dependency management in Drupal. If your Drupal project is using PHP libraries outside of the Drupal ecosystem then you can benefit by adopting this powerful workflow today.
This is the presentation I would have loved to see when I started using Composer with Drupal. Based on my experience working with Composer and Drupal 7 + Drupal 8.
Learn about the basics working with the Dependency Management for PHP: Composer. Dicover the commands, files (composer.lock and composer.json), the pros but also the cons of using the tool.
This was presented in October 2016 in Cebu for Cebu Drupal Meetups, and Drupalcamp Japan 2017 in Tokyo in January 2017.
Managing your Drupal project with ComposerMatt Glaman
Drupal 8 is all about getting off the island and leveraging things invented elsewhere. With that, we must use a package manager tool. PHP's de facto package manager is now Composer. However, adopting Composer has been a rough spot with the Drupal community.
In this presentation, Matt Glaman will explore Composer and how using it will streamline your workflow.
Efficient development workflows with composernuppla
Composer is a great tool for managing a project's dependencies - however, as with many tools there are various ways to use it. That's why this session will provide you an overview of possible workflows and shows practical solutions for building and deploying composer-managed projects. It covers experiences with handling Drupal projects and focus on approaches that can be shared across projects and team members.
Topics:
- Introduction: What is composer and how to use it with Drupal
- Build & deployment workflows for composer-managed projects
- Composer & Drupal: Challenges & solutions
- Creating re-usable packages
Composer is the new Drush - Drupal Developer Training (internal)Exove
Drupal project codebase can and should be managed with Composer, as it provides better and more reliable results when building codebase. Drupal Console is replacing Drush -based workflows fast.
Training 20.12.2016 by Perttu Ehn
Drupal 8 improvements for developer productivity php symfony and moreAcquia
This was a webinar hosted by Acquia. Ron Northcutt, a solutions architect at Acquia discussed improvements in Drupal 8 that will surely boost productivity for Drupal developers.
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
Introducing Docman (available on github, alpha state, but used already in production environment): the Swiss Army Knife for Drupal multisite docroot management and deployment. Docman acts as a layer between your docroot – usually a git repository somewhere, but not limited to it– and multiple vendors working on different websites using your standards and predefined sets of modules.
Improving your Drupal 8 development workflow DrupalCampLAJesus Manuel Olivas
Drupal 8 has changed a lot and the process of creating, building, testing and deploying a site is not the exception. During this session, you will understand the process of creating, building, testing and deploying Drupal 8 sites, and learn which tools you can use to improve your local development workflow and reduce project setup and onboarding time, implement automated analysis tools for code review, code coverage and finally how to build an artifact and deploy your project.
Building and Maintaining a Distribution in Drupal 7 with FeaturesNuvole
Drupal 7 allows to easily build and maintain distributions, i.e. repeatable website templates; you can benefit from this in all cases, whether you aim at large-scale deployments or even at maintaining a single website.
We will show how to package core and contributed modules in a distribution by using a Makefile and a profile and keeping them up-to-date during the whole development cycle.
Then you will learn how to use Code-Driven Development to store all settings in a sustainable way: use the Features module to easily describe configuration in code, a proper separation between Features to make your code reusable and extendible, a well-thought design of Features to create easier development patterns, CTools and Exportables to put your configuration in code even when a module does not support it natively.
Last, we will see how the distributions update mechanism allows you to create a new version of your distribution for easy and painless configuration updates of a live site.
Any developer who has worked in team will have to face the activity of setting up their local work environment to start contributing to the project. Whether you are working remotely or onsite, this kind of activity is often time consuming due to the personal configurations of your workstation. This "time wasting" is not predictable and even justifiable to the customer, that is the issue. I think the only way to fix that it's to find a reproducible process which takes the same time to be completed, indipendently by the operating system and configurations. This is why, starting from the last project I've been involved in, I started to lay the groundwork to build it using Docker, Config Split, Drupal Console and Drush.
My session is aimed at programmers and project managers looking for a way to bring new developers on board and make them operational in a given time. It will be a good starting point to discuss about that.
How not to lose your head at work with WordPress by using tools common in today's PHP development. Tools like git and composer may help you develop more maintainable applications.
Matthew Cheney from Pantheon and Irina Zaks from Stanford will walk you through how to leverage Drupal 8's new migration tooling to “one-click” upgrade your sites.
Join Josh Koenig, Co-Founder and Head of Product at Pantheon, as he discusses how to prepare for a major project and ensure that momentum carries into your project.
Whether you plan, design, build, or manage sites for clients or internal projects, you will come away from this webinar with tools to crush your next mega client project.
Streamlined Drupal 8: Site Building Strategies for Tight DeadlinesPantheon
Jody Hamilton, Co-founder and CTO of Zivtech, and Steve Persch, Lead Developer Advocate at Pantheon, are here to bust the myths around Drupal 8. They’ll walk through approaches to site building and demonstrate that projects can be turned around quickly with Drupal 8.
Drupal is an open source content management system, used to make many of the websites and applications you use every day. Drupal has great standard features, like easy content authoring, reliable performance, and excellent security.
Our expert instructor walks you through the essentials of creating your first Drupal website. By the end, you’ll have an understanding of Drupal’s fundamental building blocks and a working sandbox on Pantheon that you can continue to use for as long as you like. From there, you can continue to explore at your own pace with our recommended self-serve training resources.
Defense in Depth: Lessons Learned Securing 200,000 SitesPantheon
Have you ever heard: "HTTPS will slow down your site"? How about: "I'm too small of a website, no one will want to hack me."? All too often security misconceptions lead to security apathy. Join us as we debunk these security myths and more!
We’ll start at the 10,000-foot level, reviewing common myths about secure development, then zoom in closer for a look at security best practices, concluding with a deep-dive into a few of the most effective attack mitigation strategies. With the battlescars to backup the information, our presenters will leave you with strategies to handle securing your project with confidence.
Sub-Second Pageloads: Beat the Speed of Light with Pantheon & FastlyPantheon
Fastly is the world’s leading edge cloud platform, and Pantheon has integrated it directly into our Global CDN—the most powerful CDN for Drupal and WordPress websites. Sub-second pageloads are now within reach!
Join product experts from Pantheon and Fastly on as we jump into the superior infrastructure behind Fastly’s edge cloud platform, and how Pantheon is using it to move lightyears beyond conventional managed hosting CDNs.
A platform transition requires proper planning and execution in addition to a serious technical architecture. In this webinar, we will discuss important considerations when building and managing a large scale Drupal 8 ecosystem.
Join Pantheon’s Ben Stoffel-Rosales, Kurt Voelker and Aaron Zinck of Forum One as we discuss how FCPS is building a network of 195 Drupal 8 sites, and what it’s like using Drupal 8 with Pantheon as the website management platform of choice.
Hacking Your Agency Workflow: Treating Your Process Like A ProductPantheon
As an agency lead, you know the value of streamlining process and achieving optimal efficiency. At the most basic level, it helps the bottom line. Dig a little deeper and you’ll find that standard processes and workflows also keep your teams—and clients—happy.
Join Pantheon’s Drew Gorton and Mason James of Valet as we discuss the value of treating your process like a product.
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
WordPress REST API: Expert Advice & Practical Use CasesPantheon
WordPress 4.7 dropped late last year with a host of great new features, particularly content endpoints for the WP REST API built into core.
This deck will discuss what types of agency projects are a good fit for the REST API—and which aren't. We'll also dive into some practical use cases and real-world examples to see the power of the WordPress REST API first-hand.
Continuous Integration Is for Teams: Moving past buzzword driven development Pantheon
This webinar will go past the tooling hype and look at the benefits of Continuous Integration for developers, project managers, and clients. Ultimately a successful Continuous Integration practice makes a team work faster, safer, and more predictably.
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
Testing Your Code as Part of an Industrial Grade WorkflowPantheon
There are a lot of obvious benefits to using version control for your projects, but there are a lot of non obvious benefits too. In this SlideShare, learn how to create an industrial grade version control workflow using Git and automatic testing. Topics include:
- How to Use Git Branches: Instead of having all of the developers work on the same “master” branch, you can have developers work on separate branches that can be created per developer, per feature, or even per ticket in your project management system.
- How to Do Performance Testing: Instead of crossing your fingers when you site gets a lot of traffic, be sure that your site can handle the traffic by doing performance testing on each deployment that you do.
- How to Do Cross Browser Testing: Instead of firing up a bunch of Virtual Machines to test different browsers and devices, set up an automatic script so that every time you are looking to do a deploy you get a bunch of screenshots to review.
- How to Do Visual Regression Testing: If you are pushing a change that shouldn’t effect the front end of the site, wouldn’t it be nice to verify that? Learn how to visually compare a “before” and “after” version of your site to see where (if anywhere) visual changes happen.
- How to Notify You Of Deployments: Instead of wondering if code has been deployed, learn how to integrate your workflow with chat solutions like Hipchat/Slack or more traditional solutions like SMS or Email.
If you are a developer or manage developers on web projects, this session will help you learn how to level up your workflow and do a lot of really powerful testing on your project every time you do a commit.
Test Coverage for Your WP REST API ProjectPantheon
Are you writing full test coverage for your endpoints as you go? If not, you absolutely need to be, for two primary reasons: security and reliability. If you aren’t writing test coverage for your endpoints, sorry Charlie—your endpoints are probably insecure, and probably behave unexpectedly for clients.
This tutorial is everything you need to get started.
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.
Why Your Site is Slow: Performance Answers for Your ClientsPantheon
Surface-level technical issues like slow queries and redundant JavaScript files are often blamed when a site is slow, although there are numerous factors that can affect performance. In practice, web teams need to ask “why” repeatedly in order to get to the root cause. This presentation will dive into the many answers to this question and look for the root causes of slow sites.
A fast website is a good website, but making a website fast takes work. This session of couch coding will discuss the tips & tricks necessary to build the feeds & speeds into your website to make it soar.
WP or Drupal (or both): A Framework for Client CMS Decisions Pantheon
WordPress and Drupal are powerful open source tools. Many agencies specialize in one or the other, but being able to effectively use both can be a tremendous strategic benefit. In this webinar we’ll discuss how to deploy both WordPress and Drupal effectively as an agency.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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.
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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
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.
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/
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Composer Tools & Frameworks for Drupal
1.
2. COMPOSER TOOLS AND FRAMEWORKS FOR DRUPAL
+ =+
Greg Anderson and Doug Dobrzynski
12 May 2015
COMPOSER DRUPAL DRUSH WIN
3. Pantheon.io / Prometsource.com 3
Why you should care about Composer
Today With Composer
‣ Dependency Management Hell
‣ Manually include classes at runtime
‣ Large, unmanageable repository
‣ Composer manages dependencies
‣ Autoloader lazy-includes class files
‣ Repository remains clean and lean
4. Pantheon.io / Prometsource.com 4
Who Are We?
Greg Anderson Doug Dobrzynski
Open Source Contribution Engineer Build Manager / Drupal Developer
5. Pantheon.io / Prometsource.com 5
Agenda
‣ What is Composer?
‣ Installing Drupal 7 with Composer
• composer_vendor + custom-installer
• drupal-tangler
‣ Managing Your Project
‣ Installing Drupal 8 with Composer
7. Pantheon.io / Prometsource.com 7
What Is Composer?
An Installer A Dependency Manager An Autoloader
{
"require": {
"php": ">=5.4.0",
"symfony/browser-kit": "~2.1",
"symfony/css-selector": "~2.1",
"symfony/dom-crawler": "~2.1",
"guzzlehttp/guzzle": ">=4,<6"
},
…
}
Evaluate and select <?php
$client = new GuzzleHttpClient();
>=4,<6
guzzlehttp/guzzle
5.*
guzzlehttp/guzzle
v5.2.0
guzzlehttp/guzzle
"autoload": {
"psr-4": {
"GuzzleHttp": "src/"
}
},
composer.json
8. Pantheon.io / Prometsource.com 8
Why Use Composer?
‣ Standard
‣ Easiest for developers
• Dependency resolution
• Code updates
• Autoloading of classes
‣ Composer is being adopted everywhere
9. Pantheon.io / Prometsource.com 9
What Projects Are Using Composer?
Using Composer
Not Using Composer
… and many others!
http/guzzle
fabpot/goutteDrupal Modules Drush Extensions
PHP APIs
symfony/yaml
twig/twig
Not Using Composer
11. Pantheon.io / Prometsource.com 11
Composer Parts of the Whole
Composer
PHP
dependency
management
software.
Packagist
A software
repository
manager.
Custom Installer
An executable
Composer
component.
Optional.
autoload.php
A generated file
that must be
included
by your app.
composer.json
A structured file
that defines a
project.
12. Pantheon.io / Prometsource.com 12
Repository Data for Drupal Projects
packagist.drupal-composer.org
A third-party repository
containing data on projects
from drupal.org.
13. Pantheon.io / Prometsource.com 13
Semantic Versioning
Drupal Module Version
7.x-1.5
DRUPAL-x.MODULE.MINOR
Versions are converted to semantic versioning before being
published on packagist.drupal-composer.org.
7.1.5
MAJOR.MINOR.PATCH
Composer Version
15. Pantheon.io / Prometsource.com 15
Autoloading in PHP
"autoload": {
"psr-4": {
"GuzzleHttp": "src/"
}
},
composer.json from guzzlehttp/guzzle
autoload_psr4.php generated by Composer via composer install
$vendorDir = dirname(dirname(__FILE__));
return array(
'GuzzleHttp' => array($vendorDir . '/guzzlehttp/guzzle/src'),
);
Saves one line of code per class - but it’s a very important line!
RUN TIME INSTALL TIME
<?php
include "vendor/autoload.php";
$client = new GuzzleHTTPClient();
php source file that calls GuzzleHTTP
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
Composer autoloader registration called from vendor/autoload.php
include $vendorDir . '/guzzlehttp/guzzle/src/Client.php';
16. Pantheon.io / Prometsource.com 16
Custom Installers for Composer + D7
generalredneck/drupal-libraries-installer-plugin
promet/drupal-tangler
derhasi/composer-preserve-paths
davidbarratt/custom-installer
OR
OPTIONAL
netresearch/composer-patches-plugin
Allows composer.json files to specify where
components get installed.
Allows nested installation of composer libraries
(e.g. Drupal modules inside of
Drupal core).
Installs modules and themes to their standard
location in the vendor directory, and symlinks
to them from sites/all/modules/contrib or
copies them to sites/all/modules/contrib.
Allows composer.json files to specify where
components get installed.
Allows patch files to be applied to Drupal core
or contrib modules after Composer installs
them.
17. Pantheon.io / Prometsource.com 17
Adding Composer Support
To make this work, we just need to include vendor/autoload.php
+ =
19. Pantheon.io / Prometsource.com
Searches for
composer.json files
in every module
and dynamically
merges them.
19
Composer Options for Drupal 7
composer_autoload composer_manager
Fragile Complex
Searches for
autoload.php files
in every module
directory and loads
them individually.
20. Pantheon.io / Prometsource.com
Writes a settings.php
file that loads the correct
autoload.php file.
Loads the
sites/all/vendor/
autoload.php
file.
20
Better Options for Drupal 7
composer_vendorpromet/drupal-tangler
Wins!Wins!
21. Pantheon.io / Prometsource.com 21
Directory Structure
mydrupalsite.org
composer.json
composer.lock
htdocs
sites
default
vendor -> vendor
all
modules
vendor
We create a new top-level directory for our
project, because Composer cannot manage
dependencies in the same directory as
composer.json.
We put our Drupal root directory in htdocs.
Tangler defaults to www but allows the option to
specify a different name.
With drupal-tangler
We put the vendor directory in root because
that is the default location for the Composer
installer.
We create a symlink to the vendor directory
inside the document root to keep docroot self-
contained.
22. Pantheon.io / Prometsource.com 22
Module and Profile Placement
mydrupalsite.org
vendor
drupal
views
panopoly
htdocs
profiles
panopoly -> panopoly
sites
all
modules
contrib
views -> views
Each contributed module directory is
symlinked to the corresponding directory
in vendor.
With drupal-tangler
Each profile directory is symlinked to the
corresponding directory in vendor.
24. Pantheon.io / Prometsource.com 24
Settings
mydrupalsite.org
cnf
config.yml.dist
config.yml
htdocs
sites
default
settings.php
We put default configuration for settings in
config.yml.dist.
We put custom configuration for settings
in config.yml.
The settings.php file is generated by
settings_compile from config.yml. If
config.yml does not exist, it is generated
from config.yml.dist.
With drupal-tangler
25. Pantheon.io / Prometsource.com 25
Directory Structure
mydrupalsite.org
composer.json
composer.lock
htdocs
sites
default
settings.php
files
all
modules
vendor
We put the vendor directory in sites/all/
vendor because that is where the
composer_vendor project expects to find it.
Modules, themes and profiles are placed in
their usual locations (e.g. sites/all/
modules), not in the vendor directory.
With composer_vendor
The basic project layout is the same
as in the drupal-tangler case.
26. Pantheon.io / Prometsource.com 26
Place the Vendor Directory
composer.json
{
"require": {
…
},
"config": {
"vendor-dir": "htdocs/sites/all/vendor"
},
…
}
For composer_vendor with a custom-installer
27. Pantheon.io / Prometsource.com 27
Place Modules and Themes
{
"require": {
"davidbarratt/custom-installer": "dev-master",
…
},
"extra": {
"custom-installer": {
"drupal-module": "htdocs/sites/all/modules/contrib/{$name}/",
"drupal-theme": "htdocs/sites/all/themes/contrib/{$name}/"
},
},
…
}
composer.json
For composer_vendor with a custom-installer
28. Pantheon.io / Prometsource.com 28
Use Installation Profiles
{
"require": {
"davidbarratt/custom-installer": "dev-master",
"drupal/panopoly": "7.1.*",
…
},
"extra": {
"custom-installer": {
"drupal-profile": "htdocs/profiles/{$name}/"
},
},
…
}
composer_vendor
composer.json
For composer_vendor with a custom-installer
29. Pantheon.io / Prometsource.com 29
Downloading Modules
$ drush dl devel
Project devel (7.x-1.5) downloaded to sites/
all/modules/contrib/devel.
Project devel contains 3 modules:
devel_generate, devel, devel_node_access.
$ composer require drupal/devel '7.*'
./composer.json has been updated
Loading composer repositories with package
information
Updating dependencies (including require-dev)
Drush Composer
Drush will select the right module major version, but composer require
must be told which version to use.
Composer require will update the composer.json file before
installing the module.
30. Pantheon.io / Prometsource.com
Tangler works
the same
30
Updating a Site
$ drush pm-update $ composer update
$ drush updatedb
Composer
Remember - regardless of how you update your site, always
do it on a copy first. Never update directly on the
production site!
Drush
31. Pantheon.io / Prometsource.com 31
Install a Module from a Private Repository
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/your-org/your-module"
}
],
"require": {
"your-org/your-module": "dev-master"
},
…
}
https://knpuniversity.com/screencast/question-answer-day/create-composer-package
composer.json
For composer_vendor and drupal-tangler
32. Pantheon.io / Prometsource.com 32
Add a Patch to a Module
{
"require": {
"netresearch/composer-patches-plugin": "~1.0"
},
"extra": {
"patches": {
"drupal/features": {
"7.2.2":[
{
"title": "Remove mtime from .info export (added by Drupal 7.33)",
"url": "https://www.drupal.org/files/issues/2381739-features-mtime.patch"
}
]
}
}
},
…
}
http://cambrico.net/drupal/using-composer-to-build-your-drupal-7-projects
composer.json
For composer_vendor and drupal-tangler
33. Pantheon.io / Prometsource.com 33
Use a Composer Library from a Module
1. Add a composer.json and require the library
2. There is no step two!
VERY IMPORTANT - Never try to include an autoload.php file from a
plug-in; always leave autoloader management to the application.
34. Pantheon.io / Prometsource.com 34
Use Composer from a Drush Command
1. Add a composer.json and require the library
2. Call drush_autoload(__FILE__) from your
hook_drush_init().
3. Require your Drush command in the composer.json of the
Drupal site it is used in.
39. Pantheon.io / Prometsource.com 39
Deploy Code Using Two Repositories
Isolate the Provider’s Repository
clone
installclone
commit
rsync
pull
•
Deploy with git while
maintaining a lean working
repository by writing a
short deploy script.
2 3
4
1
5
6
40. Pantheon.io / Prometsource.com 40
Converting an Existing Site
$ drush dl composer_generate
$ drush @site composer-generate > composer.json
$ composer install
# Set up settings.php, copy files…
$ drush site-install
41. Pantheon.io / Prometsource.com 41
Creating a New Site
promet/drupal7-framework
$ composer create-project promet/drupal7-framework project_name
$ vagrant up --provision
=+ +
42. Pantheon.io / Prometsource.com 42
Creating a New Site
drupal-composer/drupal-project
$ composer create-project drupal-composer/drupal-project:7.x-dev dir
--stability dev --no-interaction
# Set up settings.php, copy files…
$ drush site-install
44. Pantheon.io / Prometsource.com 44
Installing Drupal 8 with Composer
Drupal 8 already uses Composer, so
this should be easier, right?
?+ =
45. Pantheon.io / Prometsource.com 45
Why Doesn’t this work? “It’s complicated.”
How it is Supposed to Work
$ composer create-project drupal/drupal path ~8
47. Pantheon.io / Prometsource.com 47
More Information About Split Core
Using Subtree Splits to spread Drupal into everything
DAVID W BARRATT
Wednesday 13 May, 15:45 - 16:45
ROOM 511BC - Pantheon
48. Pantheon.io / Prometsource.com 48
Drupal 8 Project Layout with Drush and Composer
mydrupalsite.org
composer.json
vendor
drush
drush
drush
htdocs
sites
core
modules
autoload.php
index.php
.htaccess
We place the vendor directory in its
standard location in the project directory,
not in the core directory where D8 has it.
We need to modify Drupal’s autoload.php
file to include the autoloader in our vendor
directory.
Copy all of the other regular files from the
Drupal 8 root directory.
Composer will place drush inside the
vendor directory, which probably is not in
your $PATH.
49. Pantheon.io / Prometsource.com
W
49
Options to Run Site-Local Drush
Put $HOME/.drush/use/bin
in your $PATH Source example.bashrc Redispatch
$ drush site-set @site
$ drush status
$ drush use @site
(@site) $ drush status $ drush @site status
Works today!Under discussion in Drush issue queue:
https://github.com/drush-ops/drush/pull/1343
50. Pantheon.io / Prometsource.com 50
Modified autoload.php
autoload.php in Drupal 8 root directory
<?php
return require __DIR__ . '/../vendor/autoload.php';
<?php
return require __DIR__ . '/core/vendor/autoload.php';
autoload.php in our modified site
51. Pantheon.io / Prometsource.com 51
What Does “Hacking Core” Mean?
“Every time you hack core…” by Greg Dunlap (heyrocker) DrupalCon Szeged 2008
If you have to resolve merge conflicts when
you update, then you are hacking core.
52. Pantheon.io / Prometsource.com 52
Where Do We Go From Here?
https://groups.drupal.org/composer
http://drupal-composer.org/
https://github.com/drupal-composer
https://getcomposer.org/
@greg_1_anderson
@dsdobrzynski
https://github.com/promet/drupal7-framework