Fedora Discussion 2022 — what's new!

Hello everyone, and Happy New Year! I’ve completed a big reorganization of this site, based on a long conversation started almost two months ago.

It was a lot! Click to see all the details — or read on for a quick summary!

Test/Devel Tasks

  1. Set up temporary site
  2. Ask Discourse support to replicate this site there for experimentation.
  3. Turn off all email on the test site!
  4. Set up local admin login.
  5. Generate an API key for the scripts
  6. Set max edits per day to something ridiculously high
  7. :memo: Write script to save category watch/track/first/mute state for all users
    • :memo: Update script to save category numeric id to name/slug mappings
    • :robot: Run that script
    • verify that it looks… right?
  8. delete all tags groups
  9. :memo: Write script to delete all tags
    • :robot: kill all humans delete all tags
  10. Turn on disable category edit notifications and disable tags edit notifications
  11. :memo: Write script to tag all posts based on the category they’re in with the category slug
    • skip #commblog, #mods, #site-feedback, #lounge, #staff – these categories will remain separate
    • skip #projects-in-copr, a) it will remain that’s staying a separate category and b) that’s over 30,000 posts, and we’re limited to 60 API calls per second, so it’d take a long time!)
    • :robot: run script to tag all of those posts.
  12. :memo: Write script to restore category watch/track/first/mute state for all users to equivalent for tags (with one exception of posts in Copr categories)
    • this should also remove any existing category notification settings
    • :robot: Run that script
    • validate that it looks right
  13. play around with tag renaming, update plan below based on that according to whims
  14. create tag groups
  15. Mess around with category naming and stuff. Does not need to be final, just need to change them some.
  16. :memo: Write script to move all topics in a category to another category.
    • :robot: run that script to move one category to Project Discussion to test
    • make list of categories to actually move
    • :robot: move stuff from those categories
  17. :memo: Improve script so it can move posts by tag
    • :robot: run that script to move friends, #off-topic-fun, and #off-topic-tech from Project Discussion to Water Cooler
  18. Figure out what to do about unlisted posts
  19. :memo: Write script to mark notifications read for all users.
    • :robot: run that script
  20. That’s all the scripty parts, actually. Mess around with other stuff, if I feel like it, while I’ve got a test site.

Main Site Prep

  1. December 20 or so: post to #site-feedback that this is happening.
    • note key things like: new categories, tag-focused approach, turning off mailing list mode, future merge of Ask Fedora
    • pin it!
  2. December 23 or so: post global banner that STUFF WILL BE HAPPENING
  3. Post commblog post
  4. devel list post
  5. Verify with Discourse hosting that we have a good backup
  6. December 27 or so: actual work start
    • Change global notice to STUFF IS HAPPENING
  7. Turn on review every post to catch anything coming in while I’m messing with the site
  8. Ask Discourse to make the site Read Only
  9. Ask Discourse to clear the test site and make it like the main site again

Now back on the test site…

  1. Set up local admin login.
  2. Generate an API key for the scripts
  3. DISABLE ALL EMAIL site_settings/category/email?filter=disable%20emails
  4. Set max edits per day to something ridiculously high
  5. :robot: Get and save category watch/track/first/mute state for all users
  6. Turn on disable category edit notifications and disable tags edit notifications
  7. Rename Tags menu item to “Teams (by tag)”?
    • this would have been great if we were just doing the one “Discussion” category, but … that’s not how the plan ended up. So maybe “Teams & Tags”?
  8. Clean up / remove the various moderator groups. (See this post.
  9. Delete all tag groups
  10. :robot: Delete all existing tags
  11. :robot: Automatically tag all posts based on the category they are in (category slug is fine)
  12. :robot: Run script to set tag watch/track/first/mute for all users based on saved category preferences (from the previous step where we saved that). Note: do before any tag renames!
  13. Create tag groups and include related tags
    • “1. Fedora Teams and Interest Groups”
    • “2. News and Announcements”
    • “3. Social and Fun”
    • “4. CentOS Teams and Interest Groups”
  14. Rename some tags
  15. Create some new key tags for parts of the org chart not currently represented by categories
  16. Alias some tags
    • #appsworkstation (category is “desktop apps” and that seems like the closest team)
  17. Create some tags and immediately alias them
  18. look at some of the now-less used tags and consider whether to keep, merge (and remove) or merge and make permanent alias.
  19. Rename some categories to keep their nice low numbers
    • rename coreos (category #5) to News & Announcements (news)
    • rename siverblue (category #6) to Ask Fedora (ask)
    • rename iot (category #7) to Project Discussion (project)
    • rename desktop (category #8) to The Water Cooler (fun?)
    • rename desktop apps (category #9) to Team Workflows (workflows)
  20. Fix the permissions and settings for those categories
    • News & Announcements
      • all posts moderated
      • require a tag from the Announcements tag group
      • allow other tags (including the Fedora and CentOS team tag groups)
    • Ask Fedora
      • hide this for now
    • Project Discussion
      • require a tag from the “fedora teams and interests” tag group
      • allow tags from announcements tag group? I don’t think so, but maybe
    • Water Cooler
    • Team Workflows
      • no posting in top-level category
    • CentOS
      • not sure, check and makes sure seems sane
  21. Set category notifications for all users to
    • Tracked: Community Blog
    • First: News & Announcements
    • Muted: Team Workflows, Projects in Copr
    • note: admin UI has option to apply this to all users — use that!
  22. Install default category theme component, set to Project Discussion
  23. Change the descriptions for
    • News & Announcements
    • Ask Fedora
    • Project Discussion
    • Team Workflows
    • The Water Cooler
    • CentOS
  24. Remove any category logos (may ask design team for some later!)
  25. Move News & Announcements sub-categories
    • Move Community Blog to live under News & Announcements
    • Same with Podcast
  26. Move Workflows sub-categories
    • Magzine → Magazine Article Proposals
    • Projects in Copr
    • Fedora Classroom
  27. Move Water Cooler sub-categories
    • this is just Site Feedback → Site Help & Feedback
      • pin some posts in that category
  28. :robot: Move all topics except those in the categories below to Discussion #7
    • not those in News & Announcements #5
    • not those in Ask Fedora #6 (if any)
    • not those already in Project Discussion #7, obviously
    • not those in The Water Cooler #8
    • not those in Workflows #9
    • not those in Fedora Classroom #20
    • not those in CentOS #71
    • not those in Projects in Copr #54
    • not those in Magazine #57
    • not those in Community Blog #61
    • not those in Podcast #67
  29. Look for posts with no tags in Project DIscussion, fix.
  30. Delete the categories we don’t want anymore. For each such category:
      • Open the about this category post
      • Delete the category
      • Undelete, unpin, close, and set the topic timer for the “about” post.
      • Rename “about this category” post to “about this tag”
      • Move the about post to Project Discussions (or Watercooler)
      • Make sure the post is tagged properly
      • edit the post as needed
  31. Make and link sidebar tag descriptions for all tags
    • did letters a-e, got bored
    • I guess… f-m?
    • n-z
    • news
    • social
    • centos
  32. Make tag descriptions for all tags
    • a-e
    • f-m
    • n-z
    • news
    • social
    • centos
  33. :robot: Move friends, social, and off-topic posts to the Watercooler.
    • consider fate of friends tag — add #features #freedom #first?
  34. :memo: Write script to tag posts based on keywords in subject (interactively?)
  35. Sort out some topics manually
    • :memo: Consider hacking move-post script to query on each post, for help in filtering, sorting these
    • Magazine (move the not-an-article-proposal topics to Project Discussion)
    • Podcast (move the not-an-announcement topics to Project Discussion)
  36. Create New Topics by Email sub-category of Workflows
  37. Make sure start-by-mail is off everywhere else
  38. Change email subject to include tags instead of categories
    • %{optional_re}%{topic_title} [Fedora] %{optional_pm}%{optional_tags}
  39. Disable mailing list mode
    • because this is a trap, really. It’s “subscribe to all mailing lists ever and turn off the option for me to make any granular choices”. “Watching” a tag is the best way to subscribe.
    • remove section on mailing list mode from “interacting with this site by email” post
    • update that with a note about subscribing to tags
  40. Group for these “watch everything” users
    Create group discussion-watch-all
    Set the group category watches
    For good measure, set some tag watches too
    Add everyone from the list stored previously
    Now delete the group, since its job is done.
  41. Install and play with tag theme components
  42. Play with front page organization / appearance in general
    • set category slug colors from Fedora colorblindness-friendly palette
  43. While I’m at it, fix the themes to use theme components instead of stuff edited into main theme CSS/HTML
  44. Make Site Help & Feedback topics for tag-related requests
    • how to request a new tag (and guidelines for tl4 + moderators!)
      • tags are for teams (SIGs, WGs, etc) not subjects
      • reflect the org chart: engineering and mindshare as broad general buckets
    • how to get a tag description added or updated
    • automated tagging via watched words: yea or nay?
  45. Add permalinks https://discussion.fedoraproject.org/admin/customize/permalinks for any moved pages (categories, mostly) which now don’t exist and which had significant incoming traffic
    • or fix page pointing to that, if it’s on our side
  46. Write post on creating tags
  47. Write doc on using site with tags as categories
    • change Project Discussion about page to point to these various docs.
  48. Change site banner to point to new docs on using site
  49. Set bookmark to remove that site banner (since it can’t be expired automatically unlike a pinned post)
  50. Do this again, because I messed with some groups and should reset it:
    Create group discussion-watch-all
    Set the group category watches
    For good measure, set some tag watches too
    Add everyone from the list stored previously
    Now delete the group, since its job is done.
  51. Reset max edits per day
  52. Copy useful posts from Ask Fedora “Start Here” section to Site Help & Feedback
  53. Turn OFF disable category edit notifications and disable tags edit notifications
  54. Ask Discourse to delete all of the notifications that got created.
    • If they can’t do that, :robot: mark notifications read for all users, because all of this moving around may have created thousands
  55. Turn off review every post
  56. Verify that it all looks good and stuff.
  57. Delete the API key I made for this
  58. Ask Discourse staff to copy from test site to main site

Finally on the (new) main site!

  1. Ask discourse to verify that it looks good and then make new main site read-write again
  2. Test that the SSO still works
  3. Turn off local password login
  4. Turn off disable emails

The Important Part

When we launched this site almost three years ago, it was an experiment, and we arbitrarily set up some categories. In that time, our experience showed that our approach didn’t scale well to lots of different Fedora Teams with different levels of activity. The new layout is primarily based on tags. The top level categories are primarily for big, functional differences.

For details, see Navigating Fedora Discussion — Tags, Categories, and Concepts — or just dive right in to :category_project: Project Discussion or visit :category_fun: The Water Cooler.

Some Other Things

Email

“Mailing list mode” is no longer available. But, that doesn’t mean you can’t interact primarily via email. That setting was badly named, really. See Guide to interacting with this site by email for more. Note that for the dozen or so folks who had mailing-list mode on: I have set your notifications to “Watching” for all of the categories except a few in :category_workflows: Team Workflows (like the thousands of posts about Copr projects). So hopefully you won’t notice much of a change.

Also, because of the change to a tag-focused workflow, the subject line format has changed — categories are no longer listed (although you can still find them in the headers to filter on).

Speaking of Notifications…

All of this moving things around via the API generated a lot of them. I think that I’ve set them all to “Read” for everyone, but they’re still probably there. Sorry about that. This should just be a one time-thing.

If you don’t find a tag you expect to see…

Just ask one! See How to request a new team Tag or Team Workflows subcategory

Lots of theming changes

Mostly to support the tag-focused approach. But some other stuff just because. Let me know if anything seems broken.

Unpin when you read a pinned post

There’s a user preference (under Preferences: Interface) for Automatically unpin topics when I reach the bottom. This is handy for site-wide notices you only want to read once, but kind of annoying for things which are pinned for reference. I’ve changed the default for this setting to be disabled. You can manually mark any pinned post you’re tired of seeing as unpinned for your own view — or if you like it happening automatically, turn this back on.

What’s Next

No launch survives contact with reality, right? Let me know in :category_help: Site Help & Feedback if you notice a problem or have a suggestion for something to improve.

I also have a long list things to finish once we’re back up and running. But we’ll get to that!

Also, hey, look at the time! It’s now my birthday! :birthday:

If you see something that doesn’t seem right…

… like a mis-categorized post, or something missing: flag the post for moderator attention, with a note about what’s wrong if it might not be obvious. Thanks!

21 Likes

The RSS feed is still working… so that’s a good thing! :+1:

2 Likes

Happy new year, and happy birthday!

3 Likes

You finished early! And happy birthday :tada:

1 Like

Is there a way to dismiss the site change announcement by the way?

1 Like

No, sorry. It’s the big-hammer global “banner”. I’ll add a todo item to replace it with a banner topic, which can be dismissed on a per-user basis.

1 Like

@salimma this is done, in case you didn’t notice. :classic_smiley:

2 Likes

@mattdm awesome, thanks! It’s quite a bit of screen real estate on mobile

1 Like

Just out of interest – is it normal to not have noticiation settings (i.e. the bell button) when browsing a tag under a category?

if shows up when browsing a tag globally:

so for docs, if something is tagged docs under watercooler, it would notify me, right?

1 Like

Love the new setup! Thanks!

Out of curiosity, is this site using the standard Docker Discourse container? ie an Ubuntu system? Was there any discussion about rebuilding Discourse using Fedora? - every now and then I try that exercise but never get past the dev version . . the production version is harder . .

2 Likes

We have a paid hosted solution, IIRC, so most likely?

2 Likes

Yeah, paid hosted, and as I understand it they’re an Ubuntu shop. I’d rather they switch, but, eh, it’s at least all Linux. :slight_smile:

This topic was automatically closed after 30 days. New replies are no longer allowed.