Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Discussion SuperSticky extension idea / newbie question

edited November 2007 in Vanilla 1.0 Help
Hi, I'm new to Vanilla and hope to be installing it soon, and maybe writing some cool extensions for it. One extension that seems fairly simple that I'd like to write would be to allow the ability to designate a discussion as an "Announcement" -- Kind of like s Sticky but would be used less frequently and have special properties. I'd call it Super Sticky perhaps, as there is already a plugin called announcements. Basically, Super Stickies would sit above Stickies in their category. They could be blocked from the main discussion page with the David plug-in. And...they would (optionally) display in the panel. My thinking: My current boards have several stickies in every category which makes the front discussion page useless. David cures that problem by removing stickies from the front page, which is great. However, there are some stickies that I do want visitors to see on the main page. This will especially be important because I'm migrating a phpBB community and there is likely to be some culture shock when they see the new forums. An announcement on the top-left of every page that lead to a "getting acquainted with Vanilla" topic would be just the thing. So...first question is...Is there a way to pin a specific topic to the side panel for all users already? (I saw the Announcement extension, but that seems to provide only a one-line announcement) The more technical question: If I write this, my impulse would be to expand the Sticky field type in the database from enum(0, 1) to enum (0,1,2) on install. Does this seem like a terrible idea? Is tampering with the main vanilla tables poor form in developing extensions? I suppose there's an obvious risk if the core developers decide to alter the use of the Sticky field themselves. I could add a table to hold the announcement status, but this seems like it would make the plugin a lot more convoluted. Any advice for a newbie?

Comments

  • How do you envision people using this super-sticky discussion? Is it purely for announcement purposes? If so, maybe making the Announcement add-on display in the panel would be an option. Or will users be able to add comments to it?
  • edited November 2007
    The Announcement add-on only allows you to type in a brief message.

    What I want the SuperSticky add-on to do is allow an admin (or whatever role is permissioned in) to tag a Discussion (which may start with a very lengthy comment) as being "SuperSticky"

    Then a link to any such SuperSticky discussions would appear in the side panel.

    For example
    • a Discussion is titled "Getting started on the New Message Boards"
    • The first comment is a nice, helpful post helping phpBB users get acclimated
    • I, as an admin, make the Discussion "SuperSticky"
    • Every user who visits the boards sees, at the top of the panel, a link to the discussion "Getting Started on the New Message boards"
    Of course, any discussion could be designated SuperSticky and otherwise functions as a normal discussion. That's just one example.

    There was a posting and etiquette guideline on our old forums that was a sticky in every single category. Clearly something like that would work better as a SuperSticky.
  • One thing you could do would be to use PageManager to make a tab that links to the getting started topic... Or use Nuggets to add links to that topic in the panel.
  • Hi, I'm not much interested in SuperSticky (yet), but rather in the db structure thing.
    I humbly suggest to add a column to the discussion table for a new boolean called, say, SuperSticky.

    I'm interested in seeing alternatives for this question...

    My reasons for the new column:
    1) it won't interfere with existing things
    2) you could have SuperSticky discussions that are sticky or not sticky (that's why I'd rather even not call it SuperSticky, maybe SuperDiscussion, don't know)
  • All points well taken.

    Yeah, actually (now that I've taken a closer look) Nuggets will suffice for now. I think I'll use that for this purpose and focus my energy on getting the migration done right.

    It may be nice to have an easier, one-click "Make this discussion a [thing not called announcement or supersticky]" but for now I can just hand-code [things not called announcement or supersticky] with Nuggets.

    If I do make the extension, I agree that leaving the Sticky field alone is the best course of action.
This discussion has been closed.