It has been three days actively working with ExpressionEngine, and I think I'm turning a corner.
Note the tense: "turning" not "turned."
Things are starting to make a little more sense to me, and I'm more comfortable manipulating the templates and admin features. However, I suspect I still have a fair amount to grasp before the proverbial "light bulb moment."
It isn't that ExpressionEngine is difficult to use per se. It is just more of a challenge — for me — to "get" conceptually.
The way the system generates URLs doesn't jibe with the way I like my URLs: a reflection of navigation. So, to modify the defaults, it requires a bit of massaging.
Also, all the training/tutorial resources out there seem to be geared to teaching you how to use EE to build a typical site, opposed to a blog. I assume this is because EE is supposedly designed to be used as a blogging tool out–of–the–box. Yet, since I don't, personally, like many of the system defaults, out–of–the–box doesn't work for me. So, the training/tutorials aren't working for me either.
I should also admit that after doing a fair amount of research on EE and watching EllisLabs' video tutorials, I just assumed it would be a simple process of getting my blog set up with content. And, when that didn't turn out to be the case, I was disappointed and frustrated.
As I continue to make progress, though, it is getting easier. And I'm beyond lucky to have help from my boss Ian, who is using ExpressionEngine not only for his personal blog, but five discrete projects for work.
As of this article, here's what I've got working (not much, but it has taken me three days to get here):
- Home page displays the first five (though I only actually have three) articles' introductions, with "continue reading" links that redirect to full text, and the resulting URLs reflect my preferences.
- Primary navigation is using segment variables to conditionally display the sections as links or text (for proper usability).
- Articles page displays the various alternative ways I intend to allow my readers to find articles (like an archive, but not really). Note: the majority of links here aren't working.
During the course of my learning how to use EE, I've found (been directed to) a number of excellent resources that must be shared:
- EE search bookmarklet
- I was really struggling with using Google for finding EE resources, and the EE documentation search wasn't all that better. Ian shared this wonderful bookmarklet that has played a big part in me getting the resources I need to keep moving foward.
- Count of entries in a category
- Surprisingly (to me, at least), EE doesn't provide a default way to display the number of posts/entries within a given category. This wiki article pointed me in the right direction, and this was my introduction how to drop in SQL queries for even greater customization.
- HTMLStrip plugin
- This little plugin allows you to strip away markup pulled from the database, with flexibility to "keep" designated markup. Easy to install and use.
- Saving templates as text files (to work with outside of EE control panel)
- One of the best (seriously the best) things about EE is that it lets you work with your template files outside of the control panel. What this means to me is that I can work on my markup and styles in my preferred text editor (Textmate). And what this means is nice indenting and formatting of my source code for easier debugging (yeah, I'm completely anal retentive). However, it takes a bit of configuration to enable this, as outlined in this EE documentation.
- As previously mentioned, I'm not a fan of how EE generates URLs, including how it appends
index.php. This wiki article details a few different approaches to how one can manipulate the
htaccessfile to get around this default configuration.
A few notes, though: You may have to actually create the
htaccessfile yourself, which is what I had to do (and took me about two fucking hours to figure out). Also, though the instructions indicate the
htaccessfile is a TXT file, do not save it with a
.txtextension. I did, and that was another two fucking hours wasted until Ian set me straight. While this may be obviously to some (most?), it wasn't to me and caused a fair amount of frustration.
I've no doubt there will be even more excellent EE resources I stumble across, and I promise to share accordingly. In the meantime, I shall continue to document my journey with ExpressionEngine and this blog.