SlideShare a Scribd company logo
1 of 55
Download to read offline
Creating a Wiki-Based Online Help System
             C. Rand McKinney
              Jeremy Franklin
                 May 2010
Outline
Online help for Second Life Viewer 2.0
   Localizable, easy to maintain, context-sensitive

The viewer-help application
   Wiki for content management & authoring
   Help as web service
Using Mediawiki
   Extensions, templates, categories

Content and localization pipeline
Caveats
Very new!

Viewer 2.0 released March 31

Defining community processes and policies

Refining
  Help content
  Localization tools and processes
Second Life
Premiere 3D online virtual world
   Launched 2003

Large active user "Resident" community
   1.4 million users logged in over last 60 days
   ~80,000 average concurrent users

Desktop client application: Second Life Viewer
   Win XP/Vista/7, Mac OS, Linux
Second Life Viewer
Client application dates from 2003
   Version 1.23

Powerful but complex UI

No help system

Online Knowledge Base
   Recently migrated from proprietary system to Second Life Wiki
   (Mediawiki)
Second Life Viewer 2.0
Complete UI redesign

In development for over a year
   Released on 31 Mar 2010

New Features
   Integrated Web-Based Media
   Easier, Browser-Like Navigation
   Side Panel for Frequently-Used Features
   Improved Search
   Contextual Help
Second Life Viewer 2.0
Other Help Resources
Welcome Island
  In-world new user orientation

Quickstart Guides
  Web-based
  Linked from sidebar

SL Answers

SL Wiki and Knowledge Base
Second Life Wiki
Mediawiki 1.14

8,000+ articles total
  Created and maintained by community

~650 articles in official Knowledge Base
  Created by Linden Lab
  Maintained by community and LL

Custom namespace "Viewerhelp"
Second Life Wiki
Example wiki article
...Becomes help article
Assumptions and requirements

Assumption: Users are online with broadband

Requirements:
   Localizable - target: eight languages
   Easy to maintain - quarterly releases
   Minimize work and expense

Leverage existing knowledge infrastructure
Viewer Help system


Viewer (client)

Viewer-help application (server)

Wiki - http://wiki.secondlife.com
Viewer Help system - Viewer
Add "?" button to every window, sidebar panel
   Pressing F1 equivalent

Clicking "?" sends an HTTP request
   Help context ID
   Language
   Viewer "channel"
   Version
Viewer Help system - Viewer
Help browser window displays web content

Bare window - Webkit HTML layout engine

UI provided via web application
Viewer Help system - server
Scan wiki for changes

Use Mediawiki API to detect changed articles
   Every 15 minutes

Request changed articles from wiki
   Process and "re-skin" HTML
   Save as static files

Respond to HTTP requests from Viewer
Viewer Help system - wiki
Use custom Viewerhelp namespace
   Set editing rights separately
   Easy to isolate queries via API

Key articles:
   Active Releases
   Map File for each version

Mediawiki API
   http://www.mediawiki.org/wiki/API
The viewer-help application
Web service
   Python
   Django web framework

Generator - gets article content from wiki

Router - responds to Viewer HTTP requests

Post-processing
Viewer Help architecture
The viewer-help generator
Queries wiki using Mediawiki API
   15 minute intervals

Gets changes to help articles
   Updates viewer-help content

Saves content as static HTML pages
   Applies post-processing rules
   Improves performance, reliability
The viewer-help router
Second Life Viewer issues HTTP GET request
      http://viewer-help.secondlife.com/
        [LANGUAGE]/
        [CHANNEL]/
        [VERSION]/
        [TOPIC][DEBUG_MODE]

Router returns appropriate article

TOPIC IDs are mapped to wiki articles via map file

CSS "skinning" and add toolbar
Active Releases article
Identifies map file for each Viewer channel / version
Map file
Maps context IDs to articles

Helps manage and organize content work, localization

Data structure implemented as a wiki table
   Viewer-help app reads first two colums
   Other columns are informational
Map file
Active Releases & Map Files
Second Life Wiki

Mediawiki 1.14

Acts as content management system

Transclusion enables content reuse
   Knowledge Base
   Content reuse for UI reference help

Extensions, templates, categories
Wiki - Help "skinning"
Help skin
   Mediawiki skin
   Eliminates much of wiki UI

Application post-processing rules
   Strip Viewerhelp namespace, version number
   Modify links wiki links to route via the help app.
   Add target to external links
   Change image source URLs to absolute

CSS applied by router
   Look and feel of Viewer UI
Wiki Extensions
Per-namespace header / footer

Parser Functions
  Facilitates localization

Search and Replace
  Useful with localization pipeline
  General editing and maintenance

Flagged Revisions
  Not used yet by Viewer Help
  Enable community contributions, if desired.
Wiki Templates
Layout and markup templates
   UIref
   Tbd, Red
   Icon templates

Workflow templates - content pipeline
   Only visible in wiki, not help window
   Except in debug mode

General templates (from KB)
   Note, Warning, Caution, etc.
Content Pipeline

  Workflow Templates
  put articles in categories
Content Pipeline
Content Pipeline - 2
How Localization Works
Redirect from English article to translated article
  For each language

English Title /xx              English Title in language
                               xx

Example: "Viewerhelp:People - Friends/de"
      #REDIRECT [[Viewerhelp:Leute_-_Freunde]]
Localization of Templates
Workflow template sets parser function variable

Other templates detect value

Display appropriate language content based on it
Export & Import for Translation
Use Special:Export to export to XML

Load XML into Trados Translation Memory tool
  Translate into target languages
  Return XML file for each language

Use Special:Import to import XML of each
language translation
  Edit wikitext before import
  Simple search & replace to set template wikitext
Localization Tools & Process

 Before importing XML translations
    Replace templates in each page
    Changes category and sets language variable

 In XML files, replace:
{{Help Article Ready for Translation}}
  with
{{Translated Help Article|xx|date}}

 Import redirects to translated pages
     de, fr, ja, etc.
    Initial translation only
Versioning
Active Releases identifies map file

Map file identifies articles

Article title versioning
   No version number is always latest and greatest
   Version numbers for older supported versions
   Router strips version numbers from display title

Example
   Viewerhelp:Preferences - General - latest version
   Viewerhelp:Preferences - General/2.0.0
Help Content -
            Table of Contents

Uses JQuery Treeview plugin
   Javascript/CSS

Simple nested bullet lists in wiki

Rendered as expandable / collapsible tree
Table of contents
Help Content - Glossary
~200 Second Life-specific terms

Most-viewed article

Links from almost every article
   Intra-page anchors to each term
   Template for easy linking
Glossary
Help Content - Fallback Article

Displayed when no context ID is active

General entry point

Exception: pre-login help
Fallback article
Help Content - Search

Google Search Appliance

Results
  Language-specific
  Version-specific
Search
Help Content
Task / concept / reference

150+ UI reference topics

High-level Task topics
Wiki Access Controls
Main namepace regular articles:
   Only logged-in Residents can edit

Knowledge Base:
   Logged-in Residents can edit
   Edits become default version after revision by Linden or
   designated reviewer
   Flagged Revision wiki extension

Custom namespaces: Linden Lab Official, Viewerhelp
   Only Linden Lab employees can edit
   Policy, official product information

Also localized "official" namespace
Debug mode
Second Life Viewer admin mode
  Used for administration and community management
  Also called "god mode"

Access restricted to Linden Lab employees

In debug mode:
  See help ID requested by Viewer
  See content normally hidden in help (e.g. workflow and editing
  templates)
  Convenience link to edit help content in wiki
Second Life Enterprise
"Behind the firewall" product aimed at
   Large enterprise customers
   Government and military
   Education and academia

Challenge: some installations are offline: NO internet
access

Solution: integrate Viewer-help application with SLE
server
   Package static content with application
   Links to external resources don't work
Open Technical Issues


Detecting changes to transcluded articles
   Harder than it looks
   Rebuild is workaround

Deleting pages from application
   Must automatically detect wiki deletion
   Potential memory hog
What's Next

Using help content in Knowledge Base articles
  Transclusion facilitates single-sourcing

Possibly making Viewerhelp namespace "open" to
user editing
  Using Flagged Revisions

Extending scope to other content such as
QuickStart guides
Demo
Second Life Viewer 2.0

Context-sensitive help, SL wiki

TOC

Help search

Glossary

Debug/admin mode
Q&A
Questions and answers period
Thank You!

Reminder:
Please complete Speaker Evaluation

More Related Content

What's hot

IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01projectdxguy
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteMediacurrent
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01Vivek chan
 
CCLA Oracle WebCenter Portal Spaces Case Study
CCLA Oracle WebCenter Portal Spaces Case StudyCCLA Oracle WebCenter Portal Spaces Case Study
CCLA Oracle WebCenter Portal Spaces Case StudyExtended Content Solutions
 
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Mitch Cohen
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portaldominion
 
Connections Administration Toolkit (CAT)
Connections Administration Toolkit (CAT)Connections Administration Toolkit (CAT)
Connections Administration Toolkit (CAT)TIMETOACT GROUP
 
SharePoint 2010 Training Session 1
SharePoint 2010 Training Session 1SharePoint 2010 Training Session 1
SharePoint 2010 Training Session 1Usman Zafar Malik
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business OverviewNick Davis
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to WordpressIJERDJOURNAL
 
Migrating to Drupal: Open Source Library Intranets
Migrating to Drupal: Open Source Library IntranetsMigrating to Drupal: Open Source Library Intranets
Migrating to Drupal: Open Source Library IntranetsNina McHale
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Richard Esplin
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References EducationDvir Reznik
 
Introduction to the SharePoint 2013 User Profile Service
Introduction to the SharePoint 2013 User Profile ServiceIntroduction to the SharePoint 2013 User Profile Service
Introduction to the SharePoint 2013 User Profile ServiceRegroove
 

What's hot (20)

Drupal_cubet seminar
Drupal_cubet seminarDrupal_cubet seminar
Drupal_cubet seminar
 
IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01IBM Lotus Notes Domino Blog Template Update 8.01
IBM Lotus Notes Domino Blog Template Update 8.01
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal Site
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01
 
Product guide
Product guideProduct guide
Product guide
 
CCLA Oracle WebCenter Portal Spaces Case Study
CCLA Oracle WebCenter Portal Spaces Case StudyCCLA Oracle WebCenter Portal Spaces Case Study
CCLA Oracle WebCenter Portal Spaces Case Study
 
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
 
Connections Administration Toolkit (CAT)
Connections Administration Toolkit (CAT)Connections Administration Toolkit (CAT)
Connections Administration Toolkit (CAT)
 
SharePoint 2010 Training Session 1
SharePoint 2010 Training Session 1SharePoint 2010 Training Session 1
SharePoint 2010 Training Session 1
 
01. Portal Business Overview
01. Portal Business Overview01. Portal Business Overview
01. Portal Business Overview
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to Wordpress
 
Migrating to Drupal: Open Source Library Intranets
Migrating to Drupal: Open Source Library IntranetsMigrating to Drupal: Open Source Library Intranets
Migrating to Drupal: Open Source Library Intranets
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
 
Adobe Flex Framework
Adobe Flex FrameworkAdobe Flex Framework
Adobe Flex Framework
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References Education
 
7.5.0.jpg
7.5.0.jpg7.5.0.jpg
7.5.0.jpg
 
Introduction to the SharePoint 2013 User Profile Service
Introduction to the SharePoint 2013 User Profile ServiceIntroduction to the SharePoint 2013 User Profile Service
Introduction to the SharePoint 2013 User Profile Service
 

Similar to Creating A Wiki Based Online Help System

Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Rand McKinney
 
09.m3 cms cms-components
09.m3 cms cms-components09.m3 cms cms-components
09.m3 cms cms-componentstarensi
 
KWizCom sharepoint wiki plus - product overview
KWizCom sharepoint wiki plus - product overviewKWizCom sharepoint wiki plus - product overview
KWizCom sharepoint wiki plus - product overviewNimrod Geva
 
Liferay Platform Overview
Liferay Platform OverviewLiferay Platform Overview
Liferay Platform OverviewFirmansyahIrma1
 
Facets of applied smw
Facets of applied smwFacets of applied smw
Facets of applied smwJesse Wang
 
Doc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectDoc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectAlexandro Colorado
 
Blogs and Wikis
Blogs and Wikis Blogs and Wikis
Blogs and Wikis kepitcher
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic WikiJie Bao
 
Reflections On Personal Experiences In Using Wikis
Reflections On Personal Experiences In Using WikisReflections On Personal Experiences In Using Wikis
Reflections On Personal Experiences In Using Wikislisbk
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyMark Proctor
 
Web 20-1217591424848412-9
Web 20-1217591424848412-9Web 20-1217591424848412-9
Web 20-1217591424848412-9Radost Sviridon
 

Similar to Creating A Wiki Based Online Help System (20)

Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)Creating a Wiki-Based Online Help System (Abridged)
Creating a Wiki-Based Online Help System (Abridged)
 
09.m3 cms cms-components
09.m3 cms cms-components09.m3 cms cms-components
09.m3 cms cms-components
 
KWizCom sharepoint wiki plus - product overview
KWizCom sharepoint wiki plus - product overviewKWizCom sharepoint wiki plus - product overview
KWizCom sharepoint wiki plus - product overview
 
Liferay Platform Overview
Liferay Platform OverviewLiferay Platform Overview
Liferay Platform Overview
 
Liferay Platform Overview
Liferay Platform OverviewLiferay Platform Overview
Liferay Platform Overview
 
Facets of applied smw
Facets of applied smwFacets of applied smw
Facets of applied smw
 
Web 2.0
Web 2.0 Web 2.0
Web 2.0
 
Web2 0
Web2 0Web2 0
Web2 0
 
Report On Web 2.0
Report On Web 2.0Report On Web 2.0
Report On Web 2.0
 
Doc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation ProjectDoc.next - The Future of the Documentation Project
Doc.next - The Future of the Documentation Project
 
Blogs and Wikis
Blogs and Wikis Blogs and Wikis
Blogs and Wikis
 
Lessons learned from Semantic Wiki
Lessons learned from Semantic WikiLessons learned from Semantic Wiki
Lessons learned from Semantic Wiki
 
Reflections On Personal Experiences In Using Wikis
Reflections On Personal Experiences In Using WikisReflections On Personal Experiences In Using Wikis
Reflections On Personal Experiences In Using Wikis
 
Web Space10
Web Space10Web Space10
Web Space10
 
Wordpress
WordpressWordpress
Wordpress
 
Wordpress
WordpressWordpress
Wordpress
 
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client TechnologyRed Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
Red Hat JBoss BRMS and BPMS Workbench and Rich Client Technology
 
Web 20
Web 20Web 20
Web 20
 
Web 20-1217591424848412-9
Web 20-1217591424848412-9Web 20-1217591424848412-9
Web 20-1217591424848412-9
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

Creating A Wiki Based Online Help System

  • 1. Creating a Wiki-Based Online Help System C. Rand McKinney Jeremy Franklin May 2010
  • 2. Outline Online help for Second Life Viewer 2.0 Localizable, easy to maintain, context-sensitive The viewer-help application Wiki for content management & authoring Help as web service Using Mediawiki Extensions, templates, categories Content and localization pipeline
  • 3. Caveats Very new! Viewer 2.0 released March 31 Defining community processes and policies Refining Help content Localization tools and processes
  • 4. Second Life Premiere 3D online virtual world Launched 2003 Large active user "Resident" community 1.4 million users logged in over last 60 days ~80,000 average concurrent users Desktop client application: Second Life Viewer Win XP/Vista/7, Mac OS, Linux
  • 5. Second Life Viewer Client application dates from 2003 Version 1.23 Powerful but complex UI No help system Online Knowledge Base Recently migrated from proprietary system to Second Life Wiki (Mediawiki)
  • 6. Second Life Viewer 2.0 Complete UI redesign In development for over a year Released on 31 Mar 2010 New Features Integrated Web-Based Media Easier, Browser-Like Navigation Side Panel for Frequently-Used Features Improved Search Contextual Help
  • 8. Other Help Resources Welcome Island In-world new user orientation Quickstart Guides Web-based Linked from sidebar SL Answers SL Wiki and Knowledge Base
  • 9. Second Life Wiki Mediawiki 1.14 8,000+ articles total Created and maintained by community ~650 articles in official Knowledge Base Created by Linden Lab Maintained by community and LL Custom namespace "Viewerhelp"
  • 13. Assumptions and requirements Assumption: Users are online with broadband Requirements: Localizable - target: eight languages Easy to maintain - quarterly releases Minimize work and expense Leverage existing knowledge infrastructure
  • 14. Viewer Help system Viewer (client) Viewer-help application (server) Wiki - http://wiki.secondlife.com
  • 15. Viewer Help system - Viewer Add "?" button to every window, sidebar panel Pressing F1 equivalent Clicking "?" sends an HTTP request Help context ID Language Viewer "channel" Version
  • 16. Viewer Help system - Viewer Help browser window displays web content Bare window - Webkit HTML layout engine UI provided via web application
  • 17. Viewer Help system - server Scan wiki for changes Use Mediawiki API to detect changed articles Every 15 minutes Request changed articles from wiki Process and "re-skin" HTML Save as static files Respond to HTTP requests from Viewer
  • 18. Viewer Help system - wiki Use custom Viewerhelp namespace Set editing rights separately Easy to isolate queries via API Key articles: Active Releases Map File for each version Mediawiki API http://www.mediawiki.org/wiki/API
  • 19. The viewer-help application Web service Python Django web framework Generator - gets article content from wiki Router - responds to Viewer HTTP requests Post-processing
  • 21. The viewer-help generator Queries wiki using Mediawiki API 15 minute intervals Gets changes to help articles Updates viewer-help content Saves content as static HTML pages Applies post-processing rules Improves performance, reliability
  • 22. The viewer-help router Second Life Viewer issues HTTP GET request http://viewer-help.secondlife.com/ [LANGUAGE]/ [CHANNEL]/ [VERSION]/ [TOPIC][DEBUG_MODE] Router returns appropriate article TOPIC IDs are mapped to wiki articles via map file CSS "skinning" and add toolbar
  • 23. Active Releases article Identifies map file for each Viewer channel / version
  • 24. Map file Maps context IDs to articles Helps manage and organize content work, localization Data structure implemented as a wiki table Viewer-help app reads first two colums Other columns are informational
  • 26. Active Releases & Map Files
  • 27. Second Life Wiki Mediawiki 1.14 Acts as content management system Transclusion enables content reuse Knowledge Base Content reuse for UI reference help Extensions, templates, categories
  • 28. Wiki - Help "skinning" Help skin Mediawiki skin Eliminates much of wiki UI Application post-processing rules Strip Viewerhelp namespace, version number Modify links wiki links to route via the help app. Add target to external links Change image source URLs to absolute CSS applied by router Look and feel of Viewer UI
  • 29. Wiki Extensions Per-namespace header / footer Parser Functions Facilitates localization Search and Replace Useful with localization pipeline General editing and maintenance Flagged Revisions Not used yet by Viewer Help Enable community contributions, if desired.
  • 30. Wiki Templates Layout and markup templates UIref Tbd, Red Icon templates Workflow templates - content pipeline Only visible in wiki, not help window Except in debug mode General templates (from KB) Note, Warning, Caution, etc.
  • 31. Content Pipeline Workflow Templates put articles in categories
  • 34. How Localization Works Redirect from English article to translated article For each language English Title /xx English Title in language xx Example: "Viewerhelp:People - Friends/de" #REDIRECT [[Viewerhelp:Leute_-_Freunde]]
  • 35. Localization of Templates Workflow template sets parser function variable Other templates detect value Display appropriate language content based on it
  • 36. Export & Import for Translation Use Special:Export to export to XML Load XML into Trados Translation Memory tool Translate into target languages Return XML file for each language Use Special:Import to import XML of each language translation Edit wikitext before import Simple search & replace to set template wikitext
  • 37. Localization Tools & Process Before importing XML translations Replace templates in each page Changes category and sets language variable In XML files, replace: {{Help Article Ready for Translation}} with {{Translated Help Article|xx|date}} Import redirects to translated pages de, fr, ja, etc. Initial translation only
  • 38. Versioning Active Releases identifies map file Map file identifies articles Article title versioning No version number is always latest and greatest Version numbers for older supported versions Router strips version numbers from display title Example Viewerhelp:Preferences - General - latest version Viewerhelp:Preferences - General/2.0.0
  • 39. Help Content - Table of Contents Uses JQuery Treeview plugin Javascript/CSS Simple nested bullet lists in wiki Rendered as expandable / collapsible tree
  • 41. Help Content - Glossary ~200 Second Life-specific terms Most-viewed article Links from almost every article Intra-page anchors to each term Template for easy linking
  • 43. Help Content - Fallback Article Displayed when no context ID is active General entry point Exception: pre-login help
  • 45. Help Content - Search Google Search Appliance Results Language-specific Version-specific
  • 47. Help Content Task / concept / reference 150+ UI reference topics High-level Task topics
  • 48. Wiki Access Controls Main namepace regular articles: Only logged-in Residents can edit Knowledge Base: Logged-in Residents can edit Edits become default version after revision by Linden or designated reviewer Flagged Revision wiki extension Custom namespaces: Linden Lab Official, Viewerhelp Only Linden Lab employees can edit Policy, official product information Also localized "official" namespace
  • 49. Debug mode Second Life Viewer admin mode Used for administration and community management Also called "god mode" Access restricted to Linden Lab employees In debug mode: See help ID requested by Viewer See content normally hidden in help (e.g. workflow and editing templates) Convenience link to edit help content in wiki
  • 50. Second Life Enterprise "Behind the firewall" product aimed at Large enterprise customers Government and military Education and academia Challenge: some installations are offline: NO internet access Solution: integrate Viewer-help application with SLE server Package static content with application Links to external resources don't work
  • 51. Open Technical Issues Detecting changes to transcluded articles Harder than it looks Rebuild is workaround Deleting pages from application Must automatically detect wiki deletion Potential memory hog
  • 52. What's Next Using help content in Knowledge Base articles Transclusion facilitates single-sourcing Possibly making Viewerhelp namespace "open" to user editing Using Flagged Revisions Extending scope to other content such as QuickStart guides
  • 53. Demo Second Life Viewer 2.0 Context-sensitive help, SL wiki TOC Help search Glossary Debug/admin mode