Well, this is my first drupal showcase...

Michigan Area Resource Center(http://www.marc-web.org)

I used drupal 4.6 to create an online library/resource catalog for the Michigan Area Resource Center (MARC). The website address is http://www.marc-web.org.

MARC(http://www.marc-web.org) is a resource/media lending library for the West Michigan and Detroit Conference of the United Methodist Church. It lends videos, dvds, audio, music sheets, equipment to UMC churches. Currently, MARC uses filemaker to manage their resources(media), users and loans. Now with the new drupal site, users/churches can browse & search the online catalog, checkout resources and the staff have an extremely flexible and dynamic website which allows them to effectively communicate with their users.

Originally, the goal was simply to upload the filemaker database that was searchable. Using drupal, I was able to provide many more features such as convenient browsing, bookcarts and advanced searching of resources.

Features & Modules

Here is the list of features and the corresponding module used:

Custom resource fields
Flexinode: using flexinode, I was able to provide the client the ability to define their own resource type. Using flexinode, the staff can create new resource media type and define what makes up the media. For example, the video resource type is a flexinode with fields such as title, description, publisher, published year, ISBN, viewing rights, ..., etc. The primary benefit to the developer is that the staff does not need to contact the developer to modify the database to add additional media types.
Categories
Taxonomy: Using drupal's powerful taxonomy, MARC can categorize their categories using "acyclic" graphs structures by creating vocabularies which allow multiple parents. In addition, it allows the staff to label each resource using multiple vocabularies such as "age level", and "language".
Series
Relativity: The relativity module allows the user to group nodes into series of related nodes. Using the relativity module, the staff can define a node as a series node which contains many children nodes. This allows the users to browse and search for nodes that are part of series. (e.g. Vegitales Series)
Advanced Searching
Trip_search: trip_search provides an advanced search feature that works fairly well. It searches nodes, users, and taxonomy terms. There are still many bugs in the module and the display options are pretty limited, but it works well enough. I removed some parts of the code to make it display less information. Drupal 4.7 includes powerful searching features that should work better than trip_search.
Custom Theme
PHPTemplate: Using PHPtemplate, I was able to provide a custom frontpage with functions that pulled items from various terms and display them. Using PHPtemplate's ability to theme flexinodes individually by naming the template file node-flexinode-#.tpl.php, I was able to provide custom templates for each media type. For example, each resource type must display the age group and the category the node is part of. By creating custom template files for each media type using the corresponding flexinode, I was able to display the related taxonomy term("age level", language, and included materials) in a column view. In addition, PHPTemplate's ability to override "theme_" prefixed functions was crucial in the ability to provide additional features such as the "Sorting" bar at the top of the "Browse resources" pages.
Similar Entries
Similar: The similar module is an amazing module that automatically list 5 other nodes that contain similar content. I haven't looked at the module in depth so I don't know how it does it exactly, but the results are surprising accurate. It was a very powerful feature that I could provide without any customization.
Resource Management & Bookcart
E-commerce && Custom bookcart - I heavily modified the e-commerce module to provide resource management features. I wasn't able to finish this feature but e-commerce(I renamed it to library) currently manages the resources. I also ended up writing my own cookie/session based bookcart module that is very similar to e-commerce's shopping cart. The bookcart also includes a custom checkout page.
Custom Web Forms
webform: The webform module allows the staff to create their own contact form and subscription forms without the help of a developer. They are able to specify an email address which the submitted forms are emailed to. This is another huge plus that makes the staff less dependent on the developer for maintainence and adding new content (even typical programmatic features).
Custom Menu
menu: the default menu module allows you to add taxonomy terms as a menu item. By creating a new menu box then specifying the "Subject" taxonomy term as the menu, I was able to display the Subject/Category as a box on relavent pages. The menu module is smart enough to display the related terms when a user is viewing a node.
Links
weblinks: weblinks was one of the main reasons why I started using drupal. weblinks allow users to create links as first-class nodes which can then be associated with taxonomy terms and be searched. MARC has a small list of taxonomy terms for interesting web links that they hope to expand. The typical links page is now so much more meaningful as it provides categories, hierarchies, and rss feeds. Who needs del.icio.us when you have taxonomy and weblinks?
WYSIWYG editing
tinymce: It is extremely important to provide a convenient way for users who do not know html to be able to edit and format the content they write. tinymce provides a powerful word-like toolbar that users can use to format their text. It even allows the user to cut and paste the text from word into drupal and retain the formatting.

Future goals

  • Reservation Module - Allow the user to reserve resources for future dates
  • User management - Automate the users/churches to apply for subscription
  • Online Resource Loan Management Module - Automate the lending processing
  • Community - Forums and comments. Due to the lack of resources and training, the staff are not actively developing an online community. Drupal already provides forums and comments but the participation of users is solely voluntary and not promoted.

Special Note

Because Drupal is so powerful and flexible, it is extremely confusing and complicated for non-tech savvy users. However, I totally agree with Doug Engelbert, that every useful tool require users to be trained to use the tool effectively. While the users of the website will not find the website confusing, the staff initially had difficulty understanding concept and found the UI confusing. Primarily, the confusion was with the concept of taxonomies/categories(acyclic graphes). They also found many of the node creation UI complex and confusing. Drupal 4.7 with AJAX makes considerable strides in this respect. It took some time but they were able to grasp the concepts and UI after some training.

I want to thank everybody in the #drupal chat. You guys were immensely helpful and patient with my stupid questions.

I'd love to hear what people think of the site. Please let me know what you all think~

Comments

matbintang’s picture

That a really good looking site.

Cross_and_Flame’s picture

...as a Methodist who also uses Drupal, I appreciate seeing others using it for my church.

May you be blessed!

Jo Wouters’s picture

Your site looks really great and professional !

Thanks for your very detailed information. I learned a lot while reading about the features you implemented, and the modules you used for it. Thank you.