Last week at EEUK, Chris Imrie demoed and announced a brand new add-on he co-developed with (EE Insider guest author) Eric Lamb. The add-on is called Entry Analytics and it gives you a glimpse into the performance of your entries…right in the entry edit form!
Entry Analytics uses Google Analytics to fetch the data about the visit, pageviews, bounce rate, conversions and more on each of your entries. In order to use Entry Analytics you have to have a Google Analytics account and it needs to be hooked up to the site where you want to install the add-on. I have years of Google Analytics data, so plugging in the add-on I immediately had data to view.
If you or your clients are into measuring and viewing analytics on their website, this add-on will be a good companion. I have it running here on EE Insider (the developers provided me a complimentary copy) and I look forward to seeing the numbers.
Last week Masuga Design updated Link Vault, their add-on that makes it easy to create and track protected download links in your EE site.
Version 1.3.0 has some additions, like ability to create pretty URLs and append the file name to the URL. There are some refinements and bug fixes included.
I have personally used Link Vault and can recommend it as a solid way to track and protect downloads.
There’s a new extension available that makes it possible to use the Superfish drop-down menu plugin in the ExpressionEngine control panel.
You should install it on your copy of EE and give it a shot. The main navigation in the control panel no longer needs a click to open and Superfish includes hoverIntent functionality so the menus only open when they should.
Here’s a quick look at the normal EE menus vs the Superfish menus. EE menus are first. Take a look:
ExpressionEngine has a handy feature that lets you create a custom button (aka tab) in the control panel that links to a specific page within the CMS. However, these tabs are specific to an individual user. There’s no way for an administrator to create custom buttons for an entire group of users.
The folks at UK shop moresoda released a new event management add-on today called moreEvents. Chris Imrie sent me an email with information about the add-on:
It’s a complete event management module for EE that lets you sell tickets and manage events through your website. It includes built in payment processing, attendee information capture, earlybird pricing, member group pricing and more.
Jesse Bunch describes a problem that you’ve probably faced before. You have a great workflow set up with Git, SVN or another VCS and then someone goes into the EE Control Panel and edits the templates, completely bypassing the workflow.
Obviously, this is a huge problem because our production severs don’t commit changes back to the repository for obvious reasons. So when someone edits a template on the production server, nobody knows it happened and when we deploy a change to that template, it is very likely that the change will be lost or our working copy will become out of sync (depending on how we deploy the project).
To help fix this problem, Jesse created an extension that disables the template editor in the Control Panel.
This extension makes the templates and template groups in EE read-only. It doesn’t affect things like synchronization, PHP input/output parsing, and access control.
You can get the extension at Devot-ee. It’s only available for EE2 right now (although a EE1 version is planned) and is free to download.
You have a channel with lots of fields. You’ve spent ages making a beautiful custom publish layout for your client to make their life easy. You’ve separated your fields across multiple tabs and everything looks great. Your client then creates a new entry and leaves a required field empty. EE captures the error and adds a warning, but the field is on the second tab and the client can’t see it. They have no way of knowing there is a problem; they don’t even know the entry hasn’t been saved.
Mega Error displays a giant message at the top of the publish page with a summary of errors and then an error with each field across all tabs.
Regardless, CacheCracker is a new extension from Issac Raway and it boasts the ability to “give you complete control over caching in your ExpressionEngine system.”
The extension, which is available via Github while in beta testing, has forced caching for all templates, expiring caches for edited templates, caching of global embeds and more.
Read the documentation for the entire list of functionality and download the public beta to help Issac test out the new extension.
A few days ago Rob Sanchez tweeted a screenshot that caught my eye – a hook called cp_menu_array that is hanging out in expressionengine/libraries/Menu.php like it’s nothing special. It was added in EE 2.1.5.
Elivan Zoeren created a spam blocking extension for EE2 that uses the Bad Behavior script to weed out spam submissions. In a clarification in the comments to his post, Elivan notes:
Bad Behavior works before Expression Engine starts generating the page, so spammers won’t be able to see your website at all. So it keeps them from spamming SafeCracker, FreeForm, EE contact forms, etc.
magine an online application using a channel with many fields. Some are suitable for submission from a Safecracker form and some are not (perhaps ‘admin notes’ or ‘store credits’. Could be anything). With SafeCracker in it’s current state, if the name of a sensitive field can be established, it can be updated by injecting a hidden field into the edit form. This amounts to, at best, Security through obscurity and at worst a gaping security hole.
If you have fields that you don’t want to ever be accessed via SafeCracker, you should either not put those fields in the custom field group at all or use something like SafeSharpener. The developer, Darren Miller, is asking that something similar to this be added into SafeCracker.
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.
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.
Over at the Erskine Labs blog, Jamie Pittock walked through the building of his language switcher extension. His extension needed to allow a default language, limit the number of languages, allow users to set a preferred language that will be remembered on subsequent visits and a way to display or access the language choice in the EE templates.
He came up with a language switcher add-on (freely available on Github) that does just that. Jamie paired his add-on with NSM Multi Language to make it easy to input content in multiple languages.
If you’re old like Ryan Masuga, you’ve probably used Leevi Graham’s original Twitter add-on that allowed you to easily post to Twitter from inside the Control Panel.
Today Leevi and Newsim released a brand new version of the add-on for EE2: NSM Twitter.
NSM Twitter is an oAuth authenticated ExpressionEngine addon that allows you to post Tweets to one or more Twitter accounts when an entry is modified or from a handy accessory.
Leevi Graham released a nice extension that allows members to login using their email address instead of a regular ol’ username.
Previously if a developer wanted email login functionality they would need to use Solspaces User module and check “email is username”. However doing so would be limit the use of the “username” variable in templates. Example: Profile URLS with usernames would need to be created with unfriendly member id’s. http://yoursite.com/member/leevigraham - vs - http://yoursite.com/1
We had this exact problem when building Typedia and had to abandon using email addresses as logins as a result. Clearly, the key flaw in our plan is that we didn’t have a time machine that would take us to the future to download both EE2 and Leevi’s extension.