This section introduces the design of the solution and an online tool for acquiring, managing, and sharing the content of our site. Specifically we will do the following:
Provide a full list of the features we want to implement
Design the database tables for this module
Create a list and a description of the stored procedures needed to provide access to the database
Design the object models of the data and business layers
Describe the user interface services needed for content management, such as the site pages and reusable user controls
Explain how we will ensure security for the administration section and for other access-restricted pages
Let's start our discussion by writing down a partial list of the features that the article manager module should provide in order to be flexible and powerful, but still easy to use:
An article can be added to the database at any time, with an option to delay publication until a specified release date. Additionally, the person submitting the article must be able to specify an expiration date, after which the article will be automatically retired. If these dates are not specified, then the article should be immediately published and remain active indefinitely.
Articles can have an approved status. If an administrator or editor submits the article, it should be approved immediately. If you allow other people, such as staff or users of the site (we will call them contributors), to post their own news and articles, ...