Jump to content

Community

IPS Rules Application


Kevin Carwile

Recommended Posts

Hi @Kevin Carwile

We are desperately trying to remove the need to join a collaboration so that it is auto join without having to make a request etc. I was hoping to establish this with ECA's for Rules by 

Event: Collab is being Viewed
Condition: Member is not currently a member of collab
Action: Add as member of collab

Or something similar. Is there anyway you could make the addition to GC on a per category basis so we can disable the need to join at all and that all members auto join on visiting the collar for instance or build the additional ECA's into Rules to allow this to happen as above for example.

Any thoughts?

Thanks

Link to comment
Share on other sites

Just by viewing a collab you become a member?

Ok, well... as you said, that should be possible with rules after I am able to add those actions to the ECA set that ships with GC. I only added the events to the latest release due to time constraint. Actions will be included in the next.

But you realize that if you set the group membership setting of the collab to be open without approval, anybody can join the collab just by clicking the join button. At that point, they automatically become an active member.

Link to comment
Share on other sites

Just by viewing a collab you become a member?

Ok, well... as you said, that should be possible with rules after I am able to add those actions to the ECA set that ships with GC. I only added the events to the latest release due to time constraint. Actions will be included in the next.

But you realize that if you set the group membership setting of the collab to be open without approval, anybody can join the collab just by clicking the join button. At that point, they automatically become an active member.

​Hi Kevin

Yes I get that they can simply join by hitting the join button and that is as we have it set up now but it is not obvious they need to join for example and when accessing via tapatalk it simply delivers a permission denied message if they try posting because collabs come up in VNC even if the member is not a member. I understand you said you were looking to enhance the VNC for collabs in the fullness of time but we would still want the flexibility of determining if content from a collab category should show in VNC if member has or has not joined the collab for instance so we can customise it perfectly with as much flexibility on a collab category basis.

In terms of the requirement to join without approval, that would work as would invites and approvals dependant upon the use, for example we are just about to introduce a clubs & hobbies collaboration category where the requirement to join would actually be perfect for however we have used a different category to segregate off certain aspects of our main forum to give a bespoke layout for those content areas so that category is actually part of the main forum, it is now just so much better with the flexibility GC brings however we want the membership of those to be seamless so I guess join on view with a not condition of if already a member of that collab as I could then add the conditions of if in a specific category and if in a specific group for example.

It would really work well for one aspect of our site. 

Hope that makes sense and thank you for your response.

Thanks

 

Link to comment
Share on other sites

They are both amazing pieces of kit @Kevin Carwile and you deserve an enormous amount of credit for both of them, they have absolutely transformed the way we use IPB4 and for me IPB should pay you a significant amount of money and incorporate these into the core so you can retire to a desert island and live the dream .... in the meantime I thank you for your flexibility in developing both applications. I have let you a review on the GC application back on the 29th April but it is still showing as hidden and not yet approved. Not sure who approves them, you or IPB but its there pending somebody seeing it :lol: 

Link to comment
Share on other sites

In 3x, I used to create loads of conditional statements like if this member then this action, or if member viewing is in this group then this action, or if a member is viewing content by this member ID/name then this action, and etc. I see that you have member conditions in IPS Rules.  First, can this application perform conditions as mentioned and even more?  Secondly, do the rules apply to specified pages and/or all pages?

Link to comment
Share on other sites

In 3x, I used to create loads of conditional statements like if this member then this action, or if member viewing is in this group then this action, or if a member is viewing content by this member ID/name then this action, and etc. I see that you have member conditions in IPS Rules.  First, can this application perform conditions as mentioned and even more?  Secondly, do the rules apply to specified pages and/or all pages?

Yes to everything you said.

It works on the ECA (Events, Conditions, Actions) design principle. So I guess you could say conditions is its middle name.

Link to comment
Share on other sites

Yes to everything you said.

It works on the ECA (Events, Conditions, Actions) design principle. So I guess you could say conditions is its middle name.

​Hehe, clever!  :lol:

Thanks for replying.  So lets say I have a set condition that I want in the profile page that will replace the original template for specific members.  Is it possible to do?  I am considering the full version, but I want to make sure the app fits my needs before taking the plunge.

Link to comment
Share on other sites

So lets say I have a set condition that I want in the profile page that will replace the original template for specific members.  Is it possible to do?  I am considering the full version, but I want to make sure the app fits my needs before taking the plunge.

Not with rules. What you are describing is not any sort of workflow automation, it is theme switching. To do what you are describing will take modifications that operate on the theme layer. Rules provides automation tools for manipulating the data processing layer.

There is a Rules Lite version of the application in the marketplace which is FREE. It's an excellent way to push buttons before you take any plunges.

Link to comment
Share on other sites

Not with rules. What you are describing is not any sort of workflow automation, it is theme switching. To do what you are describing will take modifications that operate on the theme layer. Rules provides automation tools for manipulating the data processing layer.

There is a Rules Lite version of the application in the marketplace which is FREE. It's an excellent way to push buttons before you take any plunges.

​It's ok.  I can do the template edits.  It's just a matter of adjusting to IPB 4 vs 3x conditional syntax.  :lol:

I still have many uses for IPS Rules for automating data stuff.  One of the things I'm looking at is member incentives through rep integration using IPS Rules.  I'm also interested in the Commerce suggestion earlier in the thread.

Link to comment
Share on other sites

You don't need anything fancy to accomplish that. Just use these settings:

  • Event: Topic has been moved
  • Conditions:
    • Topic is in certain forums
    • (optional) Member is in a certain member group (to prevent members in other groups from being changed)
  • Actions:
    • Change the primary group of a member

 change-author-group-on-topic-move.xml

Edited by Kevin Carwile
Link to comment
Share on other sites

Is it possible so when user signs in for first time they are redirected to edit profile I've been trying with no luck 

​Rule: Redirect new members to edit profile

  • Event: Member logged in to system
  • Conditions:
    • Member attribute values (Member has joined within the last 24 hours)
  • Actions:
    • Redirect to another page (Redirect to the members profile edit page)

 redirect-new-members-to-edit-profile.xml

Link to comment
Share on other sites

​Rule: Redirect new members to edit profile

  • Event: Member logged in to system
  • Conditions:
    • Member attribute values (Member has joined within the last 24 hours)
  • Actions:
    • Redirect to another page (Redirect to the members profile edit page)

 redirect-new-members-to-edit-profile.xml

​I noticed that a PHP redirect works, but not a direct URL?

Another question. :lol:  Sometimes new members don't log in immediately.  If I were to set the time for a month, will the rule that a member logged in for the first time still apply?  Assuming that the new member logged in within that month. :tongue:

Ok, one more question. :tongue:  Is there a way to disable Rules?

Edited by GrooveOnBeat
Link to comment
Share on other sites

​I noticed that a PHP redirect works, but not a direct URL?

Not sure what you mean here. The action will redirect to any url you give it.

Another question. :lol:  Sometimes new members don't log in immediately.  If I were to set the time for a month, will the rule that a member logged in for the first time still apply?  Assuming that the new member logged in within that month. :tongue:

The way I set that rule up is pretty basic. It redirects on login if the member was registered within the last 24 hours... regardless of the number of times they have logged in. If you want to only redirect one time and one time only, you will need a slightly more advanced rule which tracks if the redirect has been done for them yet.​

Ok, one more question. :tongue:  Is there a way to disable Rules?

Yeah. Each rule has the enable/disable button on it. Just click it to enable/disable.

Link to comment
Share on other sites

 I must say this is a pretty fun mod to play around with. :smile:

Not sure what you mean here. The action will redirect to any url you give it.

​Whenever I manually configure the redirected URL the action doesn't work.  I stay on whatever page I logged in.  Maybe it's because I'm using FURL's?  Also, I get this error below when I go back to edit the action that was manually configured.  I have to delete and redo the action.  It doesn't happen when I use PHP redirects.

ScOW5u4.jpg

If using PHP, instead of the "return" function is it also acceptable to use "header"?

header("Location: http://www.redirect-url-here.com");
exit();

The way I set that rule up is pretty basic. It redirects on login if the member was registered within the last 24 hours... regardless of the number of times they have logged in. If you want to only redirect one time and one time only, you will need a slightly more advanced rule which tracks if the redirect has been done for them yet.​

I like simple. :smile:  ​I'll need to play with it more then.  What I want to do is a one time event which takes place the first time a member logs in.  Either I'm messing up on the logic side, or that my conditions are off. :lol:  It's like I'm missing that key piece.  Maybe an attribute of less than 1 time:

Member has joined, member has logged in, member has logged in < 1 time, redirect to URL

Update: I think I got it. :) I used the "Number value", set the comparison type to 1 less than 2, data used Member that logged in, Source set to 1

Yeah. Each rule has the enable/disable button on it. Just click it to enable/disable.

​Silly me.  I didn't even check to see that the green "ENABLED" toggles enable/disable.  Thanks!  :tongue:

Edited by GrooveOnBeat
Link to comment
Share on other sites

Feature request:

  • Allow to add by group for "Manual configuration", and not just by invidual members. For instance, create a new member notification for all members of the specified groups. :)

​Instead of manual configuration to select individual members, choose PHP Code and select all members from a particular group:

$group_id = 1; // Change to ID of member group to select
return iterator_to_array( \IPS\Db::i()->select( 'member_id', 'core_members', array( 'member_group_id=?', $group_id ) ) );

 

Link to comment
Share on other sites

@GrooveOnBeat,

The EX2 error turned out to be a bug. It's been corrected in the latest release. Go grab that.

As far as the conditions to check if the member has logged in only 1 time, there is not a login counter built into IPS core that you can check with a condition, so in order to accomplish this you will have to create your own counter. That is why the configuration gets a little more complicated, but just by a little.

  1. Add a custom "integer" data field attached to member via rules ACP
  2. Create a rule that is triggered when a member logs in. In the rule, add an action that increments the custom data field you created in step 1.
  3. Then in your other rule which does the redirect, you can check this custom data field to check if the counter is under your threshold of logins.
Link to comment
Share on other sites

@GrooveOnBeat,

The EX2 error turned out to be a bug. It's been corrected in the latest release. Go grab that.

​Whatever you did, the manually configured URL works and error has been corrected.  Thanks! :lol:

@As far as the conditions to check if the member has logged in only 1 time, there is not a login counter built into IPS core that you can check with a condition, so in order to accomplish this you will have to create your own counter. That is why the configuration gets a little more complicated, but just by a little.

  1. Add a custom "integer" data field attached to member via rules ACP
  2. Create a rule that is triggered when a member logs in. In the rule, add an action that increments the custom data field you created in step 1.
  3. Then in your other rule which does the redirect, you can check this custom data field to check if the counter is under your threshold of logins.

​I wondered whether IPS had a login counter.  Ok, I'll play around with configuring such a rule using the integer data field.

For the meantime I was playing around with a simple login redirect to the Calendar.  With a rule that a Member is logged in, I created another rule (Boolean) of true with a 1 is less than 2.  The threshold value is set to 1.

On a test account with more than 1 login sessions, when I set the rule to less than 1, I do not get redirected when I log in.  However when I set the rule to greater than 1, I get redirected to Calendar when I log in.  Both results were correct. :smile:  If IPS does not have a login counter, or some method to know whether a member has logged in or not, the rules should not have worked, but they did.  How is that possible?

 

Edited by GrooveOnBeat
Link to comment
Share on other sites

On a test account with more than 1 login sessions, when I set the rule to less than 1, I do not get redirected when I log in.  However when I set the rule to greater than 1, I get redirected to Calendar when I log in.  Both results were correct.

:smile:

  If IPS does not have a login counter, or some method to know whether a member has logged in or not, the rules should not have worked, but they did.  How is that possible?

​My head just spun around on my shoulders. I have no idea what kind of rule you configured. PM me regarding this issue and include an exported version of your rule so I can check out what you've got going on.

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