SlideShare une entreprise Scribd logo
1  sur  86
Télécharger pour lire hors ligne
Managing and deploying
configuration
...with exportables and the Features module




http://drupal.org/project/features
Jeff Miccolis,
Development Seed
We build websites
We build web apps
“...we decided to host our Drupal environment
using virtualization. This allowed us to build and
test the Drupal environment locally and easily
ship the entire virtual machine to the
production hosting platform.”

19 Dec 2006


 http://www.ibm.com/developerworks/ibm/library/i-osource12/
Using open source
software to design,
develop, and deploy a
collaborative Web site, Part
12: Hosting and deploying

http://www.ibm.com/developerworks/ibm/library/i-osource12/
This presentation is about
making Drupal better at
dealing with these
problems.
In four parts

1. Problem
2. Solution
3. Best Practices
4. Distributing
1. The Problem
Drupal’s strength is its
weakness.
No distinction between
configuration &
content.
The Workflow Problem
Development:
where the action happens.
Staging:
where it’s reviewed.
Production:
http://www.mysite.com
FYI, developing on the
live site is a bad idea,
always.
This is a story...




http://developmentseed.org/blog/2009/jul/09/development-
       staging-production-workflow-problem-drupal
Round one goes fine.
Developer, designer & client get the site out the
door.
Round two is a PITA.
New views build on development
Rebuild on staging
Rebuild on development
Rebuild on staging
Rinse, Repeat.
Rebuild on production.
Round two is a PITA.
Requires extensive note taking
Prone to human error
Loads of repeated tasks
Not having a
distinction between
configuration and code
is bigger that just this
one aspect.
2. The Solution
IMHO
Make a distinction
between configuration
& content
...and write the
configuration to code.
What’s in code goes in
version control.
fig 1: Configuration components of a feature.




       This belongs in your codebase.
Features module
semantics
Feature: module that contains
collection of Drupal parts
that do something specific.
Features: Drupal module
that allows for the capture
of configuration into code.
feature: something you
want your website to do.
features: a set of things
you want your website
to do.
Yes, I’m sorry. It seemed
like a good idea at the
time.
The Features module
makes Feature modules,
which have...
Core exportables
 DRUPAL 6        DRUPAL 7

Content types   Content types
 Permissions        Fields
 Input filters    Permissions
 Menu items      Input filters
                 Menu items
                 Image styles
                 Vocabularies
Contrib support
                       Contexts
                         Views
                      ImageCache
                        Ctools*




* Ctools is special
Ctools is special




Strongarm, Panels, Feeds, Data, etc...
Features is a system to
capture these
components,
...these components
are the configuration
that describes how
your site behaves.
Features should be
used throughout the
development process,
...it won’t fight back,
once you get the hang
of it.
Create a Feature
Status of Features
Status of Feature
What changed
Create, Update, Revert
Drush commands
features          List all the available features for your site.

features-export Export a feature from your site into a
                module.

features-update Update a feature module on your site.

features-revert   Revert a feature module on your site.
How this can work in
development:
Alex makes a feature.
Jeff adds a couple views.
Young adds theme overrides.
Alex fixes Jeff’s and Young’s bugs
Rolled out.
Jeff makes views adjustments
Rolled out.
Alex makes views adjustments, to fix Jeff’s...
Young touches up the views styling
Rolled out.
Views changes are
made only once.

Each change has a
commit log.
Less room for dumb
errors.

More accountability.
It’s easier to do things
right.
Not having a
distinction between
configuration and code
is bigger that just this
one aspect.
Briefly:
Adding exportables to
your module.
First: sequential IDs on
configuration is the
enemy.
the enemy
Machine name (poor man’s UUID)
Second: when in doubt,
use Ctools
http://civicactions.com/blog/2009/jul/24/
using_chaos_tools_module_create_exportables
Ctools’ export.inc
crash course...
Your job:

* Database schema
* Saving
* User Interface
Ctools’ job:

* Loading
* Exporting
Q: What’s left?

Dependency detection.
hook_features_export()

* add modules
* add components
* delegation
3. Best Practice
Kit
http://drupal.org/project/kit
“The goal is to offer a
straightforward base package
for building state-of-the-art
Drupal sites while specifying
how Features built
on top of Kit can be
compatible.”
Specifications:
 Feature Specification (kitf 1.0-draft)
 Theme Specification (kitt 1.0-draft)
kitf
  Namespaces
  User roles & Permissions
  Variables
  Paths & Menu items
  Block visibility & theme regions
  Dependencies
  Problematic components
kitt
  Regions
  Page template variables
  Element attributes
These are working
documents, based on
developer feedback.
4. Distributing
How do I share a
feature?
Are Open Atrium’s
features appropriate on
drupal.org?
Can I always share my
configuration?
How can I get that nifty
update status thing
behind the firewall?
Feature Servers
http://code.developmentseed.org/
featureserver/
Feature Server allows
you to create projects,
make new releases...
subscribe to updates via
the Update status
module...
It is simple by design...
For greater integration
with version control
systems or for
automatic packaging
consider using the
Project module.
Based on Drupal’s
implicit standards.

* update status xml
* exportables
* drush make
Demo/Questions?

Contenu connexe

Tendances

DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
Docker, Inc.
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
VladLica
 

Tendances (20)

Jenkins 101: Getting Started
Jenkins 101: Getting StartedJenkins 101: Getting Started
Jenkins 101: Getting Started
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90mins
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
OSDC 2017 - Julien Pivotto - Automating Jenkins
OSDC 2017 - Julien Pivotto - Automating JenkinsOSDC 2017 - Julien Pivotto - Automating Jenkins
OSDC 2017 - Julien Pivotto - Automating Jenkins
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Jenkins Best Practices
Jenkins Best PracticesJenkins Best Practices
Jenkins Best Practices
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Supermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talkSupermondays: Jenkins CI lightning talk
Supermondays: Jenkins CI lightning talk
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Virtual CD4PE Workshop
Virtual CD4PE WorkshopVirtual CD4PE Workshop
Virtual CD4PE Workshop
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014Using Docker with Puppet - PuppetConf 2014
Using Docker with Puppet - PuppetConf 2014
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
 

En vedette

En vedette (7)

Using JavaScript in Drupal
Using JavaScript in DrupalUsing JavaScript in Drupal
Using JavaScript in Drupal
 
jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
 
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
Gestion de projet Drupal : quelques outils indispensables - OWS - Drupalcamp ...
 
JavaScript in Drupal 7: What developers need to know
JavaScript in Drupal 7: What developers need to knowJavaScript in Drupal 7: What developers need to know
JavaScript in Drupal 7: What developers need to know
 
jQuery 1.7 visual cheat sheet
jQuery 1.7 visual cheat sheetjQuery 1.7 visual cheat sheet
jQuery 1.7 visual cheat sheet
 
I primi 6 mesi del Piano Nazionale Scuola Digitale
I primi 6 mesi del Piano Nazionale Scuola DigitaleI primi 6 mesi del Piano Nazionale Scuola Digitale
I primi 6 mesi del Piano Nazionale Scuola Digitale
 
5 клас 17 урок. Алгоритми та їх виконавці. (за оновленою програмою 2016р.)
5 клас 17 урок. Алгоритми та їх виконавці. (за оновленою програмою 2016р.)5 клас 17 урок. Алгоритми та їх виконавці. (за оновленою програмою 2016р.)
5 клас 17 урок. Алгоритми та їх виконавці. (за оновленою програмою 2016р.)
 

Similaire à IBM Drupal Users Group Discussion on Managing and Deploying Configuration

Intro to Features Module on Drupal
Intro to Features Module on DrupalIntro to Features Module on Drupal
Intro to Features Module on Drupal
Aidan Foster
 

Similaire à IBM Drupal Users Group Discussion on Managing and Deploying Configuration (20)

Features everywhere
Features everywhere Features everywhere
Features everywhere
 
Features and Context Overview
Features and Context OverviewFeatures and Context Overview
Features and Context Overview
 
Intro to Features Module on Drupal
Intro to Features Module on DrupalIntro to Features Module on Drupal
Intro to Features Module on Drupal
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Drupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven DevelopmentDrupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven Development
 
Features++
Features++Features++
Features++
 
Drupal distributions - how to build them
Drupal distributions - how to build themDrupal distributions - how to build them
Drupal distributions - how to build them
 
Drupal distribution
Drupal distributionDrupal distribution
Drupal distribution
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Using Features
Using FeaturesUsing Features
Using Features
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
Web Components
Web ComponentsWeb Components
Web Components
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Reaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and PolymerReaching for the Future with Web Components and Polymer
Reaching for the Future with Web Components and Polymer
 
Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1Lazy Coder Camp Edition 1
Lazy Coder Camp Edition 1
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Voiture tech talk
Voiture tech talkVoiture tech talk
Voiture tech talk
 
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
#D8CX: Upgrade your modules to Drupal 8 (Part 1 and 2)
 

Plus de Development Seed

GeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in AfghanistanGeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in Afghanistan
Development Seed
 
Alternative Mapping on iOS
Alternative Mapping on iOSAlternative Mapping on iOS
Alternative Mapping on iOS
Development Seed
 
Tech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMillTech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMill
Development Seed
 
ReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build PlanReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build Plan
Development Seed
 
Offline Mapping: International Crisis
Offline Mapping: International CrisisOffline Mapping: International Crisis
Offline Mapping: International Crisis
Development Seed
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them all
Development Seed
 

Plus de Development Seed (20)

Rasters are not Monsters - GeoMTL 2019
Rasters are not Monsters - GeoMTL 2019Rasters are not Monsters - GeoMTL 2019
Rasters are not Monsters - GeoMTL 2019
 
GeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in AfghanistanGeoDC: Better data for better elections in Afghanistan
GeoDC: Better data for better elections in Afghanistan
 
Cartography with TileMill, PostGIS, and OpenStreetMap
Cartography with TileMill, PostGIS, and OpenStreetMapCartography with TileMill, PostGIS, and OpenStreetMap
Cartography with TileMill, PostGIS, and OpenStreetMap
 
Nonprofit Mapping at Net2DC Meetup
Nonprofit Mapping at Net2DC MeetupNonprofit Mapping at Net2DC Meetup
Nonprofit Mapping at Net2DC Meetup
 
Famine Mapping with USAID
Famine Mapping with USAIDFamine Mapping with USAID
Famine Mapping with USAID
 
Tilemill: Making Custom Transit Maps
Tilemill: Making Custom Transit MapsTilemill: Making Custom Transit Maps
Tilemill: Making Custom Transit Maps
 
Mapnik2 Performance, September 2011
Mapnik2 Performance, September 2011Mapnik2 Performance, September 2011
Mapnik2 Performance, September 2011
 
Alternative Mapping on iOS
Alternative Mapping on iOSAlternative Mapping on iOS
Alternative Mapping on iOS
 
Transparency camp
Transparency campTransparency camp
Transparency camp
 
Fast Map Interaction without Flash
Fast Map Interaction without FlashFast Map Interaction without Flash
Fast Map Interaction without Flash
 
Tech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMillTech@State Preview of Designing Custom Maps with TileMill
Tech@State Preview of Designing Custom Maps with TileMill
 
ReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build PlanReliefWeb Drupal 7 Build Plan
ReliefWeb Drupal 7 Build Plan
 
Offline Mapping: International Crisis
Offline Mapping: International CrisisOffline Mapping: International Crisis
Offline Mapping: International Crisis
 
Aegir one drupal to rule them all
Aegir one drupal to rule them allAegir one drupal to rule them all
Aegir one drupal to rule them all
 
Backstage with Drupal localization- Part 2
Backstage with Drupal localization- Part 2Backstage with Drupal localization- Part 2
Backstage with Drupal localization- Part 2
 
For every site a make file
For every site a make fileFor every site a make file
For every site a make file
 
Go real time with pubsubhubbub and feeds
Go real time with pubsubhubbub and feedsGo real time with pubsubhubbub and feeds
Go real time with pubsubhubbub and feeds
 
Drupal Distributions: The Dos and Don'ts:
Drupal Distributions: The Dos and Don'ts:Drupal Distributions: The Dos and Don'ts:
Drupal Distributions: The Dos and Don'ts:
 
Open Atrium
Open Atrium Open Atrium
Open Atrium
 
Opening Large Data Sets
Opening Large Data SetsOpening Large Data Sets
Opening Large Data Sets
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

IBM Drupal Users Group Discussion on Managing and Deploying Configuration