Top Banner
Creating a Documentation Portal Steve Anderson Information Architect [email protected] @SteveLAnderson
41

Creating a Documentation Portal

Jul 16, 2015

Download

Software

Steve Anderson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Creating a Documentation Portal

Creating a Documentation Portal

Steve AndersonInformation [email protected]@SteveLAnderson

Page 2: Creating a Documentation Portal

Who am I?

BS in Technical Communication, with a minor in CS

20 years of experience writing

10 years of experience programming

A member of the technical documentation team at Salesforce

Page 3: Creating a Documentation Portal

Agenda

What

Why

Planning

Doing

Ongoing

Page 4: Creating a Documentation Portal

What is a documentation portal?

Page 5: Creating a Documentation Portal

It is defined by purpose, not technology or functionality

“A documentation portal is a website with the purpose of delivering documentation for specific projects or systems.”

Page 6: Creating a Documentation Portal

Examples of documentation portals

• Doc portals

• Single product – Bootstrap

• Single technology – Java

• Multiple technologies – devdocs

• Not Doc Portals

• New(sy) – Gizmodo

• Info repository - Wikipedia

Search – Google

Page 7: Creating a Documentation Portal

Questions about what a documentation portal is?

Page 8: Creating a Documentation Portal

Why create a documentation portal?

Page 9: Creating a Documentation Portal

You don’t create it and forget it.

Having a portal is a commitment of your time

“Only create a documentation portal if you must have one.”

Page 10: Creating a Documentation Portal

Some reasons to create a documentation portal

You have a new product that cannot be served using existing systems

You have a current system that is missing required functionality

Your current system is no longer available

For fun

Page 11: Creating a Documentation Portal

Examples

• A new project - database.com

• Missing functionality – Salesforce1

• Unavailable system – www.salesforce.com/docs

Page 12: Creating a Documentation Portal

Questions about what and why?

Page 13: Creating a Documentation Portal

Questions for you

• Do you want to create a documentation portal?

• Are you sure you can’t use existing resources?

• Have you written down the problems you are trying to solve?

• Have you written down the functional requirements?

Page 14: Creating a Documentation Portal

Planning for a documentation portal

• What is the problem you are trying to solve?

• What is the minimum set of functionality you need to be successful?

• How many different page types will you need?

• What functionality does each page type provide?

• Prototypes

Page 15: Creating a Documentation Portal

Problem statement

A good problem statement is

• Concrete

• Specific

• Based on observations of the users

• Short

• Contains no solutions

Page 16: Creating a Documentation Portal

Functional requirements

Good functional requirements are:

• Concrete

• Specific

• Are not prototypes

• Driven by business and user requests

• A solution to the issues raised in the problem statement

Page 17: Creating a Documentation Portal

Quick digressionCore Model

• Core+Paths: A Design Framework for Findability, Prioritization and Value

• The Core Model: Designing Inside Out for Better Results

• This is a great concrete style for defining your problems and functional requirements

• Addresses both business needs and user goals

• Helps you figure out how many different kinds of pages you need

Page 18: Creating a Documentation Portal

Page types required

• How many different kinds of pages do you need?

• Start by assuming you need one page type

• Add more as requirements dictate

• Examples

• Documentation content with links to other related documents

• A landing page that lists the deliverables

• A search results page

Page 19: Creating a Documentation Portal

Prototypes

• Don’t spend too much time on them

• Make sure everyone can see them, always

• Don’t change them without everyone knowing about the change

• Don’t allow the prototype to be a strait jacket

Page 20: Creating a Documentation Portal

Prototype Example

Page 21: Creating a Documentation Portal

Questions about planning?

Page 22: Creating a Documentation Portal

Ready to start?

Let’s put the work into workshop!

Page 23: Creating a Documentation Portal

Create a portal from an open source project

Page 24: Creating a Documentation Portal

Red Sofa Documentation Portal

• Early version of salesforce.com documentation portals

• Open source

• Written in Ruby, with content stored in a NoSQL database (CouchDB)

• Hosted, for free, in the cloud on Heroku

• Red Sofa project page - https://github.com/forcedotcom/doc-portal

Page 25: Creating a Documentation Portal

Steps

1. Create heroku account

2. Create cloudant account

3. Set up your computer environment

4. Clone the project from github.com

5. Upload HTML content to the database

6. Push the app to Heroku

7. Review and iterate

Page 26: Creating a Documentation Portal

Sign up for Heroku

https://signup.heroku.com

Page 27: Creating a Documentation Portal

Sign up for Cloudant

https://cloudant.com/sign-up/

Page 28: Creating a Documentation Portal

Set up your computer

1. Install and set up git

2. Install and setup ruby

• Mac or Linux: Use RVM - https://rvm.io

• Windows: http://rubyinstaller.org

Install the Heroku toolbelt - https://toolbelt.heroku.com

Page 29: Creating a Documentation Portal

Local project from Heroku

• If you’ve deployed it using the “Deploy to Heroku”, at the command-line, type

heroku git clone –a myapp

cd myapp

git remote add origin https://github.com/forcedotcom/doc-portal.git

heroku config:add RACK_ENV=production

heroku config -s > .env

Page 30: Creating a Documentation Portal

Local project from github

• If you have not deployed using Heroku, at the command-line, type

git clone https://github.com/forcedotcom/doc-portal.git

rake initialize_heroku[myapp]

heroku config:set CLOUDANT_URL=http://<cloudant-host>.cloudant.com

heroku config -s > .env

git push heroku master

Page 31: Creating a Documentation Portal

Upload the HTML to the database

• At the command-line, type

rake update_remote_db

Page 32: Creating a Documentation Portal

Review

• At the command-line, type

heroku open

Page 33: Creating a Documentation Portal

Running it locally

• Install couchdb - http://wiki.apache.org/couchdb/Installation

• Add lucene to couchdb - https://github.com/rnewson/couchdb-lucene

• Set the CLOUDANT_URL environment variable

• For a local database, do something like this: export CLOUDANT_URL=http://admin:admin@localhost:5984

• Create a file named .env.development and add your CLOUDANT_URL export command to it

• export CLOUDANT_URL=http://admin:admin@localhost:5984

• At the command-line, type

rake update_local_db

rake start_local_db

Point your web browser at - http://localhost:5000/

Page 34: Creating a Documentation Portal

Questions about the process?

Page 35: Creating a Documentation Portal

Next steps

• Simple application configuration

• Updating content

• Updating metadata

• Customizing the look and feel

• Usability testing

Page 36: Creating a Documentation Portal

Simple application configuration

• To change app configuration, edit

config/app.yaml

• YAML – Yet Another Markup Language

• Simple key:value format

# Max number of search results to show on a page

:SEARCH_RESULTS_PER_PAGE: 25

:MAX_SEARCH_RESULTS: 200

# Number of characters in the search results snippet

:SNIPPET_LENGTH: 250

Page 37: Creating a Documentation Portal

Updating content

• Replace the sample files with your own HTML

• Update the table of contents file for your project

• Upload the content

Page 38: Creating a Documentation Portal

Updating metadata

• The default topic, locale, and other functionality for each deliverable is controlled by a metadata file

• To change the metadata, edit

content/<lang-locale>/<deliverable>/deliverable_metadata.json

Page 39: Creating a Documentation Portal

Customizing the UI

• The UI uses Twitter Bootstrap, version 2.3.2

• Fonts, colors, spacing, etc. are configured in less, not CSS

• Less is a CSS pre-processor; see http://lesscss.org/

• To update, you need to install lessc and uglifyjs

• To customize, edit portal2_customizations.less then, from the command-line, type

rake bootstrap:init

rake bootstrap:make

git add .

git commit –m “Updating styles”

git push heroku master

Page 40: Creating a Documentation Portal

Usability testing

• Usability testing is vital to improving your portal

• It can be done after an initial version is available

• Don’t wait too long!

Page 41: Creating a Documentation Portal

Thank you