SlideShare une entreprise Scribd logo
1  sur  127
Project Tools in Web
   Development
                   A Case Study
        Ken Loomis, Ethan Poole, Tony Thomas
 Student Unions and Activities, University of Minnesota
Website Redesign
     Goals
Website Redesign
         Goals

• Audit and reorganize content
Website Redesign
         Goals

• Audit and reorganize content
• Improve code management
Website Redesign
         Goals

• Audit and reorganize content
• Improve code management
• Create new and consistent styles
Content Inventory




Content Inventory   Version Control   CSS Style Guide
Content Inventory
• A complete table of all the documents on a
  website




     Content Inventory   Version Control   CSS Style Guide
Content Inventory
• A complete table of all the documents on a
  website
• Useful for identifying redundant, outdated,
  or trivial content




     Content Inventory   Version Control   CSS Style Guide
Build an Inventory
Build an Inventory
• Use a site map generator to create a list.
 • http://code.google.com/p/sitemap-
    generators/wiki/SitemapGenerators
  • http://www.xml-sitemaps.com/
Build an Inventory
• Use a site map generator to create a list.
 • http://code.google.com/p/sitemap-
    generators/wiki/SitemapGenerators
  • http://www.xml-sitemaps.com/
• Index all documents
Build an Inventory
• Use a site map generator to create a list.
 • http://code.google.com/p/sitemap-
    generators/wiki/SitemapGenerators
  • http://www.xml-sitemaps.com/
• Index all documents
• Inspect duplicates from symlinks or
  redirects
Make a Spreadsheet




   Google Docs work well!
Add columns
Choose columns that
  fit your project.
 • ID         • Redundant?
 • Title      • Outdated?
 • Path       • Trivial?
 • Template   • Notes
 • Owner      • Status
 • Summary    • etc.
Get Everyone Involved
Get Everyone Involved
• Consider:
 • Stakeholders have the organization’s
    best interests in mind.
 • Content owners know the subject best.
 • Developers consider web standards,
    usability, and search optimization.
Get Everyone Involved
• Consider:
 • Stakeholders have the organization’s
    best interests in mind.
  • Content owners know the subject best.
  • Developers consider web standards,
    usability, and search optimization.
• The inventory serves as a tool to aid
  discussion during content review.
Ask Questions About
   Your Content.
• Does anyone read this stuff?
• What is its purpose?
• Is it written for our audience?
• Is it in the right place?
• Can I combine it with something else?
Delegate and Review
Delegate and Review
• Break up the work
Delegate and Review
• Break up the work
• Identify key sections
Delegate and Review
• Break up the work
• Identify key sections
• Seek assistance from people who are
  unfamiliar with the content under review.
Delegate and Review
• Break up the work
• Identify key sections
• Seek assistance from people who are
  unfamiliar with the content under review.
• Meet several times to compare notes and
  develop your content strategy.
“Like the Sun, the West Bank Union rose on
the East Bank before settling in on the West
Bank. Coffman Memorial Union conducted
programming on the West Bank in the
1960s. Coffman Program Director Carl
Nelson had aspirations of creating a West
Bank Union, so in 1968 he uprooted himself
from the East Bank to become the first
director of the newly established West Bank
Union.”

“...The sun sets in the west, but the West
Bank Skyway is set to continue shining on
the West Bank.”
Helpful features:
* File > See Revision History
* Tools > Notification Rules
Manage Scope Creep
Manage Scope Creep

• Expect requests for changes during
  planning and development.
Manage Scope Creep

• Expect requests for changes during
  planning and development.
• Use your inventory as a reference for
  keeping your project on schedule.
Manage Scope Creep

• Expect requests for changes during
  planning and development.
• Use your inventory as a reference for
  keeping your project on schedule.
• Consider the inventory as a project
  specification.
Don’t Forget...

• <meta> tags
• .pdf, .doc, .xls meta data
• Old images, documents, videos
Our Experience
Our Experience
• With large amounts of content,
  details are easily overlooked.
Our Experience
• With large amounts of content,
  details are easily overlooked.
• Designs or wireframes may be
  useful to preview the results.
Our Experience
• With large amounts of content,
  details are easily overlooked.
• Designs or wireframes may be
  useful to preview the results.
• Build consensus
Our Experience
• With large amounts of content,
  details are easily overlooked.
• Designs or wireframes may be
  useful to preview the results.
• Build consensus
• Document your organization’s
  decisions!
Now, how
about the code?
Content Inventory   Version Control   CSS Style Guide
cvs status hejsan.py
cvs status hejsan.py
==============================================
File: hejsan.py       Status: Locally Modified

 Working revision: 1.4 Mon Jun 11 02:12:28 2001
 Repository revision: 1.4 /home/cvsroot/
hejsan.py,v
 Sticky Tag:    (none)
 Sticky Date:   (none)
 Sticky Options: (none)
cvs -nq update
We were using CVS,
 albeit minimally.
                 Central
                Repository




                             Development
 Live Website
                               Website
CVS has problems.
CVS has problems.

• Overwritten and broken code
CVS has problems.

• Overwritten and broken code
• Mammoth commits
CVS has problems.

• Overwritten and broken code
• Mammoth commits
• Cryptic commands
Distributed Model

Live Website                Tony



                Central             Experimental
                            Ethan
               Repository             Website


Development
                            Ken
  Website
The distributed model
 increases flexibility.
The distributed model
 increases flexibility.

• Granular commits
The distributed model
 increases flexibility.

• Granular commits
• Developer flexibility
Why Mercurial?
Why Mercurial?

• Easy-to-use commands
Why Mercurial?

• Easy-to-use commands
• Cross platform
Why Mercurial?

• Easy-to-use commands
• Cross platform
• Easy to install and to manage
Why Mercurial?

• Easy-to-use commands
• Cross platform
• Easy to install and to manage
• Clone to branch
Traditional branching is
       complex.
Traditional branching is
       complex.

 Revision 1
Traditional branching is
       complex.

 Revision 1   Revision 2a



              Revision 2b
Traditional branching is
       complex.

 Revision 1   Revision 2a   Revision 3a



              Revision 2b
Traditional branching is
       complex.

 Revision 1   Revision 2a   Revision 3a



              Revision 2b   Revision 3b
Traditional branching is
       complex.

 Revision 1   Revision 2a   Revision 3a   Revision 4



              Revision 2b   Revision 3b
Traditional branching is
       complex.

 Revision 1   Revision 2a   Revision 3a   Revision 4



              Revision 2b   Revision 3b
Clone-to-branch is
 straightforward.
Clone-to-branch is
  straightforward.

Revision 1
Clone-to-branch is
  straightforward.

Revision 1



Revision 1
Clone-to-branch is
  straightforward.

Revision 1



Revision 1   Revision 2   Revision 3
Clone-to-branch is
  straightforward.

Revision 1   Revision 2



Revision 1   Revision 2   Revision 3
Clone-to-branch is
  straightforward.

Revision 1   Revision 2                Revision 4



Revision 1   Revision 2   Revision 3
Why Mercurial?

• Easy-to-use commands
• Cross platform
• Easy to install and to manage
• Clone to branch
Why Mercurial?

• Easy-to-use commands
• Cross platform
• Easy to install and to manage
• Clone to branch
• Extensions
Cool people use
      Mercurial.
• Python
• Mozilla
• OpenOffice.org
• Vim
• CodeIgniter
Cool people use
       Mercurial.
• Python
• Mozilla
• OpenOffice.org
• Vim
• CodeIgniter
• Student Unions & Activities
What if I already use a
version-control system?
DON’T PANIC
Switching is easy.
CSS Style Guide




Content Inventory   Version Control   CSS Style Guide
CSS Style Guide
• Reference for developers




Content Inventory   Version Control   CSS Style Guide
CSS Style Guide
• Reference for developers
• Web page to demonstrate
   classes & id’s




Content Inventory   Version Control   CSS Style Guide
CSS Style Guide
• Reference for developers
• Web page to demonstrate
   classes & id’s
• Not necessarily a framework

Content Inventory   Version Control   CSS Style Guide
CSS Style Guide
• Reference for developers
• Web page to demonstrate
   classes & id’s
• Not necessarily a framework
• Not a coding spec
Content Inventory   Version Control   CSS Style Guide
“Even Hipsters need a refresher course from
time to time, and you wouldn't want to be
throwing out dated slang like ‘grody’ or ‘wicked’
when mixing with other Hipsters in the know.”
Style Guide Changes
Style Guide Changes

• CamelCase to hyphenated lowercase
Style Guide Changes

• CamelCase to hyphenated lowercase
• Eliminate legacy styles
Style Guide Changes

• CamelCase to hyphenated lowercase
• Eliminate legacy styles
• Get rid of styles that described
  presentation
Style Guide Changes

• CamelCase to hyphenated lowercase
• Eliminate legacy styles
• Get rid of styles that described
  presentation
• Keep notification styles (error, success, etc.)
Why not use a CSS
  framework?
Why not use a CSS
    framework?
ez-css (ez-css.org)
Why not use a CSS
    framework?
ez-css (ez-css.org)
I was the only one working on the project
Why not use a CSS
    framework?
ez-css (ez-css.org)
I was the only one working on the project
Flexible (literally & figuratively)
Why not use a CSS
    framework?
ez-css (ez-css.org)
I was the only one working on the project
Flexible (literally & figuratively)
Light footprint
Why not use a CSS
    framework?
ez-css (ez-css.org)
I was the only one working on the project
Flexible (literally & figuratively)
Light footprint
Layout & design decisions were still in flux
“I find the ez-css classes to be remarkably
un-semantic...”
ez-css class names are
       esoteric.
ez-css class names are
       esoteric.

<div class="ez-fl ez-negmr
ez-50"></div>
Most CSS frameworks
use un-semantic names.
Most CSS frameworks
use un-semantic names.
•ez-50 (ez-css)
•container_12 (960GS)
•grid_1 (960GS)
•span-4 (Blueprint)
They all put presentation into
         the markup.
We wrote our own
     styles.
We wrote our own
         styles.
.column {

 float: left;

 margin-right: 5%;

 width: 45%;
}
We wrote our own
         styles.
.column.narrow {

 margin-right: 5%;

 width: 30%;
}
We wrote our own
         styles.
.column.last {

 margin-right: 0;
}
We wrote our own
      styles.
#main-content
We wrote our own
      styles.
#main-content.extended
The Guide
#main-content
 #main-content.extended
#contextual
We refined our markup.
We refined our markup.
    <table class="data">
         <thead>

            <tr>

   
   
       <th colspan="2">Heading</th>

   
       </tr>

       </thead>

       <tbody>

   
       <tr>

   
   
       <td><strong>Title</strong></td>

   
   
       <td>Definition</td>

   
       </tr>

       <tr>

   
   
       <td><strong>Title</strong></td>

   
   
       <td>Definition</td>

       </tr>

   
       <tr>

   
   
       <td><strong>Title</strong></td>

   
   
       <td>Definition</td>

   
       </tr>

   
       <tr>

   
   
       <td><strong>Title</strong></td>

   
   
       <td>Definition</td>

   
       </tr>

       </tbody>
    </table>
Same info. Better
              markup.
    <dl class="data">

        <dt class="heading">Heading</dt>

        <dd>

   
       <dl>

   
 
        <dt>Title</dt>

   
 
        <dd>Definition</dd>

   
 
        <dt>Title</dt>

   
 
        <dd>Definition</dd>

   
 
        <dt>Title</dt>

   
 
        <dd>Definition</dd>

   
 
        <dt>Title</dt>

   
 
        <dd>Definition</dd>

   
       </dl>

        </dd>
      </dl>
Benefits
Benefits
Easy
Benefits
Easy
Training
Benefits
Easy
Training
Guiding document
Benefits
Easy
Training
Guiding document
Consensus
Benefits
Easy               Discussions
Training            • semantics
Guiding document    • accessibility
Consensus           • naming conventions
                    • common solutions
Website Redesign
    Project
Website Redesign
        Project
• Major restructuring of content



     Content Inventory   Version Control   CSS Style Guide
Website Redesign
        Project
• Major restructuring of content
• Easy deployment of new code libraries


     Content Inventory   Version Control   CSS Style Guide
Website Redesign
        Project
• Major restructuring of content
• Easy deployment of new code libraries
• Painless page builds

     Content Inventory   Version Control   CSS Style Guide
Project Tools in Web
   Development
  What are your questions?
    sua.umn.edu/minnewebcon
    Ken Loomis - @kmloomis
     Ethan Poole - @ethanp
    Tony Thomas - @truetone

Contenu connexe

Tendances

Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011Craig Ulliott
 
CUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsCUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsAlfresco Software
 
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)Kevin Bruce
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceAbdelmonaim Remani
 
Funtional Ruby - Mikhail Bortnyk
Funtional Ruby - Mikhail BortnykFuntional Ruby - Mikhail Bortnyk
Funtional Ruby - Mikhail BortnykRuby Meditation
 
Different ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykDifferent ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykRuby Meditation
 
PRDC-ror-trilogy-part1
PRDC-ror-trilogy-part1PRDC-ror-trilogy-part1
PRDC-ror-trilogy-part1Amir Barylko
 
Markup languages and warp-speed documentation
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentationLois Patterson
 
Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Jesse Warden
 
PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfAlfresco Software
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swaggerTony Tam
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your websitehernanibf
 
Riding IronRuby on Rails
Riding IronRuby on RailsRiding IronRuby on Rails
Riding IronRuby on RailsShay Friedman
 
Better framework, better life
Better framework, better lifeBetter framework, better life
Better framework, better lifeDaniel Lv
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 

Tendances (18)

Social dev camp_2011
Social dev camp_2011Social dev camp_2011
Social dev camp_2011
 
CUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing ToolsCUST-6 Integrating Alfresco with Publishing Tools
CUST-6 Integrating Alfresco with Publishing Tools
 
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)
 
The Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot PersistenceThe Rise of NoSQL and Polyglot Persistence
The Rise of NoSQL and Polyglot Persistence
 
Funtional Ruby - Mikhail Bortnyk
Funtional Ruby - Mikhail BortnykFuntional Ruby - Mikhail Bortnyk
Funtional Ruby - Mikhail Bortnyk
 
Different ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail BortnykDifferent ways of integrating React into Rails - Mikhail Bortnyk
Different ways of integrating React into Rails - Mikhail Bortnyk
 
WCM-7 Surfing with CMIS
WCM-7 Surfing with CMISWCM-7 Surfing with CMIS
WCM-7 Surfing with CMIS
 
PRDC-ror-trilogy-part1
PRDC-ror-trilogy-part1PRDC-ror-trilogy-part1
PRDC-ror-trilogy-part1
 
Markup languages and warp-speed documentation
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentation
 
Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011
 
PLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring SurfPLAT-7 Spring Web Scripts and Spring Surf
PLAT-7 Spring Web Scripts and Spring Surf
 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
SOA on Rails
SOA on RailsSOA on Rails
SOA on Rails
 
Riding IronRuby on Rails
Riding IronRuby on RailsRiding IronRuby on Rails
Riding IronRuby on Rails
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
Better framework, better life
Better framework, better lifeBetter framework, better life
Better framework, better life
 
My site is slow
My site is slowMy site is slow
My site is slow
 

Similaire à Project Tools in Web Development

Plone for Education: Bibliographies
Plone for Education: BibliographiesPlone for Education: Bibliographies
Plone for Education: BibliographiesCristopher Ewing
 
Drupal: Mitigating Risk with Multiple Content Creators
Drupal: Mitigating Risk with Multiple Content CreatorsDrupal: Mitigating Risk with Multiple Content Creators
Drupal: Mitigating Risk with Multiple Content CreatorsiFactory
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC RiversideMichael Kennedy
 
Evaluating Drupal for the Enterprise
Evaluating Drupal for the EnterpriseEvaluating Drupal for the Enterprise
Evaluating Drupal for the Enterpriseultimike
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deploymentheyrocker
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, SuccessfullySauce Labs
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersJohn Ferringer
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Red Gate Software
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the DatabaseMichaela Murray
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawlerJinglun Li
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best PracticesBrian Krogsgard
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsTaylor Lovett
 
Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2Alfresco Software
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Brian Ritchie
 
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?SharePoint Site Architecture: Flat, Deep or somewhere in the middle?
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?Joanne Klein
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with RailsYi-Ting Cheng
 

Similaire à Project Tools in Web Development (20)

Plone for Education: Bibliographies
Plone for Education: BibliographiesPlone for Education: Bibliographies
Plone for Education: Bibliographies
 
Drupal: Mitigating Risk with Multiple Content Creators
Drupal: Mitigating Risk with Multiple Content CreatorsDrupal: Mitigating Risk with Multiple Content Creators
Drupal: Mitigating Risk with Multiple Content Creators
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
Evaluating Drupal for the Enterprise
Evaluating Drupal for the EnterpriseEvaluating Drupal for the Enterprise
Evaluating Drupal for the Enterprise
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, Successfully
 
Intro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developersIntro to SharePoint 2010 development for .NET developers
Intro to SharePoint 2010 development for .NET developers
 
Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City Part of the DLM story: Get your Database under Source Control - SQL In The City
Part of the DLM story: Get your Database under Source Control - SQL In The City
 
Why puppet? Why now?
Why puppet? Why now?Why puppet? Why now?
Why puppet? Why now?
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawler
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Best Practices For Centrally Governing Your Portal And Taxonomy Echo Techno...
Best Practices For Centrally Governing Your Portal And Taxonomy   Echo Techno...Best Practices For Centrally Governing Your Portal And Taxonomy   Echo Techno...
Best Practices For Centrally Governing Your Portal And Taxonomy Echo Techno...
 
WordPress Theming Best Practices
WordPress Theming Best PracticesWordPress Theming Best Practices
WordPress Theming Best Practices
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?SharePoint Site Architecture: Flat, Deep or somewhere in the middle?
SharePoint Site Architecture: Flat, Deep or somewhere in the middle?
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 

Dernier

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Project Tools in Web Development

Notes de l'éditeur

  1. -Welcome\n-Focus of presentation\n-Audience\n-Three goals in redesign\n
  2. -Content became less structured over time; four domains\n-Relied on content inventory to keep track of changes and requests\n-Will talk about content inventory and how it benefited dept. for communication and project tool\n
  3. -Content became less structured over time; four domains\n-Relied on content inventory to keep track of changes and requests\n-Will talk about content inventory and how it benefited dept. for communication and project tool\n
  4. -Content became less structured over time; four domains\n-Relied on content inventory to keep track of changes and requests\n-Will talk about content inventory and how it benefited dept. for communication and project tool\n
  5. -Huge subject\n-Small web team, big website. No dedicated content specialist.\n-Questions to audience\n-Quickly define and give overview of how a content inventory is built\n
  6. -Huge subject\n-Small web team, big website. No dedicated content specialist.\n-Questions to audience\n-Quickly define and give overview of how a content inventory is built\n
  7. -Could make a list yourself but it will take a long, long time\n-Sitemap generators, web spiders are better. Integrity for Mac also works well.\n
  8. -Could make a list yourself but it will take a long, long time\n-Sitemap generators, web spiders are better. Integrity for Mac also works well.\n
  9. -Could make a list yourself but it will take a long, long time\n-Sitemap generators, web spiders are better. Integrity for Mac also works well.\n
  10. -Any spreadsheet application will work\n-Google Docs is good for those of us at the University b/c it&amp;#x2019;s available to all\n
  11. -Add identifiers first: link, content name\n
  12. -No right or wrong way to do this\n-Spreadsheet should be mostly empty at this point.\n-Your instinct will be to dive right in, fill it in (and get it over with), but don&amp;#x2019;t (yet).\n
  13. -Many different groups should be involved and have a stake in the final result\n-Explain group perspectives\n-The content inventory is your centerpiece in the discussion. It&amp;#x2019;s objective.\n
  14. -Many different groups should be involved and have a stake in the final result\n-Explain group perspectives\n-The content inventory is your centerpiece in the discussion. It&amp;#x2019;s objective.\n
  15. -You might have technical and non-technical staff working together on the inventory.\n-Use Analytics.\n
  16. -Be reasonable. Not all sections may need review.\n-At SUA, we didn&amp;#x2019;t use Google Docs right up front. Consolidated results of individual reviews.\n-Filling in the inventory is tedious. Occasionally you&amp;#x2019;ll find some evidence that work will pay off.\n
  17. -Be reasonable. Not all sections may need review.\n-At SUA, we didn&amp;#x2019;t use Google Docs right up front. Consolidated results of individual reviews.\n-Filling in the inventory is tedious. Occasionally you&amp;#x2019;ll find some evidence that work will pay off.\n
  18. -Be reasonable. Not all sections may need review.\n-At SUA, we didn&amp;#x2019;t use Google Docs right up front. Consolidated results of individual reviews.\n-Filling in the inventory is tedious. Occasionally you&amp;#x2019;ll find some evidence that work will pay off.\n
  19. -Be reasonable. Not all sections may need review.\n-At SUA, we didn&amp;#x2019;t use Google Docs right up front. Consolidated results of individual reviews.\n-Filling in the inventory is tedious. Occasionally you&amp;#x2019;ll find some evidence that work will pay off.\n
  20. -This was there for a long time, and I&amp;#x2019;m not sure why.\n
  21. -Preview of the final inventory\n-Used color coding for completed, pending tasks\n-Helpful features\n
  22. -Someone will have a new idea; sometimes it&amp;#x2019;s a good one\n-Might be okay to adjust, but make sure you are involving all of your original participants\n-Sometimes you have to reject requests that are out of scope; use CI as specification\n
  23. -Someone will have a new idea; sometimes it&amp;#x2019;s a good one\n-Might be okay to adjust, but make sure you are involving all of your original participants\n-Sometimes you have to reject requests that are out of scope; use CI as specification\n
  24. -Someone will have a new idea; sometimes it&amp;#x2019;s a good one\n-Might be okay to adjust, but make sure you are involving all of your original participants\n-Sometimes you have to reject requests that are out of scope; use CI as specification\n
  25. \n
  26. -Be thorough; plan ahead as much as possible\n-SUA DIDN&amp;#x2019;T use wireframes, but probably would have been helpful\n-Documentation: CI is the final result, but does not show the reasons for doing things a certain way.\n
  27. -Be thorough; plan ahead as much as possible\n-SUA DIDN&amp;#x2019;T use wireframes, but probably would have been helpful\n-Documentation: CI is the final result, but does not show the reasons for doing things a certain way.\n
  28. -Be thorough; plan ahead as much as possible\n-SUA DIDN&amp;#x2019;T use wireframes, but probably would have been helpful\n-Documentation: CI is the final result, but does not show the reasons for doing things a certain way.\n
  29. -Be thorough; plan ahead as much as possible\n-SUA DIDN&amp;#x2019;T use wireframes, but probably would have been helpful\n-Documentation: CI is the final result, but does not show the reasons for doing things a certain way.\n
  30. \n
  31. To get the status of a file, you might think to use &quot;cvs status&quot;, but that returns this cryptic text that is utterly useless.\n
  32. To get the status of a file, you might think to use &quot;cvs status&quot;, but that returns this cryptic text that is utterly useless.\n
  33. Instead, you use &quot;cvs -nq update&quot; to get the status of a file or of all your files. &amp;#xA0;These cryptic types of commands made CVS difficult to use.\n\nI have seen series of bash scripts that provide a sensible set of CVS commands. &amp;#xA0;However, why can&apos;t the commands just be intuitive from the start?\n
  34. We were mainly using CVS to manage the code between the development website and the live website. &amp;#xA0;A fairly simple set up. &amp;#xA0;There were a few repositories with checkouts for each developer, but this was a fairly new addition to our workflow.\n
  35. - Code was often overwritten or broken between commits and updates. &amp;#xA0;CVS didn&apos;t have the tools for effectively merging changes.\n\n- Commits were mammoth in that they contained far too many code changes. &amp;#xA0;In order to avoid constantly breaking everyone else&apos;s code, we didn&apos;t commit very often. &amp;#xA0;A commit might contain a whole day&apos;s worth of work. &amp;#xA0;This made managing changes and rollbacks a headache.\n\n- And, as mentioned earlier, the commands were nearly impossible to remember.\n
  36. - Code was often overwritten or broken between commits and updates. &amp;#xA0;CVS didn&apos;t have the tools for effectively merging changes.\n\n- Commits were mammoth in that they contained far too many code changes. &amp;#xA0;In order to avoid constantly breaking everyone else&apos;s code, we didn&apos;t commit very often. &amp;#xA0;A commit might contain a whole day&apos;s worth of work. &amp;#xA0;This made managing changes and rollbacks a headache.\n\n- And, as mentioned earlier, the commands were nearly impossible to remember.\n
  37. - Code was often overwritten or broken between commits and updates. &amp;#xA0;CVS didn&apos;t have the tools for effectively merging changes.\n\n- Commits were mammoth in that they contained far too many code changes. &amp;#xA0;In order to avoid constantly breaking everyone else&apos;s code, we didn&apos;t commit very often. &amp;#xA0;A commit might contain a whole day&apos;s worth of work. &amp;#xA0;This made managing changes and rollbacks a headache.\n\n- And, as mentioned earlier, the commands were nearly impossible to remember.\n
  38. We had heard a lot about distributed version-control systems, like Git and Mercurial, and we really liked the flexibility and robustness that this model provided. Essentially, each checkout is a repository in and of itself. A &amp;#x201C;Central Repository&amp;#x201D; is only a connivence. You can commit locally and then push your changes to another repository, which allows you to commit without worrying about breaking everyone else&amp;#x2019;s code. \n
  39. - Committing more often means that code changes are more granular. &amp;#xA0;You can look at a commit log and see exactly how the code progressed.\n\n- The distributed model provides a development team with more flexibility than the traditional model.\n\nEx:\nBobby can commit every minute code change, whilst Susy can submit commit only when she feels ready for deployment\n\nEx:\nMary can develop every piece of new functionality in cloned copies of her personal repositories, whilst Bill can develop everything in his own single repository\n
  40. - Committing more often means that code changes are more granular. &amp;#xA0;You can look at a commit log and see exactly how the code progressed.\n\n- The distributed model provides a development team with more flexibility than the traditional model.\n\nEx:\nBobby can commit every minute code change, whilst Susy can submit commit only when she feels ready for deployment\n\nEx:\nMary can develop every piece of new functionality in cloned copies of her personal repositories, whilst Bill can develop everything in his own single repository\n
  41. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  42. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  43. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  44. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  57. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  58. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  59. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  60. Once we had decided that a distributed model was more advantageous, we had to decide between the two major players: Mercurial and Git. &amp;#xA0;This required a lot of reading and research, especially considering that each community is rather vocal about why the other community is wrong.\n\nHowever, for us, Mercurial was more attractive than Git for a few reasons:\n\n- Mercurial&apos;s command set is much more akin to SVN. &amp;#xA0;Git&apos;s commands are easy to use, but Mercurial had a few extras that are particularly useful, such as &quot;hg addremove&quot;.\n\n- Git comprises 144 binaries, whilst Mercurial only one. &amp;#xA0;Some argue that Git&apos;s separate single-task binaries make it easier to build your &quot;own workflow&quot; or VC application on top of it. &amp;#xA0;That&apos;s great, but we just want to do VC plain and simple.\n\n- Git is&amp;#xA0;notorious&amp;#xA0;for having problems on Windows and other non-*nix systems. &amp;#xA0;Mercurial is written in Python, with a few C libraries, and is consequently more cross platform.\n\n- A lot of people do not like Mercurial&apos;s varied methods to perform branching. &amp;#xA0;This really depends on developer preference, but we liked the clone-to-branch practice of Mercurial. &amp;#xA0;It&apos;s simple an doesn&apos;t require any complex branch switching or revision history management that one might find in Git.\n\n- Last, Mercurial has a dedicated infrastructure for extensions.\n
  61. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  62. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  63. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  64. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  65. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  66. Mercurial is used by a lot of cool people: Python, Mozilla, etc. As an aside, Perl uses Git, so if you love Perl, you&amp;#x2019;ll love Git.\n
  67. \n
  68. Both Mercurial and Git either come bundled or have available numerous tools to migrate from SVN, CVS, etc. Mercurial can even convert from Git! Don&apos;t be afraid to switch because the migration tools work well!\n
  69. I will give a few examples, but also talk about how the team used it\nreference for developers\nweb page to demonstrate how styles look\nnot necessarily a framework\nnot a coding spec\n
  70. I will give a few examples, but also talk about how the team used it\nreference for developers\nweb page to demonstrate how styles look\nnot necessarily a framework\nnot a coding spec\n
  71. I will give a few examples, but also talk about how the team used it\nreference for developers\nweb page to demonstrate how styles look\nnot necessarily a framework\nnot a coding spec\n
  72. I will give a few examples, but also talk about how the team used it\nreference for developers\nweb page to demonstrate how styles look\nnot necessarily a framework\nnot a coding spec\n
  73. not a new idea\nwe had an existing style guide\n some styles out of date\n wanted to update common styles for the new design\n
  74. We wanted this.\nwanted to use cool, new stuff\n
  75. even hipsters need a refresher course...\nnew names\nnew styles\n
  76. converted CamelCase\n among other things, lowercase is consistent w/ XHTML coding spec\n
  77. converted CamelCase\n among other things, lowercase is consistent w/ XHTML coding spec\n
  78. converted CamelCase\n among other things, lowercase is consistent w/ XHTML coding spec\n
  79. converted CamelCase\n among other things, lowercase is consistent w/ XHTML coding spec\n
  80. initially I did\n
  81. initially I did\n
  82. initially I did\n
  83. initially I did\n
  84. initially I did\n
  85. designs approved\ntime to start building out pages\nshared initial version of style guide w/ other developers\n my work came under review\n this was a moment when I was forced to reevaluate\n
  86. ez-fl is fairly easy, so is ez-50. Anyone want to guess what ez-negmr does? Or what purpose a div w/ that class has?\n
  87. All the CSS frameworks I&amp;#x2019;ve worked with have poor semantics\nThey all have one thing in common. (Next)\n
  88. These sorts of classes put presentation back into our markup--which is precisely what we&amp;#x2019;ve been trying to get away from for a long time.\n
  89. solved problems that needed solving\nkept semantics in mind\nmost frameworks focus heavily on page layout &amp; columns -- just call them columns.\neven this is a compromise\nwe can change appearance w/o changing markup -- or use media queries\n
  90. The widths and margins &gt; 100%\n
  91. So we need to take the margin off the third column.\n
  92. Not hard to guess the purpose of an element w/ #main-content id.\nWhat if this were &amp;#x2018;span-6&amp;#x2019;?\n It would have no semantic value.\n
  93. One-column layout.\n
  94. common page elements\n one, two and three column layouts\neach page will only use 1 at most -- id&amp;#x2019;s instead of classes\ncontextual based on a content-based decision\n
  95. one portion of the style guide itself\n demonstration of styles\n explanatory paragraph\n code snippet\n
  96. one portion of the style guide itself\n demonstration of styles\n explanatory paragraph\n code snippet\n
  97. one portion of the style guide itself\n demonstration of styles\n explanatory paragraph\n code snippet\n
  98. one portion of the style guide itself\n demonstration of styles\n explanatory paragraph\n code snippet\n
  99. one portion of the style guide itself\n demonstration of styles\n explanatory paragraph\n code snippet\n
  100. site contained many two-column tables\nconverted to definition lists\n25 lines are reduced to...\n
  101. 15 lines.\nname-value pairs better semantically as a DL\n
  102. Looks like this\n
  103. list benefits\nchance to review markup for the entire site\nguiding document that led to consensus\ndiscussions - semantics, accessibility, naming conventions, evaluate how presentation problems are solved\nbuilds consensus\n
  104. list benefits\nchance to review markup for the entire site\nguiding document that led to consensus\ndiscussions - semantics, accessibility, naming conventions, evaluate how presentation problems are solved\nbuilds consensus\n
  105. list benefits\nchance to review markup for the entire site\nguiding document that led to consensus\ndiscussions - semantics, accessibility, naming conventions, evaluate how presentation problems are solved\nbuilds consensus\n
  106. list benefits\nchance to review markup for the entire site\nguiding document that led to consensus\ndiscussions - semantics, accessibility, naming conventions, evaluate how presentation problems are solved\nbuilds consensus\n
  107. list benefits\nchance to review markup for the entire site\nguiding document that led to consensus\ndiscussions - semantics, accessibility, naming conventions, evaluate how presentation problems are solved\nbuilds consensus\n
  108. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  109. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  110. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  111. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  112. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  113. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  114. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  115. Combined several domains &amp; restructured content based on consensus with Marketing; Better content strategy\nPage builds went fast; Good communication amongst developers\nEasy application and code library deployment at launch time\n
  116. \n
  117. \n