Jump to content

Community

IPS Rules Application


Kevin Carwile

Recommended Posts

flowchart-md.thumb.png.097be100ac03989a1IPS Rules Application - A powerful rules engine for your IPS4 site

Download Rules "LITE" Version  -  Download Rules FULL Version

The Rules application makes it possible for you to create customized workflows, automation routines, manipulate content, send emails, create conversations, post content, manage members, apply filters, redirect pages, and generally perform any standard operation on your site… all in an automated way based on rules that you create for your site.

Notable Features

  • ·         Over 500 built in events, conditions, and actions for stock IPS products and contributed apps.
  • ·         Rule actions can be configured to happen in real time or at a future time.
  • ·         Schedule and unscheduled actions from inside of rules or manually through your ACP.
  • ·         Built in lists of “replacement tokens” for including variable data in text entry fields (like email content)
  • ·         Fully extensible by app and plugin developers to add new tokens, events, conditions, and actions.
  • ·         Look for Rules Expansion Packs in the marketplace which add new events/conditions/actions.
  • ·         Create your own custom actions within the rules app which can be invoked by rules.
  • ·         Create your own custom data fields for any entity on your site to manipulate with rules.
  • ·         Rules can be grouped together into rule groups and rule sets for easy management.
  • ·         Easily import and export rules and sets to share with friends or distribute as your own rule packs.
  • ·         Built-in rule debugging console for full visibility of what your rules are doing on your system.
  • ·         Built in rules error and performance logging console.

 

Link to comment
Share on other sites

Kevin this looks very useful and quite involved, which is why I am waiting to buy it until I see a few use cases that make sense for my forum. 

​No problem! I am confident that there will be many. There's all kinds of cool tricks you can do with rules. One of my favorites is to schedule an email to be sent to a member in 1 month, and for every time they log in, have rules reschedule that action for another month out which will replace the existing scheduled action for that member. Then if they don't log in for a month, they get a friendly email from you reminding them that you missed them on your site!

I look forward to hearing how others are using it. 

​Me too. Let me know if you ever have a "When, If, Then" need for your site and I'll whip you up a rule or two.

Link to comment
Share on other sites

flowchart-md.thumb.png.097be100ac03989a1IPS Rules Application - A powerful rules engine for your IPS4 site

Download Rules "LITE" Version  -  Download Rules FULL Version

The Rules application makes it possible for you to create customized workflows, automation routines, manipulate content, send emails, create conversations, post content, manage members, apply filters, redirect pages, and generally perform any standard operation on your site… all in an automated way based on rules that you create for your site.

Notable Features

  • ·         Over 500 built in events, conditions, and actions for stock IPS products and contributed apps.
  • ·         Rule actions can be configured to happen in real time or at a future time.
  • ·         Schedule and unscheduled actions from inside of rules or manually through your ACP.
  • ·         Built in lists of “replacement tokens” for including variable data in text entry fields (like email content)
  • ·         Fully extensible by app and plugin developers to add new tokens, events, conditions, and actions.
  • ·         Look for Rules Expansion Packs in the marketplace which add new events/conditions/actions.
  • ·         Create your own custom actions within the rules app which can be invoked by rules.
  • ·         Create your own custom data fields for any entity on your site to manipulate with rules.
  • ·         Rules can be grouped together into rule groups and rule sets for easy management.
  • ·         Easily import and export rules and sets to share with friends or distribute as your own rule packs.
  • ·         Built-in rule debugging console for full visibility of what your rules are doing on your system.
  • ·         Built in rules error and performance logging console.

 

​Not too sure if i understand it but would it let me to set rules like..

 

if member is in group "ELITE" it would let the member change user title.. no?

Link to comment
Share on other sites

I bought it, it looks extremely beneficial with many usages available (to many to list). I think it could do with a few example rule sets already implemented though, I have many that I could think off but I'll have a play around and see what I can do myself and what I may need assistance with.

​I've got a Starter Rule Pack available in the marketplace that you can use for examples. Make sure to let me know of any other ideas you have that you'd like to see included in the starter pack and I'll whip them up!

Link to comment
Share on other sites

Thanks @Kevin Carwile - I downloaded that earlier but I see it's been updated, I'll have a look at that.

Just a couple of questions really, if I have pips on 3.4 is it possible to create a rule set, where the post count is reach but if the required rep isn't reached then increase is not counted (i.e. not moved up a pip rank) and vice versa, if post/rep is reached "pip" increase is allowed?

Is this rule set purely set on "core" product or can 3rd party applications be included for rule sets? I have so many automation thoughts running through my head.

Link to comment
Share on other sites

Just a couple of questions really, if I have pips on 3.4 is it possible to create a rule set, where the post count is reach but if the required rep isn't reached then increase is not counted (i.e. not moved up a pip rank) and vice versa, if post/rep is reached "pip" increase is allowed?

​The problem with core IPS pips is that they are not saved anywhere for members individually, and are manifested using on the fly calculations. In order to control them conditionally, a rule would need to be inserted into the calculation every time a pip displays on the page. It's not an ideal application for rules.

But that doesn't mean you can't get the job done with rules. You could use rules to either supplement or even replace the core pips feature entirely with your own. Here's one way to do it:

  1. Create a new integer field attached to members via the rules ACP, and call it "Pips Rank" or something.
  2. Create a custom action in rules and call it "Update pips rank", or something to that effect. Create a single argument for the action... a member object.
  3. Create a rule set to contain your rules for this particular functionality, call it "Custom Pips System", etc.
  4. Add a rule to the "custom pips system" that is triggered when new content is created. Add an action to that rule that triggers your custom action: "Update pips rank".
  5. Add another rule to the "custom pips system" that is triggered when reputation is given. Add an action to that rule that triggers your custom action: "Update pips rank".
  6. Now add a rule to the "custom pips system" that is evaluated when you trigger your custom action: "Update pips rank". Let's call it "Update member to the appropriate pip rank".

At this point, you now have a custom action that is being triggered every time someone either makes a new post, or receives reputation on your system. You have also created a rule that is going to be evaluated when that custom action is triggered. All that's left is to create a rule group that saves the appropriate value to the "Pips Rank" integer field for the member based on your own criteria.

Example sub-rules (for your "Update member to the appropriate pip rank" rule):

Subrule #1

IF: Member has at least 50 posts {AND} Member has at least 10 reputation points
THEN: Update "custom pips" data field to 1, Update member title to "Level 1 Guru"

 Subrule #2

IF: Member has at least 100 posts {AND} Member has at least 20 reputation points
THEN: Update "custom pips" data field to 2, Update member title to "Level 2 Guru"

Etc, etc.

Conclusion

There you have it. That's a complete replacement system for the IPS member rank system. In the end, it consists of a: custom data field, custom action, two rules, and a rule group to control the pips promotions.

The last piece of the puzzle is how to actually display your "Pips Rank" on the front end. That would require a small theme template edit. You could add the following template code anywhere you wanted to display the pips ( assuming the $member object is available in the template ).

{expression="str_repeat( '<span class=\'ipsPip\'></span>', intval( $member->getRulesData( 'pips_rank' ) ) )"}

 

I've taken the liberty to create this system in rules and I've uploaded it to the marketplace. Feel free to download it from there.

Download Member Pip Ranks System

Link to comment
Share on other sites

Is this rule set purely set on "core" product or can 3rd party applications be included for rule sets? I have so many automation thoughts running through my head.

​ECA's = Events, Conditions, Actions

I've built the rules framework to be entirely extensible by 3rd party applications. Rules includes "core" ECA's for things that all apps will have in common, but any specialty ECA's for 3rd party apps can be provided as an IPS extension to my rules app right inside the 3rd party app. And if the 3rd party app developer doesn't want to include ECA definitions for compatibility with rules, then myself or another developer could easily create an expansion plugin specifically for that 3rd party app to add ECA's to rules. Either way is fairly easy with the framework I've built.

Note For Developers: If you want to add any rules ECA's to your app ( beyond what rules will already provide ) and give users greater power over your app, then all you need to do is add a rules extension to your app from the developer center (you must first have the rules app installed to your dev site). The extension template that is added to your app will be well documented. I will also provide additional standalone documentation very soon.

Link to comment
Share on other sites

How about the following scenario:

  • If a specific user responds to a question in a specific Q&A forum, that answer will be marked as the best answer and the question will be locked.

Would that be possible? :)

It would be neat for "Ask Me Anything" events or other similar Q&As!

Edited by Vikestart
Link to comment
Share on other sites

Also, I see that there's a rule event when a Member receives reputation points.

Would it be possible to add a rule event for when a Member gives out reputation points? :D

Something like being able to spawn an inline message saying how many likes you have left to hand out today would be neat!

Link to comment
Share on other sites

Also, I see that there's a rule event when a Member receives reputation points.

Would it be possible to add a rule event for when a Member gives out reputation points? :D

Something like being able to spawn an inline message saying how many likes you have left to hand out today would be neat!

The event is the same for both. When a member receives reputation, then the member who gave that reputation is also available as data in that event. You can create rules that operate on both the giver and/or receiver of the reputation.

Link to comment
Share on other sites

Look for added actions to set/unset best answers in the next version of the forums expansion pack. It currently only has the event available to act on.

Thanks :) Yeah, I bought that expansion pack. 

The event is the same for both. When a member receives reputation, then the member who gave that reputation is also available as data in that event. You can create rules that operate on both the giver and/or receiver of the reputation.

​Ah, I see. Clever :D I'm still trying to wrap my mind around this very complicated, but awesome mod app.

Thanks again! Keep up the great work.

Link to comment
Share on other sites

​Ah, I see. Clever :D I'm still trying to wrap my mind around this very complicated, but awesome mod app.

Thanks again! Keep up the great work.

Ew, dont say complicated... say versatile, or flexible, or extensible, or powerful, or advanced, or robust.:) 

But not complicated!

Although I know what you mean. Creating rules are like creating little programs.

But the exciting part is that you can now tie apps and site activities together in new ways that were never imagined before.

So make sure to share with us whatever else you are doing with rules so we can all partake!

 

Link to comment
Share on other sites

Indeed. :P

I can't get the "Display Inline Message" action to work though. Nothing happens. >_<

It's supposed to be a message in a semi-transparent black box that appears near the top of the screen, right?

Here's my setup. Trigger is when Member receives reputation and there are no conditions.

tejrtekrk.thumb.png.0e86cad2d9cfc50c9951

Edited by Vikestart
Link to comment
Share on other sites

That's correct. You can't set a whole topic as a best answer. You have to set a specific post (topic comment) as the best answer. Rules knows this so the only selectable option in the event to set as the best answer is "The created/updated Topic Comment".

By the way, I would also add another condition into your rule that checks if a best answer is NOT already set before you set the best answer and lock it. This way once a best answer is set, it won't be set again automatically.

 auto-resolve-qa-for-amas-revised.xml

Edited by Kevin Carwile
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy