Beta Help System Feedback

Discussion in 'Bukkit Discussion' started by deltahat, Mar 13, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    deltahat

    The new bukkit beta builds include an updated global help system. Preliminary (and mostly developer focused) documentation is available here. The purpose of this thread is to solicit feedback from beta build users on what works and doesn't work in the new help system and how it can be improved. The results of this discussion will be folded into subsequent builds.

    =========================================================
    Ideas so far:
    • Allow the complete removal of whole plugins from help using the help.yml file. BUKKIT-1178
    • Create plugin-level sub-indexes that list only the commands from a single plugin. BUKKIT-1180
    • The default help index should not list every available topic. Instead, it should list:
      • General topics as defined by the help.yml
      • Plugin-level sub-indexes
      • Custom topics created by plugins
    • An option in the help.yml can turn on listing all commands in the default help index. BUKKIT-1189
    • A way to create custom indexes in the help.yml
    • Requesting the help for a topic that does not exist will return help topics that form partial matches with the requested topic. BUKKIT-1193
    • Fix color codes in help.yml BUKKIT-1191
     
    Don Redhorse likes this.
  2. Offline

    desht

    Is there any provision for providing help for subcommands? I don't see any mention of it in the doc you linked.

    E.g. ChessCraft just has one top-level command - /chess - and multiple subcommands under that, e.g. /chess create board, /chess create game, /chess move, /chess resign ... I'd say there needs to be some way of providing a kind of help hierarchy for subcommands. I know my plugins are not the only ones which use this sort of command style.
     
  3. Offline

    dalphi

    It would be nice if the help was formatted in more of a tree/menu system based on plugins. Maybe have this be a config option where it can be turned off or on, so if a server only has a couple simple plugins they can get the full command dump from /help by turning the menuing off, but a server with lots of plugins can turn on the menu system.

    For instance, a server with Playtime and MyHome plugins might get a menu that looks like this when typing /help:
    • /help bukkit - show bukkit commands
    • /help MyHome - show MyHome commands
    • /help playtime - show playtime commands
    In addition, permission nodes to turn on/off displaying of particular plugins. Have it default to true, forcing the server owner to turn it off if they don't want it displayed. In a perfect world, this would be best left to the plugins to specify the permission node. Unfortunately there's going to be delinquent plugins that don't implement this.

    Something like:
    Code:
    bukkit.help.plugin.<pluginname>: false
    would turn off displaying of that plugins help.
     
    Don Redhorse likes this.
  4. Offline

    deltahat

    Yes, you can register a topic name that has spaces in it. You can also put sub-commands in your plugin.yml. The FrogAnnounce plugin.yml demonstrates how to do this.
     
    desht likes this.
  5. Offline

    Don Redhorse

    I congratulate you to be the FIRST developer of bleeding to do something like this... asking for feedback.. (or am I mistaken, in which case I will offer my sincere apologies to the other developer for not noticing him).

    BUT... could we get a special forum for this? This will go under very quickly here!
     
  6. Offline

    deltahat

    Ideas so far:
    • Allow the complete removal of whole plugins from help using the help.yml file.
    • Create plugin-level sub-indexes that list only the commands from a single plugin.
    • The default help index should not list every available topic. Instead, it should list:
      • General topics as defined by the help.yml
      • Plugin-level sub-indexes
    • An option in the help.yml can turn on listing all commands in the default help index
     
  7. Offline

    Celtic Minstrel

    What about a search function?
     
  8. Offline

    deltahat

    Maybe a partial match? If you type "/help foo" and there aren't any topics called "foo", it will display an index showing all topics that contain "foo" in the title. Would that work?
     
  9. Offline

    Celtic Minstrel

    Yeah, something like that is what I had in mind.

    I think that's the only major feature the old Help plugin had that this new /help command lacks.
     
  10. Offline

    tmad40blue

    As we all know, there are those who don't ask questions very well, and really just need something like /help to tell them what to do. For the longest time, I used the Help 0.3 plugin (http://forums.bukkit.org/threads/info-help-3-a-smarter-help-1060.13601/page-10#post-1003504) but it has fallen out of development. It has all of the features that I want, but it no longer functions.

    What I liked:
    Controllable pagination. The ability for me to customize what shows up on which page (a.k.a. turning off auto-sorting entirely) was great. I could put the most pressing commands on Page 1, and hide less-used commands on later pages.
    Color-coded, word-wrappable formatting. Making things stand out is essential when the UI is text-based. The only real way to do this in MC chat is through color codes. At present, the Bukkit help system does not allow any formatting changes whatsoever. Another thing that might be neat would be to (optionally) be able to customize the help pages for each plugin: e.g. WorldEdit help pages would have a universal format that was different from that of McMMO, etc. Additionally, word-wrapping is always appreciated, as there are those who don't have the literary capacity to understand a word that has been split across multiple lines.
    Permissions-based - and NOT from plugin.yml. Somehow, the Help 0.3 plugin was able to pull command permissions from MY OWN permissions setup, rather than that of the provided (or not) plugin.yml in each plugin. This was great; there was no need to worry about members on my server seeing commands to which they did not have access.
     
  11. Offline

    Celtic Minstrel

    Controllable pagination... as far as I remember, the Help plugin did not offer that. Nor does this help API.

    Formatting... I'm pretty sure the help API gives more control over this than the Help plugin did; you're not forced into the "/command : description" format. For colour codes, you should be able to use the vanilla Minecraft syntax, ie § followed by a digit or one of ABCDEFK. (Don't use K, though.)

    Permissions not from plugin.yml... as of the latest beta, this is possible in the help API with the permission amendments feature.

    As for each plugin having a universal format... well, that's possible if they make their own HelpTopicFactory. And the help API does have word-wrapping.

    (The only minor improvement I could suggest is pixel-based word wrapping rather than character-based word wrapping, but I'd rate that low priority.)
     
  12. Offline

    deltahat

    Pixel based word wrapping is REALLY hard now that minecraft supports so many languages.
     
  13. Offline

    tmad40blue

    I vividly remember organizing the order of commands on my first /help page. It was possible.
     
  14. Offline

    Celtic Minstrel

    Oh, I suppose it might've just listed the commands in the order they appeared in the file... still, in most cases alphabetical is better, so I don't see "controllable pagination" as particularly worth having if permissions are working properly and most people only have a few accessible commands.
     
  15. Offline

    deltahat

    desht Don Redhorse
    I've implemented the first two items in the list (found in the first post). More will come as I keep working.
     
  16. Offline

    Don Redhorse

    nice... thanks.. good work btw... especially trying to get feedback from the community
     
  17. I don't have any comments on this as I'm not using it yet. But I totally agree with Don Redhorse . Great work and fabulous you are trying to get input from the community!
     
  18. Offline

    deltahat

    Implemented more help updates.
     
  19. Offline

    tmad40blue

    This feature, however, is extremely helpful when you want important first-timer commands to appear first. Who knows, your members might not have enough of a grasp on the game to know to type /help 2 to get to the next page... so all important commands should be listed on page 1.

    EDIT: YAYZ :D

    http://forums.bukkit.org/threads/re...of-jascotty2s-help-plugin.63736/#post-1024510
     
  20. Offline

    Celtic Minstrel

    You have a minor point there; perhaps the index topic should mention the "/help <page>" syntax if there's more than one page. Though, personally, I think it's fairly obvious since the /help output says something like "Page 12 of 4".
     
  21. Offline

    tmad40blue

    At the very least I would love a /help 2 command listed on the first page. Don't judge me, but I run a server for (mostly) kids and some of their reading abilities are, admittedly, pretty nonexistent. I get kids (and their parents) asking about the /help command all the time.
     
  22. Offline

    tmad40blue

    Perhaps it should be a toggle? So that we have a choice between ABC sort and file-order sort.
     
  23. Offline

    deltahat

    What do you mean "file order"?
     
  24. Offline

    Celtic Minstrel

    That's what I'm wondering... :S
     
  25. Offline

    deltahat

    I'm thinking of adding a way to create use defined list topics with an order and contents specified in the help.yml. The default list topic can be overrides so that the user can specify exactly the order of all help topic lists.
     
  26. Offline

    Celtic Minstrel

    Would this allow me to define a list topic in my plugin as well?
     
  27. Offline

    deltahat

    You can do that programmatically by instantiating an IndexHelpTopic and adding it to the server's HelpMap.

    What I am proposing allows server admins to make their own index topics.
     
  28. Offline

    tmad40blue

    Not sure what you're discussing at the moment, but what I want is:

    Instead of alphabetical sorting, I want to be able to manually define the exact order of what shows up when someone types /help. I don't believe this is possible at the moment.

    Perhaps it could be made into a config option, so that one has the choice between alphabetical sort and manual ordering.
     
  29. Offline

    deltahat

    I implemented your request last night. There is now a section in help.yml called index-topics that allows you to manually define an index topic with whatever content you want in any order. You can also override the default index topic (shown when the user types /help) by creating an index-topic called Default. These index topics are of the same type as the automatically generated ones and include all the pagination, security trimming, and preamble support expected.

    For additional control, you can also include All in the ignored-plugins section to completely disable automatic topic generation, giving you complete control of the help using help.yml.
     
    tmad40blue and Don Redhorse like this.
  30. Offline

    tmad40blue

    Wow. Lots of configuration control. I love it, thanks. :D
     
Thread Status:
Not open for further replies.

Share This Page