Project information
Project page on drupal.org: http://drupal.org/project/rules_optimization
Student: Saubhagya Maheshwari (saubhagya)
Mentor: Klaus Purer (klausi)
Co-mentor: Wolfgang Ziegler (fago)
Current status: Working on further optimization for event sets.
Description
Currently Rules module works upon ECA (event-condition-action) methodology. The proposal is about changing the way how condition is evaluated in large rule sets by employing decision tree structure, which will give optimal performance.
Discussion: http://groups.drupal.org/node/58283
Updates and discussion
Every Friday 14:00 UTC there is a XMPP/Jabber groupchat at rules-gsoc@conference.fsinf.at. You are invited to join the discussion (join here with your web browser).
External links
Project repository on github
General Structure of the decision tree to be implemented (https://docs.google.com/drawings/edit?id=14j2jn7JxkET4pXFX03VmfiSgK6eaSD...)
Optimization benchmark: speedup in execution of rules (https://spreadsheets.google.com/ccc?key=0AiYGPXxlvBfIdDQ0OXl6a05jYi1xRkZ...)
Project schedule
The main coding part will start in first week of June because my summer holidays will start then. This is initial schedule. This will be updated as SoC progresses.
May 24: Community Bonding Period
Email my Student Foreign Certification and Proof of Enrollment to GoogleObtain CVS account on drupal.orgCreate d.o project (how-to: create, maintain)IRC/VoIP meeting with mentorsThink and talk about the technical implementation of the targeted idea (http://drupal.org/node/801076)
June 10: To develop a patch for Rules 2.x for integration
Discussion about the subject (http://drupal.org/node/810770).Developing the patch and submitting it to the above mentioned issue queue.
July 31: To develop rules_optimization for optimizing rules event sets
Developing .info, .rules.inc files and nearly empty .module file for the module.Converting rules' ORs into ANDs (http://drupal.org/node/830394)Providing Rules integration (http://drupal.org/node/837642)Insertion of converted Rules into decision tree (http://drupal.org/node/834954)Execute the decision tree on event.Providing simpletests for optimized event setsOptimizing same type of conditions' evaluation (http://drupal.org/node/859554)Overriding necessary methods of RulesPlugin in TreeNode