spatie/calendar-links
Generate “Add to calendar” links and ICS files for events. Supports Google Calendar, iCal/Apple Calendar, Outlook and more. Define title, start/end, description and location, then get shareable URLs or downloadable .ics content for your app.
2.0.1 addresses a Microsoft Outlook-specific domain update, reinforcing its compatibility with modern calendar systems.use statement and a method call (Link::create()), reducing integration effort.custom() method, with the fix in 2.0.1 ensuring Microsoft Outlook compatibility is now future-proofed.DateTime objects; Laravel’s Carbon can bridge this gap.webOffice() domain update resolves a query string length error (#216), reducing potential failures for Outlook integrations.DateTime objects) to prevent malformed URLs.outlook.cloud.microsoft) to ensure backward compatibility.GET /events/{id}/calendar-link)./calendar-link endpoint).2.0.1 fix ensures seamless integration with Outlook’s updated domain, reducing potential failures.Link::create()->google() and Link::create()->webOffice()).CalendarLinkGenerator) to abstract logic.EventController@show).Cache::remember()).webOffice() method now uses outlook.cloud.microsoft, resolving the AADSTS90015 error for long query strings.| Step | Priority | Effort | Dependencies |
|---|---|---|---|
| Install package | High | Low | None |
| Basic link tests | High | Medium | Local Laravel instance |
| Outlook domain fix validation | High | Medium | Outlook test account |
| Service wrapper | Medium | Low | Package stability |
| Blade/API integration | Medium | Medium | Frontend/backend routes |
| Caching/analytics | Low | Medium | Monitoring setup |
composer update spatie/calendar-links).DateTime objects or Outlook-specific errors).filter_var($url, FILTER_VALIDATE_URL)).outlook.cloud.microsoft) works for all use cases; test with long event titles/descriptions.Link::create()->toArray() to inspect raw parameters.Link::create() in a job).| Risk | Mitigation Strategy |
|---|---|
Invalid DateTime input |
Validate with DateTime::createFromFormat() |
| Microsoft Outlook domain issues | Test thoroughly with outlook.cloud.microsoft; fall back to old domain if needed |
| URL injection attacks | Sanitize output URLs (e.g., htmlspecialchars) |
| High traffic link generation | Rate-limit or cache URLs |
| Long query strings (Outlook) | Truncate event details or use alternative methods |
Link::create()->google() and Link::create()->webOffice()).DateTime handling.CalendarLinkService class template.How can I help you explore Laravel packages today?