10

Click here to load reader

Top 25 modules for drupal developer and drupal consultant

Embed Size (px)

Citation preview

Page 1: Top 25 modules for drupal developer and drupal consultant

Top 25 modules for Drupal developer and Drupal consultant

If you are preparing for the Drupal interview or thinking to start development with drupe you must

know about top 25 Drupal modules. If you goal is same as I writing the information about Top 20

modules for Drupal.

After that you are bale to creak interview one question. However interview is very happy after hearing

answer because you know top 25 Drupal modules with description. Good Luck for you best future. Keep

in touch if you want more detail on Drupal.

Most if time interviewers ask you about view and panel .Very important for you review after installation.

Views

The Views module provides a flexible method for Drupal site designers to control how lists

and tables of content (nodes in Views 1, almost anything in Views 2) are presented.

Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker

lists are formatted.

This tool is essentially a smart query builder that, given enough information, can build the

proper query, execute it, and display the results. It has four modes, plus a special mode,

and provides an impressive amount of functionality from these modes.

Among other things, Views can be used to generate reports, create summaries, and display

collections of images and other content.

You need Views if

1. You like the default front page view, but you find you want to sort it differently.

2. You like the default taxonomy/term view, but you find you want to sort it differently;

for example, alphabetically.

3. You use /tracker, but you want to restrict it to posts of a certain type.

4. You like the idea of the 'article' module, but it doesn't display articles the way you

like.

5. You want a way to display a block with the 5 most recent posts of some particular

type.

6. You want to provide 'unread forum posts'.

7. You want a monthly archive similar to the typical Movable Type/Wordpress archives

that displays a link to the in the form of "Month, YYYY (X)" where X is the number of

posts that month, and displays them in a block. The links lead to a simple list of

posts for that month.

Token

Tokens are small bits of text that can be placed into larger documents via simple placeholders, like %site-name or [user]. The Token module provides a central API for modules to use these tokens, and expose their own token values.

Note that Token module doesn't provide any visible functions to the user on its own, it just provides token handling services for other modules

Note: that in wordpress you are calling Short code

Page 2: Top 25 modules for drupal developer and drupal consultant

Pathauto

Content Construction Kit (CCK)

CCK is a very powerful system with many different contributed modules to extend its functionality. Install the Advanced Help module for additional help, and use the Views module to display CCK information in a variety of ways.

Here are a few other comprehensive documentation and tutorial resources to help get you started:

Text: The CCK Handbook on Drupal.org Text: CCK Module basics tutorial Video: Adding Fields With CCK video Video: CCK & Views Tutorial (for Drupal 5) DVD: Learning CCK in-depth training by Lullabot Book: Using Drupal O'Reilly covers CCK with lots of examples Video: Karen Stevenson's CCK Presentation at the Do It With Drupal Seminar (paid access)

Chaos tool suite (ctools)

This suite is primarily a set of APIs and tools to improve the developer experience. It also contains a module called the Page Manager whose job is to manage pages. In particular it manages panel pages, but as it grows it will be able to manage far more than just Panels.

For the moment, it includes the following tools:

Plugins -- tools to make it easy for modules to let other modules implement plugins from .inc files.

Exportables -- tools to make it easier for modules to have objects that live in database or live in code, such as 'default views'.

AJAX responder -- tools to make it easier for the server to handle AJAX requests and tell the client what to do with them.

The Pathauto module automatically generates URL/path aliases for

various kinds of content (nodes, taxonomy terms, users) without

requiring the user to manually specify the path alias. This allows you

to have URL aliases like /category/my-node-title instead of

/node/123. The aliases are based upon a "pattern" system that uses

tokens which the administrator can change.

Page 3: Top 25 modules for drupal developer and drupal consultant

Form tools -- tools to make it easier for forms to deal with AJAX. Object caching -- tool to make it easier to edit an object across multiple page requests and cache

the editing work. Contexts -- the notion of wrapping objects in a unified wrapper and providing an API to create

and accept these contexts as input. Modal dialog -- tool to make it simple to put a form in a modal dialog. Dependent -- a simple form widget to make form items appear and disappear based upon the

selections in another item. Content -- pluggable content types used as panes in Panels and other modules like Dashboard. Form wizard -- an API to make multi-step forms much easier. CSS tools -- tools to cache and sanitize CSS easily to make user-input CSS safe.

Wysiwyg

Allows using client-side editors to edit content. It simplifies the installation and integration of the editor of your choice. This module replaces all other editor integration modules. No other Drupal module is required.

Wysiwyg module is capable to support any kind of client-side editor. It can be a HTML-editor (a.k.a. WYSIWYG), a pseudo-editor (buttons to insert markup into a textarea), or even Flash-based applications. The editor library needs to be downloaded separately. Various editors are supported (see below).

Wysiwyg module also provides an abstraction layer for other Drupal modules to integrate with any editor. This means that other Drupal modules can expose content-editing functionality, regardless of which editor you have installed.

ImageAPI

This API is meant to be used in place of the API provided by image.inc. You probably do not need to install this module unless another module is you using requires it. It provides no new features to your Drupal site. It only provides an API other modules can leverage. Currently GD2 and ImageMagick support are distributed with ImageAPI.

Page 4: Top 25 modules for drupal developer and drupal consultant

FileField

ImageCache

ImageCache allows you to setup presets for image processing. If an ImageCache derivative doesn't exist the web server's rewrite rules will pass the request to Drupal which in turn hands it off to ImageCache to dynamically generate the file. ImageCache requires that you:

Install and enable ImageAPI module *and* one of its toolkits (GD or ImageMagick) Clean URL support or Private Files (more info)

Administration menu

Provides a theme-independent administration interface (aka. navigation, back-end). It's a helper for novice users coming from other CMS, a time-saver for site administrators, and useful for developers and site builders.

Administrative links are displayed in a CSS/JS-based menu at the top on all pages of your site. It not only contains regular menu items — tasks and actions are also included, enabling fast access to any administrative resource your Drupal site provides.

Google Analytics

Adds the Google Analytics web statistics tracking system to your website.

The module allows you to add the following statistics features to your site:

Single/multi/cross domain tracking Selectively track/exclude certain users, roles and pages Monitor what type of links are tracked (downloads, outgoing and mailto) Monitor what files are downloaded from your pages Custom variables support with tokens Custom code snippets

FileField provides a universal file upload field for CCK. It is a robust alternative to core's Upload module and an absolute must for users uploading a large number of files. Great for managing video and audio files for podcasts on your own site.

Configurable upload paths allow you to save files into per-field or per-user directories

Per-field and per-node file size limits Extensive API for extending field widgets and managing files Full revision/translation file management Views support Ajax Uploads (and progress bar support with the PECL uploadprogress

extension) Pretty Icons All the goodness of CCK (multiple output formats, shared fields,

multiple values, and much more)

Page 5: Top 25 modules for drupal developer and drupal consultant

Site Search support AdSense support Tracking of Goals Anonymize visitors IP address Cache the Google Analytics code on your local server for improved page loading times Access denied (403) and Page not found (404) tracking DoNotTrack support (non-cached content only)

Webform

Webform is the module for making surveys in Drupal. After a submission, users may be sent an e-mail "receipt" as well as sending a notification to administrators. Results can be exported into Excel or other spreadsheet applications. Webform also provides some basic statistical review and has and extensive API for expanding its features.

Some good examples could be contests, personalized contact forms, or petitions. Each of these could have a customized form for end-users to fill out. If you need to build a lot of customized, one-off forms, Webform is a more suitable solution than creating content types and using CCK or Field module.

ImageField

ImageField provides an image upload field for CCK. ImageField is a CCK-based alternative to the legacy Image project. It boasts features such as multiple images per node, resolution restrictions, default images, and extensive Views support.

ImageField does not provide a built-in thumbnail solution, but complements the incredibly powerful

thumbnail generation module ImageCache.

Date

This package contains both a flexible date/time field type Date field and a Date API that other modules can use.

The D5 and D6 versions of the Date field require the Content Construction Kit (CCK) module. The D7 version works with the core Field functionality.

IMCE

IMCE is an image/file uploader and browser that supports personal directories and quota.

Page 6: Top 25 modules for drupal developer and drupal consultant

Features

Basic file operations: upload, delete Image(jpg, png, gif) operations: resize, create thumbnails, preview Support for private file system Configurable limits for user roles: file size per upload, directory quota, file extensions, and image

dimensions Personal or shared folders for users Permissions per directory Ftp-like directory navigation File sorting by name, size, dimensions, date Tabbed interface for file operations Keyboard shortcuts(up, down, insert(or enter), delete, home, end, ctrl+A, R(esize), T(humbnails),

U(pload)). Built-in support for inline image/file insertion into textareas Multiple file selection(using ctrl or shift) Ajax file operations Themable layout using tpl files

Link

The link module can be count to the top 50 modules in Drupal installations and provides a standard custom content field for links. With this module links can be added easily to any content types and profiles and include advanced validating and different ways of storing internal or external links and URLs. It also supports additional link text title, site wide tokens for titles and title attributes, target attributes, css class attribution, static repeating values, input conversion, and many more.

CAPTCHA

A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.

Backup and Migrate

Backup and Migrate simplifies the task of backing up and restoring your Drupal database or copying your database from one Drupal site to another. It supports gzip, bzip and zip compression as well as automatic scheduled backups.

With Backup and Migrate you can dump some or all of your database tables to a file download or save to a file on the server, and to restore from an uploaded or previously saved database dump. You can chose which tables and what data to backup and cache data is excluded by default.

Page 7: Top 25 modules for drupal developer and drupal consultant

jQuery UI

A wrapper module around the jQuery UI effects library that lets module developers add swooshy, swishy effects to their code.

Global Redirect

GlobalRedirect is a simple module which…

Checks the current URL for an alias and does a 301 redirect to it if it is not being used.

Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.

Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.

Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.

Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.

Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.

Most of the above options are configurable in the settings page. In Drupal 5 you can access this after enabling the globalredirect_admin module. In Drupal 6, the settings page is bundled into the module.

Panels

An Overview of Panels

The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.

Integration with Ctools module

Panels 3 utilizes the CTools' system of "context" so that the content you place on the page can be aware of what is being displayed. For example, in the existing Drupal setup, a block has no real knowledge of what the primary page is displaying. There are all kinds of tricks and tools you can use to get information to the blocks, but this generally means writing PHP code to scan the URL and pull the data out, which is not a very good thing when that data should already exist.

Page 8: Top 25 modules for drupal developer and drupal consultant

Panels uses Contexts - What are they?

In a Panel, you can create contexts, which represent the objects being displayed. For example, when displaying the node view, NID argument on the page is converted into a context through the 'arguments' system. You can then create a relationship from that node to, say, the node author, or if you have a node reference from CCK, a related node [as of CCK 2.3]. Once the contexts are in place, content specifically about those contexts can be placed. For the node context you can add CCK fields, the node body, attached files and a host of other information that can be provided by plugins. For the user context you can display things like the user picture or profile. Note that CCK 2.3 and later only has support for Panels 3.

In addition, these contexts can be checked for information and use that not only to make content available to be displayed, but to choose which layout to display! For example, if your site is international, you can use context to see if the node being viewed is set for a particular language and choose to display it one way if it is in French or another way if it is in English. You can also select on attributes like node type, whether or not the user has access to edit the node, and more. This system is also pluggable and you can add your own custom criteria with only a small amount of code. Want to display nodes differently based on how a custom CCK field you've added to a node type is set? That is very simple to write and you can use this to change the presentation entirely.

Panels also includes simpler applications of the drag and drop system. There is a node type (the 'panel' node) that can simply be added as content to your system. By being a node it loses a lot of the features that the more powerful page system has, but it does have the advantage of simplicity, and gaining all of the functionality that nodes normally get.

Panels can also be used for items smaller than pages. What if you have a normal sidebar, and you have two pieces of content that waste a bunch of space because they're really too narrow, and your design looks significantly better if they are side by side? That's complex to do in Drupal because what you end up having to do is create a custom block with custom code to display these two pieces of content. With Panels, you just create a "mini-panel" with a two column layout. Add one block to the left, one block to the right, and finish. This mini panel will then be available to your system as an ordinary block, or as panel content to go in the other panels.

Other Features of Panels

Panels supports styles, which can control how individual content panes, regions within a panel, and the entire panel will be rendered. While Panels ships with few styles, styles can be provided as plugins by modules, as well as by themes!

The layout builder is nice for visually designing a layout, but a real HTML guru doesn't want the somewhat weighty HTML that this will create. Modules and themes can provide custom layouts that can fit a designer's exacting specifications, but still allow the site builder to place content wherever you like.

Panels includes a pluggable caching mechanism. A single cache type is included, the 'simple' cache which is time-based. Since most sites have very specific caching needs based upon the content and traffic patterns, this system was designed to let sites that need to devise their own triggers for cache clearing and implement plugins that will work with Panels. Panels can be

Page 9: Top 25 modules for drupal developer and drupal consultant

cached as a whole, meaning the entire output of the panel can be cached, or individual content panes that are heavy can be cached.

Panels can be integrated with Organic Groups through the og_panels module to allow individual groups to have their own customized layouts.

Panels integrates with Views to allow administrators to add any view as content. Or, for uses where the layout editor needs more tightly controlled content, Views can be given custom displays to provide only what the site administrator wants the panels builder to use.

XML sitemap

The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.

Lightbox2

The Lightbox2 module is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on most modern browsers.

The module places images above your current page, not within. This frees you from the constraints of the layout, particularly column widths. It keeps users on the same page. Clicking to view an image and then having to click the back button to return to your site is bad for continuity (and no fun!).

Features

The version 2 module has several benefits over the plain Lightbox module. Note, not all of these features are available when the "Lightbox2 Lite" option is enabled.

Image Sets: group related images and navigate through them with ease - ideal for your image galleries.

Slideshow Capability. HTML Content Support: ability to show websites or other HTML content in a lightbox. Video Content Support. Visual Effects: fancy pre-loader and transition when you click on the image. Keyboard Shortcuts: useful keyboard shortcuts for switching between images, toggling play /

pause, etc. Zoom Capability: larger images are reduced in size so they fit snugly inside the browser window.

A zoom in button can then be clicked on to see it in its original size, while a zoom out button is provided to return you to the scaled down version.

Choice of Layouts. Skin and Animation Configuration. Right-to-Left Language Support.

Page 10: Top 25 modules for drupal developer and drupal consultant

Automatic Image Detection: configurable automatic re-formatting of image node thumbnails, previews, etc, so there is no need to add 'rel="lightbox"' to each image node link on your site. Image, Inline, Flickr, Acidfree Albums, Image Assist, Embedded Media Field and CCK Imagefield modules are all supported.

Page Exclusion Capability: exclude certain pages on your site from having the lightbox2 functionality.

Login Support: ability to modify all user/login links so the login form appears in a lightbox. Gallery 2 Support: support for Gallery 2 images via the Gallery module (beta). See here for

information on how to customise your Gallery2 theme to work with lightbox.

Poormanscron

A module which runs the Drupal cron operation using normal browser/page requests instead of having to set up a crontab to request the cron.php script. The module inserts a small amount of JavaScript on each page of your site that when a certain amount of time has passed since the last cron run, calls an AJAX request to run the cron tasks. Your users should not notice any kind of delay or disruption when viewing your site. However, this approach requires that your site gets regular traffic/visitors in order to trigger the cron request.