Support/Kitsune: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
= Project Kitsune =
Kitsune(*) is the project to redevelop SUMO.
Kitsune(*) is the project to redevelop SUMO.


Line 6: Line 5:
= Goals =
= Goals =
The new SUMO should:
The new SUMO should:
* Have 100% or close to test coverage
* Improve the SUMO experience for developers, contributors, localizers, and, of course, users.
* Improve performance on both the front and back end
** Get faster, on both the front-end and back-end.
* Reduce the time-to-production for new features
** Get cleaner, so the code is fun to work on.
* Be fun for developers to work on
** Get better, so contributors and localizers are more excited about our platform.
* Improve the contributor workflow
* Reduce time-to-develop features.
* Maintain features and workflows that users and contributors like
** Use extensive unit-testing to reduce regressions.
* Enable machine access via APIs and feeds where required
** Increase the ability of community members to contribute.


= 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 ==
= Roadmap =  
* Develop a low resolution roadmap for Kitsune: what will be built (scope) in what order and rough time and resource needs [[Support/SUMOMigrationOrder]] and also [[Support/Kitsune_Milestones]]
''See [[/Timeline]] for the old description.''
* Choose tech platform (how to build it) [[https://spreadsheets.google.com/ccc?key=0Ao5KB_TZOvbVdGhxNVlad2YxSW55Qy1wRnhWZmhJX1E&hl=en Framework comparison]] [[Support/TechPlatformAnalysis]]
* [[Support/Kitsune/BugGuidelines]] -- guidelines for what bugs should be fixed in the old codebase and which should be deferred
* Plan and obtain necessary infrastructure [[Support/KitsuneInfra]]
* [[Support/Kitsune/DevelopmentWorkflow|Workflow]]


== Phase 2: PRD development ==
Kitsune will run in parallel with TikiWiki, slowly taking over features. For every Kitsune release, until approximately 2.4, there will be corresponding TikiWiki release (1.5.x) as we shift more and more traffic from the old software to the new.
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 ==
== 2.0/1.5.4: Search Results [Frozen] ==
This phase will take place in parallel with phase 2.
* Develop components that have complete PRDs


* Execute searches and display results from Kitsune.
* Maintain session data between Kitsune and TikiWiki.
* Develop deployment strategy for Kitsune.
* Timeline:
** Freeze: April 22.
** Push: May 6.
== 2.1/1.5.5: Discussion Forums [Underway] ==
* Discussion forums (Contributors/Off-topic).
* Discussion forum administration.
* Access control in Kitsune.
* First data migration.
* Timeline:
** Start: Late April.
** Freeze: Early-mid May.
** Push: Mid-late May.
== 2.2/1.5.6: Support Forums ==
* Support forum(s).
* New support forum interface.
* Support forum administration.
* Second data migration.
* Timeline:
** Start: Mid May.
** Freeze: Mid June.
** Push: Mid-late June.
== 2.3/1.5.7: Knowledge Base ==
* Knowledge Base wiki.
* Parts of new wiki interface.
* Wiki administration.
* Third data migration.
* Timeline:
** Start: Late June-Early July.
** Freeze: August-September?
== 2.4: User Accounts ==
* User registration, login, logout.
* User management.
* Final data migration.
* Timeline:
** Start: September-October?
** Freeze: Late October?


= System components =  
= System components =  
Line 118: Line 150:




* "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." [[http://en.wikipedia.org/wiki/Kitsune]]
:"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." [[http://en.wikipedia.org/wiki/Kitsune]]

Revision as of 06:34, 27 April 2010

Kitsune(*) is the project to redevelop SUMO.

Current Development Status

Goals

The new SUMO should:

  • Improve the SUMO experience for developers, contributors, localizers, and, of course, users.
    • Get faster, on both the front-end and back-end.
    • Get cleaner, so the code is fun to work on.
    • Get better, so contributors and localizers are more excited about our platform.
  • Reduce time-to-develop features.
    • Use extensive unit-testing to reduce regressions.
    • Increase the ability of community members to contribute.


Roadmap

See /Timeline for the old description.

Kitsune will run in parallel with TikiWiki, slowly taking over features. For every Kitsune release, until approximately 2.4, there will be corresponding TikiWiki release (1.5.x) as we shift more and more traffic from the old software to the new.

2.0/1.5.4: Search Results [Frozen]

  • Execute searches and display results from Kitsune.
  • Maintain session data between Kitsune and TikiWiki.
  • Develop deployment strategy for Kitsune.
  • Timeline:
    • Freeze: April 22.
    • Push: May 6.

2.1/1.5.5: Discussion Forums [Underway]

  • Discussion forums (Contributors/Off-topic).
  • Discussion forum administration.
  • Access control in Kitsune.
  • First data migration.
  • Timeline:
    • Start: Late April.
    • Freeze: Early-mid May.
    • Push: Mid-late May.

2.2/1.5.6: Support Forums

  • Support forum(s).
  • New support forum interface.
  • Support forum administration.
  • Second data migration.
  • Timeline:
    • Start: Mid May.
    • Freeze: Mid June.
    • Push: Mid-late June.

2.3/1.5.7: Knowledge Base

  • Knowledge Base wiki.
  • Parts of new wiki interface.
  • Wiki administration.
  • Third data migration.
  • Timeline:
    • Start: Late June-Early July.
    • Freeze: August-September?

2.4: User Accounts

  • User registration, login, logout.
  • User management.
  • Final data migration.
  • Timeline:
    • Start: September-October?
    • Freeze: Late October?

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 (probably not happening as we're leaning towards MediaWiki markup)
  • Improved workflow for contributors and editors (yet to be defined)
    • Special focus on localization

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


Details at Support/Kitsune/KB

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
  • Categories: (radios) Knowledge Base, How To Contribute, etc VS (checkboxes) Fx version, Help/Support article, etc
  • Articles
    • Manage article translations

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?
  • Tags for articles (currently freetags) -- how useful? [paulc]

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]]