Page MenuHomePhabricator

Import and export ICS from Calendar
Closed, ResolvedPublic

Assigned To
Authored By
epriestley
Apr 7 2016, 9:44 PM
Referenced Files
F1890560: Screen Shot 2016-10-30 at 8.41.45 AM.png
Oct 30 2016, 3:45 PM
F1889682: Screen Shot 2016-10-28 at 3.50.51 PM.png
Oct 28 2016, 10:51 PM
F1832249: Screen Shot 2016-09-15 at 6.53.08 AM.png
Sep 15 2016, 1:58 PM
Tokens
"Party Time" token, awarded by ftdysa."Mountain of Wealth" token, awarded by jayvdb."Mountain of Wealth" token, awarded by hach-que."Haypence" token, awarded by chad.

Description

It is a thing for events:

Excellent news: we can make events play custom sounds from arbitrary URLs! But will clients respect them? I can only hope.


Done:

  • SearchEngine / view all for import logs.
  • Delete all events from a source.
  • ICS errors probably throw instead of hitting the log?
  • Drag-and-droping an ICS file should import it.
  • Silence mail/feed for imports.
  • Show that imported events were imported on detail screen.
    • Link back to source.
    • Better messaging for explaining why you can't edit them?
  • Engine properties on import details.
  • When stubs/instances (can instances be generated?) are generated from an imported event, carry over the import source.
  • URL-based ICS imports.
  • Reload imports action.
  • Missing (int) cast on interval/COUNT.
  • Actually support COUNT.
  • Triggers for periodic imports (URL/Google).
  • Import attendees.
  • Try that GMail header stuff from @20after4.
  • Export host/organizer.

Still to be done:

  • Rules for collapsing duplicate instances of imported events for a viewer while querying, so they don't all show up on views.

Revisions and Commits

rPHU libphutil
D16767
D16761
D16760
D16748
D16729
D16715
D16698
D16678
D16653
D16648
D16637
D16634
D16633
D16631
D16630
D16629
D16628
D16622
D16619
D16617
D16616
D16615
D16614
D16613
D16612
D16611
D16610
D16609
D16608
D16607
D16606
D16605
D16603
D16599
D16590
D16557
D16552
D16551
D16548
D16521
D16520
rP Phabricator
D16772
D16771
D16770
D16768
D16766
D16759
D16752
D16749
D16747
D16730
D16728
D16727
D16726
D16723
D16722
D16721
D16720
D16719
D16716
D16704
D16703
D16702
D16701
D16699
D16696
D16681
D16680
D16679
D16676
D16675
D16670
D16668
D16664
D16663
D16662
D16661
D16652
D16559
D16558
D16553

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

OK I imported some real great events:

Screen Shot 2016-10-28 at 3.50.51 PM.png (972×1 px, 138 KB)

No one can see them but they're great.

The Gmail/ICS integration seems to actually work OK in practice, here's an event from this install working (modulo some stuff like us not exporting a host/organizer yet):

Screen Shot 2016-10-30 at 8.41.45 AM.png (1×1 px, 197 KB)

I think it doesn't show this UI when it thinks the sender is "bad", for some definition of "bad". In the case of my non-working test cases, they came from a complex series of mailbox aliases because my mail test setup does a lot of weird magic, so I think we're OK on the header stuff as-is. We can revisit this if users are having issues in the wild, but seems to be working OK for me.

(Google API integration is covered by T2334 -- you can already interact with Google Calendar via ICS files, but that will add support for using the API instead.)

I'm going to file the duplicate import thing as a separate task since it probably won't come up for a while and close this out.

Duplicate thing filed in T11800.

timor removed a subscriber: timor.