Squid

[Plug-In] Application Template Categorizer

50 posts in this topic Last Reply

Recommended Posts

Will the end user still be able to browse all the available containers in a big list like now?

 

Only reason I ask is I've installed a fair few things by looking at what's available and thinking

 

"Wow, that looks cool!"

 

Without necessarily looking for something in that category if that makes sense.

Share this post


Link to post

Absolutely.  That's actually the default display.

Share this post


Link to post

To further expand, the categories that have sub categories their default display is all containers.  IE click on network services and it brings up all network services and then you can further refine it down to ftp, dns etc. 

 

If we get to 75% of containers categorized today or tomorrow then I'll release the update early.  If not then it'll be pushed out on friday night.

 

Not sure if we can hit it early since i know gfjardim is on vacation.

Share this post


Link to post

To further expand, the categories that have sub categories their default display is all containers.  IE click on network services and it brings up all network services and then you can further refine it down to ftp, dns etc. 

 

If we get to 75% of containers categorized today or tomorrow then I'll release the update early.  If not then it'll be pushed out on friday night.

 

Not sure if we can hit it early since i know gfjardim is on vacation.

 

I'm surprised Sparkly's efforts alone didn't take it to over 50% lol

Share this post


Link to post

His two repos account for 23%  (As of last night, there are a total of 174 applications)

 

Of the "big" repos out there, i think that we're missing gfjardim, binhex, and smdion.  At work right now so will check tonight...

 

Edit:  Just checked and we're at 54%.  Probably will be a Friday release at this rate. 

Share this post


Link to post

His two repos account for 23%  (As of last night, there are a total of 174 applications)

 

Of the "big" repos out there, i think that we're missing gfjardim, binhex, and smdion.  At work right now so will check tonight...

 

Edit:  Just checked and we're at 54%.  Probably will be a Friday release at this rate.

 

smdion isn't around so much anymore, moved house and job a few months back and got busy.

Share this post


Link to post

His two repos account for 23%  (As of last night, there are a total of 174 applications)

 

Of the "big" repos out there, i think that we're missing gfjardim, binhex, and smdion.  At work right now so will check tonight...

 

Edit:  Just checked and we're at 54%.  Probably will be a Friday release at this rate.

 

smdion isn't around so much anymore, moved house and job a few months back and got busy.

I know.  seen him online intermittently however.  After a while, maybe someone will pump through a git PR to his repo if he doesn't do it himself.

Share this post


Link to post

Now that Community Applications has been released, and we our on our way towards fully categorizing the applications, I would like to open up the floor to another couple proposals.

 

I would like to add another section to the plugin:  "New / Updated" applications.

 

After bouncing around some ideas with Sparklyballs, I think that the easiest method of implementation would be to add another couple of entries to the XML

 

<Date> and <Changes> (or something similar)

 

While the plugin could be programmed to determine by itself which apps are recently added by itself (by comparing the results between updates), it wouldn't be able to figure out which apps are changed, nor what date the app was changed / updated - which means that user A's date would be different than user B's date.  (And by changed, I mean significant upgrades, bug fixes, feature additions, etc... Merely comparing the docker images or the xml templates wouldn't really suffice in that situation, because for all I know it could be upgraded for a simple spelling mistake somewhere).

 

The <Date> would handle all that.  The categorization plugin could automatically enter in the current date, and since all containers pretty much have to run through this plugin, new containers would automatically be flagged.  Maintainers could then modify the date to flag the container as being updated.

 

In conjunction with this, another entry: <Changes> would also be added.  This would be akin to the Change Log for plugins.  To let users know what has changed from version to version, and then they could choose to update if they choose.  (Currently no such feature exists in dockerMan)

 

Both would be completely optional entries.  Once we get a lot closer to 100% categorization, then I could easily implement this.  (I don't want to implement until we're a lot closer to full categorization so as to not flag the remaining containers as "new" when they really aren't)

 

Note that this means that the authors who have just spent their valuable time categorizing their containers will NOT have to redo them unless they come out with a new container.

 

Curious on everyone's thoughts...

 

Share this post


Link to post

I especially like the idea of adding a changelog. When a docker tells me there is an update, I often have to dig through their github repo to figure out the changes. After all, if the docker is already working well, I wanna make sure the update is not gonna break it

Share this post


Link to post

Getting errors when trying to install the plg:

 

plugin: installing: https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading: /tmp/plugins/docker.categorize.plg ... done

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Document is empty in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Start tag expected, '<' not found in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188
plugin: xml parse error

Share this post


Link to post

Getting errors when trying to install the plg:

 

plugin: installing: https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading: /tmp/plugins/docker.categorize.plg ... done

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Document is empty in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Start tag expected, '<' not found in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188
plugin: xml parse error

I just uninstalled it and retried it, and it worked fine for me.  Could be a bad download?

 

Maybe restart the server also...

 

BTW, I believe I also did a gitHub pull request on your containers with the appropriate information.  (But, going forward you're still going to need this plugin)

Share this post


Link to post

Getting errors when trying to install the plg:

 

plugin: installing: https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
plugin: downloading: /tmp/plugins/docker.categorize.plg ... done

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Document is empty in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): /tmp/plugins/docker.categorize.plg:1: parser error : Start tag expected, '<' not found in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188

Warning: simplexml_load_file(): ^ in /usr/local/emhttp/plugins/dynamix.plugin.manager/scripts/plugin on line 188
plugin: xml parse error

"simplexml" errors are typical of either a bad download or a bad save of a download. "Document is empty" makes it likely that it is a bad save because your flash drive is corrupt. Put it in your PC and let it checkdisk.

Share this post


Link to post
"Document is empty" makes it likely that it is a bad save because your flash drive is corrupt. Put it in your PC and let it checkdisk.

 

It does sound corrupt. I downloaded it with wget and it looks okay to me.

 

But you can see that it's getting saved to /tmp, which I don't believe is on the flash drive.

Share this post


Link to post

What's the output of

df -h

 

Also, thanks for merging the pull requests.  We're now up to 78% categorized.  Only gfjardim, pducharme (both of which are currently unavailable for another week), Hernandito, Pinion and Zuhkov, along with the odd container from some other people remain.

Share this post


Link to post

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           128M  9.1M  119M   8% /var/log
/dev/sda1       1.9G  687M  1.3G  36% /boot
/dev/sdb1       112G   88G   21G  82% /mnt/vms
/dev/md1        1.9T  1.9T  4.5G 100% /mnt/disk1
/dev/md2        1.9T  1.8T  115G  94% /mnt/disk2
/dev/md3        699G   33M  699G   1% /mnt/disk3
/dev/md4        932G   33M  932G   1% /mnt/disk4
/dev/md5        1.9T  1.8T   66G  97% /mnt/disk5
/dev/md6        1.9T  1.8T   64G  97% /mnt/disk6
/dev/md7        1.9T  1.5T  388G  80% /mnt/disk7
/dev/sdc1       112G   69G   44G  61% /mnt/cache
shfs             11T  8.5T  2.3T  80% /mnt/user0
shfs             11T  8.6T  2.3T  80% /mnt/user
/dev/loop0       10G  5.8G  3.1G  65% /var/lib/docker
/dev/loop1      1.8M   85K  1.6M   6% /etc/libvirt

$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
-                16G  884M   15G   6% /

 

I'm not sure what "-" means. Ramdisk? I'm running the latest 6.0-rc3.

 

This worked for me:

 

wget --no-check-certificate https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
installplg docker.categorize.plg 
rm docker.categorize.plg

Share this post


Link to post

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           128M  9.1M  119M   8% /var/log
/dev/sda1       1.9G  687M  1.3G  36% /boot
/dev/sdb1       112G   88G   21G  82% /mnt/vms
/dev/md1        1.9T  1.9T  4.5G 100% /mnt/disk1
/dev/md2        1.9T  1.8T  115G  94% /mnt/disk2
/dev/md3        699G   33M  699G   1% /mnt/disk3
/dev/md4        932G   33M  932G   1% /mnt/disk4
/dev/md5        1.9T  1.8T   66G  97% /mnt/disk5
/dev/md6        1.9T  1.8T   64G  97% /mnt/disk6
/dev/md7        1.9T  1.5T  388G  80% /mnt/disk7
/dev/sdc1       112G   69G   44G  61% /mnt/cache
shfs             11T  8.5T  2.3T  80% /mnt/user0
shfs             11T  8.6T  2.3T  80% /mnt/user
/dev/loop0       10G  5.8G  3.1G  65% /var/lib/docker
/dev/loop1      1.8M   85K  1.6M   6% /etc/libvirt

$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
-                16G  884M   15G   6% /

 

I'm not sure what "-" means. Ramdisk? I'm running the latest 6.0-rc3.

 

This worked for me:

 

wget --no-check-certificate https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
installplg docker.categorize.plg 
rm docker.categorize.plg

Well, it certainly doesn't look like your /tmp is full at all.

 

Only problem with installing a plugin like that is that I don't believe that the plugin manager will have any idea that it's installed, so you will miss out on any updates.  There is a future update planned (see up a couple of posts), but it will only affect new containers.  Also, on a reboot you'd probably also lose the plugin.

 

TBH, I would restart the server and try installing it again through install plugin.

Share this post


Link to post

 

This worked for me:

 

wget --no-check-certificate https://raw.githubusercontent.com/Squidly271/docker.categorize/master/plugins/docker.categorize.plg
installplg docker.categorize.plg 
rm docker.categorize.plg

 

It is strongly recommended to NOT install plugins this way, it bypasses the plugin manager and consequently such a plugin can not be managed through the GUI.

 

The recommended way is to paste the URL of the plugin in the install box of the plugin manager and let it take care of the installation.

 

Share this post


Link to post

I've now implemented support in Community Applications for <Changes>  Completely optional entry.

 

I don't expect (and would be very surprised) everyone to go back through their existing xml templates and add this in.

 

Going forward on new templates, it would be a nice thing to add in.

 

The section is designed to either display a change log or more information for the application.

 

It supports full markdown, (http://daringfireball.net/projects/markdown/syntax) (which means that you have full control over formatting, can add images of your dog or a "repository logo", etc) but there is a slight syntax change.

 

Instead of using "<" and ">" you will be using "[" and "]".  (Internally, all "<" and ">" are translated to "[" and "]").  This is because having items like <br> and <img> confuses the xml parsing.  For an example template, see here:  https://github.com/sparklyballs/beta-repo/blob/master/Sparkly-Beta/Pynab.xml

Share this post


Link to post

Coooolll!! Great job

Don't congratulate me just yet.  Probably all I've done is fed Sparklyballs' ego even more.  But I needed some template to showcase as a technology demo, and pyNab at the time was the absolute newest addition to all the repositories.

Share this post


Link to post

Ok, Done!

 

I only have 3 Dockers, I just categorize them, sorry about the delay, i'm moving from houses and It's a lot more job than it was supposed to...  Unraid back online only yesterday.

Share this post


Link to post

Ok, Done!

 

I only have 3 Dockers, I just categorize them, sorry about the delay, i'm moving from houses and It's a lot more job than it was supposed to...  Unraid back online only yesterday.

No worries.  Life always has to come first.  But your efforts have popped us up to 83%.  After gfjardim gets back from vacation, we'll be basically done. 

Share this post


Link to post

Updated to 2015.06.07

 

The plugin is now going to add / display a third line <Date>

 

The plugin will automatically fill in the current date for this.

 

Since all new containers have to be run through this plugin in order to categorize them, the <Date> section will allow Community Applications to flag the app as a "new" app (for a user determined period)

 

Alternatively, you could also add this section to your existing templates if/when you update them for new features, etc.

 

In conjunction with this, ideally you should add a <Changes> section (detailed a couple of posts above)

 

You would use this format on the text:

 

<Date>yyyy-mm-dd</Date>

 

There is NO need to go through all of your existing containers and add the <Date> tag to them, (unless you've added / updated them very recently)

 

Just working on the final QC for Community Applications, and then it will support this tag.

 

Note for those old containers which are still "stragglers" on categorization:  You really don't want to add this tag to those templates, because the app will then flag them as "new" when in reality they are not.

 

 

Thanks,

Share this post


Link to post

Updated to 2015.07.26  Hotfix for 6.1rc2

Share this post


Link to post

Updated to 2015.12.05

 

Added a new sub-category from tools (System Utilities), which is where I would expect that a lot of the plugins would be categorized under.

 

This plugin is suitable for authors to categorize either docker templates or plugin templates.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Copyright © 2005-2018 Lime Technology, Inc.
unRAID® is a registered trademark of Lime Technology, Inc.