Growing Venture Solutions - GVS - support http://growingventuresolutions.com/taxonomy/term/37/0 en Preparing a Drupal site for efficient support http://growingventuresolutions.com/blog/preparing-drupal-site-efficient-support <h3>We can support your Drupal site, but first let&#8217;s make it right</h3> <p>When we first offered <a href="about/services/drupal-support">formal Drupal Support services</a> we expected clients would know their site fairly well and need help with advanced administration and/or doing &#8220;new&#8221; things. In practice, we&#8217;ve quickly learned an important lesson about the diversity of Drupal site owners. Some are virtuosos, and need our help with very complex issues. Some have an existing site with major deficiencies, perhaps built by a vendor who is no longer in the picture. Some need some tutoring in Drupal basics, or even the concepts of dynamic websites.</p> <p>So we have learned to sort out from the start whether clients will need a more intensive initial phase that includes a site review, an assessment of how well administrators and users understand their Drupal site, and quite possibly a detailed site tune-up. Here is how the technical side went with one client &#8230;</p> <!--break--><!--break--><p>From the outset, we sensed all of this client&#8217;s support hours could be consumed just trying to stay ahead of the ad hoc techniques used in the construction and management of the site. We knew we had to stabilize the situation so the client could get more value from our support &#8212; and from their site. We found the site running an older version of Drupal 5 on a Windows IIS host with only FTP (not SFTP nor ssh) access for managing the site. The clients wanted to improve SEO and feel more in control. They weren&#8217;t really using Drupal as a content management system.</p> <h3>First steps in Drupal site evaluation</h3> <p>To move forward, and protect their investment in the site, we helped the client to arrange for Linux hosting and planned an upgrade to Drupal 6. In short, this would put them on a version that is easier to support, simplify setup of clean URLs and guarantee availability of security updates beyond the Drupal 7 horizon. Using a Linux host with ssh access is a strong preference for our team; it makes our work for clients more efficient.</p> <p>We prepared to migrate and upgrade the site by reviewing the site&#8217;s:</p> <ul> <li>32 contributed modules,</li> <li>four custom themes (hacked versions of Garland applied to specific pages via <a href="http://drupal.org/project/taxonomy_theme">Taxonomy Theme</a>),</li> <li>structure including menus, content types, views and input filters,</li> <li>status of existing content, including some content not linked into site navigation at all,</li> <li>non-Drupal static pages and a Wordpress installation on the same domain, all themed to appear as part of the main site.</li> </ul> <h3>Getting a handle on a Drupal site&#8217;s modules</h3> <p>Our review found that 20 of the contributed modules had no significant purpose on the site, plus two useful modules weren&#8217;t supported for Drupal 6. While the site was functional, under the hood there were overlapping and partially configured modules, as if the previous site builder had left in the middle of some hasty experiments. In some cases we had to query the <em>variable</em> table or the tables associated with a module to be sure whether it was in use.</p> <p>With all of the unneeded modules gone, we added <a href="http://drupal.org/project/token">Token</a>, <a href="http://drupal.org/project/pathauto">Pathauto</a> and <a href="http://drupal.org/project/globalredirect">Global Redirect</a> to set the stage for SEO improvements.</p> <p>Some modules were needed but not supported in Drupal 6. We replaced <a href="">Taxonomy Theme</a> with <a href="http://drupal.org/project/themekey">Theme Key</a>, and <a href="http://drupal.org/project/tinymce">Tiny MCE</a> with <a href="http://drupal.org/project/wysiwyg">Wysiwyg API</a> configured with the <a href="http://tinymce.moxiecode.net/download_i18n.php">TinyMCE 3 plug-in</a> (per the client&#8217;s preference).</p> <h3>Untangling and upgrading Drupal themes</h3> <p>We upgraded the themes to Drupal 6, referring to the <a href="http://drupal.org/node/132442">Converting 5.x themes to 6.x checklist</a> as well as some tips that simplified the process on <a href="http://wtanaka.com/drupal/convert-theme-6">Wesley Tanaka&#8217;s blog</a>. The themes interacted with Nice Menus via <a href="http://api.drupal.org/api/function/theme_menu_item_link/6">theme_menu_item_link</a>, an API function whose definition has changed sufficiently in Drupal 6 that it no longer suited the purpose. <a href="http://drupal.org/project/nice_menus">Nice Menus</a> in Drupal 6 has configuration options that bridged the gap. Theme_menu_item_link was still helpful, though, because the Drupal 5 site contained menu entries which linked nowhere, something Drupal 6 doesn&#8217;t allow. We addressed this in the theme layer with an approach modeled after <a href="http://drupal.org/node/143322">this suggestion by tekket</a>.</p> <p>Once we had sorted through the content and knew which pages were actually live (versus published but not linked from anywhere). We realized one of the themes wasn&#8217;t in use at all. Another turned out to only be used when a certain region shouldn&#8217;t appear, but that region would suppress itself if no blocks were assigned. So it wasn&#8217;t too hard to prune the themes to one for the home page and one more for the rest of the site.</p> <h3>Getting bugs out of the content</h3> <p>Having reviewed and simplified the site configuration, the Drupal 6 upgrade itself went very much by the book. A few of the remaining modules needed a 2.x upgrade while still in Drupal 5 to make ready for Drupal 6. Since the client was making few content changes, the upgraded site could be brought up on the new host and reviewed before changing DNS, simplifying the staging process. Site content upgraded cleanly with a few exceptions. Views import worked, but much of the detail of the views had to be reconstructed anyway.</p> <p>The menus and some of the content had hard-coded references to pages and images on the site without using relative links or clean URLs, and even sometimes linked by IP address. We used queries into the <em>node_revisions</em> and <em>menu_links</em> tables to find what needed fixing. There were few enough problem nodes that it made the most sense to fix them manually, but Greg made a time-saving suggestion &#8212; use a calculation in an ad hoc query to output the complete node/#/edit URL for each node to update. From there (from the mySQL command-line in a Mac OS X iTerm window), I selected the URL from the query output and usied a keyboard shortcut assigned to the Open URL entry in the service menu. Tricks like these can make even a modest manual process take half the time or less.</p> <p><img src="http://growingventuresolutions.com/gvsfiles/mysql_query_concatenation.png" alt="A query with quick links to content that needs to be updated" /></p> <h3>The result: a smoothly-running Drupal site</h3> <p>None of this work was glamorous, but the result is very satisfying &#8212; the site is now in much better shape. The review helped the client know their site better, and we are poised to start doing some real support, such as making the site&#8217;s themes more configurable, adding templates to replace some of the static pages and helping the client manage their own content. The site is stable and its configuration will be much more comprehensible should another Drupal pro need to work with it in the future.</p> http://growingventuresolutions.com/blog/preparing-drupal-site-efficient-support#comments Planet Drupal clean urls globalredirect module path_redirect support Sat, 11 Apr 2009 13:18:42 +0000 steve harley 419 at http://growingventuresolutions.com Support - Drupal Theme Professionals TopNotchThemes http://growingventuresolutions.com/about/customers/support-drupal-theme-professionals-topnotchthemes <h3>Not Your Typical Drupal Support Client</h3> <p>Many <a href="http://growingventuresolutions.com/about/services/drupal-support">support</a> clients are end users of Drupal - they need help with the menu system, and knowing what the heck nodes are.</p> <p>As the creators of some of the best <a href="http://www.topnotchthemes.com/browse">commercial Drupal themes</a> (and some great <a href="http://drupal.org/project/acquia_marina">free</a> <a href="http://drupal.org/project/acquia_slate">themes</a> as well), TopNotchThemes needs more than basic Drupal support. We've helped them improve their development infrastructure and workflow to make the process of developing great Drupal themes more efficient, and to also enable some upcoming internal and client-facing features. This let's them focus on building great designs for their themes.</p> <p>Chris Fassnacht was kind enough to say this about working with us:</p> <blockquote><p>"GVS has been a valuable addition to our team. It's a relief to have a team of experts we can rely on to keep our Drupal-based infrastructure running smoothly!"</p></blockquote> <p>At Drupalcon Steph thanked us with a hug. What more can you ask for from a client?</p> <h3>TopNotchThemes Supports the Drupal Theme Community</h3> <p>In addition to being providers of great themes and a good customer they are also a company that "gets it." Their community involvement speaks for itself (one highlight is <a href="http://www.ubercart.org/forum/theming_and_design/8789/patch_needs_review_updates_shopping_cart_block">this Ubercart theming thread</a>). They are happy to pay for our time knowing that we are working to keep the modules used on their sites well maintained (see <a href="http://drupal.org/project/uc_alternative_price">Alternative Price</a> and <a href="http://drupal.org/project/uc_moneris">Moneris</a>).</p> http://growingventuresolutions.com/about/customers/support-drupal-theme-professionals-topnotchthemes#comments Business support Fri, 03 Apr 2009 15:42:40 +0000 Greg 407 at http://growingventuresolutions.com