LoTROInterface

LoTROInterface (https://www.lotrointerface.com/forums/index.php)
-   General Authoring Discussion (L) (https://www.lotrointerface.com/forums/forumdisplay.php?f=22)
-   -   A request of fellow plugin authors (https://www.lotrointerface.com/forums/showthread.php?t=1720)

lunarwtr 12-30-2011 01:29 PM

A request of fellow plugin authors
 
For the plugin installer / updater application (Lotro Plugin compendium or LPC), there are a few things I could use support from community with. I'm not 100% sold on the "best way", but I do want to bring up the problem, and a solution as it pertains to the application I wrote.

1) Naming of Plugin. The title in the .plugin file is not matching what name is on lotro interface. The problem with this comes when a user has manually installed a bunch of things, and then goes to start using LPC. The application scans the existing plugin folder and tries to reconcile what plugins match up with what plugins on lotro interface. That said, I consider the name LOTRO interface has as the table of record vs the plugin file. I do this because updates and new addons will come from there. (so please don't go and edit the name :P)

2) Version Number. The version #'s lotro interface has, and the version numbers in the .plugin files are all over the place and not matching for a lot of plugins. This causes false positives in whether plugins are prompted to be updated.

3) Zip file contents. 85%+ of you have the zip/rar/7z/etc.. file folder structure consistent with one another. That being of the following format

Code:

Yourplugin.zip
      AuthorFolder/
              Plugin.plugin
              PluginFolder/
                        The plugin lua files

I heard some of you describe it on your "info" pages as. If you extract the zip file from within the "Plugins" folder, it should work. This is essentially what I'm doing with LPC.

3) Dependencies. This is a difficult one.. The way that I have tried to solve it is with an additional "file" to be included in the download. This actually solves several problems but will focus on dependencies. I've crawled lotro interface "info" pages for most of the plugins we have, and tried to find which plugins require what dependencies and generated sample files for most plugins. Unlike the ".plugin" files, a download should only contain one of these. Please see the info page for LPC if you need more details on this. I am open to ideas / changes.

http://lotrocompendium.sourceforge.n...ginAuthors.zip

D.H1cks 12-30-2011 03:38 PM

Quick question. The .plugincompendium file goes in the same folder as the .plugin file?

Oh another one. How important is the Author name matching from the plugin to the name on the website. I prefer to use Dhor as my Author name in my plugins.

lunarwtr 12-30-2011 03:53 PM

Yes.. the .plugincompendium file should go inside the Author folder where the other .plugin files typically go.

Author isn't so important unless you care what gets displayed to the user. Different values will be used depending on the circumstance. Let me explain how the config works...

There are 3 conditions..

1) User had manually installed plugins themselves. (there is no .plugincompendium file) In this case version & author are pulled from the .plugin file. The name is used for matching with LOTRO Interface. In all the instances that these did not initially match, I compiled into LPC a small mapping table so that most of the existing plugins will match up.

2) Upon updating or installing with LPC, if a .plugincompendium file exists in the installed zip, it will use this, and use the author or version from it.

3) Upon updating or installing an addon that DOES NOT contain a plugincompendium file, LPC will autogenerate one. In this instance the author and version are taken from the LOTRO Interface feed that LPC retrieves each time it is ran. Keep in mind though that the dependencies your plugin needs may be missing. Information on how to annotate the dependencies are on LPC's info page.


This brings up another point.. To work around different limitations in LOTRO's lua beta.. many authors have started including multiple .plugin files in one download (to use with loading / refreshing / etc). In order to prevent multiple entries from showing in LPC, the .plugincompendium file allows you to fill out a list of the .plugin files that your plugin uses to operate under the "Descriptors" tag.

Here is an example of one that has a lot going on..

Code:

<?xml version="1.0" encoding="utf-8"?>
<PluginConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Id>366</Id>
  <Name>Bevy o Bars</Name>
  <Version>2.321</Version>
  <Author>MrJackdaw</Author>
  <InfoUrl>http://www.lotrointerface.com/downloads/info366</InfoUrl>
  <DownloadUrl>http://www.lotrointerface.com/downloads/download366</DownloadUrl>
  <Descriptors>
    <descriptor>JackdawPlugins\BevyOBars2.plugin</descriptor>
    <descriptor>JackdawPlugins\BevyOBars2AutoLoader.plugin</descriptor>
  </Descriptors>
  <Dependencies>
    <dependency>0</dependency>
    <dependency>367</dependency>
    <dependency>575</dependency>
  </Dependencies>
</PluginConfig>


lunarwtr 01-26-2012 07:26 PM

3 Attachment(s)
Just wanted to remind authors about this incase you hadn't read. Most plugins will work without including a file, but I encourage you to do so, and keep it up to date. Thanks to all the authors that have supported me by including one.

Regarding .plugin file inconsistency.. it becomes apparent that the versions kept in plugin files isn't in sync with lotrointerface. At least consider updating that. If I download all available plugins as they are today manually, then start up LPC, see yellow that shows up and compare Version & New Version in LPC ui.

D.H1cks 02-03-2012 11:25 AM

When I created the new champ plugin yesterday I was going to include a .plugincompendium file with it, but then had one problem. Since it was a new plugin, I did not know what number to use to identify it, so I could not.

lunarwtr 02-03-2012 11:37 AM

Quote:

Originally Posted by D.H1cks (Post 7629)
When I created the new champ plugin yesterday I was going to include a .plugincompendium file with it, but then had one problem. Since it was a new plugin, I did not know what number to use to identify it, so I could not.

You are correct. All new plugins have to be uploaded at least once, then are able to find their ID, download url, etc... I am unsure if lotrointerface lets you create a "download" page w/o a download. Perhaps it stays in a pending review state, but creates the id / url / etc..

EDIT:

This brings up a good point though that I wanted to point out. In recent version of LPC, I've allowed uses to use their own feed for the data. This feed allows you to test out your plugin before it is added to LPC. You can create your own feed by following the instructions on the LPC configuration tab (it essentially uses your favorites list). This relates to the comment above in that if you plugin is new, LPC will auto-magically create a .plugincompendium file for any plugin it installs. Mind you if you have dependencies, you might need to add those by hand, but it can assist in filling all the tags out.

Garan 02-03-2012 12:33 PM

AFAIK, you must include a file and at least one image in order to generate a download page.

D.H1cks 02-03-2012 12:56 PM

Quote:

Originally Posted by Garan (Post 7631)
AFAIK, you must include a file and at least one image in order to generate a download page.

You don't need an image if you are creating the first version of the download via SVN repository, which is why my download page still does not have an image with it.

I don't really like the idea of 'spamming' the site with multiple versions of a plugin if I don't need to. I would like to hear an admin's opinion on uploading, and then updating a new plugin before its released.

lunarwtr 02-03-2012 01:29 PM

Perhaps a checkbox could be added to the upload / edit process of a new download to indicate you are still editing the upload informations, but would like to save your work in progress. The default state of the said checkbox would be to let it work like it does today.

Can talk to Dolby and see what that might entail.

Dolby 02-03-2012 03:21 PM

If a plugin is uploaded as new when it should have been an update it will be deleted. I'm sorry but that will make the website un-usable. Also allowing people to insert an id and then the possibility of them never coming back to update just creates a mess that needs to be cleaned up often.

I dont think using the ID numbers of our files is a good idea. You need a proper API where you can bounce the name of the plugin dependency off of and get the update. Heck you're not even using the favorites API correctly as your using it to create a list of all plugins where I thought this project was just going to update peoples plugins that are marked as favorites on the site. I need to think about this as we have normally reserved this for our Minion app since it has an ad so we can continue to pay the bills.

I think I'll open up the entire API to the public here and see what happens. I'll do my best to get this done in the next couple weeks.


All times are GMT -5. The time now is 07:52 AM.

vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI