How to customize the community module for the ASAP Android SDK?

How to customize the community module for the ASAP Android SDK?

User Community is the module through which end-users can access discussion forums and interact with other users to share knowledge. These methods help you display the Community module and all associated content on the ASAP help widget.

Custom-configuring Community actions

The following method helps you define users' actions when accessing the community through the ASAP help widget:

For example, to hide the topic reply option, we can use the code snippet below. 
  1. ZDPCommunityConfiguration configuration = new
  2. ZDPCommunityConfiguration.Builder()
  3.                .isReplyAllowed(true).build();
  4. ZDPortalCommunity.setConfiguration(configuration);
Refer to the table below for all the community module configurations:
Method name
Method description

Default status

isReplyAllowed
To hide the reply submitting option in the topic comments screen.
Enabled
isReplyEditAllowed
To hide the reply edit option in the topic comments screen.
Enabled
isReplyDeleteAllowed
To hide the reply deletion option in the topic comments screen.
Enabled
isTopicEditAllowed
To allow the option to edit the topic in the topic details screen.
Enabled
isTopicDeleteAllowed
To enable the option to delete the topic in the topic details screen.
Enabled
isTopicDetailSearchAllowed
To hide the search option in the topic detail screen.
Enabled
disableTextReader
To hide the text-to-speech functionality in the topic detail screen.
Disabled
disableKeySearcher
To hide the in-article search option in the topic detail screen.
Disabled
disableTopicLike
To disable the option to like the topic in the topic detail screen.
Disabled
disableTopicComment
To hide the comment icon in the topic detail screen.
Disabled
The following API fetches the forum topics with the most number of likes:
  1. HashMap<String, String> params = new HashMap<>();
  2. params.put("from", "1");
  3. params.put("limit", "5");
  4. ZDPortalCommunityAPI.getMostPopularTopics
  5. (new ZDPortalCallback.CommunityTopicsCallback() {
  6.  @Override
  7. public void onCommunityTopicsDownloaded(DeskTopicsList deskTopicsList) {
  8. }
  9. @Override
  10. public void onException(ZDPortalException e) {
  11. }
  12. }, params);

Allowed Params

  1. categoryId —string—The ID of the community category from which the topics must be fetched. If you want to include all categories, pass the value null.
  2. filterType - string - Type of forum topic. Values allowed are QUESTION, IDEA, ANNOUNCEMENT, PROBLEM, and DISCUSSION.
  3. from - int - Index number, starting from which the topics must be fetched. Value starts from 1.
  4. limit - int - Number of topics to fetch.
  5. includeCount - Boolean - Parameter specifying whether the number of topics fetched must be displayed.

Getting the Most Discussed Topics 

The following API fetches the forum topics with the most number of comments:
  1. HashMap<String, String> params = new HashMap<>();
  2. params.put("from", "1");
  3. params.put("limit", "5");
  4. ZDPortalCommunityAPI.getMostDiscussedTopics(new
  5. ZDPortalCallback.CommunityTopicsCallback()
  6. {
  7. @Override
  8. public void onCommunityTopicsDownloaded(DeskTopicsList deskTopicsList)
  9. {
  10. }
  11. @Override
  12. public void onException(ZDPortalException e)
  13. {
  14. }
  15. }, params);

Allowed Params

  1. categoryId —string—The ID of the community category from which the topics must be fetched. If you want to include all categories, pass the value null.
  2. filterType - string - Type of forum topic. Values allowed are QUESTION, IDEA, ANNOUNCEMENT, PROBLEM, and DISCUSSION.
  3. from - int - Index number, starting from which the topics must be fetched. Value starts from 1.
  4. limit - int - Number of topics to fetch.
  5. includeCount - Boolean - Parameter specifying whether the number of topics fetched must be displayed.