We are looking into various CMS systems and so far Sitefinity looks pretty good. We specially like the API and Sitefinity's extensibility. It seems that Sitefinity may work for us but we would like to confirm before we commit. Here is roughly what we are trying to achieve:
Our software helps corporations track and troubleshoot certain system events like "printer PTR123 failed to initialize" or "server S234DF is down". We would like to document the event and also the step-by-step resolution process that our clients used, and we are wondering if the Forums module is what we need.
Here is what we have in mind:
- We will create several main forums like "printer events", "server events", etc. Our end users do not need to see or know about the existence of these forums.
- Our end users will never create threads manually. Whenever an event is fired, a new thread will be created through the Sitefinity API to track the event. Each event will have its own thread. For example, when the event "printer PTR123 failed to initialize" fires, our application will use the API to create a new thread under the "printer events" forum. The first post on the thread will contain all the data pertaining to the event. Our application will keep the mapping between the event ID and the newly created thread ID.
- Our end users will never have to see a list of threads. They do have access to an “event log” webpage that lists all the events that have been fired for their organization. When end users click on one of the events they should be taken to a Sitefinity page that displays the forum thread associated with the event. At that point our end users can add posts to that thread as they resolve the situation. This is all the interaction our end users are allowed with the Forums module.
- Is this feasible/doable? Are we in the right track? Does this sound simple or does it sound like lots of custom work?
- Keep in mind that our application is hosted and shared by many corporations, so we need to make sure that users of client “XYZ Corp” can only see (and post) to those threads that were created as a result of that company’s events. If we store the company ID as a custom thread field, can we do the appropriate checks when the thread is displayed and if necessary redirect to an error page?
- If we have a specific thread ID, how do we set things up so that the correct thread is displayed on the page?
- When a post is added through the API, does the content have to be valid HTML? What happens if it is malformed HTML?
- Sometimes the posts that are added through the API need to include images. What would be the approach? Do we upload the image first and then link to it in the body of the post? How do we build the "url" of the image programatically?
- How do we make sure a picture from “XYZ Corp” is not seen or accessed by “ABC Corp”?
Sorry for the long post. Thanks for any feedback!