Skip to content

☂ [Tracking] Site information architecture restructure #4565

Open
@MaryaBelanger

Description

WIP

The site architecture needs to be restructured.

  • There's no obvious progression of concepts evident from the landing page, the left nav, etc.
  • When it's time to update content or add new information, it's a nightmare deciding where it should go/where to look for potential areas to update.

The sections below are the major chunks of work that will go into the site restructure (each will have it's own issue or PR to further elaborate on):

1. Disassemble the Language tour

Dedicated issue: #4588

The first undertaking will be taking apart the language tour by section/topic, and moving those sections directly under "Language" (in the left nav) as separate pages. An "umbrella" topic (e.g. Classes, Types, Concurrency, etc.) can have multiple other concepts under it (e.g. Classes: Constructors, Methods, etc.).

Why?

The language tour contains basically all the information on the site. It's problematic though.

  • set up like something that's supposed to be read end to end, but really shouldn't be
  • hides content, topics
  • forces longer explanations to be broken out into separate pages, so there's duplicated information, "extra" content floating around
  • What's the language tour actually for? How to do things? Is it a Dart overview? A reference? It's a mix of everything, so it's not really anything.
  • Suspicion that it negatively affects SEO because it's just a huge page with everything in it.

2. Restructure the left nav

Restructuring at least the Language section of the left nav will have to happen in conjunction with breaking down the language tour, since everything will go there.

New left nav will be something like:

├─ Get Started                               # see "Getting started" section
├─ _Dart Tutorials_                       # see  "Samples & tutorials" section
├─ Language                                 # eliminate the `/guides` folder and have everything under `/language` directly
    ├─ Every
    ├─ Major
    ├─ Language
    ├─ Concept                                # see Define content types section
        ├─ Conceptual overview
        ├─ Guide(s)
        ├─ Full reference
├─ Libraries                                    # probably also take apart the Library tour
    ├─ Page
    ├─ per 
    ├─ Library
├─ _Development_
├─ _Packages_
├─ _Tools & Techniques_
├─ Reference
    ├─ _Effective Dart_                    # tbd, I think it's a reference. I could also be top level (in-line with Language, Packages, etc)
    ├─ Glossary                                # see "Site-wide Glossary" section
    ├─ Language Evolution
    ├─ Dart Specification
    ├─ FAQ
├─ Related Sites

As we decide what the rules are, we need to clearly define those somewhere and stick to them.

Define content types

Solution in progress

Clearly defined content types does a couple things:

  • let's users know exactly what they're looking at and where to look for different kinds of information
  • let's writers fill in preset templates for new content and know exactly where to update different kinds of information

Create a "Getting Started" guide

Solution in progress

"Getting started" is a single page that points to the most important introductory resources to learn and start using Dart, laid out in the logical, sequential progression of topics, with a short summary about each.

Samples and tutorials overhaul

Solution in progress

This overhaul is less about restructuring in the context of the entire site, and more about cleaning up/ organizing the pages within the section.

Site-wide "Glossary"

#4622

Redirects

Solution in progress

  • Redirects will be a big issue,
  • Maaaybe use javascript to redirect

Other top level sections

Solution in progress

Haven't really analyzed Packages, Development, Tools & techniques sections yet, but at the very least their contents should be scrutinized to ensure they're under the appropriate heading. E.g.:

  • "Futures, async, await" and "Streams" don't need to be under Development header
  • "Tools & techniques" has some widely varying topics under it, maybe some of those should be separated into top level sections?

Metadata

Assignees

Labels

a.languageRelates to the Dart language toure4-monthsCan complete in >= 1 month of normal, not dedicated, workfrom.teamReported by Dash docs team memberinfra.iaRelates to the organization of pages and structuring of contentmeta.umbrellaCollects multiple related issuesp2-mediumNecessary but not urgent concern. Resolve when possible.st.triage.ltwIndicates Lead Tech Writer has triaged

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions