Chapter 4. Developer reference

Extension points
ForumEventLifeCycle
AnswerEventLifeCycle
BBCodeRenderer
Internal API
Forum application
Answers application
Polls application

There are some extension points in eXo Knowledge, so that you can control how these components work by implementing or extending default implementations, then reconfigure these new components in the configuration.xml file.

Applications of eXo Knowledge, such as Forum, Answers and Polls, use REST services to communicate with the server. This section describes REST Services of internal API.

The Forum application of eXo Knowledge uses the ForumWebservice to provide all APIs to work with Forum, such as filtering IPs, viewing RSS, and more.

Service name Service URL Description Location
ForumWebservice $portalName/$restcontextname/ks/forum/ To call extended services of the Forum application.

* Maven groupId: org.exoplatform.ks

* ArtifactId: exo.ks.web.webservice

Use the following APIs to build all the functions of Forum application:

Name Description Service URL endpoint Parameters Expected Values
getMessage To get all new posts with the number based on the maxcount value. $portalName/$restcontextname/ks/forum/getmessage/ String maxcount integer
filterIps To ban IPs with no access to Forum. $portalName/$restcontextname/ks/forum/filter/ String str String in the IP format.
filterIpBanForum To ban IPs with no access to a specific Forum. $portalName/$restcontextname/ks/forum/filterIpBanforum/

String forumId

String str

string in the IP format, string in the Forum format
filterTagNameForum To do quick search for tags that returns the list of tags. $portalName/$restcontextname/ks/forum/filterTagNameForum/

String str

String userAndTopicId

Tag name

id of user and topic

viewrss To process the request by the user when he/she wants to view RSS. $portalName/$restcontextname/ks/forum/rss/ String resourceid

category id

forum id

topic id

userrss To process the request by the user when he/she wants to view their own collected RSS. $portalName/$restcontextname/ks/forum/rss/user/ String resourceid username id

The Answers application of eXo Knowledge uses the FAQWebservice to view RSS.

Service name Service URL Description Location
FAQWebservice $portalName/$restcontextname/ks/faq To call extended services of the Answers application.

* Maven groupId: org.exoplatform.ks

* ArtifactId: exo.ks.eXoApplication.faq.service

Use the following APIs to build all the functions of Answers application:

Name Description Service URL endpoint Parameters Expected Values
viewrss To view RSS $portalName/$restcontextname/ks/faq/rss/ String resourceid category id, question id

The Polls application of eXo Knowledge uses the PollWebservice to create and interact with the Polls gadget.

Service name Service URL Description Location
PollWebservice $portalName/$restcontextname/private/ks/poll To call extended services of the Polls application.

* Maven groupId: org.exoplatform.ks

* ArtifactId: exo.ks.eXoApplication.poll.service

Use the following APIs to build all the functions of Answers application:

Name Description Service URL endpoint Parameters Expected Values
viewPoll To return data of the Polls system $portalName/$restcontextname/private/ks/poll/viewpoll/ String pollId id of poll
votePoll To update data for the Polls with the returned id $portalName/$restcontextname/private/ks/poll/votepoll/

String pollId

String indexVote

id of poll

integer