rappasoft / laravel-boilerplate

The Laravel Boilerplate Project - https://laravel-boilerplate.com
https://rappasoft.com
5.59k stars 1.58k forks source link

Considering update to Laravel 5.5 #788

Closed mikimaine closed 7 years ago

mikimaine commented 7 years ago

Since Laravel 5.5 will be released this month should we consider updating this based on the dev branch of Laravel 5.5?

rappasoft commented 7 years ago

You can do it manually but I will put out a new release once upgraded.

shirshak55 commented 7 years ago

@rappasoft how about bootstrap 4 also as laravel 5 has frontend preset.

emilgodsk commented 7 years ago

@bloggervista Laravel Boilerplate uses AdminLTE as the main layout provider, and that admin layout is built on top of Bootstrap 3. So my best bet is there will not be a update to Bootstrap 4, before AdminLTE comes with a new version, that uses Bootstrap 4.

rappasoft commented 7 years ago

Yeah for things like that I have to wait for the other people who's projects we use, like laravel collective for the html/form helpers, I cant update to 5.5 without them first. If we can find a free/open source admin theme that runs on BS 4 I'd give it a look.

shirshak55 commented 7 years ago

@rappasoft I think there are plenty of admin themes for bootstrap 4 and they look modern as well . One example is http://coreui.io. And there are problems with some package like they use guzzle/guzzle deprecated library. And regarding laravel collective i guess using normal html is better as using them seems no advantages, isn't it? It is just a opinion bro.

rappasoft commented 7 years ago

The laravel form methods have a lot of helpful features, one of my favorites is Form::model where you pass it the object and it pre-fills the inputs for you, great for edit screens.

mikimaine commented 7 years ago

@rappasoft but that can easily be replaced with Vuejs two-way data binding, I think now is the time to move away from Forms, What do you think?

shirshak55 commented 7 years ago

@rappasoft Yes i guess it is time to move away from Form due to technologies like react, vue. Form::model usually cause more implicit problem and is slow. Laravel even removed it due to slowness of that form and they also have limitation in customization. (as I think) So i guess we need to move away from Forms :)

jonathan-bird commented 7 years ago

Release for 5.5 is out :D

Sounds good re: removing Form & vue & react future.

Working with this boilerplate on a few of my large projects I've found that I use BS4 for my front-end, and BS3 for the boilerplate panel, so it's easy to do that way. From memory, there's some bootstrap.scss which includes bootstrap 3 (lol) which is included in both front-end and back-end, so just delete that and import 3 & 4 separately.

noxify commented 7 years ago

Maybe an alternative admin theme with BS4:

https://github.com/modularcode/modular-admin-html/

shirshak55 commented 7 years ago

http://coreui.io has support for VUE, REACT And Angular so it can also be alternative :)

jonathan-bird commented 7 years ago

Do you have a rough ETA on 5.5 release @rappasoft? - no rush at all, but I'm close to starting a project, so wanting to know whether to hold off on your release or just DL 5.4 boilerplate & manually upgrade

derekphilipau commented 7 years ago

would like to see BS4 default for this boilerplate. switched to BS4 a while ago, was actually considering using coreui for my frontend. since 5.5 is an LTS release I plan on finally releasing my app w/ BS4 & 5.5 and not worry too much about upgrades afterwards. maybe next version of boilerplate can be LTS as well?

shirshak55 commented 7 years ago

i guess if there will be LTS version of boilerplate the progress of this boiler plate is slow and i guess it is not necessary for such thing like boilerplate to provide LTS as for deploying you must edit many files and be familiar with it. For me boiler plate is used as education for writing codes :)

derekphilipau commented 7 years ago

@bloggervista I understand your point. While boilerplate is a great way to learn, I also trust boilerplate to take care of all the common things like access control so I can focus on unique aspects of my app. I'm a single developer with very limited time. Currently, every time a new version of Laravel, Vue or boilerplate is released it costs me valuable time to upgrade my application. Having a stable boilerplate branch for 5.5 would be valuable to me.

vesper8 commented 7 years ago

CoreUI with BS4 and Vue support looks really fantastic!!!

It would be great if you supported it.. heck you could even replace AdminLTE completely with it!

rappasoft commented 7 years ago

It would take me months to create a new version with a new template and all the things listed above. As time is not something I have a lot of right now I don't know what i'm going to do. I haven't started anything with 5.5 yet and I honestly don't know enough about Vue to build it in.

shirshak55 commented 7 years ago

@rappasoft how about pull request?

rappasoft commented 7 years ago

I don't think a PR would work since the entire thing would have to be done from the ground up. I like the coreui look and all, but I know nothing about Vue, plus a ton of translations would have to be removed and different ones added.

shirshak55 commented 7 years ago

@rappasoft in core ui i believe you can choose other like html5 ajax version.

Shuyinsama commented 7 years ago

In terms of flexibility I think the Ajax version would work best. But in terms of keeping this maintainable and having some sort of control on quality i'd say look at the Vue.js/React versions of coreui.

@rappasoft do you have any internal documentation on what to port over during a update of laravel version? I am willing to help porting over the current 5.4 boilerplate to the new 5.5 when it releases and maybe get rid of some old Bootstrap and other elements here and there.

nasirkhan commented 7 years ago

Core UI is a very good option and i believe AdminLTE should be replaced with this.

I agree with @Shuyinsama , do you have any check list, if not can you please prepare one? I would love to get involved with this. At the same time Can we set a tentative release date for 5.5 version release with and without CoreUI. I think a big number of people (including me) are waiting for this release.

rappasoft commented 7 years ago

Swapping out the admin theme would be a full from scratch rebuild, if you guys are willing to wait a couple months then i'll build it.

CoreUI Vue Gates/Policies/Bouncer instead of my access library (it's time to retire it)

jonathan-bird commented 7 years ago

Sounds pretty good to me.

On 29 Aug. 2017 12:32 pm, "Anthony Rappa" notifications@github.com wrote:

Swapping out the admin theme would be a full from scratch rebuild, if you guys are willing to wait a couple months then i'll build it.

CoreUI Vue Gates/Policies/Bouncer instead of my access library (it's time to retire it)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/rappasoft/laravel-5-boilerplate/issues/788#issuecomment-325537091, or mute the thread https://github.com/notifications/unsubscribe-auth/ABcKcZeAz1GS4ENi6WfSlVv9Gt6ddN54ks5sc3gkgaJpZM4OVYnz .

nasirkhan commented 7 years ago

@rappasoft Waiting few months and get a completely new release is not a good idea. Rather we can release sever versions in those few months. At the very first release upgrade the Laravel, then admin theme.

Earlier we discussed several times if it is a good idea integrate the Vue/React/Angular or be just a Laravel only boilerplate. If we now agree to have those frontend layer then we may start that in another branch. what is your plan?

Shuyinsama commented 7 years ago

@nasirkhan I get that, but you also have to consider that @rappasoft has other priorities too, and does this on the side. If he says it means it will be a complete from scratch build. We should respect his timeframe.

This is why I mentioned a earlier internal doc for upgrading. Maybe we can help and add pull requests for it and all that.. Lighten the workload a bit.

rappasoft commented 7 years ago

Yes what @Shuyinsama said, I devote as much time to this as I can. Theres probably over a thousand hours of development into it already over the years. I want to keep it up to date but Laravel grows like a weed. I have Laravel fatigue trying to just keep up with whats new and changed on a daily basis.

I will get a 5.5 release out, it will be much different, I will probably remove certain features and swap others out with better external packages, to both save time now, in the future, and make it easier to manage.

I will use Bouncer for roles/abilities, remove my access class. I will probably find an external history package. I will try to keep all of the extra auth stuff. I will remove the current socialite code and see if theres been a better way to do it, that code is circa Socialite 1.0 I will use CoreUI, and try to implement their Vue components I will use BS4, if it plays nice in alpha.

Shuyinsama commented 7 years ago

@rappasoft Many thanks for the boilerplate and your time put into it. As mentioned earlier I am willing to help if needed.

Currently Bootstrap 4 is in beta on their main site: https://getbootstrap.com/ so at least that's something

Bouncer is great I did a project with it a couple weeks back and it works perfectly

rappasoft commented 7 years ago

Thanks @Shuyinsama, the main problem is I have to learn all of this new stuff before I can build it. Especially Vue, I know its the fun cool thing everyone wants, so that one will take me the longest.

Shuyinsama commented 7 years ago

It’s not something I really need persé.

I don’t know much of Vue or if it’s preffered. I think in some sense the perfect way would make it library agnostic, so as to not be stuck to a certain development path again.

But that would take more time and CoreUI has multiple versions so that might be interchanagable fast (switch to a react version for example)

Altough I am starting to doubt if you need to bring in a whole backend UI.

Looking at that now it allows you to do basic CRUD for Users and Roles and view Logs.

It’s definitely nice for sure but could something like this be developed as a laravel package? So it’s pluggable?

mikimaine commented 7 years ago

I believe we have to migrate to modern FE framework like Vue.

Now that we know CoureUI has Vue version we should go for that.

@rappasoft I am willing to help on the rewrite of the application with Vue.

rappasoft commented 7 years ago

I started a new project, but most of the packages used haven't been updated to allow 5.5 yet even. Also Bouncer is not 5.5 yet.

Shuyinsama commented 7 years ago

@rappasoft Literally 6 hours after your comment here Bounce was supposedly updated: https://github.com/JosephSilber/bouncer/issues/203

Although it is recommended to wait for a tagged version in about 2 days :)

rappasoft commented 7 years ago

I think i'll wait the couple days for a stable release. Trying to figure out where I want to start.

vesper8 commented 7 years ago

You should consider maybe using Spatie's Laravel-Permission instead of Bouncer

Here's a detailed review of the two.. they are both great and it's hard to say which is better.. but I tend to think Spatie's packages get more love and better documentation.

Read the review at least and then you can decide https://laravel-news.com/two-best-roles-permissions-packages

rappasoft commented 7 years ago

I have started. Should we use the current translation method with the keys, or switch to human readable with the json files?

Shuyinsama commented 7 years ago

Is there a huge benefit to the json version? I have no problems with the current way of translating and think it works fine. Consider the amount of work for it. Of course you would need to do the Default english translations and other users could pull request other translations

rappasoft commented 7 years ago

That's probably what's going to happen since I'm going to be changing a lot. The translations will prob live in a separate repository.

The Laravel docs say json is better for large applications.

Unless we can come up with a standard to naming the keys.

On Sep 3, 2017, at 11:31, Patrick van Zadel notifications@github.com wrote:

Is there a huge benefit to the json version? I have no problems with the current way of translating and think it works fine. Consider the amount of work for it. Of course you would need to do the Default english translations and other users could pull request other translations

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

derekphilipau commented 7 years ago

In addition, for those of us using Vue/etc. heavily it may be tidier to have all translations stored in JSON.

rappasoft commented 7 years ago

Can you explain more?

On Sep 3, 2017, at 12:57, Derek Au notifications@github.com wrote:

In addition, for those of us using Vue/etc. heavily it may be tidier to have all translations stored in JSON.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Shuyinsama commented 7 years ago

My guess would be that Vue Components rely heavily on JSON formatting for translations, Making it easier to use Vue instead of pure PHP/HTML/Blade type templating?

The reason I mentioned keeping the keys type translation is purely based on priorities. I don't see a big problem with the current way of translating so it might be better to spend the time on packages that need updating or changing.

But if people prefer the JSON way i'd say we could go for that definitely.

derekphilipau commented 7 years ago

This is only my first Laravel application with Vue. I'm still struggling with the balance between Blade templates and Vue components, but the bigger my Vue components get the more responsibilities they have like permissions and translations. I currently have duplications with the translations in your boilerplate and those needed by Vue (JSON). I'm not exactly sure how to integrate the two, but moving everything to JSON might be a good start. EDIT: But I agree this should be low priority, for me much more important is a stable upgrade to 5.5.

rappasoft commented 7 years ago

I'm probably going to stick to the way it is to make it easier for all the people that have current language packs to update.

daniel-farina commented 7 years ago

@rappasoft I've been extremely busy at work but I'll do my best to help soon. My friend and I are on the same boat as you when it comes to start using VUE.

I'm not sure how you were able to keep going at all the changes from Laravel for so long but your strategy of making Boilerplate as minimal as possible and using third party open source solutions is very smart in order to keep this project alive.

rappasoft commented 7 years ago

Just to re-iterate, I started from scratch with this, which means it's like learning it all over again. So please give me some time, If you need a 5.5 in the meantime just follow laravel upgrade guide with the current version.

rappasoft commented 7 years ago

Update: Almost done with the frontend.

nasirkhan commented 7 years ago

Awesome. Thanks for let us know the updates.

Are you going to push these changes to a new branch soon?

How can assist you here?

On Sep 12, 2017 9:26 AM, "Anthony Rappa" notifications@github.com wrote:

Update: Almost done with the frontend.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rappasoft/laravel-5-boilerplate/issues/788#issuecomment-328724044, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYOu2heNf0AN2lgZS9iIBrosr-X8HnBks5shfnfgaJpZM4OVYnz .

rappasoft commented 7 years ago

I can make a branch so everyone can see but i'm not up to the point of taking PR's yet. It's really nothing special currently, changed a few things since I started over, ported most classes over. New kickass base repository I found, spatie permissions, etc.

rappasoft commented 7 years ago

https://github.com/rappasoft/laravel-5-boilerplate/tree/feature/5.5

Frontend is done minus the language switcher which isn't working.

Please no PR's

derekphilipau commented 7 years ago

For those of you who were interested in CoreUI, today I did a quick integration of CoreUI Vue with Laravel 5.5. (I plan on using CoreUI for my front-end with this boilerplate): https://github.com/derekphilipau/laravel-5.5-coreui-vue-separated
https://github.com/mrholek/CoreUI-Vue