Low level plumbing

Topics: Core
Sep 16, 2012 at 2:25 AM
The Orchard CMS is absolutely fantastic but I'm looking to use the concept of modules within a pre-existing application. Is there a stripped down version whereby I can implement just the underlying plumbing in my application which then provides the ability for other teams to create modules and have them implemented in my core application in the Sameway as Orchards extends functionality? Ivan
Sep 16, 2012 at 5:00 AM

No, you'd have to build this yourself, sorry.

Sep 16, 2012 at 5:57 PM

It might be interesting for you that you don't actually need to use anything from the Modules folder: only the core. I don't know why you would do that, but you can strip Orchard down to the core really.

Sep 21, 2012 at 8:45 PM

Hey Piedone - Thanks for the feedback.

The reason I'm looking to do this is because I have a production application already running and I can't rebuild all that functionality into Orchard. So, my thinking is that I retrofit the Core Orchard plumbing into the application and then other teams can independently create modules and upload them to my current application.

I'm not sure the complexity involved in pushing Core into an already existing application....but I'll give it a bash!


Sep 23, 2012 at 9:57 PM

You will need to take the Orchard.Framework code and strip out all the code you don't require, such as the content management. It won't be a simple task as you will need a detailed knowledge of Orchard's architecture and internals. There will be interfaces that are only implemented in modules that you will have to re-implement. However I can assure you it is possible as I've done this before due to very specific requirements, and everything is working just fine without the content management system.

It would be great if the Orchard project provided an even lower level of extensibility framework than it does currently, a project with just module, theming and MVC extensibility, as then it would be trivial to make any ASP.NET MVC website extensible/multi-tenanted and modular. However for now it is possible to pull that code out to achieve the same.