drupal

Drupal in Healthcare - Social Networks Beyond MySpace

David E. Williams, from the Health Business Blog recorded an interesting podcast with Dr. Jason Bhan, co-founder of Ozmosis.

Ozmosis is a social network for practicing physicians to share knowledge and communicate. Revolutionary in its nature, Ozmosis uses the rich experience of existing social networks, plus a proprietary "trust" technology, to create a breakthrough environment where physicians can quickly get answers and improve their knowledge.

Ozmosis was made possible by Drupal. Examples of Drupal usage that benefit public are numerous, but if I am not mistaken, this is the first major case of Drupal being used in Healthcare. It's great to see Drupal helping revolutionize the way things are done, especially in such an important area.

Listen to the podcast: [ http://www.healthbusinessblog.com/?p=1804 ]

CCK Import During Install

We've blogged about hardcore Drupal Form Manipulations using CCK Node Types and hooks. If it is part of your module (as it should) you need to install CCK type during module setup. In the .install file of that module you can import CCK definition with a code like:

function ourmodule_CCK_install() {

	$modulepath = drupal_get_path ('module', 'ourmodule');	
	$cck_definition_file = $modulepath."/custom.cck";

  $values['type_name'] = '<create>';
  $values['macro'] = file_get_contents($cck_definition_file);
  
  include_once( drupal_get_path('module', 'node') .'/content_types.inc');
  include_once( drupal_get_path('module', 'content') .'/content_admin.inc');
  
  drupal_execute("content_copy_import_form", $values); 
}

where custom.cck under your module folder is the file that you can export from CCK if you have cck_content_copy module installed.

Extreme Form Handling in Drupal

Via: AgileApproach Blog

Drupal Form-Handling support goes far beyond just the documented part of so-called Forms API. You can do pretty much anything with forms in Drupal and you can use/display the forms anywhere.

Here is an example. Let's assume we want to construct a custom node type with custom fields, using CCK. Then we want to display this form into some non-standard page. To further complicate things, let's assume we also want custom verification and processing routines.

And last but not least - we want to use full power of Drupal and write a minimal amount of code. Following is a snippet demonstrating key points to achieving this task (thorough understanding of Drupal is required):

Must Read for Drupal

Some of the blogs I often find to have useful Drupal information (in alphabetical order):

Calais Module for Drupal Released

One of the hottest subjects in Web technologies, these days, is finding effective ways to exploit Collective Intelligence of masses. Most everybody has heard of the so-called Web 2.0 and hundreds of different definitions of what it is or is not. In simple terms, Web 2.0 is a phenomena characterized by vastly increased direct participation of the user community in content authoring, mostly through blogs and discussions around blogs. Web 2.0 has brought us to a state where more and better content is freely available online than ever before.

There is a major problem with collective intelligence, though: information pieces are often disbursed. The more we move from the early days of the Internet as static data publishing platform towards the Internet, an aggregator of Intelligence, more do modern search engines fall short of providing adequate results. Current technologies are often unable to put information in context and help us connect the dots. It is for that reason that there is an increased demand for tools that can extract context off of content and can aggregate different data sources in a meaningful way.

One of such tools that has caught some spotlight lately, has been Calais Web Service, released by the news giant: Reuters.

"The Calais web service allows you to automatically annotate your content with rich semantic metadata, including Entities like People and Companies and Events & Facts like Acquisitions and Management Changes." -- opencalais.com

What is exceptional and interesting about the Calais web-service, putting it beyond and above other free terms-extractor services (like the one from Yahoo!) is that Calais provides context to extracted terms. For instance, when Calais web service analyzes a piece of content and finds "George Bush", not only will it extract and return it as a term (keyword) relevant to the text, but it will also tell you that George Bush is a Person. Likewise, it will tell you that United States is a country. This may seem trivial and simple, but if you put the added information (entity type) to a good use, you can build systems much more intelligent than you could with other, flat terms extraction tools.

Calais is a free Web Service. You can plug it into your applications and/or content management systems and use it, without any charge . Frank and I, spent a lot of our time last month integrating it into Drupal CMS and are glad to announce that it is now available for both Drupal 5 and Drupal 6. It is also the first integration of Calais API with a major content-management system.

You can download Calais integration module from:
http://drupal.org/project/opencalais
You can also watch a short screencast Frank recorded to demo main features of the module: http://calais.phase2technology.com/content/calais-demo-screencast

The screencast was recorded before the code was finalized, so the module can actually do more than you see in the screencast. You are encouraged to download and test-drive it.

And last, but not least, we would like to express our gratitude to our friends at the Calais team, for their invaluable help and support.

Drupalcon 2008 Boston - Live

We are doing it!

Drupalcon 2008 Boston Live

Check it out at: http://drupalconlive.com

How Many Drupal Modules Are Out There?

We all know that Drupal has a lot of modules. But do you know – exactly how many?

<[ Find out here ]>

Drupal Theme Developer's Cheat Sheet

A very handy PDF with a list of variables available when themeing Drupal: Download PDF

Drupal: Latest Comments Block in User Profile.

In Drupal 5, if you want the User Profile page (e.g. http://example.com/user/stevejobs) to display latest comments by that user, you can apply a quick hack:

  1. Create or edit user.profile.tpl.php file in your theme
  2. Add the following code anywhere (wherever you want latest comments to appear) in the file:
    <?php
    $output = ""; $nlimit = 7;
    $userid=$user->uid;

    // ATTENTION: status=0 - approved, status=1 in queue.
    $query= "SELECT c.cid, c.nid, c.name, c.subject
    FROM {comments} c WHERE c.uid = %d AND c.status = 0
    ORDER BY c.timestamp DESC";

    $result = db_query_range($query,$userid,0,$nlimit);
    $output .= "<div class=\"item-list\"><ul>\n";

    $no_comments = mysql_affected_rows ();

    if ( $no_comments > 0 ) {


    while ($obj = db_fetch_object($result)) {
    $link = url("node/$obj->nid");
    $link = $link."#comment-".$obj->cid;
    $output .= "<li><a href=\"$link\">$obj->subject</a></li>";
    }

    } else {
    $output .= 'No Comments left so far.';
    }

    $output .= "</ul></div>";
    print $output;
    ?>

FCKEditor in HTTP Secured Websites

Usually, you do not want websites that are still under development to be visible to the Web at large. Even if you do not care about that, at the least - you do not want such websites to be indexed by search engine bots. Bottomline - you want the "dev" websites behind a lock. One way to secure, is to restrict IP addresses, but then - that is so '90s! In the modern world we are way too mobile, for such approaches. They will just add annoyance and stand in the way of productivity. If you are using Drupal, one solution is to use the Securesite module. Or maybe not. In a busy development shop you usually deal with a dozen of under-the-development projects and triple that amount of projects that you maintain, hence still have dev environments for. Maintaining Securesite for each one of them is a maintenance nightmare. Please note, we are not even mentioning how buggy Securesite is and how it conflicts every time you try to do something advanced. Where I work, we chose a parsimonious approach.

Syndicate content