16
#d8rules - Support the Rules module for Drupal 8 Introduction Benefits of funding Rules in Drupal 8 On a larger scale For your own business Rules 8.x Overview of the Rules 8.x features Site building based on Drupal 8 core integration wins Reusable components Evolved developer experience The Rules success story solve hard problems in a flexible way Rules in a nutshell Custom content workflows Automated administration tasks Powerful business logic for ecommerce solutions An integrated ecosystem More automation examples History & Resources Funding goal & project milestones We need to act now How it will be done Milestone 1: Drupal 8 core integration & Rules core engine (May to July 2014) Milestone 2: Rules core API completion (July to August 2014) Milestone 3: Rules 8.x release (September to November 2014) Step 1: Private funding Billing Step 2: Public funding What’s next #d8rules Support the Rules module for Drupal 8 1 / 16

#d8rules - Support the Rules module for Drupal 8 · Introduction The upcoming release of Drupal 8 is a complete rewrite that the community, helped by organizations has been working

Embed Size (px)

Citation preview

 

#d8rules - Support the Rules module for Drupal 8

Introduction Benefits of funding Rules in Drupal 8 

On a larger scale For your own business 

Rules 8.x Overview of the Rules 8.x features Site building based on Drupal 8 core integration wins Reusable components Evolved developer experience 

The Rules success story ­ solve hard problems in a flexible way Rules in a nutshell Custom content workflows Automated administration tasks Powerful business logic for e­commerce solutions An integrated ecosystem More automation examples History & Resources 

Funding goal & project milestones We need to act now How it will be done Milestone 1: Drupal 8 core integration & Rules core engine  (May to July 2014) Milestone 2: Rules core API completion  (July to August 2014) Milestone 3: Rules 8.x release  (September to November 2014) 

Step 1: Private funding Billing 

Step 2: Public funding What’s next 

#d8rules ­ Support the Rules module for Drupal 8 1 / 16 

 

Introduction The upcoming release of Drupal 8 is a complete rewrite that the community, helped by organizations has been working on for three years. Views in core, a new configuration management system, throughout object oriented code based on Symfony 2 and vastly improved entity & fields systems only name a few of the exciting changes that will make Drupal 8 a revolutionary release.  The Rules module provides site builders with a powerful interface to implement custom workflows on their site and has proven to be an essential tool to the whole Drupal ecosystem. With over 200,000 reported active installations, it ranks amongst the top 20 most popular Drupal modules and is used at 1 out of every 5 Drupal sites in the world.  We strongly believe that Drupal 8 will only be as successful as how complete its ecosystem will be. With important tools like Views in core for Drupal 8, we want to get Rules ready as early as possible so that the community can start build websites and port their integration modules.  Let’s make Drupal 8 a better place for developers and site builders by funding the Rules 8.x port.   

➢ #d8rules 

#d8rules ­ Support the Rules module for Drupal 8 2 / 16 

 

Benefits of funding Rules in Drupal 8   

On a larger scale  ● Accelerate Drupal 8 uptake by 

ensuring that Rules as a key contributed module is ready, early enough.  

● Enable flexible workflows in Drupal 8 sites that are easily configurable & reusable.  

● Make Drupal contributions sustainable by funding contributed code used on hundreds of thousands of sites.  

For your own business  

✓ Delivering sophisticated solutions to your clients with the right Drupal 8 tools available in time.  

✓ Automating tasks on your Drupal 8 site helps you save time and generate revenue.  

✓ Showing support will make your company more visible and attract clients as well as developers.  

Rules 8.x  Porting Rules to Drupal 8 will require major refactoring of the framework. The Rules Core APIs & functionality will evolve and take advantage of Drupal 8 improvements.  

Overview of the Rules 8.x features

Site building based on Drupal 8 core integration wins 

● Admin UI usability improvements ● Simple Views Bulk operations in core 

Reusable components  ● Plug­in based architecture & fully object­oriented code 

● Rules data selector for tokens, contexts and other use cases 

● Typed data widgets & formatters ● Embeddable Rules UI components to integrate 

actions & conditions 

Evolved developer experience  ● Unified DX based on Drupal 8 plug­in system ● Symfony 2 event system integration ● Deployable config via CMI 

  

#d8rules ­ Support the Rules module for Drupal 8 3 / 16 

 

Site building based on Drupal 8 core integration wins  The key to success of the Rules module is its flexible UI that empowers site builders. We will port the Rules UI to Drupal 8 and make use of usability improvements that ship with Drupal core like the dropbuttons, modal dialogs, responsive administration tables.  With the Rules 8.x version, the simple Views Bulk Operations functionality incorporated into Drupal core will allow executing Rules actions on selected items out­of­the­box.  

Reusable components  

● Like all Drupal 8, Rules 8.x will fully embrace object­oriented code and follow modern programming paradigms. Reusable, extensible and interchangeable services allow for better separation of concerns. 

  

● The Rules data selector will be ported as a reusable component that may be leveraged by any other module to expose a selection widget for structured, nested data. This will work based on the metadata Drupal core already provides today via the Typed Data API. Imagine having the same autocompletion support for tokens, Panels contexts or Search API field mappings. 

 

  

● Typed data widgets & formatters, as well as typed data tokens will also evolve as reusable components that allow to provide form elements and visualizations of structured, typed data in a reusable way. 

● Embeddable Rules UI components: The Rules Link module in Drupal 7 is built upon the Rules APIs and UI. For Drupal 8, integration Rules functionality into the site building 

#d8rules ­ Support the Rules module for Drupal 8 4 / 16 

 

workflows of other contrib modules will be much simpler.  Together with an easier integration of parts of the Rules UI, this will allow to embed Rules configurations right at the place where they are needed: Block or Flag visibility conditions, Webform submission actions, …   

 

Evolved developer experience  

● The new plug­in system will allow developers to define their custom event, condition & action plug­ins in a more unified way. 

● Rules 8.x will even allow to integrate Symfony events in a seamless way, therefore requiring less custom coding to provide meaningful integrations. 

● Another immediate win is to have deployable configuration storage & exports by using the Drupal 8 configuration management system. 

#d8rules ­ Support the Rules module for Drupal 8 5 / 16 

 

The Rules success story - solve hard problems in a flexible way  Rules has fantastic integration with Drupal Core APIs and all structured data exposed using the Entity and Fields systems, over 350 other contributed modules specifically integrate with the Rules API by to provide their own custom events, conditions, actions or exposing custom data in a reusable way.  

Rules in a nutshell  The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules).   The following illustrations provide an overview of the Rules module:  

  1) The flexible user interface that Rules provides for through­the­web­configuration of workflows, 2) a state diagram of content workflows that may be implemented by using Rules, 3) the extensible architecture of the Rules module and 4) how it is integrates with metadata provided by the Entity API and other modules.     

#d8rules ­ Support the Rules module for Drupal 8 6 / 16 

 

Example use cases  

● Build flexible content publishing workflows changes ● Send customized mails to notify your users about important ● Create custom redirections, system messages, breadcrumbs, ... ● Build an eCommerce store using Drupal Commerce ● And many more… 

 

Custom content workflows  Rules enables site builders to implement highly customized content workflows to facilitate the editing processes on their website. Status changes, e­mail notifications and other automated tasks can be implemented cleanly based on events, conditions and actions provided by the Rules module with tight integration to the site’s content structure and its installed modules.  The Rules APIs allow developers to expose their own custom events, conditions, actions and data structures, so that site builders can implement workflows using the Rules User Interface without any need for coding.  Frequently used integration modules: Entity & Fields to provide structured data, Content Access, Workbench, Custom Publishing Options, Rules Autotag.   

Automated administration tasks  With Rules and Views Bulk Operations, any administrative task can be automatically applied to a list of items at once. This allows your editors & administrators to review pending comments in batches, assign roles to multiple users or execute custom workflows for a dynamically filtered list of content items.  Seen in many complex administration interfaces. Show cases include the Drupal Commerce Kickstart and Drupal Commons distributions.  

Powerful business logic for e-commerce solutions  Highly customizable business logic is the core of any e­commerce solution. The Rules module provides the fundamental building blocks to define flexible pricing rules with dynamic discounts or determine shipping options based on which products are placed in the shopping cart. The Drupal Commerce framework entirely builds upon the Rules module to provide maximum flexibility without hard­coding assumptions on potential business models.  

#d8rules ­ Support the Rules module for Drupal 8 7 / 16 

 

Proven to work by the Drupal Commerce framework, the Commerce Kickstart distribution and comparable solutions like Ubercart.  

An integrated ecosystem  The Rules module has been written to provide an essential part of the framework experience for Drupal developers and site builders. Similar to the reusable concepts of Fields & Views, it provides simple building blocks than can be combined in creative ways to accomplish solutions for Custom content workflows, Automated administration tasks, Powerful business logic for e­commerce solutions and many more.  The Rules module at its core is built upon Events, Conditions & Actions that site builders can use to react when something happens on the site and conditionally manipulate data or execute any logic that makes sense in that context. You may schedule tasks for the future and even perform recurring tasks on a regular basis.  Many Drupal modules specifically build upon the Rules module to provide additional functionality like Rules Link, Conditional Rules, Rules List Conditions, Rules Inline Conditions or the Rules Bonus Pack.  Rules integrations are provided for essential site building tools and subsystems: Entity, Fields, Views, Webform, Context, Features, Search API, Tokens, Paths, Menus, Queue or Field formatter conditions.  

More automation examples  Rules serves the need for automating processes like comment moderation, customizable e­mail notifications or event­based calculations on social platforms. These are built by using generic tools like Flag, Organic groups and message module. More specific solutions like Privatemsg, Feeds, Activity, User point or Voting rules also tightly integrate into the system.  Interacting with external web services is another field where configurable automation is key to success. Tools like Web service client module or fluxkraft allow integrating services like twitter and facebook with custom workflows on any Drupal site.  Besides that, Rules is also used for specifying optimized cache invalidation workflows using the the Cache Actions module or to help out with Multilingual workflows with the Translation Management Tools or Lingotek integrations.   

#d8rules ­ Support the Rules module for Drupal 8 8 / 16 

 

History & Resources  By 2014, the Rules module is at its peak of usage with over 200,000 reported installations and has gone through 3 major iterations: In 2007, Wolfgang Ziegler, a.k.a. fago created the initial version called Workflow­NG for Drupal 5. The Rules module first appeared for Drupal 6 and was entirely rewritten and enhanced for Drupal 7 as part of his master thesis in computer science. Working on the Rules module also shaped the Entity API contrib module, including fundamental Drupal 7 developer experience helpers like the EntityMetadataWrapper which is used by Search API and many other custom modules.  The Rules module has been featured in many places, including a large book and a small book, on­site DrupalCon trainings and online learning series, screencasts and even a famous Drupal event presentation by Amitaibu. 

#d8rules ­ Support the Rules module for Drupal 8 9 / 16 

 

Funding goal & project milestones  We have defined the tasks, budgeted the project and laid out a timeline to accomplish a feature­complete Rules 8.x release to be delivered by November 2014.  1048 projected hours of development and coordination overhead have been calculated by fago, klausi & dasjo. Our companies drunomics and epiqo can’t afford taking the bill for the entire project, but enable us to work on the project based on a community rate of € 45/h net cost.  This means we are looking for a 

 total funding goal of € 47,160.­ (~ $ 65,000.­) 

 to ship Rules 8.x by November 2014. 

We need to act now  The maintainers of the Rules module, fago & klausi, are busy working on their day jobs, working on Drupal 8 core and maintaining the Drupal 7 versions of their other contributed modules. Rules 7.x­2.x was mainly written during fago’s master thesis, a chance that we don’t have at the moment. If we don’t manage to provide funding, the Rules port will be delayed to an unknown future.   

 The above graphic illustrates the projected completion dates for Rules in Drupal 8. Funding would allow us to finish the project within 2014. Without the funding, a release of Rules 8.x can’t be expected in the near future.    

#d8rules ­ Support the Rules module for Drupal 8 10 / 16 

 

  

Rules 8.x port without funding  ○ An unknown release date somewhere in 

or beyond 2015  

○ An incomplete site building experience for Drupal 8 without the Rules module  

○ Drupal 8 Core Condition & Action APIs won’t get fixed  

○ Contributed modules will have to wait until they can port their integrations 

 

Rules 8.x port funded by April 2014  ✓ A determined schedule to ship a fully 

featured Rules release by November 2014  

✓ Faster uptake of Drupal 8 for all use cases that rely on the Rules module   

✓ Possibility to align core Condition & Action APIs with Rules requirements  

✓ Contributed modules can be ported quicker with Rules APIs in place 

 

  

How it will be done  The #d8rules team consists of  

● fago is the Rules and Drupal core Entity API maintainer ● klausi is the Rules co­maintainer and Drupal core RESTful services maintainer ● dasjo helps out with project management & community communication ● You! We are looking to expand the team with further members from the community. 

 We have decided gather funding for the Drupal 8 Rules port both on a private and public level. Entirely funding the project upfront is not possible, because development for Milestone 1 needs to start immediately. This means that we will first ask companies for supporting the Rules 8.x port and start a public crowd funding campaign during the next month before DrupalCon Austin.  Three Milestones lay out the project timeline from kick­off in April to delivering Rules 8.x by November 2014: 

#d8rules ­ Support the Rules module for Drupal 8 11 / 16 

 

Milestone 1: Drupal 8 core integration & Rules core engine (May to July 2014)  Goal: A beta for Drupal 8 core is just around the corner and in order to make sure that the core Conditions API & Context APIs fit the requirements of the Rules module, development has to start now!  Deliverables of Milestone 1:  

● Rules core engine & plug­in types (Services­based architecture, interfaces, tests)  ● Align Rules condition & action APIs with Drupal 8 core (Dynamic action parameters & 

context variables) ● Parameter configuration & Context mapping ● Parameter value processing logic (Data processor plug­ins & Input tokens) 

 Required funding: € 13,500.­  (~ $ 18,600.­)  

Milestone 2: Rules core API completion (July to August 2014)  Goal: After making sure that core APIs are in­line with the requirements of the Rules module, we need to make sure that the Rules APIs are ready early enough, so that all other contributed modules that get ported to Drupal 8 can port their Rules integrations right from the beginning.  Deliverables of Milestone 2:  

● Complete Rules engine features (Metadata assertions, logging service, developer docs) ● Rules plug­ins part two (Events, Loops, caching, recursion prevention, components API) ● Configuration management system support (config entity, CMI support, integrity checks & 

config schema) ● Generic rules integrations (Typed data & entity support) ● Entity token support 

 Required funding: € 15,660.­ (~ $ 21,600.­)  

#d8rules ­ Support the Rules module for Drupal 8 12 / 16 

 

Milestone 3: Rules 8.x release (September to November 2014)  Goal: Site builders will be able to start configuring workflows on their Drupal 8 sites from November 2014 on, when Rules 8.x will be released.  Deliverables of Milestone 3:  

● Rules UI (Rules settings and administration screens with Drupal 8 usability improvements) 

● Reusable UI components (Data selector, Typed data widgets and formatters, embeddable condition and action forms) 

● Rules scheduler ● Port existing Rules integrations (Comments, Nodes, Taxonomy, User, New entity types) 

 Required funding: € 18,000.­ (~ $ 24,815.­)  

#d8rules ­ Support the Rules module for Drupal 8 13 / 16 

 

Step 1: Private funding  We encourage you as Drupal agencies & corporations interested in the Rules 8.x port to help us reach the goal together. These are our donation packages and the included benefits:  

Donation  Name  Benefits 

€ 450 $ 650  (unlimited) 

Batch processor More than a day of Rules 8.x development in a batch. Thanks for sponsoring 10 hours of Rules 8.x development! 

● Name on the #d8rules initiative page, linked from d.o/project/rules page and README.txt 

€ 900 $ 1300  (max 10) 

Views bulk operators Your awesome sponsoring helps us operate on the bulks. Thanks for sponsoring 20 hours of Rules 8.x development! 

● Small Logo on the #d8rules initiative page, linked from d.o/project/rules page and README.txt 

€ 1800 $ 2600  (max 5) 

Crowd funding schedulers Thanks for an outstanding donation. Your donation is essential to plan ahead and schedule rules task in the right order. By the way, that’s an entire week of Rules 8.x development! 

● Medium Logo on the #d8rules initiative page, linked from d.o/project/rules page 

● Mentioned as Rules 8.x port sponsor in the README.txt 

€ 4500 $ 6500  (max 3) 

Reusable component providers 100 hours, that almost covers porting the entire Rules UI. For sure we can fit in making several UI components reusable, thanks to your incredible contribution! 

● Large Logo on the #d8rules initiative page, linked from d.o/project/rules page 

● Mentioned as Rules 8.x port sponsor in the README.txt 

● Listed as sponsor on the drupal.org/project/rules page 

● Mentioned in Rules 8.x milestone updates (3x) 

● Option to consume 2 hours of Rules consulting by one of the experts to the community rate of € 45,­ 

€ 7500+ $ 11,000+  (max 2) 

Rules core engineers There isn’t really a way to say thanks for this amount of support but to attribute you the name of Rules core engineers. Your support is what makes the Rules core engine happen. Thank you! 

● X­Large Logo on the #d8rules initiative page, linked from d.o/project/rules page 

● Mentioned as Rules 8.x port sponsor in the README.txt 

● Listed as sponsor on the drupal.org/project/rules page 

● Level 1 mention in Rules blog posts ● Mentioned in all bi­weekly Rules 8.x 

status updates ● Option to consume 4 hours of Rules 

consulting by one of the experts to the community rate of € 45,­ 

#d8rules ­ Support the Rules module for Drupal 8 14 / 16 

 

Billing  drunomics collects private funding via bank transfer (IBAN/SWIFT), does the project accounting and takes care of forwarding corresponding funds to epiqo. A regular invoice is provided that reflects the hours of development sponsored, according to the amount of money contributed. 

Step 2: Public funding  For the public funding to be launched in Mai 2014, we plan to add smaller donation packages with benefits for the wider audience of site builders, developers & other enthusiasts from the Drupal community. The following details aren’t set into stone, yet, but expect some of the following packages:  

Donation  Name  Benefits 

$ 10  Supporter  

● Any donation counts ­ thank you for your support! 

$ 20  Event dispatcher  

● Awesome! Even more help for #d8rules! 

$ 35  Trigger Thanks a lot for your trigger! 

● Thank you for your Trigger! A proper invoice is provided for donations above $ 35,­, 

$ 65  Ruler  

● You rule! The first 50 donations above $ 65 get a limited Ruler by laserbox!  

 

$ 90  Rules scheduler  

● Your donation makes sure that Rules 8.x remains on schedule for 2014! 

$ 150  Data selection guru  

● Outstanding! What would the Rules UI be without a re­usable data selector? 

$ 270  Plug­in manager  

● No words to say, but deep in the Rules engine your contribution will manifest as reusable plug­ins. Thank you! 

#d8rules ­ Support the Rules module for Drupal 8 15 / 16 

 

 

What’s next  Bi­weekly irc meetings & blog post status updates will ensure that everything is transparent and that the wider community may participate in porting Rules to Drupal 8.  

  

http://d8rules.org   

https://www.drupalfund.us/project/d8rules­support­rules­module­drupal­8     Thank you for your support, please get in touch with us:  

Wolfgang Ziegler / fago Rules and Drupal core  Entity maintainer [email protected]  http://twitter.com/the_real_fago  https://drupal.org/user/16747  

Klaus Purer / klausi Rules and Drupal core  REST maintainer [email protected] https://twitter.com/_klausi_  https://drupal.org/user/262198  

Josef Dabernig / dasjo Project management & communications [email protected]  http://twitter.com/dasjo  https://drupal.org/user/228295   

  

#d8rules ­ Support the Rules module for Drupal 8 16 / 16