Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting Started With ExpressionEngine


Published on

Slides from the March 23rd, 2010 BostonEErs meetup. Check us out at !

Published in: Technology

Getting Started With ExpressionEngine

  1. 1. Getting Started With ExpressionEngine BostonEErs March 2010 Ruthie BenDor | @unruthless
  2. 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. 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. 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. 5. What about hosting? • Any web host that supports PHP and MySQL can handle ExpressionEngine. • EllisLab’s server wizard will tell you for sure: requirements/ • Looking for a web host? EllisLab’s sister company, EngineHosting, specializes in hosting EE websites. • EngineHosting is also not paying me.
  6. 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. 7. Links so far Purchase an EE site license: index.php?ACT=EE2 Get technical support: Browse EE add-ons:
  8. 8. Q: Why EE?
  9. 9. Q: Why EE? 1. EE flexes to fit your site content, not the other way around.
  10. 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. 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. 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. 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. 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. 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!
  16. 16. Demo: Channels & Field Groups
  17. 17. Q: Why EE? 2. EE enables your content creators to update content by themselves.
  18. 18. Demo: Content Entry Form
  19. 19. Demo: Member Permissions
  20. 20. Q: Why EE? 3. EE lets you display your content how and where you’d like it, via templates.
  21. 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. 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. 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.
  24. 24. Demo: Templates
  25. 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. 26. Q: Why EE? 4. You can extend it to meet your needs.
  27. 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. 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. 29. More Links User Guide for EE 1.6.8 User Guide for EE 2.0.1 public_beta/docs/