I'm currently in the process of evaluating Umbraco as our base system to build our websites on top of. While Umbraco is bringing some desirable traits to the table I also have some reservations and concerns that I would like to ask you guys about. If you need me to expand on any of the questions please let me know.
1. Development & deployment process
We are working on a large site and we have a development teams spread across multiple locations with separate development and test environments.
It seems to me that the development and deployment process of document types, macros, static data will be extremely difficult to manage between all these dev and test environments. I've been reading about uSync, uSiteBuilder, Courier and some other packages that should make this easier. However it still seems really hard to automate and like a fairly manual process.
Currently we have a fully automated test and deployment process and all code and static data content is shared through source control between developers. As far as I can tell it will be very hard to replicate this automated and version controlled process if we choose Umbraco as our platform. Any suggestions or comments regarding this observation would be greatly appreciated!
2. Upgrading/migrating to new Umbraco versions
The upgrade path from earlier versions to later versions of Umbraco seems flaky. It looks like the major versions is almost out of bounds regarding a direct upgrade path. Whats the story here? Should I just accept the version I start of with and expect a large rewrite if I want to upgrade to a new major version?
3. Integration with external data sources
The project we are working on have to integrate data from external data sources. What is the recommended way of dealing with external data?
Is it possible to integrate external data sources with the Umbraco caching pipeline?
Is it possible to create a custom management UI for external data sources. For instance using the built in editors and data types in Umbraco.
4. Performance & non-cached page rendering
A final concern is if the Umbraco page rendering is "heavy". I mean, we currently rely on rendering user-customized pages in real time using cached data. Is this a viable scenario in Umbraco?
Any comments or suggestions you have will be greatly appreciated.
1. We are hoping Umbraco As A Service will mitigate a lot of these issues. You are absolutely right, syncing up environments is an absolute nightmare and a very manual process for the most part (without Courier).
2. When we have had to do major upgardes (we did 4.0 to 7.2) we needed to basically copy all the code into a new project and rebuild the back end umbraco nodes from scratch then copy over the content. It was small-ish sites so it was okay but I wouldn't want to do it with a larger site! Incremental changes and upgrades are not an issue at all but yes major versions are an issue.
Again, I'm hoping Umbraco As A Service will help with this.
3. Yes you can create a custom management page, we've done this for a lot of our ecommerce sites so that clients can manage orders etc. Unsure about the caching pipeline.
4. I've never had any performance issues with Umbraco at all even when I've had customized cached data being consumed.
I'll try and add some value if I can :) My background is that I ran the technology for the largest digital agency in Australia, and one of the largest in the region, for over 17 years. We were early adopters of Umbraco, while we also built with Sitecore as well. Here are my 2 cents...
Deploy/Dev process
Like any platform, there are nuances to getting Umbraco to fit within your dev/deploy processes, and like most things, you reap what you sow. Some of the tools you mention can be bent to work in a multi-developer/multi-location type environment (we had developers in Melbourne, Sydney, Shanghai, Manila and KL). Some of the most hands off stuff I've seen is being done by @slace and his tool Chauffeur (https://github.com/aaronpowell/Chauffeur) so maybe check that out (@slace knows his stuff).
Upgrades
If you keep up with upgrades, and don't fall too far behind, upgrades are rather painless. Yes, the process could be better, but as long as you don't fall too far behind, upgrades tend to be pain free. I've seen platforms (many!) that are far more painful, so I never considered this a real problem.
External data
Both of what you want to do are really simple in Umbraco 7. Was harder is some older versions but 6/7 has improved this greatly. If you do the Umbraco training (4 day course, not the 2 day course) you get hands on experience of how this works. With the whole backoffice written in Angular, now it's easier than ever before (in my experience) to create good looking, easy to use, consistent UX interfaces to manage data.
Performance
With experience you'll work out how to best build a high performing Umbraco application. All the MVC partials can be cached, data can be cached, you can easily tie in CDN caches like Akamai or CloudFlare into the publishing pipeline so they invalidate cache data on save etc so all the bits are there - it just takes experience to work out what works best in which scenarios...
Feel free to contact me direct @kolchy if you have any other questions :)
Concerns about choosing Umbraco
Dear umbraco users and developers.
I'm currently in the process of evaluating Umbraco as our base system to build our websites on top of. While Umbraco is bringing some desirable traits to the table I also have some reservations and concerns that I would like to ask you guys about. If you need me to expand on any of the questions please let me know.
1. Development & deployment process
We are working on a large site and we have a development teams spread across multiple locations with separate development and test environments.
It seems to me that the development and deployment process of document types, macros, static data will be extremely difficult to manage between all these dev and test environments. I've been reading about uSync, uSiteBuilder, Courier and some other packages that should make this easier. However it still seems really hard to automate and like a fairly manual process.
Currently we have a fully automated test and deployment process and all code and static data content is shared through source control between developers. As far as I can tell it will be very hard to replicate this automated and version controlled process if we choose Umbraco as our platform. Any suggestions or comments regarding this observation would be greatly appreciated!
2. Upgrading/migrating to new Umbraco versions
The upgrade path from earlier versions to later versions of Umbraco seems flaky. It looks like the major versions is almost out of bounds regarding a direct upgrade path. Whats the story here? Should I just accept the version I start of with and expect a large rewrite if I want to upgrade to a new major version?
3. Integration with external data sources
The project we are working on have to integrate data from external data sources. What is the recommended way of dealing with external data?
Is it possible to integrate external data sources with the Umbraco caching pipeline?
Is it possible to create a custom management UI for external data sources. For instance using the built in editors and data types in Umbraco.
4. Performance & non-cached page rendering
A final concern is if the Umbraco page rendering is "heavy". I mean, we currently rely on rendering user-customized pages in real time using cached data. Is this a viable scenario in Umbraco?
Any comments or suggestions you have will be greatly appreciated.
Kind regards,
Johannes Hansen
Hey,
1. We are hoping Umbraco As A Service will mitigate a lot of these issues. You are absolutely right, syncing up environments is an absolute nightmare and a very manual process for the most part (without Courier).
2. When we have had to do major upgardes (we did 4.0 to 7.2) we needed to basically copy all the code into a new project and rebuild the back end umbraco nodes from scratch then copy over the content. It was small-ish sites so it was okay but I wouldn't want to do it with a larger site! Incremental changes and upgrades are not an issue at all but yes major versions are an issue.
Again, I'm hoping Umbraco As A Service will help with this.
3. Yes you can create a custom management page, we've done this for a lot of our ecommerce sites so that clients can manage orders etc. Unsure about the caching pipeline.
4. I've never had any performance issues with Umbraco at all even when I've had customized cached data being consumed.
Hi Johannes,
I'll try and add some value if I can :) My background is that I ran the technology for the largest digital agency in Australia, and one of the largest in the region, for over 17 years. We were early adopters of Umbraco, while we also built with Sitecore as well. Here are my 2 cents...
Deploy/Dev process Like any platform, there are nuances to getting Umbraco to fit within your dev/deploy processes, and like most things, you reap what you sow. Some of the tools you mention can be bent to work in a multi-developer/multi-location type environment (we had developers in Melbourne, Sydney, Shanghai, Manila and KL). Some of the most hands off stuff I've seen is being done by @slace and his tool Chauffeur (https://github.com/aaronpowell/Chauffeur) so maybe check that out (@slace knows his stuff).
Upgrades If you keep up with upgrades, and don't fall too far behind, upgrades are rather painless. Yes, the process could be better, but as long as you don't fall too far behind, upgrades tend to be pain free. I've seen platforms (many!) that are far more painful, so I never considered this a real problem.
External data Both of what you want to do are really simple in Umbraco 7. Was harder is some older versions but 6/7 has improved this greatly. If you do the Umbraco training (4 day course, not the 2 day course) you get hands on experience of how this works. With the whole backoffice written in Angular, now it's easier than ever before (in my experience) to create good looking, easy to use, consistent UX interfaces to manage data.
Performance With experience you'll work out how to best build a high performing Umbraco application. All the MVC partials can be cached, data can be cached, you can easily tie in CDN caches like Akamai or CloudFlare into the publishing pipeline so they invalidate cache data on save etc so all the bits are there - it just takes experience to work out what works best in which scenarios...
Feel free to contact me direct @kolchy if you have any other questions :)
Cheers, Karl
is working on a reply...