Hmm I just realized that it was stupid of me to rename the refresh button to "update"... since it does not update the plugin, but rather the list of plugins... I'll change that back to refresh.
(2015-07-02, 05:04:27)shawn_a Wrote: We do not have plugin updating in core, it only shows a link to download, version compare and update should most definetly be a feature.
See plugin updater plugin..
Ahh I see, updating should definitely be a feature, I might hack on core a little bit after looking through it to learn a bit more, maybe make a PR or test release with that functionality sometime if nobody else is working on it.
2015-07-03, 04:56:40 (This post was last modified: 2015-07-03, 05:06:57 by df8oe.)
yes.... and if your plugin does the same check as the core php you can create an array at call of your plugin where all installed active plugins where an update is available are stored, you can build the list leading the installed plugins where updates are available. I think your idea "checkbox" for multiple action is very good - so you can mark all plugins where you want to run an update at "one action".
I have tried many cms for small purposes and found gs is the best. But from the time I choose gs (about 1 year ago) so many things where realized - it is amazing
Until you implement something like above I stupidly attach a "reinstall" link at every installed plugin. So there is no need to take another plugin for updates or open a ftp session....
Best regards
Andreas
additional information:
I tried to update gs plugin installer via "plugin updater". Result: "malformed you must update manually blablabla...
OK - I tried to update via the patched version of plugin installer from YOU - and update works fine...
I want to let other developers write plugins for GS Plugin Installer, I'd like some feedback on which hooks to add and things like that.
Version 1.2.6 has been released.
Localization has been added and some code has been cleaned
Just wonderin, '1.2.6' or '1.3.6'? Must be a typo here/ in the main plugin file on Github.
As for hooks, one use case I see is for warning/update messages/info & links when a user clicks install/ uninstall. Eg suppose myPlugin v2.0 introduces breaking changes with the previous version, before the new version is automatically installed, I'd like to send the user a message (perhaps a dialog box): "Are you sure you want to update? This version introduces breaking changes. Please read the *link: release notes*
I want to let other developers write plugins for GS Plugin Installer, I'd like some feedback on which hooks to add and things like that.
Version 1.2.6 has been released.
Localization has been added and some code has been cleaned
Just wonderin, '1.2.6' or '1.3.6'? Must be a typo here/ in the main plugin file on Github.
As for hooks, one use case I see is for warning/update messages/info & links when a user clicks install/ uninstall. Eg suppose myPlugin v2.0 introduces breaking changes with the previous version, before the new version is automatically installed, I'd like to send the user a message (perhaps a dialog box): "Are you sure you want to update? This version introduces breaking changes. Please read the *link: release notes*
Oops yup, that was a typo, although I skipped a version it seems.. I made a lot of changes in that version so I guess I can justify it... and PHP did it with 7 so.
Either way, I'll look into adding some of those types of hooks into the plugin.
I am also trying to bring some sort of "mvc"-structure to my plugin, where as you call controllers within the plugin instead of doing the procedural spaghetti-mess I am doing now in the main function, but I don't know if that is the best way to do it.
I got a warning box from my chromium when I call plugin installer 1.3.6:
DataTables warning: table id=plugin_table - Requested unknown parameter '4' for row 0. For more information about this error, please see http://datatables.net/tn/4
(2015-07-04, 02:44:12)df8oe Wrote: I got a warning box from my chromium when I call plugin installer 1.3.6:
DataTables warning: table id=plugin_table - Requested unknown parameter '4' for row 0. For more information about this error, please see http://datatables.net/tn/4
Best regards
Andreas
Do you get this warning when you click on the "Plugin Installer" link in the sidebar?
(2015-07-04, 02:44:12)df8oe Wrote: I got a warning box from my chromium when I call plugin installer 1.3.6:
DataTables warning: table id=plugin_table - Requested unknown parameter '4' for row 0. For more information about this error, please see http://datatables.net/tn/4
Best regards
Andreas
Do you get this warning when you click on the "Plugin Installer" link in the sidebar?
Which PHP Version are you using?
Which hosting provider do you use?
Is CURL installed?
Does it happen every time or only the first time?
Hello Helge,
Yes, I get this warning when I click on the "Plugin Installer" link in the sidebar
I am using PHP 5.4.41-0+deb7u1
It is my own root server running Debian 7.8
CURL is installed (7.26.0-1+wheezy13)
This happens every time
(2015-07-04, 02:44:12)df8oe Wrote: I got a warning box from my chromium when I call plugin installer 1.3.6:
DataTables warning: table id=plugin_table - Requested unknown parameter '4' for row 0. For more information about this error, please see http://datatables.net/tn/4
Best regards
Andreas
Do you get this warning when you click on the "Plugin Installer" link in the sidebar?
Which PHP Version are you using?
Which hosting provider do you use?
Is CURL installed?
Does it happen every time or only the first time?
Hello Helge,
Yes, I get this warning when I click on the "Plugin Installer" link in the sidebar
I am using PHP 5.4.41-0+deb7u1
It is my own root server running Debian 7.8
CURL is installed (7.26.0-1+wheezy13)
This happens every time
Best regards
Andreas
Could you try deleting the plugin and reinstalling it for me to see if maybe there was a problem with "upgrading" it to the latest version?
(2015-07-04, 02:32:01)HelgeSverre Wrote: I am also trying to bring some sort of "mvc"-structure to my plugin, where as you call controllers within the plugin instead of doing the procedural spaghetti-mess I am doing now in the main function, but I don't know if that is the best way to do it.
Do you have any recommendations in this regard?
The code looks like neat OO already (more than mine), and given the size of it (2 files, 200-400 lines) I doubt it will bring substantial benefit. Always good to separate concerns though; you could put the form HTML in a separate file view.php & include it in main, and as you suggested in comment (eg in controller.php):
Quote:Move a lot of this logic into a "controller" class, leaving this method as only a routing function
The model you already have - PluginInstaller.class.php.
Feel free to have a look at my code for GS Custom Settings, although for PHP I think I have more to learn from you (I develop mainly JS MVVM (KnockoutJS)).
(2015-07-04, 02:32:01)HelgeSverre Wrote: I am also trying to bring some sort of "mvc"-structure to my plugin, where as you call controllers within the plugin instead of doing the procedural spaghetti-mess I am doing now in the main function, but I don't know if that is the best way to do it.
Do you have any recommendations in this regard?
The code looks like neat OO already (more than mine), and given the size of it (2 files, 200-400 lines) I doubt it will bring substantial benefit. Always good to separate concerns though; you could put the form HTML in a separate file view.php & include it in main, and as you suggested in comment (eg in controller.php):
Quote:Move a lot of this logic into a "controller" class, leaving this method as only a routing function
The model you already have - PluginInstaller.class.php.
Feel free to have a look at my code for GS Custom Settings, although for PHP I think I have more to learn from you (I develop mainly JS MVVM (KnockoutJS)).
Thanks I try to improve my code-cleanliness.
Is GetSimple going to move towards more OOP in the future or is that a concern that is not very high on the list atm?
I have been looking a lot at Knockout lately, it looks really nice, I actually found out about it due to modding your GS Custom Settings plugin due to some weirdness with the FlatBlue admin theme ( or whatever it was called) , It sort of makes sense to me, might use it in the future for a plugin, manual data binding with jQuery or pure js is a bish to maintain.
(2015-07-04, 07:54:45)df8oe Wrote: Bingo - my warning box is gone by clearing browser cache (Chromium 43.0.2357.65 Built on 8.0 running on Debian 8.1).
Very strange....
Thanks!
I am looking at feature "reinstall" and testing installed versions of plugins against available - hope I have enough time next week
Andreas
Nice, the issue here was that the script.js file in the plugin was cached, which initalized the datatable plugin in a certain way(making the column with the checkbox non-searchable) which in the new version, I had removed a hidden column, making the column index not exist, therefore giving a warning.
I'll take a note of that in the future.
You can technically "update" a plugin by simply reinstalling it by selecting it and clicking install, this will download the latest version and unzip it in the plugin folder.
HOWEVER
if the plugin is not packaged correctly it won't work properly.
Great! I tested - working 100%. What I expected to get if I saw your plugin first now 100% is ready and working. Everything I think about is "new feature" and not a MUST. Now it is very easy to search for plugins and install and update them. Of course they must be packed "standard way" - but that would be a problem of a non-compatible plugin and not yours I wonder if there is call where you can handle themes in the same way - just an idea...
Have a nice weekend - here in Germany it is *very* hot and today I spoke to Sverige radio amateur whose weather report for south Sweden is hotter than normal, too.
I just tested the api all.php result and I saw that there are already all themes present...
So I have a new idea:
- create radiobuttons / dropdown with "plugin/theme"
- create another database containing only themes (the present one contains only plugins) or change strategy to build a databes containing both and make a selection later
- in relation to selection you can offer install / uninstall for plugins OR themes. I don't know if there is a documented way to gt a preview of a theme. Of so --> add preview to description row
So users can install / uninstall themes via webinterface... If you think this will overload your plugin - why not create a new one called "theme installer" which has slightly different code (but most is the same??
Thanks to the both of you, it's been added into GitHub, will push it out to Extend sometime today
(2015-07-04, 19:55:57)df8oe Wrote: I just tested the api all.php result and I saw that there are already all themes present...
So I have a new idea:
- create radiobuttons / dropdown with "plugin/theme"
- create another database containing only themes (the present one contains only plugins) or change strategy to build a databes containing both and make a selection later
- in relation to selection you can offer install / uninstall for plugins OR themes. I don't know if there is a documented way to gt a preview of a theme. Of so --> add preview to description row
So users can install / uninstall themes via webinterface... If you think this will overload your plugin - why not create a new one called "theme installer" which has slightly different code (but most is the same??
Andreas
I initially thought of making the plugin able to install themes and plugins, but just implemented plugins, I could easily create another one with almost the same codebase that does themes, I'll look into it
(2015-07-07, 23:11:05)datiswous Wrote: Can you add support for markdown for the description texts? Original Extend pages have support for markdown formatting.
Add filter for GS versions compatibility, like 2.03, 3.0, 3.1, 3.2, 3.3 .
Plugin activate/deactivate button.
I'm wondering if adding Markdown parsing is going to slow down the plugin too much, Markdown is readable in its unparsed form anyways, I might do some test to see if the overhead is low enough to accept.
I can look into adding a version-compability filtering feature.