SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
WordPress
Workflows
+ Expanded
700 sites

                            581 sites

                342 sites


      141 sites
 136 sites
0 sites
  2007   2008       2009    2010   2011   2012
Total:

+ 255 In-progress
+ 2,596 Blogs
= 3,551 Sites

2007     2008   2009   2010   2011   2012
A range of offerings:

1. Fully custom
2. Quick setup
3. DIY tools
How many plugins does it take?


Main                      Main        Integrated
Third-Party               BU-specific w/ BU apps
Gravity Forms             BU Navigation         BU Calendar

WP SuperCache             Access Control List   BU Maps
                          (w/ Single Sign-on)
Akismet                                         Google Search
                          User Management       Appliance
Networks for              (w/ Single Sign-on)
WordPress                                       Course Feeds
                          Content Banner
Yet Another Related                             Training Manager
Posts Plugin              Post Details
                                                Emergency Alert
                          Advanced Tiny MCE
                          Site Manager
                          ....
What makes large sites so difficult?

 Lack of vision   Search

 Lack of          Performance &
 consistency      Scaling

 Lack of clear    Complex
 accountability   workflows

 Team dynamics    Politics
 and skill
What makes large sites so difficult?

 Lack of vision   Search

 Lack of          Performance &
 consistency      Scaling

 Lack of clear    Complex
 accountability   workflows

 Team dynamics    Politics
 and skill
BU Versions
+ BU Section
Editing
Design Goals»
+ Blend naturally into the existing WordPress
 admin UI
+ Simple to use
+ Manage permissions with a full view of all post
 content
+ Perform well on sites with more than 2,000
 pages
+ Support custom post types
BU Versions!
Jane Doe,
Contributor
John Smith,
administrator
The history of a page

             t ed                                e d
           ea                  d             lo
                                                n              te es
         cr                   e            c                na rit
     e                ge lish          e                  er rw al
p ag                pa ub          pag                  lt e n
                                                       a v i
                     p                                   o rig
                                                           o


                                           te
                                         a d
                                       rn ite
                                     te ed
                                   al
Roadmap»
+ Compare changes with original
+ Support cloning of meta data and the meta boxes
 used to manage the data
+ Simple notifications
+ Support custom statuses
+ Preview all alternate versions as once (tricky)
BU Section
Editing!
John Smith,
administrator
Jane Doe,
Contributor
Now accepting pull requests...


+ BU Versions
https://github.com/bu-ist/bu-versions
+ BU Section Editing
https://github.com/bu-ist/bu-section-editing
Contributors:

+ Mike Burns, developer
+ Sam Roach, UX designer
+ Scott Dasse, designer
+ Mike Waecker, project manager
+ Alex Haas, quality assurance analyst
Related Plugins:

+ Members
+ Edit Flow (Automattic)
+ ICE (NYTimes)
Roles +
Capabilities
Default Roles»
+ Administrator - Somebody who has access to all
 the administration features
+ Editor - Somebody who can publish and manage
 posts and pages as well as manage other users'
 posts, etc.
+ Author - Somebody who can publish and manage
 their own posts
+ Contributor - Somebody who can write and
 manage their posts but not publish them
+ Subscriber - Somebody who can only manage
 their profile
WordPress Permissions:

1. Primitive
Capabilities
2. Meta
Capabilities
                         Roles +
                         Capabilities
unfiltered_html      delete_users
Administrator                                 create_users
Primitive                edit_theme_options
                         delete_themes
                                              edit_users
                                              list_users
Capabilities             switch_themes
                         edit_themes
                                              remove_users
                                              add_users
read                     update_themes        promote_users
edit_posts               install_themes
edit_others_posts
edit_published_posts     activate_plugins
edit_private_posts       edit_plugins
delete_posts             update_plugins
delete_others_posts      delete_plugins
delete_published_posts   install_plugins
delete_private_posts
read_private_posts       edit_dashboard
publish_posts            manage_options
                         moderate_comments
edit_pages               manage_categories
edit_others_pages        manage_links
edit_published_pages
publish_pages            edit_files
delete_pages             upload_files
delete_others_pages      unfiltered_upload
delete_published_pages   import
delete_private_pages     export
edit_private_pages       update_core
read_private_pages                                   Roles +
                                                     Capabilities
unfiltered_html      delete_users
Administrator                                 create_users
Primitive                edit_theme_options
                         delete_themes
                                              edit_users
                                              list_users
Capabilities             switch_themes
                         edit_themes
                                              remove_users
                                              add_users
read                     update_themes        promote_users
edit_posts               install_themes
edit_others_posts
edit_published_posts     activate_plugins
edit_private_posts       edit_plugins
delete_posts             update_plugins
delete_others_posts      delete_plugins
delete_published_posts   install_plugins
delete_private_posts
read_private_posts       edit_dashboard
publish_posts            manage_options
                         moderate_comments
edit_pages               manage_categories
edit_others_pages        manage_links
edit_published_pages
publish_pages            edit_files
delete_pages             upload_files
delete_others_pages      unfiltered_upload
delete_published_pages   import
delete_private_pages     export
edit_private_pages       update_core
read_private_pages                                   Roles +
                                                     Capabilities
current_user_can('edit_post',	
  10)




          map_meta_cap()




has_cap('edit_published_posts')


                                       Roles +
                                       Capabilities
current_user_can('edit_post',	
  10)




BU Section Editing
map_meta_cap() filter
                         map_meta_cap()




              has_cap('edit_published_in_section')



                                                      Roles +
                                                      Capabilities
current_user_can('publish_posts')




         map_meta_cap()




   has_cap('published_posts')


                                    Roles +
                                    Capabilities
Uh, Oh!
No 'publish_post'
Meta Capability


                    Roles +
                    Capabilities
hack...
hack...
find	
  a	
  work-­‐around...
submit	
  WordPress	
  core	
  trac	
  ticket...
write	
  unit	
  tests...
submit	
  a	
  patch...



                                         Roles +
                                         Capabilities
Limitations»
+ Capabilities are not stored separate from roles
+ Capabilities do not have labels or descriptions




                                           Roles +
                                           Capabilities
Roles +
Capabilities
Limitations»
+ Capabilities are not stored separate from roles
+ Capabilities do not have labels or descriptions
+ No API exists for setting a capability to false;
 remove_cap() deletes the capabilities making it
 difficult to determine whether a capability was
 removed or just was never added




                                            Roles +
                                            Capabilities
The value of open source




  core
             developer     community
developer
"The foundation of open source projects is
   rough consensus and working code"
                        —Jacob Kaplan-Moss
Resources»
+ http://make.wordpress.org
+ http://core.trac.wordpress.org
+ freenode.net #wordpress-dev
+ wp-hackers@lists.automattic.com
Up next»   + infrastructure
           revamp
           + responsive
           + open source
(by)




Gregory Cornelius
             @gcorne




design by Scott Dasse

Contenu connexe

Similaire à WordPress Workflows Expanded

Improving joomla's backend user experience
Improving joomla's backend user experienceImproving joomla's backend user experience
Improving joomla's backend user experience
Luke Summerfield
 

Similaire à WordPress Workflows Expanded (20)

Improving joomla's backend user experience
Improving joomla's backend user experienceImproving joomla's backend user experience
Improving joomla's backend user experience
 
Synchronizing Creativity with Content Management
Synchronizing Creativity with Content ManagementSynchronizing Creativity with Content Management
Synchronizing Creativity with Content Management
 
Fronteers - Drupal 7 ux
Fronteers   - Drupal 7 uxFronteers   - Drupal 7 ux
Fronteers - Drupal 7 ux
 
Drupal intro-training-in-mumbai
Drupal intro-training-in-mumbaiDrupal intro-training-in-mumbai
Drupal intro-training-in-mumbai
 
Typical customization pitfalls in Magento 2
Typical customization pitfalls in Magento 2Typical customization pitfalls in Magento 2
Typical customization pitfalls in Magento 2
 
Synapse india reviews on drupal intro
Synapse india reviews on drupal introSynapse india reviews on drupal intro
Synapse india reviews on drupal intro
 
Improving Joomla’s Backend User Experience
Improving Joomla’s Backend User ExperienceImproving Joomla’s Backend User Experience
Improving Joomla’s Backend User Experience
 
Using Drupal Features in B-Translator
Using Drupal Features in B-TranslatorUsing Drupal Features in B-Translator
Using Drupal Features in B-Translator
 
Drupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett BakerDrupal for Webmasters by Brett Baker
Drupal for Webmasters by Brett Baker
 
J query
J queryJ query
J query
 
Features
FeaturesFeatures
Features
 
Drupal intro (1)
Drupal intro (1)Drupal intro (1)
Drupal intro (1)
 
An Introduction to Drupal
An Introduction to DrupalAn Introduction to Drupal
An Introduction to Drupal
 
Drupal 8 for site builders
Drupal 8 for site buildersDrupal 8 for site builders
Drupal 8 for site builders
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Justin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12neJustin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12ne
 
Drupal -Introduction to Drupal
Drupal -Introduction to DrupalDrupal -Introduction to Drupal
Drupal -Introduction to Drupal
 
Enrich your extensions with Joomla! ACL support
Enrich your extensions with Joomla! ACL supportEnrich your extensions with Joomla! ACL support
Enrich your extensions with Joomla! ACL support
 
Role-Based Access Control (RBAC) in Neo4j
Role-Based Access Control (RBAC) in Neo4jRole-Based Access Control (RBAC) in Neo4j
Role-Based Access Control (RBAC) in Neo4j
 
Drupal6 and Drupal 7 difference
Drupal6 and Drupal 7 differenceDrupal6 and Drupal 7 difference
Drupal6 and Drupal 7 difference
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

WordPress Workflows Expanded

  • 1.
  • 3. 700 sites 581 sites 342 sites 141 sites 136 sites 0 sites 2007 2008 2009 2010 2011 2012
  • 4. Total: + 255 In-progress + 2,596 Blogs = 3,551 Sites 2007 2008 2009 2010 2011 2012
  • 5. A range of offerings: 1. Fully custom 2. Quick setup 3. DIY tools
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. How many plugins does it take? Main Main Integrated Third-Party BU-specific w/ BU apps Gravity Forms BU Navigation BU Calendar WP SuperCache Access Control List BU Maps (w/ Single Sign-on) Akismet Google Search User Management Appliance Networks for (w/ Single Sign-on) WordPress Course Feeds Content Banner Yet Another Related Training Manager Posts Plugin Post Details Emergency Alert Advanced Tiny MCE Site Manager ....
  • 20. What makes large sites so difficult? Lack of vision Search Lack of Performance & consistency Scaling Lack of clear Complex accountability workflows Team dynamics Politics and skill
  • 21. What makes large sites so difficult? Lack of vision Search Lack of Performance & consistency Scaling Lack of clear Complex accountability workflows Team dynamics Politics and skill
  • 22. BU Versions + BU Section Editing
  • 23. Design Goals» + Blend naturally into the existing WordPress admin UI + Simple to use + Manage permissions with a full view of all post content + Perform well on sites with more than 2,000 pages + Support custom post types
  • 25.
  • 26.
  • 28.
  • 29.
  • 31.
  • 32.
  • 33. The history of a page t ed e d ea d lo n te es cr e c na rit e ge lish e er rw al p ag pa ub pag lt e n a v i p o rig o te a d rn ite te ed al
  • 34. Roadmap» + Compare changes with original + Support cloning of meta data and the meta boxes used to manage the data + Simple notifications + Support custom statuses + Preview all alternate versions as once (tricky)
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 43.
  • 44.
  • 45. Now accepting pull requests... + BU Versions https://github.com/bu-ist/bu-versions + BU Section Editing https://github.com/bu-ist/bu-section-editing
  • 46. Contributors: + Mike Burns, developer + Sam Roach, UX designer + Scott Dasse, designer + Mike Waecker, project manager + Alex Haas, quality assurance analyst
  • 47. Related Plugins: + Members + Edit Flow (Automattic) + ICE (NYTimes)
  • 49. Default Roles» + Administrator - Somebody who has access to all the administration features + Editor - Somebody who can publish and manage posts and pages as well as manage other users' posts, etc. + Author - Somebody who can publish and manage their own posts + Contributor - Somebody who can write and manage their posts but not publish them + Subscriber - Somebody who can only manage their profile
  • 50. WordPress Permissions: 1. Primitive Capabilities 2. Meta Capabilities Roles + Capabilities
  • 51. unfiltered_html delete_users Administrator create_users Primitive edit_theme_options delete_themes edit_users list_users Capabilities switch_themes edit_themes remove_users add_users read update_themes promote_users edit_posts install_themes edit_others_posts edit_published_posts activate_plugins edit_private_posts edit_plugins delete_posts update_plugins delete_others_posts delete_plugins delete_published_posts install_plugins delete_private_posts read_private_posts edit_dashboard publish_posts manage_options moderate_comments edit_pages manage_categories edit_others_pages manage_links edit_published_pages publish_pages edit_files delete_pages upload_files delete_others_pages unfiltered_upload delete_published_pages import delete_private_pages export edit_private_pages update_core read_private_pages Roles + Capabilities
  • 52. unfiltered_html delete_users Administrator create_users Primitive edit_theme_options delete_themes edit_users list_users Capabilities switch_themes edit_themes remove_users add_users read update_themes promote_users edit_posts install_themes edit_others_posts edit_published_posts activate_plugins edit_private_posts edit_plugins delete_posts update_plugins delete_others_posts delete_plugins delete_published_posts install_plugins delete_private_posts read_private_posts edit_dashboard publish_posts manage_options moderate_comments edit_pages manage_categories edit_others_pages manage_links edit_published_pages publish_pages edit_files delete_pages upload_files delete_others_pages unfiltered_upload delete_published_pages import delete_private_pages export edit_private_pages update_core read_private_pages Roles + Capabilities
  • 53. current_user_can('edit_post',  10) map_meta_cap() has_cap('edit_published_posts') Roles + Capabilities
  • 54. current_user_can('edit_post',  10) BU Section Editing map_meta_cap() filter map_meta_cap() has_cap('edit_published_in_section') Roles + Capabilities
  • 55. current_user_can('publish_posts') map_meta_cap() has_cap('published_posts') Roles + Capabilities
  • 56. Uh, Oh! No 'publish_post' Meta Capability Roles + Capabilities
  • 57. hack... hack... find  a  work-­‐around... submit  WordPress  core  trac  ticket... write  unit  tests... submit  a  patch... Roles + Capabilities
  • 58. Limitations» + Capabilities are not stored separate from roles + Capabilities do not have labels or descriptions Roles + Capabilities
  • 60. Limitations» + Capabilities are not stored separate from roles + Capabilities do not have labels or descriptions + No API exists for setting a capability to false; remove_cap() deletes the capabilities making it difficult to determine whether a capability was removed or just was never added Roles + Capabilities
  • 61. The value of open source core developer community developer
  • 62. "The foundation of open source projects is rough consensus and working code" —Jacob Kaplan-Moss
  • 63. Resources» + http://make.wordpress.org + http://core.trac.wordpress.org + freenode.net #wordpress-dev + wp-hackers@lists.automattic.com
  • 64. Up next» + infrastructure revamp + responsive + open source
  • 65. (by) Gregory Cornelius @gcorne design by Scott Dasse