Tuesday, December 28, 2010

Drupal Community e-book

Some people use Drupal for a long time before having direct interaction with this community. These folks might be unaware that the community is out there, or of the benefits of having a good relationship with it.
In this chapter, we'll introduce the community and give some suggestions for how to interact with it (and get support) to get the best results for you and your website(s). First, let's start by sharing some basic information about the community. Then we'll talk about finding support. We'll end with some suggestions of ways that you (yes, you!) can say thanks to the Drupal community for the help and free software.


  • A glance at the community
  • Using Drupal.org and Groups.Drupal.org to Get Answers
  • Finding the Best Contributed Modules
  • Drupal Community Values
  • Be Thankful
  • Drinking from the fire hose
For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com
Source: http://www.masteringdrupal.com/

Thursday, December 23, 2010

Latest Release Drupal 7.0 RC 3, Drupal Development, Download, Updates

We are proud to present to you the third (and likely final) release candidate of Drupal 7.0. Big news since last time!

We're back down to 0 critical issues again!
We've announced a January 5 release date for Drupal 7!
There are release parties being thrown worldwide on January 7. Please set one up in your town! (tips)
So. It's officially GO time for final testing! Something to keep you busy over the holidays. :)

Since the last release candidate two weeks ago, we have fixed numerous bugs, improved the AJAX framework, field UI etc. Also alternate database systems have seen serious improvement thanks to http://ci.drupal.org/. PostgreSQL 9.0 now installs without errors, and we have 100% tests passing on SQLite! And files[] is no longer required in .info files for each file! Only if the file in question registers a class or interface. $cruft--;

For the full list of changes, see the release notes.

The first alpha announcement provided a comprehensive list of high level improvements made since Drupal 6.x, so in this announcement we'll concentrate on how you can help ensure that Drupal 7 is released as soon as possible and is as rock solid as the previous Drupal releases that you've grown to love!

There are a number of modules already ported to Drupal 7 for your testing pleasure. You can keep tabs on whether or not your site is ready for Drupal 7 by using the Upgrade Status module. If you are a translator, now is the time to start working on your translations. If you are a module or theme maintainer, now is the time to start working on the update to Drupal 7! Read on for more details.

How do I help test the release candidate?

Download Drupal 7.0 RC3

Review existing issues
Set up a testing environment
Apply and test existing patches

Hire Drupal Developers
Submit bug reports
Create patches
Port modules
Port themes

Start by either installing a new Drupal site or upgrading an existing one running on Drupal 6.x (see INSTALL.txt or UPGRADE.txt in the package for some important instructions). When setting up a new site, you can use the development module to generate some test data (content, users, etc) to help you start testing quickly. As with everything still in development, we do not recommend running release candidates on a live site. Also, always be sure to make a backup of your data before performing any upgrade or starting testing.

Module and theme developers

If you have not done so already, now is the time to ensure that your modules and themes will work with the new version of Drupal. The updating your modules and updating your themes pages have plenty of information to help you with the migration to Drupal 7, and the Coder Upgrade module can help automate many of the most tedious changes. Consider signing up for the #D7CX pledge, to have a stable release of your module available when 7.0 ships!

Please help ensure that your users will have a smooth and well tested upgrade path in the not to distant future! Be sure to file any core bugs that you may find while updating your module or theme.

Drupal interface translators

The interface strings of Drupal 7.0 are officially frozen now. Only critical fixes, and corrections may be made to the interface text from this point forward. Read more about how localize.drupal.org works and how can you contribute in the drupal.org handbooks.


Are you gifted with the "Poison Finger"? Does seemingly normal code collapse into a flying mess of errors as soon as you get hold of the mouse? If so, why not have a run at breaking Drupal? When you discover a bug, check the issue queue to see if someone else has already found it. If your suspected bug hasn't been reported yet, please submit a bug report (remember to search first)! The more bugs we can find and fix before the final release, the better.

When will Drupal 7 get released?

On January 5th! http://buytaert.net/drupal-7-to-be-released-on-january-5th-with-one-ginormous-party

Then, once Drupal 7 comes out, we can all start adding fancy new features to Drupal 8! So please help out where you can, and let's make this the best and most solid release of Drupal yet!

Want to upgrade Drupal latest version contact our services Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

Source: http://www.facebook.com/notes/drupal/drupal-70-rc-3-released/484780339265

Monday, December 20, 2010

Drupal Trails Joomla!, DotNetNuke Challenges - 2010 Open Source CMS Market

Water&stone has released their annual Open Source CMS Market Share Report. Who is dominating the open source web content management space? And who managed to move ahead of other contenders? Find out here.
The Report

2010 is the third year that water&stone has published the Open Source CMS Market Share Report. The report is non-commercial and released under an open license, unlike similar work from other industry firms. This year’s report began with thirty open source systems but ten were eliminated due to current market position. Water&stone assess the remaining twenty systems on metrics related to rate of adoption and brand strength. Using this data, the report defines market leaders.

The report uses multiple data sources to draw conclusions. In addition to a survey, which water&stone conducted with over 5000 responses, other metrics included:

    * Product downloads
    * W3Techs’ analysis of technologies used on the top one million websites in Alexa’s rankings
    * BuiltWith’s technology rankings
    * The number of developers offering services in the technology on Elance and Guru
    * The number of books in print for the platform
    * Google page rank

Using a multi-faceted approach minimizes the likelihood that the outcome is biased toward a single factor and hopefully quiets the inevitable cries of, “But what about…” that will come from supporters of platforms that did not rank as expected. The firm was also very careful to note cases where their methodology might have resulted in a skewed outcome.

The Good

WordPress, Joomla! and Drupal, three of the most well-known open source CMS platforms, remain decisively in control of the market. In metrics such as number of installations and shares of Facebook
posts, these three clearly dominated the field.

water&stone 2010 CMS survey - installations

 share of Facebook posts

In fact, in almost every measure, there is little indication that the leadership of the top three platforms is being challenged in the near future; but this is the internet — we could all be surprised.

As for the leader of the pack, WordPress managed to take the lead in a number of key metrics. They included:

    * Search interest
    * Daily website traffic
    * Daily unique visitors
    * Daily page views
    * Downloads

In terms of technology specific results, Liferay leads the Java WCM market, followed closely by Alfresco. DotNetNuke is the leading platform for the .NET market, although newcomer Umbraco is quickly narrowing the lead. The report also lists Concrete5 and Umbraco as solutions that are gathering strength in the market.

For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com
Source: http://www.cmswire.com

Sunday, December 19, 2010

How to Upgrade from Drupal 5.x to 6.x

This video tutorial discuss the upgrading process of your Drupal site. In order to fix security issues and take advantage of many new features, upgrading your Drupal site to Drupal 6 is recommended.

Special note: Users of Drupal 5 update_status module has to be disabled and uninstalled before upgrading to Drupal 6 (this is demonstrated in the video)!

If your are starting with an installation that's based on version 4.7 or earlier, you will first need to upgrade to version 5.

Additional resources:
Click here to watch the screencast!
Did you like the video? You may also want to check out our 1 hour long tutorial video on Drupal SEO!

For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com
Source: http://www.masteringdrupal.com 

Friday, December 17, 2010

Creating new pages in the Drupal handbooks

Everyone in the Drupal community is invited to submit new pages in Drupal.org on-line documentation.
  • Posting external links to your website in the Drupal.org on-line documentation is frowned upon. We encourage people to contribute back to the handbooks instead of taking reader attention away. External links should only be added as a reference.
  • Review the Structure Guide and Style Guide before you start.
  • If you want your new page reviewed for location or content after adding it, submit an issue with status "needs review."
  • Rough drafts of new pages or edited pages which are not production ready -- i.e., need feedback and/or additional development -- should first be submitted as an issue to the Documentation project as an HTML or text attachment.
  • Finally, make sure you have enabled the personal contact form in your user account in case someone wishes to contact you about your contribution.
Restricted actions: The site maintainer role is required to delete handbook pages, to remove comments (once they have been incorporated into a handbook page), to unpublish and publish pages, and to edit certain pages. Submit an issue if you need any of these tasks done.

For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

Tuesday, December 14, 2010

Tips for a great project page

Project pages should be helpful; there are literally thousands of modules, themes and installation profiles and site builders need a clear way to understand what your project does.

A great writeup about what to include in your project page is Module owners: How to make your module description useful by lisarex. Lisa suggests you include these sections in your project page:
  • Overview
    What does the project do? What problem does it solve? Who is the intended audience?
  • Features
    A bulleted list of features to help people quickly figure out if it's useful to them.
  • Requirements
    Describe required PHP version, link to required modules and any other extraordinary items or steps needed to install or use.
  • Known problems
    Be upfront about any known problems, bugs, etc. Link to active issues regarding those problems. Tip: use [#nnn] syntax and Drupal.org will automatically link to the issues and show their current status inside the node body.
  • Tutorials
  • Pledges
  • Credits
  • Recommended modules
  • Similar projects
For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com
Source:  http://drupal.org

Monday, December 13, 2010

Module Architecture


OpenLayers presets contain
  • Map Settings
    • Height, width
    • Centerpoint
    • OpenLayers source file, theme location, ProxyHost
  • Enabled Behaviors
  • Enabled Layers
  • Enabled Styles 
OpenLayers Map Views
    OpenLayers map views use the Views module merely as a way to put a map on a page. They do not, like other views, query data by themselves. To add Drupal nodes or data to a OpenLayers map view, enable openlayers_views and create a OpenLayers Map Data view, and add it as a layer.
    OpenLayers Map Views pull from OpenLayers Presets

    Layer Types

    Layer types are plugins. A base set of layer types is provided within the OpenLayers module, and other contrib modules like MapBox can provide even more. Layer Types generate Layers and provide their functionality


    Layers are exportables which contain per-layer configuration.


    Styles are exportables which contain OpenLayers Styles. They are attached to layers by the configuration in Presets.

    Plain-English Explanation

    Styles are exportables, as simple as that, they don't have any functionality and have a very simple interface
    Layer types are basically factories for layers and provide their functionality. They're ctools plugins, so they're loaded via that framework, but they aren't exportables because they're functional, rather than data. A layer_type generates layers, which are, in fact, exportables, which are tied back to the layer_type that created them. At runtime, a layer_type is initialized as an object (which has the all-important render() function) with a layer, to provide them with configuration and data. And layer types can also provide another function outside of this - the settings_form() allows a layer to define a per-site setting, which is most commonly an API key.

    Of course, this is a bit un-obvious with a quick glance over the code, but it's quite important, because this means that we can define new layer types outside of openlayers proper, which provide their own forms and functionality, and then make multiple layers with those layer types.

    The same goes for behaviors: behaviors are basically factory objects, since they provide the same kind of render() method and are also ctools plugins, but then give birth to instances of themselves, which are the behaviors you attach to each map. So as a result, behaviors can have per-map settings, like the zoomToLayer behavior can have a per-map setting of which layer to zoom to.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/621380

    Sunday, December 12, 2010

    Modifying your Drupal theme for Authcache

    The golden rule for Authcache is: the final cached page HTML must be the same for every user! For example, if you set up the "paid members" role to receive cached pages, then the final source HTML must be the same for each person for cached pages within this role.

    The most common theme element for logged-in users is a username link (e.g. "Hello, [username]"). Authcache defines several new variables to use in your theme files (e.g., page.tpl.php):
    1. $user_name to display the logged-in user name
    2. $user_link to display the name linked to their profile (both work for cached and non-cached pages).
    You'll need to modify your .tpl files to use these variables if you display a username or a link to a user's account page.

    A global variable named $is_page_authcache is set to TRUE when a page is to be cached. This variable may change to FALSE during page generation, however, such as when a status message is displayed. You may also set it to FALSE to programmatically disable caching.

    The authcache_preprocess() function defines these variables. For example, if a page is to be cached, then the output of $user_name will be <span class="authcache-user"></span>. The value will then be filled in automatically by Authcache JavaScript. The username and user id is retrieved from a cookie that is created when a user logs in.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/996452

    Friday, December 10, 2010

    Different ways to improve the documentation

    If you use documentation, you can also improve it.

    Whenever you seek help from the handbooks and get stuck, start taking notes. Write down every step that you take as you try to solve your problem. Don't do it later, because you'll forget the all-important details. After you find the solution, use your notes to improve the handbook. Once you develop this habit, it is a very easy way to help!

    You don't have to be a member of a special team or get permission in order to help. Everyone with a Drupal.org account can help.

    Here are ways to improve the handbooks that are available to anyone with a Drupal.org account:
    • Edit pages directly by clicking on the "Edit" tab. Most handbook pages are open to editing by Drupal.org users. We do have a number of pages that are "locked" for various reasons. Don't worry about mistakes. We keep revisions of all handbook pages so we can always go back to a previous version, if needed. 
    • Submit an issue to the "documentation" project to suggest an update or ask for feedback. See if an issue already exists for your suggestion; if so, you should improve the existing issue. For more details, see Documentation issue reports.
    • Comment on existing pages. You must be logged in (i.e. an authenticated user) to do this.
    • Add handbook pages. Presently, all authenticated users can add new pages. If you want your new page reviewed for navigation (where to place in the handbook hierarchy) or content after adding it, submit an issue with status "code needs review." For "missing" pages you feel should be created to cover a particular subject, do not create a nearly-blank stub page; instead, submit an issue with category "feature request." Be sure to familiarize yourself with the Documentation writer's guide and the Style guide.

    More information

    Here are some resources to help you out.
    • Familiarize yourself with the documentation guidelines.
    • Read Major handbook sections for a general overview of the handbooks and their structure.
    • Feel free to ask questions on the mailing list or in an issue report if you're unsure in making updates to the handbook.
    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/302203

    Thursday, December 9, 2010

    Drupal For Facebook Application Recipes

    Building Facebook Applications can be a complicated process. We couldn't possibly write a one-size-fits-all description of how to configure all apps. So, in this section we describe a few commonly-required features and how to implement them with Drupal for Facebook.

    Begin with the general installation and setup. Then, follow the instructions here to implement additional features.

    Note: In general, if you plan on creating any kind of Facebook application (which we assume you are!), you must enable the fb_app.module (listed as Drupal for Facebook Applications in /sites/all/modules) and fb_user.module (Drupal for Facebook User Management).

    To support applications beyond simple social plugins, you must enable clean URLs by going to admin/settings/clean-urls on your site. If you don't, some links that Drupal creates will not work properly on FB Application (canvas) pages.

    To support Drupal websites integrating FB features (FB Connect), enable the fb_connect.module.

    To support FB Application (Canvas) pages, enable the fb_canvas.module.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/932690

    Wednesday, December 8, 2010

    Using Drupal Creating patches with Eclipse

    Please review this useful article at http://docs.moodle.org/en/Development:Setting_up_Eclipse that includes instructions on creating a cvs patch while in Eclipse. It says:

    Creating a patch

    In the synchronise view, right click on an item (file or folder) and choose Create Patch.... Or in the navigator, right click on an item and choose Team -> Create Patch....

    This brings up a two-page wizard. On the first page you can select where you want the patch made. For small patches it can be useful to create them on the clipboard, but normally you will want to save them in a file.

    On the second page, use Unified diff format, and set the patch root most likely to your (Eclipse) project -- assuming you set up your Eclipse projects by core installs (6.18, 6.19, etc) and contrib/custom modules.

    If you are creating a patch to post to an issue queue, it is common practice to name your patch file with the node id of the issue along with a word or two for context. This make it much easier to refer back to the issue after the patch has been applied.

    There is a corresponding apply patch wizard that you can use to apply a patch to a project.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/427082

    Tuesday, December 7, 2010

    Drupal Starter Themes Comparison

    There are a couple Drupal starter themes. Zen, Sky, Fusion, and Framework are the four most widely used starter themes. 

    Zen is the most widely used starter theme for Drupal. It has lots of good quality documentation and won the "Best Drupal Theme" title. Zen has a lot of flexibility built in which means you can build off of it to create even better themes. Other starter themes such as Zen NineSixty and Basic, were originally highly modified versions of Zen.
    • Reported Installs: 45,001
    • Versions Supported: 5,6,7
    • Layout Types: 1, 2, and 3 column layouts



    Fusion is a theme used for creating advanced Drupal themes such as Acquia Prosper and Mix and Match. This theme can be based on a grid and has all the defaults already set. Fusion also has lots of support and can also skinnr for easy block style editing.
    • Reported Installs: 18,438
    • Versions Supported: 6,7
    • Layout Types: 1, 2, and 3 column layouts



    Sky is a center aligned theme, which is almost completely css based. It has many configurable colour options and supports some of the more popular contributed modules. Although there is no Drupal 7 support yet, the development team is hoping to have a compatible release ready by the time Drupal 7 is released.
    • Reported Installs: 4,315
    • Versions Supported: 5,6
    • Layout Types: 1, 2, and 3 column layouts



    Framework is a grid based theme, and is almost completely blank as well. It is very clean and simple, and works nicely in mobile browsers. Framework is good for general placements and basic theme designs.
    • Reported Installs: 3,285
    • Versions Supported: 5,6
    • Layout Types: 1, 2, and 3 column layouts
    Note: Statistics last updated: 07/12/2010

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/991278

    Monday, December 6, 2010

    Variable Styling

    This page describes how to do variable styling in OpenLayers 2.x module.

    Attribute Replacement

    The OpenLayers library allows you to use a specific syntax, ${variable_name}, to easily style a feature based on its attributes. The most direct use of this is with the OpenLayers Views Display plugin.
    1. Setup your Views Display according to Getting Started with OpenLayers.
    2. Add fields to your view that you want to use for styling (the 'attributes'). These attributes may be used as radius or color, or even icon URL later on.
    3. The values of these attributes are included in the OpenLayers Data view based Overlay layer that you can add to any preset.
    4. You need to reference each attribute by its machine-readable ID. Lookup the ID trough the Theme:Information link in the basic settings of your view. They have names like field_myfield_value.
    5. In the style associated with your preset, you can apply your attribute as a style like this:
      • pointRadius: ${field_radius_value}
      • fillColor: ${field_color_value}
    6. Finally, create your map with your Views layer and assign it your new style; then when your map is rendered, OpenLayers will replace these values per feature.
    More ways of variable styling to come.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/754480

    Saturday, December 4, 2010

    Creating Content

    After your site is up and running, it is time to add content to your site.
    At this point, you might want to read The 11 Most Important Things To Do After You Install Drupal.

    Content types

    A content type defines the way in which content is collected and displayed. Content types are a container for all content with the same characteristics (e.g. a "Bio" might contain different kinds of information than an "Event"). Some fields are part of all content types (e.g., basic data such as a title, date, and author). Some modules create their own content types and some don't. Those that do can have unique fields defined in their content type (e.g., the Location module adds fields such as city, country, longitude, and latitude). Additional custom fields of many kinds can be added using the CCK module. Content types have settings that can be modified by editing the content type and managing the fields.

    Examples of content types provided by core Drupal modules: 


    A page is a simple method for creating and displaying information that rarely changes, such as an "About us" section of a website. By default, a page entry does not allow visitor comments and is not featured on the site's initial home page.


    A story, similar in form to a page, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with a story entry. By default, a story entry is automatically featured on the site's initial home page, and provides the ability to post comments.

    Examples of content types provided by non-core (contributed) Drupal modules:


    Create a new form or questionnaire accessible to users. Submission results and statistics are recorded and accessible to privileged users.


    An image (with thumbnail or other sizes). This is good for photos, art work or screen shots.

    Create your own content type

    You can define a content type to exactly meet your information needs. The easiest way is to start with a page. As you create your content, think about the menu as well. Another handbook section you may find useful is Creating new content.

    Creating content

    To create content: click Content management > Create content, then select the content type you want to create. There are usually one or more fields within each content type. We are providing an example of a page.
    • Title and Body fields are found in many content types. The Title is used by Drupal to create the page URL. Keep it concise.
    • Body is where you put the text for the page. "Input format" controls what code can go in the Body field. There are three (core) options: filtered HTML, PHP code, and full HTML. CCK allows you to change the name of this field; for example, you might call it "Product description."
    • Use the log message to provide information that might be useful to other authors who may edit your document later, or provide your rationale for making edits to your own or other people's content. The log message is not visible to users without the appropriate content editing rights.
    • Menu settings are used only if you are making this piece of content an item in one of your menus. It's the most efficient way to create menus. Another handbook section you may find useful is Working with the Menu.
    • Comment settings are probably best set at the site level (click Content management > Comments > Settings), but can be specified for an individual piece of content.
    • You can attach files to many content types. The "Upload" module must be enabled, and then the content type has to be set to allow this.
    • If you enabled the Path core module or added PathAuto, you'll have URL path settings next. You can enter a "normal" name here rather than being required to use "node/2" when you refer to it later on. PathAuto will automatically create a URL based on your page title.
    • Authoring sets the time stamp and creator information. The other use for this section is to control the page or story order when they are based on the time and date it was created.
    • Publishing options: only "Published" items show up on the website. You can also promote content to the front page and make the content item sticky to the top of lists.
    The final step is to preview your content and to Submit your page.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/120635

    Friday, December 3, 2010

    Zend Studio Configuration for CVS

    Configuring Zend Studio for Eclipse for Drupal CVS CLICK HERE

    Configuring Zend Studio for Drupal CVS

    First we need to configure Zend studio to work with CVS. For this document I am referencing Zend Studio Enterprize 5.5.0

    Tools -> Preferences -> Source Control
    • Path to CVS should be something like:
      C:\Program Files\Zend\ZendStudio-5.5.0\bin\SourceControl\cvs\cvs.exe
    • CVS_RSH Environment Variable can be 'ssh' if you want to operate securely, or blank should be fine
    • set other options as desired
    To CHECKOUT code (get code from the Drupal CVS repository)

    Tools -> CVS -> Checkout
    • CVS Root for contrib: :pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib
    • CVS Root for Drupal: :pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal
    • Module Name: something like contributions/modules/module_name
    • Working Directory: Browse to the directory you want to hold the checked out files and directories
    • Revision: set to STICKY TAG from cvs.drupal.org
    To COMMIT code
    • You must use a Drupal CVS username/pass instead of anonymous:anonymous above
    • CVS commands are only available from the Project space, so you must create a new project: Project -> New Project
    • Enter a Project Name
    • Click Next and Add Path to select your working directory
    • Click Finish
    • Now from the project tab you should see your working directory
    • CVS commands are now available by right clicking a file in the project window and going to the CVS menu
    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/216096

    Thursday, December 2, 2010

    Working with content types and fields (Drupal 6 and earlier)

    The Content Construction Kit allows you to add custom fields to custom content types using a web interface. In Drupal 5.x, custom content types can be created in Drupal core, and the Content Construction Kit allows you to add custom fields to any content type. In Drupal 7 and later, most of the functionality of CCK has been absorbed into Drupal core. For more information on fields in core, see Working with Fields (Drupal 7 and later)
    Documentation and instructions are available in the separate CCK Handbook.

    Summary and purpose of CCK?

    Drupal comes with core content types like story and blog. For such a content type, go to 'Create content' and submit a new story or blog. That's sufficient for pages of pure text and with or without attachments.
    But what if your users want to be able to submit reviews of their favorite aardvark? That would be a new content type, but I want to be able to display other stuff as well as a chunk of text for every node of that type, and I don't want it to be just attached file links.
    My options: I could hack the story.module, OR I could see if someone has already created an aardvark.module for the exact type of content I want, OR using CCK I could create a new content type called Aardvark Review.
    Using CCK, I can create a content type that has exactly the fields I need, no more or less. My Aardvark Review for instance might have:
    • text field (comments on the aardvark)
    • dropdown menu (aardvark color)
    • audio file (recording of the aardvark's grunting)
    • image (photo of aardvark)
    The CCK admin interface for creating these new content types is nice and easy: just create your new type and then click through, adding the type of fields you want it to have and what their parameters will be (how much text for the review? which colors in the dropdown menu?). There are many add-ons available in the downloads section under CCK that add new kinds of fields to your options (video field, audio field, calculated values and vastly more complicated ones).
    From the users' perspective, they'll just click on Create content > Aardvark Review and get a form that asks them to submit their review, the aardvark's color, a recording, and picture.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/handbook/modules/cck

    Wednesday, December 1, 2010

    Decisions: Advanced Voting and Decision-making

    Decisions allows for several different types of advanced voting methods.

    Simple Plurality
    The most common voting method is Simple Plurality, where each voter gets to make one choice, and the candidate with the most votes wins.

    Approval Voting is a system where voters can give a yes or no vote for each candidate on the ballot. The winner is the candidate with the most approval votes. So if you like 2 out of 3 candidates, then you vote for 2 out of 3 candidates.

    Ranked Choice - Instant-Runoff
    In Ranked Choice Voting, voters can select candidates in order, by ranking their choices as first, second, third, etc. One type of Ranked Choice Voting is Instant-Runoff. The idea is that when votes are being counted, you gradually drop out the candidates with the least votes until there is one candidate with a majority of votes. If your first candidate is dropped out because of too few votes, then your ballot goes to your second choice. You can vote for multiple candidates in the order you prefer, and don't have to worry that you might accidentally help elect your least favorite candidate.

    Ranked Choice - Borda Count
    Another type of Ranked Choice Voting is Borda Count, where a certain number of points are awarded to the candidates based on voters' ranking preferences.

    Ranked Choice - Condorcet
    You can also do Condorcet style Ranked Choice Voting. The main point here is that the winner is determined by seeing which candidate performs best in heads-up matchups against the other candidates.
    Because of all the advanced voting options, Decisions is an awesome tool for group decision-making. See also Advanced Voting with the Decisions Drupal Module.

    For more information about Drupal Development, Drupal Expert, Drupal Developer and Drupal Programmer visit at http://www.dckap.com

    Source: http://drupal.org/node/985692