In developing custom Drupal modules, a good understanding of the Drupal Taxonomy module is very important. Not just used for tagging, Taxonomy is the basis of categories for the Forum module and a number of other modules including the indispensable Views module.
Any time in custom Drupal development calls for some type of categorization whether free form or a rigid hierarchy it's a good idea to look to the Taxonomy module before trying to build any sort of custom system.
Wednesday, June 11, 2008
Wednesday, June 04, 2008
Facebook as a social network
A lot of companies these days are looking to increase their visibility on the web through social networking. Many look to get involved by creating a social network that revolves around their business. While this may work for some, your business may not have the resources or user base to want to commit to this kind of web development.
If you find yourself in this situation, Facebook offers a great intro into the social networking space. It is a vibrant (and pre-existing) community, which allows businesses to create a presence through Groups or Pages. If a Group created in Facebook can garner a lot of attention this may be a signal that it's ready for it's own social networking community and the channels on Facebook will help to get it started.
If you find yourself in this situation, Facebook offers a great intro into the social networking space. It is a vibrant (and pre-existing) community, which allows businesses to create a presence through Groups or Pages. If a Group created in Facebook can garner a lot of attention this may be a signal that it's ready for it's own social networking community and the channels on Facebook will help to get it started.
Friday, May 30, 2008
Keep in touch after the event
I attending the 2008 AIGA leadership retreat in Omaha, Nebraska (I'm starting in July as the new Web Chair for AIGA Portland). There were some great opportunities to talk about Web Development and get inspired about this great organization.
It's been a while since my last big networking event and there have been a lot of advancements in online networking tools, so I've taken a moment to recheck my process for getting new contacts into my address.
My new process involves two great online tools: Plaxo and LinkedIn. If you haven't signed up for them, do yourself a favor and check them out. They are both free, but offer premium membership. Plaxo is great because it allows you enter in contact information and notes, and they offer tools to get them into whatever local contact system you are using. I happen to be on a Mac and using Thunderbird and there are downloadable applications that sync up with them both.
Linked in allows my to connect with the people I've met in a business friendly way, and because most of the people I have met already have accounts it's as simple as looking them up and having their email handy. Because Plaxo allows you to import data from LinkedIn, some people may opt to add their connections there and THEN import them but I feel its important to get the contacts in so you can make notes while your mind is still fresh.
While Plaxo and Linked seem very similar (and do many of the same things) each excels in an area the other is weak in. Plaxo to disseminate to my local address books and linkedIn to maintain my connection. That's how I do it - how about you?
It's been a while since my last big networking event and there have been a lot of advancements in online networking tools, so I've taken a moment to recheck my process for getting new contacts into my address.
My new process involves two great online tools: Plaxo and LinkedIn. If you haven't signed up for them, do yourself a favor and check them out. They are both free, but offer premium membership. Plaxo is great because it allows you enter in contact information and notes, and they offer tools to get them into whatever local contact system you are using. I happen to be on a Mac and using Thunderbird and there are downloadable applications that sync up with them both.
Linked in allows my to connect with the people I've met in a business friendly way, and because most of the people I have met already have accounts it's as simple as looking them up and having their email handy. Because Plaxo allows you to import data from LinkedIn, some people may opt to add their connections there and THEN import them but I feel its important to get the contacts in so you can make notes while your mind is still fresh.
While Plaxo and Linked seem very similar (and do many of the same things) each excels in an area the other is weak in. Plaxo to disseminate to my local address books and linkedIn to maintain my connection. That's how I do it - how about you?
Wednesday, May 28, 2008
Top 12 Drupal Modules
I just got back from Webvisions here in Portland. There were a number of interesting presentations and conferences are always good to get revitalized. One presentation that was of particular interest to me was by Sean Larkin of OpenSourcery, where he covered Drupal as a development platform.
Here's a quick summary of their top Drupal modules (please forgive me if I've made any errors):
For theming the you can find custom themes in the Theme Garden or start from the Zen theme
Here's a quick summary of their top Drupal modules (please forgive me if I've made any errors):
- CCK (Content Construction Kit) - allows you to add different field types
- Views - allows custom queries
- Contemplates - allows editing of presentation
- Theme API Module - allows editing the header and footer w/o a Node
- ImageCache - upload high quality images and create lower resolution versions; also allows adding borders, backgrounds, etc.
- TincyMCE - best WYSIWYG editor
- IMCE - a file manager that works with TinyMCE
- Gmap - module for Google Maps mashup
- PathAuto - module allows you preserve older URLs
- CustomError - custom 403 & 404 errors without needing to create nodes for them
- Ecommerce or Ubercart - robust ecommerce modules
- Devel Module - helpful for developers; grab arrays and see what's in them
For theming the you can find custom themes in the Theme Garden or start from the Zen theme
Tuesday, April 01, 2008
Paper Prototypes
When it comes to planning a technology application, you can't beat low tech. Given that I run a web technology company clients are often surprised that I rarely use my computer when planning a user interface. Instead I opt to create paper prototypes using a pen, paper, scissors and scotch tape. There are a number of reasons why this just works better.
First and foremost, there's nothing faster than sketching things out. While some people may agree that it's fast, they may say it's less efficient because you have to get everything right the first time - however with scissors and scotch tape you can pick and choose what you want, adding and combining elements easily. NOTE: previously I just used scissors and left elements floating so that I could share them between pages, however after a lot of experimenting I've found it's better to fix things in place.
Outside of speed, very few things are more visceral and easier for a client (or co-worker) to relate to than a paper prototype. Using a pen and paper, you take several things out of the equation that often hang people up. Color is not an issue and neither is font treatment. People who might otherwise feel they can't participate can start weighing in, making them feel like they are more part of the process and helping to gain buy in.
First and foremost, there's nothing faster than sketching things out. While some people may agree that it's fast, they may say it's less efficient because you have to get everything right the first time - however with scissors and scotch tape you can pick and choose what you want, adding and combining elements easily. NOTE: previously I just used scissors and left elements floating so that I could share them between pages, however after a lot of experimenting I've found it's better to fix things in place.
Outside of speed, very few things are more visceral and easier for a client (or co-worker) to relate to than a paper prototype. Using a pen and paper, you take several things out of the equation that often hang people up. Color is not an issue and neither is font treatment. People who might otherwise feel they can't participate can start weighing in, making them feel like they are more part of the process and helping to gain buy in.
Monday, March 31, 2008
Apache redirect to single page
When moving things around on a server, sometimes you need to take the server down. However rather than throwing a 404 or just timing out, it's nice to serve a single page to the user that says something along the lines of "we'll be right back".
The best way that I've found to do this on the Apache web server is through a little creative use of the RedirectMatch function in the mod_alias module. Since I'm running my server as virtual hosts this can get a little tricky.
The first step is creating an html page and then putting it in your document root (whatever the webserver displays). Then the next step is to modify the Apache config like so (the addition is in bold):
Here's an example:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
RedirectMatch /[^t](.)*\.html http://www.mydomain.com/downmessage.html
...
Other stuff goes in here
...
</VirtualHost>
The RedirectMatch does a little regular expression match to find all the html pages that don't start with the letter "t". This keeps us from getting trapped in a recursive loop that causes the server to timeout. By keeping it html page (or whatever extension you're using: php, asp, etc) you allow the webserver to continue serving images, css.
Definitely keep in mind that this is a simple regular expression and won't pickup URLs that are in subdirectories. For more information checkout the documentation on mod_alias or regular expressions.
The best way that I've found to do this on the Apache web server is through a little creative use of the RedirectMatch function in the mod_alias module. Since I'm running my server as virtual hosts this can get a little tricky.
The first step is creating an html page and then putting it in your document root (whatever the webserver displays). Then the next step is to modify the Apache config like so (the addition is in bold):
Here's an example:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
RedirectMatch /[^t](.)*\.html http://www.mydomain.com/downmessage.html
...
Other stuff goes in here
...
</VirtualHost>
The RedirectMatch does a little regular expression match to find all the html pages that don't start with the letter "t". This keeps us from getting trapped in a recursive loop that causes the server to timeout. By keeping it html page (or whatever extension you're using: php, asp, etc) you allow the webserver to continue serving images, css.
Definitely keep in mind that this is a simple regular expression and won't pickup URLs that are in subdirectories. For more information checkout the documentation on mod_alias or regular expressions.
Labels:
apache,
mod_alias,
redirect,
redirection,
RedirectMatch,
regular expressions,
single page
New Authorize.net Test URL
It came as a surprise to me, when without making any changes to my Authorize.net class (using API 3.1) began to fail silently without returning any error information. This started around March 31, 2008. First being suspicious that someone had modified the code I went through my svn repository and I was unable to find anything that might have changed.
After digging around for several hours and verifying that it wasn't limited to a single site, one of my developers, Tom Wheeler managed to find the problem: after four years the test URL that we had is no longer valid. Fortunately the fix (once we found it) was rather simple - just update the URL:
old URL: https://certification.authorize.net/gateway/transact.dll
new one: https://test.authorize.net/gateway/transact.dll
After making the change, everything is working as it should be. Thank goodness Authorize keeps all of developers up-to-date with their API changes... :-P
In case you need more you can see the development sample php code here.
After digging around for several hours and verifying that it wasn't limited to a single site, one of my developers, Tom Wheeler managed to find the problem: after four years the test URL that we had is no longer valid. Fortunately the fix (once we found it) was rather simple - just update the URL:
old URL: https://certification.authorize.net/gateway/transact.dll
new one: https://test.authorize.net/gateway/transact.dll
After making the change, everything is working as it should be. Thank goodness Authorize keeps all of developers up-to-date with their API changes... :-P
In case you need more you can see the development sample php code here.
Thursday, January 03, 2008
Online Tax Landscape Changing
The internet has long been a place of refuge for people looking to avoid paying sales tax (but who are willing to pay shipping!). For years sales tax on internet purchases has worked like so: a merchant charges sales tax only on purchases made within a state where they have a physical presence. The tax paid is per the merchant's location within the state including all city and county taxes (if any). Any purchases made outside the state are not charged tax, with the understanding that the individual is responsible to pay whatever sales tax would be due.
You don't have to be a rocket scientist to realize that almost nobody pays these taxes, so as growth of out of state internet sales has increased, state sales tax income overall has decreased. That may be changing however.
A project called the Streamline Sales Tax Project (SSTP), is gathering states who are interested in collecting sales tax from online transactions based on the shipping destination. This means a merchant in California can and should collect Washington sales tax for all purchases made from buyers in Washington. In order to make this extra overhead more appealing to merchants, the SSTP offers a single registration point for all participating states (which currently number 22).
Long term (if this catches on) this will be good news for residents in Alaska, Delaware, Montana, New Hampshire and Oregon as it would mean they wouldn't need to pay sales tax on any online purchases, regardless of where they are made. However as it is there is still a long way to go and little incentive for merchants. Membership is currently voluntary in member states and completely irrelevant for merchants in non-member states.
That said, online merchants should keep an eye out for this one as compliance could potentially require an overhaul of every online cart in the United States.
You don't have to be a rocket scientist to realize that almost nobody pays these taxes, so as growth of out of state internet sales has increased, state sales tax income overall has decreased. That may be changing however.
A project called the Streamline Sales Tax Project (SSTP), is gathering states who are interested in collecting sales tax from online transactions based on the shipping destination. This means a merchant in California can and should collect Washington sales tax for all purchases made from buyers in Washington. In order to make this extra overhead more appealing to merchants, the SSTP offers a single registration point for all participating states (which currently number 22).
Long term (if this catches on) this will be good news for residents in Alaska, Delaware, Montana, New Hampshire and Oregon as it would mean they wouldn't need to pay sales tax on any online purchases, regardless of where they are made. However as it is there is still a long way to go and little incentive for merchants. Membership is currently voluntary in member states and completely irrelevant for merchants in non-member states.
That said, online merchants should keep an eye out for this one as compliance could potentially require an overhaul of every online cart in the United States.
Subscribe to:
Posts (Atom)