(Originally Published in JaGoogle Groups is a powerful, flexible tool that your organization can use for a variety of interesting purposes. Google Groups is often under-utilized because there are many different ways to use this tool. Unless you take a step back to learn about Google Groups, you might miss out on functionality that can save you time, effort, and ultimately money. This series of articles will cover 13 tips for getting the most out of Google Groups so you can start off 2013 by maximizing it’s potential.
Tip #1: Google Groups Basics
Ask four different people what Google Groups is and you may get four completely different responses, and all could be true. Consider the following:
- Google Groups is a virtual inbox / virtual account tool
- Google Groups is a email mailing list / distribution list tool
- Google Groups is a forum tool
- Google Groups is a resource access tool
Google Groups is all this and more!
Google Groups can be configured to create a “virtual inbox” so multiple people can receive email sent to one address. For example, consider “firstname.lastname@example.org” or “email@example.com.” When somebody on the Internet sends an email to those “virtual accounts,” a group of members can receive a copy of that email.
Google Groups can be configured to provide mailing list or distribution list functionality. That is, consider a team of people working together on a project. Instead of emailing each member directly, the mailing list can be sent a message so that everyone on the list will receive a copy. Other members can hit reply and be assured that the entire group will be kept “in the loop.”
Google Groups can be configured to provide an online forum where users can interact with each other, answer questions, and share knowledge. Google Groups doesn’t have to send users email messages whenever somebody posts to the list; individual users can receive individual messages emailed to them, receive batches of messages (e.g., “digests”), or not receive any email at all.
Google Groups can be configured to control access to resources. That is, resources like Google Docs, Google Spreadsheets, Google Presentations, Google Drawings, Google Sites, printers shared via Google Cloud Print, and files stored in Google Drive can be shared to a Google Group. That way, all members of that Google Group have access to those resources. One of the great things about Google Groups as compared to mailing list software packages (like Sympa, Majordomo, etc.) and forum packages (like phpBB, bbPress, etc.) is that Google Groups is provided as a part of Google Apps and is hosted by Google. As a result, there is no need to upgrade software, apply patches, maintain and administer servers, etc. Also, if you have Google Apps, you can use Google Groups at no additional charge! To access Google Groups, make sure that Google Groups has been enabled for your Google Apps domain. Then, click on the “Groups” link from the Global Navigation Bar at the top of any Google Apps tool.
Tip #2: Google Group Membership
|Specify who can join a Google Group|
Users can become members of groups in a variety of different ways:
- Invitation – a manager can invite someone to join
- Direct Add – a manager can simply add another user to the group
- Users can join – group managers can restrict who is allowed to join the group or require people to ask to join the group (approval by the group’s owner is needed). Permission to join the group can be based on whether or not the user is already in the organization or not (e.g., users of the domain can be allowed to join)
- GADS – the Google Apps Directory Sync (GADS) tool, provided by Google, can be used to synchronize group membership with an organization’s directory service, like LDAP or Microsoft Active Directory.
- API – Google provides programmatic access to the groups data through well-documented Application Programming Interfaces (APIs), so you can write a program to manage group membership, tie it to a database, or whatever you want.
So, if you want to configure a group to be a private mailing list where only users who are invited by members can join, Google Groups can handle that for you. If you want a group that anybody on the Internet can join without requiring an invitation or approval, Google Groups can handle that, too!
Tip #3: Use Roles and Permissions to Customize your Group
- Adding members
- Approving members
- Approving messages
- Banning users
- Deleting messages
- Deleting topics
- Edit other users’ messages
- Edit own messages
- Invite members
- Modify members
- Post messages
- View messages
Many other permissions exist that further add to the richness of the Google Groups permissions system.
Closely tied to the concept of permissions are roles. A role is a collection of permissions. For example, there can be a role that has the permission to approve and delete messages, but not edit group membership or invite new users. Google Groups comes with several roles by default, including:
Groups can also have additional, custom roles. For example, consider that managers can, by default, approve messages and add members (along with other permissions), however you may want to allow some users to approve messages, but not add members. To accomplish this, create a new role (e.g., “moderators”) and give that role permission to approve messages, without permission to add members.
Tip #4: Archive Messages Sent to the Group
Google Groups can be configured to retain archives of messages that are sent to the group. That way, members can review messages previously sent to the group. This conveniently helps new group members get up to speed quickly by reading this history, as the archive becomes a knowledge store of everything that has been discussed through the group. If message archiving is disabled for the group, messages that are not archived can only be accessible for a limited time after being posted. The option to disable message archiving is found under “Information” then “Content Control” under the group management interface.
Tip #5: Moderate Messages
Make sure that messages sent to or posted to your Google Groups are relevant and on-topic; if a group receives messages that are off-topic, an otherwise productive conversation can be disrupted. To prevent this from happening, Google Groups provides a message moderation mechanism. When a message is sent to moderation, it isn’t visible to the other members of the group until a moderator (e.g., an owner, a manager, or someone with a role that has “accept messages privilege”) accepts it.
|Google Groups Message Moderation Options|
A variety of moderation settings exist for controlling which messages are moderated. A group can be configured to moderate all messages, moderate messages from non-members, or moderate messages from new members. Messages that Google suspects to be spam can be automatically identified and sent to moderation (or rejected!) regardless of other group settings.
Tip #6: Organize Messages With Topics, Categories, and Tags
Google Groups allows you to set up an organizational hierarchy for messages so that users can focus their discussions on specific conversations. The first level of organization is the concept of Topics. A topic is a group of messages that are closely related, like a series of emails that are passed back and forth, responded to, etc. An example would be if one member were to ask a question of the group; this would start a new Topic. As group members reply, their responses are associated with the new Topic. The second level of organization is the concept of Categories. A Category is a group of related conversations (topics). While topics are created by users submitting new messages to the group, Categories are defined for the group by the group’s management. The third level of organization is the concept of Category Groups. Category Groups are a mechanism for organizing groups of Categories. Category Groups, like Categories, are defined by the group’s management. Here’s an example. Suppose an organization (e.g., a Google Apps domain) was set up for a local car club. The car club could use Google Groups to allow their members to interact with each-other. To facilitate conversation, Category Groups could be set up for imported cars and another for domestic cars. Categories within those groups could correspond to particular car manufacturers or even car models. Users would select a Category relating to the question or thought they’re communicating; when they submit a new message to the group, that new message would create a new Topic. An additional organization mechanism provided by Google Groups is the concept of Tags. A Tag is a word that relates to a message. Users add Tags to their message to help describe the core concepts of the message. A message can have multiple Tags. The group’s management can require that all messages must have at least one Tag; they can also supply sample Tags. So, to expand on the above example, a user could submit a new message asking for help selecting new tires for their car. They could use the Tag “tires” with their message. Other users could quickly see from the Tags that the message is about tires. Moreover, somebody who is looking for advice on tires could search for “tires” and they would find all of the messages in the group that relate to tires.
Tip #7: Customize Group Email Messages
Google Groups allows you to customize several email-related settings. By customizing the way email messages are sent to a group, you can make it easier to interact with the group and make it more obvious that email messages that members receive are from the group.
|Google Groups Email Options|
Some of these settings include an email subject prefix (such as ‘[MyGroup']), custom footer text that’s placed in the bottom of every email sent to the members of the group and various pieces of text (instructions on how to post and how to unsubscribe, a link to the group’s web page, etc.). Settings also include where message replies should be sent (e.g., to the entire group, to the author of the message being replied to, to the managers of the group, or allow the response author to choose), maximum message size, and whether or not to send bounce notifications to message authors.
Tip #8: Synchronize Group Membership With Directories
Google Group membership can be maintained automatically by synchronizing the group with an organization’s directory system, such as Microsoft Active Directory or OpenLDAP. Google provides a free tool to perform this synchronization called the Google Apps Directory Sync, or GADS for short. GADS is frequently used to provision and synchronize user accounts between a directory and a Google Apps domain; however, it can also be used to create groups and synchronize group membership with Distribution Lists (Microsoft Active Directory) or LDAP Groups (LDAP). Also, GADS can be used to run a query against the directory service and synchronize the results as group members. So, suppose that an organization — a university — has a directory with a group (or distribution list) for students called “all_students.” GADS can create an all_students group in Google Groups for the organization and synchronize membership in the directory’s all_students list with the all_students Google Group. Once this is done, it’s possible to send a message to the all_students group in Google Groups and have that message distributed to all of the students in the organization. Furthermore, if a student were to “accidentally” unsubscribe to the mandatory all_students list, the next time GADS ran, that student would automatically be synchronized right back into the group. Another example could be an “information_technology” group. This group could be maintained in the organization’s directory and synchronized with an “information_technology” Google Group. Membership in the information_technology group could be manually maintained by the Information Technology department, the Human Resources department, or even automatically maintained by a program that would query the organization’s HR database and populate the information_technology group in the directory. GADS would then synchronize the information_technology group from the directory out to the organization’s information_technology Google Group. As a result, members of the Information Technology department could easily send a message to the rest of their department by posting a message to the department’s information_technology Google Group. The organization could take this a step further and configure printers that are located in the Information Technology department so that only members of the information_technology group (in the organization’s directory) could print to them. The organization could integrate their server room’s door lock / access control system so that members of the information_technology group (again, from the directory) would automatically receive access to the server room. The organization could go further still and configure resources such as Google Docs, Google Spreadsheets, Google Presentations, Google Sites, or even arbitrary files stored in Google Drive so that they’re accessible by members of the organization’s information_technology Google Group. GADS can also run queries against the organization’s directory and synchronize the results of those queries with Google Groups. For example, suppose the organization wanted to set up an “administrative_directors” mailing list. Suppose, further, that they used the CLASS attribute in their directory to organize staff, faculty, students, and alumni and that the TITLE attribute for directors followed a pattern like “Director Of (whatever)”. A query against the directory for users with the CLASS of “staff” and TITLE starting with “Director of” would return the list of all of the administrative directors. An LDAP query for this would look like this:
(&(CLASS=”staff”)(TITLE=”Director of *”))
The results could then be synchronized with the organization’s “administrative_directors” Google Group. Like with the “information_technology” group, mail messages could be sent to all of the directors, resources could be shared, etc., automatically when GADS is next run. With this infrastructure in place, adding a member to the information_technology group (either manually in the organization’s directory, through a query against the directory, or “automagically” through some custom integration) could automatically add them to the Information Technology department’s mailing list, provide access to department-specific documentation and electronic resources, and even provide physical access through an appropriately configured door access control system.
Tip #9: Watch the Group’s Bounce Information
When a Google Group is used as a mailing list, it’s often helpful to see how many accounts (and which ones!) are no longer accepting email from the group. While this is sometimes handy for groups with open enrollment, it’s often very useful when group membership is based on a query from an information system. For example, consider an organization that uses Google Groups to distribute one-off messages to collections of previous customers from their database, such as all those users who bought a particular product during a specific time frame. The person sending the message would query the database for the list of email addresses, direct-add them to the group, send the message to the group, then delete the group. If a customer has changed email addresses and the address in the system no longer works, the sender will think they’ve successfully communicated with the customer but the customer never received the message. If a particular email address keeps bouncing messages, at some point it becomes helpful to deactivate the email address that’s bouncing.
Tip #10: Use a Group for Resource Access Control
Google Groups can be targets for sharing resources such as Google Docs, Google Spreadsheets, Google Presentations, Google Drawings, Google Sites, and arbitrary files stored in Google Drive. That is, if you have something you want to share with a Google Group, you can share that resource like you normally would, but use the email address of the group instead of the individual people.
|Sharing Files in Google Drive / Google Docs with a Google Group|
The benefit of sharing with a Google Group instead of individual users is that as membership in the group changes, the users who have access to the resources shared with that group will automatically change as well. This works particularly well when group membership is synchronized with an organization’s directory service using GADS, the Google Apps Directory Sync. More on this topic was covered in Part 2 of this series. The Google Cloud Print service is also integrated with Google Groups. That is, you can create a Google Group for the sole purpose of sharing a printer using Google Cloud Print with that group. Once the printer is shared, all of the members of the group can print to that printer using Google Cloud Print! So, a good example of sharing resources could be with an organization’s web development team. As new members are added to the team, they’re added to the team’s Google Group. The web sites that the team is responsible for maintaining are shared with the group, as are the team’s documentation base. As soon as the new member is added to the group, they can edit the web site, they can read the private, internal documentation, and they’re included in the team’s mailing list (along with any archives, if configured). Similarly, if a member of the web development team transfers to another part of the organization, they can be removed from the team’s Google Group; once that happens, their access to the team’s documentation, web site, etc., are all revoked. If GADS is used to maintain group membership, this will all happen automatically as changes in the organization’s directory service happen.
Tip #11: Control Group Creation
By default, only Google Apps domain administrators can create Google Groups. However, Google Groups can be configured so that anyone in the organization can be allowed to create new groups. Google Groups can even be configured so that arbitrary members of the public can create new groups. To change who can create a group, a Google Apps domain administrator needs to go to the Google Apps domain control panel to make that change.
|Google Groups Settings from the Google Apps Domain Control Panel|
Additionally, Google Groups can be configured so that new groups are created with a suffix so that groups don’t conflict with user accounts in the domain. For example, if a suffix of “-list” is specified for groups in the “example.com” domain, then the email address of a newly created group of “mygroup” would be “firstname.lastname@example.org” instead of “email@example.com” (which wold be the address if no suffix were specified). Google Apps domain administrators can still use the Google Apps domain control panel to create groups without this suffix. So, for example, if the suffix for the “example.com” domain is specified as “-group” then a Google Apps domain administrator can create a “webmaster” group with an email address of “firstname.lastname@example.org” despite the “-group” suffix setting. Also, Google Apps domain administrators can prohibit outside users (e.g., users who are not a part of the organization and do not have an account in the organization’s domain) from accessing any of the Google Groups for this organization. This setting is the widest level of access that is permissible by any group in the domain; individual groups can be configured to a narrower access level (e.g., this setting can allow groups that can be accessed by the public, but individual groups can still be configured to be accessible by only members of the organization).
Tip #12: Embed a Group into a Web Page or a Google Site
|Embedding a Google Group into a Google Site|
Google Groups can also be embedded into Google Sites. To do this, edit the page you want to embed the group on in Google Sites, navigate to the Insert menu and click on “Group.” In the resulting dialog, paste in the URL to your Google Group. That’s it!
Tip #13: Use Google Groups as a Forum Platform
Google Groups is often thought of for distributing email to mailing lists, but it also provides interesting functionality.
|Using Google Groups as a Forum Platform|
By using Google Groups as a forum, not only do you allow users to send messages and share resources, but you also provide a mechanism for users to communicate through the web without email. There are a variety of Google Groups features that are especially useful for forums, including the ability to lock discussions (e.g., close the conversation), make discussions sticky (so they’re always at the top of the list), “me too!” posts, post announcements (as opposed to questions), and much more. Forums are a great tool for allowing users to form a community. This community can be protected from abuse and misuse by restricting access or membership, moderating messages, assigning moderators, and so on. Public forums are also a great way for other people to share their thoughts and ideas about a common topic. For example, an organization that makes a product can create a product support forum using Google Groups; when users run into problems, they can join and post to the forum and other users can respond. This has the potential to help an organization provide support for a product at a fraction of the cost of having users contact support staff at the organization directly.
Bonus Tip: Integrate Tools with Google Groups Using APIs
Google provides a number of APIs (Application Programming Interfaces) that can be used to interact with Google Groups. Three of the most important APIs are:
- Google Apps – Provisioning – Create groups, modify membership, modify owners
- Google Apps – Google Groups Migration – Migrate messages (email) to a Google Group
- Google Apps – Google Groups Settings – Modify group settings
There are also a number of libraries that can be used to simplify development. There are libraries (and sample code!) for the Google Apps Provisioning API, for example, in Java, Python, .NET, and PHP. Moreover, Google provides examples of raw HTTP calls, so libraries can be built for other environments. Integration with Google Groups is possible at any number of points from here. For example, it’s possible to develop a third-party web application that queries a Google Group for the membership of a user as they authenticate to the application. It’s possible to share a resource (e.g., a file stored in Google Drive) with a Google Group. Then, integrate a payment processing system with the Google Group using an API so that when the user purchases a product, they’re automatically given access to the file — the product — that happens to be stored in Google Drive. As an added benefit, owners of the Google Group can send a message to all of their customers simply by sending a message to the Google Group. The sky’s the limit when it comes to integrating tools with Google Groups! API documentation links:
Google Groups is a tremendous tool that can facilitate an organization’s communication. There are lots of options that provide great flexibility and functionality. Google Groups can even be integrated with your organization’s applications using APIs. The only limit to what you can do with Google Groups is your imagination!