First, we love the ongoing relationships with our clients. We don’t like to build something, launch it and go away. Some developers like that. They like to have a fresh new challenge every couple of months. We like new challenges too, but what we like much more at Solspace is a relationship. We like that we like our clients. We like that we care about them, their families, their careers, their wellbeing. It makes our lives much more rich. So with this part of our company DNA in mind it made perfect sense to have a formalized maintenance program. In fact, it made great sense to have such a program that even allowed us to inherit the work of other more project oriented developers. That’s why there’s EE Aftercare.
All entries filed under “Development Tools”
remotee-sync is a Node package that install a command line tool that makes it easy to import remote EE databases into your local development environment.
Install it with:
npm install -g remotee-sync
Instead of passing settings and credentials via the command line, you can use a config file to set your environments, databases, and more.
In what looks to be a useful service offering (and a clever differentiation strategy), Columbus, Ohio-based Anecka is offering a flat price to upgrade an abandoned add-on that you rely on.
There are a lot of add-ons we all rely on and sometimes (okay, far too often) they are stuck in the past. They’re not updated and no longer work well (or at all) with newer version of ExpressionEngine. This is especially true after ExpressionEngine 2.8, which made add-on breaking changes.
This puts ExpressionEngine developers/designers who want to upgrade to the latest version of ExpressionEngine in a tough spot as replacing these add-ons can be an expensive and time-consuming process.
Anecka wants to help you update those old, abandoned add-ons so you can keep moving forward with your project.
(The broader lesson here is: choose your add-ons wisely.)
At Vector Media Group we’re big fans of nginx. It’s often a much faster and more stable alternative to Apache – especially on projects getting heavy concurrent traffic. We use it on as many ExpressionEngine (and other CMS) sites as possible, so have created a template to use as a starting point on our projects.
The Github repository README has full instructions for installing and using nginx, including support for SSL, CE Cache, and more.
If anyone would take a stab at a CLI for ExpressionEngine, it would be Rob Sanchez.
And he did.
The CLI right now is limited in functionality (empty cache, install add-ons) but Rob is asking for pull requests with additional commands.
Have something you want to see added? Code it and then submit a pull request to the Github project.
Thank you, Rob. This is a great addition.
John D. Wells posted the slides from his GeeUp talk called “Partials: A DRY template pattern. Now part of EE core.”
That about says it all. John gives an informative walk-thru of how partials will help you. Even without seeing John give the talk, the slides are very helpful.
The addition of real layout support in EE is a huge step forward. No more hack arounds needed. And, layouts even support dynamic variables that you can set similar to embed variables. But better because it’s not embeds.
The update to my ExpressionEngine training course (coming out tomorrow) covers layouts and it was a joy to be able to teach that instead of the old embed way, which was easily abused at the expense of the performance of your website.
This is only useful to the subset of ya’ll who use Alfred 2, a nice quick launcher utility for OS X.
It’s an Alfred workflow that makes it easy to search EE StackExchange and find what you need (hopefully a solution to a problem!).
The workflow was created by EllisLab and shared on their blog.
While we’re talking about EE StackExchange. If you have a moment, hop over to the site and answer any questions you can!
The general concept is to trace your local db changes and store them into a release file. Release files can be deployed through FTP/GIT/SVN/Etc, after deploy you can do an install of the release, pushing all your db changes.
A new addition to the EE documentation is this full list of System Configuration Overrides. The overrides–in the past documented in the wiki and other places–allow you to override default values or values set through the control panel and saved in the database right in your config file. This is handy if you need those values to differ between environments (local, dev, production).
From former EllisLab employee Kevin Smith:
Yeoman is a web app development workflow that makes it easy to generate scaffolds for dozens of web development technologies.
Rob Sanchez made a Yeoman generator for ExpressionEngine add-ons (a fork of one created for modules) that makes it easy to spin up a new add-on package by just answering some questions.
All it takes is running:
to generate a new add-on shell.
As any EE pro will know, setting up an ExpressionEngine site can involve going back and forth to the same old settings several times. All this takes time and money, but you can speed up the initial process by following a few simple steps which could save you an hour or two’s worth of faffing about!
Just like it says on the tin.
Beanstalk is my favorite repository hosting tools because of its excellent deployment tools. But sometimes I want to host my code elsewhere but still take advantage of those tools.Dploy.io makes that much easier now.
It $29/mo (free for open source) and can deploy to one more servers at a time.
In an upcoming release ExpressionEngine will support New Relic, an application monitoring service.
New Relic gives you all sorts of juicy data about your website and web application (in this case it would be ExpressionEngine). It can also do PHP application monitoring and measure response time, throughput and other server information.
ExpressionEngine will soon be bringing out-of-the-box compatibility with the popular application performance monitoring service New Relic. We’ve been using the service ourselves and find it incredibly useful and oftentimes enlightening. With no need to install a module or add any tags, ExpressionEngine will automatically detect if New Relic is enabled in your PHP environment and provide you with a wealth of useful information.
If you’re unfamiliar, New Relic gives you a look into all aspects of the full stack of your site’s performance, particularly at the transaction level.
Do you already use New Relic and want to give input into the features of the New Relic API that ExpressionEngine will support? EllisLab wants your input and feedback. See the blog post for more details.
An interesting approach to EE site deployment by Krasimir Tsonev where he logs out all queries required to make changes to an EE site (add channels, fields, etc) and the re-runs those queries in another environment.
It’s a somewhat manual, requires changing core files but also possibly a workable database migration for ExpressionEngine.
I have several servers and every one of them has its own database. There are changes in my local database which I have to transfer to the others. I don’t need to export/import the whole database. I need only the latest changes which I’ve just made. Ok so … if I inject some code just before to send something to the mysql I’ll be able to log all the queries. Doing this I’ll have the exact requests to the database and will be able to execute them on the other machines.
Has anyone else tried something like this?
Earlier this year Jason Siffring posted a great article on how to use a transactional email service for ExpressionEngine emails. I was working on improving mail over Mijingo and needed to refer to the article.
Jason even gives you a great comparison of third-party email services. Also, note the Escort add-on that will make it easier to interface with the service APIs.
Has a client ever said to you, “Why didn’t I get that reset password email?” Have you ever had to wait patiently for like ten minutes to get a new member activation email? Ever lose sleep wondering if your contact form is really working? If so, let me introduce you to the wonderful world of transactional email delivery services.