Jenkins : Jenkins 2.0 Website vision from Daniel Beck

The New Site (as envisioned by Daniel Beck)

Open Tasks

Based on feedback from others, the following changes will likely still be made to this proposal:

  • More emphasis on extending Jenkins (Bobby)
  • Describe menu structure better

General

  • Uses a static site generator like Jekyll. Not GitHub Pages to be future/extension-proof, but hosted on GitHub. We accept PRs and hand out commit permission to established/known contributors.
  • Much of the wiki's content will be incorporated on the site. What I describe below is either the end state, or an advanced intermediate state, depending on whether we want to have some wiki left when we're done. We can always launch with a smaller site and link to existing wiki pages as needed.
  • The blog is the only part with comments to keep things manageable. These are hosted on Disqus.
  • Pages could link to the GitHub "Edit" feature as needed to enable people to quickly contribute.

Inspiration:

  • centos.org
  • arquilian.org
  • Not jquery.com
  • Not ubuntu.com
  • Not getbootstrap.com

Structure

Home Page

This page needs to give a short introduction to Jenkins and link to documentation, downloads and the changelog, and show that the Jenkins community is active. We have a lot going on, and this should be reflected here. This page needs to serve both newcomers and established users.

  • A short introduction to Jenkins, with a link to a "Getting Started" guide.
  • Sections that allow downloading regular and LTS, each containing:
    • A link to a download page explaining each option and linking to install/setup guides, rather than an array of options like today.
    • A link to the respective changelog, "What's new"
  • Upcoming events, basically a list view for the existing calendar (easier to see what's next). We started adding events where people talk about Jenkins to the calendar, this should be more visible. Link to the full events page
  • Recent blog posts. The blog is currently hidden. Show the newest N (3?) blog posts and a short snippet on the front page.
  • "Jenkins on the web": Links everywhere else – if someone writes something about Jenkins, this can be featured here.
  • Sponsors should be acknowledged here

Blog

The blog works quite well today (aside from difficulty in posting things and its general uglyness). We have tags/categories, Disqus-based comments, authors and dates associated with blog posts. Maybe more social buttons?

  • Authors could get a blurb below the post like done on many sites, e.g.:

Kohsuke Kawaguchi is the creator of Jenkins. He started the project at Sun and now is the CTO of CloudBees. He likes building cool things out of LEGO.

Also, author pages listing their blog post and maybe an extended profile of some kind? Your first blog post contribution should then include an author profile.

About

A submenu with the following entries:

  • About Jenkins: A smaller section of the site that gives an introduction to Jenkins. An overview of its major features for the beginners who know absolutely nothing.
  • FAQ: I'm sure there's something we can post here. Examples include LTS release line, that releases are weekly, how security updates work, etc.
  • Security Advisories
  • Governance: Basically the governance document, how the project works, etc.

Documentation

The site needs some user documentation that we consider "blessed" and that users can rely on.

  • System requirements, browser compatibility.
  • Installation instructions, including doing things with reverse proxies and SSL.
  • Basic setup, including basic security and getting started with plugins. Explaining the terminology and that nobody needs to care about the difference between "job" and "project".
  • Getting started guides for the most common use cases and their common/canonical solutions
  • Point to "Use Jenkins" wiki for more content

Plugins

Plugins are a big part of what makes Jenkins great, so these should be featured prominently on the site. I imagine a micro site (plugins.domain.tld) that allows browsing the Jenkins plugins we have, possibly powered by update-center.json. Not a plain list, but searchable and filterable. "App Store"(ish).

  • Feature new plugin releases, completely new plugins, maybe highlight popular (fastest growing?) plugins
  • Includes popularity information from stats.jenkins-ci.org
  • Popup showing some basic plugin information and link to its wiki page for more information
  • Can be enriched with more information as desired
  • possibly with browsable Javadoc for the plugins after you click a link?

Community

This section needs to contain all the 'community' entry points:

  • Links to users and developers mailing lists
  • IRC channel explanation and links to web-based clients (possibly even local clients for real newbies?)
  • Link to the Issue Tracker (or rather our explanation how we use it)
  • Office Hours
  • A web page on upcoming Jenkins events (linked to from the home page)
  • A link to the Stack Overflow tag (maybe? Popular questions are stupid…)

Contribute

  • Donate
  • Introduction to how you can help
    • Localization
    • Help answer questions on the mailing lists and IRC
    • Contribute to the site -> Point to GitHub repo for the site
    • Write plugins -> "Extend Jenkins" wiki
    • Contribute to core Jenkins -> "Extend Jenkins" wiki?
    • Possibly Jenkins project infra?
  • Javadoc sites for the last N LTS releases and the current weekly.

How the wiki changes

What will be moved to the site (incomplete list):

  • "Meet Jenkins"
  • Quite a bit of "Use Jenkins" as well.
  • All the case studies,
  • events,
  • About Jenkins project,
  • native packages documentation,
  • container configuration,
  • Governance Document
  • Office Hours,
  • How we use Jira

There are numerous variants of the Jenkins logo. This wiki contains some of them. It could be fun to make the Jenkins logo on the site random, or make it configurable (click on it and it cycles through the available Jenkins heads, and sets a cookie so you always get the same one – kind of a minor site customization for users)