Renaming 'marketing' site to 'uncategorized'

Merged Chad Woolley requested to merge rename-marketing-site-to-uncategorized into master

TL;DR - This change disambiguates the contents inside the directory as not being entirely marketing (e.g. Blog, Jobs, and Product related content is in here too) and will help us begin to re-organize and assign DRIs at the right level of granularity. We are not moving forward on the repo split in Q2 FY22, but this change will enable us to move forward again in Q3.

UPDATE: This is now merged! Please post in #mr-buddies for general questions or problems with merge conflicts, or #handbook-escalation for more urgent issues (https://about.gitlab.com/handbook/about/on-call/#when-to-escalate-an-issue)

Description

There is ongoing confusion about the scope of the current sites/marketing directory.

It was always intended to contain "everything but the handbook" during the original marketing monorepo move, but given recent discussions around the DRI and ownership of www-gitlab-com, there is the misperception that it only contains content which is owned by the Marketing group.

Therefore, we are renaming the actual directory in the repo to from sites/marketing to sites/uncategorized.

This was proposed and approved in concept here: &1370 (comment 542454099)

This should have NO IMPACT on the content or behavior of the actual site content or build process.

It WILL be somewhat disruptive because everyone with an active MR which touches files in the sites/marketing directory will have to handle the directory rename conflicts with rebase/merges.

However, we've dealt with this twice before (when we created and moved top-level content into the sites/handbook and then the sites/marketing), so we know that we can deal with it, we just need to clearly announce it and be available to help on the Slack channels. (see Rollout Plan below).

Additional benefits

This MR will also be useful as we pull out and create additional sites from uncategorized site to a new top-level site in the future, such at the actual marketing site. The first commit on this MR will clearly show all the places that might need to be touched as a new site is added.

Notes on choice of the "uncategorized" name for the site

Here's the alternatives which were considered, and why they were rejected in favor of "uncategorized":

  1. "not handbook" - Naming something a negative is confusing, and with two words there's also a greater chance of confusion and bugs in the migration due to varying usage of underscore vs. dash (not_handbook vs. not-handbook).
  2. "other" - This seems less specific and useful than "uncategorized". "Uncategorized" implies that there is still ongoing action required to properly categorize the content, whereas "other" implies that it's a permanent grab-bag of content, to stick anything new into.

"Uncategorized" is also more aligned with our current organizational approach and terminology of dividing the product/company by "categories".

References

Testing

  • Reviewed all CI job output to ensure there were no unexpected errors or warnings that could be related
  • Looked at both sites in the review app and ensure everything rendered as expected.
  • Ran both the uncategorized and handbook site dev server locally (bundle exec middleman from both site dirs), ensured site served successfully and rendered as expected
  • Ran bundle exec build:all locally and ensured it completed successfully, ran a local webserver via ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start', ensured that it served successfully and rendered as expected.

Rollout plan

Technical Details

Like the previous large-scale monorepo reorgs which move many files, this is done in a multi-phase approach:

  1. Make a single initial commit which updates all the hardcoded path references everywhere in the repo.
  2. In a separate commit, do the actual file move via git mv sites/marketing sites/uncategorized
  3. This last commit is repeatedly rebased away, re-performed, and force pushed. This allows us to get up-to-date pipelines to catch any last minute regressions, while avoiding having to resolve lots of merge conflicts.
  4. Immediately before we are ready to actually perform the move, the last move commit is updated one final time just before merging. Ideally this is during a time when there is little repo activity (after hours in AMER region).

Notifications

We used an Internal Google Doc for initial editing and review of the notifications.

The final versions of the notifications are copied below for easy reference in future similar refactors:

Slack Channels

Main notification: Slack channel #whats-happening-at-gitlab

Will be cross-posted to: #website, #content, digital-experience-team, #mr-buddies, #handbook-escalation, #handbook.

IMPORTANT NOTE: Make sure the original slack message is correct with any edits before cross-posting - edits don't show up on the cross-posts.

Initial Notification:

Team members, 2021-05-24 we will be performing maintenance to the www-gitlab-com repo, and we are asking that you please merge or close any open MRs. After this date, you will need to rebase or merge your changes against master.
There are currently more than 1,400 open Merge Requests in this repo.
Please post in #mr-buddies for general questions or problems with merge conflicts, or #handbook-escalation for more urgent issues (https://about.gitlab.com/handbook/about/on-call/#when-to-escalate-an-issue)
See https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/80135 for more details.

Heads-Up Final Notification

Heads up! Final reminder on this www-gitlab-com maintenance - the 13.12 release and post is live, and we are good to go!  Please merge or close any MRs you can, and see the original post for guidance on any problems with conflicts on MRs which are still open after the maintenance.

Follow-up Notification:

*UPDATE*: The www-gitlab-com rename of `sites/marketing` to `sites/uncategorized` is now merged! 

Please post in #mr-buddies for general questions or problems with merge conflicts, or #handbook-escalation for more urgent issues (https://about.gitlab.com/handbook/about/on-call/#when-to-escalate-an-issue).

See the MR for more details: https://gitlab.com/gitlab-com/www-gitlab-com/-/merge_requests/80135

Related issues

Edited by Chad Woolley