Successfully reported this slideshow.

The WordPress University

5

Share

Upcoming SlideShare
From WordPress With Love
From WordPress With Love
Loading in …3
×
1 of 105
1 of 105

The WordPress University

5

Share

Download to read offline

Transcript

  1. 1. Shelley Keith and Stephanie Leary The WordPress University
  2. 2. New book coming Fall 2014! Content Strategy for WordPress demonstrates how to build structured content for higher ed sites. Sign up to be notified when it’s out: http://sleary.me/list
  3. 3. Who we are Shelley (@sk140) Lone web geek on a campus of ~3500 students and 400 faculty/staff. HEWEB program committee since 2006. Chaired regional HEWEB 2010 & 2011 events. Launched WPMU in May 2009. Alone. Stephanie (@sleary) Lone web geek in an office of 6 (+45 student tutors) serving 50,000 students. HEWEB program committee, 2005-2009. Launched single WP sites in 2008; consolidated network August 2010. 17 plugins on Extend.
  4. 4. We made this
  5. 5. Why WordPress?
  6. 6. Why WordPress? Shelley, 2005 • Zero dedicated web staff • No budget • 16,000 html files • Rampant duplication • Headers and navigation files (template) • Images • 4700 broken links • No search • No site map • No analytics • No remote access • No process • No hope • MS FrontPage
  7. 7. Why WordPress? Stephanie, 2008 • Creaky Mambo site precariously upgraded to Joomla 1.15 • 1.5 wasn't out yet, beta broke our theme and all our plugins • Confusing divisions of content in admin screens • Comments required plugin, [mxc] code inserted into content
  8. 8. Why WordPress? Stephanie, 2008 • No RSS feeds. My predecessor had a desktop app to generate them by hand. • No podcasting. Uploaded MP3s to FTP server, inserted links, did RSS by hand. • Terrible search... also plugin-based. • No budget.
  9. 9. The Drupal Detour (a 17-month mistake) • 6 was out, but plugins hadn't been updated. • Emulating WP's simple editing UI -- rich text editor, media upload/insert -- required 3 plugins meant to work together. They didn't. • Post editing UI overwhelmed by taxonomies and podcasting module.
  10. 10. The Drupal Detour (a 17-month mistake) • Clean URL module flaky, self- contradictory; couldn't stabilize. • "View" creation required master's degree in HCI. • Couldn't create multiple blogs without tying them to users. • Recommended upgrade process documented at 18 hours.
  11. 11. Advantages • UI for posts and pages: EASY • Scheduling: EASY • Clean URLs • feeds for everything (feed table handout) • One-click upgrades • widgets and menus • Free in the repository: 16k plugins & 1,400 themes
  12. 12. Weaknesses • Lacks native reusable content & network- wide internal linking system • Requires caching plugin, not included, to optimize speed • Critical plugins can fail as WP advances • Disjointed and incomplete advanced documentation • Heavy use of pages can be problematic • Lacks robust native workflow
  13. 13. Multisite and Child Themes • Setup options • site.domain.edu • domain.edu/site • Theme Frameworks • Genesis • Thematic • Headway • Whiteboard
  14. 14. Compared to other CMSs • Fast development cycles • WP 3.0 to 3.1: 8 months • Drupal 6.0 to 7.0: 3 years • Joomla 1.5 to 1.6: 3 years • Cohesive, disciplined core developer group • UI focused on ease of use
  15. 15. Compared to other CMSs • Core features work very well • Comments • RSS and Atom feeds • Permalinks • Nonessential features relegated to plugins
  16. 16. Making the Case for WordPress
  17. 17. LAMP vs. IIS 7 • mod_rewrite • .htaccess • URL Rewrite 1.1 • PHP running as FastCGI
  18. 18. Open Source vs. Commercial Open Source Low or no initial budget outlay Premium support options available Variety of custom development options -------------------------------- Shelley launched in 2009 with $2k Commercial High startup costs Enterprise support contracts available Often contracted to the CMS company for customization ------------------------------- Texas 2yr launching OmniUpdate this year:
  19. 19. WordPress Tour
  20. 20. 5 Minute Installation! Unless your campus infrastructure sucks.
  21. 21. Basic Installation • Gather database information: name, username, password • Unzip files to server • View in browser • Fill in values • Pass Go, collect $200
  22. 22. Network Setup • Decide: subdirectories or subdomains? • Wildcard DNS is not required if you are not letting people sign up for new sites on their own. • Users already in the system can be added to the new site. • http://codex.wordpress.org/Create_A_N etwork
  23. 23. Domain Mapping • snoopy.wordpress.com -> snoopycorp.com • snoopy.webserver-1.school.edu -> snoopy.school.edu • WordPress MU Domain Mapping
  24. 24. Migrating Single Sites to Networks • Import from single WP install or other supported CMS • Import from RSS • HTML Import
  25. 25. Troubleshooting • define('WP_DEBUG', true); • Debug Bar plugin • View hooks • See Nacin on debugging WordPress
  26. 26. Themes
  27. 27. Basic Theme Setup • styles.css and index.php • More specific files for each archive type: • Single post, page, or custom post type • Category and tag archives; custom taxonomies • Date-based archives (day, month, year) • functions.php turns on feature support; works like mini-plugin • header.php, footer.php, sidebar.php -- basic includes • comments.php
  28. 28. How this comes together... • You click a category link on a post. • Based on your permalink structure, WordPress knows you are requesting a list of posts in that category. It queries the database. • It finds 53 posts. Your Reading setting says 20 per page. • WordPress assembles the first 20 posts' data, plus links to two more pages.
  29. 29. Which template? • Which theme file is used? • category-slug.php • category-id.php • category.php • archive.php • index.php • See Show Template plugin
  30. 30. More Advanced Themes Page templates Multiple sidebars Widget areas Using get_template_part() and specialized loop files Theme options Editor styles Tips: handling subcategories without tons of files conditional sidebars
  31. 31. Child Themes /* Theme Name: UWC 2011 Description: Child theme for the Writing Center Version: 1.0 Author: Stephanie Leary Author URI: http://uwc.tamu.edu Template: US2011 */ @import url(../US2011/style.css); /* Overrides: */
  32. 32. Other Child Theme Files • If template is present in child theme, use instead of parent file • BOTH functions.php files will be used
  33. 33. Theme Frameworks • A complete theme with many options • Page templates • Specific archives • Many widget areas • SEO features • custom fields for keywords • title filters • Genesis Google snippet preview • Can be overridden by child themes
  34. 34. Building a Theme 1.Craft your HTML structure 2.Drop in WordPress template tags • the_title() • the_content() • etc. 3.Move common elements into include templates • Header • Footer • Sidebars • Search form
  35. 35. Building a Theme 4.Create widget areas 5.Handle comments and comment forms 6.Don't forget 404.php!
  36. 36. Creating Your Own Widgets • WP_Widget class • constructor • specify widget title & make it go • widget • generate output • update • handle form input, save options • form • display form fields • See /wp-includes/default-widgets.php for examples
  37. 37. Theme Q&A
  38. 38. Break
  39. 39. Performance and Security
  40. 40. Backing Up • WP DB Backup (single sites, database only) • Backup Buddy (network, database and files, $$)
  41. 41. Upgrading • Do it! (But back up first.) • If the FTP Settings screen appears, add to wp- config.php: • //Force direct upgrade/install without making Apache the owner define( 'FS_METHOD', 'direct' ); define( 'FS_CHMOD_DIR', 0775 ); define( 'FS_CHMOD_FILE', 0664 ); • (Assuming you and Apache are in the same group) • Upgrading via SSH
  42. 42. Permalink Settings • For best performance, use the built-in options • Verbose rules to be fixed in 3.3 (Thanksgiving-ish) • /%category%/%postname%/
  43. 43. Caching • WP Super Cache • W3 Total Cache • Hyper Cache • Batcache
  44. 44. Security Precautions • Make sure WP files are group-writeable, not world • Set permalinks and caching, then make .htaccess not writeable • No admin user • Change database table prefix from wp_
  45. 45. Security Precautions • Move wp-config.php up one directory • Prevent bogus login attempts with Login Lockdown • Run WP Security Scan and Exploit Scanner • Monitor filesystem with File Monitor Plus
  46. 46. Security Plugins • Login Lockdown or Limit Login Attempts • Force SSL • WordPress Firewall • WP Security Scan • Exploit Scanner • File Monitor Plus • Audit Trail
  47. 47. Evaluating Themes and Plugins • Search code for: • base64() • eval() • include(../../w p-config.php) • Does it use updated libraries? • Are wp_head() and wp_footer() missing? • Does it insert links you can’t remove? • Does it pester you for commercial upgrades?
  48. 48. Writing Secure Themes and Plugins • Use the Settings API • Check user capabilities • Check nonces and referrers • Validate user input • Escape output • Mark Jaquith on WP security • Professional WordPress Plugin Development
  49. 49. More With WordPress
  50. 50. BuddyPress Social Network Layer
  51. 51. BuddyPress • Good Uses: • Campus wide social network • Company-wide internal communication tool • Niche social network for interest topic • Benefits • Own the content • Long-term relationship maintenance • Timely integration and removal of popular
  52. 52. BuddyPress Plugins • Welcome Pack • Achievements • BuddyPress Share It • Group Suggest Widget • Simple Google Map Plugin
  53. 53. CollabPress Task Management for WordPress
  54. 54. CollabPress
  55. 55. eCommerce Plugins $$
  56. 56. ScholarPress A Learning Management System for BuddyPress
  57. 57. Content Audit "Now we’re talking real CMS capability!"
  58. 58. Custom Fields, Taxonomies, and Post Types
  59. 59. Custom Fields • Adding more information to posts. • Default input vs. custom meta boxes • Examples: content audit notes, professor contact info
  60. 60. Taxonomies • Extra sets of categories and tags • People • Movie DB • Taxonomy Tools • Scribu's Query Multiple Taxonomies widget • Otto on complex taxonomy queries
  61. 61. Custom Post Types & Taxonomies • Default post types: • Posts, Pages • Attachments • Revisions • Menu Items • Potential uses • Course descriptions • Media database • Seminar series • Employee Directory • Default Taxonomies • Categories • Post Tags • Menus • Link Categories • Potential Uses • Video • People
  62. 62. Post Types • Things that are not posts OR pages: • products • books • courses • Anything that needs to be cataloged and displayed separately. • Course Post Type: sample plugin code • Custom fields: professor name, email, phone; course code • Taxonomies: college, department • Create your own: register_post_type()
  63. 63. Custom Post Type Resources • Custom Post Types in WordPress • Custom Post Types in WordPress 3.0 • Custom Post Types and Custom Taxonomies • Introducing WordPress 3 Custom Taxonomies • Custom Post Types and Taxonomies in WordPress
  64. 64. The WordPress Community
  65. 65. Development Philosophy • 2.9, 3.0, 3.1, 3.2, 3.3 are all major releases. • 3.2.1 is a bugfix and security update. • Old releases do not get security updates. • Core developers set feature agenda for major releases based on Trac tickets, known problems, and user surveys.
  66. 66. Development Philosophy • Development schedule kept on wpdevel.wordpress.com. • Meetings once a week in #wordpress- dev. • If it can be covered by a plugin, let it. Core is for features most people need, or frameworks developers can build on. • If you want it fixed sooner, patch it yourself.
  67. 67. Documentation • Codex • Forum • WP StackExchange • Trac • Developers’ blogs
  68. 68. Support • Contract available from Automattic (core creators) • Third party vendors such as MUSupport.net. • Active user forums on www.wordpress.org, wpbeginner provides some paid support options • Individual plugin & theme developers • Groups on LinkedIn, huge Twitter population
  69. 69. Discussion IRC channels • #wordpress • #wordpress-dev • #buddypress • #bbpress Listserves • WP-Hackers • WP-Edu wp-edu.org Development blogs • wpdevel • make/ui • make/themes • make/accessibility • wppolyglots
  70. 70. News Events WordCamps • San Francisco • New York • local: central.wordcamp.org • WP Candy • Planet WordPress • wpMail.me • wpBeginner • wpTuts
  71. 71. Q&A
  72. 72. Demos? • Network administration? • Plugins • BP • Collab • Scholar • Edit Flow and/or Editorial Calendar • Content Audit • HTML Import, if there's interest

Editor's Notes

  • Add photo, short bio.
  • \n
  • \n
  • 17 months later, no usable interface. We switched to WordPress in two weeks.\n
  • Widgets & menus: drag-n-drop happiness.\n
  • Obsolete plugins example: RB Internal Links. No longer necessary, was once hyper critical. Also, Genesis has made Page Links To unnecessary.\n
  • Subdirectory vs. subdomain\n\nGenesis children\n\nGenesis screenshots will go on later slides.\n\n[SCL - can show off new framework. Also will talk about funky subdomain setup.]\n
  • Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  • Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  • \n
  • Ask if anyone's planning to run on IIS... the info on permissions is pretty LAMP-centric.\n
  • Low/no initial budget outlay\n\nFocus spending on customization and meeting campus needs\n\nAvailable commercial/premium support\n\nPut Shelley's budget slide here against ~$52k to launch OmniUpdate at a 2 year school.\n \n[Stephanie's budget: a lot less than that. I think all we bought was a Gravity Forms dev license. Did use our slave -- er, student worker pretty hard for about a month during and after the launch.] \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • I think we should point to some instructions/blogs about installation. Leave the slide, point them to a resource, move on.\n
  • Decide subdomain vs subdirectory. \n\nMake sure your server meets the requirements. \n\nChange the wp-config setting.\n\nAccess the network admin menu.\n
  • [screenshots: step 1 (wp-config stuff), step 2, Network Admin screens, single site options screen w/ plugin & theme permissions]\n
  • Stephanie - Domain plugins\n
  • \n
  • Common problems: Missing .htaccess file; bad permissions on wp-includes or wp-content; wp-includes didn’t completely upload; plugin conflicts or bad plugin/theme code.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Don't use Thesis\n\nSK- talk about what a framework means on a network site, show child theme options, framework settings, etc. Talk about framework specific plugins.\n
  • \n
  • \n
  • \n
  • \n
  • I am OK with ditching this slide if you think it's beside the point or too technical or whatever\n
  • \n
  • \n
  • \n
  • \n
  • Old versions do not get security fixes. You must stay up to date with WP and all the plugins and themes you have installed.\n\nAuto-upgrading is by far the easiest thing to do. If you need to FTP the files for some reason, be sure to skip wp-content and .htaccess.\n \nNinjas can stay updated via Subversion. The wp-config.php file can be moved up one directory level so you don't overwrite it. \n
  • \n
  • High-traffic WordPress sites NEED caching, but it's not built in! Why? The developers want you to find the solution that works best for your site and server.\n
  • \n
  • \n
  • checklist handout\n
  • checklist handout\n
  • \n
  • Themes on Extend go through an extensive vetting process.\n\nPLUGINS DO NOT. Any moron can upload a plugin to the repository. However, they are monitored for evil code. Still, getting things from wordpress.org helps you avoid the nasty stuff.\n
  • \n
  • \n
  • Core features\nFlexibility\nExtensions/plugins\nUse examples\n\nRoadmap\n
  • \n
  • \n
  • \n
  • \n
  • Built by the same guys who developed Custom Post Type UI.\n\nAdds basic project management to WP. Great tool for internal project team. Lacks functions for managing communication with stakeholders outside immediate department.\n\nGood example of the type of thing possible with Custom Post Types.\n
  • CollabPress screenshots\n
  • \n
  • \n
  • \n
  • \n
  • Ecwid\nwpCommerce\nwpShop\nWooCommerce\n
  • Google Summer of Code project and one of Jane's babies, ScholarPress is the WP answer to bloated courseware like Blackboard. It provides classes, assignments, gradebook, student/teacher roles and more. Today it isn’t ready to handle the courseware needs of a complete institution, but I’m seriously considering it for faculty/staff CMS training and on-campus professional development.\n\nproject goals\n - accessibility\n - usability\nroadmap\nknown issues?\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • SK - my campus directory is one real-world example that comes to mind.\n\nhttp://wpshout.com/10-awesome-things-to-do-with-wordpress-custom-fields/\n\nAlso, your course system.\n
  • \n
  • \n
  • Taxonomies can be hierarchical -- like categories, where you can nest them -- or non-hierarchical -- like tags, where you just type new ones into a text field\n
  • \n
  • \n
  • \n
  • Post types can also be hierarchical (like pages) or non (like posts).\n\nYou can specify which fields your type supports -- title, page attributes, excerpt, revisions, author, the big editor. You can turn those off, then use custom fields to add new ones. You'll have to customize your loop to display the additional stuff.\n
  • \n
  • \n
  • \n
  • \n
  • This is reality, even if the wiki says otherwise.\n
  • This is reality, even if the wiki says otherwise.\n
  • \n
  • VIP Support - Automattic: http://goo.gl/DLlXR\n\nSK: Huge fan of premium plugins and themes because the support offered tends to be top notch. Communities build up around these. Good examples are Genesis and GravityForms.\n
  • \n
  • \n
  • \n
  • I can open up my site and walk through it. You'll have to show the plugins you wrote :P\n
  • Transcript

    1. 1. Shelley Keith and Stephanie Leary The WordPress University
    2. 2. New book coming Fall 2014! Content Strategy for WordPress demonstrates how to build structured content for higher ed sites. Sign up to be notified when it’s out: http://sleary.me/list
    3. 3. Who we are Shelley (@sk140) Lone web geek on a campus of ~3500 students and 400 faculty/staff. HEWEB program committee since 2006. Chaired regional HEWEB 2010 & 2011 events. Launched WPMU in May 2009. Alone. Stephanie (@sleary) Lone web geek in an office of 6 (+45 student tutors) serving 50,000 students. HEWEB program committee, 2005-2009. Launched single WP sites in 2008; consolidated network August 2010. 17 plugins on Extend.
    4. 4. We made this
    5. 5. Why WordPress?
    6. 6. Why WordPress? Shelley, 2005 • Zero dedicated web staff • No budget • 16,000 html files • Rampant duplication • Headers and navigation files (template) • Images • 4700 broken links • No search • No site map • No analytics • No remote access • No process • No hope • MS FrontPage
    7. 7. Why WordPress? Stephanie, 2008 • Creaky Mambo site precariously upgraded to Joomla 1.15 • 1.5 wasn't out yet, beta broke our theme and all our plugins • Confusing divisions of content in admin screens • Comments required plugin, [mxc] code inserted into content
    8. 8. Why WordPress? Stephanie, 2008 • No RSS feeds. My predecessor had a desktop app to generate them by hand. • No podcasting. Uploaded MP3s to FTP server, inserted links, did RSS by hand. • Terrible search... also plugin-based. • No budget.
    9. 9. The Drupal Detour (a 17-month mistake) • 6 was out, but plugins hadn't been updated. • Emulating WP's simple editing UI -- rich text editor, media upload/insert -- required 3 plugins meant to work together. They didn't. • Post editing UI overwhelmed by taxonomies and podcasting module.
    10. 10. The Drupal Detour (a 17-month mistake) • Clean URL module flaky, self- contradictory; couldn't stabilize. • "View" creation required master's degree in HCI. • Couldn't create multiple blogs without tying them to users. • Recommended upgrade process documented at 18 hours.
    11. 11. Advantages • UI for posts and pages: EASY • Scheduling: EASY • Clean URLs • feeds for everything (feed table handout) • One-click upgrades • widgets and menus • Free in the repository: 16k plugins & 1,400 themes
    12. 12. Weaknesses • Lacks native reusable content & network- wide internal linking system • Requires caching plugin, not included, to optimize speed • Critical plugins can fail as WP advances • Disjointed and incomplete advanced documentation • Heavy use of pages can be problematic • Lacks robust native workflow
    13. 13. Multisite and Child Themes • Setup options • site.domain.edu • domain.edu/site • Theme Frameworks • Genesis • Thematic • Headway • Whiteboard
    14. 14. Compared to other CMSs • Fast development cycles • WP 3.0 to 3.1: 8 months • Drupal 6.0 to 7.0: 3 years • Joomla 1.5 to 1.6: 3 years • Cohesive, disciplined core developer group • UI focused on ease of use
    15. 15. Compared to other CMSs • Core features work very well • Comments • RSS and Atom feeds • Permalinks • Nonessential features relegated to plugins
    16. 16. Making the Case for WordPress
    17. 17. LAMP vs. IIS 7 • mod_rewrite • .htaccess • URL Rewrite 1.1 • PHP running as FastCGI
    18. 18. Open Source vs. Commercial Open Source Low or no initial budget outlay Premium support options available Variety of custom development options -------------------------------- Shelley launched in 2009 with $2k Commercial High startup costs Enterprise support contracts available Often contracted to the CMS company for customization ------------------------------- Texas 2yr launching OmniUpdate this year:
    19. 19. WordPress Tour
    20. 20. 5 Minute Installation! Unless your campus infrastructure sucks.
    21. 21. Basic Installation • Gather database information: name, username, password • Unzip files to server • View in browser • Fill in values • Pass Go, collect $200
    22. 22. Network Setup • Decide: subdirectories or subdomains? • Wildcard DNS is not required if you are not letting people sign up for new sites on their own. • Users already in the system can be added to the new site. • http://codex.wordpress.org/Create_A_N etwork
    23. 23. Domain Mapping • snoopy.wordpress.com -> snoopycorp.com • snoopy.webserver-1.school.edu -> snoopy.school.edu • WordPress MU Domain Mapping
    24. 24. Migrating Single Sites to Networks • Import from single WP install or other supported CMS • Import from RSS • HTML Import
    25. 25. Troubleshooting • define('WP_DEBUG', true); • Debug Bar plugin • View hooks • See Nacin on debugging WordPress
    26. 26. Themes
    27. 27. Basic Theme Setup • styles.css and index.php • More specific files for each archive type: • Single post, page, or custom post type • Category and tag archives; custom taxonomies • Date-based archives (day, month, year) • functions.php turns on feature support; works like mini-plugin • header.php, footer.php, sidebar.php -- basic includes • comments.php
    28. 28. How this comes together... • You click a category link on a post. • Based on your permalink structure, WordPress knows you are requesting a list of posts in that category. It queries the database. • It finds 53 posts. Your Reading setting says 20 per page. • WordPress assembles the first 20 posts' data, plus links to two more pages.
    29. 29. Which template? • Which theme file is used? • category-slug.php • category-id.php • category.php • archive.php • index.php • See Show Template plugin
    30. 30. More Advanced Themes Page templates Multiple sidebars Widget areas Using get_template_part() and specialized loop files Theme options Editor styles Tips: handling subcategories without tons of files conditional sidebars
    31. 31. Child Themes /* Theme Name: UWC 2011 Description: Child theme for the Writing Center Version: 1.0 Author: Stephanie Leary Author URI: http://uwc.tamu.edu Template: US2011 */ @import url(../US2011/style.css); /* Overrides: */
    32. 32. Other Child Theme Files • If template is present in child theme, use instead of parent file • BOTH functions.php files will be used
    33. 33. Theme Frameworks • A complete theme with many options • Page templates • Specific archives • Many widget areas • SEO features • custom fields for keywords • title filters • Genesis Google snippet preview • Can be overridden by child themes
    34. 34. Building a Theme 1.Craft your HTML structure 2.Drop in WordPress template tags • the_title() • the_content() • etc. 3.Move common elements into include templates • Header • Footer • Sidebars • Search form
    35. 35. Building a Theme 4.Create widget areas 5.Handle comments and comment forms 6.Don't forget 404.php!
    36. 36. Creating Your Own Widgets • WP_Widget class • constructor • specify widget title & make it go • widget • generate output • update • handle form input, save options • form • display form fields • See /wp-includes/default-widgets.php for examples
    37. 37. Theme Q&A
    38. 38. Break
    39. 39. Performance and Security
    40. 40. Backing Up • WP DB Backup (single sites, database only) • Backup Buddy (network, database and files, $$)
    41. 41. Upgrading • Do it! (But back up first.) • If the FTP Settings screen appears, add to wp- config.php: • //Force direct upgrade/install without making Apache the owner define( 'FS_METHOD', 'direct' ); define( 'FS_CHMOD_DIR', 0775 ); define( 'FS_CHMOD_FILE', 0664 ); • (Assuming you and Apache are in the same group) • Upgrading via SSH
    42. 42. Permalink Settings • For best performance, use the built-in options • Verbose rules to be fixed in 3.3 (Thanksgiving-ish) • /%category%/%postname%/
    43. 43. Caching • WP Super Cache • W3 Total Cache • Hyper Cache • Batcache
    44. 44. Security Precautions • Make sure WP files are group-writeable, not world • Set permalinks and caching, then make .htaccess not writeable • No admin user • Change database table prefix from wp_
    45. 45. Security Precautions • Move wp-config.php up one directory • Prevent bogus login attempts with Login Lockdown • Run WP Security Scan and Exploit Scanner • Monitor filesystem with File Monitor Plus
    46. 46. Security Plugins • Login Lockdown or Limit Login Attempts • Force SSL • WordPress Firewall • WP Security Scan • Exploit Scanner • File Monitor Plus • Audit Trail
    47. 47. Evaluating Themes and Plugins • Search code for: • base64() • eval() • include(../../w p-config.php) • Does it use updated libraries? • Are wp_head() and wp_footer() missing? • Does it insert links you can’t remove? • Does it pester you for commercial upgrades?
    48. 48. Writing Secure Themes and Plugins • Use the Settings API • Check user capabilities • Check nonces and referrers • Validate user input • Escape output • Mark Jaquith on WP security • Professional WordPress Plugin Development
    49. 49. More With WordPress
    50. 50. BuddyPress Social Network Layer
    51. 51. BuddyPress • Good Uses: • Campus wide social network • Company-wide internal communication tool • Niche social network for interest topic • Benefits • Own the content • Long-term relationship maintenance • Timely integration and removal of popular
    52. 52. BuddyPress Plugins • Welcome Pack • Achievements • BuddyPress Share It • Group Suggest Widget • Simple Google Map Plugin
    53. 53. CollabPress Task Management for WordPress
    54. 54. CollabPress
    55. 55. eCommerce Plugins $$
    56. 56. ScholarPress A Learning Management System for BuddyPress
    57. 57. Content Audit "Now we’re talking real CMS capability!"
    58. 58. Custom Fields, Taxonomies, and Post Types
    59. 59. Custom Fields • Adding more information to posts. • Default input vs. custom meta boxes • Examples: content audit notes, professor contact info
    60. 60. Taxonomies • Extra sets of categories and tags • People • Movie DB • Taxonomy Tools • Scribu's Query Multiple Taxonomies widget • Otto on complex taxonomy queries
    61. 61. Custom Post Types & Taxonomies • Default post types: • Posts, Pages • Attachments • Revisions • Menu Items • Potential uses • Course descriptions • Media database • Seminar series • Employee Directory • Default Taxonomies • Categories • Post Tags • Menus • Link Categories • Potential Uses • Video • People
    62. 62. Post Types • Things that are not posts OR pages: • products • books • courses • Anything that needs to be cataloged and displayed separately. • Course Post Type: sample plugin code • Custom fields: professor name, email, phone; course code • Taxonomies: college, department • Create your own: register_post_type()
    63. 63. Custom Post Type Resources • Custom Post Types in WordPress • Custom Post Types in WordPress 3.0 • Custom Post Types and Custom Taxonomies • Introducing WordPress 3 Custom Taxonomies • Custom Post Types and Taxonomies in WordPress
    64. 64. The WordPress Community
    65. 65. Development Philosophy • 2.9, 3.0, 3.1, 3.2, 3.3 are all major releases. • 3.2.1 is a bugfix and security update. • Old releases do not get security updates. • Core developers set feature agenda for major releases based on Trac tickets, known problems, and user surveys.
    66. 66. Development Philosophy • Development schedule kept on wpdevel.wordpress.com. • Meetings once a week in #wordpress- dev. • If it can be covered by a plugin, let it. Core is for features most people need, or frameworks developers can build on. • If you want it fixed sooner, patch it yourself.
    67. 67. Documentation • Codex • Forum • WP StackExchange • Trac • Developers’ blogs
    68. 68. Support • Contract available from Automattic (core creators) • Third party vendors such as MUSupport.net. • Active user forums on www.wordpress.org, wpbeginner provides some paid support options • Individual plugin & theme developers • Groups on LinkedIn, huge Twitter population
    69. 69. Discussion IRC channels • #wordpress • #wordpress-dev • #buddypress • #bbpress Listserves • WP-Hackers • WP-Edu wp-edu.org Development blogs • wpdevel • make/ui • make/themes • make/accessibility • wppolyglots
    70. 70. News Events WordCamps • San Francisco • New York • local: central.wordcamp.org • WP Candy • Planet WordPress • wpMail.me • wpBeginner • wpTuts
    71. 71. Q&A
    72. 72. Demos? • Network administration? • Plugins • BP • Collab • Scholar • Edit Flow and/or Editorial Calendar • Content Audit • HTML Import, if there's interest

    Editor's Notes

  • Add photo, short bio.
  • \n
  • \n
  • 17 months later, no usable interface. We switched to WordPress in two weeks.\n
  • Widgets & menus: drag-n-drop happiness.\n
  • Obsolete plugins example: RB Internal Links. No longer necessary, was once hyper critical. Also, Genesis has made Page Links To unnecessary.\n
  • Subdirectory vs. subdomain\n\nGenesis children\n\nGenesis screenshots will go on later slides.\n\n[SCL - can show off new framework. Also will talk about funky subdomain setup.]\n
  • Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  • Shootout highlights\n \nWordPress releases take 5 to 8 months. \nFast development cycles do mean frequent updates. However, functions are always deprecated instead of being removed altogether, so plugins and themes don't break with every major release unless the developer did something stupid. Some simple plugins that use the APIs correctly have not needed an update since version 1.5 -- seven years ago.\n
  • \n
  • Ask if anyone's planning to run on IIS... the info on permissions is pretty LAMP-centric.\n
  • Low/no initial budget outlay\n\nFocus spending on customization and meeting campus needs\n\nAvailable commercial/premium support\n\nPut Shelley's budget slide here against ~$52k to launch OmniUpdate at a 2 year school.\n \n[Stephanie's budget: a lot less than that. I think all we bought was a Gravity Forms dev license. Did use our slave -- er, student worker pretty hard for about a month during and after the launch.] \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • I think we should point to some instructions/blogs about installation. Leave the slide, point them to a resource, move on.\n
  • Decide subdomain vs subdirectory. \n\nMake sure your server meets the requirements. \n\nChange the wp-config setting.\n\nAccess the network admin menu.\n
  • [screenshots: step 1 (wp-config stuff), step 2, Network Admin screens, single site options screen w/ plugin & theme permissions]\n
  • Stephanie - Domain plugins\n
  • \n
  • Common problems: Missing .htaccess file; bad permissions on wp-includes or wp-content; wp-includes didn’t completely upload; plugin conflicts or bad plugin/theme code.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Don't use Thesis\n\nSK- talk about what a framework means on a network site, show child theme options, framework settings, etc. Talk about framework specific plugins.\n
  • \n
  • \n
  • \n
  • \n
  • I am OK with ditching this slide if you think it's beside the point or too technical or whatever\n
  • \n
  • \n
  • \n
  • \n
  • Old versions do not get security fixes. You must stay up to date with WP and all the plugins and themes you have installed.\n\nAuto-upgrading is by far the easiest thing to do. If you need to FTP the files for some reason, be sure to skip wp-content and .htaccess.\n \nNinjas can stay updated via Subversion. The wp-config.php file can be moved up one directory level so you don't overwrite it. \n
  • \n
  • High-traffic WordPress sites NEED caching, but it's not built in! Why? The developers want you to find the solution that works best for your site and server.\n
  • \n
  • \n
  • checklist handout\n
  • checklist handout\n
  • \n
  • Themes on Extend go through an extensive vetting process.\n\nPLUGINS DO NOT. Any moron can upload a plugin to the repository. However, they are monitored for evil code. Still, getting things from wordpress.org helps you avoid the nasty stuff.\n
  • \n
  • \n
  • Core features\nFlexibility\nExtensions/plugins\nUse examples\n\nRoadmap\n
  • \n
  • \n
  • \n
  • \n
  • Built by the same guys who developed Custom Post Type UI.\n\nAdds basic project management to WP. Great tool for internal project team. Lacks functions for managing communication with stakeholders outside immediate department.\n\nGood example of the type of thing possible with Custom Post Types.\n
  • CollabPress screenshots\n
  • \n
  • \n
  • \n
  • \n
  • Ecwid\nwpCommerce\nwpShop\nWooCommerce\n
  • Google Summer of Code project and one of Jane's babies, ScholarPress is the WP answer to bloated courseware like Blackboard. It provides classes, assignments, gradebook, student/teacher roles and more. Today it isn’t ready to handle the courseware needs of a complete institution, but I’m seriously considering it for faculty/staff CMS training and on-campus professional development.\n\nproject goals\n - accessibility\n - usability\nroadmap\nknown issues?\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • SK - my campus directory is one real-world example that comes to mind.\n\nhttp://wpshout.com/10-awesome-things-to-do-with-wordpress-custom-fields/\n\nAlso, your course system.\n
  • \n
  • \n
  • Taxonomies can be hierarchical -- like categories, where you can nest them -- or non-hierarchical -- like tags, where you just type new ones into a text field\n
  • \n
  • \n
  • \n
  • Post types can also be hierarchical (like pages) or non (like posts).\n\nYou can specify which fields your type supports -- title, page attributes, excerpt, revisions, author, the big editor. You can turn those off, then use custom fields to add new ones. You'll have to customize your loop to display the additional stuff.\n
  • \n
  • \n
  • \n
  • \n
  • This is reality, even if the wiki says otherwise.\n
  • This is reality, even if the wiki says otherwise.\n
  • \n
  • VIP Support - Automattic: http://goo.gl/DLlXR\n\nSK: Huge fan of premium plugins and themes because the support offered tends to be top notch. Communities build up around these. Good examples are Genesis and GravityForms.\n
  • \n
  • \n
  • \n
  • I can open up my site and walk through it. You'll have to show the plugins you wrote :P\n
  • More Related Content

    Related Books

    Free with a 30 day trial from Scribd

    See all

    ×