SlideShare a Scribd company logo
ExpressionEngine
                    An Awesome CMS for Designers
                    and Developers


Presentation by:
James Buckley
Twitter: @jamesbuckley
Web:     brightrocketdesign.com
Email: jame@brightrocketdesign.com
Who Are You?
• Web and Graphic Designer for 10+ Years
• Mostly Front-End
 HTML / CSS / Photoshop / Wireframes / Project Management




       NOT a Programmer
The Basics
Content Management System (CMS)
  – Let Clients (Or You) maintain a Website Easily
    • Articles / Blog Posts
    • Add pages / sections of content
    • Contact Info, Products, etc
  – Save time: the bigger the site, the more time.
  – Let you do more interesting, better paying
    work
A Brief Introduction
• Created By Ellis Labs (10 years of Awesome)
  – pMachine Pro (Aimed at Bloggers originally)
  – ExpressionEngine (First Real CMS)
  – ExpressionEngine 2 (Major Overhaul in
    CodeIgniter)
• Specs
  –   PHP
  –   MySQL
  –   CodeIgniter Framework (Open Source)
  –   Commercial (Not Free but that’s GOOD)
Who’s EE For?
• Great for Web Designers
 who don’t know PHP

• Great for Programmers
 who don’t want to write a CMS from scratch

• Used by:
  Apple, Disney, Nike, MTV, Adobe, BBC, B
  MI, A List APart,
Types of Sites Using EE
• Simple 5-10 Page Sites
• News Sites & Blogs w/1000s of Entries
• Government & Political Sites
• Arts and Photography
• Medical & Not-For-Profits
• Pretty Much Anything
• LOTS of Examples at show-ee.com
Great for Web Designers
• Made with Designers in Mind
• Simple HTML-Like Tag Syntax
• Logical Template / URL Structure
• No touching PHP
 (Unless you want to)
• Tons of Commercial and Free Addons that
  expand capabilities, check devot-ee.com
Great for Web Designers
• Guaranteed support built into cost
  – Wordpress VIP Support is $3,750

• Designer / Noob friendly product and
  community
• Solid Documentation w/Comments
• Original design valued greater than themes
  by developer
• Easy to keep design standards compliant
• CMS fits design, not other way around
Great for Developers
• Self-Hosted
• Not “Blog” software.

• Fantastic Security Record
   – 10 yrs, no large scale exploits
   – Only 3-4 High Priority Security Patches in product life

• Written on the Open Source PHP Framework
  CodeIgniter
  PHP Creator Rasmus Lerdof likes it:
  “because it is faster, lighter and the least like a framework.”

• PHP Code is NOT obfuscated
  (You can mess with core files)
Great for Developers
• Guaranteed Developer time to fix bugs ( vs
  adding “Cool” but useless features)
• Best, proven developer customers contribute to
  Core (Reactor Program)
• Addons
  – Simple to complex options
  – CodeIgniter based
Types of Addons
• Plugins: No User Interface, custom EE tags
• Fieldtypes: Adds custom fieldtypes to data entry
  forms
• Extensions: Used to modify the EE “core”
  without breaking it. Modifies control panel
• Accessories: Database tables, tabs
• Modules: Database tables, custom control panel,
  tabs, fields and EE tags
Things I’ve Built
Simple and Complex Web Forms
  Contact Forms, order forms

Class Registration Systems
  Size Limit, Email alerts on Signup, Exportable class list in CSV, 700+
  signups

Publication Databases
  800+ Files, categories, fully searchable and filterable

News & Blogs
  RSS feeds, Commenting, Gravitar Integration

Image Galleries / Sliders
  Jquery / XML / Flash Based

Email Newsletter Systems
  Pulls from news channel, integrates video, plain txt version
The EE Approach
• “Channels” of data not “Pages”
  – 1 Page can have many “Channels” of content

• Custom Fieldtypes & Forms
  – Rich Text Editors (lots of choice)
  – Google Maps
  – Address, Currency, File, Image
  – Dozens and dozens more
Assets
Better Pages
Pointee and Customized Version
Expresso
Playa and Assets
NSM Twitter & morePreview
Content Elements
The EE Approach
Most Basic Functionality Built In
•   Comments
•   Categories
•   Mailing List
•   Membership Management
•   User Profiles
•   Mobile Blogging
•   Simple Ecommerce
•   Forums (add. Cost)
Channel Structure

• Channel
 Each TYPE of content gets a dedicated Channel

 –Entries (Unlimited)
    • Fields (Unlimited / Many Types)
    • Categories (Unlimited / Nested / Multiple)
    • Status (Open or Close / Custom )
Example Channel Structure
Job Posting (Channel)
• Job title (TXT field)
• Job Description (Rich Text Editor)
• Job Category (Native Categories)
• Company Logo (File Field)
• Website Link (Txt field)
Code Examples – Parameters & Variables

Basic Channel Entry Tag
  {exp:channel:entries channel=“chan_news"
  limit="1"}
       <h2>{title}</h2>
       {body}
  {/exp:channel:entries}
Produces
  <h2>My Article Title</h2
  <p>My article body, pretty simple eh?</p>
Complex Channel Entry Tag
  {exp:channel:entries
    channel="news|blog" limit=“2" category="2" orderby="entry_date"
      sort= "desc" disable="member_date|pagination" dynamic="no"
  }

      <h2>{title}</h2>
      <span class="Permalink">
         <a href="{permalink="news/archives“}">
            {entry_date format="%m / %d / %Y"}
         </a>
      </span>
      <div class=“article”>
       {body}
    </div>
  {/exp:channel:entries}
Complex Channel Entry Tag - Results
  <h2>News Article 3</h2>
  <span class=“Permalink”>
    <a href=“domain.com/news/archive/news_article_3”>
       10 / 5 / 2012
    </a>
  </span>
  <div class=“article”>
        <p>News body content goes here </p>
  </div>

  <h2>Blog Article 1</h2>
  <span class=“Permalink”>
    <a href=“domain.com/news/archive/news_article_3”>
       10 / 4 / 2012
    </a>
  </span>
  <div class=“article”>
        <p>Blog body content goes here</p>
  </div>
Addon Example – Solspace Freeform
  {exp:freeform:form
       collection="ContactForm"
       required="name|email|phone1|note"
       return="contact/thanks”
       notify="james@brightrocketdesign.com"
       template="default_template"
       }
  <h2>Send me a quick note!</h2>
  <label for="f-name">Name</label>
       <input type="text" name="name" id="f-name" /></p>
  <label for="f-email">Your Email</label>
       <input type="text" name="email" id="f-email" /></p>
  <label for="f-comments">Tell me a bit about this project</label>
  <textarea name="note" id="note" rows="5" cols="40"></textarea>
  <button type="submit" class="button-a">Launch!</button>
  {/exp:freeform:form}
The Community Rocks

• Active User Forums
 (Ellis Staff and volunteers)
• Twitter community #eecms
 (Great for Support & Finding Talent)
• Good size but not overwhelming
 thousands of devs and sites, but we all “know” each
 other
• More Professionals
 Lots of Pros - Not so many Hobbyist, Creepy SEO guys
 (Not You) = Higher Skill and Professional Level of
 Average User
The Cost of Awesome

• Professional Support
• Don’t struggle with design/CMS integration
  unlike many OS CMS systems
• Saves me Time, Time = Money
• Allows me to build sites that “Do Stuff”
• Pays for itself a dozen times over
  Support the tools that make you Money
               You cheap so-and-so ;)
The Cost of Awesome

•   Commercial - $299.95
•   Non-Commercial - $149.95
•   Freelancer - $99.95
•   Always budget $ for additional Addons
    – Simple addons often FREE
    – Generally inexpensive $10-$50
    – Ecommerce, more complex addons around
      $100 -$150
Demo Time!
Things I Wrote about EE
• The ExpressionEngine Designers Website
  Checklist
• A Comparison of WYSIWYG Editors for
  ExpressionEngine at EE Insider
• Using Pages and Low-Reorder for Flexible
  Navigation and Site Structure
• Switching to Sublime 2 for Expression Engine
  Development

 brightrocketdesign.com/blog/category/expressionengine
Thank You
Sponsors!
Free Stuff Time!
• ExpressionEngine Freelancer Licenses (2)
 Ellis Labs (ellislab.com)
• Low Variables (2)
 GoToLow      (gotolow.com)

• Content Elements (2)
 Krea (krea.com)
• Expresso (2)
 Put Your Lights On (putyourlightson.net)
Free Stuff Time!
Securing EE2 by Mark Huot (EVERYONE!)
 by Mark Huot, provided by Mijingo (Mijingo.com)
Similar Presentations

 Lea Alcantara LeaLea.net
 slideshare.net/lealea/edmontonee-
 main-presentation-10242009 (Special
 Thanks!)

 Emily Lewis emilylewisdesign.com
 www.slideshare.net/emilylewis/designe
 rfriendly-ee
Resources
EEInsider     News, Articles, Reviews
Devote:ee     Addon Directory
EEPodcast     Podcast about EE and Web Design
Director-EE   Director of EE Designer/Devs
@Twitter      #eecms @EllisLab #frup
EE Hub        Aggregator of EE Info
Questions?
CodeIgniter with Brett Silver

More Related Content

What's hot

JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
Paul Hunt
 
Website Development Guidelines
Website Development GuidelinesWebsite Development Guidelines
Website Development Guidelines
Amit Kute
 
SharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOUSharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOU
Brian Culver
 
Images, lists and links
Images, lists and linksImages, lists and links
Images, lists and links
Jhaun Paul Enriquez
 
Face/Off: APEX Templates & Themes
Face/Off: APEX Templates & ThemesFace/Off: APEX Templates & Themes
Face/Off: APEX Templates & Themes
crokitta
 
13 Things Developers Forget When Launching Public Websites
13 Things Developers Forget When Launching Public Websites13 Things Developers Forget When Launching Public Websites
13 Things Developers Forget When Launching Public Websites
AJi
 
Chapter 6 - Web Design
Chapter 6 - Web DesignChapter 6 - Web Design
Chapter 6 - Web Design
tclanton4
 
Html 5
Html 5Html 5
Html 5
Ajay Ghosh
 
Understanding the Web Page Layout
Understanding the Web Page LayoutUnderstanding the Web Page Layout
Understanding the Web Page Layout
Jhaun Paul Enriquez
 
Getting to know WordPress
Getting to know WordPressGetting to know WordPress
Getting to know WordPress
Anthony Hortin
 
Tablepress - WordPress plugin on inserting Tables
Tablepress - WordPress plugin on inserting TablesTablepress - WordPress plugin on inserting Tables
Tablepress - WordPress plugin on inserting Tables
Thomas Carney
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
Bruce Kyle
 
SharePoint Publishing 101
SharePoint Publishing 101SharePoint Publishing 101
SharePoint Publishing 101
Becky Bertram
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Theme
certainstrings
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Terry Ryan
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
Robert Nyman
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
Wordpress SEO Featuring Dave Jesch
Wordpress SEO Featuring Dave JeschWordpress SEO Featuring Dave Jesch
Wordpress SEO Featuring Dave Jesch
Wiideman Consulting Group
 
The Future of the Web: HTML5
The Future of the Web: HTML5The Future of the Web: HTML5
The Future of the Web: HTML5
Derek Bender
 
WordPress Workshop with Tadpole, SATW 2013 Conference
WordPress Workshop with Tadpole, SATW 2013 ConferenceWordPress Workshop with Tadpole, SATW 2013 Conference
WordPress Workshop with Tadpole, SATW 2013 Conference
Tadpole Collective
 

What's hot (20)

JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
 
Website Development Guidelines
Website Development GuidelinesWebsite Development Guidelines
Website Development Guidelines
 
SharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOUSharePoint 2013 Search Driven Sites - SPSHOU
SharePoint 2013 Search Driven Sites - SPSHOU
 
Images, lists and links
Images, lists and linksImages, lists and links
Images, lists and links
 
Face/Off: APEX Templates & Themes
Face/Off: APEX Templates & ThemesFace/Off: APEX Templates & Themes
Face/Off: APEX Templates & Themes
 
13 Things Developers Forget When Launching Public Websites
13 Things Developers Forget When Launching Public Websites13 Things Developers Forget When Launching Public Websites
13 Things Developers Forget When Launching Public Websites
 
Chapter 6 - Web Design
Chapter 6 - Web DesignChapter 6 - Web Design
Chapter 6 - Web Design
 
Html 5
Html 5Html 5
Html 5
 
Understanding the Web Page Layout
Understanding the Web Page LayoutUnderstanding the Web Page Layout
Understanding the Web Page Layout
 
Getting to know WordPress
Getting to know WordPressGetting to know WordPress
Getting to know WordPress
 
Tablepress - WordPress plugin on inserting Tables
Tablepress - WordPress plugin on inserting TablesTablepress - WordPress plugin on inserting Tables
Tablepress - WordPress plugin on inserting Tables
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
 
SharePoint Publishing 101
SharePoint Publishing 101SharePoint Publishing 101
SharePoint Publishing 101
 
Arizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress ThemeArizona WP - Building a WordPress Theme
Arizona WP - Building a WordPress Theme
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)
 
Wordpress SEO Featuring Dave Jesch
Wordpress SEO Featuring Dave JeschWordpress SEO Featuring Dave Jesch
Wordpress SEO Featuring Dave Jesch
 
The Future of the Web: HTML5
The Future of the Web: HTML5The Future of the Web: HTML5
The Future of the Web: HTML5
 
WordPress Workshop with Tadpole, SATW 2013 Conference
WordPress Workshop with Tadpole, SATW 2013 ConferenceWordPress Workshop with Tadpole, SATW 2013 Conference
WordPress Workshop with Tadpole, SATW 2013 Conference
 

Similar to Intro to ExpressionEngine and CodeIgniter

Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
Leslie Doherty
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
reedmaniac
 
Introduction_Web_Technologies
Introduction_Web_TechnologiesIntroduction_Web_Technologies
Introduction_Web_TechnologiesDeepak Raj
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 
Introduction web tech
Introduction web techIntroduction web tech
Introduction web tech
Liaquat Rahoo
 
webdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxwebdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptx
lekhacce
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScript
Edureka!
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
SPTechCon
 
Alice Phieu - WordPress For Beginners
Alice Phieu - WordPress For BeginnersAlice Phieu - WordPress For Beginners
Alice Phieu - WordPress For Beginners
Alice Phieu
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
25444215.pptx
25444215.pptx25444215.pptx
25444215.pptx
YashMittal302244
 
web development
web developmentweb development
web development
ABHISHEKJHA176786
 
Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web Development
Daryll Chu
 
ppt of MANOJ KUMAR.pptx
ppt of MANOJ KUMAR.pptxppt of MANOJ KUMAR.pptx
ppt of MANOJ KUMAR.pptx
ManojKumar297202
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
Html,CSS & UI/UX design
Html,CSS & UI/UX designHtml,CSS & UI/UX design
Html,CSS & UI/UX design
Karthikeyan Dhanasekaran CUA
 
025444215.pptx
025444215.pptx025444215.pptx
025444215.pptx
RiyaJenner1
 

Similar to Intro to ExpressionEngine and CodeIgniter (20)

Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Add-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his DutyAdd-On Development: EE Expects that Every Developer will do his Duty
Add-On Development: EE Expects that Every Developer will do his Duty
 
presentation
presentationpresentation
presentation
 
Introduction_Web_Technologies
Introduction_Web_TechnologiesIntroduction_Web_Technologies
Introduction_Web_Technologies
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Introduction web tech
Introduction web techIntroduction web tech
Introduction web tech
 
webdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptxwebdevelopment_6132030-lva1-app6891.pptx
webdevelopment_6132030-lva1-app6891.pptx
 
Web Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScriptWeb Development with HTML5, CSS3 & JavaScript
Web Development with HTML5, CSS3 & JavaScript
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
 
Alice Phieu - WordPress For Beginners
Alice Phieu - WordPress For BeginnersAlice Phieu - WordPress For Beginners
Alice Phieu - WordPress For Beginners
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 
25444215.pptx
25444215.pptx25444215.pptx
25444215.pptx
 
web development
web developmentweb development
web development
 
Curtin University Frontend Web Development
Curtin University Frontend Web DevelopmentCurtin University Frontend Web Development
Curtin University Frontend Web Development
 
ppt of MANOJ KUMAR.pptx
ppt of MANOJ KUMAR.pptxppt of MANOJ KUMAR.pptx
ppt of MANOJ KUMAR.pptx
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
Html,CSS & UI/UX design
Html,CSS & UI/UX designHtml,CSS & UI/UX design
Html,CSS & UI/UX design
 
025444215.pptx
025444215.pptx025444215.pptx
025444215.pptx
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

Intro to ExpressionEngine and CodeIgniter

  • 1. ExpressionEngine An Awesome CMS for Designers and Developers Presentation by: James Buckley Twitter: @jamesbuckley Web: brightrocketdesign.com Email: jame@brightrocketdesign.com
  • 2. Who Are You? • Web and Graphic Designer for 10+ Years • Mostly Front-End HTML / CSS / Photoshop / Wireframes / Project Management NOT a Programmer
  • 3. The Basics Content Management System (CMS) – Let Clients (Or You) maintain a Website Easily • Articles / Blog Posts • Add pages / sections of content • Contact Info, Products, etc – Save time: the bigger the site, the more time. – Let you do more interesting, better paying work
  • 4. A Brief Introduction • Created By Ellis Labs (10 years of Awesome) – pMachine Pro (Aimed at Bloggers originally) – ExpressionEngine (First Real CMS) – ExpressionEngine 2 (Major Overhaul in CodeIgniter) • Specs – PHP – MySQL – CodeIgniter Framework (Open Source) – Commercial (Not Free but that’s GOOD)
  • 5. Who’s EE For? • Great for Web Designers who don’t know PHP • Great for Programmers who don’t want to write a CMS from scratch • Used by: Apple, Disney, Nike, MTV, Adobe, BBC, B MI, A List APart,
  • 6. Types of Sites Using EE • Simple 5-10 Page Sites • News Sites & Blogs w/1000s of Entries • Government & Political Sites • Arts and Photography • Medical & Not-For-Profits • Pretty Much Anything • LOTS of Examples at show-ee.com
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Great for Web Designers • Made with Designers in Mind • Simple HTML-Like Tag Syntax • Logical Template / URL Structure • No touching PHP (Unless you want to) • Tons of Commercial and Free Addons that expand capabilities, check devot-ee.com
  • 14. Great for Web Designers • Guaranteed support built into cost – Wordpress VIP Support is $3,750 • Designer / Noob friendly product and community • Solid Documentation w/Comments • Original design valued greater than themes by developer • Easy to keep design standards compliant • CMS fits design, not other way around
  • 15. Great for Developers • Self-Hosted • Not “Blog” software. • Fantastic Security Record – 10 yrs, no large scale exploits – Only 3-4 High Priority Security Patches in product life • Written on the Open Source PHP Framework CodeIgniter PHP Creator Rasmus Lerdof likes it: “because it is faster, lighter and the least like a framework.” • PHP Code is NOT obfuscated (You can mess with core files)
  • 16. Great for Developers • Guaranteed Developer time to fix bugs ( vs adding “Cool” but useless features) • Best, proven developer customers contribute to Core (Reactor Program) • Addons – Simple to complex options – CodeIgniter based
  • 17. Types of Addons • Plugins: No User Interface, custom EE tags • Fieldtypes: Adds custom fieldtypes to data entry forms • Extensions: Used to modify the EE “core” without breaking it. Modifies control panel • Accessories: Database tables, tabs • Modules: Database tables, custom control panel, tabs, fields and EE tags
  • 18. Things I’ve Built Simple and Complex Web Forms Contact Forms, order forms Class Registration Systems Size Limit, Email alerts on Signup, Exportable class list in CSV, 700+ signups Publication Databases 800+ Files, categories, fully searchable and filterable News & Blogs RSS feeds, Commenting, Gravitar Integration Image Galleries / Sliders Jquery / XML / Flash Based Email Newsletter Systems Pulls from news channel, integrates video, plain txt version
  • 19. The EE Approach • “Channels” of data not “Pages” – 1 Page can have many “Channels” of content • Custom Fieldtypes & Forms – Rich Text Editors (lots of choice) – Google Maps – Address, Currency, File, Image – Dozens and dozens more
  • 25. NSM Twitter & morePreview
  • 27. The EE Approach Most Basic Functionality Built In • Comments • Categories • Mailing List • Membership Management • User Profiles • Mobile Blogging • Simple Ecommerce • Forums (add. Cost)
  • 28. Channel Structure • Channel Each TYPE of content gets a dedicated Channel –Entries (Unlimited) • Fields (Unlimited / Many Types) • Categories (Unlimited / Nested / Multiple) • Status (Open or Close / Custom )
  • 29. Example Channel Structure Job Posting (Channel) • Job title (TXT field) • Job Description (Rich Text Editor) • Job Category (Native Categories) • Company Logo (File Field) • Website Link (Txt field)
  • 30. Code Examples – Parameters & Variables Basic Channel Entry Tag {exp:channel:entries channel=“chan_news" limit="1"} <h2>{title}</h2> {body} {/exp:channel:entries} Produces <h2>My Article Title</h2 <p>My article body, pretty simple eh?</p>
  • 31. Complex Channel Entry Tag {exp:channel:entries channel="news|blog" limit=“2" category="2" orderby="entry_date" sort= "desc" disable="member_date|pagination" dynamic="no" } <h2>{title}</h2> <span class="Permalink"> <a href="{permalink="news/archives“}"> {entry_date format="%m / %d / %Y"} </a> </span> <div class=“article”> {body} </div> {/exp:channel:entries}
  • 32. Complex Channel Entry Tag - Results <h2>News Article 3</h2> <span class=“Permalink”> <a href=“domain.com/news/archive/news_article_3”> 10 / 5 / 2012 </a> </span> <div class=“article”> <p>News body content goes here </p> </div> <h2>Blog Article 1</h2> <span class=“Permalink”> <a href=“domain.com/news/archive/news_article_3”> 10 / 4 / 2012 </a> </span> <div class=“article”> <p>Blog body content goes here</p> </div>
  • 33. Addon Example – Solspace Freeform {exp:freeform:form collection="ContactForm" required="name|email|phone1|note" return="contact/thanks” notify="james@brightrocketdesign.com" template="default_template" } <h2>Send me a quick note!</h2> <label for="f-name">Name</label> <input type="text" name="name" id="f-name" /></p> <label for="f-email">Your Email</label> <input type="text" name="email" id="f-email" /></p> <label for="f-comments">Tell me a bit about this project</label> <textarea name="note" id="note" rows="5" cols="40"></textarea> <button type="submit" class="button-a">Launch!</button> {/exp:freeform:form}
  • 34. The Community Rocks • Active User Forums (Ellis Staff and volunteers) • Twitter community #eecms (Great for Support & Finding Talent) • Good size but not overwhelming thousands of devs and sites, but we all “know” each other • More Professionals Lots of Pros - Not so many Hobbyist, Creepy SEO guys (Not You) = Higher Skill and Professional Level of Average User
  • 35. The Cost of Awesome • Professional Support • Don’t struggle with design/CMS integration unlike many OS CMS systems • Saves me Time, Time = Money • Allows me to build sites that “Do Stuff” • Pays for itself a dozen times over Support the tools that make you Money You cheap so-and-so ;)
  • 36. The Cost of Awesome • Commercial - $299.95 • Non-Commercial - $149.95 • Freelancer - $99.95 • Always budget $ for additional Addons – Simple addons often FREE – Generally inexpensive $10-$50 – Ecommerce, more complex addons around $100 -$150
  • 38. Things I Wrote about EE • The ExpressionEngine Designers Website Checklist • A Comparison of WYSIWYG Editors for ExpressionEngine at EE Insider • Using Pages and Low-Reorder for Flexible Navigation and Site Structure • Switching to Sublime 2 for Expression Engine Development brightrocketdesign.com/blog/category/expressionengine
  • 40. Free Stuff Time! • ExpressionEngine Freelancer Licenses (2) Ellis Labs (ellislab.com) • Low Variables (2) GoToLow (gotolow.com) • Content Elements (2) Krea (krea.com) • Expresso (2) Put Your Lights On (putyourlightson.net)
  • 41. Free Stuff Time! Securing EE2 by Mark Huot (EVERYONE!) by Mark Huot, provided by Mijingo (Mijingo.com)
  • 42. Similar Presentations Lea Alcantara LeaLea.net slideshare.net/lealea/edmontonee- main-presentation-10242009 (Special Thanks!) Emily Lewis emilylewisdesign.com www.slideshare.net/emilylewis/designe rfriendly-ee
  • 43. Resources EEInsider News, Articles, Reviews Devote:ee Addon Directory EEPodcast Podcast about EE and Web Design Director-EE Director of EE Designer/Devs @Twitter #eecms @EllisLab #frup EE Hub Aggregator of EE Info