(forw) [GoLugTech] A Radicale solution (was: Next meeting on Vagrant)
Rick Moen <rick-IyCrq+X4Fdq2oZ/[email protected]>
| Newsgroups | gmane.org.user-groups.linux.svlug |
|---|---|
| Organization | If you lived here, you'd be $HOME already. |
| Message-ID | <[email protected]> |
GoLUG is Steve Litt's local group in central Florida. ----- Forwarded message from Rick Moen via Tech <[email protected]> ----- Date: Tue, 16 Jan 2018 21:45:54 -0800 From: Rick Moen via Tech <[email protected]> To: [email protected] Subject: [GoLugTech] A Radicale solution (was: Next meeting on Vagrant) Brad Maggard had an interesting suggestion: > Suggestion: add iCalendar for meetings to golug.org Cool idea. But have you surveyed the software required for meaningfully hosting, and for maintaining/editing, a schedule file in iCalendar (RFC 5545) format? Preferably using Linux and open source, and certainly not by outsourcing the job to some huge cloud-computing company, right? I've intermittently looked into this question for the LUGs in my area, because it seems a really fine idea -- and then you get into the complications. Simple, locally-run (as opposed to outsourced to one of those huge cloud computing companies with proprietary infrastructure and a Web front-end) open-source viewing/editing programs on Linux for iCalendar ('*.ics') files are a bit thin on the ground. Orage (formerly Xfcalendar), a nice little app most often bundled with Xfce, will do it. It's really not bad at all, and is growing on me. http://www.kolumbus.fi/~w408237/orage/ Then there's the 'Lightning' scheduling XUL extension for Thunderbird and Seamonkey (no longer compatible with Firefox because it's dropped XUL support), which was long the go-to way of dealing with iCalendar information not because it was great but rather because there wasn't much else. The classic Mulberry graphical e-mail client for Unixes, no longer proprietary and available since 2007 under Apache License 2.0, has iCalendar support -- but Linux people tend to forget it even exists. http://mulberrymail.com/ KDE's Kontact PIM/groupware thing, specifically the KOrganizer portion of that suite, does iCalendar in some way, if you don't mind a whole lot of KDE plumbing that arrives with it. https://userbase.kde.org/KOrganizer So does Claws Mail with the optional vCalendar plugin. Other than Orage and Lightning, iCalendar support is mostly hidden among a mess of overblown 'groupware' monstrosities (Zarafa, Kopano, Zimbra, SoGO, Simple Groupware, Horde, Open-Xchange) and some CMSes & such (Textpattern, Plone, WordPress, RT, Mootle, SPIP, Semantic MediaWiki, Tiki Wiki, Tryton, TYPO3, OLAT, Drupal). Most of the latter are primarily _server_-side implementations, with client edit/view access to the iCalendar file contents usually via Web front ends. Not simple, locally-run open-source viewing/editing programs for Linux, in other words. For that, you are stuck with Orage, Thunderbird/Lightning, Seamonkey/Lightning, KOrganizer, Mulberry, or Claws Mail w/vCalendar plugin. Or Evolution, if you're up for a GNOME monstrosity. (I'm not.) But then, you start looking closer, and talking to users of calendar information, and realise that the Wave of the Future[tm] is no longer just hosting an iCalendar file on a public Web site, like, 'Hey, our schedule is always posted as http://golug.org/golug.ics . Enjoy!' You do that, and people say that's great, but what about making it editable in-situ over the Web using CalDAV? Because it turns out that offering iCalendar scheduling via plain http is no longer what people expect, but rather CalDAV-wrapped http in _addtion_ to just a plain downloadable .ics file: Your Web server is now expected to have all the CalDAV extensions, and eachhosted calendar gets accessed using (1) a Calendar-id string, (2) a Main URL, and (3) a CalDAV URL. Adolfo Villafiorita's page gives a bunch of the annoying details: http://ict4g.net/adolfo/notes/2015/07/04/determing-url-of-caldav.html You see mention of something called DAViCal, described as _just_ a server for calendar sharing, implementing storage of iCalendar files with access mediated by the CalDAV and CardDAV access protocols. Peculiarly, the calendar information is required to be stored in SQL database tables rather than just leaving the perfectly fine iCalendar files alone and using those, but at least it uses PostgreSQL instead of (ugh) MySQL. But then you see the bad word: It's PHP bugware. So close, but foiled again. I don't know about you, but I've been bitten too often by PHP poor security and flakiness. https://en.wikipedia.org/wiki/DAViCal How about Web2project? Web-based, multi-user, intended primarily for project management but also does iCalendar. Rats, no, more PHP. https://en.wikipedia.org/wiki/Web2project How about Baïkal? MySQL _or_ SQLite (good to have that second option. Apache HTTPd or Nginx. Except, yep, sorry, PHP 5.5. http://sabre.io/baikal/ And you might well think, 'This is crazy. I just want to publish a schedule, not architect a funky Web framework.' You would wonder: Is there a preconfigured server-side _thing_ I can install that has this all set up and working out of the box, a modest server package that just does iCalendar hosting w/CalDAV? Yes and no. NextCloud looks promising (an open-source fork of once-promising ownCloud) https://nextcloud.com/ But then, rats, you notice it's (again) PHP. In desperation, you look at darkhorse offerings that promise to be an implementation of _just_ scheduling (and not some run-the-whole-world groupware), not something you need to throw a huge server at, and not PHP bugware. And you find four kinda-crazy darkhorse possibilities, the first of which isn't even open source, but you're scraping the bottom of the barrel. o Sun Java System Calendar Server. This is a lineal descendent of what, in dinosaur days, was Netscape Calendar Server. Wow, ancient lineage. It's the flagship calendar (scheduling) server software from Sun Microsystems. Except, urp, Sun Microsystems got gobbled up by you-know-who. And where did Larry Ellison stash it? Well, first it got welded into Sun Java System Communications Suite, which then was massaged into something apparently even more monstrous, the Oracle Communications Unified Communications Suite. https://www.oracle.com/industries/communications/enterprise/products/unified-communications/benefits.html It's now 100% in Java. Two gigs of free RAM are recommended, and, no, there is no standard pricing. You send your personal details to Oracle, and they weigh your wallet and pronounce how much you'll be paying. Unless you happn to be a Fortune 50 corporation with money to burn, I think this becomes a 'no'. o Bedework is another heavy Java servlet implementation (needing Tomcat, etc.), but has an even more monstrous list of additional needs: JBoss, Apache Directory Server (DS), Derby, ActiveMQ, and Ant. Personally, I'd very much rather not. https://www.apereo.org/projects/bedework o Apple Darwin Calendar and Contacts Server. (I believe they call it just 'Calendar and Contacts Server', these days.) Open source (Apache License 2.0). Web-oriented. The key 'caldavd' daemon process, and to my knowledge all the other bits, are written in the Python programming language with the 'Twisted' framework, and use an SQL database for storage of calendar data. It implements the CalDAV protocol for access to scheduling data and the CardDAV protocol for access to address book data. It looks competent. I think this is a reasonable full solution. https://www.calendarserver.org/ o webical. It's a reasonably simple GPLed Java servlet application that you can run (e.g., using Apache Tomcat) to run as a Web application w/CalDAV supportto view and edit multiple iCalendars. Requires Java 1.5+, Tomcat 5.5+, MySQL 5+, MySQL COnnector/J . https://code.google.com/archive/p/webical/ I've seriously considered deploying one of the latter two, after being initially interested in ownCloud (which became Nextcloud), only to have my interest cooled dramatically after hearing about the PHP angle. But, for certain, they're not going to be able to run on a Raspberry Pi 3. You're talking about a substantial host. But then there's: o Radicale. Written in Python 3.3 w/pip (yay), and is _small_. Does CalDAV (calendars, todo-lists) and CardDAV (contacts). GPLv3. And that's _it_. Doesn't require a goshdarned SQL database. No XML or Java servlet brain damage. Simple textfile configuration. And it's claimed to JustWork[tm] out of the box. Just that one dependency. Doesn't require superuser rights. Manages multiple calendars and address books. http://radicale.org/documentation/ https://www.floreo.info/2017/08/09/use-radicale-to-get-your-own-shared-calendar/ Brad Maggard, why don't you try setting _that_ up? You can get it going on the machine in front of you as http://localhost:5232/ in five minutes. If you agree it's good, get it going on a Raspberry Pi 3, put that on a static IP, have Steve Litt point DNS for ical.golug.org to it, and presto! GoLUG would have a flexible general-purpose iCalendar /CalDAV facility. But let me guess: Your idea was just for Steve Litt to maintain an outsourced GoLUG calendar on Google Calendar, wasn't it? ;-> -- Cheers, « Le doute n'est pas une état bien agréable, mais Rick Moen l'assurance est un état ridicule. » ("Doubt is not [email protected] a pleasant condition, but certainty is absurd.') McQ! (4x80) -- Voltaire _______________________________________________ Tech mailing list [email protected] http://lists.golug.org/listinfo/tech ----- End forwarded message ----- _______________________________________________ svlug mailing list [email protected] http://lists.svlug.org/lists/listinfo/svlug