Comments: Communicating with context

This article is about how comments are stored in P2 server, and how they can be used.  For details on how comments are implemented in P2 Explorer, see: Comments ButtonCreating a Trend.

P2 Server’s commenting system is a smart way of adding time stamped commentary to entities, all stored in a common location, with extra information associated with it.  This extra information adds another whole level of information to this simple textual comment. 

This extra information allows us to perform many different types of smart searching, filtering and linking, so we can associate these simple pieces of text with the real life objects that the comment was made about.  The context that is applied to each comment allows you filter out comments on a report, based on this extra information.  For example, on an Oil Sales report you may only want to show comments that are tagged with the context of oil, so other comments about downtime or gas sales can be hidden.  

 Comments are stored in the P2 Server database, with the following information:

  • Text of the comment
  • Start date and time where the comment applies
  • End date and time where the comment applies (can be the same as the start time if the comment only applies for an instant in time)
  • Entity to which the comment applies (Entity or Entity:Attribute or Entity:Attribute!AttributeValue)
  • Author of the comment
  • Context
  • The application from which the comment was made

The system provides comment data storage and retrieval for applications which don’t have any comment storage capability.

 

Time-aware comments

Comments are always made with a date and time in mind. This is a time period with a start time and end time (e.g. a production month or day).

This means that the comment will apply to an entity for that period of time. If you want a comment to apply to a particular instant in time, you can make the start time and end time the same.

 

Context

A comment’s context is some extra information that is added to the comment by a consuming application, such as P2 Explorer, and is used in a way that makes sense to that application.

For example, in P2 Explorer, the context is determined by the page designer. In the case of the comments button component, all comments entered via that component on a page has the context as whatever is decided by the page designer. To illustrate, suppose the comments on a page all have the context of “Oil Report”. Explorer can apply filtering to all the comments in the system to only show comments relevant to the current Explorer page. 

Taking this a step further, a page designer can use the same context for the same entity on a completely different page. When a comment is applied to that entity, users will see all comments for that entity and context (e.g. Oil Report), even though they are displayed on different pages.

Related: Comments Button

 

Threaded comments

The commenting system is threaded, so that users can reply to comments.  This allows each of the sub comments to be kept together, allowing a user to see a full history of the conversation.

Replies can only be made one level deep.

 

How comments can be used

Consuming applications can use the commenting system in various ways.

For example, in P2 Explorer, there is a Comments button component that allows comments to be added to a page, and users can also add comments via the trend.

Comments are displayed in P2 Explorer in a panel that appears on the right side of the page, when the user clicks the comments icon on the page or trend.

howcommentscanbeused

Each consuming application can use the P2 Server Comments system in a way that makes sense for that application, making it a very flexible system.

 

Comments are closed