问题
We need to find a .NET CMS system that does well in handling external data. Most of the data comes out of an external CRM system which is updated continuously.
Some requirements:
- We would like to avoid duplicating the CRM data. Meaning the CRM data should stay in the CRM system.
- Access to the CRM data can be handled via API, but raw db access is available as well of neccessary.
- It should be possible to edit the CRM data from the CMS UI, but all data needs to be saved back to the CMS db.
- News module
- Blog module
- Simple shop module for selling small number of t-shirts with different sizes/colors
- (optional) preferably MVC based (but knowing that this would limit the option too much)
- (optional) preferably c# based
- well supported, preferably with big community (was added to prevent custom solution suggestions ;) )
The focus of this question is which CMS system is good in handling external data, the other requirements are just to get an idea what kind of CMS we are after.
**UPDATE**
- The data will be edited from CMS and CRM
- The user is supposed to work directly on the CRM database from both CRM and CMS system
- Concurrency issues are handled on DB level by optimistic concurrency. Basically an update might just fail, then the data gets reloaded and presented again to the user
- no data symmetrization of any kind should take place at any point
回答1:
I suggest you to take a look at Umbraco CMS. It's a good CMS based on the .NET framework. It's possible to work with MVC, even if you need to follow few steps in order to do so. Currently we are using it in a project that invokes some SAP ERP APIs. You can create custom administrative sections, which will be part of the backend UI. These sections will be able to handle CMS data (nodes, items, etc.) but also they could access external information or run remote methods (as we are doing for the SAP R/3 integration). It comes out-of-the-box with several modules: faq, news, blog, sitemap, etc. etc., which can be selectively installed from inside the administrative GUI. Take a look at our.umbraco.org to have an idea about the community....
Cheers, G.
回答2:
I think you should focus less on the CMS product and more on the middleware you'll use to transfer data between your CRM system and your CMS.
Some questions to ask:
- When you implement your CMS, will that be the sole point of entry for new data coming into the CRM or will new data come from other sources as well?
- If updating via the CMS - will you work with a local copy of the data which is then synchronised with the CRM data, or will you access the CRM data directly?
- How will you handle concurrency issues - if a record is updated from different sources at the same time?
If your solution is fairly complex and you'll be pulling data from multiple sources that needs to be merged to a single master, take a look at integration solution providers like Biztalk, Pervasive, Castiron; these are expensive products used to handle heavy duty integration logic. If your requirements are simple, look at SSIS or write web services to handle your integrations.
There are a number of well-supported and free CMS products like umbraco and dotNetNuke that are developed in C# and have news, blog and shopping modules, either out-of-the-box or as plugin modules. EPiServer is a well-supported commercial product also developed in C#. You should be able to export and import data from any of these systems with relative ease, or write additional functionality to connect to external systems and read / update data.
Hope that helps!
来源:https://stackoverflow.com/questions/5076897/net-cms-choice-for-working-with-external-data