Introducing Low Variables

Footer text, logo, the recipient of a contact form, the number of articles on the home page, selection of rotating header images… These are but a few examples of site-wide content and settings you might encounter when building a web site. Settings you also might want to modify every now and then. Using our CMS of choice — ExpressionEngine — there are a couple of ways to set this up, but none of them ever felt right to me. But now, there’s another option.

Birth

As most EE Add-ons, Low Variables was born out of necessity. I wanted to give regular users access to the User Defined Global Variables, without giving them access to the Templates section. Basically, I’d be giving them the ability to edit static bits of content throughout the site. I asked if it was a good idea and I got enough response to go ahead with my plan.

Baby steps

Completely ignoring Paul Burdick’s advice, I just started coding, thinking it would be a small job. And it was, at first. I had a very basic version of what I had in mind up and running in no time. But then it hit me: with a bit more effort, I could take it a step further. And with even more effort, I could take it a lot further. Gotta love your own, self-induced scope creep.

Adolescence

Inspired by the most popular EE Add-on, I started to rebuild the basic structure of the module, allowing for Variable Types. Before I knew it, I had a handful of different Types and a setup that would allow for many more. Then it hit me again: people might pay for this. Brandon Kelly’s presentation at EECI2009 had already nudged me in that direction, so I decided I’d make this my first commercial add-on.

Adulthood, almost

Low Variables could well be the answer to Life, the Universe, and Everything EE, so I thought a price tag of 42 USD would be appropriate. However, it turned out that selling software online isn’t as easy as it seems, especially if you want to do it right for the Dutch/European tax laws. Eventually, I caved in and settled for a price in Euros instead: 29.75 (which, depending on the rates, is about 42 bucks).

So there you have it. Available today, for the bargain price of €29.75: Low Variables. An ExpressionEngine add-on that takes User Defined Global Variables, Fresh Variables and FieldFrame and puts them in a blender to make a shiny new smoothee.

Be gentle… It’s my first time

PayPal is used to handle the purchases and refunds are given within 30 days. Please note that, since it’s the first time I actually sell stuff online, things might not go as planned. If that’s the case, please let me know, and I’ll sort things out. As for support, I’m giving Get Satisfaction a go, so go there for bug reports, questions and ideas.

Future plans

The current version of Low Variables is compatible with EE 1.6.8. There will also be a 2.x compatible version available later. As soon as it is, a single license will allow you to use either the 1.6.8 or the 2.x compatible version, in the same way EllisLab is doing with EE 2.0 PB at the moment.

Many thanks to Brandon Kelly, Jamie Pittock, Erwin Heiser, Robert Eerhart and Albert de Klein for their help and suggestions.

December 17th 2009 | Add-Ons, Announcements, ExpressionEngine, Low Variables | 15 comments

Comments

  1. 1 Adrienne Travis December 17th 2009, 21:59

    Is pricing per front-facing site, or per EE installation? This isn’t a trivial question for EE installations with MSM.

  2. 2 Shotwell Company December 17th 2009, 22:18

    Congrats on the release. I caught wind of it through Brandon’s twitter. Do you have docs on it? BTW, both the Return and Tab keys seem to be disabled on your site’s comment form. It’s giving me a headache.

  3. 3 Low December 17th 2009, 23:08

    Adrienne, one license is valid for one EE install, including MSM sites.

    Shotwell, the download & docs page is linked multiple times in this post. It’s http://loweblog.com/software/low-variables/ And I’m not sure what you mean with Return and Tab being disabled…

  4. 4 Rob B. December 18th 2009, 03:27

    OH! This is so amazing! I want five! I’ll be trying this module out very shortly. I love Fresh Variables but its lack of labelling drives me nuts. I’ve used it out of necessity for every project, but this is far better.

    Congratulations, and amazing work! Thanks Low!

  5. 5 Adrienne December 18th 2009, 22:50

    Low:

    Oh, YAY! Thanks so much! I’m getting very frustrated with a lot of the commercial licensing for EE addons, where it’s per front-facing site and not per install — especially for things that install into the back-end only, it doesn’t make sense.

  6. 6 Rob B. December 19th 2009, 02:39

    I just purchased Low Variables and installed it on a new project. It’s great. The other sites will take time as I have to change the variable names themselves in order to be organized in the control panel. I’ll probably just take an afternoon a month from now to turn them all from Fresh Variables -> Low Variables.

    On an older site (with EE 1.6.8) where I was originally planning to get it going as a test, I found that when I mass-enabled early parsing, I got a fatal PHP error. I’m not sure why early parsing for Low Variables works differently than it does in Fresh Variables or normal Global Variables you access through the template. But anyway, if I go back and enable them one at a time I’ll get a better idea of why it’s happening.

    A quick request for Low Variables 1.1: would it be possible to create a “notes” or instruction field for each variable? Being able to title a variable is great. But it would be nice to have instructions describing the format of the variables the site admin has to use, that could fall underneath the field (as in custom member fields). (For instance, if there’s a URL variable, it would be nice to add, “Please include the http://” or other instructions.)

  7. 7 Low December 19th 2009, 10:39

    Rob, what was the error you were getting? And when exactly did you get it? As for the notes field, I actually thought of it as well. Now that there is an apparent need for it, I’ll put it on the todo list.

  8. 8 Rob B. December 19th 2009, 12:52

    Hey Low:

    Adding that to the to-do list would be super. It would make the layout of L.V. pretty consistent with other control panel layouts, too (publish forms, member profiles, etc.)

    In the site where I produced the error, I have about 30 Template Global Variables. When I go into the Manage Variables page of the module, there is a checkbox at the top to select all variables, so one can perform an action on them with the select-menu-and-submit combination on them.

    When I check this box, and submit to enable early parsing for all the variables, and return to any front-end page, I get the error:

    Parse error: syntax error, unexpected T_STRING in /www/pmh4547/public_html/system/core/core.functions.php(634) : eval()’d code on line 5

    However, this error could really be about anything… I have complex templates, and the variables are kind of a mess. When I enable variables one at a time, they’re OK. When I have time to return to that site, I’ll experiment a bit with my templates to see if it’s a particular variable throwing the system. (The only thing I’ve ruled out is a variable name conflict with the Fresh Variables module.)

  9. 9 Adam George January 20th 2010, 15:51

    This is a great add-on Low! Well done. I’m glad you’re charging for it. You’ve released quite a few useful add-ons to the community and deserve every penny!

  10. 10 Ed Jordan January 22nd 2010, 23:18

    I’m using Low Variables on my site and finding it very useful.

    The usefulness of the Select Entries type would go way up for me if I could specify the order of the selected entries in some way.

  11. 11 Low January 23rd 2010, 00:12

    Hey Ed, reordering has been requested before and is under consideration.

  12. 12 Ed Jordan January 23rd 2010, 03:49

    Low, thanks for letting me know.

  13. 13 Boyink June 14th 2010, 23:34

    Hey Low - Can I use conditionals within one variable to look at if a user is logged in or out, and return different status options to a weblog:entries tag pair based on the outcome?

    Basically I’m looking to allow logged-in users to view posts with a pending status without having to duplicate templates or weblog entries loops.

  14. 14 Low June 16th 2010, 17:16

    Hey Mike, I’m afraid Low Variables won’t solve that problem. Vars with early parsing are basically snippets, so just a simple string replace. No actual parsing of code of the var’s value happens until EE’s template parser gets to it.

    You’d need to use PHP on input. See my slides, and example #1

  15. 15 Boyink June 16th 2010, 17:41

    Thanks Low - gave options to client and we’ll see where it goes.

Commenting is not available in this weblog entry.