Upgrading a Sava Install, Transfer and ColdBox
I was asked a few questions about upgrading a Sava install, Transfer and ColdBox with Sava via email so I thought I'd simply make this a blog post, rather than just replying or posting in the forum.
Upgrading a Sava Install
When it comes to upgrading Sava, we don't have patches that can be applied yet, so you'll need to replace entire directorys. Here's a quick break down on the directories and files you'll need to replace:
Directories and Files
Everything except settings.ini.cfm
When we create sites in Sava we never use the default site. Since Sava copies this directory when creating a new site in a Sava install, we like to keep it as a "master" that we can always have up to date. So when we upgrade an install, we simply replace the entire /default/ directory.
Alternatively, if you have a specific model you'd like used for any new sites, by all means, make this what you want.
Entire directory. We never customize anything in this directory. If we need to change functionality or output, we create a CFC (ColdFusion Component) that extends the base CFC and redefine the method or methods in question. We then edit the /config/coldspring.xml.cfm to use the new extended class.
Everything except the /tasks/sites/ directory. The /tasks/sites/ directory is where file that have been uploaded either as a content node or by fckeditor are stored. This location is configurable in the settings.ini.cfm. Sava actually can store files in three locations: the database, the file system or on Aamzon's S3 service.
When it comes to siteID directories other than default you don't really need to change anything if you have made a lot of changes. We try not to change anything in the display objects directory and add all of our custom code to to /[siteid]/includes/display_objects/custom/ directory. The mark up in the display objects were done with standards and flexibility in mind so if you keep your styles in the stylesheet, this shouldn't affect your presentation at all. At the same time, if you need to change something go ahead, I would just keep track of the files that you have changed. Basically, once a site is deployed we update site specific files on an "as needed" basis.
There are no files that are required to be changed in the /[siteid]/css, /[siteid]/images and /[siteid]/js, but you may want to replace or add:
Any database updates will be done automatically for you when you reload the application after the update. The "Reload Application" link is the last link in the left column of the Sava CMS admin.
Using Transfer with Sava
When it comes to using Transfer there should not be any issues. You may want to place you code to instantiate it in the /config/settings.custom.managers.cfm
Integrating a ColdBox Application with Sava
Sava Forum dweller and CF developer Tony Garcia has written a nice blog post on how to integrate a ColdBox App with Sava. Big ups to Tony for taking the time to work through this. We really appreciate it!