Web and WordPress Development
(678) 694-1709 // Email Us

Announcing: PMProPlus!

The day has finally arrived. We’re launching our own project.

Without further ado let us proudly introduce PMProPlus, a project management and time tracking web application, straight from the Paper Canopy factory. (more…)



Launchfest

It seems like February has been the month for launches. And it’s been keeping us busy.

Not just launches with new sites, or the final touches on the standard web development projects, but launches for a lot of our partner’s personal projects. (more…)



A Constant Contact “Case Study”

Yeah I put case study in quotes. Not sure if this really qualifies as an official case study, but definitely worth a post.

Recently did a quick job with a client to update some of their mailing lists.

In a nutshell they needed some custom data added for each contact. The data was created using an algorithm provided by the client, but relied on some unique information from each subscriber.

So the process in pseudocode:

  1. Connect to Constant Contact’s API
  2. Get all of the contacts in a specific list
  3. For each contact get some of their information such as the user id, email address, etc.
  4. Build a string based on this data
  5. Update the contact’s information in Constant contact with this new data

Simple process, but a nice challenge.

Here are a few fun facts I learned:

  • Constant Contact returns its contact data in paged lists. So you can’t just ask for all of the contacts in a specific list and get one result set. You have to ask for each page. Yay recursive-ness.
  • There are limits to how many characters you can put in a field. Since the url that got built didn’t really fit logically in any of the provided fields I decided to use the custom fields CC provides. Fun fact: you can only put 50 characters in each custom field.
  • From the sending side of things, Constant Contact only allows you to enter subscriber fields into an email if the email is XHTML. And you must have valid XHTML or no dice on even getting the email out of draft stage.

All in all it was a bit frustrating, but successful. Which adds up to a fun programming day. And I got this nice little code sample I can post for you guys which includes a PHP class provided by Constant Contact, and my own custom code to use that class to do stuff to subscribers in a list.

If you’re interested in the code you can check it out here: download Constant Contact Class and case use files



Theme Options

The latest project launch has been another quality WP site with a cool new feature I learned just for the occasion.

Theme Options

Yeah it’s been around for a bit, and it’s probably just a baby step to writing full blown plugins, but I’m excited.

Mainly it gives me a way to extend a theme outside of the page/post level of things and get specific functionality available in the admin. My first foray on my latest project (from the killer design by Winters Interactive) is on the new incarnation of theĀ  Ask a Bachelor site. In the header is a teaser for a question and answer article. Since this teaser didn’t necessarily coincide with a new blog post it needed to be somewhat removed from the post interface in the admin.

Enter theme options.

Theme options gave me a way to set up a new form that housed the data to be displayed in the header. It removed it from the post itself so gave the admin a little more control over what was displayed and how it was linked. Basically a form that had the three fields of the title, question, and link. All managed through the admin panel in WP. Pretty cool!

I found the handy how-to at NomeTech.com and can’t wait to work it in on more projects and expand the functionality a little bit as well.



Latest Posts

Tumblr a nice alternative

I’ve been a fan of Tumblr for a while. I’ve had my own tumblr account to mess around with, and it’s been a nice halfway point between twitter which keeps you under 140 characters and a full blog which lets you post tons and tons of content. Just something great for shorter posts, pictures, quotes, etc. [More]

Announcing: PMProPlus!

The day has finally arrived. We’re launching our own project.

Without further ado let us proudly introduce PMProPlus, a project management and time tracking web application, straight from the Paper Canopy factory. [More]

Paper Canopy is a Web development shop specializing in Web development, database development, application development and WordPress integration. We're not designers. We're coders with a design eye. We code XHTML/CSS, Javascript, PHP, Classic ASP, MySql, MSSQL, Access, and .NET. Learn more about us >>