Support/Kitsune: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 68: Line 68:
* l10n dashboard
* l10n dashboard
* Metrics
* Metrics
* Breadcrumbs


== User authentication ==
== User authentication ==

Revision as of 22:25, 27 January 2010

Project Kitsune

Kitsune(*) is the project to redevelop SUMO.

Goals

The new SUMO should:

  • Have 100% or close to test coverage
  • Improve performance on both the front and back end
  • Reduce the time-to-production for new features
  • Be fun for developers to work on
  • Improve the contributor workflow
  • Maintain features and workflows that users and contributors like
  • Enable machine access via APIs and feeds where required

Development timeline

We plan to develop Kitsune in tandem with TikiWiki and migrate components over one at a time or in functional groups.

Phase 1: Planning

  • Develop a low resolution roadmap for Kitsune: what will be built in what order and rough time and resource needs Support/SUMOMigrationOrder
  • Decide scope (what to build)
  • Choose tech platform (how to build it)
  • Develop a timeline for 2010 and beyond
  • Develop guidelines for what bugs should be fixed in the old codebase and which should be deferred
  • Plan and obtain necessary infrastructure

Phase 2: PRD development

This phase will take place in parallel with phase 3.

  • For each component or component group in order, develop a PRD. This will involve community input including
    • Blogging
    • Brownbags
    • Design lunches
    • etc

Phase 3: Implementation

This phase will take place in parallel with phase 2.

  • Develop components that have complete PRDs


System components

The new SUMO needs to have the same three basic features as the current system: a wiki, support forums, and live chat. (Scope note: we do *not* plan on reimplementing live chat as part of this process.) Notes on these and other planned features follow.

Wiki

This is the most complex part to implement.

Basic requirements:

  • Ability to import our existing wiki articles and localizations
  • Wiki markup should be accessible to users. Dev consensus seems to be that MediaWiki markup, Markdown, or straight HTML are all good options.
  • Support for plugins/macros
  • Support for a WYSIWYG editor
  • Improved workflow for contributors and editors (yet to be defined)

We will seek out existing bare bones wiki implementations or components if possible to reduce implementation time and complexity.


Details at Support/Kitsune/Wiki

Forums

We see two basic types of forums that are required for Kitsune:

  • Support forums, specifically tailored to answering user questions
  • Contributor and off topic forums, which would be a stock standard forum implementation.

Cheng is in the process of developing a PRD for support forums.

Administrative functionality

This includes:

  • User administration
  • Template management
  • Contributor and locale leader dashboards
  • l10n dashboard
  • Metrics
  • Breadcrumbs

User authentication

Basic requirements:

  • Accept existing SUMO accounts: no user should have to re-register
  • Integrate with live chat auth as is being implemented currently
  • Accept OpenID and other open standards
  • Integrate with eventual Mozilla SSO solution

Feedback

Basic requirements:

  • Allow feedback collection and reporting on wiki articles, forum threads, and live chat helpers
  • Improve flexibility of feedback questions: ability to add questions
  • Set of global questions that can be overridden for a particular item (or reset to default)

API

We would like to make some of Kitsune's features available via machine access. Possible uses:

  • l10n integration
  • bugzilla integration
  • Socorro integration

This is a future feature, but we should build in such a way that this will be easy to add.

Other features

Kitsune should also have the following features:

  • Pretty URLs
  • gettext support for integration with Verbatim
  • Event sign up system
  • Discussion forum for each wiki article? (as per wikipedia?)
  • Inproduct mode?

Database design and migration

The Kitsune database will have a different schema from TikiWiki (this being one of the reasons for building a new solution). However, we will need to migrate data across, including:

  • User accounts
  • Wiki articles
  • Forum posts

Since we plan on migrating components over piecemeal, we will be running the two schema in parallel for some time. We will need to plan when to migrate data. Options include:

  • Migrate data to the new schema as components migrate
  • Migrate everything at the beginning and write an adapter for Tiki
  • Duplicate some data (for example: users table) and have a process to keep old and new tables in sync until the migration is finished.


  • "Kitsune (狐, きつね, ki·tsu·ne) is the Japanese word for fox. Foxes are a common subject of Japanese folklore; kitsune usually refers to them in this context. Stories depict them as intelligent beings and as possessing magical abilities that increase with their age and wisdom. Foremost among these is the ability to assume human form." [[1]]