GetSimple Support Forum

Full Version: GS Plugin Installer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
GS Plugin Installer
A Plugin Installer for GetSimple CMS 3.3.x


Download Here


[Image: screenshot.png]


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
  1. Download the gs-plugin-installer.zip file
  2. Unzip it into /plugins
  3. 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.
After clicking on the link Install all disappear
(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?
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
(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?
I think the plugin is very useful, I definitely be useful
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 — Authormganko 
add class highlight to your table to get standard row highligting
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.
(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 — Authormganko 

(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.


  1. Thanks, Didn't think about that! I have updated the plugin, 1.0.3 fixes this issue.
  2. Class added.
  3. Title links are now opened in a new window(v1.0.3).
  4. Ordering by "latest updated" is added to the TODO list.
  5. 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. Smile

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
(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.
somehow it all began to jump Smile
(2015-06-29, 03:28:40)Oleg06 Wrote: [ -> ]somehow it all began to jump Smile


...Began to jump?
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.
(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
it may be better to make a detailed description opened when clicking
try to hover on plugins series I18N
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
(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.
show/hide is not the same effect, as show more.
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.
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??
(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 Smile
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
Pages: 1 2 3 4