Upgrading Orchard has been getting easier
Orchard is maturing. Upgrading software nowadays is normally a routine process, so it should be quick and smooth. Upgrading Orchard is yet to be so. It took me almost a week to straighten out all issues and have a working instance of the latest version - 1.3. The process could be automated much more. In my particular case, one module (Lucene) got the whole process stalled for a few days. My faith in Orhcard started to be shaken, and I was slightly scared because migrating to another CMS would require creating all the contents (blogs, customized features, etc.) manually. Fortunately, the Orchard discussion forum is very helpful, and the Orchard team is very responsive. In the end, my affection for Orchard stays. A
Customization done through themes is easily migrated by simple copying. The is a very nice feature of Orchard. Web.config file customization needs to be taken notes of because upgrading overwrites it hence requires recreating it manually.
Update (2012-10-30):
The upgrade from 1.30 to the latest version 1.6 turned out to be a week long Saga. I tried to upgrade to 1.5.1 before 1.6 was released, but failed miserably despite that I followed the instructions for "Upgrading An Orchard Site In-Place" to the word. I decided to get the source code so it might give me a better idea what was wrong if it upgrading failed. The process is not straightforward at all, but it worked eventually: The above process works wonderfully on a local machine.
- Use TortoiseHg to retrieve the latest version of Orchard.
- Build Orchard.Web to make sure everything works.
- Copy folder Media from the running instance.
- Copy folder app_data from the running instance. I also deleted mappings.bin and cache.dat per Bert’s advice.
- Run Orchard.Web, ignore an error, and go to /admin, enable UpgradeTo16.
- Go to UpgradeTo16 tab: upgrade everything; Migrate Menu > Migrate (I hit an error the first time, but tried it again later after navigating away, and it worked)
Deploying an existing instance of Orchard is supposed to be convoluted. The easiest way is copying the entire Orchard.web to the server, but this results in 800+MB excessive files. Exchanging space for ease is acceptable.
Update (2014-07-23)
Using enlistment may be the best way to keep Orchard updated painlessly. To upgrade from 1.6 and 1.8.1.0:
- Enlisting in the source code if it has been done.
- Copy App_Data\Sites from the current instance to the Orchard.Web project in the Orchard solution.
- Copy the themes used (only copy, not include).
- Copy added modules (only copy, not include).
- Copy Media\Default
- Dashboard\Users\Admin, add "Administrator" role to it.
- Dashboard\Settings\Right Arrow\Search, check all types of contents that need to be searched
- Remove Custom Properties part from any content type (Dashboard\Conten Definition) that uses it.
- Enable Upgrade Module
- Dashboard\Upgrade to 1.8\Upgrade all relevant parts.
- Change the URL under Settings\Gallery from "http://orchardproject.net/gallery/server/FeedService.svc" to "http://packages.orchardproject.net/FeedService.svc".