Firefox3/Web Based Help System: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 61: Line 61:
= Load Testing ToDo =
= Load Testing ToDo =
* Get code into a repository
* Get code into a repository
** Status: Done
** Status: <strike>Done</strike>
** Need to add and configure SEF/SEO extension
*** This will give pretty urls like foo.com/firefox/faq.html insteald foo.com/index.php?component=com_content&id=323523&....
** code is at svn://svn.mozilla.org/projects/help.mozilla.org
** code is at svn://svn.mozilla.org/projects/help.mozilla.org
* Document server installation process
* Document server installation process

Revision as of 14:57, 4 April 2007

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.
      • Everyone is able to add and edit content. However before content is published it must be reviewed. This must be enforced in the CMS
      • Version control
        • This means that the version that is published may not be the latest version. We must also be able to delete versions and rollback to older version.s
      • Not everyone is able to
    • 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.

The security audit is available on the Joomla! website.

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.

Load Testing ToDo

  • Get code into a repository
    • Status: Done
    • Need to add and configure SEF/SEO extension
      • This will give pretty urls like foo.com/firefox/faq.html insteald foo.com/index.php?component=com_content&id=323523&....
    • code is at svn://svn.mozilla.org/projects/help.mozilla.org
  • Document server installation process
  • Create a data set that has a reasonable amount of records to reflect estimated production data
  • Determine an estimated requests/second target
    • Status: Done (but could do with revision)
    • According to the firefox download count feed (on Mar 2 2007), there have been over 310 million downloads. Let's say that 5% of those people are clicking on help at any one time, that would make the number of hits 15.5 million conncurrent hits.
    • Might need revision based on results of bug 372065.
  • Work with IT to get application installed on stage and database set up on stage
  • Decide which high-traffic pages you want to test
  • Create a simple shell script to test using AB (until grinder issues are worked out)
  • Run said shell script from another machine that has available resources