Archive for the 'Chandler Server Development' Category

Feeds: RSS | Atom

Collection Sharing with Chandler Server

August 6th, 2008 at 11:51 am (2 days, 2 hours ago) by travis under Chandler Hub Service, Chandler Server Development

After our preview release last year we heard quite a bit of feedback related to the sharing workflows in the Chandler Web UI. Many people seemed to immediately grasp how useful it is to be able to send links to friends and collaborators that can be plugged into Chandler Desktop or directly into a web browser for instant view-only or view-and-edit access to the contents of a collection. Unfortunately, until Chandler Server 0.15, released in May of this year, actually getting at these links was pretty difficult.

The solution to this problem, the collection sharing dialog you can find on Chandler Hub today, solves this problem and more. Any time you’d like to share your Chandler Hub data with other people or even just other applications you use, this starting point will make everything else easier.

Today we’ll two follow users, Adam and Zed, as they run through a sharing worflow we think you’ll find useful.

Invite Collaborators

Adam and Zed are coaching their sons’ soccer team, the Beagles. Adam has been using Chandler at work, and creates a new collection to help with the mountain of organization that will need to take place. He has published this collection to http://hub.chandlerproject.org and would like Zed to give him some feedback on a proposed practice schedule.

After logging into the Hub Web UI, Adam clicks on the pulldown arrow next to “Soccer” to bring up the collection sharing dialog.

Soccer Collection

He then clicks on the “invite” button to generate two sharing links.

Finally, he right clicks on the “View and Edit” sharing link and selects Send link…. He could also just copy the link location and paste it manually into the email or instant message program of his choice.

Soccer Send Link

When Zed gets the link he can paste it into his favorite web browser and instantly review and edit Adam’s practice schedule. What’s more, if he wants to start using the Chandler Desktop client, he can use this link to subscribe to this collection there.

Collaborate with iCal

Zed’s not ready to take the Chandler Desktop plunge. It’s not that he doesn’t like Chandler, but he’s been a die-hard Apple iCal fan for years. Fortunately, iCal and Chandler work great together. Once Zed pastes the link he received from Adam into his web browser, he’s excited to see a big green button on the left side of the screen labeled “Apple iCal, Google.” He clicks it and follows the instructions in the dialog that appears to add this collection to iCal. Unfortunately, due to underlying technical restrictions he won’t be able to edit the collection or add new events from iCal. Fortunately, Zed has bookmarked the link Adam sent him, and can do all the editing he needs there.

Sky’s the Limit

Hub interoperability doesn’t end with support for Apple iCal. Several other clients, including the Lightning Calendaring Extension for Mozilla Thunderbird, have built in support for CalDAV, a calendar sharing standard. Hundreds of feed readers, usually used for keeping track of blogs and news, can subscribe to the Atom based collection feeds provided by Chandler Hub. Instructions for each of these methods can be found in the collection sharing dialog and the Chandler Project wiki.


Chandler Server (Cosmo) 1.0.0 released

July 31st, 2008 at 12:54 pm (1 week, 1 day ago) by travis under Chandler Server Development

The Chandler Project is pleased to announce the 1.0.0 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This release contains bugfixes, stability improvements and general polish. For a more complete list of recently introduced features please see the release notes for our 0.16.0 release.

Chandler Server 1.0.0 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_1.0.0

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • [Bug 12242] LATER items sorted above NOW items
  • [Bug 12213] NPE in EntityConverter.setCalendarAttributes()
  • [Bug 12214] NPE when writing html dir index
  • [Bug 12225] unhandled ItemNotFoundException thrown by findItemByPath
  • [Bug 12226] migration component doesn’t build on java 1.6
  • [Bug 12236] modification links included in occurrence atom entries
  • [Bug 12113] website needs feedback mechanism
  • [Bug 12194] unable to create free-busy ticket using account browser
  • [Bug 12206] exdate is added after “all future items” change
  • [Bug 12261] Change copy for Apple iCal subscribe button in Ticket View
  • [Bug 12270] “Invite” link for subscriptions potentially confusing

Use Google Calendar to get daily agenda emails for Chandler collection

July 25th, 2008 at 7:25 am (2 weeks ago) by rletness under Chandler Hub Service, Chandler Server Development, How I Use Chandler

I’ve been working on a Chandler Server feature that allows users to setup and receive a daily/weekly agenda via email that would include upcoming items for the day/week and also a list of items with a triage status of NOW. While this work isn’t done, I’ve discovered a way to get a daily agenda for a collection shared on Chandler Hub using Google Calendar. So in the mean time if you want an easy way to get a daily agenda via email (or SMS) you can do the following:

  1. Log in to Chandler Hub and open collection details for collection you want to receive notifications for (click on down arrow next to collection name in collection list):

    collection settings

  2. If it hasn’t been done already, click [Invite] to generate sharing links.
  3. Right-click or Cmd-Click (Mac) on either one of the [Invite] link to Copy Link. (Note Collections you subscribed to will only display 1 “Invite” link, the link you used to subscribe.)
  4. Log in to your Google Calendar account
  5. In your calendar list, click on [Add] pulldown and select Add by URL

  6. Paste the URL obtained in step 2 into Public Calendar Address field, changing “pim” to “webcal”. The URL should look something like: https://hub.chandlerproject.org/pim/collection/215715b0-5a0b-11dd-92a1-e12efc62301d?ticket=26htadc0
  7. Click [Add]
  8. In the calendar list, click on the down arrow and select Notifications

  9. Setup daily agenda email or SMS

You are done! Google Calendar will automatically refresh the URL every few hours and will send a daily agenda to you at 5am every morning.

Of course there are some limitations. The email will go to your gmail account, the agenda only includes events, there is a possibility of data being out of date, there is no triage status information, and no way to link back to the original items on Chandler Hub. Of course, this is why we are currently developing these features for the server!


Chandler Server (Cosmo) 0.16.0 released

July 1st, 2008 at 6:35 pm (1 month, 1 week ago) by travis under Chandler Server Development

The Chandler Project is pleased to announce the 0.16.0 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This release introduces a new item detail view designed to drastically improve item editing workflows. It integrates a larger, expandable notes field, date pickers for appropriate fields and a cleaner design. Other significant changes in the Web UI include cleaner add/remove affordances, conditional use of WhatWG DOM Storage for login information and numerous minor usability and display tweaks.

On the server side, an upgrade to the 0.4.0 version of Abdera, the library used to build our Atompub service, brings the server up to date with the latest library API changes. Sharing capabilities with Apple’s iCal client have been enhanced by changes in the mapping from the internal server data model to iCalendar records. In addition, enhanced ETag and If-None-Match header support provide significant optimization opportunities for webcal clients.

Chandler Server 0.16.0 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_0.16.0

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • [Bug 12181] Make get started message pop more
  • [Bug 11540] deleting a subscribed collection raises an error
  • [Bug 12146] no error messages on login or signup in safari
  • [Bug 12149] Use dom storage when possible for login info
  • [Bug 11271] Make Notes field auto-resize depending on available space
  • [Bug 9887] prev and next buttons messed up on the calendar UI for small screen browsers
  • [Bug 10919] Sort by Starts on doesn’t seem sorted properly
  • [Bug 10004] timeout dialog box buttons are confusing.
  • [Bug 8917] change event timezone to America Lima event time in lozenge is corrupt
  • [Bug 11851] Sort triage status by TriageStatusChangedDate
  • [Bug 11853] Explanatory text for account confirmation and account login pages
  • [Bug 11854] Various visual improvements and cleanup
  • [Bug 11942] signing up for new account in ticket view doesn’t redirect you to new account
  • [Bug 12059] New Settings Dialog / New About Hub… text
  • [Bug 12063] Make error message on login page pretty
  • [Bug 12064] No visual feedback for keyboard focus in Signup dialog in Firefox
  • [Bug 12065] Simplify email confirmation message when signing up
  • [Bug 12066] Update links for instructions on acct activate page + other improvements
  • [Bug 12131] Triage column header won’t reverse sort
  • [Bug 12159] unsaved changes dialog appears when no changes occur
  • [Bug 12167] Any-time events result in unsaved changes dialog
  • [Bug 12174] Setting end date to before start hangs in “Processing…”
  • [Bug 12205] 10+ collections creates big gaps in sidebar list on ff2/3
  • [Bug 8297] Scroll bar in sign up for a new account is messed up.
  • [Bug 9765] Implement selected state that looks different from rollover state
  • [Bug 11346] Improve Task icon
  • [Bug 11791] Upgrade Abdera
  • [Bug 12037] Sync Chandler Notes / Starred Notes as iCalendar Tasks…
  • [Bug 12071] webcal requests should return ETag and honor If-None-Match header
  • [Bug 12115] Confusing discrepancy between list views on Hub and Desktop
  • [Bug 12152] server returns 500 when no master calendar component found
  • [Bug 12153] 500 returned when generating Subscription feed that contains invalid subscription
  • [Bug 7085] Disable new signups feature
  • [Bug 8396] Mini cal for date picker
  • [Bug 10430] Chandler Hub logo is squished on ‘Activate’ page
  • [Bug 10772] Usernames not being url-escaped before being used in URLs in web ui.
  • [Bug 11119] Pull branding graphics out of image grid file
  • [Bug 11561] Cannot Delete Recurring Items from Dashboard
  • [Bug 11629] Atom subscription edit link returns 404
  • [Bug 11739] Ask for email address of users who download the desktop or sign up for an account
  • [Bug 11852] Improvements to DV (including Notes field)
  • [Bug 11945] Javascript timezone unit tests fail on Safari 3.0
  • [Bug 11981] webui creates invalid allday modification
  • [Bug 12026] Password Reset not validating password
  • [Bug 12053] New sidebar
  • [Bug 12054] Implement new Subscribe/Download from the Sidebar design for ticket view
  • [Bug 12060] Add “What is Chandler?” link to “logged-out” ticket view
  • [Bug 12061] Change all references to “Floating” time zones to “None”
  • [Bug 12070] Can’t delete user using Safari
  • [Bug 12081] Detail view displays “once” for custom recurrence rules
  • [Bug 12121] Collection-Details pulldown isn’t right-aligned when you first log in
  • [Bug 12135] focus for new collection dialog should be in text field
  • [Bug 12161] Able to select “custom” as a recurrence rule
  • [Bug 12163] collection list checkboxes get their own line for many collections
  • [Bug 12166] ticket creation ui radio buttons not showing up for account browser
  • [Bug 12175] all day change in list view not reflected in canvas view
  • [Bug 12177] entering invalid credentials on add subscription to account dialog results in [object Error]
  • [Bug 12183] I don’t have Invite button/links for collections I subscribed to
  • [Bug 12185] Make subscribe dialogs pop more
  • [Bug 12198] Can’t delete recurring events immediately after creation
  • [Bug 7098] update wiki CalDAV page
  • [Bug 7099] update wiki WebDAV page

Chandler Server (Cosmo) 0.15.0 released

May 19th, 2008 at 10:58 am (2 months, 3 weeks ago) by travis under Chandler Server Development

The Chandler Project is pleased to announce the 0.15.0 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This release introduces a new sharing dialog in the Chandler Server Web UI that greatly simplifies many common sharing and subscription workflows. It also fixes many server and client bugs which improve interoperability and reliability.

Chandler Server 0.15.0 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_0.15.0

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • [Bug 10969] ical doesn’t like multiple dates in single EXDATE property
  • [Bug 10985] Incorrect methods reported in Allow header for dav OPTIONS response
  • [Bug 11599] Enforce new username policy server side.
  • [Bug 11654] Cosmo Doesn’t Seem to build on Java 1.6…
  • [Bug 11667] attempt to remove non-existent modification could result in error
  • [Bug 11668] npe during time-range index update
  • [Bug 11808] iCal not seeing tasks
  • [Bug 11864] No story for what happens to modifications when master is no longer stamped as event
  • [Bug 11883] Improve error messaging for morse code
  • [Bug 11957] login case insesitive, but security check not
  • [Bug 12025] ArrayIndexOutOfBounds exceptions in DAV operations on hub
  • [Bug 7877] Collection Details - download calendar/tasks not working? And remove text/link
  • [Bug 8329] Add hyperlink to feed reader in ‘collection details’ dialog box
  • [Bug 10605] “please enter a new name” misleading/confusing
  • [Bug 11259] Collection details dialog protocol urls should be links or images.
  • [Bug 11535] adding an already subscribed to collection redirects the page to “you do not have access to this resource”
  • [Bug 11593] Collection details dialog tweaks for feed URL
  • [Bug 11848] Add ticket creation mechanism in the Web UI
  • [Bug 11849] Fix collection details dialog
  • [Bug 12076] timezone wierdness
  • [Bug 10623] specific events stamped as tasks missing from the list view
  • [Bug 11418] cosmo allows duplicate name in same collection
  • [Bug 11847] Remove OOTB Hub collection
  • [Bug 11580] / in username causes hibernate error on signup
  • [Bug 11974] ThisAndFuture change to all day event fails
  • [Bug 11975] attempt to update un-authorized item through atom returns 500
  • [Bug 12074] Unable to save note to All Events when recurrence is custom
  • [Bug 12080] check not showing up in list view for tasks

Chandler Server 0.14.1 Released

April 10th, 2008 at 2:59 pm (3 months, 4 weeks ago) by travis under Chandler Server Development

The Chandler Project is pleased to announce the 0.14.1 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This is a bugfix release to patch a bug in which users with non-url-safe characters in their usernames or passwords could not log in to the Web UI.

Chandler Server 0.14.1 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_0.14.1

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • #11956: Calendar ui double-escaping authentication request

Chandler Server Powered By Dojo 1.0.2

April 7th, 2008 at 2:28 pm (4 months ago) by travis under Chandler Hub Service, Chandler Project, Chandler Server Development

The 0.14.0 release of Chandler Server, pushed live to our open service Chandler Hub on Friday, boasts few obviously new features. Instead we’ve taken this release to merge a branch of development that has been open for several months which moves us to the 1.0 line of the Dojo Javascript Toolkit. Hopefully Hub users have already noticed improved load times and a generally snappier interface as a result of this upgrade, but unsurprisingly the most exciting improvements are in the code.

The first changes I’m excited about are, like our latest release, less wholesale modifications than improvements and commitments to stable APIs with performance enhancement sugar to sweeten the deal. Dojo’s internationalization (i18n) and event APIs have matured to the point where developers can expect to rely on them without fearing a future change like the one we’ve just experienced. As a result we’ve begun the process of migrating our custom i18n code to Dojo’s API, away from the custom, backend dependent code we’ve used in the past. We’ve also started streamlining our use of Dojo’s topic APIs to make our code easier to read and understand. Both these processes are works in progress, so keep an eye on this space for more detailed information in the future.

Several components have also seen essentially complete overhauls, most prominently the XMLHttpRequest wrappers and Dijit, the full featured HTML/CSS UI toolkit built on Dojo Core. Instead of using dojo.io.bind and passing callback functions, method, and header information dojo.xhrGet, dojo.xhrPost and a handful of other methods accept a variety of arguments, make HTTP requests and return dojo.Deferred objects. This return value, a port of the asynchronous task management API introduced by Python’s Twisted networking library, provides an easy way for developers to manage complex sets of asynchronous actions like server requests. Since our Web UI data APIs already used dojo.Deferred internally, this change led to a very nice code reduction.

Dojo’s user interface building API, Dijit, has been greatly improved since Dojo 0.4. In addition to moving to its own namespace as part of Dojo’s overall API flattening, Dijit is better streamlined, better tested, and easier to use. A number of Chandler Server UI components have been ported to the Dijit APIs, and are, as a result, better tested, more modular, and closer to being embeddable outside of our Web UI.

The Dojo team has also been hard at work putting together the next generation of Javascript tools to support high performance rich applications on top of the Open Web. Two of these tools are already finding their way into heavy use within our code base, and are poised to become critical pieces of our infrastructure over the next year.

The first, dojo.data, is “uniform data access layer” that allows UI components to be built without worrying about backend data formats. Our user administration interface has been essentially completely rewritten, but required almost no new UI code. All we had to do was implement a dojo.data store on top of the Cosmo Management Protocol (CMP) and hook it up to Dojo’s Grid widget to get full in-place user field editing, “infinite scrolling” for handling large numbers of users and a handful of other goodies. While our end-user calendar and item list UIs have not been moved to this API, the ongoing web widget project is being built on a new dojo.data store that we hope to eventually integrate into our current UI.

The second piece of new functionality that I’m excited about is dojo.query. This do-it-all CSS query function is the go-to guy for finding pieces of DOM to manipulate. The beauty of this and other query functions is that they are based on features most web developers eventually expect to be supported natively by all major web browsers. By allowing developers to start using these features now we can build advanced web applications that will get trivially more performant with time, and motivate browser developers to continue implementing this critical functionality.

In addition to improving the tools we use to build our Web UI, Dojo’s 1.0 line has introduced some major infrastructure improvements in the form of a DOH, a new Dojo-independent testing harness, and a from-scratch rewrite of the Dojo build system. We’ve managed to port all of our tests to DOH by writing some wrappers to avoid a completely rewrite, which has allowed us to take advantage of the very nice test harness bundled with Dojo. Nearly as important as this test framework is the build system that plays a key role in transforming over 1MB of Javascript into a much more digestible 138K loaded in several different stages. The Dojo 1.0 line makes this process much cleaner and easy to understand, as well as offering advanced functionality like layering, which allows us to break our Javascript into large chunks appropriate to different pieces of our UI.

Dojo has been an integral part of our project to build a new kind of information and knowledge management ecosystem and we are lucky to be able to rely on a vibrant community of developers producing a first class piece of software. If you’re interested in digging deeper and helping us integrate even more of the exciting new functionality provided in its latest release, Dojo 1.1, please don’t hesitate to ask questions on our development list, or via IRC on irc.freenode.net in the #cosmo channel.


Chandler Hub updated to Chandler Server 0.14.0

April 4th, 2008 at 3:27 pm (4 months ago) by travis under Chandler Hub Service, Chandler Server Development

Chandler Hub has been updated to the latest version of Chandler Server 0.14.0. This release incorporates a major update to Dojo, the toolkit used to build our Web UI. Please report any problems.


Chandler Server (Cosmo) 0.14.0 released

April 3rd, 2008 at 12:33 pm (4 months, 1 week ago) by travis under Chandler Server Development

The Chandler Project is pleased to announce the 0.14.0 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This release primarily consists of an update to Dojo, the Javascript toolkit used to build the Chandler Server Web UI. Dojo’s 0.9 release was essentially a complete rewrite, and involved a large number of core API changes. Changes to our codebase have been similarly numerous. We are currently using Dojo 1.0.2, and do not anticipate upgrades with as significant consequences in the future.

More information on Dojo, including comphrehensive information about changes introduced in its 0.9 release, can be found at:

http://dojotoolkit.org

Chandler Server 0.14.0 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_0.14.0

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • #11607 Upgrade to Dojo 1.0
  • #8499 Subscribe/unsubscribe to a collection on web UI
  • #11351 Move client collection addition/deletion to atom api

Chandler Server (Cosmo) 0.13.0 released

March 20th, 2008 at 11:52 am (4 months, 3 weeks ago) by rletness under Chandler Server Development

The Chandler Project is pleased to announce the 0.13.0 release of Chandler Server (Cosmo)!

Chandler Server is a server and Ajax web UI for managing and sharing calendars, events, and tasks. It implements open data standards including CalDAV, WebDAV, Atom, and Atompub.

This release includes a major security fix as well as a small amount of minor bug fixes. The focus for this release was to fix the security hole present in prior versions that allowed users to gain write access to items without a read-write ticket. Part of this fix required changes to the desktop client, so upgrading the server to 0.13.0 will require upgrading Chandler Desktop to 0.7.5 in order to support certain features (sharing items in multiple collections). It is strongly recommended that the desktop client be upgraded to 0.7.5 when upgrading the server to 0.13.0. Chandler Desktop can be downloaded here: http://chandlerproject.org/Projects/DownloadChandlerDesktop

Chandler Server 0.13.0 is available for download as a ready-to-run bundle at:

http://chandlerproject.org/serverdownload

and the source code is available from subversion at:

http://svn.osafoundation.org/server/cosmo/tags/rel_0.13.0

Send us feedback at the open mailing list (no subscription required):

chandler-users@osafoundation.org

We look forward to hearing from you!

The bugs fixed in this release include:

  • #11867 fix items in multiple collections security hole
  • #11794 support for PostgreSQL in migration tool
  • #10814 Can’t update an item that isn’t owned by user from webui
  • #11779 changing calendar selection while looking at future weeks resets view to this week without grabbing this week’s elements
  • #11797 Chandler requires JVM properties to be set
  • #11641 HCalendarParser broken when ical4j.relaxed.parsing is set
  • #11863 updating item using DAV results in owner always being set
  • #11931 Can’t access account browser for any of my collections
  • #11909 hibernate session not getting flushed after optimistic locking failures

There was a minor change to the database schema for Chandler Server in version 0.13.0. Instructions for upgrading from previous versions of Chandler Server can be found at: <http://chandlerproject.org/Developers/ServerBundleInstallation#Upgrading%20from%20previous%20versions> Please remember to backup your database before attempting migration!