Exploring the Future Potential of AI-Enabled Smartphone Processors
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!
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.
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/