This document discusses using WordPress as an enterprise content management system (CMS). It begins with defining what a CMS is. Then it discusses WordPress' history and flexibility as both a blogging platform and CMS. The document outlines how one organization chose WordPress over other systems for their needs, including cost, existing knowledge, and dynamic functionality. It provides details on how they structured WordPress for their large site, including custom post types, fields, templates, and user roles. Security, backups, and maintenance are also covered.
WordPress as a CMS. Presentation by Matthew Vaccaro and Justin Sisley using the UCF College of Medicine as an example for how to use WordPress as a CMS.
HTML5 and CSS3 Techniques You Can Use TodayTodd Anglin
1. Defines a single language called HTML5 which can be written in HTML syntax and in XML syntax. It defines detailed processing models to foster interoperable implementations and improves markup for documents and APIs for emerging web applications.
2. Todd Anglin discusses HTML5, CSS3, and techniques for using them today including progressive enhancement, feature detection, and libraries that help support older browsers.
3. He recommends trying a new HTML5/CSS3 technique like data attributes, border radius, box shadow, or animations using CSS transitions.
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeAcquia
Too many responsive websites fall into the "move the sidebars around" trap and end up looking the same as any other responsive site. By combining the CSS of Zen Grids and the smart markup of the Zen 5 theme, you can create a stellar, unique responsive design for your website with ease.
Zen has always been a popular starting point for building Drupal themes, but the new Zen 5 has been re-written from the ground-up with updated best practices including HTML5, Modernizr integration, Normalize, IE conditional classes, responsive layouts, and, best of all, Sass and Compass integration.
Zen Grids is an all new project, independent from the Zen theme. The Zen Grids system reinvents the flexible, but complicated CSS layout method in old versions of the Zen theme, transforming it into a radically simplified process using the power of Sass. Where traditional grid systems (like 960.gs) often don't scale to match a responsive design's requirements, Zen Grids makes it incredibly easy to create amazing responsive layouts in just a couple lines of code.
Video at http://www.youtube.com/watch?v=HaJnhYPLvx0
Large Drupal projects will generally have a themer or five working alongside the developers, site builders and designers. Themers are the magicians who transform what Drupal wants to do into what the designer wants it to do.
Smaller projects also usually need someone on the team who can make sense of Drupal's output, knows more CSS and JS than anyone else and can configure Views with their eyes closed.
The thing is — and whisper this, if possible redundancy concerns you — we can bypass the themer entirely.
With some simple configuration, a site builder can get Drupal to output exactly the semantic, lightweight markup that any modern front-end designer would be proud of. The designer can be left alone to write the most appropriate HTML, CSS and JS, while the site builder need only choose a couple of options when putting together content types, views and panels to make Drupal behave.
A friendly developer may have to lend a hand every now and then, but that’s it. You can get rid of the themer altogether.
http://2013.drupalcamplondon.co.uk/session/death-themer
Enhancing Spring MVC Web Applications Progressively with Spring JavaScriptJeremy Grelle
This document discusses using Spring JavaScript to integrate Ajax toolkits like Dojo into Spring web applications. It provides an overview of Ajax and different Ajax approaches. Spring JavaScript makes it simple to enhance DOM nodes with new behaviors and styles. It supports rendering page fragments and built-in response types. Advanced techniques include custom response handling, modular JavaScript code, and consuming RESTful services that return JSON.
WordPress as a CMS. Presentation by Matthew Vaccaro and Justin Sisley using the UCF College of Medicine as an example for how to use WordPress as a CMS.
HTML5 and CSS3 Techniques You Can Use TodayTodd Anglin
1. Defines a single language called HTML5 which can be written in HTML syntax and in XML syntax. It defines detailed processing models to foster interoperable implementations and improves markup for documents and APIs for emerging web applications.
2. Todd Anglin discusses HTML5, CSS3, and techniques for using them today including progressive enhancement, feature detection, and libraries that help support older browsers.
3. He recommends trying a new HTML5/CSS3 technique like data attributes, border radius, box shadow, or animations using CSS transitions.
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 ThemeAcquia
Too many responsive websites fall into the "move the sidebars around" trap and end up looking the same as any other responsive site. By combining the CSS of Zen Grids and the smart markup of the Zen 5 theme, you can create a stellar, unique responsive design for your website with ease.
Zen has always been a popular starting point for building Drupal themes, but the new Zen 5 has been re-written from the ground-up with updated best practices including HTML5, Modernizr integration, Normalize, IE conditional classes, responsive layouts, and, best of all, Sass and Compass integration.
Zen Grids is an all new project, independent from the Zen theme. The Zen Grids system reinvents the flexible, but complicated CSS layout method in old versions of the Zen theme, transforming it into a radically simplified process using the power of Sass. Where traditional grid systems (like 960.gs) often don't scale to match a responsive design's requirements, Zen Grids makes it incredibly easy to create amazing responsive layouts in just a couple lines of code.
Video at http://www.youtube.com/watch?v=HaJnhYPLvx0
Large Drupal projects will generally have a themer or five working alongside the developers, site builders and designers. Themers are the magicians who transform what Drupal wants to do into what the designer wants it to do.
Smaller projects also usually need someone on the team who can make sense of Drupal's output, knows more CSS and JS than anyone else and can configure Views with their eyes closed.
The thing is — and whisper this, if possible redundancy concerns you — we can bypass the themer entirely.
With some simple configuration, a site builder can get Drupal to output exactly the semantic, lightweight markup that any modern front-end designer would be proud of. The designer can be left alone to write the most appropriate HTML, CSS and JS, while the site builder need only choose a couple of options when putting together content types, views and panels to make Drupal behave.
A friendly developer may have to lend a hand every now and then, but that’s it. You can get rid of the themer altogether.
http://2013.drupalcamplondon.co.uk/session/death-themer
Enhancing Spring MVC Web Applications Progressively with Spring JavaScriptJeremy Grelle
This document discusses using Spring JavaScript to integrate Ajax toolkits like Dojo into Spring web applications. It provides an overview of Ajax and different Ajax approaches. Spring JavaScript makes it simple to enhance DOM nodes with new behaviors and styles. It supports rendering page fragments and built-in response types. Advanced techniques include custom response handling, modular JavaScript code, and consuming RESTful services that return JSON.
Drupal Camp Manila 2014 - Theming with ZenJapo Domingo
Theming with Zen. My Presentation fro Drupal Camp Manila. 2014
Summary:
Why Theme?
Why Zen?
How to Zen?
It also goes through the installation process and touches a bit on scss capabilities.
This document outlines a webinar series on using WordPress for genealogists. Part 1 provides an introduction and overview of WordPress fundamentals. It discusses the history and basics of WordPress, including how it is open source software and a content management system. The document demonstrates how to set up a basic WordPress.com site by writing pages and posts, changing themes, and adding widgets. Future webinars will cover more advanced WordPress features and customizing a self-hosted WordPress.org site.
Learn the basics of building WordPress themes. This presentation is appropriate for people who are somewhat familiar with PHP and databases.
To Learn More, check out http://techliminal.com
Devendra Kumar Singh has over 10 years of experience in web development using technologies like PHP, MySQL, Java, and JavaScript. He has expertise in web design, database design, server administration, customizing open source platforms, and project management. Some of his past projects include developing websites for Gaana, Zigwheels, and Indiatimes. He is proficient in languages like PHP, Java, ASP, C++ and databases like MySQL, Oracle, and SQL Server.
WordPress Multisite enables users to create multiple WordPress websites with a single WordPress install. It allows for sharing of themes, plugins, and users across sites while only requiring a single upgrade. There are different types of Multisite networks including subdomain, subdirectory, and domain mapping. The process for enabling Multisite involves adding code to wp-config.php and .htaccess files. The Network Admin interface allows management of all sites. Plugins and themes must be network enabled to be used across sites. Recommended plugins include Domain Mapping and Sitewide Tags.
MongoPress is an instantly scalable, incredibly flexible CMS that uses MongoDB and PHP to deliver a powerful object-oriented environment that is flexible and free. It is not only freely licensed and distributed under a generous GPL license, but it is also free from the constraints that many of the leading MySQL-based CMS platforms suffer from.
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeSuzanne Dergacheva
This document discusses strategies for creating lean and maintainable Drupal 8 themes. It explains some of the complexity that can arise from Drupal's flexible theming system and powerful configuration options. It then provides recommendations for limiting complexity, such as being consistent, recognizing unnecessary complexity, considering maintainability, adding documentation, and refactoring existing complex themes. Specific techniques recommended include using libraries and view modes appropriately, limiting the use of templates and preprocess functions, and writing clean and reusable CSS/Sass code.
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinSuzanne Dergacheva
This presentation from DrupalCon Dublin covered site building techniques for creating landing pages and layouts, including using custom blocks, paragraphs, and panels, and then different theming approaches for creating these layouts.
MongoBase is a framework written in PHP and jQuery that allows for the rapid development of web-applications and is used by MongoPress, MongoMail and MongoKong as its core foundation
Pour ce second talk de la saison, nous allons nous intéresser à Wordpress et à son usage en tant que plateforme de développement. Cette présentation va vous donner les clés pour adapter votre workflow de développement avec ce CMS et vous permettre d’aller plus loin que son système de blogging de base.
The document provides an overview and agenda for getting started with WordPress, including choosing between WordPress.org for self-hosting or WordPress.com which hosts the site, making a plan by defining goals and site maps, designing the site layout and adding content like images, videos and blog posts, and resources for themes, plugins and help documentation. The presentation recommends prioritizing decisions around hosting, navigation, home page content, themes, and extending the site with additional features and links to social media.
Creating a Reusable Drupal Website for Higher Education - at USG Tech DaySuzanne Dergacheva
Setting up a single website is as easy as pie. But creating
dozens or hundreds of similar websites is more like running
a pie factory. In this session, we’ll talk about techniques for
running multiple, similar websites using the Drupal content
management system.
We’ll walk through the steps for creating a re-usable Drupal
platform for a small university. We’ll also talk about the
challenges and benefits that result from a multi-site setup, and
its impact on content strategy, design, and site architecture.
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreSuzanne Dergacheva
As a Drupal themer or site builder, layouts are one of the first considerations when implementing the design of a Drupal site. In this session, we'll talk about different techniques for creating layouts in Drupal 8. From how to configure landing page content using Paragraphs or Panels to implementing a grid system with your theme, you'll walk away with some new tips and tricks under your belt.
Specifically, we'll cover:
Configuring Drupal components to use in your layouts
How Drupal 8 blocks change our approach to building layouts
Creating a design framework for your layouts
Designing successful landing pages layouts
Theming your layouts: sing grid systems or CSS from scratch
This session is aimed at site builders and themers who are familiar with Drupal site building and are looking for new techniques for creating layouts and landing pages.
This document provides instructions for students regarding two technical papers they are required to submit for an online class. Students must post their papers online by January 18th and February 1st. Each paper should be 1500-2000 words and address a topic related to the class syllabus that has been approved by the instructor, Monique Sherre. Students will also review and provide commentary on two papers submitted by classmates. The document provides examples of past student papers and guidelines for formatting and submitting the papers online through the class website.
This presentation covers WordPress security using the popular iThemes Security plugin. We go over details and settings for both the free and premium versions of the plugin.
MIE Toolbox, a Case for Drupal as an Application FrameworkLev Tsypin
The document discusses the MIE Toolbox, which is a CMS built using Drupal that allows distributing "viral widgets" on websites. It provides components like the Toolbox, themes, basic items, and feed items. Originally built with CakePHP, it was rebuilt from scratch in Drupal. Drupal provided benefits like reusable content, security, and image handling through contrib modules. However, there were some aspects that were not ideal fits for Drupal. The document is asking for any questions about using Drupal to build the MIE Toolbox application framework.
There is new slide for this at http://www.slideshare.net/catchinternet/contributing-to-wordpress-theme-review-at-wordpressorg
Guide to Start WordPress Theme Review. Useful for WordPress Theme Developers, wannabe WordPress Theme Developers and wannabe WordPress Theme Reviewer
This document provides an overview of why two university web developers, Shelley and Stephanie, chose to use WordPress for their institutions' websites. Some key points:
- Both previously struggled with limited resources and outdated CMS options at their schools, with many broken links, duplicate content, and lack of features.
- They tried alternatives like Drupal but found them too complex and difficult to use. WordPress offered an easy interface for content creation and management.
- WordPress allows them to easily create sites, blogs, and networks with thousands of free, high-quality plugins and themes. It also has a strong developer community and regular, stable updates.
- While it lacks some advanced features out of
The document discusses best practices for developing websites using WordPress. It covers using WordPress as a content management system and blogging platform. It also summarizes using WordPress features like custom post types, custom fields, options API, transients API, and interacting with APIs. The document advocates following WordPress standards and using its built-in functions over directly modifying code or adding custom tables. It provides resources for learning more about WordPress development.
This document discusses WordPress, an open-source content management system (CMS) and blogging platform. Some key points:
- WordPress is free and open-source, based on PHP and MySQL. It powers over 60 million websites worldwide and is the most popular blogging system.
- Features include a plug-in architecture, template system, and ability to customize through themes and plugins.
- Pros include large community/documentation, extensibility through plugins, frontend customization. Cons include potential security issues, performance concerns with large sites, and need for maintenance.
- The document discusses strategies for improving WordPress development workflows using tools like Wordless, Wordmove, RVM, and Git
Drupal Camp Manila 2014 - Theming with ZenJapo Domingo
Theming with Zen. My Presentation fro Drupal Camp Manila. 2014
Summary:
Why Theme?
Why Zen?
How to Zen?
It also goes through the installation process and touches a bit on scss capabilities.
This document outlines a webinar series on using WordPress for genealogists. Part 1 provides an introduction and overview of WordPress fundamentals. It discusses the history and basics of WordPress, including how it is open source software and a content management system. The document demonstrates how to set up a basic WordPress.com site by writing pages and posts, changing themes, and adding widgets. Future webinars will cover more advanced WordPress features and customizing a self-hosted WordPress.org site.
Learn the basics of building WordPress themes. This presentation is appropriate for people who are somewhat familiar with PHP and databases.
To Learn More, check out http://techliminal.com
Devendra Kumar Singh has over 10 years of experience in web development using technologies like PHP, MySQL, Java, and JavaScript. He has expertise in web design, database design, server administration, customizing open source platforms, and project management. Some of his past projects include developing websites for Gaana, Zigwheels, and Indiatimes. He is proficient in languages like PHP, Java, ASP, C++ and databases like MySQL, Oracle, and SQL Server.
WordPress Multisite enables users to create multiple WordPress websites with a single WordPress install. It allows for sharing of themes, plugins, and users across sites while only requiring a single upgrade. There are different types of Multisite networks including subdomain, subdirectory, and domain mapping. The process for enabling Multisite involves adding code to wp-config.php and .htaccess files. The Network Admin interface allows management of all sites. Plugins and themes must be network enabled to be used across sites. Recommended plugins include Domain Mapping and Sitewide Tags.
MongoPress is an instantly scalable, incredibly flexible CMS that uses MongoDB and PHP to deliver a powerful object-oriented environment that is flexible and free. It is not only freely licensed and distributed under a generous GPL license, but it is also free from the constraints that many of the leading MySQL-based CMS platforms suffer from.
Minimalist Theming: How to Build a Lean, Mean Drupal 8 ThemeSuzanne Dergacheva
This document discusses strategies for creating lean and maintainable Drupal 8 themes. It explains some of the complexity that can arise from Drupal's flexible theming system and powerful configuration options. It then provides recommendations for limiting complexity, such as being consistent, recognizing unnecessary complexity, considering maintainability, adding documentation, and refactoring existing complex themes. Specific techniques recommended include using libraries and view modes appropriately, limiting the use of templates and preprocess functions, and writing clean and reusable CSS/Sass code.
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinSuzanne Dergacheva
This presentation from DrupalCon Dublin covered site building techniques for creating landing pages and layouts, including using custom blocks, paragraphs, and panels, and then different theming approaches for creating these layouts.
MongoBase is a framework written in PHP and jQuery that allows for the rapid development of web-applications and is used by MongoPress, MongoMail and MongoKong as its core foundation
Pour ce second talk de la saison, nous allons nous intéresser à Wordpress et à son usage en tant que plateforme de développement. Cette présentation va vous donner les clés pour adapter votre workflow de développement avec ce CMS et vous permettre d’aller plus loin que son système de blogging de base.
The document provides an overview and agenda for getting started with WordPress, including choosing between WordPress.org for self-hosting or WordPress.com which hosts the site, making a plan by defining goals and site maps, designing the site layout and adding content like images, videos and blog posts, and resources for themes, plugins and help documentation. The presentation recommends prioritizing decisions around hosting, navigation, home page content, themes, and extending the site with additional features and links to social media.
Creating a Reusable Drupal Website for Higher Education - at USG Tech DaySuzanne Dergacheva
Setting up a single website is as easy as pie. But creating
dozens or hundreds of similar websites is more like running
a pie factory. In this session, we’ll talk about techniques for
running multiple, similar websites using the Drupal content
management system.
We’ll walk through the steps for creating a re-usable Drupal
platform for a small university. We’ll also talk about the
challenges and benefits that result from a multi-site setup, and
its impact on content strategy, design, and site architecture.
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreSuzanne Dergacheva
As a Drupal themer or site builder, layouts are one of the first considerations when implementing the design of a Drupal site. In this session, we'll talk about different techniques for creating layouts in Drupal 8. From how to configure landing page content using Paragraphs or Panels to implementing a grid system with your theme, you'll walk away with some new tips and tricks under your belt.
Specifically, we'll cover:
Configuring Drupal components to use in your layouts
How Drupal 8 blocks change our approach to building layouts
Creating a design framework for your layouts
Designing successful landing pages layouts
Theming your layouts: sing grid systems or CSS from scratch
This session is aimed at site builders and themers who are familiar with Drupal site building and are looking for new techniques for creating layouts and landing pages.
This document provides instructions for students regarding two technical papers they are required to submit for an online class. Students must post their papers online by January 18th and February 1st. Each paper should be 1500-2000 words and address a topic related to the class syllabus that has been approved by the instructor, Monique Sherre. Students will also review and provide commentary on two papers submitted by classmates. The document provides examples of past student papers and guidelines for formatting and submitting the papers online through the class website.
This presentation covers WordPress security using the popular iThemes Security plugin. We go over details and settings for both the free and premium versions of the plugin.
MIE Toolbox, a Case for Drupal as an Application FrameworkLev Tsypin
The document discusses the MIE Toolbox, which is a CMS built using Drupal that allows distributing "viral widgets" on websites. It provides components like the Toolbox, themes, basic items, and feed items. Originally built with CakePHP, it was rebuilt from scratch in Drupal. Drupal provided benefits like reusable content, security, and image handling through contrib modules. However, there were some aspects that were not ideal fits for Drupal. The document is asking for any questions about using Drupal to build the MIE Toolbox application framework.
There is new slide for this at http://www.slideshare.net/catchinternet/contributing-to-wordpress-theme-review-at-wordpressorg
Guide to Start WordPress Theme Review. Useful for WordPress Theme Developers, wannabe WordPress Theme Developers and wannabe WordPress Theme Reviewer
This document provides an overview of why two university web developers, Shelley and Stephanie, chose to use WordPress for their institutions' websites. Some key points:
- Both previously struggled with limited resources and outdated CMS options at their schools, with many broken links, duplicate content, and lack of features.
- They tried alternatives like Drupal but found them too complex and difficult to use. WordPress offered an easy interface for content creation and management.
- WordPress allows them to easily create sites, blogs, and networks with thousands of free, high-quality plugins and themes. It also has a strong developer community and regular, stable updates.
- While it lacks some advanced features out of
The document discusses best practices for developing websites using WordPress. It covers using WordPress as a content management system and blogging platform. It also summarizes using WordPress features like custom post types, custom fields, options API, transients API, and interacting with APIs. The document advocates following WordPress standards and using its built-in functions over directly modifying code or adding custom tables. It provides resources for learning more about WordPress development.
This document discusses WordPress, an open-source content management system (CMS) and blogging platform. Some key points:
- WordPress is free and open-source, based on PHP and MySQL. It powers over 60 million websites worldwide and is the most popular blogging system.
- Features include a plug-in architecture, template system, and ability to customize through themes and plugins.
- Pros include large community/documentation, extensibility through plugins, frontend customization. Cons include potential security issues, performance concerns with large sites, and need for maintenance.
- The document discusses strategies for improving WordPress development workflows using tools like Wordless, Wordmove, RVM, and Git
From PSD to WordPress Theme: Bringing designs to lifeDerek Christensen
This document discusses bringing designs created in Photoshop or other design programs to life as WordPress themes. It covers considerations when slicing designs, using starter themes, building child themes, and inserting CSS. Tips are provided on focusing on high impact elements first, understanding the parent theme structure, and using tools like Firebug to debug designs. Resources for learning more about web development and WordPress theme building are also listed.
Stepping into theme development can be daunting. Sure anyone with a little PHP skill and a basic understanding of the loop can create theme templates, but there are a number of things you can learn which can take your theme development to the next level. We’ll discuss the skills that can take you from a beginner theme developer to a master.
WordPress is an effective platform for powering large web sites with various types of content and structured data. In this case study, Randy Hoyt will share from his experience developing a network of shopping center web sites on WordPress for a large property management company. He will explore the newer WordPress 3.x features, its child theme architecture, custom plugins, caching techniques, and cloud hosting infrastructure used to extend and scale WordPress for this project.
Stepping into theme development can be daunting. Sure anyone with a little PHP skill and a basic understanding of the loop can create theme templates, but there are a number of things you can learn which can take your theme development to the next level. We’ll discuss the skills that can take you from a beginner theme developer to a master.
A video of this talk given in Boston, MA can be seen at https://www.youtube.com/watch?v=IdMEOO0JmZA
(Updated for 2017)
WordPress is a free and open-source content management system that can be used to create blogs and websites. It has a plugin architecture and a template system that allows for great flexibility and customization. WordPress is highly extensible through plugins and has a large community that contributes plugins, themes, and translations to support users in many different languages.
This document discusses using the command line interface (CLI) with WordPress. It provides an overview of basic WP-CLI commands for core functions like installing plugins and themes. More advanced commands cover content management, tools, and custom commands that can be built. The CLI allows for automated migrations and efficient development practices.
The document provides information about securing a WordPress site, including backing up the site regularly using plugins or services, keeping the WordPress core, themes, and plugins updated, using strong passwords, enabling SSL, and only using trusted plugins and themes from reputable sources. It also recommends securing the server configuration and login process, as well as keeping your own computer secure to avoid compromising the WordPress site.
WordPress Customization & Security
Presented By: Joe Casabona and Phil Erb
Track: Technology
Session Format: Co-Presentation
Description: WordPress is one of the most popular blogging platforms used today and if you’re using it already, you already know its benefits – but let’s take things a step further. In this session, Joe and Phil will dive into how to customize your WordPress blog and theme so that it reflects your brand and serves up your content in the best ways possible, ways to make your WordPress blog more secure (and how to monitor it so that it stays that way!), and other techniques and technologies to make the most of this content management system.
WordPress Multisite allows users to create a network of websites from a single WordPress installation that shares themes, plugins, and users, enabling the management of multiple sites from one dashboard and the saving of time when upgrading sites. It can be set up by adding code to wp-config.php and replacing .htaccess, after which new sites can be created and managed from the network admin panel.
This document contains information about using Drupal presented by Chris Wu. It discusses using Drupal as a designer, programmer, and web administrator. It provides tips on using themes, modules, Views, hooks, databases, performance optimization, and command line tools like Drush.
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
WP Dev/tools for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs, themes, child themes, the loop, hooks, APIs, CLI, agile, bootstrap, SEO, slack… etc.
We’ll discuss the language and various acronyms and buzzwords used by devs in this crash course introduction to the developer’s world. Overview of primary development processes and terms and what software is needed to play the game. We’ll cover what you need to go from zero to developer and hopefully how to have fun on the way.
A talk on front-end developer tools including Yeoman, Grunt.js, Require.js, Bower, and SASS given at Drupal Camp LA 2013.
This talk doesn't address Drupal specifically, but it was aimed to give the audience of drupal developers a look into the state of the art.
"Mobile themes for Wordpress, QR codes, and custom shortURLs". Delivered by Chris Traganos, Web Developer at Harvard Public Affairs & Communications, on May 18th, 2010 at Lamont Library, Forum Room.
WordPress Café: Using WordPress as a FrameworkExove
This document provides an overview of WordPress and discusses how it can be used as a web application framework. It describes key aspects of the WordPress data model including custom post types, post meta, taxonomies, and relationships. It also covers templates, querying data, users, internationalization, AJAX, APIs, caching, and rewrite rules. Both advantages like its large community and plugins as well as disadvantages like performance overhead are acknowledged.
A look at the basics of custom theming for Wordpress, using Adobe Illustrator, Photoshop and Fireworks. Presented at a cross over Meetup of Hartford Wordpress & Hartford Adobe, sponsored by Adobe and New Horizons Training Facility
The document provides information on WordPress including what it is, its advantages, and how to set it up both on a live site and locally. WordPress is an open source content management system that is free, easy to use, and customizable. It allows for blogging and incorporating social media. Setting it up involves installing WordPress files, creating a database, and configuring settings. The WordPress admin interface allows managing posts, media, pages, comments, appearance, plugins, users, and settings. Themes and plugins can be installed to customize WordPress functionality and design. Standards for theme development include using valid code and following WordPress coding conventions.
1. WordPress as a CMS
Justin Sisley
justin.sisley@gmail.com
www.justinsisley.com
Matthew Vaccaro
mattyvac@gmail.com
www.matthewvaccaro.com
“Make an enterprise
level CMS out of
WordPress?”
3. The Definition of a CMS
A web content management system (WCMS)[1] is a
software system that provides website authoring,
collaboration, and administration tools designed to allow
users with little knowledge of web programming
languages or markup languages to create and manage
website content with relative ease. - Wikipedia
Wordpress as a CMS
5. …a [very] brief history.
“WordPress was born out of a desire for an elegant, well-architectured personal
publishing system built on PHP and MySQL and licensed under the GPLv2 (or later). It is
the official successor of b2/cafelog. WordPress is fresh software, but its roots and
development go back to 2001. It is a mature and stable product. We hope by focusing on
user experience and web standards we can create a tool different from anything else out
there.” – wordpress.org/about/
Serious Blogging
Serious Forking
Serious CMSing
Wordpress as a CMS
7. …and why we’re here.
WordPress today
• Robust, customizable platform that is very CMSish
• Allows the use of many core CMS principles such as media re-use and
workflow
WordPress is not just a blog platform...
• ...and is not just a convenient CMS for small client projects, it’s much more!
• Some may be doing this already:
– Network of client sites for ease of updating
– Network of blogs under one media company
• ….but what about HUGE single sites!?
Wordpress as a CMS
9. Why We Chose WordPress
What we were up against:
• Enterprise systems based on .NET and ColdFusion
• Ektron, SiteCore, etc.
• ‘Enterprise mentality’
• Enterprise
What we needed:
• Dynamically driven (database) content
• Ability for multiple users to update the website
• Easier integration of social media and API’s
– Brightcove, Flickr, etc.
• Better navigation and information architecture
• More modern responsive design
• Integrated search and knowledge base
Wordpress as a CMS
11. Why We Chose WordPress
What we hoped to achieve:
• Stronger engagement of users
• Better, more timely, communication of information internally and externally
• Reflects the ‘21st Century’ college motto
• Better adapts to users needs
• More comprehensive metrics
and analytics collection
Wordpress as a CMS
12. Why We Chose WordPress
– Cost
– Pre-existing knowledge, no consulting needed like proprietary systems
– Positive outlook for WP as a platform
– Massive community
Wordpress as a CMS
14. How We’re Using WordPress as a CMS
College of Medicine CMS design and development process
• Desired functionality brainstorming
– What features already exist
– What features did we have to create for ourselves
– Using third-party plugins vs. writing our own
• Use as few third party plugins as possible (Less than 5)
• Multisite vs. single site considerations
– Get_blog_list(); and switch_to_blog(); is bad! (Sort of, but let us explain…)
• Get_blog_(); is deprecated – and horrible
– Network search, or anything network wide
• User roles, permissions and capabilities
– Content Editor -> Content Manager -> Approver/Publisher
– Remove options from users on a per role or per site basis (RoleScoper Plugin)
• JavaScript
– Ajax
– Script management
– Closures
– Use only what you need
Wordpress as a CMS
15. How We’re Using WordPress as a CMS
Evolution of design
• ‘Web 1.0’ to ‘Web 2.0’
• Static to dynamic
• Designing ‘for the group’
Wordpress as a CMS
16. How We’re Using WordPress as a CMS
TA-DA!
Custom
wp_list_pages
functions, jQuery
audience panel
Custom fields,
custom post
type events
calendar
Wordpress as a CMS
17. How We’re Using WordPress as a CMS
Evolution of design /*** @group general ***/
• Theming and templates ::-moz-selection {
background-color: #9bd2f1;
– Not every page needs a template color: #fff;
– Use PHP to your advantage when creating }
templates /*** @group headings ***/
• Consolidate templates with statements h1 a, h2 a, h3 a {
-webkit-text-stroke: 1px transparent;
}
Design Considerations /*** @group header ***/
• Combine and minimize CSS and jQuery header {
• Use markers in CSS (@group) overflow: auto;
margin-bottom: 10px;
• Includes make life easier }
– @import for CSS /*** @group universal bar style ***/
– <?php require_once ('includes/site-head'); ?> .grey-bar {
border: 1px solid #ccc;
– <?php get_template_part('includes/site-head'); font-size: 14px;
?> text-shadow: 0px 1px 0px #FFF;
}
/*** @group navigation - top ***/
ul#top-navigation {
overflow: hidden;
width: 955px;
z-index: 19999;
margin: 0 auto;
clear: both;
}
Wordpress as a CMS
18. How We’re Using WordPress as a CMS
Make use of the WordPress functions!
• …The ones above
• wp_list_pages(); (wp_get_pages(); also rocks!)
• get_queried_object();
• get_top_ancestor();
…and TONS more
<?php
$bodyClass = get_body_class();
$currPageID = get_the_ID();
$currPageActive = get_top_ancestor($currPageID);
$activeClass = 'activeNav';
if (in_array("root-parent-id-".$currPageActive, $bodyClass) && $currPageActive == 8) {
$aboutActive = $activeClass;
}elseif(in_array("root-parent-id-".$currPageActive, $bodyClass) && $currPageActive == 12) {
$acadActive = $activeClass;
}
?>
<ul id="sideNavList">
<li class="homeBackground"><a href="<?php bloginfo('url'); ?>" class="homeLink">Return Home</a></li>
<li><a href="<?php echo get_permalink( 8 ); ?>" class="<?php echo $aboutActive; ?>">About</a>
<ul class="children <?php echo $aboutActive; ?>">
<?php side_nav_list_pages( 8 ); //custom function ?>
</ul>
</li>
</ul>
Wordpress as a CMS
19. How We’re Using WordPress as a CMS
Security
• Nonces
• Mysql_real_escape_string
• Theme security = plugin security!
– functions.php is just as important as a plugin
– Escaping non-plugin and non-functions.php code when using code within themes
• Awareness is key
<?php
$rss = fetch_feed('http://www.external-url.com/feed/?post_type=news');
if (!is_wp_error( $rss ) ) :
$maxitems = $rss->get_item_quantity(7);
$rss_items = $rss->get_items(0, $maxitems);
endif; ?>
<ul>
<?php if ($maxitems == 0 ) echo $rss->get_error_message();
else foreach ( $rss_items as $item ) : ?>
<li> <a href='<?php echo esc_url( $item->get_permalink() ); ?>' title='<?php echo 'Posted '.$item->get_date('j
F Y | g:i a'); ?>'> <?php echo esc_html( $item->get_title() ); ?></a> </li>
<?php endforeach; ?>
</ul>
Wordpress as a CMS
20. How We’re Using WordPress as a CMS
Backups
• CRON is your friend!
Multi-server deployment
• Separate environments (development, staging, production)
• DB Syncing
– Production to development every night (CRON)
Revisions & Version Control
• Capistrano, git, etc.
• SVN is getting older; distributed is getting newer.
Wordpress as a CMS
21. How We’re Using WordPress as a CMS
Content organization strategies
• Custom post types
– Cutting the ‘blog’ out of WordPress
• Custom fields
• Naming documents (meta data)
Authoring and publishing workflow
• Revisions and review process
• Push users to create and update content
Wordpress as a CMS
22. How We’re Using WordPress as a CMS
Upkeep & Maintenance
• Email alert system ‘page out of date’
• Queries
• Remove old revisions and empty the trash
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Wordpress as a CMS
24. But what about…the future, man?
• Exponential content growth
– When someone can, they will
– Old information gets archived, new information is
created
• Cosmetic progression
– Keeping up with the cool kids
• Workflow
• Maintenance
Wordpress as a CMS