Managing your Life with eGroupWare

If your life is like mine, it's probably more complicated than it should be. There's that full time job, social events, and vacations to say nothing of various side businesses and their associated deadlines. The kids have Cub Scouts, soccer, and baseball. Since we homeschool, we have science club, field trips and play dates. And it seems that everyone we know has 2 email addresses and at least 3 phone numbers. Then there is the family budget, workout goals and the infamous Honey-Do List. This is a lot of information to keep track of.

There was a time when I had a work calendar on my employer's Exchange server and a home calendar in Kontact. Then my wife had a paper calendar on the wall in our office. Addresses and phone numbers were spread across Exchange at work, Kontact and Quicken at home, and a vast array of sticky notes and scratch pieces of paper generously scattered throughout the house.

So the question would inevitably arise, “If I want to get together with a friend, where do I look for his phone number, and when do we all have free time?” We finally realized that we needed a central place to store all of this information and we needed a place that we could access from virtually anywhere.

After doing quite a bit of research, I decided to install e-GroupWare to hold all of the bits and pieces of information that we'd been struggling to manage. E-GroupWare is web-based groupware system that runs under a php-enabled Apache server and requires either a Postgresql or Mysql database backend.

After having used e-GroupWare (EGW) for over 2 years, I'd recommend that you use Mysql as the database backend. I initially installed it with Postgresql and have since found various functions that simply don't work, only to be told that they work with Mysql.

The installation and configuration of EGW is fairly straightforward and well documented in the HowTo guide (see resources at end of this article) so I won't discuss this any further. I think it's more important to discuss what you can expect to do with EGW once it's installed.

My primary motivation for installing EGW was for group calendaring and shared contact management, so I'll start by discussing EGW's calendar function.

Figure 1

Figure 1 shows EGW's full week calendar view. As you can see, events in EGW are color-coded according to what category I assign to the event. Each event has a tool-tip that displays more detail about a given event when you mouse over the event. The small calendar on the left can be used to quickly select any day, week or month of interest. The drop-down menu at the top left of the screen allows me to select different calendar views: daily, weekly, monthly, or by user or category. By using another menu on the left side, I can look at different user's calendars, or even super-impose a group of users' calendars onto the screen at one time. Finally, menus in the the lower left corner offer various configuration options.

You edit an existing event by clicking on it. You add a new event by clicking on an open time slot on the calendar. Either way, you will be presented with a window resembling Figure 2. As expected, you can supply a title for the event as well as date, time and location. You can also prioritize and categorize the event, as well as marking it as “private” so other users can't see the details of a given event.

Figure 2

By clicking on the “Description” tab at the top, you can add additional information such as an agenda, directions, or any special comment you'd like. Additional users or groups of users can be invited to an event by clicking on the “Participants” tab. When a user is invited to an event, the event shows up in their calendar and they receive an event invitation via email notifying them of the new event. The user can use their calendar to accept or refuse the invitation. Using the screen under the “Recurrence” tab, you can schedule an event to occur regularly according to various scheduling schemes. I can request an email reminder in advance of an event using the “Alarms” tab.

One of the neat features of EGW's calendar is the ability to link other EGW objects to an event. For example, if I create a calendar event to call a client, I can link that clients contact information to the event. Then when its time to make the call, I can click on the calendar event, click on the “Links” tab and see a link to the contact information. I can also link to other calendar events, Wiki entries as well as tasks and projects. These links are bi-directional so if I link a contact to a calendar event, I can see the calendar event links when I bring up the contact in the contact manager.

Since EGW is web-based, I can use my calendar from just about anywhere, home, work or while on vacation. This also means that my wife can check my availability at a particular time before scheduling family activities and such. As busy as we are as a family, it would be very easy for us to become double-booked if it weren't for the shared calendar function of EGW.

I do a fair amount of side work that entails meetings and deadlines but I still try to reserve time for myself and my family. Because of the sophisticated access control mechanism in EGW, I can give my business associates access to my calendar without having to give them access to the rest of the family's schedule. This allows them to see when I've scheduled to work on their projects and to schedule meetings without having to worry about infringing on my family's time. And since I host this system as a courtesy to them, they gain the benefit of a complete groupware system that they might not otherwise have the resources to implement.

Figure 3

The main contact screen is shown in Figure 3. EGW's contact manager supports multiple address books as well as multiple categories within each address book. Though there is a search tool, I've never actually had to use it. I usually use the tabbed index feature. First, I select either “Name,” “First Name,” or “Organization” at the top left, then I press one of the alphabet links across the top of the page. This displays all of the records, for example, who's last name begins with “D.”

To view or edit a contact entry, you click on the magnifying glass or pencil icon, respectively, located at the right of the screen. The contact entry edit screen is shown in Figure 4.

Figure 4

As you can see, EGW seems to be focused on business contacts. As with the calendar events, I can add detail information, categories and links to other EGW objects. I can also add “Private” address information to a contact, such as their home address. EGW supports multiple phone numbers for each contact as well as a work and home email address and website URL. When properly configured, EGW will also let you define custom fields to be associated with each contact. These custom fields could be used to store information that EGW doesn't normally store, such as anniversary date, IM addresses, etc.

I happen to use Kmail to read e-mail both at home and at work, so I wasn't particularly excited about EGW's webmail client, until I went on vacation and discovered that webmail access can be quite convenient. EGW's email client is called FelaMiMail. Linux seems to be plagued by strangely named applications for some reason. FelaMiMail supports both POP and IMAP. I use IMAP so I can tell you that EGW supports multiple folders, as well as filtering and vacation rules. FelaMiMail will allow you to send attachments and look up addresses in the contact manager.

Figure 5

Though quite functional, I don't see FelaMiMail as being as powerful as the rest of EGW. For example, I can't link an email message with a calendar event or contact record, though you can save an email into InfoLog, which I'll discuss next. Also, there doesn't seem to be any native support for encryption tools such as PGP.

At my house, FelaMiMail seems to be colliding with my Exim mail server's open relay configuration. I have Exim configured to only forward email from my domains because I understand that my ISP actively scans for open email relay servers. The problem comes when I compose an email to an outside address using FelaMiMail. FelaMiMail uses my Comcast address as it's source address and Exim, rightfully, refuses to forward the message. The correct solution would be to configure both Exim and FelaMiMail to use SMTP authentication, but I've just not had time to do it.

Task management in EGW can be done with 2 different applications, InfoLog and Project Manager. InfoLog is a Do-List management program that lets you track phone calls, tasks, and notes. You can even delegate an item to another EGW user and break tasks down into sub-tasks. Scheduling tasks is just like creating calendar events except that you don't have to associate a particular time with an InfoLog task, just the dates the task is supposed to be started, and completed. You can also track what percentage of the task is complete. InfoLog tasks are displayed on the Daily calendar view.

InfoLog allows you to grant access to your task list just like the rest of the EGW applications. EGW's Project Manager goes beyond mere task management and provides complete project management. By using Project Manager, you can track time and billing associated with a task and group tasks into projects. I've recently discovered that you can schedule tasks to be dependent upon other tasks so that one task doesn't begin until the prerequisites are complete. If your PHP installation has functional GD, TrueType, and jpgraph libraries, you can even coax Project manager to print out a Gantt chart of your projects.

The document manager in EGW is called MyDMS, (My Document Management System.) MyDMS allows you to upload whatever type of document you like. Once a document is in MyDMS, you can assign comments, access controls and expiration dates to it. Then, when you need to get that document, you simply download it from MyDMS. You organize documents by putting them in folders and sub folders, as appropriate. MyDMS will even notify you via email when a document is updated.

Figure 6

EGW comes with a built-in Wiki which is based on the Tavi Wiki system. (See Figure 6.) A wiki is a quick and easy way to collect and link random bits of information. For example, you could use the wiki to store project details, vital statistics, recipes, or even a diary.

Updating an existing page is easy. You simply click on the page you want to edit, then click on the edit link at the bottom. If you are using a supported browser such as Firefox, you will be presented with the WYSIWYG editor shown above. You can also use the simple wiki markup language which is easy to learn and allows you to create various document elements such as tables, outlines, external hyperlinks, and horizontal lines.

Adding and linking to a new page is ridiculously easy. All you have to do is edit an existing page and refer to the new page by giving it a name with MixedCase. When you save the document, you will find a question mark after the new page's name. When you click on the question mark, a wiki page is automatically created with the new name. Go ahead and edit the new page. When you save the page, you will find that it's already linked to in the parent document. It's harder to explain and visualize than it is to actually do.

The wiki system has a rudimentary access control mechanism, though it's not as sophisticated as most of the rest of EGW. You can allow other EGW groups, individual users, to be able to read or modify a wiki page. On the other hand, the wiki system will track revisions. You can see who made changes to a page, and what those changes were. The wiki will let you back out undesired changes.

The final EGW application that I'd like to talk about is the bookmark manager. Since most, if not all, browsers have a bookmarking feature, why do I bother to use EGW's bookmark manager? Well, I have a computer at work, a workstation at home, a laptop, and my wife has a computer. It's so much more convenient to be able to store links to those particularly useful sites in one central location. For example, it's nice to have a place to store links to educational material, online banking, software documentation, political organizations, etc. Now, no matter which computer I'm using, or where I happened to be, I can access my bookmarks.

I understand that EGW supports synchronizing the calendar, tasks list, and contact list with other PIMS such as Kontact, Outlook, Mozilla, and various PDA's. However I've never had a reason to configure this. In fact, I have good reason NOT to try this function. As it turns out, I use Kontact and a PDA while my wife uses Outlook. I've been hesitant to configure synchronization because I didn't want to have to deal with situations where one of our systems supported a feature that the others didn't. But in a more homogeneous environment, I think EGW's synchronization support would be very useful.

With as many features as I've covered already, it's hard to imagine that there is more. EGW has a lot of bundled applications that I simply don't use. EGW comes with a knowledgebase manager, a forum, a newsreader, a polling system, and a workflow manager, among others. Once the applications are installed, the administrator grants or denies access to the various tools according to the user's requirements. This means that my sons could have access to their calendar, and the wiki, while my wife and I would have access to the various other tools we use. Then there are third-party tools that integrate with EGW. I'm currently investigating the pERP package. The pERP package is a general ledger package can handle accounts payable, billable, invoicing, inventory and reporting. Alas, it only runs under mysql so I'll have to migrate my system from Postgresql to mysql.

As you can see, there is a lot to be had from eGroupWare. If your needs are more modest, you can simply use the calendaring and contact management tools to help organize your life. On the other hand, if you are involved in many different activities and perhaps run a home business, eGroupWare could prove to be invaluable, and it's open source.

RESOURCES:

eGroupWare homepage
http://www.egroupware.org/Home

Installation HowTo Guide
http://umn.dl.sourceforge.net/sourceforge/egwsec/How_to_install_and_secure_eGroupWare_05.pdf

pERP ledger system homepage.
http://www.projecterp.org/mediawiki/index.php/Main_Page

______________________

Mike Diehl is a freelance Computer Nerd specializing in Linux administration, programing, and VoIP. Mike lives in Albuquerque, NM. with his wife and 3 sons. He can be reached at mdiehl@diehlnet.com

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

eGroupWare and free resources

Simone's picture

Hi,
I'm making sme trie with eGroupWare. I want to use it to schedule my company'projects (it's a software house) and to assign task to my employes.
For example I have to insert a new project and and few tasks associated with it.
I can't understand how to find free resources (employes) to assign on tasks. How can I find them? I have to watch all theirs calendars o visualize all their gantts? Is there a generalized view?

Thank you and sorry for the english...;-)

Dependent Tasks

Alec's picture

How do you indicate that a task is dependent upon another task?

Constraints

Nathan Gray's picture

When you are setting up a task as part of a project in the ProjectManager, you can set constraints (Start after, End before, and Milestones) on the Constraints tab.

How it alll fits together...

Norm's picture

Mike's schedule sounds interestingly similar to mine except, I'm just getting started with Linux but have been thinking about a groupware package for a while. Suffice to say, your article peaked my interest.

I'm still in the early stages of learning linux therefore I ask for your patience.

I really like using the Kontact and all of the other tools that come with KDEPIM but I struggle to share the calendaring features. As a solution, I've been interested in this egroupware package for a while but I'm not sure on certain issues. For example, I'm wondering if Mike found it easier to install the egroupware package on a particular linux flavor over another? I'm currently enjoying the use of OpenSuse 10.3.

The purpose that you use Exim is? I'm thinking that Exim allows you to create a in house mail server which also allows for mail transfer to and from the outside mail servers. Oexternal mail addresses to be routed to internal or local mail addresses? For home use, is it not significantly less trouble/expense to create mail addresses from your Hosting site? I guess, I'm not clear on the purpose of Exim and also why not sendmail?

Lastly, is it significantly easier to use this package if you have LDAP setup on your server?

Thanks
Norman

Exchange

Anonymous's picture

Does this inter operate with Microsoft Exchange, or does that require manual synchronization?

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix