-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4.0] Install from Web #19319
[4.0] Install from Web #19319
Conversation
A couple notes: Because of an architectural decision in 2013, the remote server is rendering the markup shown in the backend UI. Without re-engineering things, markup for the 4.0 template will need to be added to that repo and we'll need to use something to communicate the right markup to render (we already send the Joomla version so we can probably use that). All other media assets (CSS/JS) are self contained in the plugin. So feel free to do what you please with those. |
Thanks @mbabker For now I would just like to be able to get rid of the javascript errors |
@brianteeman I pushed ec441a5 onto this PR doing a round of updates for the plugin (tried to do it as a PR to your branch but GitHub kept 404'ing on the save action). |
@brianteeman Check brianteeman#69 as that merges @DGT41 initial JavaScript with me debugging things to get it working. It ain't pretty but it doesn't have any JS errors now. |
Years ago I re-wrote the plugin, but it couldn't be used because the JED API wasn't able to handle request as needed. It was and it is a stupid idea to render markup on the remote server. We shouldn't do this misstake again. |
* [4.0] Remove grunt in favour of native node build scripts (joomla#18446) * These are junk * First pass on converting JS * Fix path to loader * CS tweaks for IFW JS, move event listener registration into success callback so that the changed DOM elements correctly receive them, change how custom events are triggered so they'll actually work * Make sure elements exist in DOM
So now it seems to be working and we just have markup issues to resolve. I am not too familiar with the IFW server and what is the most sensible way forward now. Any suggestions? |
I started https://github.com/joomla-extensions/install-from-web-server/compare/j4-support to deal with the UI changes (the plugin already sends the CMS version information with each request, I'm just using that to make decisions on which templates to load now). The grid views are functional, need to work on the list views and single extension view next. I'm basically doing a quick and dirty BS2 -> BS3 -> BS4 type migration to get the markup sorted with default elements, someone with an eye for design can make things prettier later. |
@mbabker ok thats great - in that case this can probably be merged for now and then improved upon when that work is completed? |
@rdeutz I think when we are in a state where we can rewrite the architecture, we should update everything all at once (the standalone plugin for 3.x and the core plugin in 4.x). Let's not work ourselves into a point where we're maintaining two versions of the architecture for the next 3 years. So for now, the "easiest" thing is to keep using the same architecture (with good and bad decisions involved in it) and adapt for the new major version. |
@brianteeman For now I would call this a "ready to merge" state as the plugin itself is now fully functional and any further changes are just part of the rest of the refactoring of the CMS codebase for 4.x (i.e. the JavaScript decoupling from jQuery) or the work is happening outside the CMS and doesn't block work here. |
thanks for minifying the script - it was on my todo list but i forgot after drowning my sorrows as a result of a meeting tonight |
Check and merge brianteeman#70 please. Does a lot of the cleanup stuff that needed to happen anyway (I finished the server side layouts then figured I'd do another round of effort on the plugin to get it up to spec). |
* Migrate JS vars to use the script options storage * Remove the plugin event allowing to dynamic toggle JED alert * PHPCS pass * Put back plugin group import, migrate installer plugin to use the same event other plugins do so display is controlled the same way consistently * Activate tab immediately in first spot * Oops
thanks @mbabker all merged and crossed of my todo list for tomorrow |
Shooting from the hip, the only real work left here before things are "clean":
Then at some point whenever JED supports it we should probably update the server's API queries into the JED to filter out extensions that aren't compatible with whatever major version is in use. |
my 2c would be to merge now and do further improvements later |
Agree wholly. I'll merge up the layout work to the live server after this PR is merged too so it's not completely busted. |
thanks - i plan to check the server stuff tomorrow |
@mbabker I started to update the css but then saw you hadnt finished with the layouts/markup on the server so I wont do anymore until thats finished |
@wilsonge Can you merge this please. Its very hard to test unless you create your own IFW server and it will help to make the testing of the IFW changes if this is merged - thanks |
I just pushed up the work for the layout changes. So now with this PR applied you should get the J4 optimized UI. |
Thanks @mbabker Tomorrow I will try and push some fixes I have locally for the server. |
Merged as requested :) |
Thanks!! |
History
This functionality was developed and released for Joomla 3.2 (https://community.joomla.org/blogs/leadership/install-from-web-and-jed-listings.html) over 4 years ago. Although the original intention was that this would be part of the core it was released as an external plugin. One of the main reasons for that decision was the belief by the PLT at the time that
I think after 4 years it is fair to say that either those concerns were unfounded and/or they have been resolved by the hosts
Decoupled
Being an external plugin managed by a separate team can not be called a success. Requests for fixes have been very slow, there has been zero development for several years and there are multiple open issues that have had zero response from the IFW team for many years.
It is not installable in J4 (xml issue on the update server)
has lots of code that will not be needed in j4 (checking for hathor)
Aim of this PR
[ ] Adds IFW to the core
[ ] The plugin is now enabled by default in the last position
[ ] Removes code and references to hathor
[ ] With the plugin in the core then it can be more easily developed and things like the jquery dependencies can be removed
[ ] J3 will still use the decoupled plugin - no change there
[ ] Namespace
[ ] Jquery
[ ] Extract view to own file
Testing
Apply PR
Run the sql below (replacing #__ with your db prefix