January 9th, 2010 at 8:30 am
I didn’t get to attend the opening sessions of WordCamp Atlanta because the weather was horrible and we didn’t want to drive home in it in the dark last night, but I’ll be there today.
Due to aforementioned weather, the schedule has been pushed back an hour today, which means my presentation on advanced Google Analytics-Wordpress integration starts at 11 a.m. instead of 10 a.m. now. Here is the Google Doc I’ll be referencing, which also links to some code samples in case you’re having trouble deciding which session you want to attend in that time slot.
If you didn’t buy a ticket, the good news is due to the weather the organizers will now accept walk-up registrations when they hadn’t planned to before. You’ll need exact change though (the registration page says they’re $55, so I’m presuming that’s how much they still cost).
Looking forward to seeing you there!
No Comments »
December 16th, 2009 at 9:19 am
Atlanta’s first Wordcamp Atlanta, one of a series of conferences focused on all things WordPress, is coming next month.
I will lead a session on advanced Google Analytics integration with WordPress. Here is a tentative set list, with the caveat that the schedule hasn’t been released yet. I don’t know what my block of time looks like, so this list may be condensed or expanded depending on how much time I have:
- Advanced Segmentation: pass information from WordPress into Google Analytics custom variables so you can segment page views by author name, visitor name, category or whatever else you can think of
- Conversion rates: use goals and funnels to track what percentage of your visitors are leaving comments, signing up for your email newsletter, buying your ebook, etc.
- Tracking Javascript applications: add tracking to visitor interactions in your Javascript applications, or intercept Javascript events added by WordPress plug-ins and add tracking to them
- Campaign integration: automagically generate campaign IDs for your posts, track them across RSS, Twitter, Facebook, email and more
- Custom reporting: make sense of all this new information
This session will be oriented toward programmers with a heavy focus on coding and implementation strategies. I’m presuming you have experience with at least some of the following: WordPress theming, Google Analytics, HTML, PHP and Javascript.
Hope to see you there! WordCamp Atlanta will take place Jan. 8-9 at ATDC. Tickets are available here for $45.
1 Comment »
October 8th, 2009 at 9:15 pm
So, you’ve got a website running Drupal. Nothing new will be added to it, but you’d like to keep it on the web forever and ever. Maybe it was created for an event, and the event is over. Or maybe you had a site with a lot of custom modules, and you decided it would take too much time to upgrade all the custom modules.
Whatever your reason, it’s not a good idea to leave Drupal (or any software) running on the site if you’re not planning to constantly apply upgrades. If you don’t keep the software up-to-date, your server will be hacked. It’s not a question of if, it’s a question of when.
The good news is it’s generally not too hard to make a cache of all the pages on the site that are available to anonymous users and replace your Drupal installation with them. Plain HTML doesn’t require a babysitter and doesn’t hog server resources like Drupal does. Here’s one way to go about mothballing your Drupal site. Don’t blame me if anything blows up, these are just suggestions to get you started.
Read the rest of this entry »
1 Comment »
June 17th, 2009 at 8:16 pm
If you read part 1 of my tutorial, you’d hopefully know how to port a simple display widget from the Wordpress 2.7 procedural widget API to the new Wordpress 2.8 object-oriented widget API. You’d also know a little about why coding widgets are better than slapping a bunch of code in your sidebar. You did read it, right? No? I’ll wait, I’ve got time.
Okay, good. The part we didn’t cover because it would have made the tutorial ridiculously long was porting configurable forms for the widget admin area. So that’s what this part is about.
Read the rest of this entry »
No Comments »
June 14th, 2009 at 10:09 pm
Wordpress 2.8 introduces a new object-oriented Widget API (based on Alex Tingle’s MultiWidget class) which is an improvement over the procedural API for Wordpress 2.7 and before. It’s not a revolutionary leap, but it does make coding widgets which need to appear multiple times on a page easier, automates some administrative form handling, and makes code better-organized and easier to follow.
The bad news is the new API isn’t backwards compatible without a little work. So here is the first part of a multi-part guide for porting a Wordpress 2.7 widget over to the new Wordpress 2.8 API.
Read the rest of this entry »
2 Comments »
November 15th, 2008 at 7:50 pm
Have I mentioned before that I lurrrrve Dropbox? I lurrrrve Dropbox. You install a small program on each computer you want to access files on, the program runs in the background, and you never think about it again. Copy a file to the Dropbox folder on one computer, and it’s there waiting for you in the other computer’s Dropbox folder.
One of the nice features of Dropbox is it offers version control. So if something goes terribly wrong with a file, you can roll it back to an older version.
This set off a light bulb: hey, I could use this as an automagic CVS/SVN style code repository that I would never have to bother logging into and typing a bunch of arcane commands.
If you use the built-in Apache on Mac OS X for LAMP development like I do on my laptop, this is can be accomplished easily in a couple of steps:
- Create a subfolder under your Dropbox folder. I called mine htdocs.
- Open up the Terminal application, and create a symbolic link to the htdocs folder somewhere where the web server can see it. Your command might look something like this:
ln -s ~/Dropbox/htdocs ~/Sites/htdocs
That assumes your Dropbox folder is stored under your home folder, and that your Mac OS X built-in web server has a pretty standard configuration where each user has a Sites folder.
If you followed the method I outlined above, you will then be able to access this folder in a browser at a URL that will look something like http://localhost/~<username>/htdocs/
If you want to get fancy about it (or if really long URLs bug you), you can edit your Apache config file to point to a subfolder in your Dropbox folder, but this works for me.
I suspect you could also easily use it to do version control on local MySQL databases by changing the data folder to a subfolder of your Dropbox. I haven’t bothered because I don’t have any data in my MySQL databases that matters much to me.
These tips come with no warranty. It’s possible you’ll run into some goofy permissions issues, but I have yet to.
No Comments »