Drupal sites https://shivanjaikaran.com/ en Trinidad Guardian's Main Stage launched using Drupal! https://shivanjaikaran.com/trinidad-guardians-main-stage-launched-using-drupal <span class="field field--name-title field--type-string field--label-hidden">Trinidad Guardian&#039;s Main Stage launched using Drupal!</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>admin</span></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 02/04/2010 - 02:39</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><a href="http://mainstage.guardian.co.tt" rel="nofollow"><img alt="Main Stage" src="/sites/default/files/Screenshot_2_0.png" title="Main Stage" /></a> A few days ago, the <a href="http://mainstage.guardian.co.tt" rel="nofollow">Trinidad Guardian's Main Stage</a> was launched. Without a doubt, the website runs on the very powerful cutting edge content management system, <a href="http//drupal.org" rel="nofollow">Drupal 6.</a> The design was done in-house at The Guardian (provided as a template) and some features used are the jQuery powered photo galleries. A gallery is considered a "node" which can contain multiple images, all of which are seamlessly uploaded through the web interface of the same website. The website also showcases the use of the <a href="http://drupal.org/project/event" rel="nofollow">Event module</a> which will contain Fete information for this Carnival period. A simple yet powerful website, contenting among the rest of gallery-powered website already existing in Trinidad and Tobago. A few theme improvements are still pending at the time of writing this article. This website was developed in about two (2) weeks by <a href="https://logontt.com" rel="nofollow">Log On Ltd, the leading provider of Drupal powered websites in Trinidad and Tobago.</a></p> </div> <div class="field field--name-taxonomy-vocabulary-2 field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field__item"><a href="/tag/carnival" hreflang="en">carnival</a></div> <div class="field__item"><a href="/tag/trinidad-guardian" hreflang="en">Trinidad Guardian</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="en">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-sites" hreflang="en">Drupal sites</a></div> </div> </div> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=40&amp;2=comment_node_page&amp;3=comment_node_page" token="GvOJ9Hoc0CU4K4wRyL2vdtD3ZceGxhQK9Bn5czoUGUc"></drupal-render-placeholder> </section> <div id="field-language-display"><div class="js-form-item form-item js-form-type-item form-type-item js-form-item- form-item-"> <label>Language</label> Not specified </div> </div> Thu, 04 Feb 2010 06:39:33 +0000 admin 40 at https://shivanjaikaran.com South West Regional Health Authority - now using Drupal! https://shivanjaikaran.com/south-west-regional-health-authority-now-using-drupal <span class="field field--name-title field--type-string field--label-hidden">South West Regional Health Authority - now using Drupal!</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>admin</span></span> <span class="field field--name-created field--type-created field--label-hidden">Fri, 05/01/2009 - 15:32</span> <div class="node__links"> <ul class="links inline"><li class="comment-add"><a href="/south-west-regional-health-authority-now-using-drupal#comment-form" title="Share your thoughts and opinions." hreflang="und">Add new comment</a></li></ul> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><a href="http://www.swrha.co.tt/" rel="nofollow"><img alt="South West Regional Health Authority" src="/sites/default/files/Screenshot_1_0.png" title="South West Regional Health Authority" /></a> The <a href="http://www.swrha.co.tt" rel="nofollow">South West Regional Health Authority</a> is now using <a href="http://drupal.org" rel="nofollow">Drupal.</a> Some of the requirements were an easy-to-use content management system where users of the SWRHA can easily update the pages themselves and add/edit new content. The users skills would range from no technical experience to minimal XHTML knowledge. </p> <p>At the time of delivery of this project to the SWRHA (which was almost a year ago), Drupal 5 was chosen for stability reasons. Upgrading to Drupal 6 is a no-brainer. There were no real challenges with this project. It was just a simple case of delivering a professional looking website with some simple requirements. Probably the most challenging aspect of this project was migration of all the existing data on the old site into the new website. It's good to see Open Source making its way into Government ministries....slowly but surely.</p> </div> <div class="field field--name-taxonomy-vocabulary-2 field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="en">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-sites" hreflang="en">Drupal sites</a></div> </div> </div> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> <article role="article" data-comment-user-id="0" id="comment-1490" class="comment js-comment by-anonymous clearfix"> <span class="hidden" data-comment-timestamp="1246687320"></span> <footer class="comment__meta"> <p class="comment__author"><span>Anonymous (not verified)</span></p> <p class="comment__time">Sat, 07/04/2009 - 02:02</p> <p class="comment__permalink"><a href="/comment/1490#comment-1490" hreflang="en">Permalink</a></p> </footer> <div class="comment__content"> <h3><a href="/comment/1490#comment-1490" class="permalink" rel="bookmark" hreflang="en">It&#039;s a good looking site. The</a></h3> <div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>It's a good looking site. The only thing I would have done is theme the contact us form.</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=1490&amp;1=default&amp;2=en&amp;3=" token="St3cRS3wEYUX6igKEL5f8FfcEAokAE5c45biB_zGBN8"></drupal-render-placeholder> </div> </article> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=28&amp;2=comment_node_page&amp;3=comment_node_page" token="3WnFkjLhmqxGZc_k3lZvKbWmROPfaKe9fU-AsG5oVe4"></drupal-render-placeholder> </section> <div id="field-language-display"><div class="js-form-item form-item js-form-type-item form-type-item js-form-item- form-item-"> <label>Language</label> Not specified </div> </div> Fri, 01 May 2009 19:32:31 +0000 admin 28 at https://shivanjaikaran.com The tech story behind the Trinidad Guardian - a newspaper website https://shivanjaikaran.com/tech-story-behind-trinidad-guardian-newspaper-website <span class="field field--name-title field--type-string field--label-hidden">The tech story behind the Trinidad Guardian - a newspaper website</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>admin</span></span> <span class="field field--name-created field--type-created field--label-hidden">Wed, 02/04/2009 - 21:30</span> <div class="node__links"> <ul class="links inline"><li class="comment-add"><a href="/tech-story-behind-trinidad-guardian-newspaper-website#comment-form" title="Share your thoughts and opinions." hreflang="und">Add new comment</a></li></ul> </div> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><a href="http://guardian.co.tt"><img src="https://shivanjaikaran.com/sites/default/files/Screenshot_0.png" alt="Trinidad Guardian" title="Trinidad Guardian" align="right" width="366" height="277" /></a></p> <p><a href="http://guardian.co.tt">The Trinidad Guardian,</a> one of 3 popular newspapers in Trinidad, re-launched their website on New Years Day 2009 using <a href="http://drupal.org">Drupal</a>. The site has a simplistic design done by their in-house graphics designer Ms. Maxie Navarro. The Drupal developer behind it, <a href="https://www.shivanjaikaran.com">Shivan Jaikaran</a>, would like to share his techniques as a tech case study.</p> <h2>The Homepage</h2> <p>The homepage has a different look from every other page on the website. This was done using a custom page-front.tpl.php and <a href="http://drupal.org/project/panels">Panels</a>. The main sections of the website (the same as their print edition) are the main menus (or the primary links). The colours corresponding to the menus correlate to the print editions as well. The colours (on hover and active) were done using simple CSS.</p> <p>The Internet Editors needed to decide which articles go exactly where in the centre column of the homepage. For this, <a href="http://drupal.org/project/nodequeue">Nodequeues</a> were used extensively.</p> <h2>Scheduling</h2> <p>Deep thought went into what scheduling technique to use. The editors wanted to be able to create the stories from the day before and schedule a time for it to be "published". Initially, it was thought that the <a href="http://drupal.org/project/workflow">Workflow module</a> was overkill for this and that a simple combination of <a href="http://drupal.org/project/views">Views</a> and CCK date fields can handle this. But in the end it was easier to use the Workflow module and its built-in scheduling of transition states were used quite successfully. I ran across <a href="http://drupal.org/node/243015">this bug</a>, but a simple fix became available soon after.</p> <h2>Data Architecture</h2> <p><img src="https://shivanjaikaran.com/sites/default/files/yellow_0_0.png" alt="Trinidad Guardian Article Node" title="Trinidad Guardian" align="right" width="366" height="277" /><br /> All news articles on the site are of the same content type. They are all "articles" after all. And as with all newspapers website, they have more or less the same kind of fields (strap, slug, drop, byline, title etc). The editors wanted the ability for each article to have a main image. This was simple: use a image CCK field. However, their request was that sometimes the image might be a vertical one (where the body text would then wrap to the left of the image as shown in the example to the right) or the image might be a horizontal image (where the image would stretch the full width and all body text starts underneath it). To get this functionality done, I had to use two <a href="http://drupal.org/project/imagecache">imagecache</a> presets. But how then would Drupal know whether a horizontal or vertical image was uploaded? After I beat my head around this for a few hours, I finally came to a dirty solution that did the trick. I simply added another CCK drop down field called "Stretch" with two preset values Yes and No. "Yes" would mean stretch the image horizontally and No would mean the opposite. The code inside template.php looked like this:</p> <p><code><br /> if ($vars['node']-&gt;field_stretch[0]['value'] == 'No') {<br /> $stretch = theme('imagecache', 'article_main_image', $vars['node']-&gt;field_main_image[0]['filepath']);<br /> }<br /> </code><code><br /> else {<br /> $stretch = theme('imagecache', 'article_main_image_stretched', $vars['node']-&gt;field_main_image[0]['filepath']);<br /> }<br /> $vars['stretch'] = $stretch;<br /> </code></p> <p>Not too nice, but hey it worked! If you have an easier solution to this, I'd be interested to know so you can always leave a comment.</p> <h2>Caching Strategies</h2> <p>It was quite obvious from the forefront that this was a high traffic website and that caching strategies had to be thought about at some point. During testing it was realised that the site became sluggish with the surge in traffic during peak hours. In keeping with the existing web hosting set up at the time, a combination of different caching strategies were used.</p> <p>Ofcourse, Drupal's built-in pagecache and minimum cache lifetime values were set.</p> <p>CSS aggregation, MySql Query Cache and Panel's Simple Cache were used.</p> <p>Even with the above implemented, it was still sluggish. At that point eAccelerator, an increased HTTP KeepAlive and Memcached were the major players that turned a sluggish site into a fast responsive website.</p> <h2>Module Highlights</h2> <p>Without the Drupal community contributed modules, none of this would have been possible. A great fat THANK YOU goes out to each and everyone of you.</p> <ul> <li><a href="http://drupal.org/project/nodequeue">Node queue</a> - This was used extensively throughout the site on the homepage as well as in each section page. This allowed editors to easily put a node into its correct queue right after the node was created. The queue, coupled with Views and Panels, then handled where the content was placed. </li> <li> <a href="http://drupal.org/project/openads">OpenX Adserver Integration</a> - On their old site, OpenAds were used, so this module came in very handy for the new site. The <a href="http://drupal.org/project/ad">Ad module</a> was a bit primitive at the time of development. That module <a href="http://drupal.org/node/135567">could not handle flash ads</a> which was a major requirement for their site. </li> <li><a href="http://drupal.org/project/cck">CCK</a> - this site uses about 40 CCK fields and I can't personally imagine any Drupal site that does not use CCK. </li> <li> <a href="http://drupal.org/project/feedback">Feedback</a> - This module is used to get the Feedback link to the top right. </li> <li> <a href="http://drupal.org/project/imagecache">Imagecache</a> - Again, used extensively basically anywhere you see an image. This allowed the flexibility for the editors to upload any dimensions, and then Drupal takes care of cropping the images so it fits nicely into the theme. </li> <li> <a href="http://drupal.org/project/service_links">Service links</a> - This module provided a basis for the Article tools section of every article. </li> <li><a href="http://drupal.org/project/pathauto">Pathauto</a> - This is a must have module for any site that cares about Search Engine Optimization. </li> <li><a href="http://drupal.org/project/views">Views</a> - Again, I can't imagine any site that does not use Views, especially for a newspaper site where content is mangled and twisted almost beyond the stretch of your imagination. </li> <li><a href="http://drupal.org/project/auto_nodetitle">Autonodetitle</a> and Token. These little modules helped automatically title the nodes in a user friendly way...something which can be overlooked with many news sites. </li> <li> <a href="http://drupal.org/project/mollom">Mollom</a> - I knew right away SPAM would be a problem from the start and it still is. But this module took care of about 99% of the spam that is coming through. </li> <p>Misc: Devel, Flag Content, Tagadelic, SWF Tools, Webform, Weather. </p></ul> <h2>Challenges</h2> <p>Well in case you missed it, there was only ONE Drupal developer that worked on this site and the timeline was 3 weeks! That meant many hours a day, no sleep and plenty Drupal bandwidth.</p> <ul> <li>As usual IE6/7 is always a pain and required their own CSS hacks.</li> <li>The site had to be developed keeping in mind that it should be accessible to persons with disabilities. With that said, every effort was made to make the code XHTML Strict.</li> <li>The old site consisted of Archives that are in plain HTML format (static files). There was no easy way to transfer this into the new Drupal site to my knowledge.</li> <li>The secondary links background had to be changed depending on what section the person is in. This required a dirty hack in template.php to add special CSS classes based on the path. Took me a while to come up with this solution after trying out other solutions that didn't quite cut it.</li> <li>Some of the Panel pages would have "No Title" in the breadcrumb, so I had to do a bit of custom breadcrumb in template.php for most of the main section pages and 3rd level pages.</li> </ul> <h2>Newspaper sites and Drupal</h2> <p>As you can probably tell, Drupal is becoming the CMS of choice for newspaper websites. You can join the <a href="http://groups.drupal.org/newspapers-on-drupal">Newspapers Group</a> if this topic interests you.</p> <h2>Contacts</h2> <ul> <li><a href="https://www.shivanjaikaran.com">Shivan Jaikaran</a></li> <li><a href="mailto:internet.editor@guardian.co.tt">Ms. Maxie Navarro</a> (graphics design)</li> </ul> <p>Update: This story has also been posted in the <a href="http://drupal.org/node/371778">Drupal Showcase Forum</a></p> </div> <div class="field field--name-taxonomy-vocabulary-2 field--type-entity-reference field--label-above"> <div class="field__label">Tags</div> <div class="field__items"> <div class="field__item"><a href="/tag/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field__item"><a href="/tag/trinidad-guardian" hreflang="en">Trinidad Guardian</a></div> <div class="field__item"><a href="/tag/drupal" hreflang="en">Drupal</a></div> <div class="field__item"><a href="/tag/drupal-sites" hreflang="en">Drupal sites</a></div> </div> </div> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> <article role="article" data-comment-user-id="0" id="comment-1469" class="comment js-comment by-anonymous clearfix"> <span class="hidden" data-comment-timestamp="1234371075"></span> <footer class="comment__meta"> <p class="comment__author"><span>Anonymous (not verified)</span></p> <p class="comment__time">Wed, 02/11/2009 - 12:51</p> <p class="comment__permalink"><a href="/comment/1469#comment-1469" hreflang="en">Permalink</a></p> </footer> <div class="comment__content"> <h3><a href="/comment/1469#comment-1469" class="permalink" rel="bookmark" hreflang="en">Very, VERY well done Shivan.</a></h3> <div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>Very, VERY well done Shivan. Glad to see your efforts paying off.</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=1469&amp;1=default&amp;2=en&amp;3=" token="PVO24vDAVUAtnxn-58Sk1AZS4eRr43twNBRrY-Gde78"></drupal-render-placeholder> </div> </article> <article role="article" data-comment-user-id="0" id="comment-1470" class="comment js-comment by-anonymous clearfix"> <span class="hidden" data-comment-timestamp="1234794000"></span> <footer class="comment__meta"> <p class="comment__author"><span>Anonymous (not verified)</span></p> <p class="comment__time">Mon, 02/16/2009 - 10:20</p> <p class="comment__permalink"><a href="/comment/1470#comment-1470" hreflang="en">Permalink</a></p> </footer> <div class="comment__content"> <h3><a href="/comment/1470#comment-1470" class="permalink" rel="bookmark" hreflang="en">Well done shivan, happy to</a></h3> <div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>Well done shivan, happy to see you progressing, excellent site!</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=1470&amp;1=default&amp;2=en&amp;3=" token="aG9brP5-EKRIPAL_3t2lHaB2-9FWn0VnX982iL7Xht0"></drupal-render-placeholder> </div> </article> <article role="article" data-comment-user-id="0" id="comment-1472" class="comment js-comment by-anonymous clearfix"> <span class="hidden" data-comment-timestamp="1234964400"></span> <footer class="comment__meta"> <p class="comment__author"><span>Anonymous (not verified)</span></p> <p class="comment__time">Wed, 02/18/2009 - 09:40</p> <p class="comment__permalink"><a href="/comment/1472#comment-1472" hreflang="en">Permalink</a></p> </footer> <div class="comment__content"> <h3><a href="/comment/1472#comment-1472" class="permalink" rel="bookmark" hreflang="en">This is awesome! Nice</a></h3> <div class="clearfix text-formatted field field--name-comment-body field--type-text-long field--label-hidden field__item"><p>This is awesome! Nice write-up.</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=1472&amp;1=default&amp;2=en&amp;3=" token="Ep_JyEhYFcR2YezUjx2CkG0aiYd4skJ8RL-hgmV3FYI"></drupal-render-placeholder> </div> </article> <h2 class="title comment-form__title">Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=22&amp;2=comment_node_page&amp;3=comment_node_page" token="7AVo8IAI6CY9QbmbGnz3tT44pESi9CAadISJvoFtNeQ"></drupal-render-placeholder> </section> <div id="field-language-display"><div class="js-form-item form-item js-form-type-item form-type-item js-form-item- form-item-"> <label>Language</label> Not specified </div> </div> Thu, 05 Feb 2009 01:30:54 +0000 admin 22 at https://shivanjaikaran.com