Blog Entry
Over at his company blog, Erik Reagan has kicked off a cool new series that will help people approach building their first add-on. It’s not a how-to in the sense that you’ll build an add-on. Instead, Erik will drop some knowledge on everything you need to know to get started building your first add-on. A good idea because the initial context of building an add-on is usually missing for most people.
I thought it might be handy to come up with a list of tools or concepts you’ll need to be familiar with when approaching add-ons. Some of these items are specific to EE while others are more general to PHP or CodeIgniter. The list will be delivered in a series of posts in which we will encourage you to look at the new terms and post any thoughts or followup questions in the comments.
The series will be in the ABC format, so there will be one concept for each letter of the alphabet. I’m really looking forward to this and hopefully it’ll be a good resource for anyone undertaking their first EE add-on.
Erik starts off with the letter “A” and the topic of…wait for it…“Add-on.” Read his first post: The ABC’s of EE Add-on Development
Blog Entry
- AC Member list (for EE2) by Alpen Consulting
This plug-in allows you to access member data (including custom member fields) of one or several members. Sorting and filtering by any field (including custom fields) is possible. Useful if you need to display a member list or data of any member not currently logged on.
- CX Disqus Comments ($, for EE2) by Crescendo
Easily add Disqus comments to your ExpressionEngine site, export your existing comments to Disqus, and sync new Discus comments back to the ExpressionEngine database for SEO and safe keeping.
- MB Countdown ($, for EE1 & EE2) by Mark Bowen Design
Nice simple countdown plugin. Provide a date (can be provided in human readable format) and you then have access to {years}, {months}, {days}, {hours}, {minutes} variables.
- Pvl PathInfo (for EE2) by Pv Ledoux
This plugin runs the PHP pathinfo() function on a given path parameter.
- Get Channels (for EE2) by Pv Ledoux
Returns a list of channels. Includes a parameter listing all channels to which a logged in member has access.
- BR Category Crumb (for EE2) by Carl Crawley (Made by Hippo Ltd.)
Allows you to output parent categories for a Brilliant Retail Product Category.
- Snippet Sync (Developer license) ($, for EE2) by Brian Litzinger
Snippet Sync lets you manage all your snippets on the file system just like a normal template. Now you can manage and edit your snippets just like you do a template file.
- Better Pages ($, for EE2) by Booyant
Better Pages is an ExpressionEngine fieldtype designed to make using the Pages module significantly more end-user friendly.
- Child Category Count (for EE2) by Zac Gordon
A simple plugin that returns the number of child categories for a given category.
- Purge (for EE2) by Kevin Cupp
Purge is an extension for ExpressionEngine that sends a purge request to the Varnish caching proxy upon entry submission/deletion. This allows you to keep objects in the cache longer while still being able to keep your site up-to-date.
- CI Helpers (for EE2) by Focus Lab, LLC (Erik Reagan)
Bring CI Helpers into your EE templates. Gain access to simple functions backed into CodeIgniter (and thus ExpressionEngine) such as working with Cookies, working with dates, form elements, inflection, word or character limiting and more.
Blog Entry
Zac Gordon is leading a free ExpressionEngine class in Falls Church, VA on June 18, 2011. The class will take place at the offices of Viget Labs and run about 4 hours total (10-3 with a break for lunch).
In this one day workshop you will learn everything you need to know to start building easy to update web sites with ExpressionEngine, often called the most flexible CMS on the market. We will will start with an HTML5 and CSS3 template for a freelancer portfolio web site and learn how to build it out into a site that you can fully manage from the ExpressionEngine control panel.
The class will cover all of the basics you need to know when getting started with ExpressionEngine. You only need to know the basics of building websites (with HTML and CSS), so any web professional can easily follow along during the class.
There are only 20 seats available, so Zac is taking applications to make sure the seats are filled up with people enthusiastic about being there. Is that you? Learn more and apply to attend.
Blog Entry
Engine Summit 3, the online conference for ExpressionEngine, takes place on June 7th from 9 AM to 5 PM CDT.
If you’ve never participated in an online conference, it’s very simple. The morning of the conference you’ll get a URL in your email giving you access to the conference website. Here you’ll be able to chat with other attendees and the speakers, see the speaker slides, the speaker video and hear the audio.
This Engine Summit features: Fred Boyle, Chad Crowell, Leslie Flinger, Mark Huot and Emily Lewis.
Learn more or register for the conference.
Blog Entry
Booyant (makers of NavEE) released a new add-on today: Better Pages.
Better Pages is an ExpressionEngine fieldtype designed to make using the Pages module significantly more end-user friendly.
Well, okay. What can it do?
Better Pages is a field type that allows you to narrow down which templates apply to the channel to which you’re posting. And, in addition to that, you can assign a thumbnail to the template, so your users can select a template by look instead of just name. Very clever!
Booyant is running a “ramp-up pricing” special. The price for Better Pages starts at $1 today (May 16th 2011) and increased by one dollar each day until the end of the month. The final price of Better Pages will be $15.
Watch the video they put together to learn more about how Better Pages works.
Blog Entry
If you need to run the same ExpressionEngine site in different environments (development, staging, production), you might want to take a look at Jesse Bunch’s write-up on how he configured EE2 to support multiple server environments.
There have been a lot of different approaches to this in the past. Here are a few:
The best approach is to take a little from each and come up with one that makes the most sense for you.
Blog Entry
EE community members Focus Lab are celebrating their first year of business by giving away some awesome prizes. Included are a couple of EE licenses but also a lot of awesome services and tools for people who work on the web.
We, along with some friends, have comprised some goodies to give away to our creative services community. This will be conducted in the form of a drawing with multiple winners. Rather than create certain “levels” of prizes we’ll be giving each winner 1 thing. That means more people win!
I counted 15 prize as of now and they are going to award one per person. That’s a lot of chances to win!
Read Erik Reagan’s post for more: Anniversary Giveathon by Focus Lab, LLC
Blog Entry
The final beta release before EllisLab releases ExpressionEngine 2.2, which will include the reworked File Manager as well as commence the new release schedule we’ve heard about. Robin Sowell wrote up a blog post explaining more:
The most significant change in this release is the move to storing file information in the database. The release also includes includes over 50 bug fixes, the removal of the Blogger API module, as well as the addition of some feature requests.
There are a lot of changes to the File Manager. Here’s a quick rundown of what Robin mentioned:
- synchronization feature so you can pull uploaded files into the database.
- File Upload Preferences moved to Admin section of the File Manager
- You can now set thumbnail image sizes and watermark preferences per upload directory (yay!)
- They still need to add back in functionality that was stripped out: file manipulation, “category and other metadata fields.”
There are also some known issues with the release, so please read them before installing so you know what you’re getting into. Robin covers them all in her blog post.
As always, they are looking for feedback and bug reports on this beta release. Read Robin’s entire blog post for all of the details: ExpressionEngine 2.1.5 Beta Released
Blog Entry
Mike Boyink is teaching another of his Train-ee classes and this time it takes place in San Francisco from June 14th to June 17th.
The class takes place at the Sandbox Suites Union Square and runs four days. It’s a great way to focus on EE and meet others who are doing the same.
Early bird pricing is good until May 20th. Learn more: ExpressionEngine, the San Francisco…Delicacy!
Blog Entry
- Snippet Sync ($, for EE2) by Brian Litzinger
Snippet Sync lets you manage all your snippets on the file system just like a normal template. Now you can manage and edit your snippets just like you do a template file.
- Lonely Cat (for EE2) by Wouter Vervloet (Baseworks)
A category dropdown that will only allow you to select 1 category.
- Array Mill ($, for EE1) by Laisvunas
Enables using PHP array functions in ExpressionEngine’s templates.
- Disqus (for EE2) by Marc Tanis
Integrate Disqus Commenting System with your ExpressionEngine install. Sync comments from Disqus into EE and output them with simple to use tags.
Blog Entry
There’s been a bit of buzz about using Disqus with EE recently and now you can sync your Disqus comments with EE so you never lose control of your data. The Disqus add-on also makes it easy to use Disqus on your EE site but the syncing is the important part.
Interested? Check out the free add-on on Devot-ee and use the forums to give feedback and get support.
Blog Entry
I was alerted to this information by a tweet by Brendon Carr that EllisLab is moving to a new release cycle. This isn’t a new announcement. They have previously said that releases are changing and it was starting soon. But up until now we haven’t had many details.
In the forums Leslie Camacho expanded more on that in a thread about the File Manager:
We have the last beta scheduled for release next week. In EE 2.2, scheduled for early June (we’ll confirm publicly later in May), we’ll have fully moved to a new release process, bug fixing process, and testing process. The goal of all this is to have a stable release that is always that, stable and have a “tip” release that represents the cutting edge but is definitely for playground, EE devs, etc… who want to use it as a way to help influence EE’s direction and make the stable version better.
EE 2.2 will have the initial release of the new File Manager in the stable version and a significant reduction in bugs in the stable release (as opposed to the beta). With EE 2.2 we’ll also have an improved Forecast page as well based on an 8 week release cycle so you can better plan client upgrades/maintenance.(emphasis mine)
So, some good nuggets of information in there. First, EE 2.2 is scheduled to be out in about a month and this will include the “initial release” of the new File Manager (which is a redo of the new EE2 File Manager, see more in our File Manager Beta Gallery from February). Second, they will be aiming to release EE updates on regular 8 week schedule.
Good news all around, I think.
Blog Entry
Over in the “Sandbox” area of their website, Blue Coast Web has been dropping some knowledge on ExpressionEngine. In their article “Planning Ahead with your ExpressionEngine Templates,” they explained how to think ahead about creating templates so you don’t run into problems later.
Regardless of how you decided to set up your templates, the main issue was that once you created a site and got it up and running, there would inevitably be some changes from the client in terms of adding new pages, moving sections around, or completely changing the layout of an area. When you end up embedding sections with reckless abandon, those “simple” tweaks from the client can become hairy tangles of embeds that blow through your leftover budget.
So, what’s the best way to “future-proof” your template structure so that you can speed up development time, cut down on redundant code, and most importantly, make those later changes without much trouble?
Read the whole article to find out.
Blog Entry
EllisLab released an update to the Twitter Timeline plugin to close a security hole. It is a critical update so everyone should update to the latest version of the plugin.
Pascal Kriete posted to the EE blog:
We wanted to give you a heads up that we updated the Twitter Timeline plugin to address a security issue. We consider this one critical as it can result in unexpected information disclosure. Both ExpressionEngine 1 and 2 versions were affected. All users are encouraged to update to the latest version (tell your friends).
Read Pascal’s post to learn about the update: Twitter Timeline Plugin Security Update
Blog Entry
I’ve been a bit inconsistent lately due to a new baby boy and a move to a new office, so I’m trying to get back on track this week with a heaping helping of EE add-ons. The most interesting one, in my opinion, is Low’s “Low Search”, which is one we’re going to try as we convert devot:ee to EE2 (we use Super Search right now, but there’s no harm in trying something new, especially if it can help speed up or give more relevant searches in any way). If you have a site that relies on having a search, you might also look at Low’s new offering.
- morePreview (for EE2) by moresoda
ExpressionEngine 2 accessory that allows you to preview newly published content from the control panel immediately after publishing (even if entry is closed).
- Beanstalk Web Hook (for EE2) by moresoda
Allows ExpressionEngine cache to be emptied after Beanstalk deployments by using the Beanstalk Web Hooks feature.
- moreMatrixRelations (for EE2) by moresoda
Provides a lightweight relationship fieldtype for use with Pixel & Tonic Matrix.
- moreGeocoder (for EE2) by moresoda
Provides an ExpressionEngine 2 publish form text field that is geocoded (converted to Latitude and Longitude) for use in Google Maps.
- CRZ Keyboard Shortcuts ($, for EE2) by Chris Ruzin
Allows you to create keyboard shortcuts for the EE2 control panel.
- Publish Bar (for EE2) by Ryan J. Bonnell
Streamlines publishing by adding a subtle overlay bar at the bottom of the ExpressionEngine entry editing screen, freeing you from having to scroll to the top of the page to save your changes.
- Tally (for EE1 & EE2) by Derek Hogue (Amphibian Design)
Tally is a simple plugin which allows you to calculate totals for numeric values in an entries loop. A common use for this would be calculating order totals for the month from your e-commerce orders channel, or adding other financial data spreadsheet-style.
- ThEEditor (for EE2) by Visible
ThEEditor adds EE Tag Syntax Highlighting, shift-tab reverse indent, line numbering, and intelligent javascript error-checking to the built-in template editor.
- Low Search ($, for EE2) by Lodewijk Schutte (Low)
Low Search is a simple yet powerful search tool that uses search collections based on channels to create an index, which is searched and returns channel entries. Per search collection, you can apply weight to each searchable field, adding importance to that field. Once an index is built, it is kept up to date automatically. Search results are sorted by relevance which is calculated through the use of MySQL’s native full-text functions.
- Page Type Switcher ($, for EE1) by Laisvunas
A dropdown fieldtype displaying list of page types; selecting different page type shows/hides relevant fields.
- Encaf ReeMember ($, for EE2) by Chad Crowell (Encaffeinated)
ReeMember allows you to automate membership activation reminders and pending member pruning in ExpressionEngine 2.x membership sites.
- DT Plugin (for EE2) by Vim Interactive, Inc.
The DT, or date and time, plugin displays dates with formatting and allows you to add days, months, years to the current date or a static date you set.
- Google Maps for ExpressionEngine (for EE2) by Objectivehtml
This plugin combines the familiar syntax of the exp:channel:entries tag (all of the parameters are available) combined with all the properties used to initialize Google Maps, thus making the process very familiar. You can plot locations using custom fields from your channels, or just a static address within your EE templates.
- Rewrite Link (for EE2) by Lee Hilton
Attempts to rewrite HTML links to set target=“_blank” for any link that is outside the configured site_url value.
Blog Entry
The man we know as “Low” (Lodewijk Schutte) released yet another add-on today and it’s a great one: Low Search.
Low Search is a simple yet powerful search tool for ExpressionEngine. It uses search collections based on channels to create an index, which is searched and returns channel entries. Per search collection, you can apply weight to each searchable field, adding importance to that field. Once an index is built, it is kept up to date automatically.
Just like the built-in search module you have template tags for the search form and results. Additionally Low Search keeps a search log, so you can review recent search queries “including keywords, member (if applicable), ip address, search date and parameters (eg. search mode, collection, etc.).” Wow! That’s a great way to see what your visitors are looking for so you can help them more easily find that content.
Low Search will also do “loose ends” search so you can have partial word matches returned.
A normal search will match exact words only, a fuzzy search will also return partial matches, eg. Lion will also match Lions and Lioness, but not Dandelion. Exact matches will still be rated higher than partial matches.
At 35 Euros (about $51 US), it’s worth the purchase just to see what the add-on can do and how you can flex its muscles in your next EE2 project.
Blog Entry
This is a on-going series of entries where I highlight EE experiences.
Would the notepad in #eecms not be better as an accessory so that it can be easy turned off or shown only to certain groups?
Andrew Gunstone via Twitter
This came out of a discussion on Twitter about the usefulness of the control panel sidebar and the notepad.
Blog Entry
Since March there has been an ongoing thread in the ExpressionEngine forums about the EllisLab support services and how they’ve managed to scale (or not scale) with the growth of the community. It started with this post:
We’ve been using EE for 3 years now professionally. We’ve launched tons of EE websites on EE1 and a few now on EE2. I used to love EE for two main reasons; the system was great and the support was top notch.
While I still think the system is great, I feel like the support has gone down hill since EE2 was released. I’ve been holding off making this thread, hoping that it was temporary but it is really so unreliable and slow with many issues that I don’t know what we are paying for.
There are several discussions happening but the one that interests me the most is about how so many tech support requests are quickly (and sometimes rather bluntly) moved to the CodeShare Corner and left to the community to figure out.
As Tony Geer said in the thread:
Codeshare Corner is basically where posts go to die. A lot of time questions are asked and the support response is that they’re shifting it over there for community help and it never gets answered and that seems to be the end of it.
I went through this entire thread and some other threads that have been moved to CodeShare. I do agree that, on the surface, it does seem like tech support just tosses people over to CodeShare quite a bit. Admittedly, a little more explanation from the support staff could be given or an initial attempt at helping solve the problem, giving suggestions or at least a nudge in the right direction (and in some of the threads I read they did just that).
But, as someone who provides support for my own products, I have to say that there’s a fine line between a general support request and a question that is so specific to the site someone is building that it can sometimes border on consulting services. I get this a lot and I always try to be as helpful as possible but ultimately and unfortunately I’m unable to solve very specific problems for someone. I do try to give customers some guidance and let them know I’m here to help out as much as I can. I’m sure add-on developers run into the same situation.
It is definitely in the best interest of EllisLab to make sure their customers are successful using the software. Successful experiences turn people (like many of us) into fans. And fans rave (and sometimes, when they’re disappointed, rant) on Twitter and other places online about ExpressionEngine. That’s one reason EE is as popular as it is.
Not to oversimplify this too much but part of the problem, I think, is the name of the forum area to which these requests are moved. “Codeshare Corner” must be confusing to people. It is to me. I thought it was a place for coders to share code. The full description of the forum area makes it clearer but not clear enough to overcome the geeky name.
I imagine a lot of EE users don’t consider themselves coders at all. They use EE exactly because they aren’t coders. Maybe that’s why, as Tony pointed out, threads go there to die. A renamed forum space might help more community members click into the forum, read open threads and help others.
Update: EllisLab has renamed the CodeShare Corner to “Community Help,” which is a much better name!
Another topic that has been raised (by many including me last year) is that the forums aren’t good enough for support. Sometimes we need private threads or tickets where we can discuss, in confidence, the details of a project. However, there is concern that a blind ticket system would hide helpful information from others. I don’t see this as a problem because the really helpful information (How do I do x
with EE?) is always bumped out to the Codeshare Corner anyway.
All that being said, EllisLab has readily admitted that support isn’t where they want it to be and they are working on improving support to meet demands. The thread in the forums is open and they encourage you (and I encourage you) to chime in with some constructive feedback. The staff is listening to the requests.
Blog Entry
While there is an existing non-rails version of Capistrano available (I haven’t tried this version yet but it looks handy), this post will walk you through the process of using standard Capistrano to deploy EE2 projects. Capistrano can be a little work to set up and is definitely for those comfortable using the command line (it also requires SSH access to the server).
Read the entire how-to: Capistrano for Expression Engine 2
(Dan Benjamin also posted a how-to on deploying EE1 sites from Github with Capistrano. Dan’s how-to articles are widely held as some of the best out there.)
Blog Entry
What in the world is Pkg.io?
It’s an add-on package builder for ExpressionEngine! Built by Greg Aker, Pascal Kriete and Marcus Neto, who also happen to be employees of EllisLab. The package builder allows you to easily create add-on packages for your ExpressionEngine add-ons.
Greg explains:
At this time, it’s an addon skeleton maker for ExpressionEngine developers. What we’re most happy with, is someone with no knowledge of PHP will be able to make an accessory to use on their client sites. We think we have some fun things in store, but wanted to get something out now.
This is a great developer utility and we definitely need more of this stuff for ExpressionEngine users and developers. Bravo!