CVS edit link for bfroehle

I've written several modules for Drupal 6, however for the purposes of this application, please review ucbevents.module which fetches XML event data from http://events.berkeley.edu/ and exposes it to Views to be displayed.

The module grew out of a need to overcome limitations in the core aggregator.module, including custom date displays, event type categorization, and event sorting issues.

The code may be viewed at https://github.com/bfroehle/ucbevents

While the module is highly specialized, there are a large number of Drupal sites at the University of California, Berkeley, many of which struggle with the limitations of the aggregator module for displaying event data -- for example the current recommendations are wholly inadequate:

Notes for Drupal 6 Developers using RSS feeds:
1) Follow the simple instructions here to reverse the sort order from DESC to ASC
http://drupal.org/node/108581#comment-945500
(this is a hack to the Aggregator.module, perhaps will be a configuration setting in the next update).

2) Events items are Cached so they load quickly if something new is posted it will likely occur out of order it's important to go into
Drupal Admin: Content Management -> Feed Aggregator -> List
http://WEBSITE.berkeley.edu/[your login]/content/aggregator/list
then click "Remove Items" in the feed list. Now the list on the front page is blank.
then go to http://WEBSITE.berkeley.edu/cron.php
and it will repopulate from Events.Berkeley.Edu in the proper order.

See sample events feeds on the front pages of two Drupal sites on campus:
http://arf.berkeley.edu
http://nemeacenter.berkeley.edu

Beyond this module, I have a number of patches in core (17, I think, made it into D7) and am active in maintaining the core update.module D7 issue queue and the cas.module issue queue.

Comments

bfroehle’s picture

Project: Drupal.org security advisory coverage applications » Drupal.org CVS applications
Component: co-maintainer application » miscellaneous
Status: Reviewed & tested by the community » Needs review

The source for ucbevents.module is available at http://drupal.org/sandbox/bfroehle/1073464

You can grab it with
git clone --branch 7.x-1.x http://git.drupal.org/sandbox/bfroehle/1073464.git ucbevents

If necessary, I'll upload a tar.gz of the source code.

avpaderno’s picture

Component: Miscellaneous » new project application
Status: Postponed (maintainer needs more info) » Needs work

Hello, and thank you for applying for a CVS account. I am adding the review tags, and some volunteers will review the code, pointing out what it needs to be changed.

I will report here a little checklist:

  • The code needs to follow the coding standards; check in particular the format used for the control structures, and the name given to PHP variables, Drupal persistent variables, functions defined from the module.
  • Files available from third-party sites should not be included within the module/theme. This is particularly true for files that are not licensed under GPL License v2, but it is also true for files that are licensed under the same license used by Drupal.
  • The license file should not be included as well; the packaging script already include that file. In any cases, the code for modules/themes committed in drupal.org repository needs to be released under the same license used by Drupal; any compatible license is not allowed.
  • Check the code passes the Coder validation.

As per requirements, the motivation message should include more than two sentences (the exact words are a few paragraphs) that describe the project features. For themes, it should include also a screenshot of the theme (at least 640x400 pixels), and (when possible) a link to a working demo site; for modules, it should include also a comparison with the existing solutions.
The archive containing the module needs to be attached to a comment here.

bfroehle’s picture

Status: Needs work » Needs review
StatusFileSize
new7.27 KB

I've attached ucbevents (hash 2ae4a51).

As described in the original post, ucbevents.module fetches XML event data from http://events.berkeley.edu/ and exposes it to Views to be displayed. The Berkeley Events website provides event data in RSS and XML formats.

Reasons why the RSS feed & aggregator module are insufficient:

  • Format is limited to the formatting provided in the RSS feed.
  • Events often appear out of order. For example, suppose there were originally events on February 1 and February 10. If a new event, on February 5 gets added to the RSS feed, on the display on the Drupal site it will not be displayed between the other two events, but instead will be displayed first since it is 'new.'
  • Event metadata, like the event type and other tags is not available for use or display

This necessitates using the XML feed. The data format is complicated enough that existing solutions like Feeds + an XML parser and custom data types were not really feasible.

Instead, the XML data is retrieved, parsed with SimpleXML, and stored in dedicated databases. Features of this module:

  • Event XML feeds are automatically fetched using hook_cron().
  • Hooks are provided for other modules to alter the event data before it is stored. For example, third party modules can remove the organization name from "Organization: Our Neat Event" in the event titles. Sample hook functions are provided in the ucbevents.api.php file.
  • Event title, subtitle, description, and event types are stored and exposed to Views for custom displays and formatting.
  • Past or orphaned events are purged from the database on refresh.
  • Code is designed to make a port to D7 easy.
bfroehle’s picture

StatusFileSize
new1.1 KB

If you actually want to try the module out, you can run the attached script to populate the database with some feeds:

drush scr ucbevents-load-sample-feeds.php
drush cron
avpaderno’s picture

Issue tags: +Module review
bfroehle’s picture

Component: new project application » co-maintainer application

In a completely unrelated endeavor, metzlerd the maintainer of CAS (a single-sign-on technology often used by large institutions) has accepted my request for co-maintainership.

The details of our agreement can be found in #1060558: Co-maintainer Request.

metzlerd’s picture

Status: Needs review » Reviewed & tested by the community

CAS module maintainer here. Please grant CVS account so that I can give commit access.

rfay’s picture

+1 from me too.

bfroehle has been contributing extensively in the issue queue as well.

bfroehle’s picture

Project: Drupal.org CVS applications » Drupal.org security advisory coverage applications
Issue tags: -Module review

I'm moving this co-maintainer application to the new "Drupal.org Project applications" queue. The relevant bits for the approval are in comments #6 and #7.

webchick’s picture

Project: Drupal.org CVS applications » Drupal.org security advisory coverage applications
Component: miscellaneous » co-maintainer application
Status: Needs review » Fixed

Done. I also know bfroehle from his work on core and help with aspects of the Git migration.

Welcome to the land of vetted Git users, bfroehle. :)

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

PA robot’s picture

Component: co-maintainer application » module
Issue summary: View changes
Status: Closed (fixed) » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application (see also the project application workflow).

I'm a robot and this is an automated message from Project Applications Scraper.

rfay’s picture

Issue summary: View changes

OK, Mr. Robot. Looks like you are broken, as this one was closed successfully long ago and is *not* a "won't fix".

avpaderno’s picture

Status: Closed (won't fix) » Closed (fixed)