Getting Started With ExpressionEngine BostonEErs March 2010 Ruthie BenDor unruthless.com | @unruthless
Jun 25, 2015
Getting Started With ExpressionEngine
BostonEErs March 2010
Ruthie BenDorunruthless.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.xBeen in active
development since 2004; super-stable;
tons of add-ons
EE 2.xReleased in Dec ’09; built atop CodeIgniter; major improvements to control panel; still buggy
Links so farPurchase an EE site license:https://secure.expressionengine.com/index.php?ACT=EE2Get technical support:http://expressionengine.com/forumsBrowse EE add-ons:http://devot-ee.com/add-ons/
Q: Why EE?
1. EE flexes to fit your site content, not the other way around.
Q: Why EE?
Wordpress has one bucket for content: the blog posts bucket.This is great, if your site is a blog.
“Everything isa blog post!”*posts
*seriously, everything. ‘Pages’, too.
But for sites that aren’t just a blog,we often need more than one bucket.
legalcases
jobopenings videos podcasts
posts news pressreleases
staffmembers
events
But for sites that aren’t just a blog,we often need more than one channel.
legalcases
jobopenings
videos podcasts
posts news pressreleases
staffmembers
events
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.
(A brief aside on terminology)
Each of your channels has a different structure -- that is, the group of fields that make up items in that channel.
StaffName
PositionDepartment
BiographyEmail Address
LawsuitsNameDescriptionOutcome (Win/Lose)Related documents
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!
How to start entering content into EE
Demo:Channels &
Field Groups
2. EE enables your content creators to update content by themselves.
Q: Why EE?
Demo:Content Entry Form
Demo:Member Permissions
3. EE lets you display your content how and where you’d like it, via templates.
Q: Why EE?
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.
...{exp:weblog:entries weblog="blog"}
<div class="post"><h3>{title}</h3><div class="post_body">{blog_post_body}</div>
</div>{/exp:weblog:entries}...
...{exp:channel:entries channel="blog"}
<div class="post"><h3>{title}</h3><div class="post_body">{blog_post_body}</div>
</div>{/exp:channel:entries}...
EE 1.x:
EE 2.x:
...<div class="post">
<h3>My first blog post title here!</h3><div class="post_body">The body of my post goes here.</div>
</div>...
No CMS:
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.
4. You can extend it to meet your needs.
Q: Why EE?
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.8http://expressionengine.com/docs/User Guide for EE 2.0.1http://expressionengine.com/public_beta/docs/