One of the most requested features on the Orchard User Voice is a Forum module. Internet forums in the conventional sense is just a discussion site where people can post a question, receive an answer or merely to strike up a conversation.
Forums have a large and varied vocabulary which can be very confusing to a user, i.e. a Thread can be referred to as a Topic, A Post maybe a Reply, so on a so forth. For the Orchard Forums module I have used this vocabulary.
- Forum: A board to start your journey i.e. Asking a question or striking up a conversation. These contain a collection of Threads.
- Thread: A collection of Posts.
- Post: A user submitted message.
I am going to walk through below how to get started.. but first you need to clone the Repo at orchardforums.codeplex.com (Make sure the Directory name is NGM.Forum)
To start seeing the Forums module you need to enable the Forums feature FYI: This demo is done in ThemeMachine and is not styled.
Now lets create a new forum. In my demo below I am creating a Discussions Forum.
Hit save and Vola… You have just created a Discussions Forum. (Obviously with no threads…)
Going to the permalink that has been generated through the AutoRoutePart… in this case http://localhost:30320/OrchardLocal/discussions you will find your self at the UI for the users to interact with.
Now let now create a Thread.
There are a few things to note on this page.
- Categories and Tags. These are delivered though the Taxonomies module.
- The Permalink and Home page button. These are there by default when you create/edit a Thread. You can remove them with the Placement.info file in your theme.
- Where is my Rich Text Editor? I am NOT using the BodyPart for Posts. Instead I have implemented my own version of what BodyPart does because it does not cater to the needs to anything outside of the Admin Screens.. i.e. Media Management. So How can I have a Rich Text Editor? Implement one.. Just copy the code from TinyMCE. I have added a flavor to the part so creating your own is easy.
Now hit Save….
By default all users are moderated. This is done two fold.
A Part called UserForumPart: This is a part that is attached directly to the user.
ApproveUnapprove Permission: Allows a user in a role to approve or un-approve Posts and threads.
Here you have a Thread awaiting approval. A Thread or Post can live in 3 states.
2. Awaiting Approval: Content needs to be reviewed
In this case I will approve. You can now see your thread on the front screen.
View / Reply Post
A few things to note from the screen above. 1. You have the taxonomies being displayed. 2. Quick reply. This is the edit box displayed. The Forums module DOES support multithreaded posts, but have not implemented from a UI perspective.
Okay so that is the end of this demo. Please clone the Repo at orchardforums.codeplex.com
But Nick, Functionality is starting to come together… but where is the theming!?
Hold on there busta!, So I have been speaking with Ryan Drew Burnett around the theming side of things, and he has produced the first mock up of a themed Orchard Forums… Check it out! (I think is look great!)
CORRECTION: Fixing naming of folder form NGM.Forums to NGM.Forum (Thanks Volody)