json-schema-org / community

A space to discuss community and organisational related things
85 stars 34 forks source link

Complete and publish the new website #336

Closed benjagm closed 1 year ago

benjagm commented 1 year ago

Context:

JSON Schema has been successfully using the same website for many years. However, it has become outdated with time, providing a suboptimal developer experience. This is the reason why the past year JSON Schema invested in the development of a new website. Although the development has been completed, there are still some pending tasks to be able to roll out the new site.

The new website is available in the repository: https://github.com/json-schema-org/website

Work Detail and status:

We have created this project to track all this project activity and make it easier for others to contribute: https://github.com/orgs/json-schema-org/projects/11

The development version of the new site can be accessed here

Table of contents:

  1. People working on this
  2. Content buckets
  3. Personas
  4. Good examples of Landing pages
  5. Prototype
  6. New Docs Structure

People working on this

Content buckets

1. Specification Section with the last JSON Schema specification and access to the previous releases. This section may be easily included inside docs with a proper taxonomy. 2. Docs Section with all docs, tutorials and resources. Probably we'll need to include the roadmap 3. Implementations Section with all JSON Schema tooling 4. Blog Blog section 5. Community Community section

Personas

The following personas are representative and they will evolve.This is a living document.

First-timer Schema developer

Characteristics

Primary goals

Frustrations/pain points

Architect / Technical Lead

Characteristics

Primary goals

Frustrations/pain points

Experienced Schema developer

Characteristics

Primary goals

Frustrations/pain points

JSON Schema Implementer

Characteristics

Primary goals

Frustrations/pain points

Corporate entity

Characteristics

Primary goals

Frustrations/pain points

Landing pages to consider as good examples

Features to include in landing page

Main Section

This is the main section with Value Proposition and main call to actions. This is the 1st thing a new visitor will see. I suggest here a similar approach than AsyncAPI with 2 links to docs and search because docs and content discoverability is our main pain point.

Prototype

Why Section

With this section we intend to generate trust in new visitors by highlighting benefits for all the personas: schema developers, implementers, contributors and Organizations. Prototype (1) Prototype (2)

Tooling Ecosystem section

This section is extremely important. This highlights that the JSON Schema ecosystem is huge. JSON Schema is not only the specification … There are hundreds of implementations out there.

This section is very important to implementers personas. We'd like to make them feel that they are part of this and we take care to recognize and provide them visibility and resources. Prototype (3)

Community section

Section dedicated to Community…. Channels, events, how to contribute. Prototype (4)

Sponsors section

Section dedicated to Sponsors. Important to Corporate personas. We are looking to engage with enterprise and organizations. Prototype (5)

Trust section

This section will help to demonstrate that JSON Schema is a production ready technology widely adopted by well known orgs. In the future we will add uses cases and testimonials. Prototype (7)

OpenJS section

Section dedicated to highlight that we are part of OpenJS Foundation. This will generate trust. Prototype (6)

Google slides version here

New Docs Structure

Available here: Improve Docs and Spec navigation

benjagm commented 1 year ago

Some additional items than can be added in the future:

benjagm commented 1 year ago

Related issue json-schema-org/website#235 : Who is using JSON Schema - Logos Companies.

gregsdennis commented 1 year ago

Is there a preview for the site anywhere (like how we preview the blog in PRs)? I shouldn't have to be able to run it locally to see it. And I don't think I've seen the proposal yet.

benjagm commented 1 year ago

Is there a preview for the site anywhere (like how we preview the blog in PRs)? I shouldn't have to be able to run it locally to see it.

it is possible to run it locally by following the instructions available here: https://github.com/json-schema-org/website#readme

The content of https://github.com/json-schema-org/website is what the vendor left us the past year. Of course the style looks renewed, but overall the result is suboptimal and the content is mixed and wrongly structured. This is the reason why instead of just releasing it, we are working in improve docs, content taxonomy and a new landing page among other things.

gregsdennis commented 1 year ago

it is possible to run it locally by following the instructions available here: https://github.com/json-schema-org/website#readme

I know it's possible to run locally, but I shouldn't have to be able to do that.

benjagm commented 1 year ago

I know it's possible to run locally, but I shouldn't have to be able to do that

I wasn't aware of any preview option of the blog. Happy to do something similar here.

Relequestual commented 1 year ago

Is there a preview for the site anywhere (like how we preview the blog in PRs)? I shouldn't have to be able to run it locally to see it. And I don't think I've seen the proposal yet. - @gregsdennis

I have assumed we will host this new site on cloudflare as opposed to netlify. Over the time that we've used both (netlify for the main site, cloudflare for the blog), netlify has prooved to be less stable.

Both serviced provide PR build previews, however cloudflare will ONLY do so from a branch in the same repo, and not a fork. They have no plans to make this possible. We COULD use netlify for build preview only (which we do for the blog iirc), however there's a potential for missmatch (problems in one but not the other), which I think has actually happend once.

We could sidestep this with automation, where an action is triggered on any PR to clone the branch on a fork into the repo. But we would then either need to manually trigger a deployment (possible via API calls. Deploy to a Cloudflare "pages" domain, and treat it as a preview), or create a new PR to trigger the deploy preview. It doesn't seem we can manually trigger a deploy preview.

It does start to get a little fiddly though. I'm not sure on the best solution here.

EDIT:

Having asked again on the Cloudflare Discord, it may be possible to use the pages-action GH action as opposed to the GH Cloudflare app for deployments, and as such, enabling (I'm told) deploy previews for forks. We would probably need to make sure it doesn't run for new contributors until enabled. That's already happening for some other action/workflow we have defined.

Let's add a new issue, if it doesn't already exist, to create the production setup on Cloudflare =]

benjagm commented 1 year ago

To know the current status please check-out the project we have created available here: https://github.com/orgs/json-schema-org/projects/11

benjagm commented 1 year ago

We can close this issue.

Relequestual commented 1 year ago

🥳