Favorites - select your favorite categories

Hello everyone,

This plugin lets users select their favorite categories and view only topics from their favorite categories. This plugin is the implementation of the idea mentioned here and drafted as a specification here.

How to use

  • The user decides which categories he likes the most and marks them as favorite. This can be done from the Categories view.

  • The user can also modify his favorites list from the User Preferences view.

image

:warning: Due to a limitation of Discourse plugins system, the changes are saved immediately and the “Save Changes” button will actually do nothing to the favorite categories list. In other words, if you change the list and do not press “Save changes”, the changes will still be saved.

  • Now the category :star: Favorites contains all topics from all favorite categories. This category can be accessed like any other category (i.e. from the drop down on the home page).

image

Installation

:information_source: Discourse 2.0+ is required.

Follow the official instructions: Install plugins on a self-hosted site.

The repository containing the source code of the plugin is located at https://github.com/nbianca/discourse-favorites.

Feedback

I am not aware of any bugs. However, if you find any, do not hesitate to report them.

Your feedback is highly appreciated and will help me to improve the plugin for everyone. If you have any suggestions, please reply. :slight_smile:

28 Likes

Nice! :+1:
Can the favorites view be selected as a user’s home screen (like latest or categories) too?

3 Likes

Unfortunately that is not supported yet, but I am considering it.

7 Likes

Any progress on this? It would be a nice feature!

Looks as though there is a fairly critical issue - when I enable and rebuild it crashes the rebuild process - as soon as I comment out this plugin it builds without issue.

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-canned-replies failed with return #<Process::Status: pid 346 exit 128>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home/plugins", "cmd"=>["git clone https://github.com/discourse/docker_manager.git", "git clone https://github.com/discourse/discourse-a
kismet.git", "git clone https://github.com/discourse/discourse-data-explorer.git", "git clone https://www.github.com/gdpelican/retort", "git clone https://github.com/angusm
cleod/discourse-events", "git clone https://www.github.com/gdpelican/babble", "git clone https://github.com/discourse/discourse-canned-replies", "git clone https://github.c
om/team-melbourne-rgsoc2015/discourse-adplugin", "git clone https://github.com/discourse/discourse-solved", "git clone https://github.com/discourse/discourse-assign", "git
clone https://github.com/discourse/discourse-staff-notes", "git clone https://github.com/davidtaylorhq/discourse-whos-online", "git clone https://github.com/discourse/disco
urse-spoiler-alert", "git clone https://github.com/discourse/discourse-saved-searches", "git clone https://github.com/communiteq/discourse-sitemap", "git clone https:
//github.com/discourse/discourse-cakeday", "git clone https://github.com/discourse/discourse-oauth2-basic", "git clone https://github.com/angusmcleod/discourse-question-ans
wer", "git clone https://github.com/angusmcleod/discourse-locations", "git clone https://github.com/discourse/discourse-voting", "git clone https://github.com/nbianca/disco
urse-favorites"]}
3fba033b9027ed6955339e39aa83594c187de75004d5fa6836d443058c645a61
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one

@nbianca @blake I think this maybe needs to be updated to ‘broken plugin’ given my post above? Can anybody else confirm?

I am marking it as broken plugin for the time being, we need to decide longer term if we want this as a core feature or not.

6 Likes

FWIW, I’d like it as a core feature…

6 Likes

I whole heartedly agree with this guy +1

3 Likes

As recenty discussed as feature request, this functionality in core would be beneficial for multiple purposes.

2 Likes

Did you guys already decide on that? :slight_smile:

1 Like

I’ve got at least one community that really needs this. It’s got hundreds of categories and people are likely to be interested in only a few.

4 Likes

it would be great to have this on core.

1 Like

The current workaround is just to work in reverse, mute the categories you want suppressed from the home page.

4 Likes

Yeah, but mute seems more like to things you don’t like/hate.

Example:

I really like to know/see topics about plugins, feature and themes here, its my main choice when I log in. But If a mute the others 15 categories I wouldn’t have a idea about the whole community.

2 Likes

Thing is the plugin worked exactly the way mute works. Muting a category only removes it from home pages.

I am guessing you are asking for an extra favorites tab?

4 Likes

Yes. It would be a nice feature. :smile:

3 Likes

Using muting is really not intuitive for some use case:

  • A lot of categories are available but only a are few relevant for most people. With new categories popping periodically.
  • Wanting a new category to be created as muted for everyone but the few relevant users.
  • Wanting to check the muted status for all categories available / all subcategories of that specific category on the same page I can read their description (on the category page).

The star makes everything clearer and more intuitive.

Actually, without having to implement new rules and logic for a ‘favorite’ status, if the star was just a toggle for the muted status of the category, it would be already very handy. Or on the same UX maybe have 3 settings: muted (BG-secondary color star), displayed/normal (primary color star), or favorite (smiling shiny rainbow star).

It would also be very nice if admins could chose if both 1) the stars would be displayed, and 2) the favorite status is possible :

  • for all categories, through a global setting
  • for that category on the category setting page
  • for all subcategories on the parent category setting page

(Oh, and to continue the wishlist, if the star could be a parameter allowing to chose any FA icon instead, that would also be fun).

4 Likes

I’d be willing to put the work into this plugin to get it back on the road if there was backing:

Is there any appetite to co-sponsor that effort? I’d be looking to raise $700 from the community for a straight reboot (fixed, no additional features)

I know @Merlls_Rizzini is interested, any other support? @pfaffman, would that community of yours be keen to sponsor? Any other pledges?

5 Likes

@sam has this idea been discussed any further? Is it in the works as a core feature of Discourse, or is it worth someone spending the time to fix this plugin?