Software optimize

Creating an Outlook Express killer the StarOffice way, part 4

In this Daily Drill Down, Bryan Pfaffenberger brings to light the little known, but feature-rich StarServer application. From installing StarServer to sharing calendars, here you'll find one of Linux's best-kept secrets.

What's keeping hordes of desktop computer users from migrating to Linux? An oft-repeated reason: the lack of anything approaching the convenience, ease of use, and feature set of Microsoft Outlook Express, an e-mail utility that includes e-mail, news, contact management, and scheduling capabilities.

Sun Microsystem's StarOffice suite, currently in version 5.2, appears to include enough of these features to offer a credible alternative to Outlook Express. As many Linux users have found, however, StarOffice falls down significantly in the usability department. You need to know lots of tricks, workarounds, strategies, and downright hacks to get StarOffice working to full potential.

In the previous three Daily Drill Downs in this series, you learned how to work StarOffice's e-mail module, StarMail, into something approaching the capabilities of Outlook Express's mail and contact-management features.
Creating an Outlook Express killer the StarOffice way, part 1Creating an Outlook Express killer the StarOffice way, part 2Creating an Outlook Express killer the StarOffice way, part 3
Now it's StarSchedule’s turn, one of StarOffice's least known, least documented, and—in all probability—least used modules. As you'll see, that's too bad. There's nothing about StarOffice that deserves unqualified praise, to be sure, but StarSchedule is one of StarOffice's more impressive modules. For managing your calendar, appointments, and to-do lists, it's reasonably full-featured. But the star of the show is the StarSchedule Server, a free network server package that's available for a variety of platforms (including Windows 95/98/NT/2000, Solaris, and Linux). Although there are lots of UNIX and Linux tools for creating shared, network-based calendars, it's StarSchedule Server's cross-platform capability—and StarSchedule's reasonably well-designed GUI interface—that gives it the edge. With a Macintosh version of StarOffice slated to appear in late 2000, the prospect of a truly cross-platform, standards-conformant answer to Microsoft Outlook/Exchange may well be in the offing.

What's so great about StarSchedule Server? In brief, StarSchedule Server enables you to pool all network users' calendars in the server's storage area, which, as you'll see, greatly multiplies StarSchedule's capabilities. With everyone's calendar based in a network-accessible setting, users can take advantage of a host of sophisticated features, such as scanning to see when other participants are free and automatically updating individual calendars with group event information. In addition, StarSchedule Server enables you to create shared calendars, in which two or more users have full read/write privileges.

This Daily Drill Down shows you how to get StarSchedule Server running on your Linux system. You'll begin by determining whether StarSchedule and StarSchedule Server can meet your organization's needs as an alternative to Microsoft Outlook/Exchange. You'll also learn where to obtain and install the StarSchedule Server, which isn't included (unfortunately) with the downloadable version of StarOffice. Then you'll learn how to configure StarSchedule Server to run on your network, how to create shared schedules, and how to create network versions of each user's schedule.

Introducing StarSchedule
StarSchedule may very well be the sleeper par excellence of the StarOffice suite. Unlike StarMail, the subject of previous Daily Drill Downs in this series, StarSchedule is reasonably easy to use; you can perform all advertised functions without resorting to a series of sparsely documented hacks and workarounds.

But StarSchedule isn't just a pretty face—it's also a network-based scheduling program, it's cross-platform, and above all else, it's free. If StarSchedule's capabilities meet your organization's needs, you could be looking at a Microsoft Exchange killer. To be sure, Exchange is much more than a network schedule server; it provides newsgroup, e-mail, video conferencing, and a host of additional features as well. But Linux already offers excellent server software in most of these areas, so there's no need for StarSchedule to reinvent the wheel.

Compared to Microsoft Outlook 2000 and Microsoft Exchange 2000, StarSchedule's calendar, events, and usability features compare very favorably indeed. Take a look at the list of advanced scheduling features of Outlook/Exchange that are fully supported by StarSchedule 5.2:
  • Access permissions
  • Access to address database
  • All-day events
  • Appointment filters
  • Appointment priority
  • Attendee list
  • Change duration and move events with drag-and-drop
  • Check spelling
  • Configurable participant list
  • Discontinuous days
  • Discontinuous weeks
  • Display recurring events
  • Drag-and-drop appointments to new times
  • Drag-and-drop files to schedule categories
  • Drag-and-drop mail to schedule
  • Edit entries directly on screen
  • Headers and footers
  • Import other scheduler formats
  • Link any organizer entry to a Web address
  • Link information across sections
  • Mark birthdays, anniversaries, holidays, and other important events
  • Multiple-day events
  • Multiple time zones
  • Outlook 98 import
  • Out-of-office time
  • Overlap warning
  • Print on both sides of paper
  • Print standard or customized paper sizes
  • Print to fit Avery Day Planners
  • Print to fit DayRunner Day Planners
  • Print to fit Filofax Day Planners
  • Print to fit Franklin Day Planners
  • Print to popular calendar sizes
  • Recurring events
  • Recurring meetings/tasks
  • Reminders
  • Repeating appointments
  • Rich text and attachments
  • Schedule archiving
  • Schedule overlapping events of varying duration
  • Search appointments for string
  • Secure files with multiple access levels
  • Send reminder e-mails to participants
  • Set reminder alarms
  • Single day
  • Standalone available
  • Supports networking
  • Task overview
  • Time display as busy
  • Time display as not in office
  • Time display as temporary
  • Update table of contents for new entry automatically
  • Use multiple type fonts, colors, sizes, bold, italics, underlining

Of particular interest is the list of some features in StarSchedule 5.2 that Outlook/Exchange don't support:
  • Extended search mode
  • iCalendar import and export
  • Synchronize Organizer information with Palm OS-based devices
  • Time display as free
  • Palm Pilot connectivity
  • Ability to work with industry-standard file formats

What's the downside of StarSchedule? Two words: contact management. As we discussed in previous Daily Drill Downs in this series, the StarMail contact manager is one of the more brain-dead utilities in the StarOffice lineup; the oddly organized Address Book omits a number of fields any business user would need (such as business street, city, and ZIP code) and handles imported LDAP "white pages" data in a way that can only be termed mediocre. StarSchedule's contact manager is one and the same with that of the StarMail Address Book, unfortunately. To be sure, it's quite possible to create a new contact management database from scratch using StarOffice's database tools, but such a database won't load into the hard-wired Address Book utility used within StarMail.

Introducing StarSchedule Server
StarSchedule Server is a separate, standalone server that runs independently of StarOffice—although, as you'll see, you’ll need to run StarOffice as well as StarSchedule Server if you want to make a shared schedule available. Because StarOffice consumes so much of a system's resources, you may want to consider installing StarSchedule Server (and StarOffice) on an unused, older Pentium system; as long as you have lots of memory (64 MB is my recommended minimum) and you're not using the system for anything else, the pair run speedily enough.

StarSchedule Server comes with an easy-to-use setup program that decompresses the supplied software, modifies your system, and launches the server daemons. One of these daemons is a mini-Web server. If you're already running a Web server on the standard Web port (port 80), you can specify a different port number for the schedule server. The server daemons must run on the same machine that's running the StarSchedule calendar that you want to share.

What does StarSchedule Server do? In brief, you get the following capabilities when the schedule daemons are running:
  • Remote administration: The server's owner can access the remote administration daemon from anywhere on the network. This capability requires the use of a JavaScript- and Java-enabled browser.
  • Shared calendars: The schedule daemon makes the shared calendar available to all users who possess the appropriate viewing rights and permissions. These rights and permissions are easily set and configured within the version of StarSchedule that's running on that machine.
  • Centrally stored individual calendars: Although users can continue to create their own individual calendars on their own computers, there are important advantages to creating and storing all users' calendars on the system that's running StarSchedule Server. As you'll see, doing so enables you to define access privileges to shared calendars. It also provides a convenient central location for administrative functions, such as data backup.

If you downloaded StarOffice 5.2 from Sun's site, don't look for StarSchedule Server in your StarOffice directory. StarSchedule Server isn't provided with the downloadable versions of StarOffice. The only way to obtain the server is to purchase the CD from Sun; you'll have to shell out $39.95 to Sun, plus another $6–$8 for shipping to U.S. addresses.

StarSchedule Server is easy to install, thanks to the setup program. However, note the following caveats:
  • You must switch to root user before installing StarSchedule Server.
  • Do not install StarSchedule Server in the same directory that contains StarOffice. If you do, neither program will work.
  • StarOffice 5.2 requires the 5.2 schedule server software. If you've upgraded to StarOffice 5.2, you can't use the 5.1 server software.

Configuring the server
Once you've installed StarSchedule Server, you must configure it by running StarOffice on the same machine that's running the StarSchedule Server. This is a rather convoluted and confusing procedure, as you'll see, but it works. Just be sure to follow the instructions carefully, and note that the instructions you'll find in most StarOffice books are flat-out wrong.

To create and configure a shared calendar, do the following:
  1. In StarOffice, open the Explorer and click the Explorer tab.
  2. Right-click StarSchedule and choose Properties.
  3. In the StarSchedule Properties dialog box, check Start StarSchedule With StarOffice.
  4. Click OK.
  5. Click the plus sign next to StarSchedule, if necessary, so that you can see Data Sources.
  6. Right-click Data Sources and choose New Connection.
  7. In the New Connection dialog box, type StarSchedule Server in the General page's text box.
  8. Choose Settings. On the Settings page, type localhost in the Server text box. Important: Leave the rest of the boxes blank. Do not enter a user name or password. Trust me on this one. You'll secure the server later.
  9. Click OK to create the connection.
  10. Right-click the connection you just made (StarSchedule Server) and choose Administrate.
  11. Choose Notification Via E-mail, and type the Internet domain name or IP address of your e-mail server.
  12. Click OK.

Securing the server
Now that you've created a connection to the server, you should password-protect the server by creating a password for the default administrative account, called Default User. This user has administrative privileges over all the calendars made available over the network. Note that the Default User and the additional user names you'll create have no relationship to user names defined by your Linux system.
  1. In the Explorer, click the plus sign next to My Computer, and right-click Default User. Choose Properties from the pop-up menu.
  2. In the User Properties dialog box, leave the Login text box blank. Type a password in the Password text box.
  3. Click OK.

Creating individual calendars on the server
Although individual users can continue to create their own StarSchedule calendars on client systems, it's best to create them on the computer running the server. Doing so enables you to determine access privileges for shared calendars, as you’ll see in the next section. For example, if your network's users are Randy, Sandy, Brandi, and Speedo, create four users with these names on the StarSchedule Server.

To create individual calendars on the StarSchedule Server, follow these steps:
  1. In the Explorer, right-click StarSchedule Server and choose New User. You'll see the New User dialog box.
  2. On the General page, type the user's name (such as Speedo) and click the User tab.
  3. On the User page, type a password for this user. Do not type the user name! The user name for this calendar is the same as the name you supplied on the General page (Shared Calendar). Be sure to give the password to the user!
  4. Uncheck Administrator so that this user does not have the ability to change the server's configuration.
  5. In the E-mail Address text box, type the user's e-mail address.
  6. The General Read Access check box is selected by default. With general read access, all the users defined on the StarSchedule Server can read anyone else's calendars, subject to the restrictions you specify in the next step. To prevent any other user from reading this user's calendar, uncheck General Read Access.
  7. Click Settings. In the Default Access Level list box, choose one of the following:
  • Confidential: Other users will see only the start times and end times of appointments.
  • Private: Hides all information from other users.
  • Public: Makes all information available to other users.
  1. Click OK to create the new user and the user's associated calendar and to-do tasks.

Creating a shared calendar
Now that you've defined StarSchedule Server users for all the people who will collaborate on the network, you can create a shared calendar. In a shared calendar, all members of the group can access and change the information it contains. By defining the general read access and default access levels, you can determine whether other users can view the information entered on the shared calendar.

Here's an example of how this works. Suppose Randy, Sandy, and Speedo are working on a new project called NSF Proposal, but Brandi isn't involved. Create a new user named after the project. To enable Randy, Sandy, and Speedo to access this user's calendar, you define them as Designates, as explained below.

To create a shared calendar, follow these steps:
  1. Right-click StarSchedule Server and choose New User. You'll see the New User dialog box.
  2. On the General page, type the name of the project (such as NSF Proposal) and click the User tab.
  3. On the User page, type a password for this calendar. Do not type a user name! The user name for this calendar is the same as the name you supplied on the General page.
  4. Uncheck Administrator so that the users of this calendar do not have the ability to change the server's configuration.
  5. In the E-mail Address text box, type the e-mail addresses of all the users who will share this calendar. Type the addresses in a comma-separated list.
  6. The General Read Access check box is selected by default. Given that other users may wish to see when this group of people is meeting, it's best to leave this box checked.
  7. In the Designates area, click Add.
  8. In the Add Designates list box, choose a user name from the list, and click OK.
  9. Repeat steps 7 and 8 to add all the users who will have full, read/write access to this calendar.
  10. Choose Settings. In the Default Access Level list box, choose one of the following:
  • Confidential: Other users will see only the start times and end times of appointments. In a large company, this is a good option for a shared calendar; it keeps the details private but lets people know when the project's participants are meeting.
  • Private: Hides all information from other users. This option makes little sense if you chose to leave General Read Access enabled.
  • Public: Makes all information available to other users. This option is a good choice for a small organization where everyone's involved and apprised of what's going on.
  1. Click OK to create the new user and the user's associated calendar and to-do tasks.

After you create the shared calendar, any of the designated users can open the calendar, add new events, and edit existing information. Other users will have viewing rights determined by the General Read Access and Default Access Level settings.

Configuring StarSchedule clients
Now that you've configured a shared calendar on the machine running StarSchedule Server, go to another system on the network that's running StarOffice and configure the StarSchedule client to access the server. Make sure users understand that they shouldn't use the calendar located on their local copy of StarOffice; instead, they should use the one that's located on the StarSchedule Server.

To enable users to access their individual and shared calendars on the StarSchedule Server, you need to create a connection, as outlined here.

To create a connection to the StarSchedule Server, follow these steps:
  1. In the copy of StarOffice running on the client machine, display the Explorer and click the plus sign next to StarSchedule, if necessary, so that you can see Data Sources.
  2. Right-click Data Sources and choose New Connection.
  3. In the New Connection dialog box, type StarSchedule Server in the General page's text box.
  4. Click Settings. On the Settings page, type the Internet address of the computer that's running the StarSchedule Server. Leave the rest of the default settings the way they are.
  5. Click OK. You'll see StarSchedule Server listed under Data Sources in the Explorer.
  6. Click the plus sign next to StarSchedule Server, if necessary, to display the shared calendar you created.
  7. Double-click the calendar icon to open the shared calendar.
  8. Click OK to create the connection. You'll see the shared calendar under StarSchedule Server in the Explorer. Double-click the calendar icon to open the calendar and view it on screen.

Administering StarSchedule Server
Bear in mind that StarOffice must be running on the server. If it isn't, StarSchedule Server won't be able to make calendars available over the network. Set up the server system so that StarOffice starts automatically in case of a power failure, and reboot.

You can perform administrative duties on the StarSchedule Server in either of the following ways:
  • Use a Java- and JavaScript-enabled browser to access the StarSchedule Web server (in the browser's Location or Address text box, type the server's IP address, and press [Enter]). If you defined an administrator password, type the password, and click Login. You can start and stop the StarSchedule Server daemons, define an administrative password, and redefine the default TCP ports for the StarSchedule Web and schedule servers.
  • If you installed the StarSchedule Server on a Windows system, you can run the StarSchedule Daemon Manager (choose Start | Programs | StarSchedule Server | Service Manager). You can use this utility to start or stop the StarSchedule daemons.

StarSchedule horizons
If you're new to StarSchedule Server, there's more to learn about using the scheduling (Events) and to-do list (Tasks) features. A future Daily Drill Down will delve into these procedures.

There's also more to learn about taking full advantage of the scheduling automation features made possible by StarOffice—but again, that's a subject for a future Daily Drill Down.
The authors and editors have taken care in preparation of the content contained herein but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.
0 comments