Skip to content

Personalized home page/navigation for 'me' in Thredded #347

@timdiggins

Description

@timdiggins

In the project we're working on with Thredded we need a personalized set of topic-list pages as an alternative to a listing of messageboards.

So for example a homepage with a top-level nav menu consisting of:

  • Unread: a list of unread topics (ordered by last post) across all messageboards
  • Following: a list of followed topics (ordered by last post) across all messageboards
  • Posted: a list of topics you've posted to (ordered by your last post) across all messageboards
  • All messageboards: a list of messageboards (as present)
  • All topics: a list of all topics (ordered by last post) across all messageboards

The first item in the list would be the home page.

I think this could be configurable, so to get the current presentation you'd just do:

Thredded.top_level_navs = [:all_messageboards]

But to get the full set you'd do:

Thredded.top_level_navs = [:unread, :following, :posted, :all_topics, :all_messageboards]

Which is the default configuration we can work out, depending on the answer to the next:

We are thinking that we could implement this as either a separate repo/plugin to Thredded (er, not sure what this might look like exactly, but am assuming something a new engine + sub namespace which you need to add as well as thredded. Maybe therefore the config above might be Thredded::PersonalizedNavigation.navs = [:all_messageboards]

Alternatively we could adopt within Thredded itself (given that the default configuration could be to have no change), but gut feel is that this is enough of a side-track from the main core of Thredded that it would be better separate.

Any thoughts @glebm @jayroh? Any pre-existing separate plugin repos which might indicate some testing / mounting / configuration options (would https://github.com/thredded/thredded-read_tracking indicate some "best practice"? even though I think that is destined for merger into thredded itself)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions