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.

Better Extensions page

2

Comments

  • linking the extension names in the "requirements line" as an anchor to that extension on that page (so the page jumps to it) would make it nice and easy to enable an extension that isn't.
    By this I didn't mean auto-enabling it, literally *just* taking you to the correct place on the screen. You would then manually enable the extension, so you wouldn't run into the auto-enable problem there.

    5. what happens if you get a dependencies cascade effect, ie, you enable a dependency extension that has dependencies of its own that aren't enabled?
  • I think it should be drag and drop re-orderable (like Categories, Roles & Permissions, etc). Then reordering rewrites your conf setting file. Makes load order easier to inspect (e.g. is JQuery enabled before Inline Images?).

    If not here (because alphabetical is nice), then in another, more simple view similar to the above examples.
  • There might be a hack for the jquery dependency.

    Imagine the jquery is a render control, rendered before the Head control

    The scripts that depends on jQuery would just need to add there script via a delegation in the render part of the jQuery control. I don't think it matter that a class has already been included to add a function to its delegations.

    So i wouldn't matter if jQuery extension were activated first, last or never?
  • edited March 2007
    MarkWhat if there are two extensions that depend on each other? You go to enable one, but it won't let you because the other isn't enabled. You go to enable the other, but it won't let you because the first isn't enabled.
    Do we have one of these. Won't this be an example of bad extension design.

    Stash of Potwhat happens if you get a dependencies cascade effect, ie, you enable a dependency extension that has dependencies of its own that aren't enabled?
    If the dependency itself is disabled u know u need something else. a quick look at the "Depends on" will tell u what ur missing. How hard can that be. plus we right now have only Tier2 dependencies. If in the future we end up with Tier 5, that means the extension developers have gone kookoo

    So far we have talked about enabling dependency. we also have to disable them. Spit out an error if Attachment extension is being disabled if one of its dependencies is enabled.
    "Disabling this extension will render some of your other extensions to stop working" Accept/Decline

    Correct me on this. the default.php has only one field Dependency: yes
    but we won't be mentioning which ones
    When we submit our extensions we can have a drop down menu, where we can select them



    No dependencies dude!
    Dependency 1
    Dependency 2



    Is this what ur talking about
  • Brain storming. thinking outside the box

    Alternate extension page


    Alternate extensions page
  • "If in the future we end up with Tier 5, that means the extension developers have gone kookoo"

    funny stuff :P
  • my schizo bud that is really really cool, (start rant) i can see now, that vanilla is no dinky thing like many others that will fade out due to lack of a motivated community. Vanilla will join the ranks of the other Great? popular forums because of insiration like this.(end rant)
  • Schiz, apart from the fact I *still* hate the support link and the fact that the extension name doesn't take you to the extension discussion, I'd probably go with the 2nd option, as the first one doesn't allow for an extension having two previously required extensions.

    Would the dependency (disabled) change to (not installed) if it isn't?
  • MarkMark Vanilla Staff
    There certainly is a lot to think about here. I'm glad we're talking it out before I start working on it.

    I do think it is really important to allow ordering of the extension list as well - but there will need to be special rules so that extensions that depend on other extensions are automatically loaded in the correct order and are sorted as a group.
  • Agreed. What about an extension knowing that it should be after another one (such as for dependencies)? Would that help matters?
  • edited March 2007
    Stash its brainstorming session. u just throw in ideas one after the other. they don't have to work for all cases. they just have to work for one case to be included in brainstorming session. Yes it will be "not installed" if not installed. Do u know of any other extension extension dependencies so i can make one for that too. Support link takes u to Support thread -> expected behavior Name of the extension takes u to Support Thread -> unexpected behavior Dinoboff can explain the Jquery thing?
  • yea support link togoto surrport makes perfect sense tome
  • How come SirNOt, and JAzzman are not taking part.
  • Maybe SN and JM have better things to do with their lives =) I get the idea of brainstorming sessions, I understand that not everything has to work for every outcome, but surely you understand the need to discount ideas because they don't?

    Currently, whether in the extensions list or the updates list, clicking on the extension name either toggles the status of the extension or does nothing. Since Mark updated the add-ons site, where you download and get support for an Add-on are essentially the same places now - sod it, I'll just mod it to do what I want when it comes out and turn it into an extension :P

    IIRC DiscussionExcerpt is dependant on BoxOver and/or iBox. I don't know of anything others, or anything that is dependant upon more than one other extension (excepting Inline Images).

    I'm also interested in / not quite understanding the jQuery thing Dinoboff suggested.
  • Stash
    Since Mark updated the add-ons site, where you download and get support for an Add-on are essentially the same places now
    Thats exactly where the support link will take u. the place u download and ask for help. more accurately it takes u to where the comments start
  • TomTesterTomTester New
    edited March 2007
    interdependency
    Love this interdependency thing, but it sounds/looks complicated. What about changing interdependencies
    (e.g. purely fictitious: InlineImages is updated to version 1.2.3 and will now only work with JQuery 1.1.5
    or earlier, "if you do not wish to update you can continue using InlineImages 1.2.2 which still depends on
    the default vanilla prototype library, etc. etc.").

    40,000 forum ping & visual update check
    To avoid unnecessary 'pings' to the server how about the 'visual inspection' method of version control?
    I can't locate the thread on it here, so a small summary:

    - Each NEW add-on is assigned a unique 4-letter add-on code
    - Each NEW VERSION is assigned a VERSION IMAGE (from a limited set, next version -> next image, end of set -> start at beginning)

    - On the add-on server the plugin version is always represented by the LATEST assigned image.
    - On the vanilla install, the plugin version is always represented by the image assigned at the time up upload.

    Now... how does 'visual inspection' work:
    - The vanilla installed plugins overview displays a LOCAL VERSION IMAGE as well as the SERVER VERSION image
    - Inconsistencies between the two will be immediately obvious and user can update on-demand.
    To check for updated versions, the user merely needs to REFRESH the local installed add-on overview page

    Example:
    - Image set: Blue-0, Yellow-1, Red-2, Purple-3 etc.
    - The "SuperPlugin" add-on is uploaded by its owner for the first time on 07/03/11 @ 3:04pm
    - It is assigned unique add-on ID "SPP" and we copy "BLUE-0.gif" to "http://lussumo.com/addons/SPP/version.gif"
    - Then we insert "VID: SPP/BLUE-0" in the SuperPlugin version header.

    - The user downloads and installs this version of SuperPlugin
    - The plugin overview page expands "VID: SPP/BLUE-0" to:
    <img src="http://lussumo.com/addons/SPP/version.gif"><img src="http://myserver.com/addons/versions/BLUE-o.gif">
    - The first time these images will match (both are BLUE).

    The next time SuperPlugin is updated by its owner:
    - We copy "YELLOW-1.gif" to "http://lussumo.com/addons/SPP/version.gif"
    - We insert "VID: SPP/YELLOW-1" in the SuperPlugin version header

    Now, when the vanilla admin refreshes his overview page... the first image (remote) will be YELLOW and the second one (local) BLUE.
    -> visual sign of an available update without requiring complicated XML packets, AJAX, etc.
  • How "not installed" will look
    Dependent extensions are indented. non-dependent are not
    Alternate Extensions page
  • @Tomtester.
    what about extensions that don't do visuals. or ones that only improve the code, the visual frontend is ALWAYS the same.

    can u make some mockups to explain this

    How about Tier 1,2,3
    Tier1 extensions no matter when u enable them will ALWAYS appear first in the header
    Tier2 extensions appear next and so no.

    So no need to worry about what needs to be enabled first. no matter the enabling sequence, the head tag always puts the Tier 1 extensions first.
  • y2kbgy2kbg New
    edited March 2007
    ok here a scenrario that needs to be considered, I might build a gallery extension that relies on one and only on an "image display extension" (now only Thickbox but Highslide and Lightbox are coming) where will these be indented to if inline images and my gallery need thickbox?

    *Edited for clarity*
  • Schiz, please do that last mockup again, only this time have iBox and Boxover installed please.

    Tom, good point on extensions that require a certain version of another extension - perhaps we have a (needs update) added to it or something? I dunno...

    y2kbg, I can't decipher that sentence, sorry.
This discussion has been closed.