22 April 2009 - 7:13pmVersion 0.3

, , , , ,

I’ve just released version 0.3 of the Google Calendar Feed Parser.  This update was a quick one but definitely deserved a new version number.  Since I wrote the plugin I’ve received feedback from many users indicating that PHP’s file_get_contents() would not work on their hosting provider.  A few of these users posted alternative code that used cURL instead and that fixed the problem for everyone.  Today, the author of onigoetz.ch left this comment on my blog about some work he did to the plugin.  Specifically, he mentioned a function called wp_remote_get().  I wasn’t able to find that function in the documentation for WordPress, but searching for it led me to what I think he may have meant: a function called wp_remote_fopen().  This is essentially a wrapper function for retrieving the contents of a file from a URL and will first try using fopen() and, if that fails, fall back on using cURL.

I’ve updated the code to use that function which should come as a relief to many who were forced to hack at the plugin’s code to get it to work on their hosting provider.  A big thanks to onigoetz.ch for making me aware of that function!

6 Comments | Categories: COSI, Programming

19 April 2009 - 2:58amVersion 0.2

, , , , , ,

I just released version 0.2 of my Google Calendar Feed Parser plugin for WordPress. The new version confirms compatibility up to version 2.7.1 of WordPress and also adds one new pseudo-feature.

When I originally wrote the plugin, I had some trouble with the start and end times for events displaying in the correct timezone.  To solve the issue (just for EST), I added a hard-coded number of seconds to each time.  This presented a problem when daylight savings time changed since now all the times were displaying one hour off.

To temporarily fix this problem, I’ve added an option to the administrative interface for the plugin that allows the user to directly set the offset (in seconds) that gets added to the start and end times for each event.  This way, a user can test different values to see which one produces the desired result for their timezone.  I call this a pseudo-feature because I hope to replace it with a more comprehensive timezone configuration section at some point in the future.

Version 0.2 can be downloaded from the WordPress Plugin Directory.  Users with version 0.1 installed should be prompted to upgrade from the plugin section of the WordPress admin interface (I’m excited to see if that just works without any effort on my part).

1 Comment | Categories: COSI, Programming

7 April 2009 - 10:44amUpdate: Google Calendar Feed Parser

, , , , , ,

I was just looking through some old posts and came across this one that was a follow up to my release of the Google Calendar Feed Parser plugin for WordPress.  At that point (about 2 weeks after the release), I’d had my plugin downloaded 50 times.  I thought that was amazing and it felt pretty neat to know that people were actually using something I made.

Inspired by reading that just now, I decided to check and see the status of my plugin as of today… about 10 months since the release.  I’m really excited to report that it has been downloaded 1,315 times.  Maybe this summer I’ll have some free time to do some more work on the plugin (add a few missing features and fix some bugs).

5 Comments | Categories: COSI, General

24 July 2008 - 9:19amWP-SpamFree at last

,

For the last few weeks I’ve been getting 15-25 spam comments per day on my blog.  I have had Akismet installed since the beginning, but I was getting tired of having to clear the queue on a daily basis. I went looking for a better option and found the WP-SpamFree plugin. WP-SpamFree uses some complicated JavaScript and who knows what else to make it very difficult for a spambot to post a comment (I haven’t looked at the source and the description of how it works was very vague). As I understand it, the plugin can’t possibly block a real human from posting, since the logic used only affects bots (because of this, all spam comments are just deleted, there’s no queue to sift through). Since this is a “front-end” spam blocker, you have to deactivate any other “front-end” spam blockers, such as captchas, but you can leave “back-end” spam blockers, such as Akismet, active (though the plugin’s author says it won’t be necessary). So far, the plugin has blocked about 10 spam comments and nothing has slipped through to Akismet.

In addition to WP-SpamFree, I also installed WP Super Cache and AJAXed WordPress. WP Super Cache adds caching functionality to WordPress to reduce the load on the server when pages are requested (by creating static HTML pages to serve up instead). So far it’s working quite well. AJAXed WordPress adds some awesome AJAX to WordPress if you have the time to modify your theme to accomodate it (there’s only like two things active out of the box, the rest require theme modification). I haven’t had time to play with it yet, but there’s a lot of potential.

Leave a Comment | Categories: COSI, General

14 July 2008 - 8:04pmMobile Posting

, ,

Today I set myself up with the ability to post to my blog from my cell phone (without paying for a data plan). I know this isn’t really anything new, but the thought hadn’t ever really occurred to me before, so I was excited about it. Using the Postie Plugin for WordPress, I configured my blog to post e-mails from my cell phone to a particular e-mail address. I can send SMS or MMS messages (I pay for unlimited within-Verizon SMS/MMS and that comes with 500 outside-Verizon SMS/MMS) and anything that’s attached (like a picture) will be posted inline. Postie has a lot of cool features, including the ability to cut off the Verizon-supplied message that appears at the end of whatever text I sent. This functionality (among many other things) is not available in the core WordPress installation, so if you’re looking to post via e-mail or SMS, Postie is the way to go (also, posting a picture attached to an e-mail or MMS message is broken in version 2.5 of WordPress… hopefully to be fixed in 2.6).

So, expect to see random postings of things I find entertaining while I’m out and about. They’ll be categorized under “Mobile” for easy reference.

Leave a Comment | Categories: General

8 July 2008 - 2:03pmUpdate

, , ,

Hello all. Updates follow, categorized for easy digestion:

Wedding Plans: Not much progress on this front lately. We did purchase some paper the other day to use for making “save the date” cards (a task we need to get started on). Other than that, there isn’t much to do at this point. We’re going to look at the guest list some more to see who’s missing and how many we have (we’re trying desperately to keep the numbers down so we don’t end up spending a fortune). We were in the paper the other day! Our engagement announcement appeared in Saturday’s edition of the Press & Sun Bulletin. Check out our wedding website for a link to the announcement online.

Google Calendar Feed Parser: As many of you know, I wrote my first WordPress plugin recently and I’m happy to report good news. My plugin has had 50 downloads so far with 9 being the most downloads in one day! I’ve also had some comments on the plugin’s post on this blog. Check out that post or its page on the WordPress Plugins site.

Future Plugin: My second plugin will come in the form of a directory application that can be integrated into a WordPress blog. This idea stems from a directory app I’ve been working on for my church. I recently set up a WordPress blog as the main site for the church and rather than have a separate login for the directory, I decided the directory would function better as a plugin to WordPress, thus allowing a user to access both the blog and the directory without logging in twice (creating a plugin is the only way I know of to accomplish this). Look for more information in the coming weeks.

New computer: I’m in the beginning stages of building a new computer for my parents/sister. Our Dell has held up over the years, but it’s just too old to handle Windows Vista (our new Dell laptop came with Vista and because we needed to be able to use the printer attached to the desktop computer from the new laptop, an upgrade to Vista was the logical solution). Now, no one uses that computer because it takes so long to do anything on. So after some researching online, I’ve come up with what I think will be the final specs and we’re going to purchase a few pieces at a time over the coming weeks.

New phone: I recently purchased a Samsung SCH-i760 off of eBay for a hefty price. This was a long-awaited upgrade from my Motorola v325i and I have to say I’m very pleased so far. I really like having a full keyboard and the touchscreen is excellent as well. Joelle likes it because it has Solitaire and Tetris (which I have to say are quite nice).

Work: Work is alright. I’ve had an opportunity to do more of the web development work that I was supposed to have been doing all along. When I get to work on that, I like my job a lot more. Somewhere around the beginning of August I’m being reassigned to a new department: the operations center. This department monitors web application availibility, network traffic, server availibility, etc. for the entire site and many of the remote sites. I’m looking forward to it.

I think that’s about it for right now, stay tuned for updates in the coming weeks.

Leave a Comment | Categories: COSI, General, Life

21 June 2008 - 9:49pmMy First WordPress Plugin

, , , ,

I just wrote my first WordPress Plugin! You probably just saw my post about it… I decided to do a formal post to document the plugin (which I can use for the plugin’s URL on the WP Plugin site) and then post afterwards to announce it to the masses.

Anyway, it’s called Google Calendar Feed Parser and it does basically what the title implies. You give it the URL for a Google Calendar feed and it parses and displays the feed for use in a sidebar to show upcoming events on your calendar. There are still a lot of improvements that I’d like to work into it, but version 0.1 has some pretty solid core functionality and should work well in any WordPress theme.

Try it out on your blog and let me know what you think. I’m excited about it and I plan to continue working on adding functionality so suggestions are very welcome.

Leave a Comment | Categories: COSI, General, Technology

21 June 2008 - 9:40pmGoogle Calendar Feed Parser

, , , , ,

Update: Version 0.2 was released today (4/19/2009) which allows configuration of a timezone offset that can be customized to force start and end times from the XML feed to be displayed in the desired timezone (see documentation of the option below).

Update: I’ve added a screenshot of the plugin in action on a blog I administer.  You can view it here.

Google Calendar Feed Parser is a WordPress Plugin designed to facilitate incorporating a Google Calendar XML feed into your WordPress blog.  I wrote this plugin after being unable to find an existing plugin to provide similar functionality.  I intend to keep this plugin up to date, compatible with the most recent releases of WordPress, as they occur.  If you have suggestions, comments, advice, etc. or you would like to help me develop the plugin, feel free to leave a comment and I’ll get back to you.  Any help is appreciated (especially since this is my first WordPress Plugin).  Please let me know if you have any timezone related issues, I had some odd problems getting the times to appear properly.

To install Google Calendar Feed Parser:

  1. Download the zip archive and extract it to the wp-content/plugins directory.
  2. Go to the “Plugins” page in the WordPress Admin interface and click the “Activate” link for the Google Calendar Feed Parser.

To configure Google Calendar Feed Parser:

  1. Go to the “Settings” page in the WordPress Admin interface and click the link for the “Google Calendar” page.
  2. Set the URL for the calendar feed and other settings as desired (see below for full explanation of all options).

Options:

  1. Feed URL: This is the URL of the feed you wish to incorporate in your blog.  It should be of the form:

    http://www.google.com/calendar/feeds/userID/public/full?param=value&param=value…

    • For a listing of available parameters, see the Google Calendar API documentation. I found the following query string to provide desirable results:

      ?orderby=starttime&sortorder=ascending&futureevents=true&singleevents=true

    • Note that the max-results parameter should not be specified here as it will be handled by the setting below.
  2. Static URL: Use this option if you want to have each event link to a single URL (e.g. have each event link to a page where you’ve embedded your Google Calendar).  If you leave this set to “No”, the plugin will use the link provided by the feed for each individual event.
  3. Max Results: Use this to set the maximum number of events to retrieve and display from the calendar.  If left blank, the plugin’s default is 4.
  4. Timezone Offset: Change this value only if you are having issues with times from the feed displaying correctly. The value supplied in this field is a number of seconds added directly to both the start time and the end time for each event. The default for this value, if left blank, is 7200 seconds. Note: In a future release of the plugin, this option will be replaced with a more comprehensive timezone customization feature.

To Use Google Calendar Feed Parser:

  1. Include a call to the function gcal_parse_feed() at the spot where you want the feed to appear.  I use the feed in my sidebar but you could use the feed wherever you want.
  2. Include style rules in your template’s stylesheet to customize the look of the feed.  A single event outputted from the plugin would be of the form:

    <div id=”events”> <div class=”event”> <h3><a href=”http://some-link-here”>Event Title</a></h3> <p id=”event_time”>July 12, 2009 from 9:00pm to 10:00pm</p> </div> …more events here… </div>

Donations:

If you like this plugin, please consider donating.


Changelog:

Version 0.1 (first):

  • Ability to set feed URL.
  • Choice of whether to use event URL from feed or static URL for each event.
  • Ability to set max-results parameter.

Future Functionality:

  • Ability to customize query string from the Admin interface in WordPress.

90 Comments | Categories: COSI, General, Technology