Redefining Mobile with Open Atrium
In the Atrium
Open Atrium provides an easy-to-use collaboration environment for small workgroups.
Clear your mind. Now think about the words mobile and open source and Linux. You are probably thinking netbooks, Android phone, or some Linux application interacting with mobile devices. My first instinct when considering the mobile apps theme of this issue was to look at Linux and FOSS programs that would interface with my BlackBerry. That or my wife's Motorola cell phone. So I started looking at synchronization tools, which led me to contact management, address books, and so on.
After looking at, and tossing aside, several ideas, it occurred to me that my notion of mobile applications has changed quite a bit. Mobility isn't just about contacts; it's about the conversations you have with those people when you aren't with them. Furthermore, it's about working with groups, not just chatting or texting the cute programmer on the second floor of Building 5.
Group communication and interaction in a mobile world is entering the fuzzy realm of the global network. Because it is web based, the gateway to working (and playing) within a group is your browser. The real magic, however, happens on that Linux server, somewhere in the fuzzy world of your own network. Group communication, like the classic reasons for travel, tends to fall into one of two categories. Like the friendly border guard says a thousand times a day: "Business or pleasure?"
And so I found Open Atrium, a fascinating project that calls itself "an Intranet in a box." Open Atrium consists of several modules that provide a powerful, ready-to-use collaboration environment. The Open Atrium environment is actually based on Drupal – one of the most popular content management systems in existence. In fact, you could theoretically create a Drupal site, assemble the necessary collection of modules, tweak them just right, create a professional-looking site, and redesign the user interface to achieve an effect similar to installing Open Atrium.
But why not save yourself several days of work and just use Open Atrium instead? By default, Open Atrium starts with six ready-to-use tools:
- Blog – a blogging tool with support for comments, notifications, and file attachments.
- Calendar – a handy calendaring tool with iCalendar support.
- Documents – a document collaboration and revision control system.
- Shoutbox – a system for sharing links and short messages. According to the Open Atrium project, Shoutbox is "kind of like a private Twitter."
- Case Tracker – a ticketing system for assigning and tracking tasks within the group.
- Group Dashboard – an interface for managing and monitoring the Open Atrium environment.
Open Atrium is simply beautiful and beautifully simple. As the administrator, you can define one or more groups, invite users, and let them get to work. The groups inhabit spaces where they share information, documents, events, and more. Every person who logs in can access the cool Dashboard tool to monitor group activity at a glance (Figure 1).
A workspace can be public, where anyone can visit the site, or completely private, in which case only registered members of the group have access.
Installing Open Atrium
To get started with Open Atrium, you'll need a Linux server with Apache, MySQL, and PHP (LAMP). If you are already running a LAMP server, head on over to http://openatrium.com and download the latest bundle. Extract it into your server document hierarchy and rename the resulting directory to something that makes sense in your environment:
tar -xzvf atrium-1-0-beta3-1.tgz mv atrium-1-0-beta3-1 myatrium
Also, you need to set up an appropriate Apache configuration for that host so that you can point to it (e.g., myatrium.mydomain.dom or mydomain.dom/myatrium). When you point your browser to that address, installation can begin (Figure 2).
If you have ever performed a Drupal installation before, a lot of this is going to seem familiar. If you haven't, don't worry. Once you have installed Open Atrium, you don't have to know Drupal. What's important on this first screen is to choose Atrium as the installation profile. After all, that's what Open Atrium is: a superbly appointed Drupal installation profile.
The second screen merely asks for a language. The default is English, but you have many choices. The third screen (Verify Requirements) reminds you that if you haven't already done so, you should copy the default.settings.php file (which is located under sites/default in the install directory) to settings.php. Also, you should make sure the file is writable by the web server user (usually www-data or apache, depending on your server). Once the configuration is complete, the installer will rename these files and change their permissions to read-only for security reasons.
The next form, which involves creating and configuring your database, asks you to enter a database name, a database user, and a password for that user, all of which must already exist. To create these, you need to use a web tool like phpMyAdmin or Webmin. Alternatively, you could just scoot down to the command line and work with the MySQL interpreter. The steps involve creating the database, as well as assigning a privileged username and password to access and update the database (Listing 1).
Creating a Database
01 $ mysql -u root -p 02 Enter password: 03 Welcome to the MySQL monitor. Commands end with ; or \g. 04 Your MySQL connection id is 253404 05 Server version: 5.0.51a-3ubuntu5.4 (Ubuntu) 06 07 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 08 09 mysql> create database atrium; 10 mysql> grant all privileges on atrium.* to 'someuser'@'localhost' identified by 'somepassword'; 11 mysql> flush privileges; 12 mysql> \q
Now you're ready to continue with the web-based installation, which includes some final steps for configuring the site. The Configure step asks for your site name (I'm calling mine Marcel's Atrium), your email address, and what will become the administrator account and password. Choose your default time zone (it may well be selected by default), and decide whether you want to run clean URLs (server-side configuration). By default, a box labeled Check for updates automatically is checked. This option is very handy, and I highly recommend that you leave it as is.
In the final steps, the Intranet modules are installed and configured; a progress meter tells you how swimmingly things are going. When the installation completes, click the link labeled You may now visit your new site to get started. This is where the fun really begins.
Setting Up a Group
When you log in for the first time, which happens as part of the installation, you are asked to create your first group (Figure 3). Give your group a title (e.g., Development Team 5), a description (e.g., Items related to our secret project), and a path through which this particular group and its content can be accessed; in my case, secretdev. The last thing you need to decide is whether this group is public or private. Public groups will appear in the site list of groups; private groups will not, so remember how to find it when you give it a name. Deciding whether a group is private or public also has some effect on the default features enabled for your group (more on that later). Given the nature of this project, I'm going to make this group private.
Before you click that Save button, look over on the top right at two labels, Authoring information and Publishing options, both of which will open up additional options if you click on them. Under Authoring information, you can change the group manager, the author of the group, and the date it was authored (or created). The default author is yourself, although you can assign another user as group manager. Perhaps you have your own reasons for selecting a date and time other than right now – I'll leave that one to you.
Under publishing options, you'll find three checkboxes: Published, Promoted to front page, and Sticky at top of group home page and other lists. Whether a document (or group, or …) is published or not is important in that it is the difference between sending out an email and saving it as a draft. Should you need to stop in the middle of that update of policies and procedures you are working on without showing your entire group, leave Published unchecked and save your work. Promoted to front page literally means that this particular post, in whatever form, will appear on the site's front page. Finally, Sticky means that it will remain at the top of the home page regardless of newer content being published to the front page.
Now that you have a group, you can create more groups (perhaps some public groups as well), announce the site, have users register, or register them yourself. Because the first user to register on the system is the administrator, you'll find that in the bottom right hand corner of every page, a little button labeled "Administer" is quietly waiting for your call. Depending on the amount of information on your page, you might need to scroll down to access it. After clicking the button, you'll find yourself looking at the administration interface (Figure 4). Most of what you see in the admin area is Drupal administration features organized and tuned for Open Atrium. For the most part, you probably won't need to spend much time in the admin area, but a few tasks do require administrator credentials.
One duty you can perform through the admin interface is adding users, but you can also create new user accounts through the Group Dashboard. From the dashboard, click the button labeled Settings. A drop-down list appears with the following options: Members, Group settings, Customize features, and Customize layout. To add users, click on Members.
The screen will switch to the members page, with four tabs labeled Faces, List, Add new account, and Add users. By default, it starts on the Faces tab with current users and their profile pictures (if they are set) visible. Click the Add new account tab to add a member. Fill in the username, enter the email address (twice, to confirm), and check off the role the user will play. In addition to a "regular" group member, you can specify that this person will act as a group manager, meaning she is effectively an admin for the group, or you can make her a site admin. A little farther down, you can write a custom welcome message for the user. When you complete the Add user form, an email message is sent to the user with a link for a first-time login.
If you scroll to the bottom of that page, you'll see that the current group is checked automatically for subscriptions. All your other groups should be visible as well. At this time, you can add the new user to any number of groups, regardless of whether you chose to assign a specific role to the individual. To finish, click Add, and to see the members in your group, click the Settings button again and select Members (Figure 5).
Buy this article as PDF
Kernel king admits his tone has alienated volunteers, but says the demands of the process require directness.
New flaw in an old encryption scheme leaves the experts scrambling to disable SSL 3
Lennart Poettering wants to change the way Linux developers talk to each other.
Enterprise giant frees itself from ink and home PCs (and visa versa).
Mozilla’s product think tank sinks silently into history.
TODO group will focus on open source tools in large-scale environments.
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.