This document describes about Discussion Forum architecture
...
Categories list
Category list with details
Category list with only name(as a list)
Topics list
Filter options & search query should be the config for the widget (optional for now)
Note: Think this can be independent widget itself can be used at any place
Topic thread(with new post, list of posts & reply to post)
Create a Topic
Create Category
Post/Reply
Post card
Replay to post
After posting the reply(expanded view)
...
GroupId or userId either one of these is mandatory.
Use authentication
Description:
Telemetry Events
Description: Telemetry events generated by discussion forum
Event Format:
Code Block |
---|
{ eid: INTERACT, edata: { id: 'category', type: 'CLICK', pageid: 'discussion-category', }, context: [ { type: Category id: {categoryId} }, { type: Topic id: {topicId} }, { type: Post id: {postId} }, ] } |
Integrating events triggered by the Discussion Library:
Code Block |
---|
import { DiscussionEventsService } from 'discussion-ui';
constructor(private discussionEvents: DiscussionEventsService) { }
ngOnInit() {
this.discussionEvents.telemetryEvent.subscribe(event => {
console.log('telemetryEvent', event);
});
} |
telemetryEvent:
Code Block |
---|
{
eid: INTERACT,
edata: {
id: 'category',
type: 'CLICK',
pageid: 'discussion-category',
},
context: [
{
type: 'Category'
id: '1'
}
]
}
|
Code Block |
---|
{
"eid": "IMPRESSION",
"edata": {
"type": "view",
"pageid": "discussion-home",
"uri": "/discussion"
}
} |