Forum Development (added to the main source code 4/27/13))
Note: The sacnetug.org application, and this Forum addition, are founded on Microsoft’s ASP.Net MVC 2.

This forum application was added to the 'Areas' section of sacnetug, adjacent to the 'Admin' development, to keep the forum functionality conceptually separate from the main site.

Several different online sites dedicated to design of forum software were consulted in the process of designing this forum. In addition to major design elements (outlined below), the ability for users to participate in the forum via all popular current mobile devices, as well as workstations, seemed important. Consequently, a quite simple forum design has resulted.

Notable Forum Design Elements:
1. No separate ‘threads’ exist in this forum; all forum discussion stems from an initial topic, subject, presentation, or question, etc.
2. Forum users first see a listing of forum subjects which are links to a separate listing of the selected subject and its subsequent posts. The forum subject listing is ordered by date (shown), in descending order (most recent subject first). Each subject/link also shows the ‘handle’ of the person submitting the subject, and the number of posts to the subject to date.
3. At the bottom of the listing of subjects is an link to a form for submitting a new subject for discussion. Upon submittal, the listing of subjects is refreshed to indicate that the subject was added.
4. At the bottom of the listing of 'selected subject and subsequent posts' is an link to a form for adding a post to this listing. Once the form is filled out and submitted, the user is returned to the same (refreshed) listing, so the user can see that his/her post was really added.
5. It may be noted (in 3. and 4. above) that the only links for adding subjects or posts are found at the bottom of listings. This resulted from a recommendation in one of the forum design web sites that users be forced to read through the existing material before adding items. This approach is to reduce duplication of material in the forum.
6. Submission of new subjects or posts is only permitted by registered users.
7. Each submitted subject or post may be 'flagged' for deletion by any registered user. The Moderator will then judge if the item is sufficiently offensive for some reason to be deleted. Items flagged then approved by the Moderator may not be re-flagged.

Data Design Aspects:
1. The initial design was for separating subject and resulting posts into 2 related tables and 2 separate C# classes. This approach was scratched in favor of a single database table and a single C# class named Post. This because most all of the data is the same whether submitting a subject for discussion, or a post to that subject. Simplicity seemed to out-weigh having some unused fields in the db table for each record.
2. There are only 2 controllers in the Forum development; a PostsController, and a ModeratorController. Each deal only with the 'Post' table in Sql Server.
3 A separate controller for the moderator was added to permit conceptual separation of functionality, and to enable separate Authorization annotations. The moderator is expected to be a single person, designated by the user group, with authority to enforce listed submission guidelines by either editing any portion of the submittal, or by deleting the submission.

Last edited Apr 28, 2013 at 12:50 AM by roncrawford, version 1

Comments

No comments yet.