A ForumMessage encapsulates message data. Each message belongs to a thread, and relates to other messages in a thread in a tree relationship. This system allows messages to represent threaded conversations. For example:
[thread] |- [message] |- [message] |- [message] |- [message] |- [message] |- [message]
Each message has a subject and body. Messages are authored by a user in the system or can be anonymous. An ID is given to each message so that it can be tracked uniquely. Because is possible that one might want to store considerable more information with each message besides a subject and body, each message can have an arbitrary number of properties. For example, a property "IP" could be stored with each message that records the IP address of the person posting the message for security reasons.
The creation date, and the date the message was last modified are maintained for each message.
For added functionality, any number of filters can be applied to a message. Filters dynamically format the subject and body of a message. Methods are also provided to bypass filters.
@see ForumMessageFilter