A few community services

Discussion in 'General discussion' started by SOFe, Jul 29, 2018.

?

Do you want to see these?

  1. Poggit (we won't take down Poggit even if nobody votes for this)

    56.0%
  2. Q&A (but it is just another StackOverflow!)

    28.0%
  3. Requests (without the bounties part)

    72.0%
  4. Translations (why not just crowdin?)

    44.0%
  5. Configuration (but there are already many JSON schema online editors!)

    32.0%
Multiple votes are allowed.
  1. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,915
    GitHub:
    sof3
    I have wanted to work on a few PMMP community services for quite a while, but I found that I am too busy, so I would just write my ideas here and see if people have opinions or if anyone wants to work on them.

    Poggit: Plugin builder, Plugin release platform
    Well, it is already here!

    Q&A
    Replaces our Development forum with a better Q&A format so that it is easier to locate answers. Wait... is it just another StackOverflow?

    Requests
    Writing plugin requests on the forums is not very maintainable. We need a dedicated site just for plugin requests, with the following features:
    • Listing plugin requests by popularity instead of how recent it is
    • Linking duplicate requests
    • Allow developers to assign themselves to a request, and fill it
    • Linking followup requests
    • Integration with Poggit
    Somewhat controversial, but bounties for the requests would be great. Not something I wanted to do though.

    Translations
    Community-fueled plugin translations. Something similar to translate.pocketmine.net, but more customized and more adapted for plugins. I am planning to do this after I finish libglocal.

    Why not Crowdin? Because it's very annoying to setup, and there are something unique to the PocketMine plugin release flow that Crowdin won't help with.

    Configuration
    Plugins could declare schema files for their configs so that it is easier to edit. Community can provide config templates so that it is easier for users to get started. Can integrate with Poggit and Sheep.

     
  2. Nathaniel Fredericks

    Nathaniel Fredericks Slime

    Messages:
    82
    GitHub:
    nathfreder
    Hello,

    I am interested in taking on the plugin requesting project. I have spent a while visualizing how it will look and what the structure will be, in the below section I will try to tell you how this service will work in my vision in the format of self-answered questions. Keep in mind that no ideas are final and that I am looking for feedback from anybody who has something to say.


    In a very (not so) basic explanation, how will this service work?
    My vision for this service is that anybody, no matter their coding experience or income, will be able to request that a developer create a plugin. In order for someone to submit their fantastic idea, they will need to create an account using an email or password. Afterwards you will need to begin filling out an interactive plugin request form that contains questions such as the purpose, origin, and end use of the plugin. Once you have submitted a request it will be immediately be posted publicly for anybody to upvote or downvote if you give them the link, keep in mind that the listing will be public but not listed until it is manually accepted. If the listing is accepted it will be moved to the “New Ideas” section of the website for people to upvote or downvote. You will be able to see the top plugins in the “Explore” section. If you feel like a developer and that you can take on a plugin, feel free to assign a plugin to yourself. If a plugin is not getting much attention and is described fully you will be able to set a bounty for the plugin, meaning that the developer who completes the plugin will be paid (an amount between 5$ and 35$) and it will be on the front page for a week.


    How do you plan to combat spam?
    Recently, they has been a lot of spam in the community. My plan to combat this to restrict people to one account per IP address and enable ReCaptcha (v3) so that users with a high chance of being account spammers will also be flagged for manual review.


    Can I add to a bounty to a request that is not mine?
    Yeah, you can. If you are interested in somebody else’s plugin idea and they already have a bounty set, you can add to the bounty making it more likely that the plugin will be claimed.


    How will we protect buyers?
    We will protect the buyer by not paying the developer until the plugin is complete and released.


    Can I post plugin update requests?
    You can only request that a plugin to be updated if it has not been updated in six months, otherwise you will need to directly contact the developer.


    Will the plugin’s be open to everybody once completed?
    I love open-source and that is why all completed plugins will be open-source for everybody to use, so that means that there will be no private cores at all.


    What technologies do you plan to build this with?
    I plan on building this application using a single-page framework called React, for the backend I will solely use Firebase Firestore, Firebase Functions, and Cloud Storage. We will be using Stripe as a payment processor.

    This is not everything, if you have any questions do not hesitate to ask them.
     
  3. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,915
    GitHub:
    sof3
    What about bugs? What if the plugin has serious bugs people discovered after a while? What if PocketMine updates and the plugin no longer works? Can people get support from the developer?
    Sounds like a bottleneck. What about letting the community approve them?
    What about simply login with GitHub like Poggit?
    Could we reduce the barrier? For example, if the plugin is on Poggit, could we set a default expiry of, say, 1 month, then allow the user to explicitly increase the export?

    I am conservative regarding the bounties section, because I wouldn't be confident in introducing finance into the system without the rest components become mature first.
    How do you plan to tackle duplicates? If it is 100% duplicate, of course we could delete them. But what if they are just similar, with minor but notable differences? Have you considered allowing other members of the community to edit it append to the request? If so, how do you plan to handle the differences? For non-bounties, does a plugin have to satisfy all memebers' expectations on a plugin to get marked as the solution? For bounties, can people just add bounties to part of a plugin request, or in conjunction with other requests/requirements?

    In addition, how about agile plugin development? Would it be acceptable for a developer to release some features, receive some bounties, release more features and receive more bounties?
     
    corytortoise and EdwardHamHam like this.
  4. Nathaniel Fredericks

    Nathaniel Fredericks Slime

    Messages:
    82
    GitHub:
    nathfreder
    1. This is something that I have not thought of, I would expect the developer to be able to set the amount of revisions that will can make after completing a plugin, when the plugin stops working due to API updates the developer must update it themselves unless the plugin has not been touched fo six months, then it would be someone else’s job meaning that the plugin would be moved to the “Update” section and someone can claim it as a mantainer.

    2. I plan on allowing developers to login using a GitHub account because that allows us to do checks to make sure that they are somewhat legitimate, though normal users would login using email and password because no checks are needed and not everybody wants/needs a GitHub account.

    3. I do not understand what you mean, could you dumb that down for me?

    4. Good point about the bounty system, at the moment the service is not even built yet. I think that I’ll hold on to that for a later date.

    5.
    1. If they are similar you can flag them both and then it will be a moderator decision whether they are duplicates or that they just need to be explained a bit more.
    2. No, though that would be a really good idea. We could have a “request edit” button for the listing so that other can edit the post if they have a sufficient rating.
    6. I am not really sure about this, though it would be a good idea once the man application is built out.
     
  5. jasonwynn10

    jasonwynn10 Wither Skeleton Poggit Reviewer

    Messages:
    1,406
    GitHub:
    jasonwynn10
    PocketMine has been updating far more frequently than every 6 months as of late. SOFe is recommending that the default time to update is 1 month but can be increased by the user.
    Rather than having a moderator check each, it would be more efficient to compare the release times. The issue with the plugin system on the old forums was the fact of there being too much human involvement slowing down updates. Poggit reviewers are currently keeping up because anything they miss is voted on by the community or unused.[citation needed] More moderator involvement would slow the process.
     
  6. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,915
    GitHub:
    sof3
    Well, we still need a reviewer to confirm the idea is working.
    But other than that, we almost leave all the plugins to the community :D
     
  7. Nathaniel Fredericks

    Nathaniel Fredericks Slime

    Messages:
    82
    GitHub:
    nathfreder
    1. Alright, that makes sense. :)

    2. We could do that, and also have an appeal process incase they were not similar. To report as a duplicate you must be “Trusted” though. I am not sure what that rank will mean yet.
     
    jasonwynn10 likes this.
  8. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,915
    GitHub:
    sof3
    StackOverflow rulezzz

    But I think that merging plugin requests could be more maintainable. For example, two requests are very similar, but one wants to use commands, another wants to use forms, etc. Or other things that can be configured. If they are merged, it would be easier for developers to check the requirements and allow such configuration from the beginning.
     
  9. Qeis2007

    Qeis2007 Witch

    Messages:
    72
    GitHub:
    FrostingBita
    Ehh, everyone is talking so long here. I need long time to read it.
     
  10. Qeis2007

    Qeis2007 Witch

    Messages:
    72
    GitHub:
    FrostingBita
    Nathaniel Fredericks likes this.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.