Drupal Modules used in the USGIN Document Repository

Following is a break-down of the Drupal 6 modules used in the USGIN Document Repository site (you may want to familiarize yourself with general Drupal concepts):

  • active_tags
    • Taxonomy GUI: helps selecting taxonomy terms; recommends popular tags
  • admin_menu
    • Admin GUI: get to administrative links faster
  • advanced_help
    • API: Required by other modules
  • autocomplete_widgets
    • CCK extension: offers autocomplete function for Text and Integer CCK fields. Suggestions are based on past entries.
  • captcha
    • Security: Spam-bot deterrent; needed by ReCAPTCHA
  • cck
    • Core: Content Construction Kit (CCK): a must-have module that allows one to expand content types with custom fields
  • cck_facets
    • Search, CCK: Expands Faceted Search to CCK fields
  • colorpicker
    • GUI: A color selector used by the CTI Flex theme 
  • conditional_fields
    • CCK, Views: Hide fields on the node edit page depending on what the user selects in an other field. In this case, a user has to agree to a disclaimer (check-box) before the file/image upload field appears.
  • content_complete
    • CCK, GUI: a widget that shows if all fields in a node have been populated. It's a way to nag content contributors. 
  • ctools
    • JavaScript library used by other modules (Panels, etc.)
  • date
    • CCK, API: Date entry, conversion, and display functionality.
  • devel
    • Developer: helps debugging Drupal during development
  • diff
    • Compares node revisions and attempts to show the difference between two node versions.  
  • email
    • CCK: email field - can be tied in with email obfuscation modules.
  • extlink
    • GUI: adds a little external link icon to links outside of the site's domain. Can also prompt users with popups, etc.
  • faceted_search
    • Search: Allows for faceted searching against the Drupal DB. An interesting alternative is to integrate faceted search through a Solr service against a Lucene file-based index.
  • field_indexer
    • Search: Indexes additional content type fields. Used by Faceted Search.
  • filefield
    • CCK: Feature rich file upload field. Required by Image Field.
  • google_analytics
    • Google Analytics (web traffic monitoring) integration
  • imageapi
    • API for image handling (resizing, scaling, conversion, etc.)
  • imagefield
    • CCK: Feature rich image field. Requires Image API and File Field
  • imce
    • GUI, Files: image and file handling, integrates with WYSIWYG module's HTML GUI
  • imce_wysiwyg
    • IMCE module to WYSIWYG module bridge 
  • jquery_ui
    • JavaScript library used by other modules (Date, etc.)
  • link
    • CCK: URL field
  • logintoboggan
    • Security, GUI: Customize login options
  • menu_breadcrumb
  • openlayers
    • Map, API, CCK, GUI: An OpenLayers integration for displaying and interacting with Google Maps, Bing Maps, WMS services, etc. We use it to capture and display map extents (minimum bounding rectangle) for resources.
  • override_node_options
    • Security: Expands or restricts user permissions to modify node options. Used to relax permissions as part of the document management workflow.
  • panels
    • Core, GUI: Sophisticated module to change Drupal layouts and functionality. Used for the home and dashboard pages. 
  • pathauto
    • URL, Automate: Automatic URL aliasing. Used to create human friendly and URI compliant paths to nodes.
  • poormanscron
    • Core, Automate: Trigger cron runs by visiting users. For those who are too lazy to configure cron (Unix/Linux) or Scheduled Task (Windows)
  • prepopulate
    • CCK: Prepopulate fields in a new node with parameters in a URL. We use it in the Dashboard to cut down on users having to enter more data. 
  • recaptcha
    • Security, GUI: Sort of a Turing test to prevent spam bots submitting forms. This image based test also is helping to digitize 130 years worth of The New York Times.
  • rules
    • Core, Automate: This must-have module allows one to create complex behaviors based on chaining triggers with conditions and then actions. We use it to populate map extents, UUIDs, notify users of edits, etc.
  • supercron
    • Core, Automate: Selectively disable cron tasks. We use it to disable the build-in cron job which checks the availability of Drupal and Module updates. That cron job can cause MySQL DB time outs in some server setups.
  • tagadelic
    • Taxonomy, GUI: Creates tag clouds from taxonomy terms
  • token
    • Core, CCK: A must-have module that exposes Drupal and CCK variables as string tokens that can be inserted in many Drupal/Module configuration fields. 
  • transliteration
    • FIle, Core: rename uploaded file names to conform to UTF-8, etc.
  • uuid
    • API, Core: Generates UUIDs. Last week, the module's API was still buggy and I had to patch the CVS trung version of the module.
  • vertical_tabs
    • GUI, CCK: Organize the many fields in a node edit or add page into vertical tabs. The tabs are defined by CCK groups. 
  • views
    • Core, CCK: A must-have module that greatly expands the information display and organization. Consider it the other half of CCK.
  • views_bonus
    • Views, Metadata: Various expansions to Views. The Export sub-module allows one to generate CSV, doc, txt, and XML representations of a node through View's RSS capability. I modified this module to generate ISO 19139 metadata XML. More about it in the next blog entry.
  • view_unpublished
    • Security: Allows one to select security roles that are allowed to see unpublished nodes. Used as part of the workflow.
  • wysiwyg
    • GUI: Enables a variety of HTML editing libraries (we are using TinyMCE). Used as a word processor-like user interface for entering HTML text (with files and images via IMCE). 
  • xmlsitemap
    • Search Engine Optimization (SEO): Generate XML sitemaps  that are then submitted to major search engine services.