Working virtually with OpenGoo

Weboffice


The open source project OpenGoo wants to be the best web office around.

By Dmitri Popov

If you are a freelancer or small business owner, chances are you rely on email as your main communication and collaboration tool. Email is fine, but a dedicated collaboration suite like OpenGoo [1] can significantly improve your workflow and make communication with your colleagues and customers more efficient. OpenGoo provides a well-rounded and tightly integrated collection of modules that can help you to manage virtually every aspect of your daily work. More importantly, despite its advanced features, OpenGoo is straightforward in use, and strategically placed explanatory notes and tips provide excellent help when you are coming to grips with the suite's functionality.

Installing and Configuring

OpenGoo is based on the MySQL/PHP stack, so to install and run it, you need either your own or a hosted server that meets OpenGoo's requirements, which includes PHP 5.2, MySQL 4.1 with InnoDB support, and Apache 2.0. To install OpenGoo on the server, download the latest version of the suite, unpack the downloaded archive, and move the resulting opengoo folder into the server's document root. Then point your browser to the yourserver/opengoo/public/install address to start the installation and follow the provided instructions to complete the installation. Once you've installed OpenGoo and created an administrator account, use the specified credentials to log in to OpenGoo.

Before you can start using OpenGoo, you have to take care of a few additional things. The Get Started widget that pops up during the first run can help. Besides creating your company profile and updating your personal info, you have to create one or several workspaces that are designated working areas for each project, customer, or workgroup. In addition, the system automatically creates a personal workspace for every user (it has the username_personal format) that is accessible only by its owner.

Although OpenGoo is now ready to go, you might want to configure a few other settings. To do this, click on the Administration link to open the Administration module (Figure 1). Here you can add your customers (Client companies section) as well as create additional users and groups (Users and Groups sections). The latter is necessary if you plan to give other users access to your OpenGoo installation and control their access rights. By default, the Groups section contains only the administrators group, which provides full access to OpenGoo, so you might want to create a group with limited rights. To do this, click on the Add group link, give the group a name (e.g., users), then enable the desired permissions by ticking the appropriate checkboxes in the Permissions section.

Figure 1: The Administration module lets you tweak OpenGoo's settings.

Populating OpenGoo with users is equally easy: Go to the Users section, click on the Add user link, and fill out the required fields. When adding a user, you can choose to send an email message containing a welcome message and login credentials. This feature requires that OpenGoo is configured to send email, which can be done in the Configuration | Mailing section of the Administration module. By default, OpenGoo uses settings from the php.ini configuration file, but you can also specify an alternative SMTP server for sending email. While you are in the Configuration section, you can use the Modules subsection to disable OpenGoo modules you don't need. Finally, you can use the Administration | Cron events section to schedule specific events, like checking email, sending reminders, and performing backups.

OpenGoo Modules

OpenGoo's interface comprises two panes. The right pane provides access to the existing workspaces and tags. Here you can quickly add new workspaces, modify existing ones, manage tags, and locate items containing a specific tag. The main pane acts as a working area of the currently opened module, and the tab bar at the top lets you open any of the available modules.

The Overview module is OpenGoo's dashboard, which opens every time you log in to the system (Figure 2). As the name suggests, this module provides an overview of all your activities through several widgets, such as Late milestones and tasks, Pending tasks, Documents, and Latest comments.

Figure 2: The Overview module acts as a dashboard.

The Notes module is probably the most simple application of the OpenGoo bundle. Despite its apparent simplicity, Notes includes all the nifty features that tie the OpenGoo modules together. When you create a new note, the system provides a few options that let you configure various aspects of the note. By default, the note is attached to the currently selected workspace, but you can add it to any existing workspace using the Workspaces option. Using the Tags option, you can assign tags to the note, so you can find it later through the Tags pane. The Subscribers option lets you add users who receive notifications when the note has been modified. Finally, you can use the Linked Objects option to attach any existing item in your OpenGoo installation to the note, including other notes, bookmarks, documents, tasks, and calendar events.

The Documents module includes both document management and editing features. Using the module, you can create and edit word documents and presentations directly in OpenGoo (a spreadsheet application is in the works). The built-in word processor provides all the essential tools for creating richly formatted documents, but with a caveat: The documents created in OpenGoo can only be exported as HTML files, so if you want to edit the exported documents in desktop applications like AbiWord or Open-Office.org Writer, you need to convert them first. Fortunately, OpenGoo produces relatively clean HTML code, which makes the conversion process less cumbersome.

The Documents module makes a competent document management solution, too. The module can manage documents in virtually any format, and it provides tools that can help you collaborate and track changes made to documents. Once you've uploaded a document to the desired workspace, you can modify its properties, assign tags, attach objects, and make comments. When you want to edit the document, you need to check it out, to prevent other users from modifying the document while you have it, then download it to your machine. Once you're done editing the document, check it in, which creates a new revision of the document. Then you can use the module's revision-tracking capabilities to keep tabs on different versions of the document.

Figure 3: Tracking document revisions.

Besides the standard tools you would expect from a decent task manager, the Tasks module sports a few useful features of its own. In addition to tasks and subtasks, you can specify milestones, which can come in handy when managing complex projects. The Tasks module also includes a timer that lets you track the time you spent on a specific task. And using the Print button, you can generate a print-ready report containing a list of time sessions for the specific task.

The Time module provides another way of tracking the time spent on specific tasks and projects. The module itself consists of two widgets. The first contains a list of currently active tasks from the Tasks module, and you can use this widget to pause and stop each task, as well as mark it as complete. The second widget acts as a timesheet where you register your time manually. The clever part of the Time module is its ability to handle billing information, which can come in handy when you invoice your customers. For this feature to work, you have to create a billing category containing the hourly rate in the Administration module and assign it to a user. The next time you add a time entry for this user in the Time module, the system uses the specified hourly rate to calculate subtotals and the total of tasks from the Tasks module, as well as manual time entries. Then you can generate a detailed billing overview with the Total task execution time report in the Reporting module.

Speaking of reports, the Reporting module lets you create custom reports. For example, you easily can create a report containing information about documents updated by a specific user. To do so, switch to the Documents section of the Reporting module and press the Add custom report button. Next, define a condition, specify the Order by option, and select the columns you want to appear in the report. Before you save it, give the report a name and description. To run the report, click on it.

The Rest of the Pack

Besides the described modules, OpenGoo contains a few other useful applications. With the Email module, you can manage your email from within OpenGoo, and it supports both the POP3 and IMAP protocols. The Calendar lets you manage your events and appointments, as well as invite other users and track their attendance status. The latter can be useful when organizing meetings and multi-user events. The calendar displays not only events and appointments, but also tasks from the Tasks module, making it easier to keep tabs on your tasks. The Calendar module also supports reminders, and you can set OpenGoo to display pop-up reminders or send reminders via email.

Figure 4: The Tasks module lets you keep tabs on and track your time spent on each task.

Although the Calendar module doesn't allow you to pull data from other calendaring applications like Google Calendar, you can import events and appointments from a file in the iCalendar format. In a similar manner, you can export your calendaring data for use with third-party calendaring utilities.

Finally, you can maintain a bookmark collection in the Web Links module. Although this is not exactly mind-blowing functionality, the ability to link bookmarks to other items in the existing workspaces means that you can attach relevant links to a specific task, calendar event, or project.

Final Word

According to the OpenGoo website, the main goal of the project is to create the best web-based office on the market. Although it's not quite there yet, it's on the right track. Ease of use, a well-rounded collection of bundled applications, and a tight integration between different modules make OpenGoo a viable option for workgroups and freelancers alike.

INFO
[1] OpenGoo: http://www.opengoo.org/