For many years we have heard from agencies about the difficulties they have in keeping track of client licenses for ExpressionEngine. Good record keeping is a necessity, and can be as simple as a spreadsheet with the client’s name and license numbers for ExpressionEngine and any third-party add-ons used for their build. On our end we’ve provided a few things to assist, such as a “Notes” field in the Manage Purchases page with each license that can be used for the client’s name or other identifying information.
Even with these things in place, it’s easy after a few years of ExpressionEngine work to have accumulated so many licenses that some fall through the cracks. Many factors are at play: sheer volume, using a base install and forgetting to update the license, transferring some licenses to clients while maintaining others, etc. A far too common result of these many branching pathways and points for potential license confusion are conversations like this one:
End user: Hi EllisLab, we’d like to upgrade to the latest version, but we don’t know how to access the software on your site.
EllisLab: No problem, what is your license number in Admin > General Configuration? We can help you locate your account.
End user: It’s blank / It says <insert license number that is for a third-party add-on> / <insert valid license number that is not owned by the end user>
EllisLab: No problem, do you know who built your site for you?
End user: Yes but we haven’t been able to contact them / no, nobody still working here remembers who set it up.
At that point we try to help the client track down the developer, sometimes with success, sometimes not. Ultimately the developer simply neglected to key in the license number, forgot to purchase a license before taking the site live, or meant to transfer the license to their client but didn’t. To give a sense of scale to the problem, in just the last year clients have collectively experienced almost three years of waiting (25,394 hours) while sorting out their license ownership with all parties involved.
To try to address these challenges more directly, starting in ExpressionEngine 2.9, the Software License number has been moved to its own section of the control panel, and we’ve added a field to help clients (and EllisLab) know who to contact if they have questions about their license.
Note that this contact email address doesn’t have to be associated with your EllisLab.com account, as this is more for your client’s benefit down the road. In the example above, we’re taking advantage of plus addressing in the email address to use one account but still readily identify the client. If the information on this page is for some reason blank (due to using a base install, or removed from config), the control panel will prompt you to fill in that information to properly register your software. This registration information gets sent to EllisLab1 and when you are logged in, is displayed for you next to the license and your existing notes.
You will be able to see where the license is in use, as well as the last time the ping occurred. Using this information, you can monitor your clients’ sites by taking a quick glance at your Manage Purchases page and ensure none of your clients have a site that’s been down for months. E.g.: if you see a client site that hasn’t sent a ping in six months, it could be a sign that they need you for some services.
EllisLab has always taken a soft approach to license registration so we treaded very lightly here. You will never be locked out of your software nor will the behavior and output of your site be impacted by this in any way. But now agencies, freelancers, and clients are assured to have reliable information keyed in prior to launching their site, and readily on hand for managing their ExpressionEngine licenses down the road.
We also include the server IP, domain name, ExpressionEngine version, and PHP version. Having that version information allows us to make more informed development decisions, and rather than have a separate ping, we are piggybacking this one for performance. Further, this ping only occurs in the control panel on select pages and with a two week cache, so it will never interrupt the use of your site, your content authors, or your site visitors. ↩
We have made it a bit easier to manage your software downloads and access previous invoices. On your manage purchases page, you will now find links to your six most recent support subscription invoices in the subscription detail area of the page, and the main table listing now only lists your software downloads.
You can find a chronological listing of your entire purchase history by clicking the “view all invoices” link in the support subscription area. If you have never had a support subscription, your invoice history is already available via the main table. Enjoy!
Late last week we released a Developer Preview for ExpressionEngine 2.8.2. Being that it’s a maintenance release, there should not be any changes required to update add-ons for compatibility.
However, since a few add-ons are still catching up to 2.8, we thought it would be best to open up another Developer Preview to provide an additional opportunity for third-party developers to get help from us and to communicate any issues impeding their add-ons from being compatible.
We are constantly looking at how we can improve how we work with third-party developers to enable their add-ons to be ready simultaneous with an ExpressionEngine feature release. We’ve noticed that some developers are having difficulty being ready on time, and we want to ensure that the pathway for them to communicate with our engineers is clear. So we thought we would create a page in our user guide to make it easier for folks to know about the existing Developer Preview Program, enjoy.
Whole company support. We didn’t invent that phrase, nor are we the first company to try it. I’m thankful to the companies who came before us and brought it to our consciousness, as it gave us confidence to give it a shot ourselves. We’ve been trying it since just after the ExpressionEngine Conference last October and I thought I’d share some of our experiences.
We typically only blog about software and the web, but since we subscribe to a maker philosophy ourselves, we are inspired and delighted at others who get it, including those in totally different industries. Personally I’m a fan of Dave Munson of Saddleback Leather. He recently published a clever video demonstrating how the thought that is put into every detail and treating nothing as insignificant really makes their products stand out—by giving instructions on how to counterfeit their work. We couldn’t resist sharing.
EllisLab’s entire staff will be participating in a Q&A session at the upcoming ExpressionEngine Conference on Monday at 11am. While we will be fielding live questions from the audience, we are also taking questions in advance that the moderator will ask. This allows people who are planning on going to one of the other two talks at 11am (or who cannot attend the conference at all) to have an opportunity to have their questions answered. With so many people on our panel, it also helps us coordinate the short fifty minutes so that we can answer as many questions as possible in a sane manner. It also has the benefit of eliminating potentially long lines at the microphones.
Today, we’re releasing ExpressionEngine 2.7.0 which includes several new features, improvements and stability updates. We’re also releasing MSM 2.1.6 with stability and compatibility updates. Here’s a look at some of the new things in ExpressionEngine 2.7.0.
EllisLab is participating in this year’s ExpressionEngine Conference in full force. Our entire staff will be on hand and available to talk to throughout the event and we are scheduled for four different sessions:
- Opening remarks and the State of ExpressionEngine from EllisLab’s Chief Maker, Derek Jones.
- A Q & A Session with the entire team, moderated by conference organizer Brad Parscale.
- Gremlins in the Gears: Troubleshooting tips and tricks from EL’s own. The EllisLab Customer Advocate Team (CATs) will present hands on walk-throughs of real world troubleshooting. Come discuss the tools, techniques and processes you can use to assess and resolve site problems on the fly.
- Evolving a Large Codebase, presented by veteran Software Engineer Pascal Kriete. How to make sweeping changes quickly without sacrificing stability and backwards compatibility.
We also have a small reward for early bird registrants…
EllisLab prepares to say farewell to a much beloved product.
CodeIgniter is one of the world’s most popular Open Source PHP frameworks, used by thousands of developers powering hundreds of thousands of sites, in addition to being deployed as the underpinning of every ExpressionEngine installation. As of this writing it is the second most watched PHP project hosted at GitHub, eclipsing Slim, Yii, CakePHP, Zend, and Laravel in either followers, contributors, or both. It has the highest number of forks of any PHP project at GitHub of all time. It is used by everyone from AT&T to Home Depot to Dictionary.com, to Rachael Ray to Magento to the Mail & Guardian, to the Universities of Missouri, Michigan, Texas, Georgia, and more (Sources: builtwith.com, wappalyzer.com). And it is used as the server-side back end for many mobile apps.
Throughout its seven year life thus far, CodeIgniter has consistently received praise for being both speedy and surefooted. Small and lightweight, resistant to feature bloat, retaining compatibility with contemporary technology, the framework earned the reputation of being low-risk and high-gain, which fueled its worldwide adoption.
So why are we we looking for a new home for CodeIgniter?
EllisLab is committed to making ExpressionEngine the best content management platform available. Today’s developer preview for ExpressionEngine 2.7 includes a feature that was previously only available through the third-party add-on market: a fieldtype that allows authors to used grouped fieldtypes to publish any number of rows of related content within an entry. We’re calling it Grid, and it’s great for photo galleries, addresses, product details, baseball statistics and more. We thought it would be beneficial to provide some insight into this decision, as well as answer some pertinent questions about the third-party market for ExpressionEngine in general.