Social Office
Social Office
This work is offered under the Creative Commons Attribution-Share Alike Unported
license.
                                                                              iii
    Site Applications................................................................................................................................ 34
         Calendar....................................................................................................................................... 34
             Importing and Exporting Calendars.................................................................................36
         Documents................................................................................................................................... 36
             Editing a File ........................................................................................................................38
         Blogs.............................................................................................................................................. 40
         Forums.......................................................................................................................................... 42
             Permissions.......................................................................................................................... 43
             Adding Categories and Mailing Lists................................................................................ 43
             Using the Forums................................................................................................................ 44
             Forums Administrative Functions.................................................................................... 46
         Wikis............................................................................................................................................. 47
             Navigating in the Wiki application...................................................................................48
             Getting Started with the Social Office Wiki.................................................................... 48
             Adding and Editing Wiki Pages......................................................................................... 49
             Page Details.......................................................................................................................... 50
         Members.......................................................................................................................................51
         Other Site Options...................................................................................................................... 52
             Adding/Removing Applications........................................................................................52
             Layouts.................................................................................................................................. 52
             Announcements...................................................................................................................53
             Chat....................................................................................................................................... 55
    Summary............................................................................................................................................. 55
4. Control Panel................................................................................................................57
    Navigating the Control Panel........................................................................................................... 57
    Social Office Architecture................................................................................................................. 58
         Users............................................................................................................................................. 58
         Roles.............................................................................................................................................. 58
         Sites............................................................................................................................................... 58
         User Groups................................................................................................................................. 58
    Using the Control Panel.................................................................................................................... 59
         Adding Users............................................................................................................................... 59
         User Management....................................................................................................................... 60
         Roles.............................................................................................................................................. 61
             Defining Permissions on a Role......................................................................................... 62
         User Groups................................................................................................................................. 63
             User Groups and Page Templates..................................................................................... 64
    Global Server Settings....................................................................................................................... 68
         Password Policies........................................................................................................................ 69
         Settings......................................................................................................................................... 69
         General......................................................................................................................................... 70
         Authentication: General Settings............................................................................................. 70
         Authentication: LDAP................................................................................................................. 71
             Global Values........................................................................................................................71
             Single Sign-On...................................................................................................................... 76
             Authentication: Central Authentication Service (CAS)................................................. 77
             Authentication: NTLM........................................................................................................ 78
             Authentication: OpenID......................................................................................................78
             Authentication: OpenSSO................................................................................................... 79
             Authentication: SiteMinder............................................................................................... 79
             Default User Associations.................................................................................................. 79
             Reserved Credentials.......................................................................................................... 80
             Mail Host Names.................................................................................................................. 80
             Email Notifications..............................................................................................................80
             Identification....................................................................................................................... 80
             Miscellaneous: Display Settings........................................................................................ 80
         Monitoring................................................................................................................................... 81
         Server Administration............................................................................................................... 81
                                                                              iv
      Resources.............................................................................................................................. 81
      Log Levels............................................................................................................................. 81
      System Properties............................................................................................................... 81
      Portal Properties................................................................................................................. 82
      Shutdown..............................................................................................................................82
      OpenOffice............................................................................................................................ 82
Summary............................................................................................................................................. 82
                                                                      v
vi
PREFACE
     Liferay Social Office is Liferay's brand new social collaboration product for the
enterprise. We are excited to bring both the product and this book to you, in the hope
that you'll be able to use each to enable your teams to work together more efficiently.
     Some time ago, we at Liferay were brainstorming some common use cases which
Liferay Portal does a good job solving. One of these is team-based collaboration. Many
of our customers have used Liferay Portal both inside their enterprises and outside on
the Internet to provide a better way of sharing documents and data with the people
with whom they work every day. Liferay Portal provides a very flexible solution
which allows you to do that. But it can also do much, much more. Because Liferay
Portal has that flexibility, the path from the initial install to a robust web site that
could be used for collaboration was not always straightforward to the new user.
Business users wanted a product they could install and use right away.
     This was not the only reason for the new product. Internally, we realized that we
needed a product like this ourselves, and that we already had all the features in place
to make it possible. We just needed to assemble them together in a way that most
optimally supported the scenario of social collaboration, and we wanted to make
getting set up as easy as possible for new users.
      In this way, Social Office was born. We created the product to provide a simple,
out of the box solution for team collaboration. Using Liferay Portal as a base, Social
Office provides you with a fantastic array of features that you don't have to spend a
lot of time configuring. In fact, you can have a full production environment set up in
less time than it takes to brew a pot of coffee.
    Though it sounds like this is a brand new product, it's in many ways an older,
proven solution as well. Since it uses Liferay Portal as a base, it inherits all the
benefits of a mature, stable solution which has been in the marketplace for some
                                          vii
time. In addition to this, we've had an early adopter program, and the product is
already in production use with multiple customers. It has even received industry
recognition: it's in the Gartner magic quadrant for social software, and has been
mentioned as the only open source, Java-based solution for collaboration in a
comparison review of products in this space.
     Since our early adopter program was so successful, we're excited to finally
release the product to the general public. Customers who have already started using
it have been exceptionally pleased with the results, and you gain the benefit from our
collaboration with those early adopters. In fact, this is one of the great things about
open source: we've received extensive feedback on the product, including bug fixes
and feature requests. Our customers have told us whether things are intuitive or not,
and we've incorporated that feedback right back into the product.
     This book is for those who are setting up and administering an installation of
Liferay Social Office. From installing Social Office to introducing you to its entire
feature set, you'll see all of the things Social Office can do to help your team. We hope
you'll use it as a tool to get Social Office up, running, and integrated into your
enterprise.
Conventions
    Sections are broken up into multiple levels of headings, and these are designed
to make it easy to find information.
Source code and configuration file directives are presented like this.
If source code goes multi-line, the lines will be \
separated by a backslash character like this.
Publisher Notes
    It's our hope that this book is valuable to you, and that it's an indispensable
resource as you begin to administer a Social Office server. If you need any assistance
beyond what's covered in this book, Liferay, Inc. offers training, consulting, and
support services to fill any need that you might have. Please see http://www.liferay.
com/services for further information about the services we can provide.
     As always, we welcome any feedback. If there is any way you think we could
make this book better, please feel free to mention it on our forums. You can also use
any of the email addresses on our Contact Us page (http://www.lifer
ay.com/contact_us). We are here to serve you, our users and customers, and to help
                                          viii
make your experience using Social Office the best it can be.
Author Notes
      Special thanks are due to my co-authors, Stephen Kostas and Michelle Hoshi,
who turned around their chapter assignments in record time while the product was
changing under them. I also cannot underestimate the help of Ryan Parks in quickly
answering our calls for help and in giving us further explanation of various features.
And I must also make special mention of Stephen Wilburn, who copy edited this
document. I thought the text was pretty clean, but he slogged through our hastily
written prose with an attention to detail that made it look like monkeys had typed
this thing. If you find this book to be readable, it's because of him.
     As always, we hope this book is useful to you as you begin your journey with
Liferay Social Office!
    Rich Sezov
    June, 2010
                                          ix
1. INTRODUCTION
     “Help!”
     This has been the cry of information workers everywhere who have tried to
manage complex projects through email and shared folders. You've probably had a
similar experience: you're collaborating on a document with a team of people and are
emailing it back and forth. Person A creates the initial document and Person B replies
with some edits. Person C replies with additional edits at the same time Person A
replies with the corrections from Person B. Person D takes this and rewrites a whole
section of the document while Person B and C respond to Person A's update. Pretty
soon, it becomes very difficult to determine which document is the latest document.
      The same scenario plays itself out when working in shared folders. Person A
creates a document and puts it in a network share. Person B edits the document and
saves it under a different file name. Person C edits it and re-saves the original. Person
A tries to reconcile the two, while Person D opens Person B's document and saves yet
another version. Before you know it, you have the same problem you had with email:
you can't tell which document is the latest document. Additionally, you have a worse
problem: you don't have a clear history of how the document got to where it is in the
first place.
     “Help!”
    Liferay Social Office is a collaboration tool that is designed to answer that call for
help by meeting the needs of teams who work together on projects. It is an
easy-to-install web application that facilitates collaboration for large and small
businesses alike. With Liferay Social Office, you'll have the system and your
workgroups up and running in no time, with all the tools necessary for them to work
more efficiently and more easily than before.
teamwork. You can coordinate calendars and schedules, write shared blog entries,
work together on documents, discuss issues in forums, document everything in a
wiki, and more. The underlying theme is that all discussion and collaboration is kept with
the asset. What does this mean? It means that the asset, whether that be a document, a
thread, a blog entry, or a wiki article is the star around which all of the discussion and
collaboration orbits.
      Trying to collaborate on assets through email or server shares works up to a
certain point—but then it fails because it's a backwards way of doing the work. The
asset in that scenario becomes secondary, and the “wrapper”—email or the
share—becomes the primary target of the work. So instead of concentrating on the
asset which the team is trying to produce, the focus turns to the wrapper. In the case
of a shared folder, you might manually rename documents according to a numbering
scheme so everyone can tell which is the latest—that is, until someone forgets to do
so, or until someone accidentally overwrites the latest document. In the case of email,
users try to navigate huge threads while passing an asset back and forth—until
someone forgets to “reply all” or until someone starts a new thread (and maybe
forgets to put the whole list on the thread). Working in the mediums of shared folders
or email puts the focus on working with the wrapper, not the asset. And so what
happens is the asset gets lost because they're forced to focus on the wrapper instead
of the asset. With Social Office, you will be free to concentrate on their assets—the
system gets out of your way so that it's a simple matter for your team to work
together.
of built-in applications and tools. It's highly customizable and businesses use it to run
major web sites all over the world. We've optimized Liferay Portal for creating
state-of-the art, robust web sites that serve millions of users every day.
     Social Office has a more focused purpose. We've designed it for work groups
12
How is Social Office Different from Liferay
                                                                             Introduction
needing to collaborate on documents and data in the office. The included tools and
defaults were carefully chosen to provide users working within a group the ability to
easily communicate, collaborate, and coordinate their tasks. Additional applications
were added to the product to support these goals.
     If you're creating a public web site and need the full features of an unparalleled,
industry-leading engine to power that site, Liferay Portal is the ideal solution for you.
If, however, you're creating a site that's designed to help people within specific
groups communicate and accomplish tasks on a corporate Intranet, Social Office will
help you accomplish that with minimal set up and administration.
 Users
     Users are at the core of Social Office. In order to interact with and use Social
Office, you must have a user account. Users can register themselves or the system can
 Applications
     Users make use of applications every day in Social Office to get their work done.
Each page on every site in Social Office is only as useful as the applications installed
on it. The available applications range from utilities for online information such as
weather forecasts or RSS feeds, to blog and wiki tools, and more.
      By default, each user has a number of applications installed on his or her home
page. Users have full control over their personal pages: they can add or remove
applications from their pages and adjust the settings for available applications. This
ability can be modified or removed altogether by administrators.
     When a new site is created, it's pre-populated with pages and applications on
those pages. In many cases, each application gets a page of its own; in other cases,
applications are aggregated together on a single page to provide a unified place where
users can see all the new information that their teammates have posted.
    Owners of sites are free to add or remove applications from pages on their sites.
Regular users will not have the ability to do so. In this way, site owners can maintain
the most optimal working environments for their users.
 Sites
     Sites are the structure that holds everything else in Social Office together. Every
page contained in Social Office is part of a Site—including users' personal pages,
which are just personal Sites. Sites are, at first glance, a collection of pages with
specific functions, but they are also the basis of a sort of user “community.” Users can
be members of certain Sites either by assignment or by invitation, and once they are
members they can use the full capabilities of the Site, as well as receive notification of
various activities.
     Sites ultimately become the key to good collaboration in Social Office, because
each Site contains its own Calendar and set of events, as well as its own Document
Library, Wiki, Blog, and Announcements. These tools enable members of a Site to
communicate effectively with each other. Personal Sites help individual users as they
log in to see an aggregated list of activities. This list comes from the activities of all
the teams with whom they are collaborating. This way, users can see at a glance
everything that's happening with their work, and they can respond very easily to
anything that needs attention across all of the Sites of which they are members.
    Here's an example of how it all comes together:
    Ryan, Jim, and Michael are all members of the Sales Site. Ryan schedules a
meeting for the whole Sales team about a new product launch and puts it on the
Calendar. When Jim and Michael log in, they both receive a notification of the
meeting. Jim can't make the meeting, but he's been maintaining the Sales Wiki for
new products, so he asks Michael to update it for him after the meeting.
     Michael updates the Wiki with the new information after the meeting, and Ryan
posts a summary of what happened in the meeting in the Sales Blog. When Jim logs in
the next day, he'll receive a notification of the new Blog post with the information he
missed, as well as a notification about the updated Wiki. Additionally, he can easily
access those pages to catch up on what he missed. This works because Social Office
automatically keeps everyone up to date on the activities of the teams they work with
every day.
     Beneath the global navigation is the site navigation. Beneath this is the
application area, where one or more applications can reside. Users will primarily use
the application area in their day-to-day work.
    Social Office dynamically shows or hides links in the navigation based on the
permissions of the logged-in user. For example, administrators will see links to the
Control Panel, Applications, and the Layout templates, while regular users will not.
 Summary
As you can see, Liferay Social Office provides you with an unbeatable, web-based
solution for team collaboration. It allows your team to work unhindered, getting out
of their way so that they can put their focus on their work instead of worrying about
how the system works. And it gives you peace of mind in knowing that all assets are in
one place and protected by a system that supports proper document versioning so
that you can see the full progression of how your assets got to their final form. W e've
worked hard to make Social Office a pleasure to work with, and we think you'll agree
that it helps your teams work better.
16                                                                            Summary
2. GETTING STARTED
     Liferay Social Office is designed to be quick and easy to set up and get running
for your enterprise. We've endeavored to make the set up process as simple and
straightforward as possible. Whether you're installing Liferay Social Office on your
own machine for testing purposes or installing it for production use, set up time is
measured in minutes, not hours.
     This chapter will describe the procedure for installing Liferay Social Office and
connecting it to an enterprise database so that it can be used in production
environments. While this should be sufficient for everyone who uses Social Office,
note that since Social Office is based on Liferay Portal technology, its performance can
be optimized in similar ways as Liferay Portal. If you decide that you need an
advanced configuration of Social Office (such as a cluster), please see the Liferay Portal
Administrator's Guide, specifically Chapter 6: Enterprise Configuration for more
information.
     Once Social Office is installed, you'll want to become familiar with the user
interface. For this reason, we'll go over some of the first steps you'll take as a Social
Office administrator.. Before you know it, you'll be up and running—ready to
streamline your work and facilitating collaboration between team members!
     Windows systems also have the same start and stop scripts, found in the same
folder. To start Social Office on Windows, use this command:
startup
     If you're on Linux, Unix, or Mac, you can see the Tomcat console by issuing the
following command:
tail -f ../logs/catalina.out
     Once Social Office has completed its startup, it will automatically launch a web
browser so you can see the home page. If this doesn't happen, launch your web
browser and then go to the following address: http://localhost:8080. The default
Social Office login page will appear in your web browser. Now you're ready to explore
the various features of Social Office!
Database Setup
     First things first, let's get that database set up. Using your database vendor's
tools, create your database and grant a user ID full access to it. You'll eventually
configure Social Office to connect to the database using this user ID. Once this is
completed, the first time Social Office starts it'll create the indexes and tables
automatically.
portal-ext.properties. Please take a moment to find this folder on your system. We'll be
creating a configuration file there.
     In the configuration above, we're assuming the user name is mommy and the
password is daddy. Obviously, you would instead use the user ID and password you
configured earlier in your database. You would also point the JDBC URL to your
database server, unless you're running the database on the same machine as Social
Office.
     For email there's a similar procedure using the built-in mail session. The mail
session is a resource which enables communication between Social Office and your
mail server. Please note: configuring the mail session properly is very important!
Since several of Social Office's applications rely heavily email notifications, the ability
to communicate with your mail server is essential. To configure the mail session,
please add the following directives to your portal-ext.properties file (substituting your
     Save the file. You're all done! The next time you start Social Office, it'll connect
to your database server and create the tables it needs to function.
    We used MySQL above, just as an example, but of course Social Office supports
most common databases. Below we've provided the templates for all of the supported
databases. Use the template that corresponds to the one you're using.
        DB2
jdbc.default.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.default.url=jdbc:db2://localhost:50000/lportal:deferPrepares=false;full
yMaterializeInputStreams=true;fullyMaterializeLobData=true;progresssiveLocat
ors=2;progressiveStreaming=2;
jdbc.default.username=db2admin
jdbc.default.password=lportal
        Derby
    Derby is an embedded database and is not recommended for production
environments.
jdbc.default.driverClassName=org.apache.derby.jdbc.EmbeddedDriver
jdbc.default.url=jdbc:derby:lportal
jdbc.default.username=
jdbc.default.password=
        Hypersonic
    Hypersonic is an embedded database and is not recommended for production
environments.
jdbc.default.driverClassName=org.hsqldb.jdbcDriver
jdbc.default.url=jdbc:hsqldb:${liferay.home}/data/hsql/lportal
jdbc.default.username=sa
jdbc.default.password=
Ingres
jdbc.default.driverClassName=com.ingres.jdbc.IngresDriver
jdbc.default.url=jdbc:ingres://localhost:II7/lportal
jdbc.default.username=
jdbc.default.password=
        MySQL
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?
useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=
jdbc.default.password=
        Oracle
jdbc.default.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.default.url=jdbc:oracle:thin:@localhost:1521:xe
jdbc.default.username=lportal
jdbc.default.password=lportal
        PostgreSQL
jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.url=jdbc:postgresql://localhost:5432/lportal
jdbc.default.username=sa
jdbc.default.password=
        SQL Server
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sqlserver://localhost/lportal
jdbc.default.username=sa
jdbc.default.password=
        Sybase
jdbc.default.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc.default.url=jdbc:jtds:sybase://localhost:5000/lportal
jdbc.default.username=sa
jdbc.default.password=
    As you can see, Social Office supports a number of the leading databases in the
industry today.
     Social Office will take about a minute to launch while it creates the tables.. Once
this is completed, a new browser window automatically opens and you'rre presented
with the Sign In screen.
 Signing In
     When prompted, sign in using the default user id and password.
     Screen Name: admin
     Password: admin
     Go ahead and sign in using these credentials. If this is the first time you're
logging in, you'll be prompted to choose a password reminder. Once you've chosen a
question and filled out the answer, click Save.
        OpenID
      OpenID is a new single sign-on standard which is implemented by multiple
vendors. The idea is that multiple vendors can implement the standard, and then
users can register for an ID with the vendor they trust. The credential issued by that
vendor can be used by all the web sites that support OpenID. Some high profile
OpenID vendors are AOL (http://openid.aol.com/screenname), LiveDoor (http://pro
file.livedoor.com/username), and LiveJournal (http://username.livejournal.com).
Please see the OpenID site (http://www.openid.net) for a more complete list.
     The obvious benefit of OpenID for the user is that he or she no longer has to
register for a new account on every site in which he or she wants to participate. Users
can register on one site (the OpenID provider's site) and then use those credentials to
authenticate to anyOpenID-supported web site. Many web site owners struggle to
build communities because end users are reluctant to register for so many different
accounts. Supporting OpenID makes it easier for site owners to build their
communities because the barriers to participating (i.e., the effort it takes to register
for and keep track of many accounts) are removed. All of the account information is
kept with the OpenID provider, making it much easier to manage this information and
keep it up to date.
24                                                                           Signing In
                                                                        Getting Started
    The OpenID link is the first of three links available directly under the Sign In
button. Social Office's integration with OpenID allows users to log in using their
OpenID identifier from their preferred OpenID provider instead of having to create a
brand new login for Social Office.
        Create An Account
     The second link is for account creation. If a new user wants to log in and doesn't
already have login credentials, he or she would use this link.. Note that
administrators can disable this function, thus requiring administrators to create all
accounts.
        Forgot Password
      The last is the Forgot Password link. This one does pretty much what it says: if a
user has login credentials but can't remember his or her password, the user clicks
this link to submit his or her user name and password reminder and a new password
is sent to their email address on file. This is just one of the many email notifications
that Social Office sends to users, and is one of the reasons that setting up the mail
server properly is so important.
Home
     This is the user's home page. This is where users are directed each time they log
in to Social Office. It's here that users can find relevant information on what's going
on each day as well as track announcements, activities, and tasks.
     The left column contains the Sites portlet as well as the Contacts portlet. The
center column contains three aggregation portlets: Announcements, Activities, and
Tasks. The right column shows Today's Events and Weather. You can remove each of
these applications from your home page by clicking the x in the upper right hand
corner of the application. To add an application back (or add a new application)
simply click the Applications tab at the top of the page. This is located between Control
Panel and Layout. You can also move the applications to different locations on the page
by selecting the title of the application and dragging and dropping them onto a
column of the page.
    You can also change the layout of the page if you don't like the default
three-column layout. To do this, click the Layout button at the top of the page. Don't
worry, we'll give you full details on layouts in the next chapter.
     That's the overall view of a user's personal home page. Let's dive deeper and take
a look at the functions of each application on this page.
        Sites
     In Social Office, Sites are collections of Users who have a common interest. Each
Site is pre-populated with collaboration pages allowing you to quickly start
collaborating with others. You can create a site for any project or department that
requires collaboration between users. For example, a company could create a site
specifically for the marketing team, research team, or HR department. To drill down
even further, the marketing team could create sites for projects A, B, and C. The great
thing about Social Office is that as soon as a site is no longer needed (say project A has
been successfully launched) that site can easily be deleted and a new site created for
the next project.
     This portlet is an aggregation of all of the sites to which a user belongs. Initially,
you willy ou'll want to click Add site. If you know a site has already been added, you
can click Open Sites to see a list of sites that are available for you to join. To go back to
our example, If a user creates content in the site for project A, and is then re-assigned
to project B, the user simply leaves the project A site and joins the project B site. All
the content that this user created for project A will remain in the project A site—and
the user will now have access to everything in project B. This allows him or her to
immediately start learning and contributing to the team.
        Contacts
     Here you'll find a list of all of your contacts within Social Office. Contacts are
people you added to your network within Social Office. To add a contact, simply click
the Add Contact button at the top right corner of the portlet.
        Announcements
     The Announcements portlet lists all the announcements that are relevant to you.
An announcement is any message that a user wishes to share with others in Social
Office. Anyone can create an announcement. When creating an announcement, you
choose the scope, display, and expiration dates. The scope is used to define who
within social office receives the announcement. This can be everyone, All Site
Owners, or all users within a specific site. As an example, this is great for project
managers who wish to share a message with every user within a specific site or for
Admins who have an important announcement for all users within Social Office.
        Activities
     The Activities portlet aggregates all the recent activities that are relevant to you.
An activity is any change or update that a user made while logged into Social Office.
For example, if the admin of the marketing site creates a wiki on how to interact with
advertisers and you're part of the Marketing site, then an activity is displayed
indicating that an event took place. In this application, activities are scoped in three
ways: by sites you belong to, by the activities of your friends within Social Office, and
by your own activities. The advantage of this is that users can quickly see what's
happened since they last logged in to Social Office.
        Today's Events
      Today's Events will give you a quick overview of all of the public events for each
site that you belong to. These events are pulled from the calendars of those sites. See
the Calendar section in the Sites chapter to learn about creating new events.
        Weather
    This lists the weather for cities that you choose. By default it lists 90210, Chicago,
Frankfurt, and Rome. To change the default cities, simply click the Configuration
button and select Preferences. To search for a city, type the desired city name or zip
code into the search box at the bottom of the portlet. Doing this will open up a new
window that displays the current weather for the city or zip code you're searching.
 Profile
     Clicking Profile will take you to your profile page. Your profile page is basically a
resume that lets other users in Social Office know your contact information as well as
different projects that you have worked on. To edit this click Edit Profile and Edit
Projects in the lower left hand corner under your picture.
Illustration 3: Profile
        Activities
     This is the same as the Activities portlet on your home page. It aggregates all of
the recent activities for your sites, your friends, and you. The benefit of having an
activities feed on your profile page is that when other users in Social Office navigate
to your profile page, they can see what you and your friends have been up to recently.
Mail
     Social Office offers a mail client. This is great because it means you have the
convenience of not having to log in to another server or use another application to
check and send your email. Currently, Social Office can integrate with any mail server
that uses the IMAP protocol, as well as Google's GMail service.
gating to the mail page, you'll be presented with the option to Check your email or con
figure email accounts.
     Social Office also provides a global navigation area at the top right of the screen.
This is one way to navigate away from your personal page to other areas of Social
Office.
 My Sites
     This shows you a list of all of the Sites which you're currently a member of.
Should you click on one of the sites you'll be redirected to the home page for that
particular site. This is a quick way to navigate to any site of which you're a member.
         and what it's changed to. Just as with the Account Created Notification, you
         can customize the message that's sent to the user.
    You'll use the Portal section of the Control Panel to create your structure,
implement security, and administer your users. Please see Chapter 4 for an
exhaustive view of the Control Panel.
 Summary
Liferay Social Office provides an easy to install platform that gets you up and running
very quickly. It requires minimal configuration, and in fact needs only a connection to
a database and a mail server to become fully operational. Once you have it installed, it
presents to the user a very clear and consistent interface which is intuitive. Using this
interface, you can navigate to any area in Social Office you need to set up the Sites
and enable your users to get their work done.
32                                                                             Summary
3. SITES
     Sites are the core of Social Office—they are both the organization of people and the
collection of pages that hold the tools for team collaboration. Sites are the structure
Social Office uses to bring together the various groups within your organization and
enable them to work together.
    In this chapter we'll discuss the basics of creating and configuring Sites, and take
a look at the pieces the hold a Site together. We'll also take a look at each application
and how they all fit together to break down the barriers between team members and
enable them to work together.
 Adding a Site
     Any user with sufficient permissions can add a site via the Sites application or
the Control Panel. From the Sites application, a user simply needs to click on Add a
Site and set the name and permissions for the site. From the Control Panel, a user
would go to Sites on the left side and then click Add a Site. Each site is not only a
collection of pages, but also a community of which users can become members.
 Browsing Sites
    Each user by default should be equipped with a Sites application on his or her
home page with which he or she can navigate to the various sites in Social Office.
From other pages in Social Office, users can navigate via the My Sites link in the global
navigation at the top right corner of the screen.
     Each Site is composed of several pages which are accessible by tabs. The home
page for each site is a hub containing applications which aggregate data from the
primary applications on the site. The other pages contain one application
each—Calendar, Blog, Wiki, Forums, Documents, and Members. We'll go over these
later in the chapter.
Sites
        Site Roles
    In order to maintain a proper site, certain users are assigned as administrators.
The Control Panel chapter covers the creation and assignment of User Roles. In
general, you'll create the roles in the Control Panel and set the abilities of that role
within the specific applications in the Site.
 Site Applications
     In your initial Social Office Setup, each site will contain six core applications on
separate pages, accessible via the top tab navigation: Calendar, Documents, Forums,
Blogs, Wiki, and Members. Most of these applications also work with the smaller
applications which are displayed on the Site's home page. More details on these
interactions are discussed below.
 Calendar
   Social Office's Calendar application is a complete calendaring solution. You can
schedule any number of events of different types, receive alarms via email or text
message, import and export your calendar, and much more. Additionally, you can
import and export the calendar to the popular iCalendar format for use in other
applications.
     On the home page for a site, there is by default an application called Today's
Events. This application will display any events currently scheduled on that site's
Calendar to occur on the current date. The events are displayed based on the event's
permissions—so a guest user viewing the page will only see public events, and only
the creator of the event will see private events.
34                                                                     Site Applications
                                                                                Sites
     On the Calendar page, the default view is to see the entire month of events, but
you can change that to show a week or a day at a time. Arrows will appear to the left
and right of the current span of time that you're viewing—you can use these to view
the next day, week, or month as needed.
    To create an event, go to the Calendar application page and click Add Event. From
here, you'll be given the following options for setting up the event:
    Start Date/Time: The date and time the event starts.
    Duration: How long the event will last.
      All Day Event: Check this box to disassociate time from the event and make it
last all day.
     Time Zone Sensitive: Leave this box checked to make sure that the portal keeps
track of the event regardless of time zone.
    Title: The title of the event.
    Description: A description of the event.
     Type: Select from a number of pre-configured event types. You can change these
in the portal-ext.properties file.
     Permissions: This field contains a check box that enables you to toggle whether
the event is public or private, and the ability to configure more specific options.
Clicking configure will allow you to choose in more detail what guests or members of
Site Applications                                                                 35
Sites
 Documents
     One of the keys to collaborating in a workplace is good handling of various
documents which multiple members of a team might be working on simultaneously.
Social Office contains a Document Library application which can help streamline this.
36                                                                         Site Applications
                                                                                     Sites
     Let's say you're a graphic designer for the marketing department and you've just
finished up an advertisement for several magazines. Before you can move on to the
next steps, you'll need your team and a handful of executives to review and sign off
on the content.
      Because your company has only recently adopted Social Office, the first thing
you'll need to do is create the appropriate folders. Using the above scenario, begin by
creating a Print Advertisements folder. Because you might want people from other
departments to review documents posted here, click Configure to open up additional
permission options and check the box for View under the Guest field. Let's say that you
also want to create a subfolder of Print Advertisements called Source Files to use for the
original working files so that members of your team can make edits directly to the
file. Even though anyone can view the root folder, you may not want everyone to have
access to the source files, so when you create this one, you would make sure that the
View option under Guest is unchecked.
You can continue to nest folders as deeply as necessary to keep things orga
Site Applications                                                                      37
Sites
nized. In larger departments running multiple projects at once, having deep folder
structures is a necessity to keep out of each others' way. Above is an example of how
the folders might look in using our scenario.
     To add a new document, click Add Document. After you're brought to the next
screen, click on Browse. Your browser will open a dialog box that you can use to select
one or more files to upload; once the transfer is complete, you can set any details of
the document from the folder in which it was placed. If you click Classic Uploader,
you'll be presented with a web page that allows you to set the name, description, and
permissions, as well as select a single file to upload.
     A very useful feature of the Documents application is that it keeps track of past
versions of a file after it's been updated. That way, if any information is overwritten
or removed, you can easily access an older version of the file. It also features a simple
locking mechanism, whereby a user can “lock” the file to make some changes and
unlock it once he or she is finished. Use this feature to prevent duplicate work or
important changes from being lost in the shuffle of multiple updates.
      There are two places where you can lock a file. While viewing the list of files in a
folder, you can simply click on the lock icon, or while on the Edit screen, you can click
Lock.
Illustration 11: This file is currently not locked; clicking on the lock icon will lock it.
    To access more options for a file or a folder, click on the icon that looks like a
wrench. you'll be presented with a menu containing the following items:
     Edit: Change the details of the file or folder. Clicking on this for a file will enable
you to upload a new version as well as leave comments or ratings. This way,
discussions about a document are kept with the document itself.
        Permissions: You can define who can view or edit a file or folder.
    Delete: Remove the file or directory. Removing a directory will also remove any
subdirectories and files contained in that directory.
    View (Files only): Clicking on view will allow you to download a file, leave
comments, or rate the file. You're also provided with the WebDAV URLs if you wish to
access this file through your operating system. All of this page's functionally is
duplicated on the Edit page.
           Editing a File
     The Edit screen is where most of the action is going to happen. There are a large
number of fields on this page, and it can be confusing at first. Let's take a moment to
go over the purpose and function of each field:
        Name: This is the name of the file that is always displayed. You can upload a file
38                                                                                           Site Applications
                                                                                          Sites
     Description: You can fill in any notes or details about the file that other users
will need to know here.
Site Applications                                                                           39
Sites
     Tags: Tags are used throughout the site to enable users to search properly cate
gorized data more quickly. For more information on tagging, see Chapter 5: The
Control Panel.
    Save, Lock, Cancel: You can save any changes you've made, cancel those
changes, or lock the file for editing as described above.
    Ratings: Each user can rate a file, by giving it anywhere from 1 to 5 stars. This
could be useful for peer or executive review of files.
    Comments: Along with rating a file, users can also leave comments. This is
useful for discussion about the file.
     Version History: You can view past versions of a file; this can be useful for
tracking down specific changes to a file or to recover information that was
accidentally removed in a newer version.
 Blogs
     Social Office has a Blogs application which allows you to provide a blogging
service to your users. Each site will have its own unique blog, and by default, all
members of the site can post blog entries. Let's go over how to use the Blogs
application to create an optimal blogging system.
     On the Blogs page, you'll see three main options: Subscribe to this Blog, Add Blog
Entry, and Permissions. Clicking on Subscribe to this Blog will bring you to the RSS feed
for this blog. This enables you to publish your blog as a feed to various feed readers
that your users might be using.
     Click on Permissions and you'll be presented with a screen where you can set
which users have to ability to blog. If you want to limit this to specific users, you can
create a User Role for bloggers in the Control Panel and give that role permissions to
add entries here.
     The core functionally of this application is of course, writing blog entries. Click
the Add Blog Entry button to get started.
        Title: This is the title of the blog entry. It is displayed at the top of the post.
     Display Date: You don't have to make the blog entry appear immediately. If you
prefer to have it display later in the day or a few days later, you can set the display
40                                                                             Site Applications
                                                                                    Sites
date here.
     Content: The content entry area consists of two parts: the text entry field and
the toolbar. The text entry field is where you do your typing, and the toolbar controls
text formatting as well as embedding images, videos, or even adding various
emoticons to the post. You also have the option to use either the default WYSIWYG
text editor or enter your own HTML.
     Tags: The tags field give you the option to add tags to your entries to make them
easier to find with Social Office's search feature. You can find more information about
tagging and categories in Chapter 5: The Control Panel. Clicking Suggestions will
automatically generate possible tags from your entry based on looking for keywords
in your text.
     Save Draft, Publish, Cancel: Clicking on Save Draft will save your work. Note
also that as you type, the entry is automatically saved as a draft at periodic intervals.
This gives you peace of mind in using the application from within your browser, as
you won't lose your entry in the event of a browser crash or network interruption.
Publish will save and post your entry on the Blogs page, and Cancel will discard all of
your work and send you back to Blogs page.
     Permissions: Like almost anything else in Social Office, you have the ability to
restrict what users can view or comment on your entry. You can also allow other
users to edit it (in the case of a team blog).
     Allow Incoming Trackbacks: If you're running Social Office on the Internet and
not an Intranet, you might want to enable trackbacks to make it easier to track when
other bloggers link to your blog. This could also potentially be useful on larger
Intranets to reference other blogs that are part of other Social Office or Liferay Portal
installations.
Site Applications                                                                     41
Sites
 Forums
      Social Office's Forums are one of the most widely used collaboration features
provided by the product. The application is a state of the art forum application similar
to many forums in which you may have participated. There are countless web sites
out there where it's clearly evident that there is no link whatsoever between the main
site and the message boards. In some cases, users are even required to register twice:
once for the main site and once for the message boards. By providing a message
boards application along with all of the other applications, Social Office can provide a
unique, integrated approach, which is essential when creating an environment for
people to work together and collaborate. We've already taken care of the integration
of applications, so you can concentrate on using the tools we provide to streamline
your workflow and improve the efficiency of business processes.
     The Forums application is very straightforward to set up. To start, you'll want to
configure who has access to the Moderator functions of the Forums, so click on Per
missions.
42                                                                    Site Applications
                                                                                  Sites
       Permissions
     This page allows you to define which roles have the ability to add a category of
threads or to ban abusive users from the forums. Select the roles and permissions you
want to configure and then click Submit. You may want to set up a specific User Role
for this. User Roles are covered in Chapter 5: The Control Panel.
Site Applications                                                                   43
Sites
44                                                                      Site Applications
                                                                                     Sites
number of posts, and the number of participants in your forums. It also has a list of
who the top posters to your forums are. The Banned Users tab shows all of the users
who have been banned from posting on the forums.
     To post a new message thread, go to the Categories link, click on a category, and
then click on the Post New Thread button. You'll see a message editing form. The
body field on this form is different from that of the other applications in Social Office.
The reason for this is to support BBCode, which is a standard form of markup used in
many message board products. Users who have Moderator access to the board can
modify the priority of messages. You can also use the editor to quote from messages
that you're replying to.
     Messages that are posted to the forums are shown by default in a threaded view,
so that replies are attached to the proper parent message. This makes it easy to follow
along with conversations.
     When viewing a message board thread, users are given several options. At the
top right of the thread are three icons, allowing users to view threads in a flat view, in
a tree view, or in a combination view. A flat view shows all of the messages in the
order in which they are posted. A tree view shows all of the messages in a threaded
view, so that replies are next to the messages they are replying to. A combination
view shows the threads at the top as subjects only, with the flat view underneath.
     When viewing a thread, users can click links allowing them to post a new thread,
subscribe to the thread they are viewing, or if they have administrative access, move
a thread to another category. Subscribing to a thread causes Social Office to send the
user an email whenever a new message is posted to the thread. If you have enabled
Site Applications                                                                      45
Sites
the mailing list feature for the category in which the thread resides, users can simply
reply to these messages in order to post back to the thread, without having to visit
your site.
    The Forums application is also highly integrated with Social Office's user
management features. Posts on the message board show users' profile pictures if they
have uploaded one for themselves, as well as the dates that users created an ID on
your site.
          Moving Threads
     Many times a user will post a thread in the wrong category. Administrators may
in this case want to move a thread to the proper category. This is very easy to do. First
click on the thread. If you have administrative access, there is a link at the top of the
thread labeled Move Thread. Click this link. You'll be presented with a simple form
which allows you to select a category to which to move the thread and a check box
which allows you to post a message explaining why the thread was moved. This
message is posted as a reply to the thread you're moving. When finished, click the
Move Thread button and the thread is moved.
          Deleting Threads
     Users with administrative access to the forums can delete threads. Sometimes
users begin discussing topics that are inappropriate or which reveal information
which should not be revealed. In this case, you can simply delete the thread from the
forums . This is easy to do. First, view the list of threads. Next to every thread is an
Actions button. Click Actions → Delete to delete the thread. This doesn't prevent users
46                                                                      Site Applications
                                                                                   Sites
         Banning Users
     Unfortunately, sometimes certain users can become abusive. If you wind up with
a user like this, you can certainly make attempts to warn him or her that the behavior
he or she is displaying is unacceptable. If this doesn't work, you can ban the user from
posting on the forums.
      Again, this is very easy to do. Find any post which was written by the abusive
user. Underneath the user's name / profile picture is a link called Ban this User. Click
this link to ban the user from the forums.
    If after taking this action the user apologizes and agrees to stop his or her
abusive behavior, you can choose to reinstate the user. To do this, click the Banned
Users tab at the top of the Forums application. This will show a list of all banned
users. Find the user in the list and click the Unban this User link.
         Splitting Threads
     Sometimes a thread will go on for a while and the discussion completely changes
into something else. In this case, you can split the thread where the discussion
diverges and create a whole new thread for the new topic. Administrative users will
see a Split Thread link on each post. To split the thread, click the link. You'll be
brought to a form which allows you to add an explanation post to the split thread.
Click Ok to split the thread.
         Editing Posts
     Administrative users can edit not only their own posts, but also all others.
Sometimes users will post links to copyrighted material or unsuitable pictures. You
can edit these posts, which allows you to redact information that should not be posted
or to censor profanity that's not allowed on your forums.
         Permissions
     Permissions can be set not only on threads, but also on individual posts. You can
choose to limit a particular conversation or a post to only a select group of people. To
do this, click the Permissions link on the post and then select among the Delete,
Permissions, Subscribe, Update, and View permissions for the particular role to which
you want to grant particular access. This function can be used to make it so some
privileged users can post on a certain thread, but others are only allowed to view it,
or any combination of the above permissions.
Wikis
     Social Office's Wiki application, like the Forums application, is a full-featured
wiki application which has all of the features you would expect of a state of the art
wiki. Again, though, it has the benefit of all of the features of the Social Office
platform. As such, it's completely integrated with Social Office's user management,
Site Applications                                                                    47
Sites
48                                                                       Site Applications
                                                                                    Sites
in the quick links. You'll see that the Main wiki has already been added for you.
     Clicking the Add Wiki button brings you to a screen which allows you to give the
wiki a name and a description. You can also set up some default permissions. When
you create a new wiki, it'll appear in a list at the top of the main page of the
application.
    Next to each wiki in the list of wiki nodes is an Actions button. This button
contains several options:
    Edit: Lets you edit the name and description of the wiki.
    Permissions: Lets you define what roles can add attachments to wiki pages, add
pages to the wiki, delete pages, import pages to the wiki, set permissions on the wiki,
subscribe to the wiki, update existing pages, and view the wiki.
     Import Pages: You can import your data from other wikis. This allows you to
migrate off of another wiki which you may be using and use the Social Office wiki
instead. You may wish to do this if you're migrating your site from a set of disparate
applications (i.e., a separate forum or a separate wiki) to Social Office, which provides
all of these features. Currently, MediaWiki is the only wiki that's supported, but
others will likely be supported in the future.
    RSS: This will bring you to an RSS feed of updates to the wiki.
    Subscribe: A user can subscribe to a wiki node and any time a page is added or
updated, Social Office will send an email to the user informing him or her what
happened.
      Delete: Deletes the wiki node. To go back to your wiki, click on its name in the
list of wikis.
Site Applications                                                                     49
Sites
 This adds a simple heading, a paragraph of text, and several links to the page. Notice
that the links are red, instead of the normal blue color. This indicates that the page
behind that link doesn't yet exist, and therefore needs to be created. If you click one
of those links, you'll be brought immediately to the editing screen you were on
previously when you edited the front page, except this time you'll be creating the
page behind the link you just clicked. Social Office will display a notice at the top of
the page stating that the page doesn't exist yet, and that you're creating it right now.
As you can see, it's very easy to create wiki pages. All you have to do is create a link
from an existing page.
     Note that at the top of the screen you can select from the Creole wiki format and
the HTML editor that comes with Social Office. We generally recommend that you
stick with the Creole format, as it allows for a much cleaner separation of content and
code. If you want all of your users to use the Creole format, you can disable the HTML
format using the portal-ext.properties file. See the Liferay Portal Administrator's Guide for
further information on this configuration file.
     At the bottom of the page editing screen, you can select categories or tags for the
article. Categories are a hierarchical list of headings under which you can create wiki
pages, and tags are lists of topics covered by your articles. Both allow you to organize
your content for searching. Tags can be created inline; categories can be created
using the Control Panel in the Tags and Categories section.
        Page Details
     When viewing a page, you can view its details by clicking the Details link which
appears in the top right of the page. This allows you to view many properties of the
page. There are several tabs which organize all of the details into convenient
categories.
          Details
     The Details tab shows various statistics about the page and also contains a few
actions that you can perform on the page.
50                                                                        Site Applications
                                                                                     Sites
          History
     This tab shows a list of all of the versions of the wiki page since it was created.
You can revert a page back to a previous state and you can also compare the
differences between versions by selecting the versions and then clicking the Compare
Versions button.
          Attachments
      The last tab is for attachments. You can attach any file to the wiki. This is mostly
used to attach images to wiki articles which can then be referenced in the text.
Referencing them using the proper WikiCreole syntax renders the image inline, which
is a nice way to include illustrations in your wiki documents.
 Members
     In order for a site to function properly, it must have members. Site owners have
the ability to allow anyone to join or to restrict membership to invitation only. They
also have the option to allow anyone to view the site or to restrict site viewing to
members only. Individual applications within each site also have configurable
permissions as to whether they can be viewed or edited by anyone or only by
members of the site. In most cases you'll want to restrict membership of a site, but
allow everyone to view certain sections of the site.
    As an example, a company's Marketing Site might have, among other things, a
Brand Style Guide and a Marketing Events Calendar. These are things that they would
Site Applications                                                                      51
Sites
want accessible to various people in the company, such as web developers or retail
associates. They would not, however, want everyone to view specifics on upcoming
promotions still in development—or the time and locations of meetings with vendors.
Using Social Office, you can easily separate items like this—with some documents and
items on a Calendar being viewable to everyone, while others would be invisible to
everyone who wasn't a member of the site.
     The standard permissions available to users are Add Discussion, Delete, Delete
Discussion, Permissions, Update, Update Discussion, and View. These are very granular
throughout the various applications, so you have a lot of flexibility in determining
who can do what, not just for the application itself, but for specific files, events,
discussions, or just about anything else.
        Adding/Removing Applications
     By default, there is a fairly large number of
applications on users' personal home pages and the Site
home pages. In some cases, you may want exactly what's
there by default, but in others, you may want less or
more.
     If a user has permission to remove a particular
application, an X will appear in the top right corner of
the application box; clicking the X will remove the
application. If a user has permission to add an
application to a page, they will see an Applications button
at the top of the screen. Clicking on it will display a
menu on the left side of the screen with a list of
applications that they can add to a page. The
applications are organized by category.
     Users own their personal home pages and are free to make changes to them. Any
changes made by one user affects only his or her personal home page. Site home
pages, on the other hand, belong to the Site, so changes made by one user will affect
all users of that Site. This is why only the Site Owner, Social Office Administrator, or
someone given increased permissions via User Roles in the Control Panel can modify
the Site home page.
Layouts
52                                                                    Site Applications
                                                                                 Sites
    You can also apply layouts to Site and personal home pages. We suggest
experimenting with a variety of layouts to determine what works best for your site
and your users.
       Announcements
     The Announcements application is Social Office's main method of conveying
information to larger groups of users at once. You can make announcements to all
other users or only to members of a specific site.
     The Announcements application is displayed in two places: the user's home page
and the site home page. The Announcements application displays different
information for each user based on the user's site membership. For example, if a user
is a member of the Sales site, but is browsing the home page of the Marketing site, he
will see announcements from Sales in the Announcements application, not
announcements from Marketing.
     By default, only Administrators or site owners can post announcements. They
can also create a User Role (via the Control Panel) with the ability to post
announcements. See Chapter 5: The Control Panel, for more information about
creating User Roles.
Site Applications                                                                  53
Sites
54                                                                      Site Applications
                                                                                   Sites
nouncements post or expire off the list when you're unavailable to manually make
changes. By default, all announcements expire one month after they are first posted,
but you can increase or decrease the amount of time each item is displayed.
    Clicking the Manage Entries button will bring you to a screen displaying all
announcements and allow you to edit or delete them. You can use this to fix any
errors in existing entries or to remove unwanted entries. You can also add entries
from this page.
 Summary
     Social Office provides an environment for easy collaboration with one another.
All of the applications are geared toward working together and informing the team
about everyone's activities. This environment facilitates the easy sharing of data and
seamless communication among teammates. You'll find that it's much easier to work
together on common tasks when using Social Office.
Summary                                                                              55
4. CONTROL PANEL
      Once Liferay Social Office is successfully installed, you can begin configuring it to
fit it to your environment and your particular collaboration needs. You can perform
many of these configuration tasks through Social Office's control panel.
    You'll want to customize Social Office by configuring various settings such as
email notifications, integration with services such as LDAP, creating users, user
groups, and roles, and readying your installation to have its content and applications
loaded by users. This chapter covers the following activities:
     •    Social Office's User Interface: How to navigate around Social Office and make
          use of the Control Panel.
     •    Social Office Administration: How to administer a Social Office install.
     •    Global Settings: Password policies, Settings, Monitoring, and more.
    All of the functions that you'll need to maintain Social Office or its content is
found in the Control Panel.
Users
     Users are accounts on the system which are accessed by real people. Users can be
collected in multiple ways. They can be members of sites which draw together
common interests. They can have roles which describe their functions in the system,
and these roles can be scoped by Portal or Site. They can also be collected into User
Groups.
Roles
     There are two kinds of roles:
     ●    Portal Roles
     ●    Site Roles
    These are called role scopes. Roles are used to define permissions across their
scope: across the portal or across a site. For example, consider a role which grants
access to create a Message Board category. A Portal role would grant that access
across the portal, wherever there was a Message Board portlet. A Site role would
grant that access only within a single site.
     Because Roles are used strictly for security, they also don't have pages, like Sites.
     Users or Sites can be members of a role.
Sites
      Sites are collections of Users who have a common interest. There are two types
of Sites:
     •    Open
     •    Private
    An Open Site (the default) allows Social Office users to join and leave the Site
whenever they want to, using the Control Panel or a Sites portlet added to a page to
which they have access. A Private site requires that users be added to the Site by a site
administrator and doesn't show up at all in the Sites portlet or the Control Panel.
User Groups
    User Groups are simple, arbitrary collections of users, created by administrators.
They can be members of sites or roles. Permissions cannot be assigned to User
Groups. Though User Groups don't have pages sites, they do have page templates
which can be used to customize users' personal sets of pages. This is fully described
below.
Adding Users
    Let's begin by adding a user account for yourself. We will then configure this
account so that it has the same administrative access as the default administrator
account. Go up to the global navigation area and click the Control Panel link, if you
aren't there already. Then under the Portal category, click Users. Click the Add button.
   You'll then be presented with the Add User form. Fill out the form using your
name and email address. When you're finished, click Save.
     The page will then reappear with a message saying that the save was successful,
and there will now be an expanded form which allows you to fill out a lot more
information about the user. You don't have to fill anything else out right now, but one
thing is important to note: when the user ID was created, a password was
automatically generated and, if Social Office has been correctly installed (see Chapter
2), an email message with the password in it was sent to the user. This of course
requires that Social Office can properly communicate with your SMTP mail server in
your organization.
    If you have not yet set up your mail server, you'll need to use this screen to
change the default password for the user ID to something you can remember. You can
do this by clicking on the Password link in the box on the right, entering the new
password in the two fields, and clicking Save.
 User Management
     If you click the Users link on the left of the Control Panel, you'll see that there are
now two users in the list of users. If you wanted to change something about a
particular user, you can click the Actions button next to that user.
    Edit User: This takes you back to the Edit User page, where you can modify
anything about the user.
     Permissions: This allows you to define which Roles have permissions to edit the
user.
    Impersonate User: This opens another browser window which allows you to
browse the site as though you were the user.
    Deactivate: Clicking this will deactivate the user's account.
    Note that most users can't perform most of the above (in fact, they won't even
have access to this section of the Control Panel). Because you have administrative
access, you can perform all of the above functions.
Roles
     Roles are groupings of users that share a particular function within Social Office,
according to a particular scope. Roles can be granted permissions to various functions
within portlet applications. Think of a role as a description of a function, such as
Message Board Administrators. A role with that name is likely to have permissions to
functions of the Message Board portlet delegated to it. Users who are placed in this
role then inherit those permissions.
     Roles are scoped by Portal or Site. The Control Panel makes it easy for you to
assign users to Roles and to assign permissions to Roles. You only have to go to one
place: the Roles link. From there, you can add roles scoped by Portal or Site from one
interface.
     To create a Role, click the Roles link, and then click the Add button. Type a name
for your role and an optional description. The drop down box at the bottom of the
form lets you choose whether this is a Regular or Site role. When you have finished,
click Save.
    You'll be back at the list of roles. To see what functions you can perform on your
new role, click the Actions button.
    Edit: Click this action to edit the role. You can change its name or description.
    Permissions: This allows you to define which Users, User Groups, or Roles have
permissions to edit the Role.
     Define Permissions: Click this to define what permissions this role has. This is
outlined in the next section.
     Assign Members: Takes you to a
screen where you can search and
select users in the portal to be assigned
to this role. These users will inherit
any permissions given to the role.
    View Users: Lets you view the
users who are in the Role.
     Delete: Deletes the Role.
        Defining Permissions on a
       Role
     Roles exist as a bucket for
granting permissions to the users who
are members of them. So one of the
main tasks you'll be doing with a role
is granting it the permissions that you
want members of the role to have.
     When you click the Define Permis
sions action on a Portal scoped Role,
you're given a choice of two kinds of
permissions that can be defined for
this role: Portal Permissions and Portlet
Permissions. For other Roles, you only
see the portlet permissions.
     Portal     permissions     cover
portal-wide activities that are in
several categories, such as Site,
Location, Password Policy, etc. This
allows you to create a Role that, for
example, can create new Sites in the
portal. This would allow you to grant
users that particular permission
without making them overall portal
administrators.
     Portlet permissions cover permis
sions that are defined within various
portlets. Since Social Office inherits
from the design of Liferay Portal, its
applications are referred to in the
Control Panel as portlets. If you're
familiar, therefore, with Liferay Portal,     Illustration 24: Message Boards permissions.
administering Social Office is the same exact experience. Clicking the Portlet Permis
sions button brings you to a page where you can browse the names of the portlets that
are currently installed in your portal. Once you choose a portlet, you can then define
the actions within this portlet that the role will have permission to perform.
    If we stick with our example of a Message Boards Admin role, we would then find
the Message Boards portlet in the list and click on it. A new page with configurable
permissions would then be displayed (see above).
    Each possible action to which permissions can be granted is listed. To grant a
permission, choose the scope of the permission. You have two choices: Portal and
Communities. These labels are inherited from Liferay Portal, but they correspond to
global Social Office permissions and Site permissions. Granting Portal permissions
means that permission to the action is granted across Social Office, in any site where
there is a Message Boards portlet.
     If you choose Communities, a button appears next to the permission allowing
you to choose one or more sites in which the permission is invalid. This lets you pick
and choose specific sites (for a portal scoped role) in which these permissions are
valid for users in this role.
      Once you have chosen the permissions granted to this role, click Save. For a Mes
sage Boards Admin role, you would likely grant Portal permissions to every action
listed. After you click Save, you'll see a list of all permissions that are currently
granted to this role. From here, you can add more permissions (by clicking Add Portlet
Permissions or Add Portal Permissions), or go back by clicking a link in the breadcrumb
list or the Return to Full Page link.
    Roles are very powerful, and allow portal administrators to define various per
missions in whatever combinations they like.
User Groups
     User Groups are arbitrary groupings of users. These groups are created by portal
administrators to group users together who don't have an obvious aspect which
brings them together. Groups cannot have permissions like roles, but User Groups can
be added to Roles. Why would you use User Groups, then? They come into play when
you have complex security requirements and for page templates, which we will
discuss below.
    Creating a User Group is easy. Click the User Groups link and then click the Add
button. There are only two fields to fill out: Name (the name of the User Group) and
Description (an optional description of what the group is for). Click Save and you'll
then be back to the list of groups.
     As with the other resources in the portal, you can click the Actions button to
perform various operations on User Groups.
    Edit: Allows you to modify the name or description of the User Group.
    Permissions: This allows you to define which Users, User Groups, or Roles have
permissions to edit the User Group.
     Manage Pages: Though User Groups don't have pages of their own, you can cre
ate page templates for a group. When a User Group has page templates, any users
added to the group will have the group's pages copied to their personal pages. This al
lows you to do things like create a Bloggers user group with a page template that has
the Blogs and Recent Bloggers portlets on it. The first time users who are added to
this group log in to the portal, this page will get copied to their personal pages. They
will then automatically have a blog page that they can use.
    Assign Members: Takes you to a screen where you can search for and select
users in the portal to be assigned to this User Group.
     View Users: Lets you view the users who are in the User Group.
     Delete: Deletes the User Group.
         User Group Page Templates: Defining page templates for a user group
    The a User Group's page templates can be administered using the Control Panel.
The User Groups link lists all the existing user groups and allows you to perform
several actions on each of them.
         Additional details
     Because the pages are copied to a user's set of pages, those pages are now owned
by the user and they can be changed at any time if Social Office is set up to allow users
to edit their personal pages. When a user is removed from a user group the associated
pages won't be removed: they have become that user's pages. The system is smart
enough, however, to detect when a user is added again to a group of which he or she
was already a part, and the pages are not added again.
     If an administrator modifies page templates for a User group after users have
already been added to the group, those changes are reused when new users are
assigned to the user group. Since the pages are templates, however, the changes
won't be applied to users that were already members of the user group.
tive Students. For each of these types of students we want them to have a page with the
Currency Converter and Calendar, but depending on which type we also want other
different portlets on that page too.
    This can be achieved by using a naming convention for the pages. If two or more
pages of different user groups have the same name, they are recombined into a single
page when they are copied to a user's personal pages set.
     In the example above, a User was added to a Students group which had a page
called You are a Student. If the administrator creates a page template with the same
name (You are a Student) in the First Year Students group and puts in it an RSS portlet
pointing to information interesting for them, that page would be combined with the
You are a Student page that's in the Students group, and the resulting page would
contain the portlets configured for both User Groups.
Password Policies
     Password policies can help to enhance the security of Social Office. Using
password policies, you can set password rules such as password strength, frequency
of password expiration, and more. Additionally, you can apply different rule sets to
different sets of portal users.
     In the Control Panel, click on the Password Policies link on the left side of the
screen in the Portal category. You'll see that there is already a default password policy
in the system. You can edit this in the same manner as you edit other resources in the
portal: click Actions and then click Edit.
    You'll then see the Password Policy settings form:
    Changeable: Selects whether a user can change his or her password.
      Change Required: Selects whether a user must change his or her password upon
first log in.
    Minimum Age: You can choose how long a password must remain in effect
before it can be changed.
    Syntax Checking: Allows you to choose whether dictionary words can be in
passwords as well as the minimum password length.
    Password History: Keeps a history (with a defined length) of passwords and
won't allow users to change their passwords to one that was previously used.
     Password Expiration: Lets you choose an interval where passwords can be
active before they expire. You can select the age, the warning time, and a grace limit.
     Lockout: Allows you to set the number of failed log in attempts before a user's
account becomes locked. You can choose whether an administrator needs to unlock
the account or if it becomes unlocked after a specific duration.
    From the list of password policies, you can perform several other actions.
    Edit: Brings you to the form above and allows you to modify the password policy.
    Permissions: This allows you to define which Users, User Groups, or Roles have
permissions to edit the Password Policy.
     Assign Members: Takes you to a screen where you can search and select users
to be assigned to this password policy. The password policy is enforced for any users
who are added here.
     Delete: This shows up for any password policies that you add beyond the default
policy. You cannot delete the default policy.
Settings
    The Settings link is where most of the global settings are:
   General: This lets you configure global settings, such as the company name,
domain, the virtual host, a global portal logo, and more.
    Authentication: Allows you to configure login IDs, connection to LDAP, and Sin
gle Sign-On.
    Default User Associations: Lets you configure default membership to Roles,
User Groups, and Sites for new users.
     Reserved Credentials: Lets you reserve screen names and email addresses so
that users cannot register using them. You might use this to prevent users from
registering on the portal with user names that contain profanity or that sound
official, such as admin or president.
    Mail Host Names: You can add a list of other mail servers besides your main one
here.
    Email Notifications: Social Office sends email notifications for certain events,
such as user registrations, password changes, etc. You can customize those messages
here.
     We will go over these settings in detail below.
General
    The General link allows you to set the name of the company / site which is
running the portal.
    •     Enable / Disable email address verification. If you enable this, Social Office,
          will send users a verification email with a link back to the portal to verify
          the email address they entered is a valid one they can access.
     By default, all settings except for the last are enabled by default. One default
that's important is that users will authenticate by their email address. Social Office
defaults to this for several reasons:
    1.    An email address is, by definition, unique to the user who owns it.
    2.    People can generally remember their email addresses. If you have a user
          who hasn't logged into the portal for a while, it's possible that he or she will
          forget his or her screen name, especially if the user was not allowed to use
          his or her screen name of choice (because somebody else already used it).
    3.    If a user changes his or her email address, if it's not used to authenticate, it's
          more likely that the user will forget to update his or her email address in his
          or her profile. If the user's email address is not updated, all notifications
          sent by the portal will fail to reach the user. So it's important to keep the
          email address at the forefront of a user's mind when he or she logs in to
          help the user keep it up to date.
   For these reasons, Social Office defaults to using the email address as a user
name.
Authentication: LDAP
    Connecting Social Office to an LDAP directory is a straightforward process
through the Control Panel. Configuring LDAP in the control panel will allow you to
setup multiple LDAP servers.
    The LDAP settings screen is very detailed, so we will look at it in chunks.
         Global Values
    There are two global LDAP settings.
    Enabled: Check this box to enable LDAP Authentication.
     Required: Check this box if LDAP authentication is required. Social Office will
then not allow a user to log in unless he or she can successfully bind to the LDAP
directory first. Uncheck this box if you want to allow users that have Social Office
accounts but no LDAP accounts to log in to the portal.
     Managing LDAP servers in Social Office is done by adding LDAP server
configurations. To add an LDAP server for Social Office to use, click on the Add button.
Here you’ll be presented with configuration options that will allow Social Office to
communicate with your LDAP server—these are described in detail below. After you
have configured some LDAP servers for Social Office to use, you’ll notice that you can
also edit, delete and order your servers in the list. Be mindful of how you order them
because Social Office will attempt to authenticate to LDAP from your list of servers in
order from top to bottom.
    Furthermore, the first LDAP server is considered your default LDAP server; any
interactions where a user cannot be matched to one of the servers in the list—such as
exporting a new user—will occur on the first LDAP server.
          Default Values
     Several leading directory servers are listed here. If you're using one of these,
select it and the rest of the form is populated with the proper default values for that
directory.
          Connection
     These settings cover the basic connection to LDAP.
     Base Provider URL: This tells the portal where the LDAP server is located. Make
sure that the machine on which Social Office is installed can communicate with the
LDAP server. If there is a firewall between the two systems, check to make sure that
the appropriate ports are opened.
    Base DN: This is the Base Distinguished Name for your LDAP directory. It's
usually modeled after your organization. For a commercial organization, it may look
something like: dc=companynamehere,dc=com.
     Principal: By default, the administrator ID is populated here. If you have
removed the default LDAP administrator, you'll need to use the fully qualified name
of the administrative credential you do use. You need an administrative credential
because Social Office is using this ID to synchronize user accounts to and from LDAP.
     Credentials: This is the password for the administrative user.
     This is all you need in order to make a regular connection to an LDAP directory.
The rest of the configuration is optional: generally, the default attribute mappings are
sufficient data to synchronize back to the Social Office database when a user attempts
to log in. To test the connection to your LDAP server, click the Test LDAP Connection
button.
     If you're running your LDAP directory in SSL mode to prevent credential
information from passing through the network unencrypted, you'll have to perform
extra steps to share the encryption key and certificate between the two systems.
    For example, assuming your LDAP directory is Microsoft Active Directory on
Windows Server 2003, you would take the following steps to share the certificate:
     On the Windows 2003 Domain Controller, open the Certificates MMC snapin.
Export the Root Certificate Authority certificate by selecting Certificates (Local
Computer)    mmc     snapin     ->   Trusted     Root   Certification    Authorities     ->
MyRootCACertificateName. Right click this certificate and select All Tasks -> export -> se
lect DER encoded binary X.509 .CER. Copy the exported .cer file to your Social Office
server.
    As with the CAS install (see the below section entitled Single Sign-On), you'll
need to import the certificate into the cacerts keystore. The import is handled by a
command like the following:
keytool -import -trustcacerts -keystore
    Save the changes. Your Social Office server will now use LDAP in secure mode for
authentication.
          Users
     This section contains settings for finding users in your LDAP directory.
     Authentication Search Filter: The search filter box can be used to determine
the search criteria for user logins. By default, Social Office uses the email address as a
user login name. If you have changed this setting—which can be done on the General
tab that's next to the LDAP tab in the Settings->Authentication section of the Control
Panel—you'll need to modify the search filter here, which has by default been
configured to use the email address attribute from LDAP as search criteria. For
example, if you changed Social Office's authentication method to use the screen name
instead of the email address, you would modify the search filter so that it can match
the entered login name:
 (cn=@screen_name@)
     Import Search Filter: Depending on the LDAP server, there are different ways to
identify the user. Generally, the default setting (objectClass=inetOrgPerson) is fine, but if
you want to search for only a subset of users or users that have different object
classes, you can change this.
     User Mapping: The next series of fields allows you to define mappings from
LDAP attributes to Social Office fields. Though your LDAP user attributes may be
different from LDAP server to LDAP server, there are five fields that Social Office
requires to be mapped in order for the user to be recognized. You must define a
mapping to the corresponding attributes in LDAP for the following Social Office fields:
     •    Screen Name
     •    Password
     •    Email Address
     •    First Name
     •    Last Name
     The Control Panel provides default mappings for commonly used LDAP
attributes. You can also add your own mappings if you wish.
     Test LDAP Users: Once you have your attribute mappings set up (see above),
click the Test LDAP Users button, and Social Office will attempt to pull LDAP users and
     Users DN: Enter the location in your LDAP tree where the users are stored. When
Social Office does an export, it will export the users to this location.
     User Default Object Classes: When a user is exported, the user is created with
the listed default object classes. To find out what your default object classes are, use
an LDAP browser tool such as JXplorer to locate a user and view the Object Class
attributes that are stored in LDAP for that user.
   Groups DN: Enter the location in your LDAP tree where the groups are stored.
When Social Office does an export, it will export the groups to this location.
     Once you have completed configuring LDAP, click the Save button. This will take
you back to the General tab under Settings. Click the LDAP tab to get back to the LDAP
settings, where you can define the global LDAP settings as shown below.
      Though most of the LDAP configuration can be done from the Control Panel,
there are several configuration parameters that are only available by editing por
tal-ext.properties. These options are available in the GUI in future versions of Social
Office, but for now they can only be configured by editing the properties file.
      If you need to change any of these options, copy the LDAP section from the por
tal.properties file into your portal-ext.properties file. Note that since you have already
configured LDAP from the GUI, any settings from the properties file that match
settings already configured in the GUI is ignored. The GUI, which stores the settings
in the database, always takes precedence over the properties file.
ldap.auth.method=bind
#ldap.auth.method=password-compare
     Set either bind or password-compare for the LDAP authentication method. Bind
is preferred by most vendors so that you don't have to worry about encryption
strategies. Password compare does exactly what it sounds like: it reads the user's
password out of LDAP, decrypts it, and compares it with the user's password in Social
Office, syncing the two.
ldap.auth.password.encryption.algorithm=
ldap.auth.password.encryption.algorithm.types=MD5,SHA
     If you set this to user, Social Office will import all users from the specified portion
of the LDAP tree. If you set this to group, Social Office will search all the groups and
import the users in each group. If you have users who don't belong to any groups,
they will not be imported.
     ldap.error.password.age=age
     ldap.error.password.expired=expired
     ldap.error.password.history=history
     ldap.error.password.not.changeable=not allowed to change
     ldap.error.password.syntax=syntax
     ldap.error.password.trivial=trivial
     ldap.error.user.lockout=retry limit
     These properties are a list of phrases from error messages which can possibly be
returned by the LDAP server. When a user binds to LDAP, the server can return con
trols with its response of success or failure. These controls contain a message
describing the error or the information that's coming back with the response. Though
the controls are the same across LDAP servers, the messages can be different. The
properties described here contain snippets of words from those messages, and will
work with Red Hat's Fedora Directory Server. If you're not using that server, the word
snippets may not work with your LDAP server. If they don't, you can replace the
values of these properties with phrases from your server's error messages. This will
enable Social Office to recognize them.
Single Sign-On
      Single Sign-On solutions allow you to provide a single log in credential for
multiple systems. This allows you to have people authenticate to the Single Sign-On
product and they are automatically logged in to Social Office and to other products as
well.
      Social Office at the time of this writing supports several single sign-on solutions.
Of course if your product is not yet supported, your organization can choose to
sponsor support for it. Please contact sales@liferay.com for more information about
this.
     Instead of the password in the example (changeit), use a password that you can
remember. If you're not using Tomcat, you may want to use a different alias as well.
For First and Last name, enter localhost, or the host name of your server. It cannot be
an IP address.
     To export the key to a file, use the following command:
keytool    -export    -alias    tomcat    -keypass    changeit    -file   server.cert
     Finally, to import the key into your Java key store, use the following command:
keytool -import -alias tomcat -file %FILE_NAME%                   -keypass    changeit
-keystore $JAVA_HOME/jre/lib/security/cacerts
This is a simple matter of navigating to the Settings -> Authentication -> CAS tab in the
Control Panel. Enable CAS authentication, and then modify the URL properties to
point to your CAS server.
     Enabled: Set this to true to enable CAS single sign-on.
     Import from LDAP: A user may be authenticated from CAS and not yet exist in
the portal. Select this to automatically import users from LDAP if they don't exist in
the portal.
     The rest of the settings are various URLs, with defaults included. Change localhost
in the default values to point to your CAS server. When you're finished, click Save.
After this, when users click the Sign In link from the Dock, they are directed to the
CAS server to sign in to Social Office.
        Authentication: NTLM
     NTLM is a Microsoft protocol that can be used for authentication through
Microsoft Internet Explorer. Though Microsoft has adopted Kerberos in modern
versions of Windows server, NTLM is still used when authenticating to a workgroup.
     Enabled: Check the box to enable NTLM authentication.
    Domain Controller: Enter the IP address of your domain controller. This is the
server that contains the user accounts you want to use with Social Office.
     Domain: Enter the domain / workgroup name.
        Authentication: OpenID
      OpenID is a new single sign-on standard which is implemented by multiple
vendors. The idea is that multiple vendors can implement the standard, and then
users can register for an ID with the vendor they trust. The credential issued by that
vendor can be used by all the web sites that support OpenID. Some high profile
OpenID vendors are AOL (http://openid.aol.com/screenname), LiveDoor (http://pro
file.livedoor.com/username), and LiveJournal (http://username.livejournal.com).
Please see the OpenID site (http://www.openid.net) for a more complete list.
     The obvious main benefit of OpenID for the user is that he or she no longer has to
register for a new account on every site in which he or she wants to participate. Users
can register on one site (the OpenID provider's site) and then use those credentials to
authenticate to many web sites which support OpenID. Many web site owners often
struggle to build sites because end users are reluctant to register for so many
different accounts. Supporting OpenID makes it easier for site owners to build their
sites because the barriers to participating (i.e., the effort it takes to register for and
keep track of many accounts) are removed. All of the account information is kept with
the OpenID provider, making it much easier to manage this information and keep it
up to date.
     Social Office can act as an OpenID consumer, allowing users to automatically
register and sign in with their OpenID accounts. Internally, the product uses OpenID4
Java (http://code.google.com/p/openid4java/) to implement the feature.
     OpenID is enabled by default in Social Office, but can be disabled on this tab.
         Atlassian Crowd
    Atlassian Crowd is a web-based Single Sign-On product similar to CAS. Crowd can
be used to manage authentication to many different web applications and directory
servers.
     Because Atlassian Crowd implements an OpenID producer, Social Office works
and has been tested with it. Simply use the OpenID authentication feature in Social
Office to log in using Crowd.
        Authentication: OpenSSO
     OpenSSO is an open source single sign-on solution that comes from the code base
of Sun's System Access Manager product. Social Office integrates with OpenSSO,
allowing you to use OpenSSO to integrate Social Office into an infrastructure that
contains a multitude of different authentication schemes against different
repositories of identities.
     You can set up OpenSSO on the same server as Social Office or a different box.
Follow the instructions at the OpenSSO site (http://opensso.dev.java.net) to install
OpenSSO. Once you have it installed, create the Social Office administrative user in it.
Users are mapped back and forth by screen names. By default, the Social Office admin
istrative user has a screen name of test, so in OpenSSO, you would register the user
with the ID of test and an email address of test@liferay.com. Once you have the user set
up, log in to Open SSO using this user.
      In the same browser window, go to the URL for your server running Social Office
and log in as the same user, using the email address test@liferay.com. Go to the Control
Panel and click Settings -> Authentication -> OpenSSO. Modify the three URL fields (Login
URL, Logout URL, and Service URL) so that they point to your OpenSSO server (i.e.,
only modify the host name portion of the URLs), click the Enabled check box, and then
click Save. Social Office will then redirect users to OpenSSO when they click the Sign
In link.
        Authentication: SiteMinder
     SiteMinder is a single sign-on implementation from Computer Associates. Social
Office now has built-in integration with SiteMinder. SiteMinder uses a custom HTTP
header to implement its single sign-on solution.
     To enable SiteMinder authentication in Social Office, check the Enabled box on
the SiteMinder tab. If you're also using LDAP with Social Office, you can check the Im
port from LDAP box. If this box is checked, user authenticated from SiteMinder that
don't exist in the portal is imported from LDAP.
     The last field defines the header SiteMinder is using to keep track of the user.
The default value is already populated. If you have customized the field for your
installation, enter the custom value here.
    When you're finished, click Save.
     The Default User Associations link has three fields allowing you to list (one per
line) sites, roles, and user groups that you assign new users by default. Social Office's
default is to assign new users both the Users role and the Power Users role.
      The Power Users role allows used to allow users to have their own set of pages.
This is now provided to all users and can be modified using the portal-ext.properties
file. You can now use the Power Users role to provide your own differentiation
between regular users and users to whom you wish to give more privileges in the
portal, or you can remove it altogether.
    If you have defined other user groups, sites, or roles that you want assigned to
newly created users by default, enter them here. For example, you may have defined
page templates in certain user groups to pre-populate end users' private pages. If
there's a particular configuration that you want everyone to have, you may want to
enter those user groups here.
        Reserved Credentials
     The next link is Reserved Credentials. You can enter screen names and email
addresses here that you don't want others to use. Social Office will then prevent users
from registering with these screen names and email addresses. You might use this
feature to prevent users from creating IDs that look like administrative IDs or that
have reserved words in their names.
        Email Notifications
     There are three tabs under the Email Notifications link. The Sender tab allows you
to set the portal administration name and email address. By default, this is Joe Bloggs
and test@liferay.com. You can change it to anything you want. This name and address
will appear in the From field in all email messages sent by the portal.
     The other two tabs (Account Created Notification and Password Changed Notification)
allow you to customize the email messages that are sent to users on those two events.
A list of tokens for inserting certain values (such as the portal URL) is given if you
wish to use those.
        Identification
     The identification section has several links for addresses, phone numbers, and
other information you can configure in your portal. This allows you to set up contact
information for the organization that's running the installation of Social Office.
can also set the site-wide logo which appears in the top left corner of each page. Be
careful when using this option to choose an image file that fits the space. If you pick
something that's too big, it will mess up the navigation.
Monitoring
     The next link on the left side of the Control Panel is for monitoring. Using this,
you can see all of the live sessions in the portal. For performance reasons, this setting
is generally turned off in production, but if you have it turned on, you can view the
active sessions here.
Server Administration
     The Server Administration link lets you perform various tasks relating to admin
istration of the overall Social Office installation, as opposed to administering
resources in the site. Clicking the link makes this abundantly clear: you're
immediately presented with a graph showing the resources available in the JVM.
        Resources
    The first tab is called Resources. This tab contains the aforementioned graph plus
several server wide actions that an administrator can execute. These are:
    •    Garbage collection: You can send in a request to the JVM to begin the
         garbage collection task.
    •    Clearing caches: You can send in a request to the JVM to clear a single VM
         cache, the cluster cache, or the database cache.
    •    Reindex: You can send in a request to regenerate all search indexes.
    •    Generate Thread Dump: If you're performance testing, you can generate a
         thread dump which can be examined later to determine if there are any
         deadlocks and where they might be.
        Log Levels
     Here you can dynamically modify the log levels for any class hierarchy in the
portal. If you have custom code that you have deployed which isn't in the list, you can
use the Add Category tab to add it. If you change the log level near the top of the class
hierarchy (such as at com.liferay), all the classes under that hierarchy will have their
log levels changed. If you're testing something specific, it's much better to be as
specific as you can when you change log levels, as by modifying them too high in the
hierarchy you can generate a lot more log messages than you probably need.
        System Properties
    This tab shows an exhaustive list of system properties for the JVM, as well as
many Social Office system properties. This information can be used for debugging
purposes or to check the configuration of the currently running portal.
        Portal Properties
     This tab shows an exhaustive list of the portal properties. These properties are
customizable, which you'll see in the next chapter. If you need to check the current
value of a particular property, it can be viewed from this screen without having to
shut down the portal or open any properties files.
        Shutdown
    If you ever need to shut down your Social Office server while users are logged in,
you can use the Shutdown tab to inform your logged-in users of the impending
shutdown. You can define the number of minutes until the shutdown and a custom
message that is displayed.
     Users will see your message at the top of their portal pages for the duration of
time you specified. When the time expires, all portal pages will display a message
saying the portal has been shut down. At this point, restart the server to restore
access.
        OpenOffice
    Social Office contains a Document Library application. This application allows
users to upload documents in many formats into a folder structure that they define.
     OpenOffice.org is an open source office suite which is normally run in graphical
mode to create documents, but it can be run in “server” mode. When run in server
mode, OpenOffice.org can be used to convert documents to and from all of the file
types it supports. Social Office's Document Library application can make use of this
feature to automatically convert documents on the fly.
     You would use this tab to tell Social Office how to connect to your running
instance of OpenOffice.org. You can install OpenOffice.org on the same server upon
which Social Office is running. Once you have it installed, you can start
OpenOffice.org in server mode with the following command:
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;"
-nofirststartwizard
     As you can see, the command above specifies that OpenOffice.org will run on
port 8100, which is the default port in the Control Panel. If you can use this port, all
you need to do is check the Enabled box, and Social Office is integrated with
OpenOffice.org.
     If you have something else running on this port, find a port that's open and
specify it both in the command above and on the Control Panel's OpenOffice.org
configuration page. When you're finished, click Save.
 Summary
     We went in-depth through Social Office's Control Panel. Using the Control Panel,
we learned how to manage users and roles. We also learned how to configure various
server settings, such as authentication, LDAP integration, and single sign-on. We also
learned how to associate users by default with different sites and roles, and we saw
82                                                                            Summary
                                                                      Control Panel
how to reserve screen names and email addresses so that users cannot register in the
portal with them.
     Next, we saw how to view and configure overall server settings. We saw how to
view the memory currently being used by the server, as well as how to initiate
garbage collection, a thread dump, search engine re-indexing, and the clearing of
various caches. We learned how to debug parts of the portal by changing log levels,
and by viewing the various properties that are defined in the portal.
   Finally, we learned how to properly notify users that the portal is about to shut
down and how to enable the OpenOffice.org integration.
All of this information should help to bring you well on your way to becoming a
seasoned Liferay Social Office Administrator.
Summary 83