• No results found

#d8rules - Support the Rules module for Drupal 8

N/A
N/A
Protected

Academic year: 2021

Share "#d8rules - Support the Rules module for Drupal 8"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

#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 

(2)

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.    

(3)

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   

(4)

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 

(5)

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. 

(6)

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. 

 

(7)

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. 

(8)

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.   

(9)

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. 

(10)

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. 

(11)

   

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: 

(12)

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.­)   

(13)

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.­)   

(14)

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,­ 

(15)

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! 

(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  

   

References

Related documents

This multi-layer approach has been justified by showing that with enough hidden units and correct initialization, increasing the number of layers improves the lower bound of the

(The one exception to this is when the District has scheduled a medical examination with a Qualified Medical Examiner for an injured employee, in which case the employee is paid

Nademanee et al. 9) used intravenous ibutilide to highlight CFAE associated with perpetuating AF after CFAE ablation, if the patient remained in AF despite the elimination of

“But why do millions of people pay so much money to watch other people play?” Sports are good business?. A winning team can make millions

you can watch our 7:00 am Spanish Mass or 8:30 am English Mass via Zoom or on our Facebook page, then come to receive communion.. in the Plaza from 2:00pm-3:00pm in front of

The purpose of this performance is to allow learners to demonstrate their performance and musical skills on either two selected instruments, or on a selected instrument and voice,

Change in face ratings for faces paired with CT touch and Control touch were compared to the change in ratings produced for the four most neutrally rated faces not used during

For example, the California Consortium for Agricultural Export regional center covers the nine rural counties of cen- tral California; the Golden Rainbow Freedom Fund embraces