Invision Community 4: SEO, prepare for v5 and dormant account notifications Matt November 11, 2024Nov 11
Posted February 13, 201411 yr FTP uploading is a relic from the past: it's an error-prone, time consuming and insecure (no hash checking) method that shouldn't even be considered in serious deployments. I'm not saying that it shouldn't be offered, since (I guess) many of your customers are still on shared hosting, but you should at least offer some alternatives for those of us who have access to a dedicated server / VPS. A git-based deployment system would probably be the best option here, since minor updates would just be a matter of running `git pull` (and visiting the update script, or — even better — running it from the CLI). The files' integrity would be guaranteed, the entire operation would run in seconds instead of minutes, and mistakes could be reverted easily. It would also make it *very* easy to spot malicious or unwanted code in the forum's filesystem, and it would make tools like the whitespace/file permission checker unnecessary. The next best thing would be offering .patch files for minor updates. They weight a fraction of the full package's size and they too are applied in a matter of seconds. I hope that 4.0 brings some needed innovation in this area. Thanks for listening.
February 13, 201411 yr Author You can set this up yourself easily even today. That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier.
February 13, 201411 yr That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier. What CLI tools do you have in mind ?
February 13, 201411 yr That's what I already do, but it's far from a perfect workflow, especially because file permissions "break" every time. An officially supported system, coupled with some maintenance CLI tools, would go a long way towards making my forum's maintenance easier. You can simply write a ph script that will check and correct permissions each time you use git ;)
February 16, 201411 yr Author You can simply write a ph script that will check and correct permissions each time you use git ;) Yes, I know (although I probably wouldn't choose php), but it would be nice to have an official and integrated solution. Just my 2¢.
February 17, 201411 yr What benefit is there for an "official" solution vs your own solution (other than you don't have to do the work then :P ). If this is something you could use and could use now, I think it's probably best to just bite the bullet and write what you need. FWIW we do want to improve the upgrade process, mostly because we want to make it easier to use for newbies. I don't think a git-based solution, however, would accomplish that end goal.
February 19, 201411 yr Author What benefit is there for an "official" solution vs your own solution (other than you don't have to do the work then :tongue: ). If this is something you could use and could use now, I think it's probably best to just bite the bullet and write what you need. That's true, I could keep doing it myself; however, this also applies to any feature request I might think of. The rationale for implementing this one is the same as ever: because it would hugely benefit a part of your customers. I'm just saying that uploading everything through FTP every time shouldn't be the only officially supported way, because it's insecure and error-prone. A git-based solution, like the one I proposed, would be great for my workflow, but frankly any other upgrade system I can think of would be better than what we have now.
February 19, 201411 yr That's true, I could keep doing it myself; however, this also applies to any feature request I might think of. The rationale for implementing this one is the same as ever: because it would hugely benefit a part of your customers. I'm just saying that uploading everything through FTP every time shouldn't be the only officially supported way, because it's insecure and error-prone. A git-based solution, like the one I proposed, would be great for my workflow, but frankly any other upgrade system I can think of would be better than what we have now. FWIW we already have an auto-installer available in our client area to reduce the "error prone" part, and you can naturally upload your files already using git, SFTP or SCP. You can even upload your files as a zip in cpanel and then use SSH to unzip the package and move the files around. There are of course options already if you don't wish to use FTP.
December 8, 201410 yr A better update system could help larger, more complex sites that have development and/or test instances where they develop features in an isolated environment separate from their production system (so they can be developed and tested without breaking the production environment).For example, we put our code and files into git (using a variation of the method described at http://community.invisionpower.com/topic/365865-make-ipb-more-developer-version-control-and-testenvironment-friendly/ ), then deploy that code to the test environment for testing. If it passes testing, we will deploy it to production - if it does not pass testing, we fix the problems and re-test.It would be great if we could integrate the IPS updates into that same process via a vendor branch that we merge and test. Of course, DB updates from new versions are another matter and have to be handled separately outside of git.
Archived
This topic is now archived and is closed to further replies.