Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

How to restrict recent discussion posts by members

ProsperProsper ✭✭
edited May 2015 in Vanilla 2.0 - 2.8

Is there a way to select or specify members whose "discussions / ask questions" posts appear on recent discussion page? That is specified members posts will appear on recent discussion page on home page while any other members posts will appear on appropriate categories without appearing on recent discussion page.
Can an addon be developed for this purpose?

Best Answer

«1

Answers

  • I would create a separate category/tag and only let those with a specific role use them. Then set your home page to that category/tag. Then you can add the link to your discussion filter and call it recent discussions and rename current recent discussions to "All Discussions" or something like that.

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

  • ProsperProsper ✭✭

    @hgtonight thank you for your input.
    However, I believe developing a plugin will make things easier. An addon that can only allow specified members to post on recent discussion page. Do you agree with me? I will show appreciate with little donation for the plugin.

  • ProsperProsper ✭✭
    edited August 2015

    @Prosper said:
    Is there a way to select or specify members whose "discussions / ask questions" posts appear on recent discussion page? That is specified members posts will appear on recent discussion page on home page while any other members posts will appear on appropriate categories without appearing on recent discussion page.
    Can an addon be developed for this purpose?

    @peregrine, @hgtonight, @Tim, @Linc, @x00 and other developers
    I will donate towards the development of this addon. Please Vanilla addon developers your input is needed here.

  • peregrineperegrine MVP
    edited August 2015

    @Prosper,

    Sorry, I don't write custom plugins any more. Nor do I write community plugins any more. too few donations to support a donation based plugin model of business.
    Of the nearly 40,000 downloads of my plugins, not enough people contributed a donation to make the business even pay for it self.

    in the meanwhile, I would suggest you try looking at this plugin for a start or what was suggested above. Sorry I can't help you further.

    Probably within an hour or so, you or someone could whip up something for you depending on how feature-rich you want it and maybe you could send them a donation.

    http://vanillaforums.org/addon/zerocomments-plugin

    around line 140 or so

    in

      public function DiscussionModel_BeforeGet_Handler($Sender) {
        if($this->CustomView === TRUE) {
          $Wheres = & $Sender->EventArguments['Wheres'];
    
    //comment this out
      //  $Wheres['d.CountComments'] = $this->ZERO_COMMENT_COUNT;
    
    // change the filter to filter on original discussion author user ids for
    // e.g. userids 5 and 12.
    // make it a setting in dashboard or via config statement.
           $Wheres['d.InsertUserID'] = array("5","12");
    
         // Gdn::Controller()->Title('Special Authors');
        }
      }
    

    then you could make the other mods necessary to make what you need.

    It would be a good plugin for a beginner to create, since most of it is layed out for you.

    could probably route discussions to point to your Special Authors

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Thank you @peregrine. You are one of the best vanilla developers. Vanilla community will surely miss your works/new plugins if you discontinue developing new plugins as you just said.

  • peregrineperegrine MVP
    edited August 2015

    @Prosper said:
    Thank you peregrine.

    Thanks for the kind words. I'll still be around from time to time to provide humorous retort.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Why not charge a small fee for your plugins on your own site? I'd pay for good plugins. In fact, I talked to @hgtonight about developing a Groups Add On similar to the Vanilla hosted one, but alone I can't afford to pay for him to develop it. But, if someone could develop it and then sell it for $XXX a pop, I could afford that and they could make that money back. Or, Patreon is another option, with different subscriber levels.

  • @PFAFF said:
    Why not charge a small fee for your plugins on your own site?

    You would need a system to charge for plugins. Then you would need to have some type of system in place to prevent redistribution of your code. @businessdad has gone into the details as to why this generally is a bad idea.

    We ran a fund raiser to get the Articles application funded a while back. Took a couple of months, but we got @Shadowdare to make it happen.

    :)

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

  • I think the Patreon system would work as a system for charging. You'd get $X for each Patron for each plugin you deliver. You could also limit / focus support and updates to your patrons. I think Patreon would be great because you'd see an automatic feedback loop with incentive to produce as you gauge your patrons and their levels of backing. You could provide the highest level patrons with more power to vote on the next plugin. And, as your patron-base grows, you can spend time on larger plugins / applications.

    While sharing of code is always a possibility, I'd think only the most desperate wouldn't be willing to shell out some cash for stable, solid plugins. And, even if you do have a few people stealing code, you're still getting funding from your loyal and honest patrons.

  • peregrineperegrine MVP
    edited August 2015

    .

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • edited August 2015

    @PFAFF said:
    I'd think only the most desperate wouldn't be willing to shell out some cash for stable, solid plugins.

    I'm sorry to disappoint you, but that won't work. As @hgtonight pointed out, I've been in the business of premium plugins, and I ended up making all of them free (except one, just because I didn't have time to re-package it).

    In two and a half years, the sales of those plugins covered about 0.02% of the development and support costs. The reason is, simply, that customers who have a budget for this type of products tend to go with the hosted version (which is quite cheap, considering what's included). The vast majority of the Users of the Open Source version run their forum as a hobby, and have a budget of zero (or less).

    There is no market for those products, that's as simple as that. If you plan to develop plugins as a pastime, and you are happy with the occasional peanuts, then it might be a pleasant occupation. If you need to run a profitable business, then you should look elsewhere.

    For the record, I did not even consider the idea of limiting usage or redistribution of the plugin I was selling. I sold them as "take them and use them as you please". Still, I lost count of the emails from people demanding to have them for free (because the public repository is free, because they have no budget, because I they really need them), or expecting to get unlimited support, customisations and updates for a once off payment of $5.

    As my nickname implies, I have to run a profitable business, and premium Vanilla Forums plugins won't fit in the scheme (unfortunately).

  • Sorry for derailing this convo! And, thanks for the info. I didn't realize there wasn't a larger userbase for the open source forum software.

  • peregrineperegrine MVP
    edited August 2015

    @prosper said: I will donate towards the development of this addon. Please Vanilla addon developers your input is needed here.

    to bring this back on topic. if you haven't gotten your plugin working.

    http://vanillaforums.org/discussion/comment/232114/#Comment_232114

    @Prosper
    to bring this back on topic. if you haven't gotten your plugin working.

    there are other developers who you haven't named that can do this if you haven't found someone. not sure if they are interested. why don't you mention how much you would donate. Or mention what you have done so far with respect to coding and I am sure some people could help you finish it up.

    Since Underdog disappeared, there is no moderation as far as splitting discussions these days

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • ProsperProsper ✭✭
    edited August 2015

    @peregrine - I haven't got the plugin working since I am not a developer. I only know little html and css. I have a limited budget of about $40 to donate towards the development of the plugin. As for other developers that I did not mention, please they are very free to work on the plugin. I would have mentioned all the developers if only I have the list of their usernames. Can someone please give me the list of all the developers?
    Below are the functions of the plugin.

    1) Has an Admin setting for selecting which member of forum whose discussion posts will appear on the recent discussion page or homepage.
    2) Has an option to allow Admin or any person with role permission to move a discussion post previously not on "recent discussion" page to "recent discussion" page.
    3) Has an option to allow Admin or any person with role permission to move a discussion post previously on "recent discussion" page off "recent discussion" page.

    This plugin will help to reduce spammy posts appearing on "recent discussion" page which I used as the homepage of my forum.

    I have many other plugin ideas that I will like developers to work on too but am not sure if developers will be willing to work on them considering my limited budgets.

  • 40$ won't cover that.

    Basically you want to curate content. Did you look into Yaga?

    You can create a special promote reaction which only certain roles can use to push content to the best of page. Then make the best of page your default controller.

  • @Bleistivt - $40 is my intended donation towards the development of the plugin if other vanilla users want to donate too. However, please coulr you PM me what it will cost to make the plugin if I were to foot the bill.

  • mtschirsmtschirs ✭✭✭
    edited August 2015

    @Prosper: What Bleistivt said above is actually quite important.

    1) Filtering recent discussions by user is still feasible by adding a simple SQL where clause to the database query. However, updating the recent discussion count to reflect the real number of filtered recent discussions might already be impossible, so you have to live with a pager showing "1 2 3 ... 100" pages of recent discussions, while the true number might actually be much smaller.

    2) + 3) Filtering recent discussions by DiscussionID is possible, but probably not in combination with 1) as long as you would just use the available SQL where clauses. Also, it would not scale with an ever growing number of hidden or explicitly shown discussions. So you would need an SQL join clause and an additional "HiddenFromRecent" field on your discussions table in your database. However, I don't see any way to "join in" such additional information into the recent discussion list.

    So, the only remaining option is to ditch the existing recent discussion page and create your own. This is in fact what Bleistivt suggested.

  • You do not need any plugin for something very close to what you think of:

    1. Create a user role "TrustedMember" or something like that.
    2. Use custom permissions on all but one category (let's call it "Playground").
    3. Make all categories (except Playground) view only for Members and give only write access for TrustedMembers
    4. In category Playground, check "[ ] Hide from the recent discussions page."

    That's it. All new members will only be allowed to post in Playground and that category is hidden from recent discussion page. As soon as you grant a user the role "TrustedMember", he will be able to post on other - "more serious" - categories and those posts will be shown in recent discussion page.

  • @R_J - Thank you for your input. Actually I will like every member to post on any category of their choice. However, not all members discussion should appear on "recent discussion" page.

Sign In or Register to comment.