(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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.