Firefox3/Web Based Help System

From MozillaWiki
Jump to navigation Jump to search

Requirements

Client Side Requirements

These are the requirements for the parts of the system that will be part of FF.

  • Must be usable by extensions
    • extension help should show up just like "core" Firefox help.
      • but they should be able to look a little different, right?
    • extension help maybe on a server controlled by moz and should still be accessible
  • users must be able to give feedback on whethere a particular article was helpful.
    • it would probably be helpful to track people over time somehow too

Server Side Requirements

  • Must serve properly localized content based on browser's locale
    • if content for that locale is missing then serve the content from another locale (e.g. if fr content is missing serve de content. if de content is missing serve en content).
    • based on accept_lang
  • Content Management facilities.
    • must be easy to add, edit, and organize content.
    • full l10n and i18n support, ofcourse.
    • Who gets to edit and publish?
      • The issue of vandalism is very important here since the people viewing this content are coming for help so a link to goatse or some such would be very bad.
    • who sets doc id? Should they be human readable.
  • Intelligent search

Possible Solutions

Client Side Solutions

XUL Help Widget

The widget would know how to retrieve and display help by itself. Might come in two varieties:

  • Help button
  • Help Menu Item

XUL Help Display widget

This is needed only if help is retreived from a web service.

The major boon here is the ability to control the look and feel on the client.

Servers Side Solutions

The big worry for the server is whether it can scale since there is a potential for a lot of hits.

Joomla & Joom!fish

Joom!fish is an extension to Joomla which helps with multi lingual content.

There is the question of whether it can scale to the level we require.

Media Wiki

This is used for other moz sites, wikipedia, and others. It is very likely to scale.

phpCake

Remora uses this. It is likely to scale.

Webservice & backend with one of the above

The major boon of this idea is that it make it easy for non Moz controlled sites to provide help for extensions while still maitaining a consistent look and feel inside the browser.

With the other options if someone else is to host documentation for the extension look and feel is likely to suffer.

By using a web service anyone will be able to provide documentation for any aspect of the browser using a single interface (e.g. the XUL Help widget proposed above) and it will give the client the greatest control over look and feel.