Popular Content

Showing content with the highest reputation since 04/12/2015 in all areas

  1. 3 points
    Here is the game plan. There are a series of additional apps that I have in mind that will build on the base application, each providing a new layer to the overall economy. Those would be: * Assets * Investments * Marketplace * Lotteries Each will build on each other. Stock-market would fall under the domain of investments. The concept being that an asset can be created whose value is then tied to fluctuating variables. Once assets have been engineered, then investments can begin.
  2. 3 points
    In this tutorial, we'll be creating a system that will move "inactive" members to a different member group if they haven't participated in the community for a given period of time. Ingredients: 1 Custom Action 1 Rule Step 1: Create a custom action in rules. Call it "Deactivate inactive member". After creating this custom action, add an action argument to it that will accept a member. Argument Name: "Member", Description: "Member to deactivate", Argument Type: "Object", Value Type: "Any Member ( \IPS\Member )", Required: Yes Step 2: Create a new rule. Use the "Deactivate inactive member" custom action as the rule trigger event. Call it "Deactivate members if they have been inactive". Once you have created the rule, you will need to add a condition to the rule which checks if the member actually meets the criteria for being "inactive". One way to do this would be to add a condition which checks "Member attribute values". Call it "Member last activity within the time period". Select "Last Activity" as the attribute to check, then choose the "within the last" option, and set the time period to an appropriate value such as 3 months. The "Member To Check" should be set to the argument from the custom action "Member to deactivate". Since this condition will check if the member HAS been active within the time period, make sure to check the "NOT" option for the condition so it is only true when they have not been active. Save the condition. You may wish to add other conditions as you see fit. Add an action to this rule which will be taken when the rule conditions are met. Select the "Change the primary group of a member" action. Call it "Move member to new group". Select a new group to move the member to and for the "Member To Change Primary Group For", choose the "Member to deactivate" event argument. Step 3: Schedule the custom action on a recurring basis. Go to "Custom Actions" in your rules ACP. Click the dropdown menu for "Deactivate inactive member" and choose "Schedule Manually". Choose "Recurring" for the action frequency. Choose an appropriate time period between scheduled runs, such as 7 days. Since you will want this action to be applied to all members in the community, choose "Member" as the bulk process option. Save the form. That's it! Enjoy this recipe. deactivate-members-who-have-been-inactive.xml
  3. 2 points
    This is not a suggestion nor a bug report, but an off-topic observation on your most recent statement on the IPS forums: https://invisionpower.com/forums/topic/429326-ibeconomy/?do=findComment&comment=2636520 IPS as a company isn't very good at community-building, and the third-party developers aren't very good at community-building. But that doesn't mean the community itself doesn't need or want the kind of leadership in collaboration that your apps provide.
  4. 2 points
    It is fairly common to have an action or set of actions that you would like to perform on a piece of content (or member) only after a certain amount of time has elapsed between particular events. For example, you might want to: Close a topic automatically a certain amount of time after it was created. Move a topic to a different forum if it hasn't been posted in for a certain amount of time. Send members a polite follow up email if they haven't logged in for a specified period of time. There is a simple pattern that you can use in all of these cases, which isn't so obvious to those that are new to rules, but is very easy to implement once you understand how it works. Why does this work? It's in the keyphrase. Let's take a look at example #2 above. We want to move the topic if it hasn't been posted in for 3 weeks. So what we do is to create an action to move the topic to the new location, and schedule that action for 3 weeks in the future instead of executing it immediately. This way each time a post is made in the topic, the move gets rescheduled. It's important to use a keyphrase that will be unique to that topic, so we must include a token in the keyphrase such as the topic id. It could look something like this: "Move topic [content:id] to graveyard". Of course, the token that corresponds to the id of what you are trying to move will depend on the event that you are writing your rule for, so make sure to look at the tokens list to see which token corresponds to your content id. But the concept is pretty simple. With every post, we assume that it is going to be the last post that happens... and we schedule the future action for the set amount of time in the future. If another person posts in the topic, we simply schedule the future action again which removes any previously scheduled follow up action with the same keyphrase, and sets in motion the new follow up action. This way the only follow up action that is in motion for the topic is the one which was scheduled after the last time the chosen event occured (in this case, it's when a topic comment is posted). If no qualified event happens within the timeframe between the last action and the follow up action which causes the follow up to be rescheduled, then the follow up action executes and the cycle ends.
  5. 2 points
    Raffles are something I've been pondering writing as an add-on for collabs (with specific collab awareness). I might tie it into the Points Economy system Kevin has written as well. Would something involving points be something you were interested in as well?
  6. 2 points
    Yes. That has been sorely needed.
  7. 2 points
    Using version 1.0.5 or higher: {{if \IPS\Member::loggedIn()->hasBalance( $currency_id, $bank_id )}} {expression="\IPS\Member::loggedIn()->balance( $currency_id, $bank_id )->display( 'amount' )"} {{endif}}
  8. 2 points
    Hi ! It would be great if Points Economy could show a leaderboard of users based on balance or points history. It could be a widget such as "My Balance". Thanks
  9. 2 points
    The following api method can be used to obtain the net worth value of a member for a particular currency. Get A Member's Net Worth class \IPS\points\Currency /** * Get net worth as of a certain date/time * * @param \IPS\DateTime $date The date/time to retrieve the balance for * @param \IPS\Member $member The member to retrieve the balance for * @return int|float */ public function netWorthAsOf( \IPS\DateTime $date=NULL, \IPS\Member $member=NULL ); Example: /* Load a currency */ $currency = \IPS\points\Currency::load( 1 ); /* Load a member */ $member = \IPS\Member::load( 1 ); /* Get the current net worth of the member for the currency */ $worth = $currency->netWorthAsOf( new \IPS\DateTime( 'now' ), $member );
  10. 2 points
    Awesome, thanks Kevin (and Michael for helping)
  11. 2 points
    So like a customizable application form to go with the join request? Or like a test.
  12. 2 points
    So I just had my very first member join a collab on my board. Very exciting! (Actually I told her to join ... ). When I was activating her membership though, I almost completely missed over the inline notification. My suggestion is to show a warning / announcement on the homepage of the collab to the collab's leaders of unapproved members / unapproved content / flagged content, etc. This will be a much more visual reminder that there's stuff to be taken care of.
  13. 2 points
    Yeah like a red or yellow warning icon that there's unapproved content, new members, changes to the collab, etc.
  14. 2 points
    +1 for this - it would make collab leaders clear it up to get rid of the message - nice red banner to really annoy them
  15. 2 points
    This started out as a single suggestion but I wanted to widen the perspective to the broader topic of content discovery in GC. I personally find it's difficult to discover and immediately attain new content, and wanted to provide feedback at each level of the app for your consideration and thought. Overall Navigation For me, I first navigate to my list of collabs from my Menu. I then enter the collab, then click on a forum board, then click on the topic. That's at least 4 clicks to get to any real content. That's a lot of clicks for me even as an admin, and I'm kind of beholden to navigating everywhere if I need to accomplish something! That many clicks for a member dramatically lessens their chance of wanting to continue further unless they specifically want the end-result. Collab List I've been trained by IPS to search for the big blue dot, which takes me to new content. On the Collab List, I've caught myself many times almost clicking on the big blue category icon which "Marks collab as read!" Suggestions: Add a small iconography of # new unread items Add a small blue dot next to each content type subcategory. Here's a photo: (By the way, I absolutely LOVE the small iconography of "Number of Members" and "You are a member." I wish IPS would embrace more of these small icons in their design, which elegantly imparts so much information in such little space.) Collab Home I don't necessarily have a problem with the Home on its own merits since it does what it was designed to do (list all of the categories and apps), but I do wish there was the ability to incorporate recent activity directly onto the Home page. Suggestions: Activity stream beneath the collab banner and above categories Masonry style layout for recent images for gallery app (like the Gallery homepage) Widgets for Recent Files, Recent Forum Posts, etc. I don't expect you to implement all or even any of these, but I hope this might give you some further food for thought on how to better push recent activity to a higher level like the collab homepage or even on the collab listing. Hope this helps.
  16. 2 points
    I forgot to make this suggestionw hen I was setting up my Groups collab over the weekend. When you go through the wizard (which was very easy by the way, love the interface), I wish you had added a toggle ALL button to the moderation abilities for owners. Otherwise I had to individually click on every moderation option. See below for my amazing hand-drawn rendering
  17. 2 points
    Playing off these thoughts a little bit using Calendar as an example. I would like to be able to throw the calendars of a collab category under a master category on the main site calendar. Meaning, I would like an option under calendars in the collab category, to select a parent category/categories that all of the collabs in this category could appear under. Then under each collab, the collab owner would have the option of including their calendar entries in one of those master calendar category listings or not. A similar thought could be extrapolated to other areas as well. Gallery already does this in a way. When you post images under a collab, they also appear under "New Images" in the gallery on the main site. But it would be great if I could make Gallery categories for all of my collab categories, and then any images that were posted under that collab would be included in that Gallery category (with the option for collab owners to opt out of that).
  18. 2 points
    I know you can assign a users Points in the ACP, but what about giving the option for the admin to allow Moderators to adjust a users Points in the Moderator Control Panel?
  19. 2 points
    Hello, I was wondering where the points are stored for each person/currency in the database. We need to tie in some custom work with this app. Thank you in advance! Your applications are phenomenal, as always! Respectfully, cdavbar *Edit* Didn't notice I had two pages of tables, found it
  20. 2 points
    Personally, I would have made it so that every different type of notification that you can send through rules would optionally have its own configuration on that page. But IPS4 core builds that page on its own with the options based on the notification extension used to send the notification. Rules obviously uses its own extension to send notifications, but people need to have the ability to change or modify how they receive those notifications. I have a list of updates that I plan to make to rules though, and this is a good candidate to go on that list.
  21. 2 points
    Gabriel Torres, I would like to help, since Kevin seems to be offline. Condition to check: Truth Value, Comparison Type: Value is FALSE Value to Compare: Boolean value indicating if content is new This will check, if someone is updating (changing) a topic comment (post). (You should select Event: "Topic Comment has been created or updated" as mentioned above.)
  22. 2 points
    This is already well addressed with the core app. Of course, it has a compliment of rules ECA's already built in. But it also includes commerce integration to both add points to products that can be purchased, and to also use points as a payment method to be able to purchase products. Points can be exchanged with each other as well since you can set up any number of currencies and call them what you like (each with their own exchange rate), just like real currency. Of course, you can set the permissions as you wish as to what can be exchanged in/out, etc. Then of course they can be sent between members and transfered into banks that the site administrator sets up. This would be addressed by a future extension to the points app, as the whole system is being built with modularity in mind. So there will be an investments add-on, assets add-on, marketplace add-on, giveaways add-on (for lotteries, raffles, etc). I believe the concept for this would fall under "assets" as it would be an individual item which could be transferred around and would have it's own individual history and points value which would increase or decrease based on rules. And so the asset could then be liquidated into currency and used to make a purchase, etc.
  23. 1 point
    this rule is working now, tested with many many members and multiple awards, everything is okay. Here is an overview, if someone want to create a rule like this, that may help. Big Thanks for your Help @Kevin Carwile ! I think with this knowledge of rules i will be able to create the all the other rules i need
  24. 1 point
    Rule: Switch member group on member promotion field toggle Event: Custom data updated: Temporary Member Promotion Conditions: Truth Value (The promoted toggle is ON) Actions: Change the primary group of a member (Move member into priveleged member group) Update custom data: Temporary Member Promotion (Turn the promotion switch for a member OFF) Else Actions: Change the primary group of a member (Move member into the standard member group) switch-member-group-on-member-promotion-field-toggle.xml
  25. 1 point
    Here is a simple solution: Of course, if the user makes their 5th post before the 7 day window, then they would not be promoted until their next post (after 7 days) since this rule is only triggered when they create content. But this keeps it simple and you only need one rule to do the job. If you want to create rules that will promote them automatically after 7 days regardless of if they make another post, then you would create a custom action and attach the mentioned rule to the custom action event instead of the "content has been created or updated" event. Then you would create a rule which triggers the custom action when the user reaches exactly 5 posts. Then in the rule attached to the custom action, add an action to reschedule itself for a day into the future if the conditions aren't met (an ELSE action). This way when the user reaches 5 posts, they will either be promoted immediately if the post is after the 7 day window, or the action will be perpetually rescheduled each day until the conditions are met and the user is promoted. Now... if you are allowing them to post any amount of characters, but only want to count posts that are more than 30 characters, then that adds another level of complexity because you can no longer just use their post count in the conditions. You will need to create your own counter using custom data fields. You would attach an integer field to members, and then create a rule to increment that counter by 1 whenever a new post is made that fits the conditions ( more than 30 characters ). Then you would be checking that custom data field value in your promotion rule instead of their post count. promote-member-after-reaching-posting-threshold.xml