SlideShare a Scribd company logo
1 of 29
Download to read offline
Getting Started With
 ExpressionEngine
    BostonEErs March 2010

         Ruthie BenDor
  unruthless.com | @unruthless
ExpressionWhat?
• EE is a (freakin’ awesome) content
  management system for websites.

• Self-hosted: install it on your/your client’s
  own web server.

• Web-administered: browser-based control
  panel.

• Written in PHP, runs on MySQL.
EllisWho?
• ExpressionEngine is a commercial product
  by a company called EllisLab.

• EllisLab also created and released
  CodeIgniter, the open source PHP framework.

• EllisLab is not paying me.
Wait, EE isn’t free?
• Nope.
• $300 for a commercial license, $150 for a
  non-commercial license, $100 for freelancers.
  Includes tech support, free updates for a year.

• Most add-ons are free, though some cost $.
  Add-ons come from both EllisLab and third-
  party developers.

• Bottom line: $100-$500 for licensing.*
                          *depending on your site, of course.
What about hosting?
• Any web host that supports PHP and MySQL
  can handle ExpressionEngine.

• EllisLab’s server wizard will tell you for sure:
  http://expressionengine.com/overview/
  requirements/

• Looking for a web host? EllisLab’s sister
  company, EngineHosting, specializes in
  hosting EE websites.

• EngineHosting is also not paying me.
Which version do I want?
 • Mission-critical website? Or need a lot of add-
   ons now? EE 1.6.8 (Stable)

 • Non-mission-critical site? Or very few add-ons
   required? EE 2.0.1 (Public Beta)

             EE 1.x       EE 2.x
     Been in active       Released in Dec ’09;
 development since        built atop CodeIgniter;
2004; super-stable;       major improvements to
    tons of add-ons       control panel; still buggy
Links so far
Purchase an EE site license:
https://secure.expressionengine.com/
index.php?ACT=EE2
Get technical support:
http://expressionengine.com/forums
Browse EE add-ons:
http://devot-ee.com/add-ons/
Q: Why EE?
Q: Why EE?

1. EE flexes to fit your
site content, not the
other way around.
Wordpress has one bucket for content:
the blog posts bucket.
This is great, if your site is a blog.



                       “Everything is
      posts
                       a blog post!”*

                                  *seriously, everything. ‘Pages’, too.
But for sites that aren’t just a blog,
 we often need more than one bucket.


                       press    staff
    posts    news
                      releases members



legal      job
                   videos   podcasts   events
cases   openings
But for sites that aren’t just a blog,
we often need more than one channel.



 posts       news        press      staff
                        releases   members



legal       job     videos   podcasts   events
cases    openings
(A brief aside on terminology)
In EE 1.x, ‘channels’, i.e. buckets
of content, are called ‘weblogs’.
This, unsurprisingly, tends to
confuse people. (WTF, EllisLab?)

Just call them channels.
Each of your channels has a different
structure -- that is, the group of fields
 that make up items in that channel.

            Staff      Lawsuits
              Name     Name
            Position   Description
        Department     Outcome (Win/Lose)
         Biography     Related documents
      Email Address
How to start entering content into EE

1. Create a channel for each type of content
   your site has.

2. Create a field group for each channel, with
   the fields applicable to that channel.

3. Assign each channel to use the applicable
   field group.

4. Start entering content!
Demo:
Channels &
Field Groups
Q: Why EE?
2. EE enables your
content creators to
update content by
themselves.
Demo:
Content Entry Form
Demo:
Member Permissions
Q: Why EE?
3. EE lets you display
your content how and
where you’d like it,
via templates.
Templates FTW!
• Templates are straight-up HTML, CSS,
  and/or JavaScript ... it’s your code!

• ... With some special tags mixed in, to
  pull your site’s content from the
  database.
...
          <div class="post">

No CMS:       <h3>My first blog post title here!</h3>
              <div class="post_body">The body of my post goes here.</div>
          </div>
          ...


          ...
          {exp:weblog:entries weblog="blog"}
              <div class="post">

EE 1.x:          <h3>{title}</h3>
                 <div class="post_body">{blog_post_body}</div>
              </div>
          {/exp:weblog:entries}
          ...


          ...
          {exp:channel:entries channel="blog"}

EE 2.x:       <div class="post">
                 <h3>{title}</h3>
                 <div class="post_body">{blog_post_body}</div>
              </div>
          {/exp:channel:entries}
          ...
Big Important Points
• Your content is completely separate from
  your templates.

• Include content from as many or as few
  channels on a single template as you like.

• To control which channel content gets
  outputted, use tag parameters and
  variables.
Demo:
Templates
More Template Goodness
• You can use PHP in your templates
• You can embed templates within other
  templates

• You can save templates as files, so you can
  edit them using your code editor of choice.
Q: Why EE?
4. You can extend it
to meet your needs.
Add-ons
• EXTENSIONS [EE 1.x, EE 2.x] are essentially ‘hooks’ in EE that
   allow the add-on to pass information and add functionality to
   existing interfaces. Mostly used to modify the Control Panel.

• MODULES [EE 1.x, EE 2.x] are larger systems -- think standalone
   applications that you’d want integrated with a CMS. Modules may
   include their own extensions and plugins. Examples: Comment
   module, Search module, Channel/Weblog module.

• PLUGINS [EE 1.x, EE 2.x] Plugins work on the template side, and
   usually contain PHP functions that manipulate things behind the
   scenes, keeping your EE templates free of PHP code. Example:
   Twit-ee, a twitter plugin.

• ACCESSORIES [EE 2.x] Accessories allow you to easily
   incorporate your own information into the Control Panel. Example:
   analytics, video, useful links, etc.
EE 2.0 and CodeIgniter
• ExpressionEngine 2.0 is built as a
  CodeIgniter application.

• If you need to build a standalone web
  application, just build it in CodeIgniter and
  leverage the same codebase as EE.

• Lots of CodeIgniter developers out there.
More Links

User Guide for EE 1.6.8
http://expressionengine.com/docs/
User Guide for EE 2.0.1
http://expressionengine.com/
public_beta/docs/

More Related Content

More from Ruthie BenDor

Move Fast And Document Things
Move Fast And Document ThingsMove Fast And Document Things
Move Fast And Document ThingsRuthie BenDor
 
Build Your First EE2 Site
Build Your First EE2 SiteBuild Your First EE2 Site
Build Your First EE2 SiteRuthie BenDor
 
Make Your Site SpEEdy
Make Your Site SpEEdyMake Your Site SpEEdy
Make Your Site SpEEdyRuthie BenDor
 
Add-On Migration Planner for EE 1.x to EE 2.x
Add-On Migration Planner for EE 1.x to EE 2.xAdd-On Migration Planner for EE 1.x to EE 2.x
Add-On Migration Planner for EE 1.x to EE 2.xRuthie BenDor
 
All About ExpressionEngine 2
All About ExpressionEngine 2All About ExpressionEngine 2
All About ExpressionEngine 2Ruthie BenDor
 
Content Management for the little guy
Content Management for the little guyContent Management for the little guy
Content Management for the little guyRuthie BenDor
 

More from Ruthie BenDor (7)

Move Fast And Document Things
Move Fast And Document ThingsMove Fast And Document Things
Move Fast And Document Things
 
VersionEEring
VersionEEringVersionEEring
VersionEEring
 
Build Your First EE2 Site
Build Your First EE2 SiteBuild Your First EE2 Site
Build Your First EE2 Site
 
Make Your Site SpEEdy
Make Your Site SpEEdyMake Your Site SpEEdy
Make Your Site SpEEdy
 
Add-On Migration Planner for EE 1.x to EE 2.x
Add-On Migration Planner for EE 1.x to EE 2.xAdd-On Migration Planner for EE 1.x to EE 2.x
Add-On Migration Planner for EE 1.x to EE 2.x
 
All About ExpressionEngine 2
All About ExpressionEngine 2All About ExpressionEngine 2
All About ExpressionEngine 2
 
Content Management for the little guy
Content Management for the little guyContent Management for the little guy
Content Management for the little guy
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Getting Started With ExpressionEngine

  • 1. Getting Started With ExpressionEngine BostonEErs March 2010 Ruthie BenDor unruthless.com | @unruthless
  • 2. ExpressionWhat? • EE is a (freakin’ awesome) content management system for websites. • Self-hosted: install it on your/your client’s own web server. • Web-administered: browser-based control panel. • Written in PHP, runs on MySQL.
  • 3. EllisWho? • ExpressionEngine is a commercial product by a company called EllisLab. • EllisLab also created and released CodeIgniter, the open source PHP framework. • EllisLab is not paying me.
  • 4. Wait, EE isn’t free? • Nope. • $300 for a commercial license, $150 for a non-commercial license, $100 for freelancers. Includes tech support, free updates for a year. • Most add-ons are free, though some cost $. Add-ons come from both EllisLab and third- party developers. • Bottom line: $100-$500 for licensing.* *depending on your site, of course.
  • 5. What about hosting? • Any web host that supports PHP and MySQL can handle ExpressionEngine. • EllisLab’s server wizard will tell you for sure: http://expressionengine.com/overview/ requirements/ • Looking for a web host? EllisLab’s sister company, EngineHosting, specializes in hosting EE websites. • EngineHosting is also not paying me.
  • 6. Which version do I want? • Mission-critical website? Or need a lot of add- ons now? EE 1.6.8 (Stable) • Non-mission-critical site? Or very few add-ons required? EE 2.0.1 (Public Beta) EE 1.x EE 2.x Been in active Released in Dec ’09; development since built atop CodeIgniter; 2004; super-stable; major improvements to tons of add-ons control panel; still buggy
  • 7. Links so far Purchase an EE site license: https://secure.expressionengine.com/ index.php?ACT=EE2 Get technical support: http://expressionengine.com/forums Browse EE add-ons: http://devot-ee.com/add-ons/
  • 9. Q: Why EE? 1. EE flexes to fit your site content, not the other way around.
  • 10. Wordpress has one bucket for content: the blog posts bucket. This is great, if your site is a blog. “Everything is posts a blog post!”* *seriously, everything. ‘Pages’, too.
  • 11. But for sites that aren’t just a blog, we often need more than one bucket. press staff posts news releases members legal job videos podcasts events cases openings
  • 12. But for sites that aren’t just a blog, we often need more than one channel. posts news press staff releases members legal job videos podcasts events cases openings
  • 13. (A brief aside on terminology) In EE 1.x, ‘channels’, i.e. buckets of content, are called ‘weblogs’. This, unsurprisingly, tends to confuse people. (WTF, EllisLab?) Just call them channels.
  • 14. Each of your channels has a different structure -- that is, the group of fields that make up items in that channel. Staff Lawsuits Name Name Position Description Department Outcome (Win/Lose) Biography Related documents Email Address
  • 15. How to start entering content into EE 1. Create a channel for each type of content your site has. 2. Create a field group for each channel, with the fields applicable to that channel. 3. Assign each channel to use the applicable field group. 4. Start entering content!
  • 17. Q: Why EE? 2. EE enables your content creators to update content by themselves.
  • 20. Q: Why EE? 3. EE lets you display your content how and where you’d like it, via templates.
  • 21. Templates FTW! • Templates are straight-up HTML, CSS, and/or JavaScript ... it’s your code! • ... With some special tags mixed in, to pull your site’s content from the database.
  • 22. ... <div class="post"> No CMS: <h3>My first blog post title here!</h3> <div class="post_body">The body of my post goes here.</div> </div> ... ... {exp:weblog:entries weblog="blog"} <div class="post"> EE 1.x: <h3>{title}</h3> <div class="post_body">{blog_post_body}</div> </div> {/exp:weblog:entries} ... ... {exp:channel:entries channel="blog"} EE 2.x: <div class="post"> <h3>{title}</h3> <div class="post_body">{blog_post_body}</div> </div> {/exp:channel:entries} ...
  • 23. Big Important Points • Your content is completely separate from your templates. • Include content from as many or as few channels on a single template as you like. • To control which channel content gets outputted, use tag parameters and variables.
  • 25. More Template Goodness • You can use PHP in your templates • You can embed templates within other templates • You can save templates as files, so you can edit them using your code editor of choice.
  • 26. Q: Why EE? 4. You can extend it to meet your needs.
  • 27. Add-ons • EXTENSIONS [EE 1.x, EE 2.x] are essentially ‘hooks’ in EE that allow the add-on to pass information and add functionality to existing interfaces. Mostly used to modify the Control Panel. • MODULES [EE 1.x, EE 2.x] are larger systems -- think standalone applications that you’d want integrated with a CMS. Modules may include their own extensions and plugins. Examples: Comment module, Search module, Channel/Weblog module. • PLUGINS [EE 1.x, EE 2.x] Plugins work on the template side, and usually contain PHP functions that manipulate things behind the scenes, keeping your EE templates free of PHP code. Example: Twit-ee, a twitter plugin. • ACCESSORIES [EE 2.x] Accessories allow you to easily incorporate your own information into the Control Panel. Example: analytics, video, useful links, etc.
  • 28. EE 2.0 and CodeIgniter • ExpressionEngine 2.0 is built as a CodeIgniter application. • If you need to build a standalone web application, just build it in CodeIgniter and leverage the same codebase as EE. • Lots of CodeIgniter developers out there.
  • 29. More Links User Guide for EE 1.6.8 http://expressionengine.com/docs/ User Guide for EE 2.0.1 http://expressionengine.com/ public_beta/docs/