nnguyen / google-enterprise-connector-manager

Automatically exported from code.google.com/p/google-enterprise-connector-manager
Apache License 2.0
2 stars 1 forks source link

Support iCalendar syntax Schedules #144

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Dear Brett,

One advantage of iCal4j is that it is used by the the google calendar team.

Thank you,

Eric

On Tue, Mar 24, 2009 at 5:14 PM, Brett Johnson 
<brett.michael.johnson@gmail.com> wrote:
Now that the Issue 79 changes are in the trunk, I started looking into
using the iCalendar 2.0 encoding to represent traversal schedules.
I had used libical a decade ago and thought there would be a 
plethora of Java iCalendar implementations.  I was wrong.  

My search turned up the following:

- iCal4j:  This seems to be the most predominant implementation.
It looks like it can do everything we need.   However, it has several
annoying drawbacks:
  - It is massive.  Its code base is bigger than the Connector Manager.
  - Its third-party dependencies are annoying - it uses commons-lang,
    commons-codec, and commons-logging.
  - It uses an author's license that is similar to old-style BSD license.

- jical:  Much lighter weight than iCal4j, but it doesn't do what we
need it to do.  Its major drawbacks are:
  - It is a read-only implementation - it can parse iCalendar files, 
    but it cannot generate them.
  - It may be orphaned - there has not been much activity since 2004.
  - It uses an LGPL license.

- google-rfc-2445:  Yay! a Google project hosted on the codesite and
maintained by a Google employee - Mike Samuel.  It also uses an 
Apache 2 License.  This project is the opposite of iCal4j.  It is stripped 
down - focused  entirely on building a list of iterable time intervals.  
It understands the iCalendar syntax for time, time intervals, and 
recurrence rules.   Its drawbacks:
  - The most spartan implementation, it does not parse full VCALENDAR
     records, or even VEVENT records.  But it looks like it might be
     60% - 80% of what we need.
  - It doesn't handle recurrence intervals of less than a day.

- java-icalendar:  an apache jakarta project that disappeared from 
the apache site in 2002.  Certainly dead, although its author tried
to revive it a couple of years later.

- libical + JNI wrapper:  There is a java wrapper around libical that
uses JNI to talk to the library.  We have avoided native code up to 
this point and I would prefer to continue doing so.

Brett Johnson

On Mar 5, 2009, at 5:47 PM, Marty Gronberg wrote:

Whew - so Shaunak, Eric and I iterated on this today and I have updated the 
Design Proposal to 
reflect our current thinking using iCalendar for the traversalWindows.  Take 
another look and 
let me know if you have a preference or any concerns.

Action Items:
Shaunak: Talk to the Dasher team and see what they are using.
Cyrus: We are proposing dropping the 'mode' field that is used to specify 
'copyOnce' vs 
'continuous' because of the corner cases and confusion it can lead to.  If we 
can handle this 
with a special retryDelay is that fine?
Thanks,

   Marty

PS - For Eric and Shaunak - I'll write up the securePropertyFilePath and 
Connector Status topics 
we discussed separately.

On Mon, Mar 2, 2009 at 5:41 PM, Marty Gronberg <martyg@google.com> wrote:
Team,

I'm reviewing Brett's Change related to Issue 79 and working on the HES 
component that 
compares cloud config with the local config and ran into an issue with the 
Schedule 
information.  Rather than start a protracted email thread I put together a 
Design Proposal at:

http://docs.google.com/a/google.com/Doc?id=cc27cd56_0gskxzbhh&invite=1214415590

I think you all should be able to see the document from that link, however, 
I'll send out an 
email from Docs right after this so you get a link with a good invite property.

Please comment on this in the next 24 hours.  This is kind of blocking the HES 
end-to-end 
demo right now and I'd like to get it resolved soon.  If I don't hear anything 
I'm going to ask 
Eric to make some changes to the Connector Config schema and API and Brett to 
make related 
changes to his proposed fix to Issue 79.

Thanks,

   Marty

Original issue reported on code.google.com by Brett.Mi...@gmail.com on 16 Apr 2009 at 10:22

GoogleCodeExporter commented 9 years ago

Original comment by Brett.Mi...@gmail.com on 16 Apr 2009 at 10:22

GoogleCodeExporter commented 9 years ago

Original comment by mgron...@gmail.com on 6 May 2009 at 11:04

GoogleCodeExporter commented 9 years ago
This issue is filed as Google issue #6514068

Original comment by tdnguyen@google.com on 18 May 2012 at 9:23