All entries filed under “EE Add-ons”
Coverage of interesting new EE Add-ons that are released.
Patrick Pohler penned an article on Medium on how to easily add an API to your ExpressionEngine add-on.
Adding an API can help you add-on be more useful and flexible because it can connect to other systems, and allow developer to extend it without hacking the add-on code.
So how are external apps going to communicate to our ExpressionEngine add-on? We’ll need to make sure we can expose API methods that respond correctly to GET and POST requests.
Patrick continues with API code samples for his “Mission Tracker” A-team sample add-on, including a detailed code walk-thru. Very helpful!
Read the entire how-to article
A couple of relevant updates for you on the changes with how ExpressionEngine 2.9+ handles conditionals.
Yesterday, I wrote:
Conditionals are parsed better, simple vs. advanced conditional is now a thing of the past, and there are some nice new operators; you can do simple math and more robust comparisons.
I was, admittedly, glossing over a big change in EE and one that impacts some third party developers. Fortunately, because of the Developer Preview Program all developers who participate had plenty of warning on this change. But it doesn’t mean that this will be a simple transition.
(A month ago, EllisLab wrote a good explanation of the changes to conditionals that is required reading for anyone working with EE.)
Already developers are posting updates for their add-ons to support the new conditional handling and they are trying to get the word out about how their add-ons are affected.
Low Schutte pondered:
As I wrote in last week’s Content Mgmt Outlook email:
The forever problem of moving forward versus not leaving people behind.
Low also wrote up some instructions on how to use his Low Search add-on going forward:
And Mark Croxton, the wizard behind Stash, tweeted:
Stash in 2.9 still works the same but Mark highlights an important workaround.
Mark also has an excellent explanation of the conditional parsing:
In 2.9 EE attempts to parse if/else conditionals before each pass and after the very last pass (or you can think of it as after each pass and before the very first pass), and will do so only if they are “ready” - the variables being evaluated actually exist. Previously, simple conditionals were parsed just before the first pass only, and advanced conditionals were parsed at the end of the very last pass only.
Some add-on updates may be backward incompatible (i.e. not support EE prior to 2.9), so always check the release notes before upgrading an add-on and not EE.
Earlier today, DevDemon announced that they purchased the ExpressionEngine e-commerce add-on Store by Exp:resso.
Brad Parscale, whose company Parscale Media owns DevDemon, is no stranger to buying EE stuff. Last year he bought the rights to the EECI conference (relaunched as the ExpressionEngine Conference) and put on his first event this past Fall in Portland. The next installment of the ExpressionEngine Conference will be October 5-7, 2014 in Alexandria, VA.
He obviously cares about the ExpressionEngine community and tools, so I wanted to find out more about his plans.
About Store, Brad says:
I think Store is a great product and with some new life can make ecommerce on ExpressionEngine more competitive with hosted stores. We are already prepared to announce several new pieces including new add-ons to work with Store.
Brad and DevDemon already have plans for Store, including working toward a Store 2.4 release and a membership module.
The purchase of Store helps create “a stronger DevDemon” and that will result in, according to Brad, “better support, more add-ons and overall a stronger provider of [ExpressionEngine] technology.”
DevDemon added a new add-on to its portfolio: Store by Exp:resso.
DevDemon is thrilled to announce that Parscale Media, the parent company of DevDemon, has acquired Exp:resso, including Expresso Store and Freemember. The acquisition expands DevDemon’s growing product line and efficiencies to provide the very best in customer support and emerging technologies for ExpressionEngine.
From Exp:resso on existing customers:
What does this mean for our existing customers? Nothing will change in the short term. Existing licenses will remain valid, and we will still be providing the same excellent support we always have.
This is a guest post by Tim FitzGerald and is being published along with his detailed chart of localization add-ons for ExpressionEngine. Bookmark both pieces so you can refer to them during your next project. –Ryan
A recurring use case for an ExpressionEngine site is to provide content in two or more languages. EE’s framework includes the ability to translate its own control panel interface, but it doesn’t offer much help when it comes to the site itself.
This article explores the third-party add-ons that exist and compares their features. It may also help you ask important questions as you plan the development of your site.
Full disclosure: I’m not an entirely disinterested party here. I’ve started writing my own open-source add-on, listed my objectives, and wanted to see how it stacked up. I decided to share this list because I thought it could also help others evaluate the different options and find the tool that best meets their need. My goal was not to compete but complement the marketplace; you can find out more on my add-on’s wiki.
Specifically, I looked at:
- How they decide what language to serve (taking into consideration Google’s recommendations, among others);
- How they handle URLs (important for SEO in your target language overall);
- How they translate strings (i.e. form labels, banners, tag lines, and other content that isn’t served from entries); and
- How they manage translated content.
My results (see my comparison table) are based on documentation found online, personal experience when I have some, and in the case of open-source add-ons, inspection of the code. I invite add-on developers and users to report any inaccuracies to @tfitzgee and I will correct.
Remember that there is no one solution; it’s all a question of how important each of these factors are to you, how you like to resolve them, and the time and money you (or your client) are willing to invest.
We’re All Getting it Wrong to Some Degree
One thought that occurred to me while finishing up this census, and was reinforced by a recent article by John Faulds, is that we’re all talking about multilingual (actually most EE developers write “multi-lingual” with a hyphen)… Should we not instead be talking about localization (L10N)?
This is more than a semantic argument. Multi-language assumes that the only variation you need to address is language. But ask a New Zealander if American content is appropriate for him? Maybe yes, if you’re reading reviews on technology products; maybe not, if you’re looking to buy. Currency, store locations, timezones, units of measure (metric vs US/Imperial), legal framework, cultural reference, even spelling… these are all facets beyond just language that may lead you to having different content for different contexts. That is localization. (Or localisation with an s, if you’re a Kiwi.)
Faulds demonstrates these multilingual tools can serve the purpose of L10N, to some extent, but it’s not fully there.
The assumption may be that if you are so concerned about localizing your content to that degree, you should be running multiple sites with different templates altogether. Perhaps so. But I contend that there are scenarios where it makes sense to have it in a single site, and we should be designing our tools with that expanded goal in mind.
Two Real Turnkey Solutions; You Get Your Money’s Worth
There are, to the best of my knowledge, two add-ons that come close to delivering the whole package: Transcribe and Publisher. Both have their shortcomings, but none of those are so great as to rule them out. Both, it should also be said, are paid add-ons. I think that’s fair for the value of the polishing they provide.
I can personally recommend Transcribe, having used it for two sites now. I have not used Publisher as of yet, but it looks promising, and if it’s as complete and if the workflow aspect works as well as advertised, it offers you more than Transcribe for your dollar.
Both of these solutions are database-centric. That is to say any new strings or variables are not in config files. Not that’s a bad thing per se, but a design consideration as your sites development goes through its workflow.
The only gap is that neither of these cover the other localization needs beyond translating strings and entries. You’ll need something else to convert numbers and dates.
Other Add-ons Can Fill the Gaps Left in Native
When it comes to freeware, there’s a hodgepodge of solutions out there. I’ve covered the main ones in this table, but there are other add-ons that can help, like Low Variables and Republic Variables.
To use most of these add-ons, you’ll need a way to tell what language to serve, and you’ll need to structure your entries. The more notable approaches:
All of these approaches you creating subdirectories for each language at your site’s root folder with duplicates of EE’s
index.php, setting a language global variable. With EE 2.8’s template routing you may have a way around this.
- Multi-lingual sites on different domains with ExpressionEngine and Transcribe, July 2013,by John Faulds
- News: Multi Language Module Now Free For Everyone, by Ben Croker
- ExpressionEngine & Multi-language: General approaches, pitfalls, brick walls and RTL languages, Sep 2012, by Peter Lewis
- Intro to multi-lingual sites in ExpressionEngine, May 2012, by Steven Grant
- EE Insider ExpressionEngine How-to Articles, “Multi-language Solutions for ExpressionEngine”, Oct 2011, by Christopher Sandin
- MultiLingual Websites in ExpressionEngine, Jan 2010, by Carl Crawley
A big update to Dash-ee was released today and it sports a a lot of improvements, like multiple dashboards and a new interface.
What’s Dash-ee? It’s a module that allows you to create a completely customizable EE control panel dashboard.
Watch the overview video to learn more.
From their blog post:
Because it seems to happen often enough that ExpressionEngine release cycles significantly affect third party add-on compatibility, we have created an EE compatibility chart on our site that displays a grid of EE support.
If you use Solspace add-ons, bookmark the compatibility chart and then refer to it before each EE upgrade you do.
Smart move by Solspace.
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.
A popular tool for connecting to EE and editing your templates breaks when running on ExpressionEngine 2.8.
In a follow-up tweet, Mountee links to two EllisLab blog posts detailing the new EE 2.8 features on Sessions, Login Modals, and Secure Forms and Cleaner Control Panel URLs.
The “a lot of work to fix” note isn’t reassuring. Let’s hope they can make it happen.
Anna Brown has an interesting idea:
If you can’t do the commercial thing, then maybe just put the add-on up on Github and see if people rally behind it.
Freshly released over the weekend, Store 2.2 is out from the fine people at Exp-resso.
The release change you might want to carefully note is that Store 2.2 requires ExpressionEngine 2.7 (and later) now. If you upgrade, ensure you are running that latest version of ExpressionEngine.
I like and use Store. It’s a great e-commerce option for ExpressionEngine.
Read all of the release notes for Store 2.2
Next week at the EE conference, Low Schutte is teaching a class on ExpressionEngine add-on development. The course is over two days and totals 8 hours of learning (and hanging out) with Low.
Low is a great teacher and can easily explain and teach the concepts about EE add-on development. If you learn from anyone, make it Low.
Go here to learn about the class and to register.
Q Digital Studio posted a clever way to create a simple front-end grid for Freeform so you can have Matrix-like functionality on the front-end of your site.
Be sure to check out the demo.
Our friends at Expresso recently released Store 2.0, a big update to their popular e-commerce add-on for ExpressionEngine.
The new version is built on top of the open source OmniPay library and features improvements to shipping, discounts and taxes. The update is paid, at $199 for existing customers, and available now. To get the upgrade just log in to your account.
I have not yet used Store 2.0 but I’ve been using Store 1.x for more than a year to run all of store functions at Mijingo. It has flawlessly handled running my store and sending purchases through Authorize.net and PayPal. I’d like better reporting out of the box (hoping for some improvements in 2.0) but for a basic package I couldn’t be happier. I am planning to update to Store 2.0 in the near future.
Store 2.0 is available now.
Low Schutte (maker of the great Low Variables add-on plus many more) made the move to exclusively selling on Devot-ee last week.
I thought it was a nice idea: sell my stuff on my own site in euros, sell on devot:ee in US dollars. Link back and forth so people can choose in what currency they’d like to purchase licenses. However, it became apparent that most of my customers preferred devot:ee over my own site. The convenience of having all their purchases in one place proved to be a big plus.
In addition to convienence, Low also noted tax issues (because of the VAT–value added tax–in EU countries) that made it difficult to continue to sell in two different places. Selling exclusively on Devot-ee made things simpler for him.
There are a lot of reasons to shop at Devot-ee, the main ones for me being keeping all of my licenses in one spot and the ability to transfer licenses to other accounts (to a client’s account, typically).
Many add-on developers already sell exclusively through Devot-ee because it makes the process of setting up shop and selling add-ons turnkey and simple. Some sell both on their own sites and on Devot-ee as a way to make it as convenient as possible for their customers to access their add-ons.
[Earlier this year EE add-on juggernaut Pixel & Tonic started selling exclusively through Devot-ee] as a way to refocus the pixelandtonic.com website and put the add-ons for sale where it made most sense.
From Brandon’s post back in April:
Back when the site launched, devot:ee was in its infancy, and its add-on store was merely a twinkle in Ryan Masuga’s eye. Now that site is a vital resource for the EE community, and with its user reviews, favorites, store, and now lists, it’s a much better place to find out about, share, and purchase our add-ons than this site could ever be. So rather than try to compete with that, we have decided to let devot:ee handle the dedicated add-on overview pages and purchasing exclusively. The EE add-ons section of this site is now an elegant menu of our add-ons, with links to devot:ee.
Devot-ee has proven itself as the place to be to buy, sell, and learn about add-ons for ExpressionEngine. People are buying there, so the developers who sold on their own are moving there. It makes sense for everyone.
It would be incomplete if I didn’t mention the obvious comparison between Devot-ee and the Apple App Store (for Mac apps, specifically). Many apps in the App Store are available on the developer websites but it is absolutely more convenient to have all of those apps in one place, right in my Apple account. I don’t have to worry about license codes, activation, going to multiple places to get app updates, or any of the annoyances of having my software purchases distributed across several different websites.
If a add-on is available on Devot-ee then that’s where I’ll buy it.
I have said it before: Ryan Masuga and his team built a website that I wish I had built. And I’d wager that EllisLab wishes they had built it, too.