Published by Mijingo

Learn ExpressionEngine TodayAdvertise Here

Over a series of 8 videos, watch and learn as Ryan builds an entire ExpressionEngine website from beginning to end. Get started now.

blog icon image

Matt Weinberg on SSL and Cookies

Blog Entry

Matt Weinberg (Vector Media Group), who gave a great talk a few years ago on e-commerce and PCI compliance at EECI in San Francisco, chimes in on the EE StackExchange about variable SSL and cookies.

The full set of cookies for matching domains is transmitted by the browser with each page request to that domain, even if the original cookies were set using HTTPS/SSL and the current page is HTTP.

One way around this is by setting the “secure” flag on cookies you set. Any cookies set with the “secure” flag will only get transmitted by browsers when connecting to HTTPS pages.

Read the entire thread on StackExchange

Posted on Jul 02, 2014 by Ryan Irelan

Filed Under: Community, Stack Exchange, E-commerce

blog icon image

CTRL+CLICK CAST: Choosing a CMS

Blog Entry

Whether you are a company looking to automate your content management or you are a front-end developer building a CMS for your client or employer, choosing a CMS isn’t just a decision. Finding the “right” CMS is (and should be) a process of research and evaluation. For the latest CTRL+CLICK, Stephanie Sullivan Rewis joins the show to share her process of choosing a CMS for her employer, Contatta.

She talks about requirements, from what she needs as a front-end developer to what her creative team needs to maintain content. And she discusses how her requirements evolved as she did more research. Stef also shares what she looked for beyond core functionality to get to her CMS shortlist: documentation, support and community. Tune in now!

Thanks to Visual Chefs for sponsoring this episode!

Posted on Jun 26, 2014 by CTRL+CLICK CAST

Filed Under: CTRL+CLICK CAST

blog icon image

Your Weekly devot:ee - June 26, 2014

Blog Entry

devot:ee

  • Learning Tools Integration by Paul Sijpkes
    Provides template tags to access IMS Global’s LTI Specification version 1.0. The user is automatically added to the Members table based on the LTI context sent from the LMS. Control panel access allows addition of an unlimited amount of LTI consumers, each on a different template url segment.

Posted on Jun 26, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

Brad Parscale on Exp:resso Store Purchase

Blog Entry

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.”

Posted on Jun 24, 2014 by Ryan Irelan

Filed Under: EE Add-ons

blog icon image

DevDemon Acquires Exp:resso Store

Blog Entry

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.

Posted on Jun 24, 2014 by Ryan Irelan

Filed Under: EE Add-ons

blog icon image

Your Weekly devot:ee - June 19, 2014

Blog Entry

devot:ee

Posted on Jun 19, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

CTRL+CLICK CAST: Outsourcing to Agencies with Carl Crawley

Blog Entry

Not all web agencies “own” their clients. Some are hired guns for other agencies. For the latest CTRL+CLICK CAST, special guest Carl Crawley returns to the show, this time to talk about how his agency, Made By Hippo, operates as an outsourcing company.

From the reasons behind his company name to why he chose to focus exclusively on outsourcing, Carl shares how outsourcing helps him be more professionally satisfied and Hippo more profitable. He details how he finds and chooses agencies to work with, including those who outsource to him. He also discusses nuances of outsourcing such as when and what terms are outlined in contracts vs. what he handles with “gentleman’s agreements.” Tune in now!

Thanks to Hover for sponsoring this episode! Tune in for a special discount code!

Posted on Jun 12, 2014 by CTRL+CLICK CAST

Filed Under: CTRL+CLICK CAST

blog icon image

A Comparison of Localization Solutions for ExpressionEngine

Blog Entry

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.

More Reading

Posted on Jun 08, 2014 by Tim FitzGerald

Filed Under: EE Add-ons

blog icon image

Your Weekly devot:ee - June 5, 2014

Blog Entry

devot:ee

We sent out our first devot:ee newsletter this past week. It only took us five years to get around to sending out an email! We’ll do our best to do a monthly recap of all the add-ons that have come out and to inform you of any other tidbits we find important. If you’re not already subscribed and want to see the contents of the first one, it is online here.

  • CUHO Categories Groups ($) by Customhost
    Change your categories groups in two easy steps: drag and save. This module will helps you to re-organize your categories structure by changing categories-to-groups assignment.
  • Retina Already ($) by Evan R. Thompson
    Retina Already is a simple to use solution for caching and serving retina and standard resolution images to the user.

Posted on Jun 05, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

CTRL+CLICK CAST: eCommerce in Statamic

Blog Entry

Have a pending ecommerce project and don’t know where to start? What are the considerations for implementing an ecommerce solution for a client? Don’t fear—Jason Varga, creator of the Bison ecommerce add-on for Statamic is here for this week’s episode, to discuss ecommerce considerations in general, while breaking down what questions to ask clients, and to dispel myths regarding ecommerce, databases and flat files! We also talk about all these items through three perspectives: the client facing developer, the third-party add-on developer, as well as the developer of a CMS!

Tune in now! Thanks to Visual Chefs for sponsoring!

Posted on May 29, 2014 by CTRL+CLICK CAST

Filed Under: CTRL+CLICK CAST

blog icon image

Your Weekly devot:ee - May 29, 2014

Blog Entry

devot:ee

  • In by Causing Effect (Aaron Waldon)
    Include or Insert template files. A light alternative to snippets and embeds.
  • Link Vault Logger by Ron Hickson
    A simple plugin to extend the great Link Vault module. The plugin merely logs a download without generating a link which can be useful in some situations (like dynamic PDF creation).

Posted on May 29, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

Dash-ee 2.0 Released

Blog Entry

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.

Posted on May 27, 2014 by Ryan Irelan

Filed Under: EE Add-ons, EE Modules

blog icon image

EE StackExchange & Alfred 1

Blog Entry

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!

Posted on May 27, 2014 by Ryan Irelan

Filed Under: Community, Development Tools

blog icon image

EE Conference Adds Agency Package

Blog Entry

EE Conference recently added a new way that your agency can send a few people as attendees and sponsor the conference. The Agency Package consists of 3 conference tickets, a private Sunday night dinner, full conference access (including recordings) and 5 entries into the Best of Show awards. In addition, you get a conference sponsorship slot (which ends up only costing $500).

The package costs $2000 and is a great way to send a few people and support the conference.

Posted on May 27, 2014 by Ryan Irelan

Filed Under: Conferences

blog icon image

Your Weekly devot:ee - May 22, 2014

Blog Entry

devot:ee

  • Related Open by Caddis
    This extension adds links to related items in ExpressionEngine’s native multi-relationship field.
  • PG by Caddis
    A tag pair to loop through all GET/POST parameters in ExpressionEngine.
  • Number by Rein de Vries
    Create a real number field with the benefits of filtering due the nature of the field.
  • Currency by Rein de Vries
    Create a real currency field with the benefits of filtering due the nature of the field.
  • Limitee by Caddis
    Limit ExpressionEngine titles, text input field types, and textarea field types to a specific character count, with a counter to let you know how many characters are remaining.
  • Snappy Concierge by UserScape
    Deliver more than a CMS to your clients. Concierge integrates ExpressionEngine with the Snappy support system to manage your client support.

Posted on May 22, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

Your Weekly devot:ee - May 16, 2014

Blog Entry

devot:ee

  • Time From Now by jbueler (jbueler)
    Time from now will let you add a string modifier to the current time and will return a datetime string in its place. This would be useful for performing channel entries loops with the start_on and stop_before parameters. This will let you use dynamic dates in situations where you may have had to enable PHP before.
  • Hop Fasta ($) by Hop Studios
    A Hop Studios Accessory that puts a Quick Update button on the Template editor.
  • Resizer by Caddis
    Use Resizer to to resize, cache, and retrieve images with a number of options.
  • Codeebird by Dan Herd
    An ExpressionEngine wrapper for the Codebird PHP Twitter library.

Posted on May 16, 2014 by Ryan Masuga

Filed Under: Weekly Devot:ee

blog icon image

CTRL+CLICK CAST: Code Refactoring with Jina Bolton

Blog Entry

The nature of the web is constant change, and your code base should be no different. But updating your code shouldn’t be a one-time endeavor, and it shouldn’t be an all-or-nothing proposition. Instead, you should refactor iteratively as you need, whether it is to fix a bug or update a CSS vendor prefix.

For the latest CTRL+CLICK, Jina Bolton joins the show to discuss this process of refactoring, which involves iterative, narrow updates to the code base, without changing features or functionality. She shares her approach to refactoring by starting with the smallest element and keeping focused on a single change. She also suggests what areas can be commonly refactored, such as introducing a CSS preprocessor and establishing variables for CSS colors and typography. Jina also details her refactoring workflows, including using version control, documentation and supporting a “living” style guide.

We also comment on the paid support discussion going on in the Devot-ee forums. Tune in now!

Thanks to Hover for sponsoring this episode!

Posted on May 15, 2014 by CTRL+CLICK CAST

Filed Under: CTRL+CLICK CAST

blog icon image

EE3 in the works per EllisLab CCO

Blog Entry

In an interview on Nublue, a web design agency, EllisLab Chief Creative Officer, shared a tiny bit about ExpressionEngine 3:

Are there any elements of the design within EllisLab applications that you are particularly proud of and why?

Yes. However, those elements aren’t public yet, as they are part of ExpressionEngine 3. I came to EllisLab after ExpressionEngine 2 was released, so aside from some small tweaks here and there, ExpressionEngine 2 is largely not my work. In the curious case of ExpressionEngine 3 I’ve taken my time trying to sculpt a user experience that will feel at once both new, and familiar. From that base, I plan to iterate and improve the control panel even further.

Read the entire (short) interview

Posted on May 06, 2014 by Ryan Irelan

Filed Under: EllisLab

blog icon image

ExpressionEngine Work at UMass Boston

Blog Entry

Long-time community member Jim Wyse has an opening (or two):

That is a fine group of folks who do great work at the university. You could be part of the team.

Posted on May 01, 2014 by Ryan Irelan

Filed Under: Jobs

blog icon image

May 6th: LA ExpressionEngine Meetup

Blog Entry

The next Los Angeles ExpressionEngine Meetup takes place on Tuesday May 6th at 7pm. The topic will be “Refine or Reboot” and take a look at both ExpressionEngine and Craft.

ExpressionEngine is one of the primary tools we use to build websites. However, knowing a tool well is to also know its limits. Join us to discuss common pain points with ExpressionEngine and how one agency has found themselves turning to Craft CMS - a new CMS by the popular ExpressionEngine add-on developers Pixel & Tonic - to solve some of these problems.

There are a handful of prizes available for attendees, so be sure to RSVP to attend.

Posted on May 01, 2014 by Ryan Irelan

Filed Under: Meetups