Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 08 14:37
    mangstadt commented #120
  • Sep 06 09:02
    demanzano closed #120
  • Sep 06 09:02
    demanzano commented #120
  • Sep 06 06:39
    demanzano opened #120
  • Aug 05 12:56
    tarkal closed #119
  • Jul 26 13:38
    tarkal opened #119
  • Jul 07 14:21
    darku77 commented #118
  • Jun 30 00:49
    mangstadt commented #117
  • Jun 28 17:36
    tjmorgan0 commented #117
  • Jun 25 14:20
    mangstadt closed #116
  • Jun 25 14:20
    mangstadt commented #116
  • Jun 25 14:20

    mangstadt on master

    Update jackson dependency to la… (compare)

  • Jun 25 14:04
    mangstadt commented #118
  • Jun 25 14:01
    mangstadt commented #117
  • Jun 25 14:00

    mangstadt on master

    Create unit test for Issue 117 … (compare)

  • Jun 25 13:52
    mangstadt edited #117
  • Jun 23 16:41
    piotrblasiak opened #118
  • Jun 21 18:35
    tjmorgan0 edited #117
  • Jun 21 18:35
    tjmorgan0 opened #117
  • Jun 21 10:58
    netsrotr opened #116
Simon Harrer
@simonharrer
Hi. I am creating an event with an alarm, but Outlook does not recognize the alarm. Is this a known issue?
Michael Angstadt
@mangstadt
@simonharrer Mmm not that I know of. What does your alarm look like?
Simon Harrer
@simonharrer
Duration duration = Duration.builder().prior(true).days(1).build();
Trigger trigger = new Trigger(duration, Related.START);
VAlarm alarm = VAlarm.display(trigger, "Text");
event.addAlarm(alarm);

generates

BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-P1D
DESCRIPTION:Text
END:VALARM

which is not recognized by Outlook or Google Calendar.

Can this be related to the fact that the VEVENT is a full day event?
Michael Angstadt
@mangstadt
@simonharrer I don't see why an alarm wouldn't work for a full day event. Can you post the full iCal file?
Simon Harrer
@simonharrer
BEGIN:VCALENDAR
VERSION:2.0
PRODID:Abfuhrkalender Bamberg
NAME:Abfuhrkalender Bamberg 2016 für Bischberg (Landkreis Bamberg)
DESCRIPTION:Abfuhrkalender Bamberg 2016 für Bischberg (Landkreis Bamberg)
LAST-MODIFIED:20151101T230000Z
BEGIN:VTIMEZONE
TZID:Europe/Berlin
TZURL:http://tzurl.org/zoneinfo-outlook/Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:4c07611b-aa55-434e-bd22-06dbcbac2c86
DTSTAMP:20160925T094922Z
LAST-MODIFIED:20151101T230000Z
CREATED:20151101T230000Z
SUMMARY;LANGUAGE=de-de:BIO
LOCATION:Bischberg\, Landkreis Bamberg
DTSTART;VALUE=DATE:20160102
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER;RELATED=START:-P1D
DESCRIPTION:Morgen wird der BIO abgeholt!
END:VALARM
END:VEVENT
END:VCALENDAR
Michael Angstadt
@mangstadt
@simonharrer Your iCal file looks good. I did a quick web search and found some people who reported that Google Calendar and Outlook will not import the alarms in iCal files. It's certainly possible that Google and Microsoft have disabled this for security reasons. http://stackoverflow.com/questions/7393774/ics-alarms-are-not-appearing-in-google-calendar-or-outlook
The iCal specification has a warning about how you should be careful about accepting alarms from untrusted sources: "Note: Implementations should carefully consider whether they accept alarm components from untrusted sources, e.g., when importing calendar objects from external sources. One reasonable policy is to always ignore alarm components that the calendar user has not set herself, or at least ask for confirmation in such a case."
Simon Harrer
@simonharrer
Thank you!
Dan Karp
@dankarp
When a VALARM has a TRIGGER that goes off at the start of the event, biweekly's VAlarm.getTrigger() returns null. This seems like a really bad idea.
e.g.
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:+PT00H00M00S
END:VALARM
Michael Angstadt
@mangstadt
Thanks @dankarp. This was happening because the period value begins with "+". biweekly was incorrectly treating this as an error. See: mangstadt/biweekly#58
amitvaswani
@amitvaswani
Hi, I am trying to create a rest api that will generate ics file, can anyone please show some pointers on how to achieve this using biweekly
Marco Rodriguez-Suarez
@marcoRS
Hey guys, I hope youre all well. I'm trying to figure out if theres a way to grab an RRule as a string. I've tried something simple as recurrence.toString() and recurrenceRule.toString() but that returns object info.
Marco Rodriguez-Suarez
@marcoRS
So a string of the form "FREQ=WEEKLY;INTERVAL=2"
Michael Angstadt
@mangstadt
Hi @marcoRS. I just added the solution to the FAQ page. May I ask: why do you need to do this? A few other people have asked about this as well.
Marco Rodriguez-Suarez
@marcoRS
The project I'm working on has a slightly different use case from the ical structure but we are using the RRules within our data structure. I need to be able to parse these to fill in a calendar and also to update.
Marco Rodriguez-Suarez
@marcoRS
Does anyone have proguard rules for BiWeekly? I'm getting a bit of proguard errors related to JCalDeserializer
Marco Rodriguez-Suarez
@marcoRS
@mangstadt Does BiWeekly have support for EXDATE when parsing an rrule string? I noticed Recurrence.Builder has a xrule method but when I add an EXDATE and I'm parsing the rule for relevant dates the EXDATE seems to be ignored.
Michael Angstadt
@mangstadt
@marcoRS EXDATE is a separate property. You cannot define exclusion dates within the RRULE property. You might want to check out the VEvent.getDateIterator() method. It combines all the RRULE and EXDATE properties to give you a single date iterator.
Nils Kilden-Pedersen
@nilskp
Hi. Quick question: Why should I use biweekly over ical4j? What was the motivation for creating biweekly? Presumably it solves some issue(s) with ical4j?
Michael Angstadt
@mangstadt
@nilskp I created biweekly because I didn't like the way the ical4j codebase was organized. It was also fairly easy for me to get the project started because I could base it on my ez-vcard project (the vCard and iCalendar file formats are very similar). One benefit to using biweekly over ical4j is that it is more memory efficient. From what I understand, ical4j cannot handle large iCalendar files very well because it has to read the entire file into memory before it can process it. Biweekly streams the data, which means it requires much less memory. Hope that answers your question!
Nils Kilden-Pedersen
@nilskp
@mangstadt thanks! :+1:
Michael Angstadt
@mangstadt
No problem!
Simon Harrer
@simonharrer
Hi. I was fighting with the reuccurrences. In my calendar, there are dates that occur every two weeks, but once and a while, one day is off that bi-weekly schedule. How can I still get the recurrence setting so that the user sees that they are related? I was wondering if I can use the RecurrenceId for that? But I have not found any examples or anything in the documentation. Any idea how I can proceed?
Michael Angstadt
@mangstadt
@simonharrer You should be able to add an EXDATE (exception date) property to the VEVENT component. This property specifies individual dates that are to be excluded from the recurrence rule.
Simon Harrer
@simonharrer
Thanks for the quick reply. Hm, I think I have described it the wrong way. What I meant with one day off was that a specific event is not exactly every two weeks but once in a while 13 days until the next event and then the 14 day rule may continue. In other words: I have a sequence of events that follow a pattern such as every two weeks but some of those days may be one or two days earlier or later because of holidays. The best thing would be that I do not need a recurrence rule but could just link those days manually. What would you suggest?
Michael Angstadt
@mangstadt
@simonharrer You could use the EXDATE property to define the dates that the meetings will not be held on their normal date (as previously suggested). Then, add an RDATE (recurrence date) property to define the dates in which the meeting date is changed to account for holidays, etc. Does that make sense?
Simon Harrer
@simonharrer
Ah, now I think I get it. I could simply use the RDATE to just list all dates withouth any RRULE or EXDATE so model that sequence. Thank you!
Michael Angstadt
@mangstadt
@simonharrer That'd work too! Of course, you are limited to a finite set of dates, as opposed to RRULE, which is never-ending.
hawkfalcon
@codehawkfalcon_twitter
Hi @mangstadt thank you for your awesome library!
I do have a question if you are around
krshmbb
@krshmbb
@mangstadt We've noticed a few cases of clients sending us malformed VTimeZone DTStart values (not matching the local date-time format). As a result, ICalReader.readNext() throws a ClassCastException (java.lang.ClassCastException: biweekly.util.com.google.ical.values.DateValueImpl cannot be cast to biweekly.util.com.google.ical.values.DateTimeValue). I have a junit test and a possible solution in case you are interested. Let me know!
Michael Angstadt
@mangstadt
@krshmbb I am! Can you please put it in an issue?
Stooge7
@Stooge7
Hello, the site stopped hosting info about the timezones for outlook : http://www.tzurl.org/zoneinfo-outlook/Europe/
Stooge7
@Stooge7
opened an issue about it : mangstadt/biweekly#76
Michael Angstadt
@mangstadt
@Stooge7 Yikes, thanks for letting me know.
krshmbb
@krshmbb
@mangstadt Created an issue mangstadt/biweekly#77
Michael Angstadt
@mangstadt
@krshmbb Thanks, see my reply.
Somesh-tsr
@Somesh-tsr
Hi, Can we modify a particular date in a recurrent event?
Somesh-tsr
@Somesh-tsr
Hi Mike, can you please reply to above query. I have created a recurrence event. I want to delete one of the date in the date series. can you suggest any solution for this.
Nils Kilden-Pedersen
@nilskp
@Somesh-tsr it might help to ping @mangstadt. There, did it for you :-)
Michael Angstadt
@mangstadt
@Somesh-tsr The EXDATE property can be used to exclude specific dates from a recurrence rule. To add an EXDATE property to an iCalendar object using bikweely, call the VEvent.addExceptionDates() method.
Sergei Egorov
@bsideup
Hi! The lib is great! Does anyone know iOS (Swift) port or something?
Émile Fugulin
@Sytten
Hey! Small question, how would you make a diff of two .ics efficiently? Do you have features supporting this in the lib?
Michael Angstadt
@mangstadt
@Sytten Sorry, biweekly cannot make diffs.
Émile Fugulin
@Sytten
I will make my own algo then, no problem
Naftoli Gugenheim
@nafg
Is it ok to call .setDescription with a string that has newlines?
Michael Angstadt
@mangstadt
@nafg Yes. biweekly will automatically escape any special characters when it creates the iCalendar file.
Naftoli Gugenheim
@nafg
Thanks