<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://www.designhammer.com/blog" content="http://purl.org/rss/1.0/modules/content/" dc="http://purl.org/dc/terms/" foaf="http://xmlns.com/foaf/0.1/" og="http://ogp.me/ns#" rdfs="http://www.w3.org/2000/01/rdf-schema#" sioc="http://rdfs.org/sioc/ns#" sioct="http://rdfs.org/sioc/types#" skos="http://www.w3.org/2004/02/skos/core#" xsd="http://www.w3.org/2001/XMLSchema#">
  <channel>
    <title>DesignHammer Blog</title>
    <link>http://www.designhammer.com/blog</link>
    <description />
    <language>en</language>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DesignHammerBlog" /><feedburner:info uri="designhammerblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>35.905765</geo:lat><geo:long>-78.921136</geo:long><item>
    <title>How to relocate modules and themes from a Drupal Install Profile</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/IZt1l0OT6qg/how-relocate-modules-and-themes-drupal-install-profile</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;At DesignHammer we frequently use Install Profiles for migration projects. An install profile makes it easy for developers to work on &lt;a href="https://drupal.org/project/migrate"&gt;migration code&lt;/a&gt;, site builders to add and configure modules while exporting the settings to &lt;a href="https://drupal.org/project/features"&gt;Features&lt;/a&gt;, and themers to work on the Drupal 7 site theme – all at the same time, without getting in each other's way.&lt;/p&gt;

&lt;p&gt;For example, in working on migration of content, it is sometimes quite useful to tear down the site, rebuild it, and re-run the migration scripts:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;&lt;div class="geshifilter"&gt;&lt;table class="drupal6 geshifilter-drupal6" style="font-family:monospace;"&gt;&lt;tbody&gt;&lt;tr class="li1"&gt;&lt;td style="width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;"&gt;&lt;pre style="font-family: monospace; font-weight: normal; font-style: normal"&gt;1
2
3
4
5
&lt;/pre&gt;&lt;/td&gt;&lt;td style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;pre style="font-family: monospace; font-weight: normal; font-style: normal"&gt;drush &lt;span style="color: #66cc66;"&gt;@&lt;/span&gt;mysitealias.local site-install my_profile -y
You are about to DROP all tables in your &lt;span style="color: #ff0000;"&gt;'mysite'&lt;/span&gt; database. &lt;span style="color: #b1b100;"&gt;Do&lt;/span&gt; you want to &lt;span style="color: #b1b100;"&gt;continue&lt;/span&gt;? &lt;span style="color: #66cc66;"&gt;(&lt;/span&gt;y&lt;span style="color: #66cc66;"&gt;/&lt;/span&gt;n&lt;span style="color: #66cc66;"&gt;)&lt;/span&gt;: y
Starting Drupal installation. This takes a few seconds ...
Installation complete.  User name: admin  User password: topsecret
drush mi --all&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I don't want that to interfere with other people's work; that's why having a site that can be quickly torn down and rebuilt from an install profile and Features is quite useful.&lt;/p&gt;

&lt;p&gt;Eventually, that usefulness runs its course. The migration scripts are completed, the site builders have added most modules and configured content types, the theme is mostly done. At this point, we need to do some more in depth testing, and edit content or create new content before deployment. So, we stop using the install profile and the site build/rebuild process.&lt;/p&gt;

&lt;p&gt;Depending on the client, it may be fine to leave the modules and themes residing in &lt;code&gt;/profiles/my_profile/&lt;/code&gt;. In other cases, it might be desirable to adopt a more traditional Drupal site structure and place the modules and themes in &lt;code&gt;sites/all/modules&lt;/code&gt; and &lt;code&gt;sites/all/themes&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;However, you can't just move the modules and themes to a different directory, because Drupal won't know where they've gone to. You could disable, uninstall, and re-install each and every module and theme but that would be quite tedious. Instead you can do this in a couple minutes with some SQL queries. It's a good idea to run this in your local development environment before trying it out on the development site that you are collaborating with others on.&lt;/p&gt;

&lt;p&gt;The first step is to move the modules and themes. Make sure you double check the paths to match your desired configuration (for example, you may not care about separating modules into custom and contrib directories):&lt;/p&gt;

&lt;p&gt;&lt;noscript&gt;&lt;div class="drupal-gist-file"&gt;&lt;pre type="shell"&gt;# Run from the root of your site directory

export $PROFILE=&amp;quot;my_profile&amp;quot;
mv &amp;quot;profiles/$PROFILE/modules/contrib/&amp;quot; sites/all/modules/contrib
mv &amp;quot;profiles/$PROFILE/modules/custom/&amp;quot; sites/all/modules/custom
mv &amp;quot;profiles/$PROFILE/themes/*&amp;quot; sites/all/themes/&lt;/pre&gt;&lt;/div&gt;&lt;/noscript&gt;&lt;script src="http://gist.github.com/1894250.js?file=relocate.sh"&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;(Note: other developers may have topic branches open that branched off &lt;code&gt;develop&lt;/code&gt; before you relocated everything to &lt;code&gt;sites/all/modules&lt;/code&gt;. If you are tracking the entire codebase in git, these developers will need to checkout their topic branch and run &lt;code&gt;git rebase develop&lt;/code&gt;, assuming that you committed module and theme relocation work to &lt;code&gt;develop&lt;/code&gt;.)&lt;/p&gt;

&lt;p&gt;Next step is to tell Drupal where to find the modules and themes by executing these SQL queries, again taking care to check that the directories match the &lt;code&gt;mv&lt;/code&gt; operations you just performaed:&lt;/p&gt;

&lt;p&gt;&lt;noscript&gt;&lt;div class="drupal-gist-file"&gt;&lt;pre type="sql"&gt;-- Update contrib modules location
UPDATE system SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/contrib&amp;#039;,&amp;#039;sites/all/modules/contrib&amp;#039;);
UPDATE registry SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/contrib&amp;#039;,&amp;#039;sites/all/modules/contrib&amp;#039;);
UPDATE registry_file SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/contrib&amp;#039;,&amp;#039;sites/all/modules/contrib&amp;#039;);
-- Update custom modules location
UPDATE system SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/custom&amp;#039;,&amp;#039;sites/all/modules/custom&amp;#039;);
UPDATE registry SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/custom&amp;#039;,&amp;#039;sites/all/modules/custom&amp;#039;);
UPDATE registry_file SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/modules/custom&amp;#039;,&amp;#039;sites/all/modules/custom&amp;#039;);
-- Update themes location
UPDATE system SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/themes&amp;#039;,&amp;#039;sites/all/themes&amp;#039;);
UPDATE registry SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/themes&amp;#039;,&amp;#039;sites/all/themes&amp;#039;);
UPDATE registry_file SET filename = REPLACE(filename,&amp;#039;profiles/myprofile/themes&amp;#039;,&amp;#039;sites/all/themes&amp;#039;);
-- Truncate cache
TRUNCATE cache;
TRUNCATE cache_bootstrap;
TRUNCATE cache_path;
&lt;/pre&gt;&lt;/div&gt;&lt;/noscript&gt;&lt;script src="http://gist.github.com/1894250.js?file=relocate.sql"&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Make sure that you update your site-specific drushrc.php, if it exists, to reflect the new location for downloading modules. with drush.&lt;/p&gt;

&lt;p&gt;&lt;noscript&gt;&lt;div class="drupal-gist-file"&gt;&lt;pre type="php"&gt;// Site specific options
$options[&amp;#039;destination&amp;#039;] = &amp;#039;profiles/my_profile/modules/contrib&amp;#039;;&lt;/pre&gt;&lt;/div&gt;&lt;/noscript&gt;&lt;script src="http://gist.github.com/1894250.js?file=old-drushrc.php"&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;Should become:&lt;/p&gt;

&lt;p&gt;&lt;noscript&gt;&lt;div class="drupal-gist-file"&gt;&lt;pre type="php"&gt;// Site specific options
$options[&amp;#039;destination&amp;#039;] = &amp;#039;sites/all/modules/contrib&amp;#039;;&lt;/pre&gt;&lt;/div&gt;&lt;/noscript&gt;&lt;script src="http://gist.github.com/1894250.js?file=drushrc.php"&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;For good measure, run &lt;code&gt;drush cc all&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now you can visit your site, and it should be working fine. "Admin &amp;gt; Reports &amp;gt; Status" will still show the name of your install profile (which is correct - that is the initial profile used to build the site), but otherwise, you've moved away from the Install Profile and can place modules and themes in &lt;code&gt;sites/all/&lt;/code&gt; without any issues.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/drupal-planet" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Drupal Planet&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/install-profile" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Install Profile&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/drupal" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Drupal&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/IZt1l0OT6qg" height="1" width="1"/&gt;</description>
     <pubDate>Fri, 24 Feb 2012 17:36:48 +0000</pubDate>
 <dc:creator>Kosta Harlan</dc:creator>
 <guid isPermaLink="false">320 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/how-relocate-modules-and-themes-drupal-install-profile</feedburner:origLink></item>
  <item><title>Links for 2012-02-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/s49Rt4Pc_gw/designhammer</link><pubDate>Sat, 18 Feb 2012 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2012-02-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.websitemagazine.com/content/blogs/posts/archive/2012/02/17/here-s-what-s-hot-13-super-startups-to-watch.aspx"&gt;13 Super Startups to Watch - 'Net Features - Website Magazine&lt;/a&gt;&lt;br/&gt;
The Web world moves at a furious pace, and digital workers can miss the next big thing in the blink of an eye. Some emerging services such as Pinterest are fortunate enough to take center stage while other solutions of seemingly equal value to Web pros wallow in relative obscurity.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/s49Rt4Pc_gw" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2012-02-17</feedburner:origLink></item><item>
    <title>New Year's SEO Resolutions</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/6USl8vBHMW0/new-years-seo-resolutions</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;A new year is a great time to break out of old habits and establish new ones. At the January meeting of the DesignHammer hosted &lt;a href="http://www.meetup.com/rtpSEO/"&gt;RTP Search Engine Optimization Meetup&lt;/a&gt;, the group discussed our resolutions for improving our search engine optimization efforts in 2012. Here are some of our top resolutions.&lt;/p&gt;

&lt;h2&gt;Create Content&lt;/h2&gt;

&lt;p&gt;Creating interesting, well-written, and original content (sometimes referred to as &lt;a href="http://www.mattcutts.com/blog/seo-advice-linkbait-and-linkbaiting/"&gt;linkbaiting&lt;/a&gt;) is one of the most widely recommended practices for increasing site traffic. As incoming links are widely believed to be one of the most important contributing factors to a &lt;a href="http://www.seomoz.org/article/search-ranking-factors"&gt;site’s search performance&lt;/a&gt;, any content that is likely to be linked to is valuable.&lt;/p&gt;

&lt;p&gt;Understanding the value of creating quality content is only half of the battle. The real challenge is carving out time in a busy schedule to regularly create new content that others will want to read and share. A modest goal of creating one quality blog entry a month is a good starting point.&lt;/p&gt;

&lt;h2&gt;Share Interesting Content&lt;/h2&gt;

&lt;p&gt;Just pushing your own content via your social media channels may result in your followers seeing everything you share as an advertisement. A better strategy is sharing content that your followers may find interesting, often because you find it interesting. Read about &lt;a href="http://www.nvisolutions.com/blog/seo/social-content-sharing-and-search-rankings/"&gt;creating sharable content&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Content creation is good. Sharing quality content of your own and others is better. Speaking of sharing interesting content, here is an infographic about &lt;a href="http://searchengineland.com/infographic-why-content-for-seo-96834"&gt;sharing interesting content&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Continue SEO Education&lt;/h2&gt;

&lt;p&gt;As search engine algorithms change, SEO practices must adapt. Fortunately the SEO professional is not alone in confronting these changes. Staying up to date with recent SEO developments such as &lt;a href="http://analytics.blogspot.com/2011/10/making-search-more-secure-accessing.html"&gt;Google Analytics's exclusion of logged in users' keyword searches&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some sites we read at DesignHammer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://googlewebmastercentral.blogspot.com/"&gt;Google Webmaster Central&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mattcutts.com/blog/"&gt;Matt Cutts' Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.seomoz.org/blog"&gt;SEOmoz Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hobo-web.co.uk/seo-blog/"&gt;Hobo SEO Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Structure your websites with SEO in mind&lt;/h2&gt;

&lt;p&gt;Sticking to the above resolutions will not deliver their best possible results if your own website’s structure works against you. Most modern websites are powered by content management systems (CMS) such as &lt;a href="http://wordpress.org/"&gt;WordPress&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A CMS can make it simple to create new content, but most CMSs are not initially set up to support SEO efforts. For WordPress, take a look at our &lt;a href="/blog/guide-all-one-seo-pack-wordpress"&gt;guide to using the All in One SEO Pack for WordPress&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/seo" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;SEO&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/wordpress" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;WordPress&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/6USl8vBHMW0" height="1" width="1"/&gt;</description>
     <pubDate>Mon, 23 Jan 2012 17:48:57 +0000</pubDate>
 <dc:creator>Stephen Pashby</dc:creator>
 <guid isPermaLink="false">317 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/new-years-seo-resolutions</feedburner:origLink></item>
  <item>
    <title>NCTech4Good Meetup Notes</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/bCKa2rWxLVI/nctech4good-meetup-notes</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;I had the pleasure of presenting at the &lt;a href="http://www.meetup.com/NCTech4Good/events/47036472/"&gt;January meeting of the NCTech4Good Meetup&lt;/a&gt; held at the offices of United Way of the Greater Triangle in Morrisville, NC. The talk covered similarities between Usability, Accessibility, and SEO, a topic I first addressed here in 2009. Since my initial blog post, I assembled a talk, which I have presented at multiple venues, inclusing BarCampRDU, Internet Summit in Raleigh, as well as Wake Technical Community College.&lt;/p&gt;

&lt;p&gt;This presentation covers the basics of Usability, Accessibility and SEO, how they are interrelated and suggests solutions available to serve each audience and improve overall website Usability.&lt;/p&gt;

&lt;div style="width:425px" id="__ss_11180542"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/DesignHammer/the-intersection-of-usability-accessibility-and-seo" title="The Intersection of Usability, Accessibility, and SEO" target="_blank"&gt;The Intersection of Usability, Accessibility, and SEO&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/11180542?rel=0" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more presentations from &lt;a href="http://www.slideshare.net/DesignHammer" target="_blank"&gt;DesignHammer Media Group LLC&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;

&lt;p&gt;To learn more, please consult my previous posts on the topic:&lt;/p&gt;

&lt;ul type="circle"&gt;&lt;li&gt;&lt;a href="http://www.designhammer.com/blog/intersection-usability-accessibility-and-seo-part-i"&gt;The Intersection of Usability, Accessibility, and SEO (Part I)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.designhammer.com/blog/intersection-usability-accessibility-and-seo-part-ii"&gt;The Intersection of Usability, Accessibility, and SEO (Part II)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.designhammer.com/blog/intersection-usability-accessibility-and-seo-part-iii"&gt;The Intersection of Usability, Accessibility, and SEO (Part III)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/usability" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Usability&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/accessibility" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Accessibility&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/seo" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;SEO&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/bCKa2rWxLVI" height="1" width="1"/&gt;</description>
     <pubDate>Fri, 20 Jan 2012 20:48:50 +0000</pubDate>
 <dc:creator>David Minton</dc:creator>
 <guid isPermaLink="false">319 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/nctech4good-meetup-notes</feedburner:origLink></item>
  <item>
    <title>Operating a website in the world of SOPA and PIPA</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/ENga8WAlCUE/operating-website-world-sopa-and-pipa</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;&lt;img src="/sites/default/files/US-Congress-Unofficial-Seal.png" alt="Seal of the US Congress" class="img-right" /&gt;Notable websites including &lt;a href="http://www.wired.com/threatlevel/2012/01/why-weve-censored-wired-com/"&gt;Wired&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Learn_more"&gt;Wikipedia&lt;/a&gt; marked Wednesday as a day of protest against two pieces of proposed legislation currently being considered by the United States Congress. If enacted, these bills, H.R.3261 (a.k.a. “&lt;a href="http://thomas.loc.gov/cgi-bin/query/z?c112:H.R.3261:"&gt;Stop Online Piracy Act&lt;/a&gt;” or “SOPA”)  and S.968 (a.k.a. “&lt;a href="http://thomas.loc.gov/cgi-bin/query/z?c112:S.968:"&gt;Preventing Real Online Threats to Economic Creativity and Theft of Intellectual Property Act of 2011&lt;/a&gt;” or “PROTECT IP Act of 2011” or “PIPA”) would force major changes in how website owners managed their online properties and most likely resulting in limits on free speech.&lt;/p&gt;

&lt;p&gt;Like everything related to the space where politics, big business, and the law intersect, nothing is simple. Is there copyright infringement on the Internet? Yes. Does something need to be done about it? Probably. Are these bills as the stand the best method? It depends on who you are.&lt;/p&gt;

&lt;p&gt;Could you recognize copyright infringement if you saw it? Most would probably agree that websites that posts first-run movies, or songs from newly released albums are probably violating US Copyright law (though maybe not local laws if the website is hosted in another country). Not every case is this simple, however.&lt;/p&gt;

&lt;p&gt;Let’s say you operate a website, and allow users to post comments. Since users can post anything they want, including copyright infringing material, your website would be in violation of Section 103 of SOPA, if you failed to preemptively moderate all user supplied content, such as guest articles, or even comments:&lt;/p&gt;

&lt;blockquote cite="http://thomas.loc.gov/cgi-bin/query/z?c112:H.R.3261:"&gt;
An ‘Internet site is dedicated to theft of U.S. property’ if–it is an Internet site, or a portion thereof, that is a U.S.-directed site and is used by users within the United States; and the operator of the U.S.-directed site–is taking, or has taken, deliberate actions to avoid confirming a high probability of the use of the U.S.-directed site to carry out acts that constitute a violation of section 501 or 1201 of title 17, United States Code
&lt;/blockquote&gt;

&lt;p&gt;This would make any website that allowed user submitted content, such as comments, to be labeled an Internet site &lt;i&gt;dedicated to theft of U.S. property&lt;/i&gt; if the user content was not moderated, since failing to moderate would be &lt;i&gt;deliberate actions to avoid confirming a high probability of the use of the U.S.-directed site to carry out acts that constitute a violation&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;So, to stay within the law, you decide to moderate all user posts and comments before they are posted. You notice a user has posted a comment on one of your articles, and includes a quote from the New York Times website. Would you be in violation of SOPA for posting the comment?&lt;/p&gt;

&lt;p&gt;This case is not clear, so you consult the original article. The quote is forty words of a thousand-word article. Is 4% a case of fair use, or copyright infringement? Surely the New York Times website will provide a simple answer. A quick consultation of &lt;a href="http://www.nytimes.com/content/help/rights/permissions/permissions.html"&gt;Obtaining and Using Times Content&lt;/a&gt; provides the answer with a section named “&lt;a href="http://www.nytimes.com/content/help/rights/permissions/permissions.html#permissionsq03"&gt;May I use portions of New York Times articles, such as quotes or excerpts?&lt;/a&gt;”&lt;/p&gt;

&lt;blockquote&gt;Under certain circumstances, it is permissible to make direct quotes from New York Times articles. The context, number and length of the quotes will determine whether permission is required…It is always best to submit a request for clearance.
So the answer is “it depends” and you, the website publisher are not qualified to determine what is fair use.&lt;/blockquote&gt;

&lt;p&gt;You now have four options:&lt;/p&gt;

&lt;ol type="1" start="1"&gt;&lt;li&gt;Publish the comment with the quote, though you are now potentially infringing on copyright. Your decision, if different from the copyright holder could stand up in court as fair use, though do you really want to risk it?&lt;/li&gt;

    &lt;li&gt;Remove the quote from the comment, and publish the remainder of the comment. Congratulations, you are now an Internet Censor.&lt;/li&gt;

    &lt;li&gt;You delete the entire post, because you don’t want to seem like you are censoring user comments.&lt;/li&gt;

    &lt;li&gt;Request permission from the New York Times, and see what they say. Who knows how long this will take, since anyone who wants to publish a quote from a New York Times article will now need to ask permission, just to be safe.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;You obviously select option four. How long you wait is anybody's guess. Based on the volume of requests, it is possible the New York Times sets objective guidelines (use no more than thirty words, or 2% of the content, whichever is larger) to remove ambiguity, and limit the amount of staff time to make determinations on fair use. Though, they may just as well start charging for requests, or start a subscription service to pay for “fair use” determination in a priority manner.&lt;/p&gt;

&lt;p&gt;But, what if, despite your best attempts, you allow infringing content on your website? If someone identifies what they suspect is infringing content, they could provide notice directly to your website host, domain registrar, credit card processor, or ad network, who would need to cease service, or else join you in liability. It would now be up to you to prove your innocence. And if you do, unless the accuser “knowingly materially misrepresented” the accusation, you are barred from suing for damages.&lt;/p&gt;

&lt;p&gt;These represent just a few of ways the proposed SOPA and PIPA legislation would affect how website operators will need to approach posting content, especially user supplied content.&lt;/p&gt;

&lt;p&gt;At DesignHammer we feel it is important for website owners to be aware
of upcoming legislation that may effect their business. If you have
any questions or concerns about the proposed legislation, we encourage
you to become involved in the process and contact your elected
officials.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/internet-law" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Internet Law&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/ENga8WAlCUE" height="1" width="1"/&gt;</description>
     <pubDate>Thu, 19 Jan 2012 22:16:39 +0000</pubDate>
 <dc:creator>David Minton</dc:creator>
 <guid isPermaLink="false">318 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/operating-website-world-sopa-and-pipa</feedburner:origLink></item>
  <item>
    <title>SOPA and PIPA</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/F--ph9m83uY/sopa-and-pipa</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;h1&gt;SOPA and PIPA&lt;/h1&gt;

&lt;p&gt;Today you may notice that many sites, including &lt;a href="http://google.com"&gt;Google&lt;/a&gt;, &lt;a href="http://reddit.com"&gt;Reddit&lt;/a&gt;, and &lt;a href="http://http://en.wikipedia.org/"&gt;Wikipedia&lt;/a&gt;, are displaying messages about SOPA and PIPA.&lt;/p&gt;

&lt;p&gt;&lt;img src="/sites/default/files/google-blackout-medium.png" alt="Google blackout" class="img-center" /&gt;&lt;span class="photo-caption"&gt;Google blacks out its logo to raise awareness of SOPA and PIPA.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;SOPA and PIPA are two bills currently in the House and Senate. These bills are aimed at hindering copyright infringement online. However, there is concern over the specifics of these bills and what the consequences of them would be should they come into effect.&lt;/p&gt;

&lt;p&gt;Anyone managing a website today should be familiar with these bills and what changes they propose.&lt;/p&gt;

&lt;p&gt;Here are some good places to look for more detailed information:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.reddit.com/help/faqs/sopa#WhataresomeoftheargumentsagainstSOPA"&gt;Reddit's SOPA FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Wikipedia:SOPA_initiative/Learn_more"&gt;Wikipedia's page on SOPA and PIPA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pcworld.com/article/248298/sopa_and_pipa_just_the_facts.html"&gt;PC World: SOPA and PIPA: Just the Facts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/F--ph9m83uY" height="1" width="1"/&gt;</description>
     <pubDate>Wed, 18 Jan 2012 16:10:26 +0000</pubDate>
 <dc:creator>Jay Roberts</dc:creator>
 <guid isPermaLink="false">316 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/sopa-and-pipa</feedburner:origLink></item>
  <item>
    <title>Processing thousands of Salesforce records in Drupal with drushd</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/Nw3OFxhpC8s/processing-thousands-salesforce-records-drupal-drushd</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;h2&gt;Drupal/Salesforce Integration&lt;/h2&gt;

&lt;p&gt;DesignHammer completed a major Salesforce project this year which involved restructuring a client's Drupal/Salesforce integration. The client was using a forked, hacked-apart version of the Salesforce module from 2009 along with a custom implementation of Salesforce Outbound Messaging to do bidirectional syncing of 30,000 Drupal user accounts.&lt;/p&gt;

&lt;p&gt;Our initial work involved replacing the forked module with the latest stable release of the &lt;a href="https://drupal.org/project/salesforce"&gt;Drupal Salesforce module&lt;/a&gt;, and we put a significant amount of time into &lt;a href="http://www.designhammer.com/blog/improving-drupal-integration-salesforce"&gt;submitting and reviewing patches for the project&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Problems importing the Salesforce records&lt;/h2&gt;

&lt;p&gt;After the initial work was completed, the client increased the number of Lead/Contact records in SF to 100,000. 75% of those required syncing with Drupal. This caused problems.&lt;/p&gt;

&lt;p&gt;The first issue we encountered was the frequency of updates. Every 24 hours, a nightly processing script in Salesforce runs updates on all records, and can affect anywhere from a few thousand to tens of thousands of Contact/Lead records.&lt;/p&gt;

&lt;p&gt;Outbound Messaging, which provides real time updates of data from Salesforce to Drupal, &lt;a href="https://drupal.org/node/1127166"&gt;moves too fast for Drupal to be able to send back a response acknowledging the message&lt;/a&gt;, so the Outbound Messaging queue in Salesforce would quickly fill up and fail. After some consideration, we switched the import implementation to SF Import, a module that is responsible for polling Salesforce for updates in a two part process: grabbing all the Salesforce IDs that have changed since the last poll, and then processing these IDs by passing them through &lt;code&gt;sf_user_import()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;But we quickly ran into a new problem, processing the data. Processing is triggered by cron which is limited by PHP's &lt;code&gt;max_execution_time&lt;/code&gt; setting. In this case the time limit was 2 minutes. After that, the queue would sit idle until the next cron run 28 minutes later. This meant that, at best, we were only processing a few hundred records per day. The import queue quickly filled up to more than 110,000 items.&lt;/p&gt;

&lt;h2&gt;Cutting the Salesforce import down to size&lt;/h2&gt;

&lt;p&gt;To start approaching the problem, we first looked at what could be done to improve the efficiency of the import process. For one thing, we noticed that about 30-40% of the records stored in &lt;code&gt;{sf_import_queue}&lt;/code&gt; were failing on import, because they lacked an e-mail address. These records were never meant to sync with Salesforce, so they could be removed from the queue. We wrote a drush script to go through the queue, look up the corresponding record in Salesforce, and if the record did not have an e-mail address, we deleted it from the queue.&lt;/p&gt;

&lt;p&gt;Then we looked at preventing these records from syncing in the first place. The SF Import module was using an implementation of the Salesforce API's &lt;code&gt;getUpdated()&lt;/code&gt; method, which returns SFIDs for all records of a given type between two time points. We committed a patch to &lt;a href="https://drupal.org/node/1313666"&gt;allow using SOQL queries instead of &lt;code&gt;getUpdated&lt;/code&gt;&lt;/a&gt; which gave us more flexibility in this process. We used this with our own hand written query which checks for an e-mail address when selecting SFIDs to import. This reduced the overall size of the queue by about 40%.&lt;/p&gt;

&lt;h2&gt;Using drushd for processing&lt;/h2&gt;

&lt;p&gt;Once we were able to limit the size of the queue we looked for a way to process the queue more efficiently. The major problem with relying on cron is that we were limited by &lt;code&gt;max_execution_time&lt;/code&gt;. We experimented with increasing cron frequency but that wasn't enough. We needed to be able to process records from the queue continually.&lt;/p&gt;

&lt;p&gt;We looked at a few different options for doing that and settled on &lt;a href="https://drupal.org/project/drushd"&gt;drushd&lt;/a&gt;, a library for creating daemonized drush commands. Using this library, we were able to create a Salesforce Import Process daemon that listens for additions to the &lt;code&gt;sf_import_queue&lt;/code&gt; table and can process them continually. This was a much more efficient way to process the queue.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;drushd&lt;/code&gt; will occasionally reach a high level of memory usage. If it reaches 85% of the total PHP memory limit it is supposed to &lt;a href="http://en.wikipedia.org/wiki/Fork_(operating_system)"&gt;refork&lt;/a&gt; and continue processing. However, we weren't able to get this working correctly, instead the script just dies. So, we wrote a simple module that implements &lt;code&gt;hook_cron()&lt;/code&gt;. The module checks to see if the process ID for the import daemon is still active, and if it isn't, it starts the daemon up again.&lt;/p&gt;

&lt;p&gt;Using this method we are able to consistently handle tens of thousands of imports from Salesforce Contacts/Leads to Drupal users every day without a significant hit on performance or responsiveness on the site.&lt;/p&gt;

&lt;p&gt;Check out the code for the &lt;a href="https://github.com/DesignHammer/Salesforce-Import-Process-Daemon"&gt;daemon and module on DesignHammer's Github&lt;/a&gt; and let us know what you think. If you've approached this problem from a different angle please let us know in the comments section.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/drupal-planet" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Drupal Planet&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/drupal" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Drupal&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/salesforce" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Salesforce&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/drushd" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Drushd&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/Nw3OFxhpC8s" height="1" width="1"/&gt;</description>
     <pubDate>Thu, 17 Nov 2011 13:37:38 +0000</pubDate>
 <dc:creator>Kosta Harlan</dc:creator>
 <guid isPermaLink="false">314 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/processing-thousands-salesforce-records-drupal-drushd</feedburner:origLink></item>
  <item>
    <title>Recognizing Phishing Attempts</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/RwRXEN9gOtE/recognizing-phishing-attempts</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;h2&gt;“FIRST, I MUST SOLICIT YOUR STRICTEST CONFIDENCE..”&lt;/h2&gt;

&lt;p&gt;While the &lt;a href="http://www.snopes.com/fraud/advancefee/nigeria.asp"&gt;Nigerian Scam&lt;/a&gt; has become a running joke, phishing attacks are constantly evolving. Recently we have seen some attacks centered around the upcoming 2012 election. As with any scam, the best defense is good security practice and the maxim, “If it sounds too good to be true, it probably is.”&lt;/p&gt;

&lt;h2&gt;What is Phishing?&lt;/h2&gt;

&lt;p&gt;Phishing is an attempt to acquire sensitive information (e.g. login credentials) by impersonating a trusted source through email or other forms of electronic communication. Generally, the communications purport to be from a legitimate website such as Facebook or Google and they attempt to lure the targeted recipients into divulging the sensitive information either through email or through a fake website.&lt;/p&gt;

&lt;h2&gt;Best practices for avoiding phishing scams&lt;/h2&gt;

&lt;p&gt;To avoid becoming a victim of a phishing scam, be sure to follow these general security best practices:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Do not reply to emails or pop-up messages asking for personal, financial, or login information.&lt;/li&gt;
&lt;li&gt;Do not email personal, financial, or login information.&lt;/li&gt;
&lt;li&gt;Exercise caution when following a link in an unsolicited email. Check the URL to ensure it is the address it appears to be.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;For further tips on avoiding phishing scams, visit:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ftc.gov/bcp/edu/pubs/consumer/alerts/alt127.shtm"&gt;Anti-Phishing tips from the FTC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.antiphishing.org/consumer_recs.html"&gt;Consumer Recommendations from the Anti-Phishing Work Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/RwRXEN9gOtE" height="1" width="1"/&gt;</description>
     <pubDate>Thu, 03 Nov 2011 20:35:04 +0000</pubDate>
 <dc:creator>Stephen Pashby</dc:creator>
 <guid isPermaLink="false">312 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/recognizing-phishing-attempts</feedburner:origLink></item>
  <item><title>Links for 2011-09-20 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/Q0V7h32nBlw/designhammer</link><pubDate>Wed, 21 Sep 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-09-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://searchengineland.com/seotable"&gt;The Periodic Table Of SEO Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide, in the form of the periodic table of elements, that summarizes the major factors to focus on for search engine ranking success.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.seomoz.org/article/search-ranking-factors"&gt;2011 Search Engine Ranking Factors&lt;/a&gt;&lt;br/&gt;
SEOmoz has compiled the aggregated opinions of dozens of the world's best and brightest search marketers into this biennial, ranking factors document. This year, for the first time, they are presenting a second form of data - correlation-based analysis - alongside the opinions of the 132-person panel.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://visual.ly/"&gt;InfoGraphics by Visual.ly&lt;/a&gt;&lt;br/&gt;
Infographics are popping up everywhere on the web, and now, if you have a data set, you can make your own infographic. San Francisco-based Visual.ly, which offers a free platform for creating infographics from data, has launched its beta version and is open to the public.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.davidmihm.com/local-search-ranking-factors.shtml"&gt;Local Search Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide to optimizing for Google Local Search results.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://seo2.0.onreact.com/10-commandments-of-business-blogging"&gt;10 Commandments of Business Blogging&lt;/a&gt;&lt;br/&gt;
Useful guidelines for operating a blog for your business, or your employer.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/Q0V7h32nBlw" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-09-20</feedburner:origLink></item><item><title>Links for 2011-09-19 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/DsIhbCGZVqM/designhammer</link><pubDate>Tue, 20 Sep 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-09-19</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://searchengineland.com/seotable"&gt;The Periodic Table Of SEO Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide, in the form of the periodic table of elements, that summarizes the major factors to focus on for search engine ranking success.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://visual.ly/"&gt;InfoGraphics by Visual.ly&lt;/a&gt;&lt;br/&gt;
Infographics are popping up everywhere on the web, and now, if you have a data set, you can make your own infographic. San Francisco-based Visual.ly, which offers a free platform for creating infographics from data, has launched its beta version and is open to the public.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.seomoz.org/article/search-ranking-factors"&gt;2011 Search Engine Ranking Factors&lt;/a&gt;&lt;br/&gt;
SEOmoz has compiled the aggregated opinions of dozens of the world's best and brightest search marketers into this biennial, ranking factors document. This year, for the first time, they are presenting a second form of data - correlation-based analysis - alongside the opinions of the 132-person panel.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.davidmihm.com/local-search-ranking-factors.shtml"&gt;Local Search Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide to optimizing for Google Local Search results.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://seo2.0.onreact.com/10-commandments-of-business-blogging"&gt;10 Commandments of Business Blogging&lt;/a&gt;&lt;br/&gt;
Useful guidelines for operating a blog for your business, or your employer.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/DsIhbCGZVqM" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-09-19</feedburner:origLink></item><item>
    <title>Marketing With Fewer Than 140 Characters</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/fNq4dB6i_wI/marketing-fewer-140-characters</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;&lt;img src="/sites/default/files/TwitterLogo.png" alt="Twitter Bird Logo" class="right-border" /&gt;The latest facet of my practical business education at DesignHammer involves social media. Virtually every business has an online presence these days, and most consumers rely on the Internet for information about products and services. It is crucial for a successful 21st century business to utilize social media to reach out to clients and the general public. I’ve been exploring and observing how companies use services such as Linkedin, Facebook, and Twitter. Today, I want to share my findings on Twitter, the marketer’s dream social networking platform.&lt;/p&gt;

&lt;h2&gt;Why Twitter?&lt;/h2&gt;

&lt;p&gt;Twitter, for those that don’t already know, is a micro-blogging platform that allows users to share their thoughts with the world in fewer than 140 characters. Businesses use Twitter to network, gain exposure, and build a loyal fan base, as well as add personality to a potentially impersonal online presence.&lt;/p&gt;

&lt;p&gt;The real marketing gold of Twitter, however, is its public nature. Every tweet is visible to everyone, meaning a business can easily read users’ comments on its products or services. It’s a great way to get feedback, positive or negative, from customers and the general public. And, unlike searches of the Web in Google, Twitter posts are available in real time.&lt;/p&gt;

&lt;p&gt;I’ve heard several stories about disgruntled customers who use Twitter to rant– a Comcast customer complained on Twitter about thirty six hours without internet and unsatisfactory customer service, only to have one of the company’s executives call twenty minutes later to rectify the problem. It’s important for a business to pay attention to clients’ comments, and Twitter is a great way to do so.&lt;/p&gt;

&lt;h2&gt;What Should You Tweet About?&lt;/h2&gt;

&lt;p&gt;&lt;img src="/sites/default/files/Twitter8.png" alt="Example of Tweeting About Others" class="img-border" /&gt;&lt;/p&gt;

&lt;p&gt;Ultimately, the goal of being on Twitter is to gain more followers and eventually more business, right? That’s perfectly fine, but using a Twitter account exclusively to sell products or services and promote yourself will often hurt as much as help your prospects in the Twittershpere, where many users are turned off by traditional marketing, PR, and sales. Instead, get creative with the content you post.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Go ahead and celebrate good things happening in your business, but be careful when walking the fine line between celebrating and bragging.&lt;/li&gt;
    &lt;li&gt;Spend time pointing out or promoting the good things other people are doing.&lt;/li&gt;
    &lt;li&gt;Post articles that you think your followers will find engaging, related to your industry or not.&lt;/li&gt;
    &lt;li&gt;Tweet about your blog posts, or someone else’s blog posts.&lt;/li&gt;
    &lt;li&gt;Company news is always relevant, and pictures are a plus.&lt;/li&gt;
    &lt;li&gt;Follow leaders in your field and retweet interesting content they post.&lt;/li&gt;
    &lt;li&gt;Ask questions to engage other users and solicit feedback.&lt;/li&gt;
    &lt;li&gt;Tweet about and promote upcoming events in your company.&lt;/li&gt;
    &lt;li&gt;To connect with local Twitter users, tweet about what’s happening in your hometown.&lt;/li&gt;
    &lt;li&gt;Have a healthy serving of both business-related and non business-related content.&lt;/li&gt;
    &lt;li&gt;Tweet about anything you think your followers will find intriguing or useful.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Etiquette on Twitter&lt;/h2&gt;

&lt;p&gt;&lt;img src="/sites/default/files/Twitter9.png" alt="Example Tweet Etiquette" class="img-border" /&gt;&lt;/p&gt;

&lt;p&gt;Just as in any other online or public forum, people formulate their opinion of you based on what you post. Being polite, gracious, and courteous only improves others’ opinions. Always respond respectfully to a customer’s complaints or criticisms and say thank you whenever appropriate. While these tips may seem obvious, it may not appear so upon viewing the feeds of Twitter users who are careless about manners.&lt;/p&gt;

&lt;h2&gt;Gaining Twitter Followers&lt;/h2&gt;

&lt;p&gt;&lt;img src="/sites/default/files/Twitter7.png" alt="Twitter Contest" class="img-border" /&gt;&lt;/p&gt;

&lt;p&gt;Without followers, you will have no audience to read to your ingenious, witty, and enlightening tweets. It is important to build a foundation of followers if you would like to be heard. To meet other Twitter users, try the following:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Participate in group twitter conversations.&lt;/li&gt;
&lt;li&gt; Tweet about others. They'll be more likely to retweet your content and follow you.&lt;/li&gt;
    &lt;li&gt;Start conversations. It can be as simple as asking how someone is doing.&lt;/li&gt;
    &lt;li&gt;Offer contests or giveaways to draw attention.&lt;/li&gt;
    &lt;li&gt;Link your Facebook, Twitter, and website together to direct traffic to all three pages.&lt;/li&gt;
    &lt;li&gt;Respond whenever others tweet about you or your business.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Don’t Let Twitter Consume Your Time&lt;/h2&gt;

&lt;p&gt;A Twitter feed can be a black hole of tweets if you let it consume too much time. To avoid pouring endless hours down the drain, time management is key. Having a schedule is beneficial; allot a few minutes every day specifically for social media so that it is neither neglected nor overused. For example, dedicate ten minutes to half an hour before lunch or first thing in the morning to Twitter alone, then move along with your day. While it is important to pay attention to what people are tweeting about you, by no means feel obligated to respond to, or read, every single comment. It’s also helpful to plan future tweets, or at least general ideas, to avoid running out of inspiration.&lt;/p&gt;

&lt;h2&gt;Go Forth and Tweet&lt;/h2&gt;

&lt;p&gt;Building a significant following on Twitter is a lengthy process, so be patient and persevere. If you run out of inspiration, learn from what other companies are doing on Twitter. &lt;a href="https://twitter.com/zappos"&gt;@zappos&lt;/a&gt; and &lt;a href="https://twitter.com/WholeFoods"&gt;@WholeFoods&lt;/a&gt; are good examples of corporate tweeting. Also, feel free to give us a shout out on Twitter (&lt;a href="https://twitter.com/DesignHammer"&gt;@DesignHammer&lt;/a&gt;). Good luck!&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/twitter" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Twitter&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/social-media" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Social Media&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/fNq4dB6i_wI" height="1" width="1"/&gt;</description>
     <pubDate>Wed, 07 Sep 2011 19:54:00 +0000</pubDate>
 <dc:creator>Claire Carson</dc:creator>
 <guid isPermaLink="false">307 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/marketing-fewer-140-characters</feedburner:origLink></item>
  <item>
    <title>Registration opens for new .XXX top-level domain</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/8897vwKAwKo/registration-opens-new-xxx-top-level-domain</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;h2&gt;The XXX TLD: A solution in search of a problem?&lt;/h2&gt;

&lt;p&gt;Starting tomorrow, members of the adult Sponsored Community who are verifiable trademark holders can apply for domains in the latest Top-Level Domain (TLD) .XXX. Back in March, 2011, The &lt;a href="http://www.icann.org/"&gt;Internet Corporation for Assigned Names and Numbers&lt;/a&gt; (ICANN), the group that manages top-level domains (e.g. .com, .org and .net) approved the new .XXX TLD.&lt;/p&gt;

&lt;p&gt;The new TLD, managed by Florida based &lt;a href="http://www.icmregistry.com/"&gt;ICM Registry LLC&lt;/a&gt;, is intended to serve companies in organizations in the wide range of "Adult" industries. The question among industry insiders lean toward is this a solution in search of a problem?&lt;/p&gt;

&lt;p&gt;Many in the adult industry are happy with their current TLD domains, and with the prices around ten to twenty times what they are currently paying, those with many domains question if there will be any payoff for anyone other than the registrars. And at the prices being charged, around $200 for the first year to early register, and around $100 a year after that, my guess is it will be a very profitable venture for ICM Registry.&lt;/p&gt;

&lt;p&gt;In addition, moving to a single TLD would allow adult websites to be easily monitored and filtered, with fears restrictive countries might even block the entire TLD.&lt;/p&gt;

&lt;h2&gt;Who should register XXX TLD domains?&lt;/h2&gt;

&lt;p&gt;Would I recommend registering .XXX domains for Adult industry companies? Without knowing how the new TLD will be accepted, I would likely recommend registering the main domain, especially if a competitor might register it. Also, if a desired domain was not available as a .COM, this might be a chance to pick up a better domain, and worth the cost.&lt;/p&gt;

&lt;p&gt;Somewhat troublesome is that there is a mechanism in place for place to allow trademark owners to block registration of a .XXX domain for ten years for around $200. Obviously, there is an expectation that companies will want to protect their trademarks and other intellectual property, and this is less expensive than registering a .XXX domain for ten years, and bound to be a great moneymaker for the registrars.&lt;/p&gt;

&lt;p&gt;Is it worth it to protect your IP by paying for this block service? For most, probably not, though if I was making the decision for &lt;a href="http://www.leatherman.com"&gt;Leatherman Tool Group&lt;/a&gt;, maker of the ubiquitous multi-tool, I would try to block leatherman.xxx.&lt;/p&gt;

&lt;p&gt;If you decide to register, or block a .XXX domain, for companies based in the United States, there are &lt;a href="http://www.icmregistry.com/registrars/"&gt;a number of registrars available&lt;/a&gt;, including &lt;a href="http://www.godaddy.com/tlds/xxx-domain.aspx?tld=xxx&amp;amp;ci=51450"&gt;GoDaddy.com&lt;/a&gt; and &lt;a href="http://www.networksolutions.com/domain-name-registration/xxx-domain-extension.jsp"&gt;Network Solutions&lt;/a&gt;. Prices are consitantly very high, compared to .COM domains, but do vary from regisrar to registrar (for example Go Daddy is around $100/year, while Network Solutions is close to $130/yr for General Availability registration), so shop around.&lt;/p&gt;

&lt;h2&gt;Important dates for registering .XXX domains&lt;/h2&gt;

&lt;ul type="circle"&gt;&lt;li&gt;&lt;b&gt;Sunrise AT [09/07/2011–11/28/2011]:&lt;/b&gt; members of the adult Sponsored Community who are verifiable trademark holders can apply for .XXX domain names.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;Sunrise AD [09/07/2011–11/28/2011]:&lt;/b&gt; members of the adult Sponsored Community who are verifiable domain holders can apply for .XXX domain names.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;Sunrise B [09/07/2011–11/28/2011]:&lt;/b&gt; those who are not members of the adult Sponsored Community can protect their registered trademark from .XXX registration by blocking it.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;Landrush [11/08/2011–11/25/2011]:&lt;/b&gt; members of the adult Sponsored Community can get their name in early and beat the rush.&lt;/li&gt;
    &lt;li&gt;&lt;b&gt;General Availability [12/-6/2011]: &lt;/b&gt;anyone can register .XXX domains.&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/8897vwKAwKo" height="1" width="1"/&gt;</description>
     <pubDate>Tue, 06 Sep 2011 19:46:59 +0000</pubDate>
 <dc:creator>David Minton</dc:creator>
 <guid isPermaLink="false">309 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/registration-opens-new-xxx-top-level-domain</feedburner:origLink></item>
  <item>
    <title>Tracking Website Traffic from Twitter</title>
    <link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/awIto_takHs/tracking-website-traffic-twitter</link>
    <description>&lt;div class="field field-name-body field-type-text-with-summary field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even" property="content:encoded"&gt;&lt;p&gt;In July, Twitter added a new feature useful for both users of the micro blogging service, as well as website owners interested in tracking traffic sources—&lt;a href="http://t.co"&gt;t.co link shortening service&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Added Convenience for Twitter Users&lt;/h2&gt;

&lt;p&gt;While link shortening services, such as bit.ly, are indispensible for users of services such as Twitter, since it’s possible to find URLs longer than the service’s 140-character limit, there are downsides. One of these is security, since any URL can be hiding behind an inviting bit/ly link, including SPAM and phishing websites.&lt;/p&gt;

&lt;p&gt;To counter this problem, organizations have begun offering their own shortening domains, such as &lt;a href="http://bits.blogs.nytimes.com/2009/12/16/the-times-and-bitly-roll-out-nytims-short-links/"&gt;The New York Time’s ‘nyti.ms,’&lt;/a&gt; as powered by &lt;a href="http://bits.blogs.nytimes.com/2009/12/16/the-times-and-bitly-roll-out-nytims-short-links/"&gt;Bit.ly’s Pro service&lt;/a&gt;. Any link to content on the ‘nyti.ms’ domain should be safe.
&lt;img src="http://www.designhammer.com/sites/default/files/twitter-shortener-promo.png" /&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, not every website offers custom link shortening domain, so most users are forced to use link shortening services like bit.ly, tinyURL, or Google’s goo.gl. Many Internet users don’t trust these anonymous shortened URLs, so Twitter offers “to better protect users from malicious sites that engage in spreading malware, phishing attacks, and other harmful activity” by checking “against a list of potentially dangerous sites.”
How is this going to work? According to the &lt;a href="http://support.twitter.com/groups/31-twitter-basics/topics/111-features/articles/109623-about-twitter-s-link-service-http-t-co"&gt;Twitter Help Center’s About Twitter's Link Service page&lt;/a&gt;:&lt;/p&gt;

&lt;ul type="circle"&gt;&lt;li&gt;Links shared on Twitter.com will be shortened to a &lt;a href="http://t.co"&gt;http://t.co&lt;/a&gt; link.&lt;/li&gt;

    &lt;li&gt;You’ll see the message “link will appear shortened” next to the Tweet button; however, these links will display the site that a link directs to, instead of a t.co URL.&lt;/li&gt;

    &lt;li&gt;All links included in Direct Message notification emails already pass through the link service and are converted to a &lt;a href="http://t.co"&gt;http://t.co&lt;/a&gt; link.&lt;/li&gt;

    &lt;li&gt;Please note: t.co links are neither private nor public. Anyone with the link will be able to view the content.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;You can continue to use an alternate link shortening service, such as bit.ly, with Twitter, though any link shorter than nineteen characters will still be shortened with a t.co URL, and the original will be displayed as the link text. This sounds a bit more confusing than it is, and is better explained in the Twitter Help Center's  &lt;a href="http://support.twitter.com/articles/78124-how-to-shorten-links-urls"&gt;How to Post Links (URLs)&lt;/a&gt; article.
While Twitter is touting increased safety, the major offering to Twitter users will be convenience.&lt;/p&gt;

&lt;h2&gt;Tracking Website Incoming Links from Twitter&lt;/h2&gt;

&lt;p&gt;For website owners interested in measuring the influence of Twitter through the number of incoming links, the convenience of using t.co for shortening is quickly obvious. Since t.co links only come from tweets, as opposed to conventional shortened links which could be shared via web pages, emails, or other social networks such as facebook or Linkedin, any such links are easily recognized in website analytics. &lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.designhammer.com/sites/default/files/google-t.co_.png" /&gt;&lt;/p&gt;

&lt;p&gt;Up until now, Twitter users clicked through to websites either from the Twitter website (with twitter.com as the referrer), or from a desktop/mobile client, in which there was no referral website (assuming a link shortening service was not used). Now, traffic all Twitter segments will be seen as one.&lt;/p&gt;

&lt;p&gt;For the initial rollout of the service, Twitter was only wrapping URLs of nineteen characters or longer. Since then, the number of characters has decreased (as seen below in a wrapped eighteen character ow.ly link, with t.co URL added for reference, both highlighted in red).&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.designhammer.com/sites/default/files/twitter-email-example.png" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.twitter.com/discussions/1062"&gt;According to the Twitter Developer Blog&lt;/a&gt;, “Eventually, all URLs will be wrapped regardless of length; we'll let you know more details on those dates well in advance.”&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="field field-name-taxonomy-vocabulary-1 field-type-taxonomy-term-reference field-label-hidden"&gt;&lt;div class="field-items"&gt;&lt;div class="field-item even"&gt;&lt;a href="/category/tags/twitter" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Twitter&lt;/a&gt;&lt;/div&gt;&lt;div class="field-item odd"&gt;&lt;a href="/category/tags/analytics" typeof="skos:Concept" property="rdfs:label skos:prefLabel"&gt;Analytics&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/awIto_takHs" height="1" width="1"/&gt;</description>
     <pubDate>Thu, 01 Sep 2011 04:59:51 +0000</pubDate>
 <dc:creator>David Minton</dc:creator>
 <guid isPermaLink="false">306 at http://www.designhammer.com</guid>
  <feedburner:origLink>http://www.designhammer.com/blog/tracking-website-traffic-twitter</feedburner:origLink></item>
  <item><title>Links for 2011-07-14 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/9oU3X6vI5Bg/designhammer</link><pubDate>Fri, 15 Jul 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-07-14</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://visual.ly/"&gt;InfoGraphics by Visual.ly&lt;/a&gt;&lt;br/&gt;
Infographics are popping up everywhere on the web, and now, if you have a data set, you can make your own infographic. San Francisco-based Visual.ly, which offers a free platform for creating infographics from data, has launched its beta version and is open to the public.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/9oU3X6vI5Bg" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-07-14</feedburner:origLink></item><item><title>Links for 2011-06-12 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/pZF2vs5o8Ao/designhammer</link><pubDate>Mon, 13 Jun 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-06-12</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.seomoz.org/article/search-ranking-factors"&gt;2011 Search Engine Ranking Factors&lt;/a&gt;&lt;br/&gt;
SEOmoz has compiled the aggregated opinions of dozens of the world&amp;#039;s best and brightest search marketers into this biennial, ranking factors document. This year, for the first time, they are presenting a second form of data - correlation-based analysis - alongside the opinions of the 132-person panel.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.davidmihm.com/local-search-ranking-factors.shtml"&gt;Local Search Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide to optimizing for Google Local Search results.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://searchengineland.com/seotable"&gt;The Periodic Table Of SEO Ranking Factors&lt;/a&gt;&lt;br/&gt;
A guide, in the form of the periodic table of elements, that summarizes the major factors to focus on for search engine ranking success.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/pZF2vs5o8Ao" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-06-12</feedburner:origLink></item><item><title>Links for 2011-05-31 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/a65ZUVChz1Q/designhammer</link><pubDate>Wed, 01 Jun 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-05-31</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://seo2.0.onreact.com/10-commandments-of-business-blogging"&gt;10 Commandments of Business Blogging&lt;/a&gt;&lt;br/&gt;
Useful guidelines for operating a blog for your business, or your employer.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/a65ZUVChz1Q" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-05-31</feedburner:origLink></item><item><title>Links for 2011-05-09 [del.icio.us]</title><link>http://feedproxy.google.com/~r/DesignHammerBlog/~3/t5v-xB22jZQ/designhammer</link><pubDate>Tue, 10 May 2011 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/designhammer#2011-05-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.blnc.gov/"&gt;Business Link North Carolina&lt;/a&gt;&lt;br/&gt;
Business Link North Carolina (BLNC) can connect you to services provided by state-supported agencies, many of which are free.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/DesignHammerBlog/~4/t5v-xB22jZQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/designhammer#2011-05-09</feedburner:origLink></item></channel>
</rss>

