Topic pages: Technical implementation

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Initial discussion on Topic pages is here : http://groups.drupal.org/node/144584
Latest mockups are here : http://groups.drupal.org/node/144584#comment-592174

This wiki is ment to aggregate all discussions on technical implementation of these pages.

Issue tag is "topic pages".

Desired features for Topic pages grouped into stages by the must-haveness of their implementation:

Basic topic page

Labelling, aggregating and exposing content to Topic pages

Issue : http://drupal.org/node/1290740

Requirements: basic idea of the topic page
- possibility to tag various content (issues, forum topics, documentation pages, group posts) as related to certain topic.
- display list of newly created/updated content related to specific topic on topic page.

Possible solutions:
- "faking" activity streams by using rss feeds
- tagging content via taxonomy

Functionality and permission restrictions for topic pages creation and deletion.

Requirements: At this stage we have only "top level" pages. Only webmasters can create/edit/delete them.
All users can tag content as related to topics.

Topic page: Stage 2

Allow users to follow the topic (similar to following issue)

Requirements: When user "follows" topic he/she starts to receive notifications about activity in the topic - on his dashboard and/or email.
If this is too complicated to implement at least we could possibly allow rss syndication of topics?

Topic page: Stage 3

Implementing parent-child system for topics and allowing users to create new topics.

Requirements: At this stage all d.o. users can create topics which will be "child" to the "top level" topic pages created on Stage 1.
Users can add multiple parent and child topics to a topic page. Each topic created by usual user must have at least 1 parent. Only webmasters can create topics without parents -> "top level" topic pages.
Parent-child system is used only for structuring topics and making easier to find the ones interesting for you. Parent topics do not aggregate any activity of the child topics.

Topic page: Stage 4

Allow webmasters to merge topic pages

Requirements: As a tool to fight duplication add possibility for webmasters to merge topics - delete one topic and change tag on all the content related to this topic to make it related to another topic.

Setting and displaying relations between topics.

Requirements: Any existing topic page (except parents and childs for this topic) can be added as "Related" and will be shown in the right sidebar.

Topic page: Stage 5

Displaying user images on topic pages

Requirements: display images of most active users and users who start following topic

Problem: there is no user pictures functionality on d.o

Possible solutions: Enable the support for user profile pictures

Displaying users who follow the topic

Requirements: create followers pages to show people who follow specific topic

Showing list of manually added/edited "Important links" on the page

Requirements: provide possibility to add, edit and remove links, important for this specific topic page.

Topic pages: Stage 6

Aggregating overall activity by the topic

Requirements: summary of all content for topic e.g. 13 active issues 9 active groups

Problem: this imply massively resource-expensive queries across multiple sites. No current solution exists in contrib that isn't mad resource intensive (and thus not fit for d.o.)

Functionality to invite users to follow topic

Requirements: window/page, which lets you send message to some d.o user with invite to follow this topic.

Per-topic notification settings for topic followers

Requirements: add possibility to change notification settings (how often to receive email, what types of content aggregate in email etc.) on per-topic basis.

Functionality which was not implemented in current mock-ups but can be considered in the future:

  1. Functionality to send message to all people following specific topic.
    Concerns should be answered as to who can send message? how often? how can person opt-out from receiving such messages?
  2. Social media integration: possibility to share topic on twitter, facebook etc.

Prairie Initiative

Group organizers

Group categories

Prairie tags

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week