Closed elboletaire closed 6 years ago
I agree with you 100%.
I'm just posting this link here to help people that might be looking for a solution: https://adminlte.io/docs/2.4/upgrade-guide
Thanks @laistomazz but I'm not gonna upgrade it until all the issues have been fixed, which includes removing the bower_components
folder from the project (what the hell is that?).
Well, this sounds bad, what was so huge that cost you hours of work and is still broken?
Just keep using 2.3.11
for now.
@elboletaire I understand your frustration and sorry you feel that way. In all fairness though, we did post an upgrade guide and announced the breaking changes. There was also an alpha version available for at least 6 months before the final release.
Since the upgrade mainly tackled JS issues, do you think bringing back app.js and the plugins (as deprecated) would help with backwards compatibility?
Also, the bower_components
folder is there as a replacement to the plugins folder. It makes it easier to upgrade and add new plugins and allows users who prefer to directly download the template rather than using a package management software to have all the used plugins available. However, we can also change that (probably for v3) by using a copy script to extract only the needed files.
Thanks!
Thanks @almasaeed2010 for your reply. I tried to install this package and failed due to bower_components
and other JS issues. Thanks.
Thanks for your reply @almasaeed2010
As I said, I'm sorry about the tone; and I'd like to empathize that this issue was more to warn you about how semver works. If you now understand how semver works, and that this kind of upgrades are major upgrades (because they have breaking changes), my work's done here.
Oh! and thank you so much for your effort in this free template. At no point did I want to belittle your work 😃
Also, the bower_components folder is there as a replacement to the plugins folder. It makes it easier to upgrade and add new plugins and allows users who prefer to directly download the template rather than using a package management software to have all the used plugins available. However, we can also change that (probably for v3) by using a copy script to extract only the needed files.
About this: you better use gulp (or grunt, or webpack) and pack all the dependencies in one unique file. This way you'll be able to use npm and lock the package versions, whilst giving the users a packaged version of only those files really needed by AdminLTE.
I propose also to use webpack...
Also having lots of problems using less AdminLTE in my project: https://github.com/acacha/adminlte-laravel.
This is a Laravel project using Laravel Mix (webpack wrapper in Laravel for compiling assets: https://laravel.com/docs/5.5/mix).
Some errors I found:
All imports in Adminlte.less file before use:
@import "plugins.less";
now adminlte removes the .less suffix. Now I have errors like
@import "plugins";
^
Can't resolve './plugins' in '/home/sergi/Code/provaesborrar/node_modules/admin-lte/build/less'
in /home/sergi/Code/provaesborrar/node_modules/admin-lte/build/less/AdminLTE.less (line 57, column 0)
Also after changing bower_components reference to bootstrap_less:
error in ./resources/assets/less/adminlte-app.less
Module build failed: ModuleBuildError: Module build failed:
@import (reference) "../bootstrap-less/mixins";
@import (reference) "../bootstrap-less/variables";
Thanks @almasaeed2010 for the great job
For reference the upgrade guide is here:
@almasaeed2010 , hi!
Can we wait for a 2.4.1 version fixing the regressions? The upgrade guide is fine for a major version, not a minor. Most of upgrade process are automatic.
2.3.11 does not work for me see https://github.com/almasaeed2010/AdminLTE/issues/1677
In all fairness though, we did post an upgrade guide and announced the breaking changes. There was also an alpha version available for at least 6 months before the final release.
@almasaeed2010 nothing short of renting a plane to tow a banner over our houses would really matter. Most people pull in your project with a package manager (be it bower or npm or something else), get to work, and don't think about it again. Everything from then-on is usually automated. This means most of your users will not be reading announcements on your GitHub-page or website and will just have their sites mysteriously mucked up after an update.
Semver exists for a reason and if you offer your package via a package manager and semver isn't followed, we might as well do this in our package-files:
"dependencies": {
"admin-lte": "*",
}
(... which is a bad idea)
@piperone I understand the frustration this may have caused. In my point of view at the time, the upgrade process was simple enough and therefore wouldn't be much of a problem. However, there are more issues than I initially realized, and that happens.
I am currently working on 2.4.4 which will bring back support to v2.3.* and provide some fixes to the current version. Until then, I'll keep this issue open.
Thanks!
@almasaeed2010 Yeah, no the upgrade process seems simple enough. I think what made people look for their pitchforks in this instance, was that semantic versioning wasn't adhered to.
Sounds like a good plan. Thanks for your solid work!
As a side note : I use npm
(+laravel mix) and after the update I have this import in skins:
@import "../../../bower_components/bootstrap/less/mixins.less";
which fails as there is no bower_components
directory. When working on the regression fixes pls keep this in mind :)
Thanks!
Most people pull in your project with a package manager (be it bower or npm or something else), get to work, and don't think about it again. Everything from then-on is usually automated. This means most of your users will not be reading announcements on your GitHub-page or website and will just have their sites mysteriously mucked up after an update.
<rant>
Preface: My .02 on this matter in general, not targeting any specific user in this thread
This a problem that affects lazy people who blindly update without reading release notes and just assume their worlds will be perfect. People potentially without version control or backups so they are left scrambling. Possibly with loose or lax version restrictions in their package files.
"I'll just update everything at once without reading anything..." Yeah that should work
Shaming or knocking on a developer for a users lack of diligence because they didn't prevent your problem is abhorrent.
All these package managers has made for a mass of lazy and spoiled developers.
If you've learned nothing from what happened with Koçulu last year, you should stop developing right now.
</rant>
@almasaeed2010: keep up the good work - thank you for your contributions
@bellwood Good grief, what was that supposed to contribute to the issue? I don't give a damn if you think devs are spoiled or lazy or whatever, go write a blog-post instead of posting your vitriol on the issue-board of a repo where people are trying to cooperate.
if you found what I conveyed to be vitrol as apposed to a valuable lesson any developer should heed then i apologize...
i shall grant you that a repo issue thread likely wasn't the proper "forum" for expressing my opinion but it clearly shows the pitfalls of blindly upgrading via a package manager without doing the diligence of reading changes to said packages...
@bellwood obviously you don't understand how semver works. I'd recommend you reading about it before saying such stupid things.
I am subscribed to this repository notifications and i feel that the tone of this discussion is becoming more and more verbally aggressive towards other people. Let's instead say that no one is perfect, sometimes mistakes are done, we are not machines or robots. Please let's try to talk about solution to problems, let's find a way to prevent such situations to happen, like for example maybe better advertising of the upcoming changes in new releases , maybe improvements to the documentation or wiki that we all can contribute . or maybe even warnings displayed when trying to upgrade to a release with breaking changes that could be displayed in terminal. Or some other solutions. Let's try to propose ways that this can be handled next time.
I honestly like this repository very much and i have been using this for a long time . Let's not transform this issue in something that might make us all feel uncomfortable . Let's try to find a common ground and discuss alternatives or solutions that might help everyone to have a better experience.
obviously you don't understand how semver works. I'd recommend you reading about it before saying such stupid things.
I am fully aware of how versioning works...
Not everyone who maintains a repo is aware of semver or even knows about best practices... They just have an awesome contribution for the masses...
I'm sorry @elboletaire that this instance bit you, it sucks, we learn, we move on...
Not trying to be abrasive or aggressive, this was meant to be anecdotal; something we could all find a common root in, have a nod at and move on from - not to be a soapbox drivel fest that would upset the user base...
Its always good idea to specify a specific versions of packages in production especially with your main packages. Letting your deploy script run in production and letting it update even to a patch update without first testing it is asking for trouble.
I hate to go back on my promise but unfortunately I don't have the time to create a 2.5 version that won't break upgrading both 2.3 and 2.4 :( I'd rather focus on the v3 release and get that done asap. Therefore, if you don't feel upgrading to 2.4 is worth it, please use 2.3 for the time being. I appreciate your patience and hopefully v3 will make up for all of this 👍
Thanks!
@almasaeed2010 Thanks for this awesome project!
@cocochepeau my pleasure :)
I hate to go back on my promise but unfortunately I don't have the time to create a 2.5 version that won't break upgrading both 2.3 and 2.4 :( I'd rather focus on the v3 release and get that done asap. Therefore, if you don't feel upgrading to 2.4 is worth it, please use 2.3 for the time being. I appreciate your patience and hopefully v3 will make up for all of this 👍
Thanks!
Your V3 Isn't any better. Still trying to get the upgrade. There is no Bower_Components folder... Is this on purpose or an oversight and what do I do, please
V3 isn't compatible with the V2.4 Structure and the bower + bower components was removed and the bower_components was replaced with the plugins folder. Every Major version comes with breaks and the biggest change was moving from Bootstrap 3 to 4 that caused this big break.
V3 isn't compatible with the V2.4 Structure and the bower + bower components was removed and the bower_components was replaced with the plugins folder. Every Major version comes with breaks and the biggest change was moving from Bootstrap 3 to 4 that caused this big break.
Yes Thanks, I figured but then would like to drop this here for possible suggestion and it might probably help someone else. I want to use the adminlte3 on a react project. I have materialize UI CDN linked in my index.html but it interferes with the styling of the dashboard such that It is displaying quite alright but disorganized. What do I do or what options do I have?
I don't know may there is some implementations for AdminLTE 3 with React but right know there is no offical support but you should use react-bootstrap (load adminlte.css instead of bootstrap.css) instead of materialize UI.
When you add breaking changes to a project you should do a major upgrade.
With 2.4.0 you added a lot of breaking changes and, instead of upgrading to a major upgrade (3.0.0) you simply upgraded it as a minor upgrade.
For more information, read the semver documentation: http://semver.org/
I've lost like three hours of work today trying to figure out what the hell happened to our projects to start crashing during the deploy process.
Please, don't do this again.
I'm sorry about the tone, but I'm really disappointed with how you have done it.