Posts: 76
Threads: 7
Joined: Jun 2015
2015-06-28, 00:57:33
(This post was last modified: 2015-06-29, 01:25:11 by HelgeSverre.)
GS Plugin Installer
A Plugin Installer for GetSimple CMS 3.3.x
Download Here
About GS Plugin Installer
GS Plugin Installer is a plugin installer created for the GetSimple CMS, versions 3.3.x, It has not been tested on versions older than 3.3.5, but I don't think the plugin architecture has changed drastically in the 3.3.x releases, if anyone more knowledable of Plugin Development in GS can confirm this please let me know.
The plugin works by querying the Extend API URL: http://get-simple.info/api/extend/all.php which to my knowlege is mostly undocumented, it will then cache the result into a JSON file, I have chosen to do it this way because if you were to query the api on every request, it will be extremely slow, since there is no way to "paginate" the response from the api.
The cache will by default be refreshed every 24 hours, but by clicking the "Refresh list" button will force the cache to refresh.
NOTE: that the Extend API is cached and will only update every 4 hours according to the official documentation.
The jQuery plugin DataTables is used to display, search and sort the plugin list, this enables you to quickly find the plugin you are looking for and install or uninstall it.
Install the plugin
- Download the gs-plugin-installer.zip file
- Unzip it into /plugins
- Activate it in the "Plugins" tab in your GetSimple CMS admin area.
Features- Installing plugins
- Uninstalling plugins
- Sort plugins by name, author and whether or not its installed or not.
- Search for plugins by name, author and it's installation status
Planned Features and TODOs- Enable installation of multiple plugins at the same time
- Add way to active a plugin from the plugin installer, this can only be done from the native "Installed Plugins" area for now.
- Improve the caching system.
- Enable a "read more" feature for descriptions of plugins with a hide/show dropdown feature, right now descriptions are capped at 120 characters. Fixed in 1.0.4
- Refactor the script to be more object oriented and structured.
- Add more flexibility through plugin settings so users can control the behaviour of the script and caching functionality.
- Add sorting by "latest updated"
Reporting bugs
Please report bugs in this thread or create a GitHub Issue.
Posts: 1,928
Threads: 88
Joined: Apr 2010
After clicking on the link Install all disappear
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-28, 03:30:45)Oleg06 Wrote: After clicking on the link Install all disappear
- Do you get any errors?
- Which version of GetSimple are you using?
- Which PHP Version are you using?
- Which Server software are you using?
Posts: 1,928
Threads: 88
Joined: Apr 2010
2015-06-28, 04:47:11
(This post was last modified: 2015-06-28, 04:48:23 by Oleg06.)
I'm sorry, I guess I used the 3.3.6 beta, on 3.3.5 works,
conflicts with plugin debug
Code: Notice: Constant GSDEBUG already defined in /home/cp459243/public_html/gs/00/plugins/debug.php on line 26
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-28, 04:47:11)Oleg06 Wrote: I'm sorry, I guess I used the 3.3.6 beta, on 3.3.5 works,
conflicts with plugin debug
Code: Notice: Constant GSDEBUG already defined in /home/cp459243/public_html/gs/00/plugins/debug.php on line 26
Ahh I see.
How are you liking the plugin, got any feature requests, improvement suggestions etc?
Posts: 1,928
Threads: 88
Joined: Apr 2010
I think the plugin is very useful, I definitely be useful
Posts: 6,266
Threads: 181
Joined: Sep 2011
strip tags on descs...
eg..
PHP Code: Absolute Link Fixer <p>This plugin replaces all occurencies of current site path string to specified string, while saving pages.</p... Version 1.00 — Author: mganko
Posts: 6,266
Threads: 181
Joined: Sep 2011
add class highlight to your table to get standard row highligting
Posts: 6,266
Threads: 181
Joined: Sep 2011
open title links in new windows
add data column for sorting new or updated dates, maybe just sort buttons for these and hidden date columns to save ui space.
probably not much space to add both dates as columns.
2 lines for descs, or overflow scroll or grow on hover or something.
Posts: 76
Threads: 7
Joined: Jun 2015
2015-06-28, 07:57:57
(This post was last modified: 2015-06-28, 08:14:10 by HelgeSverre.)
(2015-06-28, 06:32:44)shawn_a Wrote: strip tags on descs...
eg..
PHP Code: Absolute Link Fixer <p>This plugin replaces all occurencies of current site path string to specified string, while saving pages.</p... Version 1.00 — Author: mganko
(2015-06-28, 06:36:15)shawn_a Wrote: add class highlight to your table to get standard row highligting
(2015-06-28, 06:49:07)shawn_a Wrote: open title links in new windows
add data column for sorting new or updated dates, maybe just sort buttons for these and hidden date columns to save ui space.
probably not much space to add both dates as columns.
2 lines for descs, or overflow scroll or grow on hover or something.
- Thanks, Didn't think about that! I have updated the plugin, 1.0.3 fixes this issue.
- Class added.
- Title links are now opened in a new window(v1.0.3).
- Ordering by "latest updated" is added to the TODO list.
- When hovering the table row the description will now expand and show the entire description, if you've got a suggestion of a better way to do this, please share.
Posts: 6,266
Threads: 181
Joined: Sep 2011
you need to stick your desc in its own container, now your hiding the version and author...
And probably add a transition on hover, but you cant transition td. So that might be difficult.
maybe a row height of 40px not 100px
i wonder if a css only :after rule could add a more... element.
else a js solution would be needed
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-29, 00:06:45)shawn_a Wrote: you need to stick your desc in its own container, now your hiding the version and author...
And probably add a transition on hover, but you cant transition td. So that might be difficult.
maybe a row height of 40px not 100px
i wonder if a css only :after rule could add a more... element.
else a js solution would be needed
Fixed in 1.0.4
- Description is now in its own div
- Each row is now only 45px
- Description will expand on hover, with a transition effect and time of .8s
- Author and version info is always visible.
- Added check to see if cache directory exists, if it doesn't, it will create it.
Posts: 1,928
Threads: 88
Joined: Apr 2010
somehow it all began to jump
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-29, 03:28:40)Oleg06 Wrote: somehow it all began to jump
...Began to jump?
Posts: 6,266
Threads: 181
Joined: Sep 2011
Yeah transitions are iffy on table elements, and max-height, I am not sure the expand transitions work right.
The are a bit jumpy, but its good enough for now.
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-29, 03:59:18)shawn_a Wrote: Yeah transitions are iffy on table elements, and max-height, I am not sure the expand transitions work right.
The are a bit jumpy, but its good enough for now.
Which browser are you using?
Works smoothly on Chrome 43 and IE 11 on Windows 8.1
Posts: 1,928
Threads: 88
Joined: Apr 2010
it may be better to make a detailed description opened when clicking
try to hover on plugins series I18N
Posts: 6,266
Threads: 181
Joined: Sep 2011
Yeah it will be, but then you have to use javascript code, that can wait.
What suprised me is that there is no native easy way to do this in GS ( jq or jqui) i even created an issue to add it.
https://github.com/GetSimpleCMS/GetSimpl...ssues/1063
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-29, 07:36:36)shawn_a Wrote: Yeah it will be, but then you have to use javascript code, that can wait.
What suprised me is that there is no native easy way to do this in GS ( jq or jqui) i even created an issue to add it.
https://github.com/GetSimpleCMS/GetSimpl...ssues/1063
I'll revisit this when something liek this has been built into GS or if there is a huge demand for it, the current solution works for now.
Posts: 1,928
Threads: 88
Joined: Apr 2010
Posts: 6,266
Threads: 181
Joined: Sep 2011
show/hide is not the same effect, as show more.
Posts: 305
Threads: 15
Joined: Mar 2014
2015-06-29, 09:06:41
(This post was last modified: 2015-06-29, 09:07:40 by Tyblitz.)
Meh! I guess you half-beat me to it: http://get-simple.info/forums/showthread.php?tid=5498. Anyway feel free to borrow ideas from that thread/ the screenshot, I'm not going to be able to finish it before a couple of months.
I had some other ideas like color-coding plugins according to star rating vs. amount of downloads, but might be overkill for this plugin.
Posts: 50
Threads: 9
Joined: Sep 2014
2015-06-30, 18:33:41
(This post was last modified: 2015-07-02, 01:05:48 by df8oe.)
New feature wanted... Plugin works great for me but it will be much greater if it recognizes when installed version of plugin is older than the one in the actual list and if so there appears a button "update" beneath "uninstall".... So you can update plugins via webinterface too. I don't have tested if uninstall and then again install works too but you have to activate new installed plugins and maybe you run into problems if activated plugin is uninstalled...
Great plugin already!
I have made a "quick-and-dirty-hack" to solve this....
I dont have spend time in function that compares version of installed plugin and available like the standard plugin module does.
I just have added a new button to every installed plugin. Now not only "Uninstall" is available, but a second button "Reinstall". If you click this button the plugin is installed once again and if there is a new version available you have "updated" the plugin! The only thing is you must have had a look in the standard-plugin-list and remember if there are updates available. Then you can switch to the installer, search for the recommended plugins and click "Reinstall" - thats all!
What to do in source code??
Insert behind the line:
Code: <a class="cancel" href="<?php echo $SITEURL . "admin/load.php?id=gs_plugin_installer" ?>&uninstall=<?php echo $plugin->id ?>">Uninstall</a>
the following line:
Code: <br><a class="cancel" href="<?php echo $SITEURL . "admin/load.php?id=gs_plugin_installer" ?>&install=<?php echo $plugin->id ?>">Reinstall</a>
OK - what 2do:
- write a function that compares versions of installed plugins and available plugins and show plugins where updates are available always on top of the list....
I am not sure plugin is maintained actually so I don't know if the author realizes this or the community...
Greetz
Andreas
BTW:
In source i found a table heading "updated" - but this is never shown in my screens. Is it a bug or is its reason the theme I am using??
Posts: 76
Threads: 7
Joined: Jun 2015
(2015-06-30, 18:33:41)df8oe Wrote: New feature wanted... Plugin works great for me but it will be much greater if it recognizes when installed version of plugin is older than the one in the actual list and if so there appears a button "update" beneath "uninstall".... So you can update plugins via webinterface too. I don't have tested if uninstall and then again install works too but you have to activate new installed plugins and maybe you run into problems if activated plugin is uninstalled...
Great plugin already!
I have made a "quick-and-dirty-hack" to solve this....
I dont have spend time in function that compares version of installed plugin and available like the standard plugin module does.
I just have added a new button to every installed plugin. Now not only "Uninstall" is available, but a second button "Reinstall". If you click this button the plugin is installed once again and if there is a new version available you have "updated" the plugin! The only thing is you must have had a look in the standard-plugin-list and remember if there are updates available. Then you can switch to the installer, search for the recommended plugins and click "Reinstall" - thats all!
What to do in source code??
Insert behind the line:
Code: <a class="cancel" href="<?php echo $SITEURL . "admin/load.php?id=gs_plugin_installer" ?>&uninstall=<?php echo $plugin->id ?>">Uninstall</a>
the following line:
Code: <br><a class="cancel" href="<?php echo $SITEURL . "admin/load.php?id=gs_plugin_installer" ?>&install=<?php echo $plugin->id ?>">Reinstall</a>
OK - what 2do:
- write a function that compares versions of installed plugins and available plugins and show plugins where updates are available always on top of the list....
I am not sure plugin is maintained actually so I don't know if the author realizes this or the community...
Greetz
Andreas
BTW:
In source i found a table heading "updated" - but this is never shown in my screens. Is it a bug or is its reason the theme I am using??
The plugin is brand new and I plan on actively supporting and updating it, I am working on a new feature at the moment, as well as cleaning up the code a bit.
The updated column is not currently used for anything, but in the future you will be able to order the plugins by various data like when it was last updated, I added in the field there so i had it to work with in the future.
As far as i understand the default plugin manager has an "update" feature, So It's not in my "todo" list at this moment in time, but if you want to add this feature that'd be nice, you can contribute code in the GitHub repository
Posts: 50
Threads: 9
Joined: Sep 2014
Hello Helge,
I think your plugin has the power to become part of the "basic installation" of get simple. The standard module "plugin.php" allows showing installed plugins - your plugin does too.
But your plugin is much powerful: it allows installation via webinterface - a very, yery useful feature which brings get simple miles forward....
If a function that implements updates is available you wipe away original module - I believe so. Your plugin has the power to be a milestone in development of get simple in this part of development.
Andreas
|