Groove Tools
In this section we'll take a more in-depth look at the standard Groove tools. As a developer, you will be creating tools and toolsets of your own to solve specific problems. A careful study of these tools will help you develop the peer-to-peer mindset, keep you from reinventing the wheel, and give you an appreciation of what constitutes a "groovy" tool. The first tool you'll look at is the Calendar Tool.
Calendar Tool
Let's go to the Schedule tab of your Invitation space and schedule an event. You may want to hide the overview and hide chat to give yourself more room. Make sure you're in the Month view.
You'll notice that today's date is already highlighted. Now, follow these steps:
Click the New Event button at the top of the screen to bring up the New Calendar Event dialog. Notice that you can enter an event by manually editing the date and time entries. You can also add the date by clicking on the calendar icons, and can edit the time with the pull-down menus.
Create an event by typing My First Event in the Description field and editing the start time to be 8:26 a.m.
Go to the Day view. You can see that the Day view is marked off into half-hour blocks, yet the appointment start time clearly shows that the event starts before 8:30, alerting you to the unusual start time.
Go back to the Month view and highlight a range of days, right-click, and then select New Event. This brings up the New Calendar Event dialog with the range filled in. Give it a really creative name such as Test Event, leave the All Day Event check box checked, and click OK.
Select one of the days in the range, and go to the Day view. The first line below that date alerts you to your all-day event. Use the buttons in the upper-left area to scroll to a day outside the range, and you see the All Day line go away.
Edit the details of your event by double-clicking on the event to bring up the Edit Calendar Event dialog. You can also change the date by dragging the event to another day in the Month or Week views. In the Day view, you can drag the event to change the hour.
Drag the top margin of the event to change the start time. Drag the bottom margin to change the stop time. Both actions change the duration of the event accordingly. You can also cut and paste events.
Highlight the event and press the Delete key. The Delete Calendar Entry dialog comes up for you to confirm the deletion. Right-clicking the event and choosing Delete has the same effect. You can also cut, copy, and paste events.
Both the Month view and the Week view may not provide you with as much information as you would like about a particular event, so the Calendar Tool accommodates you in various ways.
If you hover your mouse over an event in any view, the details of that event appear in a yellow-shaded box. If you are in the Month view and want more information on a particular day's events, you can highlight the day of interest, then either pull down the View menu and choose Show Preview, or click the Show Preview button. This splits the Month view in the current window and opens a Day pane on the right. You can then interact with the Day view.
In addition to the Day, Week, and Month views, there are two others. Business Week is the same as the weekly view, but allows more space for the business weekdays. Likewise, Business Month provides more space for Monday through Friday events.
Unread Marks
Because the Calendar Tool was designed to be used in a collaborative environment, it supports Unread Marks. An Unread Marker indicates that a calendar entry is either new or changed since you were last in the Calendar Tool. This symbol makes it easy to keep up with changes when many people are using the tool. You can change this status from Unread to Read by reading the entry or by right-clicking the event and choosing Mark Read, or, to change all calendar markers at once, by choosing Mark All Unread from the Edit menu. You can also mark all read in a space from the Home page.
Creating Links
While using some of the other tools in Groove, you might want to refer other members to a particular event in the Calendar Tool. Highlight the event, and then, from the Edit menu, choose Copy Event as Link. Your link can then be pasted into any of the rich-text tools, such as Notebook, Discussion, Outliner, or Chat.
Exporting and Importing
An entire calendar or a single calendar event can be exported as an .XML file. Highlight an event to be exported, and choose Export and Selected Event from the File menu. A file browser appears that lets you specify the location of the event's .XML file. Choose All Events to export the entire calendar contents.
Importing is equally simple. Choosing Import from the File menu brings up a file browser. Locate the .XML file for the calendar or calendar entry and click Open.
The Calendar Tool is rich, robust, and redundant. There are many ways to accomplish every action, and the tool is wonderfully intuitive.
Calendar Tool Grooviness
The Calendar Tool is a good peer-to-peer application because it is an entity that is jointly constructed by the shared space members. It allows all participants in the shared space to see the constraints on each member's time. It defines the timing for any activity that takes place among the participants. The tool supplants the countless emails and telephone calls that would be necessary to accomplish the same objective without the tool. Unlike a server-based scheduler, you can make changes offline and they will be incorporated in all connected members' calendars when you connect.
Each Groove tool has a view, which is a visual representation of the data that the tool contains. That information is arranged within the view through the use of layouts. The Calendar Tool is a great example of the use of multiple layouts to present the same information.
Contact Manager
Groove's Contact Manager manages contacts inside a shared space. It is different from My Contacts, the Contact Manager for the Groove Application. If you have established a shared space named Troubled Teen-aged Boys, you might not want to share your personal contact information for your teen-aged niece.
Although it is both possible and easy to move contact information between My Contacts and a shared space's Contact Manager, My Contacts are never shared with others, whereas the Contact Manager shares contact information with members of a particular shared space. Your Troubled Teen-aged Boys shared space might display a contact for Dr. Brendan Leeds, noted psychologist specializing in adolescence, but Dr. Leeds might not be in your My Contacts at all.
One of the first things you and members of your shared space will want to do is add contacts to your Contact Manager. You can add contacts in one of three ways: by adding a Groove contact, copying and pasting a vCard, or importing a vCard.
Adding a Groove Contact
The first and easiest way to add a contact is to add one of your Groove contacts. If you click the Add Contact button, the Select Contacts dialog box appears.
You have seen this dialog before when you were adding contacts to My Contacts. Select a directory from the Look In: pull-down menu, and then add search text, if necessary. Highlight the contact information you want to add to the shared space, click the Add button, and then click OK. The contact now appears in the contacts pane of the Contact Manager and is shared with all members of your space. Selecting your new contact from the contacts pane displays that contact's vCard.
If you choose the Add Email Contact line from the File menu, you open the New Contact dialog. Enter all the information you want or have into this form, and a display card is created for the new contact.
Copying and Pasting a vCard
The second method involves adding contacts by copying and pasting a vCard. Open the shared space you want to add the contact from, and right-click on the name. Select the Copy option to copy the vCard. Next, open the space you want to add the contact to, and paste.
Importing a vCard
The third way to add a contact is to import a vCard. You might have an email from a contact that includes a .VCF vCard file from Microsoft Outlook in the person's mail, or includes it as an attachment. Go to the File menu and select Import to bring up a file browser, select the .VCF file, and click Open. The contact appears in your Contact Tool.
Keeping Track of Changing Information
Remember that you or any member of the shared space can add contacts, so, again, Groove provides a way to alert you of changing contact information in the space with Unread Markers. The Edit menu provides the tools you need in order to manage Unread Markers, and the last three icons on the right are tools to scroll the contact list to find Unread Markers. The far-right icon toggles all selected contacts as read or unread.
Managing Contacts
After you have Groove contacts entered into your shared space Contact Tool, you can use the tool to manage many aspects of communication in the shared space.
If you highlight a Groove contact and click the Send Message button, the Groove-Send Message dialog is launched. You can send your contact a Groove Instant Message with either a text message or an audio message and can attach URLs and/or file attachments. If your contact is an email contact, you can right-click on the selected contact to launch the message window of your default mail program. The Invite to Chat button lets you choose one of your identities to initiate a chat with a contact. Invite to Chat is, of course, available only to Groove contacts.
The Invite to Space button brings down a list of the spaces of which you are a member and automatically issues an invitation to that space.
The Add to My Contacts button lets you include in your My Contact database contacts that others add to the space. It's an easy way for you to leverage the useful contacts of the members of your shared spaces.
The More button contains various utilities, some of which we have already covered:
Send vCard lets you email a vCard to someone not in your space. It brings up the message window of your default mail application and attaches the selected vCard.
Alias is an interesting feature that allows you to rename one of your contacts for display to distinguish between two people with the same name, or to jog your memory about who they are. You could cause someone to appear in your contact list as Numbskull {Johnny}, or as The Fly Fisherman {Tom Hodges}.
If you are using the regular version of Groove and you were the one who created the space, you will be able to assign permissions to members and uninvited members. If you uninvite a member, Groove revokes the membership and removes the member's name from the Member panel.
Finally, if you are using the regular edition of Groove, you can start a Microsoft NetMeeting conference by selecting the members you want in the conference, going to the Contact menu, choosing the Launch menu item, and selecting Microsoft NetMeeting. Microsoft NetMeeting launches and calls your selected members.
Contact Manager Grooviness
The Contact Manager is a good peer-to-peer tool because it creates a shared resource. All participants now have the information that was previously known to perhaps only one of the members. Because each contact is important to the subject matter of the shared space, the shared space becomes more powerful.
The Contact Manager uses an IGrooveVCardViewer that is constructed in the controlling code of the tool. When you click on the arrow keys, the scripted IGrooveVCardViewer clears all the information in a card layout and replaces it with new information. This approach is different from using multiple layouts, and demonstrates some of the power of the code.
Discussion Tool
The Groove Discussion Tool looks like an Internet message board. Like a message board, the Discussion Tool lets you create a main topic with responses to that topic, and responses to the responses. Because of its hierarchical nature, the Discussion Tool maintains a thread of conversation. Unlike chat, whose conversations tend to be less structured, the Discussion Tool lets you keep a permanent history of the conversations among shared space members.
Using the Discussion Tool
To try this tool, follow these steps:
To create a topic in the Discussion Tool, click the New Topic button. In the Subject: line put in some neat text like Test Subject; then move your cursor down to the message area and type some supporting text. At the end of the text, type http://www.groove.net.
Select one of the words from the supporting text you just entered, and right-click on it. Under the menu items Font and Paragraph, you see enough formatting tools to keep your entries quite beautiful.
Save your topic. After your topic has been saved, you can still edit it. Click the Edit button, delete the link to Groove.net, and click Save again. This method works for simple word edits, but for more complex tasks you can double-click the topic to open it in a maximized edit window. Here, you can use the Attachment button to bring up a file browser and attach a file to your topic. Save your topic.
You use a similar procedure to respond to a topic. Click the Respond button, and you see the maximized edit window with the subject line already filled in. Respond to the topic with some text and click Save.
Notice that the response is indented from the topic, clearly showing the hierarchy. Create another response to the topic by highlighting the topic and then clicking the Response button.
When you save your second response, you see that it is at the same level as the first. Create a third response, but this time highlight the last response you saved. Save this one, and you find that you have responded to a response, not to the main topic.
It is quite easy to create links to this discussion response that can be followed from other Groove tools. Double-click your last response and then click the Copy as Link button. As you do, a link to this response is placed on the Clipboard. This link can be pasted into any of the Groove tools that support rich text: Chat, Discussion, Notepad, and Outliner.
Edit the main topic, paste the link (Ctrl+V), and save. Now clicking the link in the main topic brings you directly to the response.
Notice that the http://www.groove.net is now a live link to the Groove Web site. Clicking the link launches your default Web browser to the linked page.
Unlike the Outline Tool we'll cover later, the Discussion Tool does not allow you to move or promote responses. If you respond to the wrong topic, all you can do is copy the body text of the response, create a new response to the right topic, paste the body text, and then delete the incorrectly placed response.
The Topics List and the Body Window
The Discussion Tool has two main windows: the Topics List window and the Body window. Between the two is a splitter. Moving the splitter bar changes the relative sizes of the Topics List and Body windows. Enlarging the Body window makes it easier to read long responses without scrolling.
The Topics List can be sorted on each of the three columns. Click the column to switch the sort order between descending, chronological, and by order of creation (that is, the order in which topics were added to the discussion).
You can expand and collapse the Topics List to show only the topics or to show the topics with their responses, with the two buttons on the far right. You can also hide or show responses for each topic by clicking on the plus or minus signs to the left of the subject.
Unread Markers
The Discussion Tool supports Unread Markers. Of all the Groove tools, Unread Markers are the most valuable here. A discussion can grow quite large in a space with many members, and it can rapidly become difficult to keep up. Unread Markers let you scan only the changes rather than rereading entire discussions.
Exporting and Importing
You can export discussion topics to a file into three different formats: Structured Text, Tabular Text, and XML. Structured Text is a format that includes all the information in the file, even information useful only to Groove. Tabular Text exports a tab-delimited ASCII file that contains only the information contained in the Topics List. Binary XML exports an XML file that Groove can use to re-create a discussion topic in another shared space.
The Binary XML file can be imported into other shared spaces. To import, select the topic under which you want the new topic to appear, and choose Import from the File menu. This opens the Import File dialog box. You can browse to the appropriate .XML file and click Open to place the topic in the current discussion.
Deleting Topics
You can delete a discussion topic by selecting it and clicking Delete. Deleting a topic also deletes all of its associated responses.
In the regular version, in which Roles and Permissions are enforced, your ability to accomplish some of the preceding tasks may be limited or non-existent, depending on your role.
Discussion Tool Grooviness
The Discussion Tool is included in Groove's core tools because it enhances the group's ability to interact. By providing a persistent record of a discussion, and the capability to refer to a specific part of it through links, this tool allows participants in the shared space to remain focused on the shared space's objective. Unlike an Internet Message board, this discussion takes place in a secure environment among invited members.
Groove tools use engines to save the tool's data model and to reflect the changes in remote instances of the shared space. The Discussion Tool is one of the best examples of the use of Groove's Record Set Engine, a Groove-supplied database component widely used throughout Groove to persist and disseminate data.
Files Tool
The Groove Files Tool lets you manage, store, and share any type of computer file with members of a shared space. Of course, the members' ability to open and use the file depends on whether they have an application appropriate to the file type. You will find that the Files Tool is one of the most frequently included tools in your own shared spaces.
In the regular version of Groove, a few file viewers are included so that people without Microsoft Word, for example, can read the file even though they do not have the application.
The regular version also supports Roles and Permissions so that permissions can be applied to different actions in the Files Tool. You might not want everyone in the space to be able to edit or delete the mission statement your members labored over for three weeks.
In the Files Tool, permissions can be set on a perfile-folder basis. In the regular version, you can right-click on a folder and select Permissions to see the actions your role allows you to take within the selected folder.
File Organization
Files in the Files Tool are organized into folders. The default folder for the tool takes its name from the tool tab. For example, if the tool tab is labeled Documents, the default folder is called Documents (Root Folder). You can place files directly into this folder, or you can create a new folder by right-clicking on the files pane and selecting New, then Folder. A new folder will be created that you will be prompted to name. This Windows Explorerlike functionality makes it easy to keep your shared files in each space organized.
You can add files in the Files Tool by selecting the folder in the Folder List and clicking the Add Files button. A file browser opens and you can select the files you want to add. Clicking Open puts the selected files into the selected folder.
You can also add files by copying them in Windows Explorer and pasting them into the appropriate folder of the Files Tool. You can also drag-and-drop from Windows Explorer.
Opening a single file is simplejust double-click it. If you have the required application, it launches. If you don't, the Windows Open With dialog box is shown. If you want to open several files simultaneously, you can select the files, right-click, and select Open. You can also right-click and select Quick View if you have the regular version of Groove.
Working with Files
A right-click and a Print choice cause the application that created the file to launch and print the file. Selecting the files with Shift-click or Ctrl-click prints multiple files.
As with Windows Explorer, you can copy, paste, or delete selected files, either from the icon buttons on the toolbar or from the File menu. You can also change the display of files to the common choices in the View menu of Windows Explorer: Large Icons, Small Icons, List, or Details.
You can also right-click on a folder or file and select Copy as Link to designate the link target. That link can then be pasted into any of the rich-text tools of Groove.
Conflicts
One intriguing problem that comes up as a result of using the Files Tool in a shared space is conflicts. There is nothing to keep you and other members with proper permissions from editing the same file at the same time. When the first person finished saves the file, the file is simply saved. But how about when the second person or subsequent authors save?
Groove deals effectively with this potential conflict. The second or subsequent author sees a Conflict Resolution notification, shown in Figure 3.6.
Figure 3.6 The Conflict Resolution notification.
The Conflict Resolution notification tells you who changed the document last, and tells you that your changes are being saved in another file with your name appended to it. When conflicts occur, it is essential that the authors meet and discuss how the changes will be merged. This is much easier to do at the beginning of the conflict than it is when many authors have made many changes to many copies.
When changes have been made to documents that do not result in conflicts, an Unread Marker appears. You can then open the document and find the changes. Managing of Unread Markers is the same here as it is in other Groove tools.
Files Tool Grooviness
The Files Tool is probably the tool that is the most visible expression of the peer-to-peer movement. Napster's sharing of music files put peer-to-peer on the public's radar. Although the purpose of Groove is not to serve as a vehicle for the evasion of copyright, its use of file sharing is no less significant. Shared files, especially those that can be jointly created and edited, are core to the whole concept of online collaboration.
The Files Tool uses a special-purpose engine called the GrooveDocumentShareEngine. The controlling code, or glue code, for this tool is substantial and relies on several Groove Script Library (.GSL) files and TYPELIBS. .GSL files allow developers to move script out of the templates and into separate files containing only glue code.
Outline Tool
The Groove Outline Tool is a very robust outlining tool that has been designed to work in a collaborative environment. It makes a great brainstorming tool. All members of the space can generate ideas and include links to resources by entering new records. Then, those records can be manipulated to force the unstructured ideas into a formal, hierarchical outline.
Ideas are entered into records. The first record is ready to have data entered into it when the tool appears, but subsequent records must be inserted. To insert any record after the first, press either the Enter key or the Insert key, and then type the idea and press Enter again to complete the record and begin a new one. You can continue to do this until all your ideas have been entered, or you can select a record and press the Enter key to begin a record below the selected record. After all records have been entered, you can very easily manipulate the hierarchical structure.
Working with Records
You can select individual records by clicking anywhere in the record and pressing the F2 key. You can then select records contiguous to the first either by pressing the Shift+up-arrow/ down-arrow keys, or by Shift-clicking. Noncontiguous records can be selected with a Ctrl-click.
To promote (move to the left) a selected record, you can either press the Shift+Tab keys or click the left-arrow button located on the tools panel. To demote records (move to the right), either click the Right Arrow button on the tool panel or press the Tab key.
You can also move selected records up or down the list with the Up or Down buttons. Moving an entry up or down the list maintains that record's hierarchy. A record can be moved up or down only if it can do so without violating its hierarchical level. As with the Discussion Tool, an outline can be collapsed or expanded by clicking on the +/- buttons of parent records, or by clicking the Expand or Collapse icon buttons on the toolbar.
In some situations, it might be necessary to know which of the space's members added the record and when. If so, this information is available from the View menu. Choose Show/Hide Details to see this information.
Records can be deleted by highlighting the record and pressing the Delete key, or by selecting Delete from the Edit menu.
You can make any record the target of a link by using the Copy Row as Link selection from the Edit menu. This command places the link on the Clipboard to be pasted later into any rich-text Groove tool.
Importing and Exporting
You can also import or export records. You can export selected records as an XML file (File, then Export Rows as XML) if you want to use these outline entries in the Outline Tool of another shared space, or as a text file (File, then Export Rows as Text) if you want to move the outline to a text editor. Each record in the text file is separated by a carriage return, and hierarchy is preserved with tabs. Author and creation time and date also are exported.
If you choose Export Rows as XML, a binary XML file is created that can be imported through the File menu. Text files can also be imported. Each carriage return becomes a new record and each tab is translated to hierarchy, or indentation. The author of each record is whoever imported it, and the creation date and time are the date and time of the import.
Unread Markers
When changes have been made to the outline by other authors, an Unread Marker appears beside the changed record. Management of Unread Markers is the same here as it is in other Groove tools.
Outline Tool Grooviness
One of the primary reasons for collaboration is to bring the thoughts of people to bear on a problem or an opportunity. A synergy develops in which the collective thinking of the group is often far more creative than the thinking of individuals. The Outline Tool facilitates and formalizes group thinking.
The GrooveDataViewerTool controls the visual structure of the outline data. The GrooveDataViewerTool provides a collection of interfaces for accessing, modifying, and displaying Groove record-based data, and it is made up of a DataViewer and ModelGlue. The DataViewer provides for display and editing of hierarchical record data, whereas the ModelGlue provides interfaces for modification of the underlying data set.
In the case of the Outline Tool, the underlying data is persisted and disseminated by a RecordSetEngine.
Pictures Tool
The Groove Pictures Tool lets you share and manage pictures with the other members of your shared space in either .JPG or .BMP format. You can use the Pictures Tool as a slideshow in your shared space, or you can link pictures to other Groove rich-text tools such as Chat, Discussion, Notepad, and Outline Tools. You can use these links to illuminate difficult-to-describe portions of your written documents.
Using the Pictures Tool
When you first bring up the Pictures Tool, you are presented with a blank picture viewing area. Click the Show Picture List button and the window is split into two areas: the Picture List and the Viewing Area. Pictures that are moved into the Viewing Area are automatically scaled to fit.
Click the Add Pictures button. You are presented with a Windows Explorerstyle file browser where you can designate a file or files to be added.
You can drag-and-drop pictures from Windows Explorer into either the Picture List or the Viewing area. You can also copy and paste files into either area.
When you drag-and-drop or paste files from the Clipboard into the viewing area, the image presented does not change. The pasted image is inserted at the end of the current file list, so you can see the image only if you either scroll to the last picture or select the file from the Picture List.
Although it is possible to paste an actual image into the Picture List, this is not a good idea because the image is always pasted in .BMP format and is uncompressed. Your Picture Tool can be quickly swamped by multimegabyte files that are inconvenient on your own computer but a huge mistake in a shared space that depends on bandwidth for performance. Anyone who downloads your shared space will appreciate well-compressed .JPGs.
You can view the pictures by selecting one from the Picture List or by scrolling through the pictures with the arrow keys in the Viewing Area. If you change the names, either by clicking in the title box or by choosing Rename Picture from the Edit menu, you can convert the filenames to captions and create an effective slideshow.
Editing Pictures
If you have a picture-editing program that has Windows file associations with .BMP or .JPG files, you can edit the pictures in the Pictures Tool by right-clicking the picture, then choosing Open. Your image-editing program then launches with the picture open. After editing, save the file.
Inside the Pictures Tool, the image will not have reflected your edits. You need to manually refresh the image by selecting another image, then reselecting the first. Your changes are then reflected in the image.
You can save individual pictures to their own files by using the Save Picture As dialog box, which can be accessed from an icon on the toolbar or through the Export choice from the File menu.
Copying and Deleting Pictures
You can copy pictures by placing the picture on the Clipboard. To do so, click the Copy icon button on the toolbar or select the Copy choice from the Edit menu. These can then be pasted into an external image-editing program.
You can also copy pictures by file. Right-click one or more pictures in the Picture List and select Copy from the Edit menu. Navigate to the desired location for the file in Windows Explorer, and paste.
If you want a copy to remain in the Pictures Tool, click Paste from the Edit menu. The file, prefaced by Copy Of, is added to the end of the file list.
You can delete files from the Pictures Tool by selecting the picture or pictures from the Picture List and clicking the Delete icon button. You can also cut the files.
Creating Links to Pictures
Creating links to pictures is very similar to the way it is done in the other Groove Tools. Select the picture and right-click it. Choose the Copy as Link option. Then navigate to the rich-text location of your choice. Insert the cursor and right-click again. Choose the Paste option. Pictures as links in rich-text documents can be extremely powerful tools.
Unread Markers
When other authors make changes to a picture or to the Pictures Tool, an Unread Marker appears beside the changed picture. You can use the Next Unread and Previous Unread choices in the View menu and their associated keyboard shortcuts to quickly scan your spaces for changed or new pictures.
Pictures Tool Grooviness
The Pictures Tool creates a shared visual repository to which every member can contribute. Images can frequently mean the difference between understanding and confusion. Providing pictures within a shared space is another example of facilitating collaboration through shared resources.
The Pictures Tool uses the Groove Image Control to display the pictures. The layout that displays both the pictures and the Picture List contains a splitter. A splitter divides a window horizontally or vertically and can be adjusted to resize the windows.
Notepad Tool
The Groove Notepad Tool is a text editor that was designed for collaboration over the Net. If you are in the Notepad Tool in a shared space with another member, you see the letters appear in your instance of Notepad when the other person types.
There is nothing to stop you from typing, formatting, or making edits to the shared document at the same time other members are also using the tool. Because every change to the document is immediately promulgated to all the other members, both the performance of the system and the efficiency of communication can suffer. Most often, it makes sense to use this tool either one at a time or offline.
If you click the Groove button in the system tray and select Work Offline, you can write, format, or edit your document. When you have finished, toggle the Work Offline choice back on. At that moment, your edits are relayed and synchronized in the shared space, and other members can see your work.
The Groove Notepad Tool synchronizes the shared space by merging your changes to the document. Because it is possible for two members to edit the same word at nearly the same time, Groove uses the most recent edit.
The behavior of the Notepad Tool differs from Chat: Notepad is simultaneous communication whereas Chat is sequential.
If you are working in the regular edition of Groove, you can use Roles and Permissions to manage the number of people who can edit a Notepad document.
Using the Notepad Tool
Enter text into the Notepad Tool by typing or copying and pasting text from another program. After the text is entered, you can format the font or the paragraph style of your selected text. The Format menu contains choices for Typeface, Size, and Color. The More Colors choice from the Color entry in the Format menu launches a Windows Color dialog box that allows you to choose from an unlimited number of colors.
The Format menu also contains bold, italic, underline, and strikeout styles. The More Fonts choice from the Format menu launches a standard Windows font dialog box. Paragraph formatting can also be done from the Format menu. Choices include left, center, and right alignments; indent controls; and bullets.
You can also use the bold, italic, or underline icons from the toolbar for font formatting, and the left, center, and right alignment icons for quick paragraph formatting. Bullet and indenting icons are also on the toolbar.
The Notebook Tool makes it easy to include links to URLs in Notepad documents. The Detect URLs choice in the View menu causes URLs like http://www.groove.net to appear as live links.
You cannot print from the Notepad Tool. Instead, select all text in the document and then cut-and-paste into another program.
Notepad Tool Grooviness
If you have a Microsoft Word document in your Files Tool, you might want to create/edit a paragraph for it in real-time with other members of the shared space. You can jointly compose the text and then paste it into the shared document. That is a Groovy use for the Notepad Tool.
The Notepad Tool uses the GrooveTextTools component, which contains interfaces and classes for manipulating and rendering rich text. The formatting of the text is controlled through the Groove toolbar at the top of the window. The glue code for the Notepad Tool is controlling the images that appear in the toolbar and the functions of the buttons.
Sketchpad Tool
The Groove Sketchpad Tool is used to create and share sketches in a shared space. Like a whiteboard at an in-person meeting, the Sketchpad can be extremely valuable to an across-the-Web meeting. It is a full-featured tool with enough options to support your artistic talents.
Using the Sketchpad Tool
To try using the Sketchpad Tool, follow these steps:
You can begin your drawing by setting a background image. When you click on the background image icon, a file browser launches. Locate the .BMP or .JPG you want to use as a background image and click Open. The image is automatically scaled to fit in the current drawing. You can use the image as part of your drawing, or trace it with the drawing tools, and then remove it later. Use the Remove Background Image option in the File menu, or click the Remove Background Image icon button.
You'll want to set your line color and your fill color for the shapes you'll draw. Click on the Line Color or Fill Color icon buttons or choose those options from the Draw menu. In addition to the 16 standard colors, the More Colors entries launches a standard Windows Color dialog, allowing you to set unlimited colors if the standard colors are too restrictive.
Choose a shape from the menu of shapes: rectangle, rounded rectangle, circle or ellipse, or polygon. Click and drag on the drawing surface to draw all the shapes except the polygon. Use the polygon tool by clicking and dragging to form line segments. Click at the end of a line segment to continue the shape; when you have connected the end of a line segment to the beginning of the first segment, the shape is completed and filled with the selected fill color.
Use the text tool to add text to your sketches.
Working with Lines and Shapes
The Sketchpad Tool gives you two options for lines. Use the straight-line tool for straight lines, and use the freehand tool as you would use a pencil.
You can select shapes using the selection tool either by clicking on a shape or by dragging a rectangular marquee around one or more shapes. Deselect shapes by Shift-clicking with the selection tool. A selected shape displays eight resize points around it. Click and drag on these points to resize the shape vertically, horizontally, or diagonally.
Click in the center of the shape and drag to move a shape. You can move multiple shapes if they have all been selected. You can delete any shape by selecting it and either selecting the Delete option from the Edit menu or pressing the Delete key.
Naming and Deleting a Drawing
When you are finished, you may want to name your drawing. Double-click in the title box in the upper-left part of the drawing area, or select the Rename Sketch option from the Edit menu.
When you click the New Sketch button, a new drawing area appears and the scroll status text changes to 2 of 2. You can click the left scroll arrow to redisplay your sketch.
You may want to erase your drawing and start over. Use the Delete Sketch choice from the Edit menu to delete the current sketch.
Unread Marks
The Sketchpad Tool supports Unread Marks, so you can use the icons on the toolbar or the Next Unread and Previous Unread choices from the View menu to step through the changed sketches.
Sketchpad Tool Grooviness
The Sketchpad Tool is an extremely Groovy tool. Nothing assists collaboration more than a tool that lets people interact with each other in a graphic way. This electronic shared whiteboard allows people to communicate with each other in a manner nearly impossible, except face to face.
The Sketchpad Tool uses multiple engines. It uses its own custom engine to disseminate and persist sketches. The Background Image importer uses the Document Share engine, and the Navigation Bar uses an Artifact Engine.
Web Browser
The Groove Web Browser Tool lets you browse the Web alone or with other members of your shared space. If you choose to Browse Together, all members of the shared space have their browsers synchronized with each other, and all see the same pages. Use this option for shared Web tours.
Most of the features that display in your Web browser are derived from your default Web browser. For example, if your default browser is Internet Explorer 4 or higher, you can avoid typing the http://www. part of a Web address in the address box. If your default browser is Netscape, you can't.
Saving Favorites
In the Groove Web Browser you can save the current page as an Internet shortcut or favorite. To do so, follow these steps:
Click the Favorites icon button to open the Favorites pane, and then click the Add Favorite button. The Add Favorite dialog box is launched.
Click the New Folder button to keep your favorites organized. Select the folder you created in the folders pane and click Add. Your new shortcut now resides in your newly created folder.
You can put a link to this favorite on the Clipboard by clicking the Copy as Link icon button on the toolbar. The link can then be pasted into any Groove rich-text tool.
Close the Favorites pane by clicking the Favorites icon again.
Navigating
As with other browsers, you can use the arrows on the toolbar to navigate through your Web page history. The back arrow is available only if you have opened at least two Web pages. The forward arrow is available only if you have clicked the back arrow at least once.
As with other browsers, you can also pull down a list of the pages you have visited by clicking the arrow icon at the end of the address box.
The Stop Transmission icon button lets you stop the retrieval of a Web page if it is taking a very long time and you suspect problems.
The Refresh icon button lets you refresh the current Web page.
Browsing Together
The whole reason for having a Web browser in a collaborative environment is to be able to browse together. There are two ways to do this:
If you click the Browse Together button on the toolbar, the browser synchronizes for all members in the shared space, and a member can lead others on a Web tour. Members can then discuss the contents of the Web pages without worrying whether all members are on the same page.
If you click the Navigate Together check box under the leftmost panel, the shared spaces of members whose check box is checked are synchronized, and all tools for those members are in identical states. When one person moves to another tool, all move.
Unread Marks
The Web Browser Tool supports Unread Marks for favorites. You can scroll through new or changed favorites from the icons on the toolbar, or from the last two entries on the View menu.
Security Issues
Because it was designed to be a collaborative tool, the Web Browser has a few limitations due to security. If you fill out forms in the Web Browser Tool, other members will not be able to see your entered information.
Also, you cannot access password-protected sites that are open only by subscription, nor can you browse to any secure site.
Web Browser Grooviness
The Web Browser Tool is at its grooviest in the Browse Together mode. Operated in this mode, the tool becomes a joint resource for the membership of the shared space to surf the Web together in real-time. Used in normal mode, the Web Browser Tool allows you to put links on the Clipboard that can be pasted into rich-text tools so that exterior Web sites can become internal resources for the shared space.
The Web Browser Tool is a good example of the capability to extend Groove with custom engines. This tool uses its own custom Web engine to display the HTML pages. The tool's glue code is mostly concerned with the toolbar choices, and most of that is necessary to support the DocumentShareEngine that is used in the Add Favorite button.
Summary
Now that we have examined the tools that are standard in Groove, we can begin to study how they work. To understand them, you first need a thorough understanding of the revolutionary Groove architecture. We'll examine this architecture in the next chapter.