AsgardCms / Platform

A modular multilingual CMS built with Laravel 5.

Home Page:https://asgardcms.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upgrade to Laravel 6

mikemand opened this issue · comments

This is more of a checklist for me than anything, but anyone can contribute if I missed something.

https://laravel.com/docs/6.0/upgrade

  • Update modules for 6.0 compatibility
  • Update asgardcms/platform
  • orchestra/testbench
  • phpunit
  • finally get rid of that filesystem test that always fails

Used packages:

  • floatingpoint/stylist
  • cartalyst/sentinel
  • nwidart/laravel-modules
  • laravelcollective/html
  • laracasts/presenter
  • dimsav/laravel-translatable => astrotomic/laravel-translatable #771
  • mcamara/laravel-localization
  • maatwebsite/laravel-sidebar
  • intervention/image
  • nwidart/laravel-menus
  • typicms/nestablecollection
  • baryvdh/laravel-debugbar
  • maatwebsite/laravel-excel
  • league/csv
  • symfony/yaml
  • tightenco/ziggy
  • venturecraft/revisionable

For laravel-translatable, here's an "upgrade guide": https://docs.astrotomic.info/laravel-translatable/changelog#v-11-0-0

For me for later: https://twitter.com/stefanbauerme/status/1170092375894626304

Replace unmaintained Predis with PhpRedis: https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown Predis has been revived.

How can I contribute to this? Please do provide guideline on starting or assign me a task to work on. We are using Asgard on many of our production websites and ERP solutions we develop, my team of 3 developers happy to contribute here for benefits of community!

Could I help you to upgrade to laravel 7 latest version or at least 6 LTS version?

any news?

Any news about it, we could help too. @nWidart ?

Hello,

Thank you for all your comments 🙏
What information is missing?

@mikemand what's the status of this PR?

Hi @nWidart,

I have not had a chance to even get started. So if people want to start picking modules to update that would be great.

Laravel 6 and 7 are pretty much interchangeable (just double-check the upgrade guide in the Laravel Docs), so we should be able to be compatible with both.

How can I contribute to this? Please do provide guideline on starting or assign me a task to work on. We are using Asgard on many of our production websites and ERP solutions we develop, my team of 3 developers happy to contribute here for benefits of community!
@dakshhmehta
https://asgardcms.com/docs/v3/getting-started/contributing

I will be picking up the few modules for the next week, shall update next Saturday.

Targetting:

  1. Core
  2. User

I will be picking up the few modules for the next week, shall update next Saturday.

Targetting:

  1. Core
  2. User

I guess you should upgrade packages first @dakshhmehta

Do you mean the composer dependencies?
@dakshhmehta yes

commented

@dakshhmehta are you yet working on? Why not speaking about this on AsgardCMS Slack Chat http://slack.asgardcms.com/

Is this project dead?

I see latest one is 7.6 now https://github.com/laravel/laravel/blob/master/CHANGELOG.md

Do we plan to catch up on this?

Maybe you need any help and it would be possible to scale on this?

No. Upgrade is bit slow. I'm on it during the weekends. I personally myself using it in multiple production apps and never gonna let it die...

On Thu, 2 Jul 2020, 23:00 Mindaugas, @.***> wrote: Is this project dead? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#721 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOAXQJMTEVO2X47B7KAJZTRZS747ANCNFSM4IUDSLFQ .

Is there a repo? we would like to help. We need to upgrade to Laravel 7 and we don't want to leave asgard behind but seems to be the way to go if we can't move forward...

Actually the only thing we use is nWidart/laravel-modules and the "Core" module (users, permissions) but we have our own admin interface in "Quasar Framework": https://github.com/quasarframework/quasar

@nWidart is this project dead ? I want to contribute to upgrade to latest Laravel 8 LTS

@abdallhsamy No, you can still contribute.

How far are we on this?

Managed to have Asgard work with Laravel 7 making some changes I guess we need to start updating the packages.

Anyone tried https://laravelshift.com ? seems like a solid option to update faster. What do you think?

@joaonzangoII - I checked your profile but haven't got the repository. Can you share it with community if you manage to work on laravel 7, as I was still doing on 5.7 to 5.8, but if you got laravel 7 working, i guess, I should stop working on my branch and help you as you are ahead of me...

Thanks,
Daksh

@dakshhmehta I am still separating the logic from what is needed on the core models and what was the implementation for my Project, as soon as I am done I will let everyone know!

Appreciate the shoutout for Shift. While I am not personally familiar with AsgardCMS, it appears to be a Laravel application. As such, you could absolutely use Shift to upgrade it efficiently.

However, as others have commented, the additional package dependencies may have their own upgrade steps. You'll also need to configure Shift to look at the additional paths for the Laravel Modules.

With all that said, given the current state and number of dependencies of AsgardCMS, if I were using this, I'd probably look to replace it with Nova or some other, modern open-source CMS. No disrespect. Just my honest opinion.

if someone does embark on upgrading this, I'm willing to run the Shifts to do so free of charge. Just email support.

Thanks to @jasonmccreary I have an almost ready version of 5.8 after 2-3 hours of work. I'll be sending the PR later.

I'm in the mood to update to Laravel 8. Let's go!

Thank you @dakshhmehta. I think we should wait until i have the update working at least for Laravel 7.x

The first PR is ready waiting review from @nWidart with the update to 5.8: #791

I'm working in the update to 6.x. Thanks to @jasonmccreary I don't think it requires crazy work:
The shift for 6.x is at: imagina#2

I sent a PR to floatingpoint/stylist so their package is compatible with Laravel 6.x, 7.x and 8.x:
floatingpointsoftware/stylist#50

If they don't answer in the next few days I have a fork ready so I can keep working with the update to 6.x

I have good news, laravel 6.x update was successful. Tests passing: https://github.com/imagina/imaginacms-platform/pull/3/checks?check_run_id=1349797683

I had to fork floatingpointsoftware/stylist

Now i'm movin on to Laravel 7.x

Shift to Laravel 7.x it's ready: https://github.com/imagina/imaginacms-platform/tree/shift-35887

But i have a block @nWidart

https://github.com/nWidart/laravel-menus is not yet compatible but seems like you have a PR in the repository to support 7.x https://github.com/nWidart/laravel-menus/pull/55/files

Do you have the chance to check it ?

Regards

Ok, update to Laravel 7 is up and working:

All tests are passing:
image

And /backend is loading:

image

If anyone wants to help testing please clone this branch: https://github.com/imagina/imaginacms-platform/tree/shift-35887

And install with the command:
COMPOSER=composer.travis.json composer install

That way you avoid the current modules.

Very good news!! 🎉

If anyone wants to help testing please clone this branch: https://github.com/imagina/imaginacms-platform/tree/shift-35887

And install with the command:
COMPOSER=composer.travis.json composer install

That way you avoid the current modules.

@imagina I will

Hey everyone, the PR with the update to Laravel 7.29 is ready. I solved a couple of issues today.

Most of the admin area is tested in a new Asgard Install with PHP 7.2 with the current docker configuration and everything seems to be working.

Let me know if you find any issues.

#792

Ok, i did the final update to Laravel 8. PR sent to @nWidart for review.

You can clone the following branch if you want to test:
https://github.com/imagina/imaginacms-platform/tree/upstream-master-for-8.x

@imagina I guess there should also be a change in version for the modules @nWidart whats your take on this?

Laravel: 5.8.x
Branch: master

@imagina - the Translation module driver seems to be wrong as attached in screenshot.

image

Adding following in config/cache.php fixed the issue

 'translations' => [
            'driver' => 'array',
        ],

Hello @dakshhmehta , please test with the branch https://github.com/imagina/imaginacms-platform/tree/upstream-master-for-8.x

That's the final update to Laravel 8. I fixed a couple of issues with config files in that branch.

I think we should replace astrotomic/laravel-translatable because it makes the response very slow

I did not try spatie/laravel-translatable but I think I should be better because it does not add more tables in database and does not need to use more queries for foriegn keys

astrotomic/laravel-translatable use an additional join per table but the data is easily searchable. Spatie saves everything in a column like json. In a medium-big site with multiples languages, astrotomic is much faster.

By the way, you can use spatie/laravel-translatable in any of your Modules entities if you don't need to search/filter the translated data.

Platform v4 is working with Laravel 8 now (see PR #793). I am going to close this since we skipped right over Laravel 6.

To upgrade your existing v4 applications to the latest, I suggest using a diff program (personally I use Beyond Compare) to go through everything in the root as well as in the following directories:

  • app
  • bootstrap
  • config
  • database
  • docker
  • public
  • resources
  • routes
  • storage
  • tests

You can either download/clone a copy of the current master branch from here or create a new Asgard v4 app to compare your existing one against.