All entries filed under “Development Tools”

Documenting EE Installs

The other day I came across this older thread in the EE forums about maintenance packages for clients (EE updates, etc) and how different companies and freelancers approach this problem. That, it turns out, wasn’t the most interesting part of the thread for me. Instead, it was this paragraph from Kurt Deutscher about how he documents the add-ons and configurations for client sites so it’s easy to know what’s installed.

We store a little .txt file called aaUpdateNotes.txt in every hosting account where we work with an EE site. We list all of that site’s add-ons and who last updated the site and sometimes what version of an add-on was used (not typically though). Before we run an update on a site, we open this file and keep it open during the update incase we find something that needs to be added to, or removed from, the file for the next update. With well over 100 EE installs we maintain, that little .txt file keeps us sane when doing updates.

At a glance, Kurt knows all of the add-ons installed and perhaps any potential issues that may arise during an upgrade. It also makes it easy for people new to the site to get up to speed on the configuration. Nice idea.

Erik Reagan chimed in with a link to an add-on they’re working on called Dev Docs that allows you to have documentation within the site Control Panel. From the add-on description:

Dev Docs was born from a desire to have project-specific, developer-based documentation available within a site’s Control Panel.

At Focus Lab we have a file in each project’s repository root that is meant only for developers. This file is in Textile formatting and is meant to be the primary source of information to get “up to speed” on the project.

Erik wrote a great article for EE Insider on creating documentation for ExpressionEngine that should help you get started doing documentation for your projects.

Time to get documenting!

Posted on Feb 03, 2012 by Ryan Irelan

Filed Under: Development Tools

ExpressionEngine 2, MarsEdit and External Editors

Has anyone been able to get EE 2.2+ working with MarsEdit? I have seen some support threads on the MarsEdit site referring to an “Invalid Access” error (which is what I’m getting) but point back to a problem with EE.

While I’m at it, how many of you even use third party tools for posting content to EE? Take the survey below and let’s find out. I’ll share the results after a few days.

Posted on Feb 03, 2012 by Ryan Irelan

Filed Under: Development Tools

Nordic EE Site

I came across the Nordic ExpressionEngine Users site through their review of my MySQL and ExpressionEngine video. It’s a very specific site for scandinavian EE developers.

We love ExpressionEngine, and were encouraged by many people, to do a site where developers and customers in Scandinavia could find each other.

Very cool.

Posted on Jan 19, 2012 by Ryan Irelan

Filed Under: Development Tools, Life as a Web Professional

List Out All Extension Hooks

Everyone’s favorite…Stephen Lewis wrote up some handy terminal commands that retreive all of the available extension hooks for a given ExpressionEngine installation. From the script comments:

A couple of useful bash one-liners for finding all of the extension hooks in a given ExpressionEngine installation. Here’s what it does:

  1. Finds all of the native hooks, and any third-party hooks;
  2. Sorts them alphabetically;
  3. Outputs them to STDOUT or a file of your choosing.

Why would you need this? The most obvious reason is so you can easily find what’s available to you while developing an EE site, especially if it is one that you inherited or jumped into mid-project.

There are two commands: one that outputs the extension hooks via the STDOUT and one to a file. If you like these commands, it’ll be easier to save store them in an alias for easier retrieval or in a tool like TextExpander.

Posted on Jan 13, 2012 by Ryan Irelan

Filed Under: Development Tools

Preview of Striper E-commerce Module

Today, Jack McDade (Lobster War Machine and Structure) posted a sneak preview of his new module Striper. I know what you’re thinking because I was, too. Jack has been rocking out to some 80s glam rock. But that’s not the case at all. Jack has been working on a simpler e-commerce module that has more features than the Simple Commerce Module but not as much as other tools like Cartthrob or BrilliantRetail.

I haven’t played with the module myself yet but judging from the video this looks very nice. I’m looking forward to trying it out.

Posted on Dec 21, 2011 by Ryan Irelan

Filed Under: Development Tools, E-commerce, EE Add-ons

One-Click Delete and Ban Snippet

EllisLab alum and web developer Derek Allard shared a snippet he uses to have a “delete and ban” link next to comments on the front end of his site. When he gets a spam comment he can easily dispose of the problem and ban the user.

When spammers do sneak comments through my blog, I have a very simple one click* snippet to ban them similar to the way the EE forum’s “ban member” option works. Essentially, beside every comment, I have a “delete & ban” link. This saves me needing to fire up my control panel, and navigate to the proper place. It just saves a bit of clicking around.

The snippet is similar to other code you may have used before that code direct links to the Control Panel in your template and use the entry_id variable to point to the proper entry or comment.

Read Derek’s post for the code and details.

Posted on Dec 20, 2011 by Ryan Irelan

Filed Under: Development Tools

CodeKit Developer Tool

Last week, I posted a video about the LiveReload utility for web developers. Another similar (and more flexible) app available is CodeKit.

Like LiveReload, the app is currently in beta but expected to be available for around $10 on the App Store soon. The beta will expire next week. If you’re interested in trying out another tool like LiveReload, definitely download CodeKit and give it a shot.

Posted on Dec 13, 2011 by Ryan Irelan

Filed Under: Development Tools

A Case for Custom Extension Hooks

Everyone’s favorite add-on developer with the last name Lewis, Stephen Lewis, says it’s important for add-on developers to include hooks in their add-ons to allow for custom extensions.

Not all feature requests are created equal. Some are extremely insightful and far-reaching, and improve the add-on in ways you never imagined. Most are narrow, case-specific, and don’t belong in the core product.

Extension hooks provide a means of dealing with the latter in a way that doesn’t adversely affect the core add-on.

He continues with an example of his Campaigner add-on and how allowing for custom extensions lets him, in his own words, abdicate responsibility, for special features or customizations that a developer might need for their project.

Solid advice.

Posted on Dec 01, 2011 by Ryan Irelan

Filed Under: Development Tools, EE Add-ons, ExpressionEngine 2

Protect Member Pages

It’s well known that if you don’t change your member profile trigger word from the default of “member,” that anyone can browse to your site and see a list of members.

This recently came up again in a tweet from Ryan Masuga and what followed were some good suggestions on what to do make the issue of inadvertently exposing your member list go away.

(My favorite is AJ Penniga’s highly technical solution to the problem.)

Read a full list of the suggestions

Posted on Dec 01, 2011 by Ryan Irelan

Filed Under: Development Tools

A Conditional Conundrum

King of the Parse Order, Low Schutte, digs up an interesting example where an EE conditional isn’t treated as you might expect. Low skirts around the issue with a preload replace variable. Sneaky, sneaky.

I won’t spoil it here, so first check out the code that Low posted as a gist and then read his explanation below it. But, try to figure it out on your own first before looking at the answer. smile

Posted on Nov 25, 2011 by Ryan Irelan

Filed Under: Development Tools, Life as a Web Professional

Using Snippets, Preload Replace Variables and the Parse Order

The king of the EE parse order, Low Schutte, has dazzled us once again with a great way to leverage the EE parse order to make your templates even more flexible and reusable than you thought possible. What do you get when take Snippets, Preload Replace Variables and the Parse Order? Super flexible templates that don’t have the overhead of embed templates. That’s what.

According to EE’s parse order, snippets are parsed first, before preload replace variables. These, in turn, are parsed before plugin and module tags, so both can be used as early parsed variables. This combination makes it possible to change the content of your snippet on a per template basis. Much like embeds and embed variables, but without the performance hit.

A series of Preload Replace Variables set your template values and then the snippet just uses those variables to pull in the right data. Read the entire blog post from Low (or, if you’re like me, read it twice) to get all of the details, including some sample code.

Very cool.

Posted on Nov 17, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2

Protect entries from being accidentally deleted

Darren Miller put together a list of ways to protect entries from being accidentally deleted. If you’re like me, you probably already take some of these measures (like enabling versioning or properly setting member group permissions) but Darren took it a step further using a config variable and a simple extension to protect a set of entries. Very clever!

Is this necessary?

It may seem unlikely that someone would go through a double-submit confirm procedure to delete the home page of the site but somehow it does happen. So how to stop it?

Read the entire write-up from Darren to find out how he does it.

What do you do to protect entries for the sites you build? Do you have a different approach?

Posted on Nov 08, 2011 by Ryan Irelan

Filed Under: Development Tools

Share Code at EE Snippets

A new service is available that allows you to share your code snippets with others. It’s called EE Snippets.

At first (and up until a few minutes ago), I thought the site was about sharing your Snippets (with a capital S) but it’s actually about sharing your code snippets (lowercase s). This is how some people used my EE Insider Tips service I launched in May 2009. The Tips section was never widely used but there are some great ideas, code snippets, tips, tricks and ideas in there. Here’s to hoping that EE Snippets can pull off this same idea on a dedicated site. Having a central place to share this type of information could be a great resource for the community.

Posted on Nov 07, 2011 by Ryan Irelan

Filed Under: Development Tools, EE Insider Tips

Learning ExpressionEngine Resources

Couchable put together a list of beginner EE resources, which includes dozens of links that will help you install ExpressionEngine and get started building your first site.

I’ve put together a collection of tutorials, books, articles and videos for ExpressionEngine newbies and novices. Smashing Magazine had a similar collection but it is now pretty dated being from 2008. I tried to find as many free examples as I could but ultimately I went with the resources I felt were the best, paid or otherwise. So this list will have some paid stuff but you can learn ExpressionEngine for free if you so choose.

Missing from the links is my free HD video on installing ExpressionEngine (also available on YouTube).

Great list and if you need help learning about ExpressionEngine, check out the weekly EE Help Chat.

Posted on Nov 01, 2011 by Ryan Irelan

Filed Under: Development Tools, ExpressionEngine 2, Training

EE Add-on Documentation Using Sphinx

I have a post planned on the new documentation from EllisLab but until then, read this tutorial from Exp:resso on how to document your CodeIgniter and EE add-ons using the same tool that EllisLab uses: Sphinx.

The beauty of using Sphinx is that you can write your documentation using ReStructuredText, a text format similar to MarkDown. You can then easily generate your docs in a variety of output formats, including HTML and PDF. It also helps to keep your content separate from design, and automatically handles repetitive tasks such as generating a table of contents / navigation, and linking between your documents.

The blog post walks you through the entire process of installing Sphinx and styling it like the official ExpressionEngine documentation.

Read the full tutorial: Documenting ExpressionEngine and CodeIgniter Add-ons

Posted on Nov 01, 2011 by Ryan Irelan

Filed Under: Development Tools, EE Add-ons


Hosting by EngineHosting

ExpressionEngine Training Videos and Screencasts