New BDN feature: Community Calendar

By: John Kaster

Abstract: EventCentral is a free web-based calendar of worldwide events

At the BorCon 2004 closing session, one of the new BDN applications launched was a community calendar, code named EventCentral. Any BDN member can use EventCentral to post events of interest to Borland customers anywhere around the world (or off it). Events must be approved by an EventCentral sysop to be publicly visible, but any BDN member can submit an event to EventCentral.

EventCentral is a Java Server Faces application built with JBuilder, running on Borland Enterprise Server. The calendar data is saved in a JDataStore database.

There have been many changes since initially launching this application on September 15th, 2004. You can see most of these changes documented on EventCentral.

Using the calendar

When you go to the EventCentral web site via the supported home page URLs (https://ec.borland.com, https://eventcentral.borland.com, or https://calendar.borland.com) you will see the events for the current month displayed.

Month view
Month view

Month View

I've overlaid various yellow boxes over the top of the month view to highlight certain areas of the web page we're going to discuss. The areas highlighted with boxes and several other links on the page are available in most of the various views of the calendar.

Area Purpose/Description
Navigator The navigator allows you to quickly select a different timeframe to view. The navigator will change what it displays when you change views.
Build number The build number should be used when posting bug reports or feature requests to QualityCentral.
Filter bar The filter bar allows you to fine-tune the items that appear in any view by filtering on values such as such product, event type, and event category.
View tab You can change views by selecting one of the tabs above the filter bar. Notice that month is indicated as the default tab in the screenshot above. The other "tabs" will change your view to the timeframe closest to whatever timeframe you are currently viewing, with whatever restrictions you have set in the filter bar.
About link At the top and bottom right of this page is the about link, which provides more information about EventCentral, including usage statistics and change history for the project.
Options link The options link next to the About link is not currently functional, but when it is you will be able to customize your usage of the calendar, including setting your preferred timezone.
Developer notes The very bottom of the view displays notes about the beta version of the project. It could be acknowledgement of a known issue, a todo item, or something else along those lines.
Search Events The search events dialog is not currently enabled, but it will allow you to find events matching multiple values of the criteria listed in the filter bar. The filter bar reduces the events that will be displayed in your current view, and the search dialog will allow you to either reduce or expand the events matching your criteria.

Calendar Views

There are five (5) different views for the calendar. All views respect the filter bar settings, so you will only see events matching what you have chosen in the filter bar as you switch views.

The month view is described above.

The day view shows all events matching the active selection criteria for a given date. Its navigator displays the month containing the day displayed. The day view shows enough hours to cover any event that is displayed and/or "office hours". This is currently 6am - 11pm Pacific Time, but will be user configurable after the user options supports setting personalized time zone information.

The week view shows all events for a given week, and its navigator displays the month containing the week displayed.

The year view shows all dates for a given year. Only the links to month view are working on its display of all days in the year. You can use its navigator to select another year to display. I find myself using this view a lot to plan things out for the year.

The event list view shows all events for a given timeframe. You can select all, upcoming, or past events to display in this list. They will be displayed in chronological order. Upcoming (future) events are displayed by default when you select the event list view.

Note: In the interest of keeping urls on BDN as short as possible, we may remove the text "View" from the above JSF urls in the future.

Event Details

The rendering of timeframe events in an easily understandable layout is a significant challenge. We make heavy use of "tool tips" or mouse over hints to provide glanceable information about specific events from a view instead of requiring you to click on that event to get digest information. The following image illustrates:

tool tip summary
Tool tip summary

This way, you can quickly read summary information about the events to find one you're interested in, then click on it to get to its detail page.

Let's look at the event for Karl Ewald's live chat on web development in JBuilder 2005.

Event detail view
Event Detail View

You can see the kind of event it is (live chat), the category, product, start and stop date (events can span multiple days and EventCentral will handle them gracefully), the location, description, a URL for additional information, and so on.

Working with Events

If you are the author of an event posting or an EventCentral sysop (as I am), you can edit or update the event by clicking the Edit button that will appear when you view the event. (See Karl's live chat event above.) When you are in edit mode, you can enter a variety of information about the event, including the type, category, relevant product, and so on. Many selections are available through drop-down lists.

While developing EventCentral, TeamB member Gillmer Derge created a very useful set of JSF components. One of these is the pop-up calendar control that allows you to pick a date. You can see the pop-up button in this screenshot for both the start date and stop date.

Event editing

This snapshot is part of the "editing" view for Karl's live chat.

Adding Multiple Events

Because many of the events entered in the community calendar will be similar to other events, such as user group meetings, there is also a Copy button available that will "clone" the current event to allow you to make the minor changes necessary to post another.

When you are adding events, there is another button that appears entitled Save and add another which will post the event you are currently editing, then provide the entry form for a fresh event. If you want to copy the event you are currently editing, click the Done button, then hit the Copy button again.

EventCentral Usage Statistics

We've also been tracking usage of the EventCentral beta, even though it hasn't been announced yet. Because we're trying to gauge how popular EventCentral will be, you currently must be logged in to BDN with your free BDN account to use the calendar. Here are the usage statistics from January 18th, 2005:

Total

# Visitors: 5795
# Events: 389
# Event Creators: 50

Last 30 Days

# Visitors: 1212

Last 7 Days

# Visitors: 289

# Visitors is the number of distinct users who have visited EventCentral for the timeframes indicated above the tables. Multiple visits by the same user count as only one visitor.

# Event Creators is the number of distinct users who have created an event. Multiple events created by the same user count as only one creator.

Providing Feedback

EventCentral is part of the BDN project on QualityCentral. You can go directly to the EventCentral area at https://qc.borland.com/wc/qcmain.aspx?da=24100 to submit bug reports or feature requests for this new BDN service.

EventCentral is being actively developed right now, so if you've got features you really want to see, be sure to submit them to QualityCentral as soon as you can so we can get them designed into the system. We hope you find EventCentral a useful and valuable addition to BDN. Check back frequently, because there will be many new features coming to it in the first half of 2005.


Server Response from: ETNASC01