Importing & Migrating

Stephanie Leary
Stephanie LearyWeb designer, writer at WordPress consultant
Importing & Migrating
  Stephanie Leary   sillybean.net   @sleary
Who am I?
• sillybean.net

• uwc.tamu.edu

• pagedmedia.com

• @sleary

• slideshare.net/
  stephanieleary
I’ve imported from...
• Blogger         • Joomla

• Movable Type    • Drupal

• Textpattern     • Twitter

• LiveJournal     • Gallery2

• WordPress.com   • HTML files

• CSV files       • OPML files
HTML Import
Importing & Migrating
Importing & Migrating
Importing & Migrating
Gallery2 Importer
Importing & Migrating
Importing & Migrating
Importing & Migrating
Importing & Migrating
Secrets of
Happy Importing
Preparation
• Back up
• Prepare to undo
• Import on development server
 • Or turn on maintenance mode
• Turn off crossposting plugins
• Use absolute URLs for linked files
Plugins
• DB Backup
 http://wordpress.org/extend/plugins/wp-db-backup/

• Mass Page Remover
 http://wordpress.org/extend/plugins/mass-page-remover/

• WordPress Reset
 http://wordpress.org/extend/plugins/wordpress-reset/

• Maintenance Mode
 http://wordpress.org/extend/plugins/maintenance-mode/
WordPress export
• Posts, pages, comments, authors
• Uploads optional
• No settings
• No menus in 3.0 (fixed in 3.1)
• Category slug issues
• Skips users with no posts
Uncommon imports
• Twitter
  http://wordpress.org/extend/plugins/twitter-importer/

• CSV
  http://wordpress.org/extend/plugins/csv-importer/

• Gallery2
  http://wordpress.org/extend/plugins/gallery2-importer/

• HTML
  http://wordpress.org/extend/plugins/import-html-pages/
Uncommon imports
• Joomla 1.0-1.5
  http://tinyurl.com/joom2wp

• Drupal
 •   6.x to WP 2.7x: http://tinyurl.com/dru6wp2

 •   5.x to WP 2.3x: http://tinyurl.com/dru5wp2

• Other MySQL-based CMSs
  http://yoast.com/importing-from-another-mysql-into-wordpress/
Custom imports
• wp_insert_post() docs
  http://codex.wordpress.org/Function_Reference/
  wp_insert_post

• Build the new post array
• wp_insert_post( $newpost );
Character sets
• define('DB_CHARSET', 'utf8');
• Try to convert the old db
 • work with a copy!
 • Alter the table
   http://codesnippets.joyent.com/posts/show/306

 • Export Latin1, import UTF-8
   http://alexking.org/blog/2008/03/06/mysql-latin1-utf8-
   conversion
After importing
• Search & Replace
  http://wordpress.org/extend/plugins/search-and-replace/

• Redirection
  http://wordpress.org/extend/plugins/redirection/

• Add Linked Images to Gallery
  http://wordpress.org/extend/plugins/add-linked-images-
  to-gallery-v01/
Migrating Single
Installations into
    Networks
Second verse...
• Back up
• Prepare to undo
• Migrate on development server
XML or MySQL?
• XML pros         • MySQL pros

 • simple           • complete

 • limited          • complicated

 • slug bug         • merging users

 • skipped users    • manual edits
Moving databases
• export all tables except
  users, usermeta
• change table prefixes
• change wp_userroles option name
  to match new table prefix
Moving users
• Export users, usermeta
 • or specific rows
• Manually change IDs
• Stab yourself in the eye with a fork


• http://sillybean.net/?p=6187
After migrating
• Move static files
• Change upload file paths
  http://yoursite.com/wp-content/
  http://yoursite.com/files/

 • options
 • posts
 • theme files
Combining .htaccess
<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^us.tamu.edu$ [NC]

Redirect /forms.html http://us.tamu.edu/forms/ [R=301,NC]

RewriteCond %{HTTP_HOST} ^ppip.tamu.edu$ [NC]

Redirect /ppip/about/about.htm http://ppip.tamu.edu/
[R=301,NC]

</IfModule>
Importing & Migrating
Thank you.
     Stephanie Leary
     sillybean.net
     @sleary
1 of 30

Recommended

itPage LDC 09 Presentation by
itPage LDC 09 PresentationitPage LDC 09 Presentation
itPage LDC 09 PresentationEric Landmann
628 views52 slides
Introduction of vertical crawler by
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawlerJinglun Li
1.7K views31 slides
One Drupal to rule them all - Drupalcamp London by
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp Londonhernanibf
2.8K views34 slides
Documentation Insight技术架构与开发历程 by
Documentation Insight技术架构与开发历程Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程jeffz
1K views33 slides
Making Multisite Work for You by
Making Multisite Work for YouMaking Multisite Work for You
Making Multisite Work for Youdrywallbmb
260 views27 slides
Web browser extension development by
Web browser extension developmentWeb browser extension development
Web browser extension developmentalecsrusu
10.4K views24 slides

More Related Content

Viewers also liked

Hits: A look at web metrics by
Hits: A look at web metricsHits: A look at web metrics
Hits: A look at web metricsMitchell Hislop
586 views20 slides
Common WordPress mistakes (and more) by
Common WordPress mistakes (and more)Common WordPress mistakes (and more)
Common WordPress mistakes (and more)Jared Atchison
609 views22 slides
Customizing WordPress from the Inside Out by
Customizing WordPress from the Inside OutCustomizing WordPress from the Inside Out
Customizing WordPress from the Inside OutJosh Byers
825 views79 slides
How to: Reporting Issues by
How to: Reporting IssuesHow to: Reporting Issues
How to: Reporting IssuesJohn Havlik
986 views26 slides
Every Theme Sucks and Nobody Cares - #wcgr by
Every Theme Sucks and Nobody Cares - #wcgrEvery Theme Sucks and Nobody Cares - #wcgr
Every Theme Sucks and Nobody Cares - #wcgrRyan Imel
2.1K views89 slides
Beyond Hits: Web Metrics beyond the simple by
Beyond Hits: Web Metrics beyond the simpleBeyond Hits: Web Metrics beyond the simple
Beyond Hits: Web Metrics beyond the simpleMitchell Hislop
504 views13 slides

Viewers also liked(6)

Common WordPress mistakes (and more) by Jared Atchison
Common WordPress mistakes (and more)Common WordPress mistakes (and more)
Common WordPress mistakes (and more)
Jared Atchison609 views
Customizing WordPress from the Inside Out by Josh Byers
Customizing WordPress from the Inside OutCustomizing WordPress from the Inside Out
Customizing WordPress from the Inside Out
Josh Byers825 views
How to: Reporting Issues by John Havlik
How to: Reporting IssuesHow to: Reporting Issues
How to: Reporting Issues
John Havlik986 views
Every Theme Sucks and Nobody Cares - #wcgr by Ryan Imel
Every Theme Sucks and Nobody Cares - #wcgrEvery Theme Sucks and Nobody Cares - #wcgr
Every Theme Sucks and Nobody Cares - #wcgr
Ryan Imel2.1K views
Beyond Hits: Web Metrics beyond the simple by Mitchell Hislop
Beyond Hits: Web Metrics beyond the simpleBeyond Hits: Web Metrics beyond the simple
Beyond Hits: Web Metrics beyond the simple
Mitchell Hislop504 views

Similar to Importing & Migrating

Tricky Migrations by
Tricky MigrationsTricky Migrations
Tricky MigrationsStephanie Leary
1.9K views33 slides
Multisite wp in education wc philly2011 by
Multisite wp in education wc philly2011Multisite wp in education wc philly2011
Multisite wp in education wc philly2011Paul Muller
3K views19 slides
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011 by
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011camp_drupal_ua
1.1K views32 slides
The WordPress University by
The WordPress UniversityThe WordPress University
The WordPress UniversityStephanie Leary
22.1K views105 slides
WordPress Workshop by
WordPress WorkshopWordPress Workshop
WordPress WorkshopTerri Orlowski
1.2K views21 slides
WordPress can do that?! by
WordPress can do that?!WordPress can do that?!
WordPress can do that?!Scott McNulty
979 views77 slides

Similar to Importing & Migrating(20)

Multisite wp in education wc philly2011 by Paul Muller
Multisite wp in education wc philly2011Multisite wp in education wc philly2011
Multisite wp in education wc philly2011
Paul Muller3K views
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011 by camp_drupal_ua
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
camp_drupal_ua1.1K views
Meet The Family (Philippines Remix) by Beau Lebens
Meet The Family (Philippines Remix)Meet The Family (Philippines Remix)
Meet The Family (Philippines Remix)
Beau Lebens2.8K views
WordPress by risager
WordPressWordPress
WordPress
risager1.2K views
What's New in WordPress 3.0 (for developers) by Stephanie Leary
What's New in WordPress 3.0 (for developers)What's New in WordPress 3.0 (for developers)
What's New in WordPress 3.0 (for developers)
Stephanie Leary1K views
Word camp 2013 migration by Matt Siltala
Word camp 2013 migrationWord camp 2013 migration
Word camp 2013 migration
Matt Siltala1.5K views
WordPress Workflows by Phill Brown
WordPress WorkflowsWordPress Workflows
WordPress Workflows
Phill Brown585 views
Custom Post Types in Depth at WordCamp Montreal by Joey Kudish
Custom Post Types in Depth at WordCamp MontrealCustom Post Types in Depth at WordCamp Montreal
Custom Post Types in Depth at WordCamp Montreal
Joey Kudish3.7K views
Wordpress intro by the-colab
Wordpress introWordpress intro
Wordpress intro
the-colab792 views
Theme Development: From an idea to getting approved to wordpress.org by ThemeHorse
Theme Development: From an idea to getting approved to wordpress.orgTheme Development: From an idea to getting approved to wordpress.org
Theme Development: From an idea to getting approved to wordpress.org
ThemeHorse1.8K views
WP 101 - Local Development - Themes and Plugins by Joe Querin
WP 101 - Local Development - Themes and PluginsWP 101 - Local Development - Themes and Plugins
WP 101 - Local Development - Themes and Plugins
Joe Querin1.2K views

More from Stephanie Leary

WordPress for the 99% by
WordPress for the 99%WordPress for the 99%
WordPress for the 99%Stephanie Leary
650 views181 slides
Content First in Action by
Content First in ActionContent First in Action
Content First in ActionStephanie Leary
639 views75 slides
Writing for the Web in Government and Education by
Writing for the Web in Government and EducationWriting for the Web in Government and Education
Writing for the Web in Government and EducationStephanie Leary
513 views59 slides
Getting to WordPress by
Getting to WordPressGetting to WordPress
Getting to WordPressStephanie Leary
1.9K views45 slides
Content Strategy for WordPress: Case Study by
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case StudyStephanie Leary
45.7K views37 slides
Content Strategy for WordPress by
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPressStephanie Leary
6.1K views51 slides

More from Stephanie Leary(15)

Writing for the Web in Government and Education by Stephanie Leary
Writing for the Web in Government and EducationWriting for the Web in Government and Education
Writing for the Web in Government and Education
Stephanie Leary513 views
Content Strategy for WordPress: Case Study by Stephanie Leary
Content Strategy for WordPress: Case StudyContent Strategy for WordPress: Case Study
Content Strategy for WordPress: Case Study
Stephanie Leary45.7K views
Content Strategy for WordPress by Stephanie Leary
Content Strategy for WordPressContent Strategy for WordPress
Content Strategy for WordPress
Stephanie Leary6.1K views
WordPress Hidden Gems (July 2011) by Stephanie Leary
WordPress Hidden Gems (July 2011)WordPress Hidden Gems (July 2011)
WordPress Hidden Gems (July 2011)
Stephanie Leary1.2K views
WordPress Tips and Tricks (DFW Meetup) by Stephanie Leary
WordPress Tips and Tricks (DFW Meetup)WordPress Tips and Tricks (DFW Meetup)
WordPress Tips and Tricks (DFW Meetup)
Stephanie Leary6.1K views

Recently uploaded

Future of AR - Facebook Presentation by
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook PresentationRob McCarty
54 views27 slides
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
93 views13 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
154 views19 slides
Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
81 views46 slides
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
40 views52 slides
DRBD Deep Dive - Philipp Reisner - LINBIT by
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBITShapeBlue
110 views21 slides

Recently uploaded(20)

Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty54 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue93 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue154 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software373 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue58 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... by ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue74 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue69 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue86 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue68 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc130 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue128 views
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue63 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive

Importing & Migrating

  • 1. Importing & Migrating Stephanie Leary sillybean.net @sleary
  • 2. Who am I? • sillybean.net • uwc.tamu.edu • pagedmedia.com • @sleary • slideshare.net/ stephanieleary
  • 3. I’ve imported from... • Blogger • Joomla • Movable Type • Drupal • Textpattern • Twitter • LiveJournal • Gallery2 • WordPress.com • HTML files • CSV files • OPML files
  • 14. Preparation • Back up • Prepare to undo • Import on development server • Or turn on maintenance mode • Turn off crossposting plugins • Use absolute URLs for linked files
  • 15. Plugins • DB Backup http://wordpress.org/extend/plugins/wp-db-backup/ • Mass Page Remover http://wordpress.org/extend/plugins/mass-page-remover/ • WordPress Reset http://wordpress.org/extend/plugins/wordpress-reset/ • Maintenance Mode http://wordpress.org/extend/plugins/maintenance-mode/
  • 16. WordPress export • Posts, pages, comments, authors • Uploads optional • No settings • No menus in 3.0 (fixed in 3.1) • Category slug issues • Skips users with no posts
  • 17. Uncommon imports • Twitter http://wordpress.org/extend/plugins/twitter-importer/ • CSV http://wordpress.org/extend/plugins/csv-importer/ • Gallery2 http://wordpress.org/extend/plugins/gallery2-importer/ • HTML http://wordpress.org/extend/plugins/import-html-pages/
  • 18. Uncommon imports • Joomla 1.0-1.5 http://tinyurl.com/joom2wp • Drupal • 6.x to WP 2.7x: http://tinyurl.com/dru6wp2 • 5.x to WP 2.3x: http://tinyurl.com/dru5wp2 • Other MySQL-based CMSs http://yoast.com/importing-from-another-mysql-into-wordpress/
  • 19. Custom imports • wp_insert_post() docs http://codex.wordpress.org/Function_Reference/ wp_insert_post • Build the new post array • wp_insert_post( $newpost );
  • 20. Character sets • define('DB_CHARSET', 'utf8'); • Try to convert the old db • work with a copy! • Alter the table http://codesnippets.joyent.com/posts/show/306 • Export Latin1, import UTF-8 http://alexking.org/blog/2008/03/06/mysql-latin1-utf8- conversion
  • 21. After importing • Search & Replace http://wordpress.org/extend/plugins/search-and-replace/ • Redirection http://wordpress.org/extend/plugins/redirection/ • Add Linked Images to Gallery http://wordpress.org/extend/plugins/add-linked-images- to-gallery-v01/
  • 23. Second verse... • Back up • Prepare to undo • Migrate on development server
  • 24. XML or MySQL? • XML pros • MySQL pros • simple • complete • limited • complicated • slug bug • merging users • skipped users • manual edits
  • 25. Moving databases • export all tables except users, usermeta • change table prefixes • change wp_userroles option name to match new table prefix
  • 26. Moving users • Export users, usermeta • or specific rows • Manually change IDs • Stab yourself in the eye with a fork • http://sillybean.net/?p=6187
  • 27. After migrating • Move static files • Change upload file paths http://yoursite.com/wp-content/ http://yoursite.com/files/ • options • posts • theme files
  • 28. Combining .htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^us.tamu.edu$ [NC] Redirect /forms.html http://us.tamu.edu/forms/ [R=301,NC] RewriteCond %{HTTP_HOST} ^ppip.tamu.edu$ [NC] Redirect /ppip/about/about.htm http://ppip.tamu.edu/ [R=301,NC] </IfModule>
  • 30. Thank you. Stephanie Leary sillybean.net @sleary

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n