opengovfoundation / madison

Madison is a platform for lawmakers to share legislation with their citizens, allowing the community to add comments and suggest improvements.
GNU General Public License v3.0
677 stars 108 forks source link

Add cli task for upgrade from 2.X > 3 (and beyond!) #1028

Closed krusynth closed 8 years ago

krusynth commented 8 years ago

There are a lot of folders & files that need to be moved (some might be symlinked, so we just need to replace those symlinks if that's the case!), and a bunch of leftover folders (like public) that should be removed for a clean install. We'll probably want to do other things in the future as upgrades happen, so we probably should add some way of having multiple incremental upgrades, testing if things actually need to be run or not somehow.

This might be better as an Artisan task than a make one, since we'll eventually want a web-based installer & updater as well.

krusynth commented 8 years ago

There are some packages in Laravel to help do this stuff: https://github.com/leemason/larastaller etc

sethetter commented 8 years ago

I wonder how well that would work considering we're moving all of the Laravel stuff into a subfolder. Also wouldn't make much sense for the upgrade tool to be Laravel specific once the upgrade has been performed from 2 to 3. Probably some good patterns to be adopted though.

krusynth commented 8 years ago

That's a good point - but we certainly can't make a web-based installer out of Angular. :) This is more support for moving to a traditional architecture, imho. ;)

sethetter commented 8 years ago

Definitely not suggesting angular, haha. Any kind of web based installer would live outside of the primary application architecture anyways (or probably should, at least). Either way, starting with some scripts to help the process along should be good. No need to jump into a web installer yet I think.

sethetter commented 8 years ago

Git history from 2 to 3 now lines up well thanks to some merges, so doing a git pull will move things around, and then there's just a config file or two that need to be moved. I think a CLI tool might not be necessary here and the guide should suffice.

Cool to close this? Thoughts? @krues8dr