{"componentChunkName":"component---src-templates-talk-tsx","path":"/speaking/109-getting-rules-ported-to-drupal-8-with-josef-dabernig-klaus-purer-and-wolfgang-ziegler","result":{"data":{"airtable":{"data":{"title":"109 Getting Rules Ported to Drupal 8 with Josef Dabernig, Klaus Purer and Wolfgang Ziegler","date":"2014-05-21","notes":{"childMarkdownRemark":{"html":"<p>We spoke about the #d8rules initiative on the Modules Unraveled Podcast</p>\n<ul>\n<li>\n<p>For those new to Drupal, what is the Rules module?</p>\n<ul>\n<li>Intro Rules: events, conditions, actions</li>\n<li>Programming for site builders</li>\n<li>Giving workflows into the hands of the site builders, workflow building blocks like Lego</li>\n</ul>\n</li>\n<li>\n<p>The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules).\nExample use cases\nBuild flexible content publishing workflows changes\nSend customized mails to notify your users about important updates\nCreate custom redirections, system messages, breadcrumbs, ...\nBuild an e-commerce store using Drupal Commerce\nAnd many more…\nRules 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.\nUse case: Automating processes\nRules 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.\nWhat is the Rules module, explain some use cases &#x26; tell us about the rules success story\n<a href=\"http://d8rules.org/content/rules-success-story\">http://d8rules.org/content/rules-success-story</a></p>\n<h2><strong>Drupal 8</strong></h2>\n</li>\n<li>In the last episode, Crell mentioned that because of the advances in D8, there may not be a need for the Rules module. So, I told him that I would ask you guys for a response to that.</li>\n<li>What Drupal 8 Stuff are you building upon?\nEntity API\nOut-of-the-box typed data support for all fields, i.e. including custom content entity types\nTyped Data API\nThe Typed Data API was created to provide developers with a consistent way of interacting with data in different ways. Not only does the API allow you to interact with the actual data, it also provides means of fetching more information, or metadata, about the actual data.\nThe Typed Data API is a low level, generic and reusable object oriented API. One API that implements it is the Entity API - Drupal’s primary data model.\n-> Unification of metadata systems of Drupal 7.\nConditions &#x26; Actions\nWe've got an Actions and Conditions API in core already, so one might think another huge part has been taken care off. Unfortunately, no - those APIs have been created/ported with other use cases in mind, so they do not cater for all the more advanced features Rules users are used to.\nWhile I tried to make sure they fit Rules needs as far as possible when they were introduced/updated, they do not fit our needs yet and it might be impossible to make them fit without breaking those APIs. For Rules 8.x we plan to work on improving those APIs (from contrib) as needed first, so we can ensure they fit Rules' requirements.\nOnce we are sure everything works out we'll know what we have to adapt and whether improvements can be contributed to core.\nDepending on how that works out, we'll see whether we can build up on the core Action and Conditions API or there will be Rules' variants of those APIs (again :(). For more details please see the related issues:\nRules 8.x Architecture\nRules 8.x Roadmap\nMotivation behind Rules in Drupal 8\nFeatures\n<a href=\"http://d8rules.org/content/overview-rules-8x-features\">http://d8rules.org/content/overview-rules-8x-features</a>\nPorting Rules to Drupal 8 will require a major refactoring of the framework. The Rules Core APIs &#x26; functionality will evolve and Drupal 8 rewrite opportunities will be taken into account.\nSite building based on Drupal 8 core integration wins\nAdmin UI usability improvements\nSimple Views Bulk operations in core\nReusable components\nPlug-in based architecture &#x26; fully object-oriented code\nRules data selector for tokens, contexts and other use cases\nTyped data widgets &#x26; formatters\nEmbeddable Rules UI components to integrate actions &#x26; conditions\nEvolved developer experience\nUnified DX based on Drupal 8 plug-in system\nSymfony 2 event system integration\nDeployable config via CMI\nFunding, milestones, Corporate &#x26; crowdfunding - how will that work out?\n<a href=\"http://test-d8rules.gotpantheon.com/content/funding-goal-project-milestones\">http://test-d8rules.gotpantheon.com/content/funding-goal-project-milestones</a>\n- sponsorship by company\n- crowd funding\n- What happens if the funding does not succeed?\nHow &#x26; who\n<a href=\"http://test-d8rules.gotpantheon.com/team\">http://test-d8rules.gotpantheon.com/team</a>\n- fago, klausi, dasjo, nico\ncrowd funding is live now - drupalfund.us!!!\nWho supports you already?\nsee <a href=\"http://d8rules.org/supporters\">http://d8rules.org/supporters</a>\nWhy should we help now?</li>\n</ul>\n<h2><strong>Questions from Twitter</strong></h2>\n<ul>\n<li>[Ruben Teijeiro][1]</li>\n<li>\n<p>When Rules in #Drupal Core? #MUP109 [d8rules][2]</p>\n<p>[1]: <a href=\"http://twitter.com/rteijeiro\">http://twitter.com/rteijeiro</a>\n[2]: <a href=\"http://twitter.com/d8rules\">http://twitter.com/d8rules</a></p>\n</li>\n</ul>"}},"link":"http://modulesunraveled.com/podcast/109-getting-rules-ported-drupal-8-josef-dabernig-klaus-purer-and-wolfgang-ziegler-modules","recording":"https://www.youtube.com/watch?v=Dg_F3lQsMew","slides":null,"organisation":[{"data":{"title":"Modules Unraveled Podcast"}},{"data":{"title":"#d8rules"}}],"tags":[{"data":{"name":"Podcast participant"}},{"data":{"name":"Open Source"}},{"data":{"name":"Drupal"}},{"data":{"name":"Community"}}]}}},"pageContext":{"slug":"109-getting-rules-ported-to-drupal-8-with-josef-dabernig-klaus-purer-and-wolfgang-ziegler"}}}