I have been thinking some more about a simple email + calendar service for Linux. I have tried a couple of ready-made groupware solutions but they seem not QUITE right FOR me. I want to rip off the ideas that GMail has shown to be successful. Also, let’s not ignore the Not-invented-here syndrome.
To start with the GMail experience is one of simplicity. Compare and contrast with Outlook Web Access which is essentially a fat client Windows app shoehorned into a website.
User accounts will have to be managed in an LDAP server, but if not in version 1, very soon after, the users and rights management will have to be done in the website for the Simplicity goal to be fulfilled. The LDAP database needs to be complete enough to be meaningful as a source for existing Linux phonebook management clients as well as access control for websites and e-mail.
What I want is a simple calendar view, with a possibility to launch a few forms to add and update entries. Here I’d have to find something suitable online, but the issue here mostly is the backend. I’d need to find an iCal compatible server that has a database format that I can figure out and live with. From here I have to export files to each user’s directory so that they can be indexed as needed.
The e-mail site can be extremely “flattering” to GMail, if imitation is the greatest form of flattery, with folders on the left and the list of e-mails front and center.
For it to be a solution fit for a smallish company you also need the ability to create content pages and publish them in the system somehow. A Wiki, for sure and also maybe a blog and a general CMS. Orchard or some other .NET CMS should be quite able to handle this, the major issues are to get either of them running on Mono and how to set up a default configuration
Search has to actually work. This means I will have to find a way to index web content, e-mail and appointments and parse queries and submit them to Lucene or SolR to actually provide great results fast. My whole bitterness against the proliferation of everybody’s personal data is that GMail has removed such large sections of brain that are no longer necessary. Almost whatever it is you have been up to in life you can find it using GMail search as you were bound to have written or received an e-mail about it – and if that didn’t happen you probably wrote an e-mail to yourself about it on purpose in order for it to be retrievable using the GMail search. It is a wonderful way of life, except when you have just handed strangers that same ease of access.
So, I’m thinking:
- iCal compatible calendar server, there are several.
- Mono 3.0.11
- Jetty (for SolR)
- PostGreSQL (?)
- Orchard CMS or DNN or Umbraco. Orchard preferred.
- My code / stuff
- Wrapper website that hosts settings, e-mail, calendar and CMS views. Handles sessions and the almighty search bar.
- Search results view
- E-mail listing
- E-mail compose
- Calendar view (week, month, days – need to find component that does the rendering.
- Appointment view
- Account management – against LDAP
- Account management – with SSH/certificates
- External POP3 and SMTP accounts
- E-mail indexer
- Calendar indexer
- Packaging my code
- Packaging config of other packages