Configuration Management is one of the prominent new features coming with Drupal 8. The reference use case for Configuration Management in Drupal 8 is quite different than the standard Drupal 7 + Features use case, both for a site builder and for a developer. And the Features module in Drupal 8 will have to be used in a different way.
The configuration management system in Drupal 8 seems like a great idea, but what is it? In this session I hope to show what configuration management is, why it is needed and how it will make all of our lives as Drupal site builders better.
The Drupal 8 Configuration Management Initiative (CMI) is a straight up game changer for Drupal development and deployment. As much as we all love doing it live, no longer will this kind of human powered configuration replay in production be necessary. Instead, developers will be able to natively export their configuration to code and deploy that configuration to production using the CMI tools.
This session will feature both a basic overview for how CMI will work in Drupal 8 and an advanced overview of how to use CMI with version control as part of a managed development -> testing -> production workflow. Forget the pain that was drush fe and drush fu-all. Come join Matt Cheney from Pantheon in embracing modern configuration management in all its glory.
Watch the session video: https://www.youtube.com/watch?v=Pl7-978oKNw
Advanced Configuration Management with Config Split et al.Nuvole
So you know how to use configuration management in Drupal 8. It works great for its intended use case but you have more advanced needs and Drupal core and drush don’t really help you? You read or write blog posts pointing out shortcomings of Drupals configuration management?
Configuration Split and its friends will jump in and help with almost all your Configuration Management struggles. Some configuration needs to exist only in some environments, like development modules? Your client edits some configuration on the production site? You have two sites that are almost the same but not exactly? You checked out configuration split but didn’t get what it does?
At this session all your questions will be answered and you will love the configuration management in Drupal 8 even more. Next to Configuration Split and its road map we will also see some other solutions for other potential stumbling blocks, such as deploying configuration which depends on content or installing a site from existing configuration.
Modules covered:
Configuration Split (and Config Filter)
Configuration installer
Configuration Read-only mode
More modules briefly
The configuration management system in Drupal 8 seems like a great idea, but what is it? In this session I hope to show what configuration management is, why it is needed and how it will make all of our lives as Drupal site builders better.
The Drupal 8 Configuration Management Initiative (CMI) is a straight up game changer for Drupal development and deployment. As much as we all love doing it live, no longer will this kind of human powered configuration replay in production be necessary. Instead, developers will be able to natively export their configuration to code and deploy that configuration to production using the CMI tools.
This session will feature both a basic overview for how CMI will work in Drupal 8 and an advanced overview of how to use CMI with version control as part of a managed development -> testing -> production workflow. Forget the pain that was drush fe and drush fu-all. Come join Matt Cheney from Pantheon in embracing modern configuration management in all its glory.
Watch the session video: https://www.youtube.com/watch?v=Pl7-978oKNw
Advanced Configuration Management with Config Split et al.Nuvole
So you know how to use configuration management in Drupal 8. It works great for its intended use case but you have more advanced needs and Drupal core and drush don’t really help you? You read or write blog posts pointing out shortcomings of Drupals configuration management?
Configuration Split and its friends will jump in and help with almost all your Configuration Management struggles. Some configuration needs to exist only in some environments, like development modules? Your client edits some configuration on the production site? You have two sites that are almost the same but not exactly? You checked out configuration split but didn’t get what it does?
At this session all your questions will be answered and you will love the configuration management in Drupal 8 even more. Next to Configuration Split and its road map we will also see some other solutions for other potential stumbling blocks, such as deploying configuration which depends on content or installing a site from existing configuration.
Modules covered:
Configuration Split (and Config Filter)
Configuration installer
Configuration Read-only mode
More modules briefly
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.
Becoming a drupal master builder - Given at Drupal Camp London 2016
I've been building Drupal sites for a number of years and have a broad experience building Drupal sites with various levels of complexity. I often work with other agencies to build Drupal sites or to migrate existing sites and as a result I will often see some very common mistakes and errors that shouldn't be happening. Due to Drupal's popularity I also see Drupal sites in the wild and can clearly see the same mistakes going on there as well.
During this talk I'll show some basic site building tips as well as some more complex and technical strategies that will make your Drupal sites better and more maintainable. Rather than just show you what to do, I'll also be explaining why doing those things are important and how developers and their websites will benefit from them. Although I'll be mainly concentrating on Drupal 7, some of these techniques are also applicable to Drupal 8.
Understanding configuration in Drupal 8 is essential. It's a powerful tool that can streamline your development and deployment processes. After several rescue projects over the past year I have realised that the one thing that goes wrong first is the configuration. For some reason it's always left until last or even as an afterthought and this can really de-rail projects.
In this session I will cover.
How to get your configuration in and out of Drupal.
How to best manage your configuration.
Using configuration modules like Configuration Ignore and Configuration Split to manage your configuration across different platforms.
What to do when the client changes the configuration on your site and some other common problems that you might encounter.
Note: This presentation contained some videos that I couldn't translate into slideshare.
Introduction to Module Development (Drupal 7)April Sides
This presentation was given at Drupal Camp Asheville 2015
If you have never developed a custom module, but you totally want to, this is the session for you.
My goal is to give you an overview of how to get started building your own custom modules.
We will discuss:
Tools - what you need to develop a module
Anatomy - what files you need and what code should be included in those files
Hooks/API - how to get Drupal to run your code
Resources - where to find the right hook
Examples - how to modify a form, etc.
Taking your module from Drupal 6 to Drupal 7Phase2
Learn how to take your module from D6 to D7 with this presentation from Senior Developer Tobby Hagler. This talk was given at CapitalCamp in Washington, DC.
Speaker: Andrea Pescettii
Area: Development
Drupal 8 è in arrivo. Il nuovo Configuration Management è valido sotto molti punti di vista, ma non renderà Features del tutto obsoleto.
Drupal 8 Services And Dependency InjectionPhilip Norton
Using the service manager is an essential part of a Drupal 8 developers toolkit and understanding it not only helps development, but can also allow you to create modules that can be easily used by other developers. There are numerous code examples out there that talk about using this or that service, so I'll look at how to go from "\Drupal::service('thing');" to finding and using services within Drupal 8. I will look at creating custom services to use within your own modules and provide injectable dependencies for other modules. I will also show how to override services to provide your own functionality to existing services. All code shown will be real examples that you can take away and use in your own projects.
Given at DrupalCamp London 2018
This session at DrupalCamp London 2017 was an attempt to demystify and counter the idea that deploying configuration in Drupal 8 is a nightmare. I made a comparison of tools which help you in the deployment process and ran an exercise on how to improve it.
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.
Drupal 8 has a whole new configuration system to store configuration data in a consistent manner. All of your site configuration from enabled modules through fields, contact categories to views, are stored with this system. The system is designed to make it much easier than prior Drupal versions to make changes, export site configuration to files, and import those changes back into the site.
This is the Day-4 lab exercise for CGI group webinar series. It primarily includes demonstrations on Hive, Analytics and other tools on the Cloudera Hadoop Platform.
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Erich Beyrent
Drupal 8 provides a robust configuration management system which represents a paradigm shift from previous versions of Drupal. It's now easier than ever to represent your configuration in code and manage it with source control. However, that may not be enough.
This session will propose a new strategy for thinking about Drupal 8 configuration, treating it as just another dependency, managed the same way code dependencies are managed with Composer.
We'll cover:
Drupal 8 configuration management overview
New ways of managing your git repository
Composer and Drupal Console
Drupal 8 multisite considerations
Drupal migrations in 2018 - SFDUG, March 8, 2018Irina Zaks
This year Drupal is 17. For over a decade the process of upgrading from one version to another was one of the biggest challenges. With Drupal 8 the ease of upgrading was one of most pleasant surprises. Looks like Drupal is getting out of teenage years and becoming quite a mature entity.
By the end of this session you will know how to complete a content upgrade for your Drupal 7 or 6 website, and what is not included. We will do a step-by-step demo of how the migration process goes:
Starting with out of the box vanilla Drupal 8 site
Connecting to the existing website that you want to upgrade
What modules you need for Drupal 8
Blocks, Theme, and Views migrations
Options available for moving content from other systems: Feeds (finally ready for Drupal 8), Migrate Plus and other plugins.
We will also discuss when you want to upgrade your site and when you want to migrate your site, and variations/combinations of these two cases.
Session Takeaway: How and when to upgrade your website to Drupal 8
Expected Attendees: This session is designed for site builders, content managers and strategists who are planning overall site development.
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.
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.
Becoming a drupal master builder - Given at Drupal Camp London 2016
I've been building Drupal sites for a number of years and have a broad experience building Drupal sites with various levels of complexity. I often work with other agencies to build Drupal sites or to migrate existing sites and as a result I will often see some very common mistakes and errors that shouldn't be happening. Due to Drupal's popularity I also see Drupal sites in the wild and can clearly see the same mistakes going on there as well.
During this talk I'll show some basic site building tips as well as some more complex and technical strategies that will make your Drupal sites better and more maintainable. Rather than just show you what to do, I'll also be explaining why doing those things are important and how developers and their websites will benefit from them. Although I'll be mainly concentrating on Drupal 7, some of these techniques are also applicable to Drupal 8.
Understanding configuration in Drupal 8 is essential. It's a powerful tool that can streamline your development and deployment processes. After several rescue projects over the past year I have realised that the one thing that goes wrong first is the configuration. For some reason it's always left until last or even as an afterthought and this can really de-rail projects.
In this session I will cover.
How to get your configuration in and out of Drupal.
How to best manage your configuration.
Using configuration modules like Configuration Ignore and Configuration Split to manage your configuration across different platforms.
What to do when the client changes the configuration on your site and some other common problems that you might encounter.
Note: This presentation contained some videos that I couldn't translate into slideshare.
Introduction to Module Development (Drupal 7)April Sides
This presentation was given at Drupal Camp Asheville 2015
If you have never developed a custom module, but you totally want to, this is the session for you.
My goal is to give you an overview of how to get started building your own custom modules.
We will discuss:
Tools - what you need to develop a module
Anatomy - what files you need and what code should be included in those files
Hooks/API - how to get Drupal to run your code
Resources - where to find the right hook
Examples - how to modify a form, etc.
Taking your module from Drupal 6 to Drupal 7Phase2
Learn how to take your module from D6 to D7 with this presentation from Senior Developer Tobby Hagler. This talk was given at CapitalCamp in Washington, DC.
Speaker: Andrea Pescettii
Area: Development
Drupal 8 è in arrivo. Il nuovo Configuration Management è valido sotto molti punti di vista, ma non renderà Features del tutto obsoleto.
Drupal 8 Services And Dependency InjectionPhilip Norton
Using the service manager is an essential part of a Drupal 8 developers toolkit and understanding it not only helps development, but can also allow you to create modules that can be easily used by other developers. There are numerous code examples out there that talk about using this or that service, so I'll look at how to go from "\Drupal::service('thing');" to finding and using services within Drupal 8. I will look at creating custom services to use within your own modules and provide injectable dependencies for other modules. I will also show how to override services to provide your own functionality to existing services. All code shown will be real examples that you can take away and use in your own projects.
Given at DrupalCamp London 2018
This session at DrupalCamp London 2017 was an attempt to demystify and counter the idea that deploying configuration in Drupal 8 is a nightmare. I made a comparison of tools which help you in the deployment process and ran an exercise on how to improve it.
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.
Drupal 8 has a whole new configuration system to store configuration data in a consistent manner. All of your site configuration from enabled modules through fields, contact categories to views, are stored with this system. The system is designed to make it much easier than prior Drupal versions to make changes, export site configuration to files, and import those changes back into the site.
This is the Day-4 lab exercise for CGI group webinar series. It primarily includes demonstrations on Hive, Analytics and other tools on the Cloudera Hadoop Platform.
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Erich Beyrent
Drupal 8 provides a robust configuration management system which represents a paradigm shift from previous versions of Drupal. It's now easier than ever to represent your configuration in code and manage it with source control. However, that may not be enough.
This session will propose a new strategy for thinking about Drupal 8 configuration, treating it as just another dependency, managed the same way code dependencies are managed with Composer.
We'll cover:
Drupal 8 configuration management overview
New ways of managing your git repository
Composer and Drupal Console
Drupal 8 multisite considerations
Drupal migrations in 2018 - SFDUG, March 8, 2018Irina Zaks
This year Drupal is 17. For over a decade the process of upgrading from one version to another was one of the biggest challenges. With Drupal 8 the ease of upgrading was one of most pleasant surprises. Looks like Drupal is getting out of teenage years and becoming quite a mature entity.
By the end of this session you will know how to complete a content upgrade for your Drupal 7 or 6 website, and what is not included. We will do a step-by-step demo of how the migration process goes:
Starting with out of the box vanilla Drupal 8 site
Connecting to the existing website that you want to upgrade
What modules you need for Drupal 8
Blocks, Theme, and Views migrations
Options available for moving content from other systems: Feeds (finally ready for Drupal 8), Migrate Plus and other plugins.
We will also discuss when you want to upgrade your site and when you want to migrate your site, and variations/combinations of these two cases.
Session Takeaway: How and when to upgrade your website to Drupal 8
Expected Attendees: This session is designed for site builders, content managers and strategists who are planning overall site development.
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.
Drupal 8 Configuration Management for you and your teamLuc Bézier
Start tracking and controlling changes in Drupal 8 using the core Configuration Management System. An awesome system for your and your team to work together. Discover why we got it wrong with Drupal 7, and why Drupal 8 is better at doing it. Also recommended configuration for your config files, drush commands and synchronization tools.
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
Mack Hardy, Dave Tarc, Damien Norris of Affinity Bridge presenting at Pacific Northwest Drupal Summit in Vancouver, October 5th, 2013. The presentation walks through management of releases, deployment strategies and build strategies with drupal features, git, and make files. Performance and caching is also covered, as well as specific tips and tricks for configuring apache and managing private files.
Walks through the top 8 improvements coming to Drupal 8, including videos and code samples to demonstrate "before vs. after."
Given to the @DrupalNS meet up in Bedford, Nova Scotia on July 28, 2014.
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.
Drupal Workflow Concepts Overview slides from the TriDUG Meetup on Feb 21. Used to introduce the open floor discussion on how people manage Dev -> Staging -> Production workflows.
This presentation introduces the Drupal 8 configuration management system (CMI). Learn why configuration management is one of the most eagerly anticipated features of Drupal 8, and how it has the potential to completely change the workflow we use for building sites with Drupal. By addressing a number of long-standing issues in Drupal, CMI helps to separate content from configuration, provides a simple user interface for transporting configuration changes between multiple instances of the same site, and gives developers a consistent way to store and retrieve configuration in their code that is guaranteed to work with the rest of management tools provided.
Here's what we'll cover in this presentation:
- What is configuration management, and what problems does it solve
- The CMI user interface, and changes for site-builders
- The CMI API, and changes for modules developers
- What you can start learning now to ensure you're ready to use CMI
This presentation was delivered on 11th May, 2014 in Drupal Camp Pakistan held in DatumSquare IT Services Islamabad. Contents of the presentation contains some basics stuff for designers, themers and coders.
Drupal is the most widely used CMS that is, easy to use, with high level of scalability. Drupal is Open source and easily integrated with any web platform. The Vskills certification on Drupal focuses on user account registration and maintenance, menu management, RSS-feeds, page layout customization, and system administration, brochure websites, a single- or multi-user blogs, an Internet forum, or a community website providing for user-generated content.
http://www.vskills.in/certification/Certified-Open-Source-CMS-Drupal-Professional
CMI 2.0 session at Drupal DevDays in Cluj-NapocaNuvole
Session page: https://cluj2019.drupaldays.org/cmi-20-and-you
Configuration management has been one of the signature improvements that Drupal 8 brought us.
However, initially, Drupal 8 core only supported a very narrow use case and left the rest to contrib to figure out. In the second iteration of the configuration management initiative, we take the lessons learned from contrib and implement them in the core. But we have only a narrow window of time left to get things done for Drupal 8.
Now is the time to get involved, the deadline for 8.8 is very soon!
Participants of this session do not need to be experts on configuration management, having used the core config module and maybe config_split is enough.
You will walk away with good sense of what we are trying to bring to Drupal 8.8 and why it is important to get involved at the sprints during this event.
Introducing the UI Patterns module: use atomic UI components everywhere in Dr...Nuvole
In this session we will show how the UI Patterns module allows you to define and expose self-contained UI patterns as Drupal 8 plugins and to use them as drop-in templates for panels, field groups, views, Display Suite view modes, field templates, etc.
Over the past years projects like PatternLab or the Component Libraries module aimed at lowering the cost of maintaining and re-using UI patterns in your projects.
But, as we all know, when it comes to presenting content the Drupal 8 landscape is quite diverse: you can layout your pages using Panels or Views, style your entities using Display Suite view modes, group your fields with Field group, etc. Such a diversification can surely present some challenges when it comes at reusing a well-designed and consistent UI library.
The UI patterns module makes it possible to seamlessly use UI patterns with views, layouts, field formatters, etc.
The session will also feature a brief live-demo of the following functionalities:
- Define patterns using YAML
- Visualize patterns on a pattern library page
- Organize patterns into self-contained bundles of JavaScript, - - CSS and TWIG template
- Integrate patterns with tools like PatternLab
- Use patterns as paragraphs or nodes layouts
- Use patterns as field group templates
- Use patterns as views row templates
- Use patterns as field templates
- Advanced topic: a closer look to UI Patterns internals
First Steps in Drupal Code Driven DevelopmentNuvole
"First Steps in Code Driven Development" covers basic techniques and good practices. Presented during the "Developer Session" at Krimson office, Antwerp (BE), the 27th of May 2010.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
5. Ὃ Our Projects
International organisations
Institutions
Fast delivery: several developers working simultaneously
on the same site
Frequent configuration changes: need for safe updates
6. Challenges We Face
Remote collaboration on site development
Keeping track of all configuration changes during
development
Pushing upgrades to production sites
7. Chapter 1
ἱ ἴ ἳ ἲ ἱ
The Evolution of
Code-Driven Development
in Drupal 8
8. The long march to a
"code-driven" Drupal
Historically, Drupal has kept both configuration and content
in the same database.
Every time you click in the administrative interface, no record is kept.
Drupal 6: Features appears, with the possibility to export
configuration to PHP code
Drupal 7: Features support is mature, but still relying on
third parties and incomplete
Drupal 8: Configuration and content are separated,
configuration is text-based
9.
The database-driven
workflow disadvantages
Default in Drupal 6 and Drupal 7 (core)
Standard approach: you click, you save, Drupal saves to
database and forgets
Bad: Mixing configuration and content
Bad: Losing track of configuration changes
Theoretically still possible in Drupal 8!
10.
The Features-driven
workflow disadvantages
A structural flaw: to package configuration into modules,
you need to make it exportable to "code"
Features is very good for packaging, not as good for
exporting; but there's no packaging without exporting
Not everything is exportable/traceable
You must "whitelist" elements to be tracked: you never
have the whole site under control
11.
Code-driven is not just
Features
It’s a global technical choice
For example, it includes makefiles and profiles, still
applicable in D8
Keywords: text-based configuration, traceability,
repeatability, reuse
14. Ἲ
Reference Use Case
Modify the configuration of a production site:
Keeping the site online all the time.
Developing/testing the new configuration on a
development copy.
Exporting the configuration changes from development
and importing them into production.
15. Ἲ Step 1 of 6
Clone Site to Dev
Production
Install Site
Full backup:
Database
Full Drupal tree
Files
Development
Restore the backup
(or install with
config_installer)
16. Ἲ Step 2 of 6
Modify Configuration
Production
Site operates normally:
new users
new content
Development
17. Ἲ Step 3 of 6
Export Configuration
Production
Site operates normally:
new users
new content
Development
18. Ἲ Step 4 of 6
Import into Staging
Production Development
19. Ἲ Step 5 of 6
Review Changes
Production Development
20. Ἲ Step 6 of 6
Apply Changes
Production Development
21. How this would have
worked in Drupal 7
Clone site to development environment
Create a feature exporting the site name variable
Development: update the feature
Transfer the feature to Production
Production: enable/revert the feature
22. drush
DRUpal SHell: everybody loves!
Drupal 8 ⇔ drush 7
Both not stable yet, but matching beta releases
A new installation method: composer
23. Ἲ Step 3 of 6 — Drush Style
Export Configuration
Development
$ drush config-export
The current contents of your export directory
(sites/default/files/config_H6raw/staging) will be deleted. (y/n): y
Configuration successfully exported to [success]
sites/default/files/config_H6raw/staging.
26. Use case
Features
A collection of logically
related Drupal elements
Packaged into PHP code,
using hooks
Exportability is a
precondition to packaging
Configuration Management
Reference for the whole site
configuration, development to
production
27. Ὄ Configuration format
PHP
Imperative
Interpreted
Can break site if corrupted
Located in folders for
modules
Treated as modules
YAML
Declarative
Parsed
Cannot break anything if corrupted
Located in specific folders
for config
Treated as data (like Rules'
JSON in D7)
28. Support
Optional
Modules must offer support
for Features
No guarantees
Mandatory
Core configuration
The only way to supply
configuration
29. ὒ Configuration and
modules
Drupal 7
Features are special
modules
Once a Feature is enabled,
its configuration is tracked
forever
Drupal 8
Modules provide initial
values
In this sense, every module
is a Feature
Configuration is decoupled
from modules after
installation
30. Components selection
Drupal 7
Explicitly listed in info file
Rest is not tracked
Drupal 8
All configuration is tracked
Configuration is saved per
config entity
Can be individually
imported/exported
Config synchronisation
requires all files to be
present (missing = deleted)
31. Configuration staging
Drupal 7
Feature states: normal,
overridden, needs review
Operations: features
update/revert
Diff available
Drupal 8
Active store and staging
store (multiple stores
possible)
Operations: import and
export
Diff available
33. Ἴ ⚽
Cross-site compatibility
Drupal 7
Write once, deploy
anywhere
A feature is ready to be
deployed on multiple sites
Drupal 8
Specific to multiple
instances (dev, prod) of the
same site
This is the CMI use case
Configuration Management
relies on UUIDs
34. Ὁ
Boundaries of configuration
Drupal 7
Entities through entity api,
CTools plugins
Variables with Strongarm
Content with
features_uuid
Menu links, custom and
contrib modules can be
problematic
Drupal 8
Configuration
Content
State
All clearly defined
35.
Features done right?
Drupal 7
Not optimal
A bit "forced" at times since
it is not native in Drupal 7
Drupal 8
Clean
Native
Not as powerful as
D7+Features yet
37. Use case
Drupal 7: Features
Package configuration
Reuse configuration
Focus on efficiency
Drupal 8: CM
Deploy configuration
Tracking configuration
Focus on reliability
We want both, efficiency and reliability
38. ⚠ Drawbacks
Drupal 7: Features
Not designed for
deployment
Used for deployment
It drives people crazy
Drupal 8: CM
Designed for deployment
Not designed for packaging
Possible shortcomings
when creating re-usable
configuration.
39. Features 8.x-3.x
Goes back to the core mission of Features: package
functionality for re-use.
No more project specific features!
Under development, alpha available.
Phase2 blog post
Development module, not for production sites using CMI
Announcing Features for Drupal 8
(http://www.phase2technology.com/blog/announcing-
features-for-drupal-8/)
42. ⇆ API import
The Config namespace configuration must always be
imported/exported through the API, never edit the files!
The filesystem is not a good option, and this is the reason
for Drupal 8 to store the active config in database by
default:
Performance
Safety
Security
43. ⚙
Configurables in Drupal 8
ConfigEntityBaseclass
Two entity namespaces: one for config, one for content
44. ⚙
Working with configuration
Reading and writing configuration
// Get site name for displaying.
$site_name = Drupal::config('system.site')->get('name');
// Get site name for editing.
$editable_config = Drupal::configFactory()->getEditable('system.site');
$site_name = $editable_config->get('name');
// Set site name.
$editable_config->set('name', 'My site')->save();
⛼
variable_get()and variable_set()died.
45. ⚙
Information about the
system state
instance-specific? (e.g., last cron run) → state
configuration? (e.g., site mail) → config
Site = filesystem + content + configuration + state
46. ⚙
Working with states
Reading and writing states
// Get last cron run timestamp.
$time = Drupal::state()->get('system.cron_last');
// Set cron run timestamp.
Drupal::state()->set('system.cron_last', REQUEST_TIME);
47. ⚙
Overriding "on the fly"
The $confarray is still available as $config
Useful in settings.local.php:
Differentiate development and production environment
49. Multi developer workflow
Configuration needs to be exported and imported!
Version all configuration in git. (current site config state)
Commit to git before synchronizing. (as a backup)
Import merged configuration before continuing.
( pending)patch (https://www.drupal.org/node/2416109)
50. ∆config = development
Lock configuration changes on the live site.
If locking is not an option: export and commit to a
dedicated branch, so developers can merge it into the
configuration which will be deployed.
Best practices yet to be found. Join
config_readonly
(https://www.drupal.org/project/config_readonly)
groups
(https://groups.drupal.org/node/466373)
51. Features workflow
If you use features 8.x for deployment
⇒ you are doing it wrong. ™
Re-use configuration for other projects!
Synchronize partial configuration between different sites.
Use features in development environments.