lotrointerface.com
Search Downloads


Go Back   LoTROInterface > Outdated LotRO Interfaces

Category: Outdated LotRO InterfacesBootstrap - Plugin Manager
Interface Information
Download
How do I install this? (FAQ)
Name: Bootstrap - Plugin Manager   Popular!
Author:
Date: 07-21-2011 11:02 PM
Size: 67.77 Kb
Version: 1.4
Rate File: 5 out of 5 with 10 votes  
Pictures
Click to enlarge 

Views: 0
Size: 100.33 Kb
Dimensions: 811 x 671
Main window & a configured menu
 
Description
One Plugin to rule them all, One Plugin to find them,
One Plugin to bring them all and in the darkness bind them

About

Bootstrap is a plugin manager for LotRO. Its purpose is to ease using other plugins through a graphical user interface and some degree of automation.

Since the plugin system is not officially supported and still in "beta" state, Lotro does not currently provide a graphical user interface or settings to manage plugins. The only user interface provided by Turbine concerning plugins is the 'shell' (chat window), which can get rather cumbersome especially when using multiple plugins.

Bootstrap provides the user a way to automatically load multiple plugins in one click, as well as a configurable popup menu to load individual plugins on demand and execute commands exported by plugins.

Features
  • Automatically load all user selected plugins on startup, in the order specified.
  • Configurable popup menu to load plugins to execute commands they have exported or both.
  • Graphical user interface for settings.

Installation

Copy the "Equendil" folder from the zip file to your "My Documents/The Lord of the Rings Online/Plugins" folder (if you never installed a plugin before, you might have to create that "Plugins" folder).

You will need to execute "/plugins refresh" if you install the plugin for the first time while the game is running.

If you are already using another one of my plugins (currently, that would be LIP), overwriting files should be safe as long as older (by last update) plugins are installed first. Unload plugins if they are are running, by typing "/plugins unload".

Usage

On the command line:

"/plugins load bootstrap" will launch Bootstrap, Bootstrap will then load all plugins set to be loaded automatically. Launching bootstrap will also display its setup window if it cannot find user settings (first time use).

"/boostrap" without parameters will toggle Bootstrap's window
"/bootstrap toggle" will do the same as above
"/bootstrap show" will open Bootstrap's window.
"/bootstrap hide" will hide Bootstrap's window.

"/bootstrap reload" will terminate all loaded plugins and restart bootstrap.

One click launch:

Because the primary objective of Bootstrap is to make running multiple plugins as simple as possible, you will probably want to setup a shortcut so you can launch Bootstrap in one click.

To do so you first need to declare an alias through the command line:
"/alias ;<name> /plugins load bootstrap"

Where <name> is whatever you want your shortcut to display. Keep in mind shortcuts cannot display more than three or four characters, however. The semicolon is mandatory.

You then need to create the shortcut proper through:
"/alias shortcut ;<name> <num>"

Where <name> is whatever alias name you chose previously, and <num> is the number of a quickslot on your bars. The first quickslot of the first bar is numbered 1, then 2, 3 ... 12, the first quickslot of your second bar is numbered 13, then 14, 15 etc. It will overwrite that quickslot.

This might sound a bit complicated, the following example will create a shortcut that launches Bootstrap on the first quickslot of your first bar (make sure it's empty or keep in mind it'll be overwritten):

Code:
/alias ;plug /plugins load bootstrap
/alias shortcut ;plug 1
You can then drag & drop that new shortcut wherever you like.

IMPORTANT: You will need to do that on every character. There is no other way, but you need only do it once per character. It'll make your life easier in the long run.

Once a shortcut is set up, clicking it will load bootstrap and all plugins set to automatically load.

Menu

By default, Bootstrap will place a semi transparent button in the lower left corner of the display. That button opens Bootstrap's configurable menu. By default, the menu only contains one entry: 'Bootstrap', that opens Bootstrap's setup window.

The menu button can be placed where you like by using the standard key bind to position UI elements (CTRL + \ by default on English keyboards). Using the mouse wheel on the button in that mode will change its scale.

The opacity of the menu button can be set in the setup window (set to 0 to hide the button completely).

IMPORTANT: The position of the menu button is stored on a per-character basis.

Setup

Plugins

The top half of the setup window displays installed plugins. Loaded plugins are displayed in green. 'Hidden' plugins (see below) are displaying faded if "show all" is checked.
  • The check box in front of every plugin entry lets you set which plugins you want to be run automatically.
  • The 'up' and 'down' arrows let you change the order in which plugins are displayed and loaded.
  • The 'Launch' button will simply launch the selected plugin.
  • The 'Add to Menu' button will add an item to the menu for that particular plugin.
  • The 'hide' button will hide a plugin from the list unless 'show all' is checked, in that case, hidden plugins will display faded. Hidden plugins can be brought back to normal using the same button (then labelled "show"). By default, plugins not meant by their authors to be loaded directly are set to be hidden.

IMPORTANT: Which plugins are set to load automatically is stored on a per-character basis. This is to allow using different plugins for different characters, however this means you will have to (quickly) set up Bootstrap for each character.


Menu

The bottom half of the setup window displays the list of items in the configurable menu and their settings.
  • The 'up' and 'down' arrows let you change the order in which the menu items are displayed.
  • The 'Remove' button will remove the currently selected item from the menu.
  • The 'Save Menu' button will save the configuration of the menu. That configuration is account wide.
  • The 'Show menu button' checkbox will enable or disable the menu button. Like the position of the button, it's a per-character setting.

Menu items are bound to plugins, to add a menu item, select a plugin in the top half of the setup window and click "Add to Menu". Bootstrap may try to be 'smart' if you attach a menu item to one of the more popular plugins and it will pre-setup that menu item in a manner the author of Bootstrap deemed appropriate. Whether or not it does that, you can change it.

The right panel lets you set up a menu item.
  • The 'Name' field lets you change the name of the item as displayed in the menu
  • The 'Plugin' field displays the name of the plugin to which the menu item is attached. It cannot be changed.
  • The 'Mode' drop down menu lets you chose the mode of execution of the menu item:
    • 'Load then Run'. If the plugin is not loaded, load it, then run the command immediately (if not blank). If the plugin is loaded, just execute the command.
    • 'Load or Run'. If the plugin is not loaded, load it. If it was loaded already, run the command (if not blank).
    • 'Run Only'. Run the command if the plugin is loaded. If the plugin is not loaded, the menu item will not display.

The 'run only' mode is particularly appropriate for plugins you set to load automatically *only* on certain characters. The menu item will not display for characters that do not have that plugin running.

IMPORTANT: Menu items are not saved automatically, use the 'Save Menu' button

Notes:
  • The default "Bootstrap" entry in the menu cannot be moved, changed or removed.
  • The menu will display 'bottom up' if placed in the bottom half of the display (ie, in reverse order). While, to the author, that seemed to be the natural way to go about things, the author acknowledges this might be a consequence of spending way too much time writing code. That particular 'feature' is subject to change depending on the amount of complains received.

Refreshing plugins, reloading Bootstrap

The 'Refresh Plugins' button at the bottom will update the list of installed plugins, and possibly the menu if plugins were removed. You might need to do it if you install a plugin while Bootstrap is already running, where you would execute "/plugins refresh".

The 'Reload Bootstrap' button at the bottom of the window will terminate *all* loaded plugins, and restart bootstrap. Plugins not set to load automatically will not be restarted.

This is roughly equivalent to executing the command "/plugins unload" followed with "/plugins load bootstrap"

Plugin authors: Exposing an icon

Plugin authors can expose an icon that Bootstrap will use in the menu. Failing that, Bootstrap will use a (hopefully) suitable icon for plugins it 'knows', or failing that, a default icon.

To get an author's defined icon, Bootstrap will look for a Favicon.lua file in the same folder as the plugin's 'package' (as defined in the .plugin declaration file and exported by Turbine.PluginManager). Favicon.lua should at least contain a table called Favicon, with a subtable called "Regular" (leaving room for other icon states such as highlighted etc), with the following fields:
  • Resource: either an ID of an in game image resource, or the path of a JPEG or targa image relative to plugins/
  • Width: the width of the image
  • Height: the height of the image

Eg: if a plugin hiearchy looks like this :

Code:
Plugins/
	Author/
		PluginName.plugin (with <Package>Author.PluginName.Main</Package>
		PluginName/
			Resources/
				icon.tga (32x32 icon)
			Main.lua
			Favicon.lua
Favicon.lua would contain:
Code:
Favicon = {
	Regular = { Resource = "Author/PluginName/Resources/icon.tga", Width = 32, Height = 32 }
}
Note: Bootstrap will resize icons to 26x26 dimension, and mask them to keep them round, the original icon does not need to be that size or be round.

Known Issues & limitations
  • Bootstrap does not actually check to which plugins commands belong to. As a result, it is perfectly possible to add a menu item for plugin A and make it execute a command on plugin B (or a default Lotro command). The author likes to think of it as a 'feature'.
  • Bootstrap cannot unload individual plugins.

Reporting issues
You can report bugs and other issues:
  • On this thread
  • In private messages through this site
  • By contacting me on the Snowbourn server. Send a mail to "Equanor" (my main), or send a message directly if you prefer and I happen to be logged on.

Plans for the Future
- Done for now.

Change Log

v1.4 - 2011 July 21
- Any command can be run through the menu.
- Added default menu command templates for all 'known' plugins where relevant.
- Added icons to the menu. Icons can be set by plugin authors in their plugins, failing that, Bootstrap will display an icon thought appropriate for 'known' plugins, or failing that a 'ring' icon by default.
- Fixed an issue where the scrollbar for plugins could go out of reach when toggling off 'show all'.
v1.3b - 2001 July 13
- Fixed error introduced in v1.3 when saved data is not found...
v1.3 - 2011 July 12 - Various improvements and requested features
- The /bootstrap command can now take "hide" or "toggle" as arguments in addition to "show".
- "/bootstrap" without arguments now has the same behaviour as "/bootstrap toggle"
- The default command for Bootstrap in the menu toggles the window instead of always making it visible
- the 'drag bar' for moving the menu button was replaced with a drag 'box' that allows positioning at the top of the screen.
- Bootstrap will output a single message on startup for all plugins that are auto-loaded rather than for each one
- Bootstrap's window can be resized by the user.
- Fixed an issue with scrollbars malfunctioning on lists with only a few more elements than visible.
- Plugins can be set to be 'hidden'. 'Known' utility plugins not meant by their authors to be loaded directly by users are 'hidden' by default. 'Hidden' Plugins cannot be set to load automatically on Bootstrap's launch.
- Added a checkbox to the setup window to show all plugins. 'Hidden' plugins will display faded in that case.
- Menu button can be rescaled (mouse wheel in repositioning mode).
- The "Show Menu Button" checkbox is gone ... The opacity of the menu button can be set instead. Setting its opacity to 0 will have the same effect as unchecking the checkbox did previously.
v1.2 - 2011 June 22
- Work-around for the 'locale bug' on French and German clients preventing data to be saved correctly.
- Forcing a refresh of the list of plugins on initialization to prevent a situation where Bootstrap might attempt to automatically load a plugin that was removed from under the game (which seems to lead to a corruption of the lua runtime and a client crash, no less ...).
- Lists scroll when using the mouse wheel as they should
v1.1 - 2011 June 16
- Added a "reload" feature
- Known 'utility' plugins not meant by their authors to be loaded directly by users are now displaying faded and cannot be set to load automatically
- Window position & visibility status are now stored
- Fixed a bug where setting plugins to load automatically would be ignored if the order of plugins was never changed in any way.
v1.0 - 2011 June 14
-Initial release.
Archive List (Old Versions)
File Name
Version
Size
Author
Date
1.3b
63.22 Kb
Equendil
07-13-2011 09:58 AM
1.2
53.20 Kb
Equendil
06-22-2011 10:58 PM
1.1
51.58 Kb
Equendil
06-16-2011 09:49 PM
1.0
49.17 Kb
Equendil
06-15-2011 08:47 PM
File Statistics
User Rating:
5 out of 5 with 10 votes
Downloads: 51365
Views: 127411
Favorites: 70
Uploaded By:
 
Last Modified: 07-22-2011 10:59 AM by Equendil    

View Pictures. Download Now! Post A Comment


Post A Reply
Author Comments Comment Options
Unread 06-16-2011, 12:16 AM  
MrJackdaw
The Undying
 
MrJackdaw's Avatar
Interface Author - Click to view interfaces

Forum posts: 249
File comments: 422
Uploads: 19
Quote:
Bootstrap cannot unload plugins or itself, sadly.
Ah! So no reload command. Blast - if you can add this feature (probably via a workaround of some sort) it would be extremely useful!

Feature request;
The ability to hide plugins from the list. This would be useful for plugins that use the "inventory workaround".

Last edited by MrJackdaw : 06-16-2011 at 12:18 AM.
MrJackdaw is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 09:50 AM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Quote:
Ah! So no reload command. Blast - if you can add this feature (probably via a workaround of some sort) it would be extremely useful!

Feature request;
The ability to hide plugins from the list. This would be useful for plugins that use the "inventory workaround".
I'll see what I can do about a 'reload' feature, but besides the lack of a proper API to unload invidual plugins, I have further constrains on what I can do if I want Bootstrap to keep executing other plugins' command.

While fooling around with UnloadScriptState(), I have also encountered a situation where even the game engine is unable to unload lua scripts anymore (as in, "/plugins unload" does not even work, even relogging does not get rid of them). It was a one-time occurrence, but that's an additional concern.

I can implement a reload *command* but it would be invisible to Bootstrap itself (ie, no reloading from the interface), which I assume wouldn't make it that useful. If we're down to the command line, may as well go for the 'clean' way, ie: "/plugins unload" and restart Bootstrap.

I don't give up easily though, I might find a way around these issues

As for hiding plugin stubs used by inventory plugins and some others, yeah, I guess that would be a good thing to do.

Edit: I might have misunderstood you by the way, did you mean reloading invidual plugins ? Or everything ?

Last edited by Equendil : 06-16-2011 at 09:58 AM.
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 12:08 PM  
MrJackdaw
The Undying
 
MrJackdaw's Avatar
Interface Author - Click to view interfaces

Forum posts: 249
File comments: 422
Uploads: 19
Quote:
Edit: I might have misunderstood you by the way, did you mean reloading invidual plugins ? Or everything ?
Sorry for not being clear! Reloading everything - and a slash command is fine.
MrJackdaw is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 12:22 PM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Right, should be done by tomorrow, and it'll actually work from the GUI. Hopefully. I wasn't thinking straight.

Out of curiosity, what is the exact need here ? Other than the general need of resetting everything if plugins or Turbin's API go mental. I *can* unload individual plugins that have their own configuration 'apartment' after all.
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 08:44 PM  
DaemonSambe
The Wary

Forum posts: 0
File comments: 15
Uploads: 0
Nothing doing..

Following these steps, i get nothing:

Login.
load bootstrap
select the plugins i want auto loaded
logout
login
load bootstrap

...

nothing loads up. all previously selected plugins are unchecked.

Last edited by DaemonSambe : 06-16-2011 at 08:45 PM.
DaemonSambe is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 09:47 PM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Re: Nothing doing..

Quote:
Following these steps, i get nothing:

Login.
load bootstrap
select the plugins i want auto loaded
logout
login
load bootstrap

...

nothing loads up. all previously selected plugins are unchecked.
This happens if the list of plugins has not been ordered ever. This should be fixed in the update I'll upload in a moment. Thanks for the report, I seem to have forgotten to test the simplest case :/
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 09:59 PM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Version 1.1 Uploaded,. The "reload" feature has been added, the previously mentioned bug should be fixed. Known 'utility' plugins will now displayed faded and cannot be set to load automatically

Hiding plugins with an option to show them again is going to cause interface issues with ordering the list of plugins, so I'm staying away from that for the time being.
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-16-2011, 11:57 PM  
Setharnas
The Wary

Forum posts: 1
File comments: 27
Uploads: 0
Thank you for this - I have been using pluginmanager for a long time now, but I like the idea of a GUI for exposed commands.

One thing to note is that your one-click-launch can be simplified:
Code:
/shortcut 1 /plugins load bootstrap
does the same as your /alias technique, but without using up one of the (limited to 50) alias slots. Handy for people like me who make extensive use of aliases.
Setharnas is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-18-2011, 02:02 AM  
MrJackdaw
The Undying
 
MrJackdaw's Avatar
Interface Author - Click to view interfaces

Forum posts: 249
File comments: 422
Uploads: 19
Many thanks for the updates!

I use reload for various testing purposes. Saves a little hassle!
MrJackdaw is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-21-2011, 06:01 AM  
Eili
The Undying
 
Eili's Avatar
Interface Author - Click to view interfaces

Forum posts: 159
File comments: 177
Uploads: 13
Nice pluggin.

I have just a little question.

I use manager to actually load my plugins in game, and when an author like Chiran for example has two pluggins in a same folder, Manager recognize them separatly and load them in game fine.

I wanted to try Bootstrap but ... it accept to load Songbook but not Lotropad

Anything i should do for that ?

Thank you
Eili is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-21-2011, 07:44 AM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Quote:
Nice pluggin.

I have just a little question.

I use manager to actually load my plugins in game, and when an author like Chiran for example has two pluggins in a same folder, Manager recognize them separatly and load them in game fine.

I wanted to try Bootstrap but ... it accept to load Songbook but not Lotropad

Anything i should do for that ?

Thank you
It makes no difference to Bootstrap if plugins are in a same folder, if plugins can be loaded manually with "/plugins load <name>" then Bootstrap can load them.

What do you mean by: it does not "accept" to load lotropad ?
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-21-2011, 10:15 AM  
ptweety
The Wary
 
ptweety's Avatar
Interface Author - Click to view interfaces

Forum posts: 2
File comments: 38
Uploads: 2
Bootstrap is looking very nice, but unfortunately I do have a problem with my non-us game client. On reload I get the following:

Code:
EQ_Bootstrap_autoload.plugindata:5: ']' expected near ','
... the Rings Online\Plugins\Equendil\PluginMng\App.lua:982: Unable to parse file!
The mentioned file looks like this:

Code:
return 
{
	["autoLoad"] = 
	{
		[1,000000] = "BigPackWrapper",
		[2,000000] = "BuffMonitor",
		[3,000000] = "KragenBars",
		[4,000000] = "BuffBars",
		[5,000000] = "SortPackLoad",
		[6,000000] = "Palantir"
	}
}
As you can see, there we have the locale problem with Turbine.PluginData.Save using the system default decimal point (',' for german and french users) instead of a simple '.'.

Do you plan to include a fix for this in the near future?
ptweety is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-21-2011, 01:31 PM  
Equendil
The Undying
Interface Author - Click to view interfaces

Forum posts: 52
File comments: 125
Uploads: 5
Quote:
As you can see, there we have the locale problem with Turbine.PluginData.Save using the system default decimal point (',' for german and french users) instead of a simple '.'.

Do you plan to include a fix for this in the near future?
Ah right, I have read that problem mentioned before, but didn't know the specifics. I'll get it fixed.

It also gives me an idea, since this is a plugin manager, I may add an option to patch other plugins transparently, I expect a lot of them do not work on german and french clients.
Equendil is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-21-2011, 02:27 PM  
ptweety
The Wary
 
ptweety's Avatar
Interface Author - Click to view interfaces

Forum posts: 2
File comments: 38
Uploads: 2
Quote:
It also gives me an idea, since this is a plugin manager, I may add an option to patch other plugins transparently, I expect a lot of them do not work on german and french clients.
Hm, most of the plugins (at least the most downloaded ones) are working fine, since they are using more or less the same workarround for this issue.
ptweety is offline Report comment to moderator   Reply With Quote Reply With Quote
Unread 06-22-2011, 05:47 AM  
Eili
The Undying
 
Eili's Avatar
Interface Author - Click to view interfaces

Forum posts: 159
File comments: 177
Uploads: 13
Quote:
It makes no difference to Bootstrap if plugins are in a same folder, if plugins can be loaded manually with "/plugins load <name>" then Bootstrap can load them.

What do you mean by: it does not "accept" to load lotropad ?
It simply does not load that pluging.

When there is two plugins in a folder, he only load one.

------------------------------------------------------------------
Lotropad:This plugins is not loaded by Bootstrap
lotropad.plugin
Folder CHiran =
Songbook: This plugins is loaded by Bootstrap
songbook.plugin
------------------------------------------------------------------

In the configuration menu Lotropad does not exist for Bootstrap

tried to explain better

Last edited by Eili : 06-22-2011 at 05:48 AM.
Eili is offline Report comment to moderator   Reply With Quote Reply With Quote
Post A Reply

 
Category Jump:
Search this Category:
 

All times are GMT -5. The time now is 11:19 AM.


Our Network
EQInterface | EQ2Interface | Minion | WoWInterface | ESOUI | LoTROInterface | MMOUI | Swtorui