Getting Started With ExpressionEngine

Post on 25-Jun-2015

5.390 views 2 download

Tags:

description

Slides from the March 23rd, 2010 BostonEErs meetup. Check us out at http://meetup.com/bostoneers/ !

Transcript of Getting Started With ExpressionEngine

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

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/