VZ Members is my second fieldtype for Brandon Kelly’s FieldFrame extension. I needed a way to select any number of site members to associate with an entry. In my case I am doing this to allow entry creators to set permissions on an entry-by-entry basis. You could also use it to link to the profiles of people mentioned in an article, or inside a Matrix field to create a list of events, each with a date, title, and the personnel who will be in attendance.
VZ Members Fieldtype
All New VZ Url fieldtype
This morning I pushed version 1.1 of my VZ Url fieldtype for Brandon Kelly’s FieldFrame extension up to GitHub. The code for this version completely rewritten to (hopefully!) eliminate some issues with ajax calls returning in the wrong order, leading to false negatives. While I was at it, I made the errors display in a pop-up box, allowing for more verbose errors without breaking the layout.
Securing your downloads with mod_xsendfile
In many case you have files available through your webapp that should only be accessible to certain people. You don’t want to rely on security through obscurity (throwing them all in a public folder, but only showing the links to certain visitors). Although that will deter casual users from getting ahold of the forbidden files, once someone has the link they could post it anywhere and your security is blown. What you want to do is to squirrel the files away outside of your publicly-accessible folder and then give them out as needed once a user is validated by whatever authentication method you are using. Apache’s mod_xsendfile module (inspired by lighthttpd’s X-Sendfile )is the tool for this job.
VZ Url extension
A URL fieldtype for Expression Engine with ajax url validation. When the user leaves the url field, it will ping the url they entered and display an error message if it doesn’t find a valid webpage there.
listFilter jQuery plugin
A project I am working on needed a way to filter a long list of staff members. We needed to be able to filter by several different criteria, and several different interfaces (text search, dropdown lists). And it needed to happen in-place—no page reloads. Thus my listFilter jQuery plugin was born.
New Business Cards
I finally got around to having new business cards printed (actually, I got them about a month ago, but I am just getting around to writing about them). Last summer I gave up my old New Orleans-local phone number when I bought my iPhone and had been procrastinating on ordering cards with the new number.
Roadblock extension
Roadblock is an extension for Expression Engine that looks every time someone logs in to see if they have been shown a message yet, and how long ago. If they have not yet seen the roadblock, or if it was over a specified length of time ago, the roadblock will be displayed.
Are people really convinced by this?
This election is getting more and more ridiculous.
Elevated initial caps with jQuery
For a project I am currently working on I wanted to use elevated initial capitals to set off each block of text. The obvious way to do this would have been with the :first-letter pseudo-element, which is what I initially did. This worked great in Safari, but in Internet Explorer, I got a series of bugs and idiosyncrasies that eventually became more trouble than they were worth. Line spacing was alternately too loose or too tight, depending on what I did, and in IE6 it interacted with the IE7-js script to make all but the first paragraph tiny.
Photoblog updates
I finally had time today to migrate the “Photography” section of my website over to the Expression Engine system that I am using for the rest of the site. So now everything is under one roof, with the same interface for uploading photos as for writing blog posts.
Return to Durham
I am going to be back in Durham from June 3rd through the 14th. To anyone who will be there, let’s get together!