Hope all is well, and firstly I would like to thank all the great minds behind the Umbraco project because I sincerely think it's a job well done!
When I first started working on Umbraco, there was no hype about MVC, it was a well known architecture, but not applied as rigourously as it might be nowadays, after the release of ASP.NET MVC 3. Once MVC 3 was out, I started familiarizing myself with it (in a non-Umbraco environment) and couldn't wait for the release of Umbraco 5. By the time I needed to develop a website using MVC & Umbraco, it was already reported that Umbraco 5 will no longer be supported and people were encouraged to stick to version 4. Fair enough, however I was already in love with the MVC architecture and didn't want to go back, so I started reading about UmbraMVCo (http://our.umbraco.org/projects/website-utilities/umbramvco) and another Rebel CMS (http://www.rebelcms.com/). Unfortunately, I wasn't 100% with either of them, either because of my ignorance, lack of documentation or lack of community support.
This turned out to be a major headache, I downloaded the Umbraco source and started fooling around in there. This turned out to be more complicated than I hoped, apart from the obvious fact that if Umbraco release a new update, I will have to migrate this update onto my 'fork'. Eventually, I had this idea of developing a layer over and above Umbraco which will 'convert' Umbraco data & records into models. These models could later be worked upon by your controller in the web application and eventually displayed in the view.
I understand that this solution has it's overheads as records are being retrieved and converted into objects (mongst other things) which could affect performance and it is not really a 100% MVC solution, however it works great for me, it's simple to understand, simple to extend and I haven't noticed any serious performance issues (admittedly I haven't implemented this on a massive scale). And hopefully, with some input from the clever minds on these forums, these bumps could be flattened out.
I am currently writing a couple of blog posts on our website on how I have done this. Today I have published the first blog post, the rest are to follow, eventually I will prepare a complete solution available for download, but I am still doing some fine tuning here and there as well as preparing an understandable documentation.
Also note that the first blog post had some introductory stuff about Umbraco (for non-umbraco users), so you may skip the first two-three paragraphs. ;)
If anyone is following, I have posted the second part to this blog on MVC Umbraco. Also note that this is relevant to Umbraco v.4 not the latest version (i.e. v.6). Unfortunately I have not had the time to experiment with version 6, but once I switch to version 6, this will no longer be relevant.
MVC and Umbraco
Hi All,
Hope all is well, and firstly I would like to thank all the great minds behind the Umbraco project because I sincerely think it's a job well done!
When I first started working on Umbraco, there was no hype about MVC, it was a well known architecture, but not applied as rigourously as it might be nowadays, after the release of ASP.NET MVC 3. Once MVC 3 was out, I started familiarizing myself with it (in a non-Umbraco environment) and couldn't wait for the release of Umbraco 5. By the time I needed to develop a website using MVC & Umbraco, it was already reported that Umbraco 5 will no longer be supported and people were encouraged to stick to version 4. Fair enough, however I was already in love with the MVC architecture and didn't want to go back, so I started reading about UmbraMVCo (http://our.umbraco.org/projects/website-utilities/umbramvco) and another Rebel CMS (http://www.rebelcms.com/). Unfortunately, I wasn't 100% with either of them, either because of my ignorance, lack of documentation or lack of community support.
This turned out to be a major headache, I downloaded the Umbraco source and started fooling around in there. This turned out to be more complicated than I hoped, apart from the obvious fact that if Umbraco release a new update, I will have to migrate this update onto my 'fork'. Eventually, I had this idea of developing a layer over and above Umbraco which will 'convert' Umbraco data & records into models. These models could later be worked upon by your controller in the web application and eventually displayed in the view.
I understand that this solution has it's overheads as records are being retrieved and converted into objects (mongst other things) which could affect performance and it is not really a 100% MVC solution, however it works great for me, it's simple to understand, simple to extend and I haven't noticed any serious performance issues (admittedly I haven't implemented this on a massive scale). And hopefully, with some input from the clever minds on these forums, these bumps could be flattened out.
I am currently writing a couple of blog posts on our website on how I have done this. Today I have published the first blog post, the rest are to follow, eventually I will prepare a complete solution available for download, but I am still doing some fine tuning here and there as well as preparing an understandable documentation.
URL: MVC Umbraco
Do not hesitate to contact me if you have any questions or feedback (both positive or negative).
Thanks & regards,
Kevin
Also note that the first blog post had some introductory stuff about Umbraco (for non-umbraco users), so you may skip the first two-three paragraphs. ;)
If anyone is following, I have posted the second part to this blog on MVC Umbraco. Also note that this is relevant to Umbraco v.4 not the latest version (i.e. v.6). Unfortunately I have not had the time to experiment with version 6, but once I switch to version 6, this will no longer be relevant.
is working on a reply...