I have a fairly large site that I'm interested in migrating to Orchard. I'm curious about the best way to go about this. The site has an extensive admin application (literally dozens of content types [though I'm not sure that they're completely analogous
to Orchard "content types"]), a large SQL database (around 80 tables, over a hundred stored procedures, etc.), and a LOT of data. We dynamically server over a 100k pages from this database.
A sample of the types of content that are stored in the database:
Events (trade shows, seminars, etc)
Home page blurbs (similar to a blog post, I guess)
Product documentation (mostly manuals)
News items (articles, press releases, etc.)
Now, I don't want to reimplement the entire database. The admin interface code is pretty much a lost cause as far as integration goes - most of it's in classic ASP *sniff*. So, in the interest of really using Orchard, I'm curious how I can:
1. Add pages to the Orchard admin site that let administrators maintain these items.
2. Keep these items in their existing database, separate from the Orchard database
3. Retain the existing SQL stored procedures that my admin site calls to manipulate these items. One of my requirements is to limit access to this sort of application-specific data (ie, everything that doesn't go in the Orchard database) to stored procedure
access. (My site currently uses a database account that only has rights to execute sprocs, and it has to stay that way for any data that isn't Orchard-specific.)
4. Several of these areas are tied to external applications - services that export to our CRM and accounting systems, generation of proprietary format subsets of some of the tables for inclusion in a client application that we sell, etc
- so, again, keeping the existing database structure is a must.
5. How can I extend the Orchard permissions feature to include more granular rights? I need some users to be able to edit News items, but deny them rights to, for instance, product documentation. Currently, I have a table that defines rights per-user, which
works well as the users don't fit into nice groups like "editor" and "contributor." Permissions are often disjoint, incomplete (some can only edit *some* pages within the documentation area)
I don't want to create a separate admin module as obviously it would be ideal if editors, etc for these things could show up in the Orchard site.
I've looked at this example:
which answers some of my questions, but doesn't really go into how to keep the data in a separate database.
Apologies for number of queries in a single post, and thanks in advance for your assistance.