<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>PopSci.com</title>
  <link rel="alternate" type="text/html" href="http://pingv.com/tag/popsci-com"/>
  <link rel="self" type="application/atom+xml" href="http://pingv.com/taxonomy/term/178/atom/feed"/>
  <id>http://pingv.com/taxonomy/term/178/atom/feed</id>
  <updated>2008-01-23T21:07:08-06:00</updated>
  <entry>
    <title>pingVision wins W3 Award for Popular Science</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/blog/laura/2008/pingvision-wins-w3-award-popular-science" />
    <id>http://pingv.com/blog/laura/2008/pingvision-wins-w3-award-popular-science</id>
    <published>2008-10-31T11:13:41-05:00</published>
    <updated>2008-10-31T11:15:02-05:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="Awards" />
    <category term="pingVision" />
    <category term="awards" />
    <category term="Drupal" />
    <category term="PopSci.com" />
    <category term="W3 Award" />
    <content type="html"><![CDATA[ <p>pingVision has won a W3 Award in the Magazine category for the website for Popular Science, <a href="http://popsci.com">PopSci.com</a>. The W³ Awards honors creative excellence on the web, and recognizes the creative and marketing professionals behind award winning sites, marketing programs, and video work created for the web.</p>
<p>This is the third award pingVision has won for the PopSci website, having won a <a href="http://pingv.com/blog/laura/2008/pingvision-wins-five-horizon-interactive-awards">Gold Horizon Award in the Magazine/News category</a> earlier this year and the <a href="http://pingv.com/blog/laura/200803/back-drupalcon-renewed-energy-and-award">Best Drupal Showcase award</a> at DrupalCon Boston 2008.</p>
<p>The PopSci website was developed in Drupal 5, with custom functionality that resulted in some new contributed modules, and involved full migrations from Vignette (with a massive Oracle database) and TypePad. (Read our <a href="http://drupal.org/popular-science">PopSci.com case study posted on Drupal.org</a> and <a href="http://pingv.com/case-study/popular-science-case-study">right here on the pingVision website</a>.)</p>
<h3>About the W3 Awards [<a href="http://www.w3award.com/assets/doc/w3award_factsheet2008.pdf">pdf</a>]:</h3>
<blockquote><p>The W³ is sanctioned and judged by the International Academy of the Visual Arts ... an invitation-only body consisting of top-tier professionals from a "Who's Who" of acclaimed media, interactive, advertising, and marketing firms.  IAVA members include executives from organizations such as Alloy, Brandweek, Coach, Disney, The Ellen Degeneres Show, Estee Lauder, Fry Hammond Barr, HBO, Monster.com, MTV, Polo Ralph Lauren, Sotheby’s Institute of Art, Victoria’s Secret, Wired, and Yahoo!....</p>
<p>In determining winners, entries are judged based on a standard of excellence as determined by the IAVA, according to the category entered.</p></blockquote>
<p>We are very grateful that our work has received such recognition. Thank you, IAVA!</p>
     ]]></content>
  </entry>
  <entry>
    <title>Popular Science Case Study</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/case-study/popular-science-case-study" />
    <id>http://pingv.com/case-study/popular-science-case-study</id>
    <published>2008-04-20T14:24:40-05:00</published>
    <updated>2008-07-12T18:17:11-05:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="Drupal" />
    <category term="PopSci.com" />
    <category term="DrupalCon Boston Best Drupal Showcase" />
    <category term="Horizon Interactive Award" />
    <content type="html"><![CDATA[ <p><em>Following up on the <a href="http://boston2008.drupalcon.org/session/popular-science-case-study">Popular Science Case Study</a> presented at DrupalCon Boston 2008 by <a href="http://drupal.org/user/27802">Kevin Bridges (cyberswat)</a>, <a href="http://drupal.org/user/18973">Laura Scott</a> and others at <a href="http://pingv.com/">pingVision</a>, along with Megan Miller and John Mahoney of PopSci.com, here is a written case study on the development approaches for PopSci.com.</em></p>
<p><img src="/files/PopSci-fp-40.png" alt="PopSci home page" title="PopSci.com front page on February 21, 2008" /></p>
<p> In February 2008, <a href="http://popsci.com/"><em>Popular Science</em></a>, the fifth-oldest continually-published monthly magazine, relaunched its online presence with an enterprise-level website developed by <a href="http://pingv.com/">pingVision</a>, powered by <a href="http://drupal.org/">Drupal</a>. </p>
<p>Founded in 1872, <em>Popular Science</em>, the "What's New, What's Next magazine," has witnessed, reported on, and evaluated countless scientific and technological developments, from the dawn of electricity to the latest innovations of today's information age -- advances that have shaped the way we live, work, play, travel, communicate, understand and interact with the world. Indeed, the archives of Popular Science reflect humankind's progress over the past 135+ years.</p>
<p>Until this year, <em>Popular Science</em>'s online presence was dominated by proprietary web content management solutions. With this relaunch, the <em>Popular Science</em> team wanted to take the online presence of the magazine into the open source world. They decided on Drupal for the website's platform and retained pingVision for the development.</p>
<p>This is a brief run-down of how pingVision developed the site to meet the <em>Popular Science</em> staff's exacting requirements.</p>
<p>Website Goals and Challenges </p>
<p>Prior to its relaunch, the <em>Popular Science</em> website used various different systems to deliver content. One of the goals for the new site was to bring these disparate sites together into a unified user interface while increasing usability and functionality. Drupal's inherent flexibility and extensibility afforded the delivery of <em>Popular Science</em>'s usability and functional requirements. One of the big challenges, however, was converting and importing several years' worth of content from a <a href="http://vignette.com/">Vignette 7 CMS</a> and several <a href="http://typepad.com/">TypePad</a> blogs.</p>
<p><img src="/files/home_explode.png" alt="PopSci exploded home" title="Exploded home of PopSci.com" height="550" width="400" /></p>
<p>Another challenge was the integration of several third-party services, including a fantasy stock trading system, video conversion and hosting services, and advertising. </p>
<p>In approaching the development of the new PopSci.com, we took advantage of various contributed modules, and created a number of custom modules, including the <a href="http://drupal.org/project/dme">Drupal Markup Engine</a> for content placement within nodes and <a href="http://drupal.org/project/nodecarousel">Node Carousel</a> for displaying content. </p>
<p>Finally, scalability was a primary concern, as PopSci already had a large and active user base. By specifying a load-balanced multi-server cluster to serve up the site, combined with the use of <a href="http://drupal.org/project/memcache">Memcache</a>, PopSci.com post-relaunch was able to weather an average load of 60 pages per second with a spike of over 1.1 million page views in 24 hours -- a new record for Popular Science.</p>
<p>Content Types </p>
<p>It was important to the PopSci.com editors that they have complete control over the placement of media and supporting content not only in full node view but also in teaser view. They wanted the ability to paginate long articles and place any number of images or even related blocks into the content of a node. The media placement also needed to be intelligent enough to work with legacy content imported from Vignette and Typepad. Most of this was accomplished with the creation of a new module called the <a href="http://drupal.org/project/dme">Drupal Markup Engine</a>, or DME. The DME works in conjunction with the content-types that were created for this project with the <a href="http://drupal.org/project/cck">Content Construction Kit (CCK)</a> by providing a custom, extensible input filter.</p>
<h3>Articles</h3>
<p>Articles are the main content-type on the site. All blog posts from TypePad and articles from Vignette were consolidated as articles in Drupal.</p>
<p>The article content-type uses the DME extensively. Referenced images can be placed anywhere in an article using the DME. If a referenced image node isn't specifically placed within the content body by the DME, it is automatically displayed at the top of the article and in the article's teaser view.</p>
<p><img src="/files/dme.png" alt="DME screenshot" title="The Drupal Markup Engine" /><br />
Images may also be placed directly in the teaser using the DME. This approach provides maximum flexibility with images entered through Drupal and with images from legacy content, which required no human intervention to make the latter work. </p>
<p>The DME is also used to place a related content block (containing links to nodes in Node Reference fields or nodes with similar taxonomy terms) into the content and to set pagination for the article.</p>
<h4>Article Structure</h4>
<ul>
<li>Article Images -- Node Reference to images used in the article.</li>
<li>Associated Photo Gallery -- Node Reference to an Photo Gallery. </li>
<li>Body -- The article's body.</li>
<li>Category Badge -- A taxonomy image that will apply a graphical badge to the article.</li>
<li>Credit -- The credit is the contributor of the article.</li>
<li>DEK -- A brief description of the article.</li>
<li>Primary Category -- The primary taxonomy for the site represented by the main navigation areas.</li>
<li>Related Articles -- Node Reference field to relate other articles.</li>
<li>Tags -- An auto-fill taxonomy field.</li>
<li>Title -- Core title field.</li>
<li>V7id -- The Vignette 7 ID of the original article so that it can be cross-referenced. This was useful for redirecting old urls to new Drupal content. <em>[See discussion about imports below]</em></li>
<li>Video Link -- Node Reference to related videos.</li>
</ul>
<h3>Current Issue</h3>
<p><img src="/files/recent.png" alt="Recent screenshot" title="Recent" /><br />
The "current issue" node type represents an issue of the magazine. It is used to store images of the magazines cover associated with dates. This node type is used in various promotional content throughout the site.</p>
<h4>Current Issue Structure</h4>
<ul>
<li>Cover -- An image representing the magazine cover.</li>
<li>Issue Date -- Publication date of the issue.</li>
<li>Title -- Core title field.</li>
</ul>
<h3>Featured Tout</h3>
<p>The Featured tout is a node type created to be used solely in a Node Carousel driven by a Node Queue. The featured touts simply require the Popular Science editors to create graphics that are of the appropriate dimensions. These can be seen on the front page of <a href="http://popsci.com/">http://popsci.com/</a>.</p>
<p><img src="/files/feature_tout.png" alt="Feature tout screenshot" title="PopSci.com feature tout using Node Carousel" /></p>
<h4>Featured Tout Structure</h4>
<ul>
<li>Associated Article -- Node Reference to the article being touted.</li>
<li>DEK -- A brief description of the article being touted.</li>
<li>Index Display Link -- The word used as the link in the tout.</li>
<li>Title -- Core title field.</li>
</ul>
<h3>Images</h3>
<p><img src="/files/images.png" alt="images screenshot" title="The images on PopSci.com" /><br />
Images are used extensively on the site and needed to be invoked in a number of ways. Images are used in different forms in articles, teaser widgets, and photo galleries. If an image has related content, links to that content are shown in all but teaser views. Images are not served as stand alone images on the site but are invoked in Articles and Photo Galleries.</p>
<h4>Image Structure</h4>
<ul>
<li>Credit -- The contributor of the image.</li>
<li>DEK -- A brief description of the image.</li>
<li>Photo Gallery Link -- Node Reference to Photo Galleries. If an image references a gallery it shows up in that Photo Gallery.</li>
<li>Photo Gallery Weights -- This field contains a series of number pairs with each pair representing the photo gallery and the image's weight in that photo gallery.</li>
<li>Primary Category -- The primary taxonomy for the site represented by the main navigation areas.</li>
<li>Title -- Core title field.</li>
<li>V7id -- The Vignette 7 ID of the original image so that it can be cross-referenced. This was useful for redirecting old urls to new Drupal content.</li>
<li>Video Link -- Node Reference to related videos.</li>
</ul>
<h3>Photo Gallery</h3>
<p><img src="/files/gallery.png" alt="gallery" title="Image galleries on PopSci.com" /></p>
<p>A Photo Gallery is a node type serving to collect image nodes and content to be displayed to the end user as a photo gallery. The images are designated for a photo gallery by editing the image and entering the gallery title in the appropriate Node Reference field. Galleries are presented as Node Carousels to give them a slick, interactive feel.</p>
<h4>Photo Gallery Structure</h4>
<ul>
<li>Category Badge -- A taxonomy image that will apply a graphical badge to the image.</li>
<li>Credit -- The contributor of the image.</li>
<li>DEK -- A brief description of the image.</li>
<li>Icon -- A Node Reference field to the image to use when viewing the gallery in teaser view.</li>
<li>Primary Category -- The primary taxonomy for the site represented by the main navigation areas.</li>
<li>Tags -- An auto-fill taxonomy field.</li>
<li>Title -- Core title field.</li>
<li>V7id -- The Vignette 7 ID of the original image so that it can be cross-referenced. This was useful for redirecting old urls to new Drupal content.</li>
</ul>
<h3>User Video</h3>
<p>The Video node enables posting of video to either <a href="http://www.youtube.com/">YouTube</a> or <a href="http://onstreammedia.com/">OnStream</a>. We developed a custom media module, which creates a custom Media Profile CCK field that can be attached to any node, allowing editors and admins to restrict the services used on a per-content-type basis.</p>
<p>The custom media module differs from the existing emfield module by offering greater flexibility -- such as allowing users to upload videos to the services straight from Drupal.</p>
<h4>Video Structure</h4>
<ul>
<li>Category Badge -- A taxonomy image that will apply a graphical badge to the video.</li>
<li>Credit -- The contributor of the video.</li>
<li>DEK -- A brief description of the video.</li>
<li>Primary Category -- The primary taxonomy for the site represented by the main navigation areas.</li>
<li>Tags -- An auto-fill taxonomy field.</li>
<li>Title -- Core title field.</li>
<li>Video Link -- A hosted video handled by an extension to the media module.</li>
</ul>
<p>Data Import </p>
<p>Part of the motivation to move the existing content over to Drupal was to escape the rigid complexity and cost associated with the Vignette CMS. The Vignette dataset was a 1.66GB Oracle database -- and that didn't include the more than 15,000 images referenced in the Vignette data which also had to be imported into the new site.</p>
<p>The first step in the migration process was to use the <a href="http://www.mysql.com/products/tools/migration-toolkit/">MySQL Migration Toolkit</a> to transfer the data to MySQL. We wrote a custom module that used cron to feed the Oracle data through Drupal's APIs in manageable chunks. And finally, we imported the images by extracting their locations from the Oracle data and, via shell script, executing a series of wget commands to download the images.</p>
<p>As each piece of content was created in Drupal it was tagged with the Yahoo Terms module, which despite some odd results provided a good start on tagging the immense amount of un-tagged Vignette data.</p>
<p>Once the preparations were in place, the entire import process took approximately two solid days of execution time to complete.</p>
<p>A portion of the import process centered around how to deal with the urls that had been generated by Vignette, so that an article called up by its old Vignette address could be found in the new Drupal architecture. In order to accomplish this, during the import we took the associated Vignette ID for each unit of information imported from Vignette into Drupal and placed it into a CCK field in its destination node in Drupal. To actually find those articles in Drupal, a hook was written that works with the <a href="http://drupal.org/project/customerror">Custom Error</a> module to look for the old Vignette ID in the url when a 404 occurs and issues the correct redirect code. Not only were we able to handle the redirects while historic links were used, but in a very short time Google had updated their search results showing the new paths.</p>
<p>Search </p>
<p><img src="/files/popscisearch.png" alt="Special search module screenshot" title="Search items are parsed out by node type with tabbed resorting options" /></p>
<p>The design of the PopSci search results required the search results to be grouped by content type, with tabs allowing re-sorting of the results by Most Relevant, Most Recent, Most Viewed, Top Rated, and Most Commented. On top of that, users needed to be able to subscribe to rss feeds of the results.</p>
<p>We achieved this functionality by developing an extended version of Drupal's core search, displaying the various results in blocks of paginated content, with AJAX tabsets to access other sortings of the results.</p>
<p>Each search is also cached, given a hashed id, and associated with the user performing the search to allow the saving the searches for future reference.</p>
<p>AJAX Tabs </p>
<p>In many instances the design comps we received required a nested set of tabs that could function to filter the content being displayed on a particular page. This was largely handled by the Tabs component of the <a href="http://drupal.org/project/jstools">Javascript Tools</a> module. However, the large tabbed datasets displayed on each of the main category pages and in searches needed to be a custom coded solution to be able to work in a responsive fashion with larger amounts of data.</p>
<p>Performance<br />
Naturally, there is a hefty selection of hardware powering the Popular Science website, but the true performance winner of this project was the <a href="http://drupal.org/project/memcache">Memcache</a> module which integrates Drupal with <a href="http://www.danga.com/memcached/">Memcached</a> and the <a href="http://pecl.php.net/package/memcache">PECL Memcache library</a>. Out of the box, this module worked extremely well for us, with the exception of path aliases: A full page load was generating as many as 700 queries to determine path aliases. Pulling these queries through Memcache gave us the speed we needed to maintain an initial average load of approximately 60-70 page views per second.</p>
<p>Community Contributed Modules </p>
<p>The true power of Drupal lies in the people that participate. These modules were contributed by the community and helped make the work we did possible:</p>
<ul>
<li><a href="http://drupal.org/project/Modules/category/53">Administration</a>
<ul>
<li><a href="http://drupal.org/project/abuse">Abuse</a> -- Allows users to flag nodes and comments as offensive for the adminstrator to review.</li>
<li><a href="http://drupal.org/project/avatarapproval">Avatar Approval</a> -- Creates a workflow for moderating user avatars.</li>
<li><a href="http://drupal.org/project/customerror">Custom Error</a> -- Allows the site admin to create custom error pages for 404 (not found), and 403 (access denied), without the need to create nodes for each of them.</li>
<li><a href="http://drupal.org/project/jquery_update">JQuery Update</a> -- Facilitates an upgrade of jQuery in Drupal 5. JQuery 1.0.1 is included with Drupal 5, however it is not very well supported in the jQuery community.</li>
<li><a href="http://drupal.org/project/pathauto">Path Auto</a> -- Automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias.</li>
<li><a href="http://drupal.org/project/update_status">Update Status</a> -- Checks with drupal.org once a day to see if there are new officially released versions of Drupal and any modules that you are running.</li>
<li><a href="http://drupal.org/project/urllist">URL List</a> -- Creates a list of node URLs at /q=urllist.txt or (/urllist.txt for clean URLs) for submitting to search engines like Yahoo! Site Explorer.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/74">User access/authentication</a>
<ul>
<li><a href="http://drupal.org/project/account_reminder">Account Reminder</a> -- Resends the welcome email to users who have registered with the site but have not yet logged in.</li>
<li><a href="http://drupal.org/project/logintoboggan">Login Toboggan</a> -- Offers several modifications of the Drupal login system in an external module.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/88">CCK</a>
<ul>
<li><a href="http://drupal.org/project/cck">Content Construction Kit (CCK)</a> -- Allows you create and customize fields using a web browser.</li>
<li><a href="http://drupal.org/project/cck_taxonomy">CCK Taxonomy Fields</a> -- Taxonomy vocabularies will show up as field types that can be added to content types using CCK.</li>
<li><a href="http://drupal.org/project/date">Date</a> -- A flexible date/time field type for the CCK content module.</li>
<li><a href="http://drupal.org/project/fivestar">Fivestar</a> -- Adds a clean, attractive voting widget to nodes in Drupal 5.</li>
<li><a href="http://drupal.org/project/imagefield">ImageField</a> -- Provides image uploads for CCK.</li>
<li><a href="http://drupal.org/project/link">Link</a> -- A CCK content field which lets you add a complete link to your content types.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/55">Commerce/advertising</a>
<ul>
<li><a href="http://drupal.org/project/adsense">AdSense</a> -- Provides Web site owners with the means to earn revenue from visitors by displaying ads from Google's AdSense or SiteSearch on their sites.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/59">Developer</a>
<ul>
<li><a href="http://drupal.org/project/api">API</a> -- An implementation of a subset of the Doxygen documentation generator specification, tuned to produce output that best benefits the Drupal code base.</li>
<li><a href="http://drupal.org/project/coder">Coder</a> -- Assists with code review and version upgrade.</li>
<li><a href="http://drupal.org/project/dba">DBA</a> -- Provides Drupal administrators with direct access to their Drupal database tables from within the standard Drupal user interface.</li>
<li><a href="http://drupal.org/project/devel">Devel</a> -- A suite of modules containing useful utilities for both module and theme developers.</li>
<li><a href="http://drupal.org/project/jstools">Javascript Tools</a> -- Provides both an integrated set of Javascript and AJAX modules and a common set of methods extending those available in Drupal core (drupal.js) for Javascript and AJAX module development in Drupal.</li>
<li><a href="http://drupal.org/project/simpletest">Simple Test</a> -- A framework for running automated unit tests in Drupal.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/63">Filters/editors</a>
<ul>
<li><a href="http://drupal.org/project/filterbynodetype">Filter by node type</a> -- Allows an admin to restrict the type of input format available to a user by user role. It does not, however, allow the admin to restrict the available input formats by node type.</li>
<li><a href="http://drupal.org/project/htmlcorrector">HTML Corrector</a> -- Corrects HTML entered into content areas.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/67">Media</a>
<ul>
<li><a href="http://drupal.org/project/imagecache">ImageCache</a> -- A dynamic image manipulation and caching tool.</li>
<li><a href="http://drupal.org/project/taxonomy_image">Taxonomy Image</a> -- Allows site administrators to associate images with taxonomy terms.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/69">Security</a>
<ul>
<li><a href="http://drupal.org/project/captcha">Captcha</a> -- A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/52">3rd party integration</a>
<ul>
<li><a href="http://drupal.org/project/import_typepad">Import Typepad / MoveableType</a> -- Allows the importation of typepad content from the typepad export file.</li>
<li><a href="http://drupal.org/project/memcache">Memcahce</a> -- For using <a href="http://www.danga.com/memcached/">Memcached</a> and the <a href="http://pecl.php.net/package/memcache">PECL Memcache library</a> with Drupal.</li>
<li><a href="http://drupal.org/project/omniture">Omniture</a> -- Integrates the <a href="http://www.omniture.com/">Omniture Site Catalyst</a> statistics monitoring software into a Drupal site.</li>
<li><a href="http://drupal.org/project/service_links">Service Links</a> -- Enables admins to add links to a number of social bookmarking sites, blog search sites etc.</li>
<li><a href="http://drupal.org/project/xmlsitemap">XML Sitemap</a> -- Creates a site map in accordance with the sitemaps.org specification.</li>
<li><a href="http://drupal.org/project/yahoo_terms">Yahoo Terms</a> -- Provides an interface to other modules to use Yahoo Term Extractor service.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/66">Mail</a>
<ul>
<li><a href="http://drupal.org/project/mimemail">Mime Mail</a> -- A Mime Mail component module.</li>
<li><a href="http://drupal.org/project/send">Send</a> -- Adds "tell a friend" functionality to any node type, tracks send actions in CiviCRM (if installed) and maintains a history of sent items.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/58">Content Display</a>
<ul>
<li><a href="http://drupal.org/project/nodecarousel">Node Carousel</a> -- An easy-to-use method for displaying nodes using the jCarousel library for jQuery.</li>
<li><a href="http://drupal.org/project/nodequeue">Node Queue</a> -- Allows an administrator to arbitrarily put nodes in a group for some purpose.</li>
<li><a href="http://drupal.org/project/site_map">Site Map</a> -- Provides a site map that gives visitors an overview of your site.</li>
<li><a href="http://drupal.org/project/views">Views</a> -- Provides a flexible method for Drupal site designers to control how lists of content (nodes) are presented.</li>
<li><a href="http://drupal.org/project/views_bookmark">Views Bookmark</a> -- A flexible bookmark system that is completely customizable the administrator.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/57">Content</a>
<ul>
<li><a href="http://drupal.org/project/nodewords">Meta Tags</a> -- Allows you to set some meta tags for each node, view or panels page.</li>
<li><a href="http://drupal.org/project/scheduler">Scheduler</a> -- Allows nodes to be published and unpublished on specified dates.</li>
<li><a href="http://drupal.org/project/similarterms">Similar Terms</a> -- Attempts to provide context for content items by displaying a block with links to other similar content.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/73">Theme Related</a>
<ul>
<li><a href="http://drupal.org/project/simplemenu">Simple Menu</a> -- Creates a menu bar that is displayed at the top of every page.</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/75">Utility</a>
<ul>
<li><a href="http://drupal.org/project/token">Token</a> -- Tokens are small bits of text that can be placed into larger documents via simple placeholders, like %site-name or [user].</li>
</ul>
</li>
<li><a href="http://drupal.org/project/Modules/category/60">Evaluation/rating</a>
<ul>
<li><a href="http://drupal.org/project/votingapi">Voting API</a> -- Helps developers who want to use a standardized API and schema for storing, retrieving, and tabulating votes for Drupal content.</li>
</ul>
</li>
</ul>
<p>Have comments? Please share them on the thread at <a href="http://drupal.org/node/233090" title="http://drupal.org/node/233090">http://drupal.org/node/233090</a>.</p>
     ]]></content>
  </entry>
  <entry>
    <title>Back from DrupalCon, with renewed energy and an award</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/blog/laura/2008/back-drupalcon-renewed-energy-and-award" />
    <id>http://pingv.com/blog/laura/2008/back-drupalcon-renewed-energy-and-award</id>
    <published>2008-03-16T18:10:44-05:00</published>
    <updated>2008-10-31T15:32:50-05:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="Sponsorships" />
    <category term="pingVision" />
    <category term="awards" />
    <category term="Boston" />
    <category term="conferences" />
    <category term="Dries Buytaert" />
    <category term="Drupal" />
    <category term="DrupalCon" />
    <category term="DrupalCon Boston 2008" />
    <category term="PopSci.com" />
    <category term="Popular Science" />
    <category term="RDF" />
    <category term="Sun" />
    <category term="DrupalCon Boston Best Drupal Showcase" />
    <content type="html"><![CDATA[ <p><br class="clear" /><br />
<a href="http://www.flickr.com/photos/matthewsaunders/2309736258/"><img src="http://farm4.static.flickr.com/3141/2309736258_8c03bd1e00.jpg" alt="DrupalCon sign with sponsors" title="DrupalCon sign with sponsors" width="300px" class="wrap" /></a></p>
<p>It's been a week since <a href="http://boston2008.drupalcon.org/"><br />
DrupalCon Boston 2008</a>. I started this post a week ago, but have been fighting a cold all week and am only now having the extra energy outside of work hours to write up this little summary.</p>
<p>The event was the largest in Drupal history (so far). We were honored to take part as <a href="http://boston2008.drupalcon.org/sponsor-list">Platinum Sponsors</a>, but the event was a collaborative effort of so many companies and individuals, it was truly a community event.</p>
<h3>Highlights:</h3>
<dl>
<dt>Dries Buytaert's semi-annual <a href="http://buytaert.net/state-of-drupal-presentation-march-2008">State of Drupal presentation</a>.</dt>
<dd>This is always interesting, but <a href="http://boston2008.drupalcon.org/dries-buytaert-0">this time</a> all the more so for his <a href="http://pingv.com/blog/laura/200803/drupal-growth-semantically-tested">audacious RDF proposition</a>, which pushes Drupal HEAD into the leading forces behind taking the web from "2.0" to the next step. </p>
<p><strong>[Update:</strong> If you missed it, <a href="http://video.google.com/videoplay?docid=-3401332494586334627&amp;q=drupalconboston2008&amp;total=3&amp;start=0&amp;num=10&amp;so=0&amp;type=search&amp;plindex=2">check out the video!</a><strong>]</strong></dd>
<p><br class="clear" /><br />
<a href="http://www.flickr.com/photos/matthewsaunders/2314617713/"><img src="http://farm4.static.flickr.com/3154/2314617713_aa0ae146a8.jpg" alt="Panoramic photograph" title="Panoramic photograph" width="400px" /></a></p>
<dt>The taking of the DrupalCon Photo. </dt>
<dd>It's the only time I talked to Scales, and the first time at the 'con I talked a bit with Dries. But the real fun was just enjoying the crowd of ourselves. We were a bigger crowd than ever before.</dd>
<dt>Walking the AIIM floor.</dt>
<dd><img src="http://farm4.static.flickr.com/3184/2312840473_8540bd360c_m.jpg" alt="AIIM" title="AIIM" class="wrapr" /><br />
We thought that we, Drupal, were big, but we were hardly a blip on the AIIM radar. By my count, there was one company that spoke open source in any way. The rest? Corporations selling (expensive) proprietary systems, with hawkers promising the moon. (Some of them seemed to have interesting stuff, and I'd say to myself, "Hmmm, how can we do that in Drupal?") They have no idea how their world is going to be disrupted so soon.</dd>
<dt>Winning the Grand Prize at the Closing Plenary.</dt>
<dd>The energy at the closing event is always so joyous. The unexpected topper was when we <a href="http://blogs.sun.com/downstream/entry/drupalcon_goes_big">won the grand prize</a> in the <a href="http://boston2008.drupalcon.org/drupal-showcase-and-case-study-contest-books-hosting-and-other-prizes">website case study competition</a> for PopSci.com. Through a mixup, the Sun representative making the announcement of the case study grand prize failed to mention the company who developed the site, meaning our guys who worked so hard on the site didn't get their brief moment of applause. <a href="http://www.sun.com/servers/coolthreads/t1000/index.xml"><img src="http://boston2008.drupalcon.org/files/sun-server.png" alt="Sun Fire T1000" title="Sun Fire T1000" class="wrapr" /></a>(Kieran and everyone where very apologetic afterwards, and we did win a kick-ass screaming Sun server, which we can't wait to get online at our offices.) From a community full of so many rock stars, geniuses and talented achievers, getting their kudos means a lot to us. (<a href="http://drupal.org/node/233090">Our PopSci case study is published on Drupal.org</a>, and has received some great responses -- thanks to all!)</dd>
<dt>The Drupal Association Dinner.</dt>
<dd>Here, <a href="http://pingv.com/about/people/katherine-lawrence">Kate</a> and I had an enjoyable and fascinating with <a href="http://association.drupal.org/user/Boris_Mann">RainCity's Boris Mann</a>, Acquia's <a href="http://jeffwhatcott.com/drupal/taxonomy/term/1/0">Jeff Whatcott</a>, <a href="http://association.drupal.org/user/Michael_Meyers">NowPublic's Michael Meyers</a>, Drupal founder <a href="http://buytaert.net">Dries</a>, Drupal.org's rockin' database administrator <a href="http://association.drupal.org/user/Narayan_Newton">Narayan Newton</a> (who has an unexpectedly dry, wry, delightful wit), and, later, <a href="http://association.drupal.org/user/Steven_Peck">Steven Peck</a> (who apparently fled from a political discussion at the next table over). (<a href="http://pingv.com/about/people/j-matthew-saunders">Matthew</a> was also there, but was seated at another table.) We talked about the business value of open source, the challenges of making any sort of Drupal "certification" credible, valuable and meaningful, expanding the open source biosphere, and (perhaps the most fun, if perhaps more whimsical) discussion of establishing a "BlogShares"-like rating system for Drupal modules and themes, using market forces rather than simple star ratings to convey value of projects to prospective users. (If anyone is interested in this kind of thing, maybe as a side project, let's talk.) I would have really enjoyed hanging with <a href="http://association.drupal.org/user/Robert_Douglass">Robert Douglass</a>, <a href="http://association.drupal.org/user/Kieran_Lal">Kieran Lal</a>, <a href="http://drupal.org/user/112278">Jay Batson</a> and <a href="http://association.drupal.org/user/Earl_Miles">Earl Miles</a>, but they were at other tables.</dd>
<dt>Having so many people approach us, interested in us, what we do, what we've done....</dt>
<dd><a href="http://www.flickr.com/photos/galawebdesign/2316867994/"><img src="http://farm3.static.flickr.com/2235/2316867994_1be9e90487_m.jpg" alt="Laura" title="Laura" class="wrapr" /></a><br />
A year ago, pingVision was largely invisible to the community. Of our company, I'm the one longest involved with Drupal, having joined (under my first UID) not quite four years ago, but as of a year ago I had not met anybody in the Drupal community outside of the greater Denver area. Since then we'd made a concerted effort to grow not just rapidly, but grow well, doing what we hope is regarded as some good work. Now in Boston we were seeing people happily adding pingVision stickers to their laptops. Wow!</dd>
<dt>Getting a first-hand tour of Harvard.</dt>
<dd>When everyone was at the code sprint, which happened to be just a couple blocks from our hotel, Kate took me on a tour of the business school (where we unexpectedly saw an exhibit about the first women to enter the Harvard business program) and led me around the campus of gorgeous architecture.</dd>
<dt>Having our people involved in new initiatives for Drupal core.</dt>
<dd><a href="http://www.flickr.com/photos/puregin/2306341015/"><img src="http://farm3.static.flickr.com/2068/2306341015_f76b05f8af_m.jpg" alt="MIT" title="MIT" class="wrapr" /></a><br />
Thanks to the synergistic energy happening at <a href="http://boston2008.drupalcon.org/codesprint">the Code Sprint at MIT on Friday</a> (which is unavoidable when you get a world-wide development community all in the same room), <a href="http://pingv.com/about/people/kevin-bridges">Kevin</a> is now involved in <a href="http://www.kevinbridges.org/node/137">developing testing for Drupal 7 core</a>, and <a href="http://pingv.com/about/people/greg-hines">Greg</a> is now involved in the same for JavaScript. And there's more, to be blogged about later.</dd>
</dl>
<h3>Disappointments:</h3>
<dt>Catching the cold I'm just getting over.</dt>
<dd>Getting sick sucks. Getting sick when traveling really sucks.</dd>
<dt>Missing all the geeky sessions I had bookmarked.</dt>
<dd><a href="http://boston2008.drupalcon.org/">DrupalCon Boston 2008</a> was a rush -- so much so, I feel like I missed most of it. Everything I did meant missing four or five other things. And because I ended up participating in six presentations in one way or another, I was far too distracted to be able to really focus on other sessions. I was just too busy, or too tired. Except for the two Drupal Association events, I spent the evenings at the hotel, convalescing. I never got to get my geek on, or even just have a drink with otherwise virtual friends.  Next time, I'm not going to present so much, so I can just relax and go to more sessions.</dd>
<dt>Not being able to hang out with so many cool Drupal people. </dt>
<dd>I did not get to hang out (or even say 'hello' to) so many cool people in the Drupal community. I'm far too shy for my own good, anyway, and at large gatherings it always takes me a while just to relax enough to actually talk to people, so this time I never really got into a socializing groove at all. I missed all the parties, too. I pretty much didn't get a chance to talk to anybody except those who made a point of stepping in front of my glazed eyes (and for you all I am grateful).</dd>
<dt>So many flickr photos flagged "© All rights reserved".</dt>
<dd>Come on, folks. We're working in open source. <a href="http://www.flickr.com/creativecommons/">Creative Commons is a good thing!</a></dd>
<p>I could go on, but we're back in the office going full-out on everything. I did shoot some video, which we're planning to use to jump-start the re-activation of the video wing of pingVision, which once upon a time was the primary business (back when I was doing freelance). Stay tuned for that....</p>
<p><a href="http://www.flickr.com/photos/ianivarieanna/2318983084/"><img src="http://farm3.static.flickr.com/2407/2318983084_7f221b0cc3.jpg" alt="Kieran Lal" title="Kieran Lal" width="400px" /></a></p>
<p>Big-time kudos and thanks go to Kieran Lal, whose seemingly limitless energy, hard work, ability to find great staffers like Sooz, and (from what I could tell) coolness under pressure made the DrupalCon happen. Props to you, dude!</p>
     ]]></content>
  </entry>
  <entry>
    <title>PopSci case study presentation today at DrupalCon</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/blog/laura/2008/popsci-case-study-presentation-today-drupalcon" />
    <id>http://pingv.com/blog/laura/2008/popsci-case-study-presentation-today-drupalcon</id>
    <published>2008-03-04T09:36:17-06:00</published>
    <updated>2008-06-20T16:17:17-05:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="Drupal" />
    <category term="DrupalCon" />
    <category term="DrupalCon Boston 2008" />
    <category term="PopSci.com" />
    <category term="Popular Science" />
    <content type="html"><![CDATA[ <p>Today in Boston at <a href="http://boston2008.drupalcon.org">DrupalCon</a> we're presenting a <a href="http://boston2008.drupalcon.org/session/popular-science-case-study">case study on the development of Drupal-powered PopSci.com</a>. </p>
<p>We'll be talking about what modules we used, the custom modules we developed (and why we developed them), import challenges and things we did to help the site scale well.</p>
<p>If you're at DrupalCon, hope you can make it! If not, watch Drupal.org. We'll be posting a written case study when the dust settles next week.</p>
     ]]></content>
  </entry>
  <entry>
    <title>PopSci.com Redesigned for Community and User Engagement  (doc)</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/press/mentions/popsci-com-redesigned-community-and-user-engagement-doc" />
    <id>http://pingv.com/press/mentions/popsci-com-redesigned-community-and-user-engagement-doc</id>
    <published>2008-02-28T09:33:51-06:00</published>
    <updated>2008-07-30T19:40:28-05:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="pingVision" />
    <category term="Drupal" />
    <category term="PopSci.com" />
    <category term="Popular Science" />
    <content type="html"><![CDATA[      ]]></content>
  </entry>
  <entry>
    <title>DME and Nodecarousel released!</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/blog/john-fiala/2008/dme-and-nodecarousel-released" />
    <id>http://pingv.com/blog/john-fiala/2008/dme-and-nodecarousel-released</id>
    <published>2008-01-31T15:55:31-06:00</published>
    <updated>2008-07-31T17:58:30-05:00</updated>
    <author>
      <name>John Fiala</name>
    </author>
    <category term="Drupal" />
    <category term="Drupal Markup Engine" />
    <category term="jQuery" />
    <category term="NodeCarousel" />
    <category term="PopSci.com" />
    <content type="html"><![CDATA[ <p>Well, it's taken a while to get all the ducks in a row, but finally I've officially checked in and released two new modules for Drupal 5.x: <a href="http://drupal.org/project/nodecarousel">NodeCarousel</a> and the <a href="http://drupal.org/project/dme">The Drupal Markup Engine</a>.  These two modules were originally developed to help bring the new <a href="http://www.popsci.com/">Popular Science</a> website to life, and now they're available for everyone to use.</p>
<p>The NodeCarousel module helps bring the jCarousel plugin for jQuery into easy use for drupalers who want to display their nodes with the ability to scroll through them side-to-side or otherwise shift through the nodes with ajax.</p>
<p>The DME module lets you define markup for your users to use in their posts, and declare exactly what that markup should be replaced with.  You don't have to do any mucking around with regular expressions to find the tags you've defined - the DME does that for you, and passes to your custom code the name of the tag, the arguments entered and any and all text enclosed by the tag.  On the PopSci website, for example, we declared a tag that lets them decide where images appear in the flow of their articles.</p>
<p>Both of these modules use SimpleTest testing - unfortunately, the NodeCarousel testing still assumes database items, but the DME tests can be run yourself if you like, as the DME is independent from the database.</p>
<p>Give them a try!  I've got some definite plans for the NodeCarousel, both in expanding what it can do, and with updating it to the new Drupal 6.</p>
     ]]></content>
  </entry>
  <entry>
    <title>PopSci.com relaunches on Drupal</title>
    <link rel="alternate" type="text/html" href="http://pingv.com/blog/laura/200801/popsci-com-relaunches-drupal" />
    <id>http://pingv.com/blog/laura/200801/popsci-com-relaunches-drupal</id>
    <published>2008-01-23T14:39:14-06:00</published>
    <updated>2008-01-23T21:07:08-06:00</updated>
    <author>
      <name>Laura</name>
    </author>
    <category term="Bonnier Corporation" />
    <category term="Drupal" />
    <category term="DrupalCon Boston 2008" />
    <category term="PopSci.com" />
    <category term="Popular Science" />
    <content type="html"><![CDATA[ <p>Today <a href="http://www.popsci.com">PopSci.com</a> relaunched on the <a href="http://drupal.org">Drupal free open source content management system</a>.</p>
<p><img src="http://pingv.com/files/imagecache/image-400/files/portfolio/popsci-jan23.png" alt="PopSci screenshot" title="PopSci.com relaunched today on Drupal" /></p>
<p>(As I write this, the DNS is still flipping back and forth, so if you don't see something like the screenshot above, you might try again in a little while.)</p>
<p>Some of the things we did for the site include development of the "Drupal Markup Engine" for editorial placement of images within the content (soon to be contributed), development of the <a href="http://pingv.com/drupal/project/node-carousel">Node Carousel</a> module, development of a custom search module that parses out results by node type (also soon to be contributed), import of a sizeable Oracle-based Vignette 7 database, plus three Typepad imports, integration with Omniture, integration with <a href="http://www.onstreammedia.com/">Onstream video service</a>, a custom integration with YouTube (with the ability to add other video services pretty easily), and integration with <a href="http://www.hsxresearch.com/">HSX</a> to tie in <a href="http://ppx.popsci.com/">PopSci's PPX features</a>.</p>
<p>We'll be blogging about these and other things in the coming days. We also hope to present a <a href="http://boston2008.drupalcon.org/session/popular-science-case-study">full case study at DrupalCon Boston 2008</a>, with Popular Science Web Editor Megan Miller and Associate Web Editor John Mahoney joining us in the effort.</p>
<p>At various times, our entire team put their shoulders to the wheel on this project. I couldn't be prouder.</p>
     ]]></content>
  </entry>
</feed>
