Skip to end of metadata
Go to start of metadata

Profile2

Lead: Steve Swinsburg
Committers: Daniel Robinson, Adrian Fish

Description: Profile2 is a complete re-design and re-development of the existing Profile tool in Sakai. It gives you more of a Facebook style interface for editing your profile. In addition you have a comprehensive set of Privacy controls to allow you to choose who can see what part(s) of your Profile.

With Profile2 you can post updates (integrated with Twitter), search for people with common interests, view their profiles, view their connections, add them as a connection, send private messages, upload and share pictures, and much more.

Profile2 can be run seamlessly alongside the existing profile in Sakai to allow you to evaluate both profile tools. If you've never used the profile tool in Sakai before, now is the time to start.

The development of Profile2 started as part of an ESRC e-Social Science award at Lancaster University in 2008.

See it in action

See the presentation from the 2010 Sakai conference in Denver: Profile2 - Social networking for Sakai 2

Profile2 releases:

The latest version in the 1.4 series (requires Sakai 2.8+) is:
1.4.6 released 23rd January 2011 (changelog)

The latest version in the 1.3 series (Sakai 2.4 onwards) is:
1.3.18 released 9th September 2011 (changelog) (Note that there was no 1.3.16 or 1.3.17 release)

Previous releases in the 1.4 series:
1.4.5 released 21st November 2011 (changelog) (release announcement) (Note that there was no official 1.4.4 release)
1.4.3 released 30th September 2011 (changelog) (release announcement)
1.4.2, released 11th August 2011 (changelog) (Note that there was no 1.4.1 release)
1.4.0, released 12th April 2011 (changelog)

Earlier releases:
1.3.15 released 11th April 2011 (changelog) (release announcement)
1.3.14 released 28th February 2011 (changelog) (release announcement)
1.3.13, released 22nd October 2010 (changelog)
1.3.12, released 25th August 2010 (changelog) (release announcement)
1.3.11, released 20th August 2010 (changelog) (release announcement)
1.3.10, released 12th August 2010 (changelog) (release announcement)
1.3.9, released 9th July 2010 (changelog) (release announcement)
1.3.8, released 24th May 2010 (changelog)
1.3.7, released 27th April 2010 (changelog)
1.3.6, released 25th March 2010 (changelog)
1.3.5, released 4th March 2010 (changelog)
1.3.4, released 6th January 2010 (changelog)
1.3.3, released 19th December 2009 (changelog)
1.3.2, released 18th December 2009 (changelog)
1.3.1, released 18th December 2009 (changelog)
1.3.0, released 18th December 2009 (changelog)
1.2.1, released 12th August 2009 (changelog)
1.2, released 17th July 2009 (changelog)
1.1, released 6th April 2009 (changelog)
1.0.1, released 6th February 2009 (changelog)
1.0, released 4th February 2009

Experimental releases:
There are no current experimental releases. To see what is coming in 1.5, checkout the nightly build server: http://nightly2.sakaiproject.org:8082/portal

Want to try it out first?

Profile2 is the default Profile in Sakai 2.7 and up, but you can also try it out now on the following servers:

Both are hosted by the Sakai Foundation and are reset every 4 hours and 2.30am respectively, Eastern US time.

Version compatibility

 

2.4

2.5

2.6

2.7

2.8

2.9

2.10

1.3.x 1

(tick)

(tick)

(tick)

(tick)

(tick)

(warning)

(warning)

1.4.x 2

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

1.5.x 3

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

1.6.x 4

(error)

(error)

(error)

(error)

(tick)

(tick)

(tick)

1. 1.3.x is compatible with all versions of Sakai, is bundled in Sakai 2.7 and has demonstrated production experience with Sakai 2.6, however lacks some of the newer features and improvements. Note that as of Sakai 2.9, this version is longer actively supported. Security fixes may be applied but it is recommend that you upgrade.
2. 1.4.x and later depend on the ActivityService API, which is only present in Kernel 1.2.0, therefore the minimum version of Sakai required is Sakai 2.8.
3. 1.5.x is the version that ships with Sakai 2.9.0+
4. 1.6.x is the current development version.

How to get it

Check one of the following Installation Guides that is appropriate for your particular version of Sakai. This will walk you through getting the Profile2 source code and its dependencies, and then building it.

Building Profile2 on Sakai 2.4.x
Building Profile2 on Sakai 2.5.x
Building Profile2 on Sakai 2.6.x
Building Profile2 on Sakai trunk

Once you've built Profile2, continue on with the section below.

Upgrading from an older version?

You must make sure that you perform any necessary database conversion BEFORE you start Profile2, or you may run into problems later. Run the appropriate database conversion sql script found at:

PROFILE2-SRC/docs/database/<your db vendor>/

Also double check that you have removed the older version from Tomcat. Generally you only need to check TOMCAT/shared/lib to make sure that there are no suplicates of the profile2-api jars. Only the latest one should be in there. The other artifacts that are deployed to 'components' and 'webapps' should be updated automatically and no duplicates should exist.

Startup/Database Setup

Startup Sakai with auto.ddl=true in your Sakai properties as various new tables need to be created. If you cannot startup with this setting enabled, you will need to manually run the DB scripts located at:

PROFILE2-SRC/docs/database/<your db vendor>/

If you are creating the database tables for the first time, you want the appropriate profile2-ddl-....sql* (not the upgrades) for your version of Profile2.

Setting up Profile2 on MySQL?

Even if you are using auto.ddl=true for your database creation you should run the index-only sql scripts to generate the indexes on the various tables that Profile2 creates. Hibernate doesn't respect the index settings in the configuration files for MySQL, so the indexes aren't created. The index scripts are in the same directory as the creation/upgrade scripts above.

Once you've started up Sakai you'll be able to add the new Profile2 tool to My Workspace sites.

IMPORTANT See below for the sakai.properties you can use to configure Profile2 on a global level as well as the additional JAVA_OPTS you might need if you are behind a firewall/proxy.

Settings

Profile2 uses the following sakai.properties:

# Upload limit for profile pictures, in MB
profile2.picture.max=2

# Convert images from old profile to new?
profile2.convert=false

# Allow users to post status updates to Twitter? (true/false, default true)
profile2.integration.twitter.enabled=true

# Allow users to change their profile picture? (true/false, default true)
profile2.picture.change.enabled=true

# Can users upload an image or just link to an existing one? (upload/url, default upload)
# As of 1.4 this also supports the 'official' value, see the section below.
profile2.picture.type=upload

################################
## Available as of version 1.2:
################################

# Allow users to change their privacy settings? (true/false, default true)
profile2.privacy.change.enabled=true

# Override the default privacy settings with these options (0=everyone, 1=only connections, 2=only me)
# This will set the defaults for a person with no existing privacy record
# or when the privacy settings are locked (change.enabled=false)
# Key: 0=everyone, 1=only connections, 2=only me, 3=nobody
# If not specified, all properties below default to the values below
# Also note not all properties have the full range (0,1,2,3). Each is documented underneath the property itself.

profile2.privacy.default.profileImage=0
# 0,1 only
profile2.privacy.default.basicInfo=0
# 0,1,2
profile2.privacy.default.contactInfo=0
# 0,1,2
profile2.privacy.default.personalInfo=0
# 0,1,2
profile2.privacy.default.birthYear=true
# true/false
profile2.privacy.default.search=0
# 0,1 only
profile2.privacy.default.myFriends=0
# 0,1,2
profile2.privacy.default.myStatus=0
# 0,1 only

################################
## Available as of version 1.3:
################################

# List of userIds (not eids) that will never show in searches or friends lists (comma separated no spaces, default=postmaster)
profile2.invisible.users = postmaster

# Set this to tell the ProfileManager to get it's data from Profile2.
# If left unset, any tools that use the ProfileManager from the original profile tool (ie Roster)
# will continue to use the data from org.sakaiproject.api.app.profile.LegacyProfileManager.
# So you must set this to enable the integrations.
# If you are using a version of Sakai prior to 2.7, you need to apply the patch attached to
# http://jira.sakaiproject.org/browse/SAK-17573 in order for this property to have any effect
# NO LONGER SUPPORTED IN v10+
profile.manager.integration.bean=org.sakaiproject.profile2.legacy.ProfileManager


# Additional privacy defaults. These replace the old profile2.privacy.default.academicInfo setting
profile2.privacy.default.staffInfo=0
# 0,1,2
profile2.privacy.default.studentInfo=0
# 0,1,2

##########################################
## Available as of version 1.3.9 onwards:
##########################################

# Optional parameters if you have registered a Twitter application and want to use that as the registered application instead of Profile2.
# See the section on registering a Twitter application, as this is rather involved.
profile2.twitter.oauth.key=
profile2.twitter.oauth.secret=

# Profile2 provides a formatted entity via EntityBroker at /direct/profile/{userid}/formatted.
# However large amounts of data, particularly in the personal summary section of a user's profile, can make this view rather large.
# This property can restrict how much is shown, defaults to 1000 characters.
profile2.formatted.profile.summary.max=1000

###########################################
## Available as of version 1.3.10 onwards:
###########################################

# Sets the ability for a user to change their profile image on a per user type basis.
# If not set, defaults to the value of profile2.picture.change.enabled which defaults to true.
profile2.picture.change.USER_TYPE.enabled=true (true/false, defaults to profile2.picture.change.enabled setting)

################################
## Available as of version 1.4:
################################

profile2.privacy.default.businessInfo=0
# 0,1 only
profile2.privacy.default.myPictures=0
# 0,1 only
profile2.privacy.default.messages=1
# 1,3 only
profile2.privacy.default.myKudos=0
# 0,1 only
profile2.privacy.default.socialInfo=0
# 0,1,2
# Enable/disable the gallery feature? (true/false, default true)
profile2.gallery.enabled=true

# Enable/disable the business profile feature? (true/false, default false)
profile2.profile.business.enabled=false

### OFFICIAL IMAGE SUPPORT

# To enable support for using official images, set to true:
profile2.official.image.enabled=false (true/false, default false)

# If enabled, where should Profile2 look for the officially provided images?
# If 'url', you need to add a URL for each user to the PROFILE_IMAGES_OFFICIAL_T table in the database.
# If 'provider', you need your UserDirectoryProvider implementation to add a BASE64 encoded image to a property
# on the User object. This is already in place for the LDAP provider, just setup the jpegPhoto attribute.
# See http://jira.sakaiproject.org/browse/SAK-17816.
profile2.official.image.source=url (url/provider, default url)

# If enabled and you set the source to 'provider' above you also need to specify the attribute,
# if different to this value.
profile2.official.image.attribute=jpegPhoto (default jpegPhoto)

# Note that if you want to use *only* officially provided images you also should set
# profile2.picture.type=official
# If you want to allow a user to choose either the official image or an uploaded/url one of their choice,
# do not set type=official and rather set profile2.picture.type=url/upload. They will then be able to choose
# to use either the official image, or one they select.
# Remember, you can always disable changes altogether via profile2.picture.change.enabled=false

### SEARCH OPTIONS

# The maximum number of search results that should be returned per search (default=50)
profile2.search.maxSearchResults=50

# The maximum number of search results per page (default=25)
profile2.search.maxSearchResultsPerPage=25

### IMPORT PROFILES FROM A CSV FILE
# You can now import profile data from a CSV file. The CSV file must be located on the Sakai server.
# For the format of the CSV file, see
# https://jira.sakaiproject.org/browse/PRFL-684?focusedCommentId=140799&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-140799
profile2.import=false (set to true to enable and also set the profile2.import.csv field)
profile2.import.csv=/path/to/file/import.csv

### DISABLING CERTAIN SECTIONS

# Show any of the profile fields? (true/false, default true)
# Useful if you want people to have profiles but not have any information
# Users will then only have a name and image
# Use in combination with the privacy defaults/locking to set this as desired otherwise it will show redundant options.
profile2.profile.fields.enabled=true

# Allow status updates and display? (true/false, default true)
profile2.profile.status.enabled=false

#######################
## Updated properties:
#######################

# As of 1.4, the following properties are no longer supported:
profile2.privacy.default.search (removed, see http://jira.sakaiproject.org/browse/PRFL-293)
profile2.integration.twitter.source (removed, see http://jira.sakaiproject.org/browse/PRFL-94)
profile2.privacy.default.academicInfo (replaced with studentInfo and staffInfo for more granular settings)

################################
## Available as of version 1.5:
################################

# GRAVATAR SUPPORT

# Allow users to set gravatars as their images
profile2.gravatar.image.enabled=true (true/false, default true)

# WALL PAGE

# Enable/disable the Profile2 wall page globally
profile2.wall.enabled=true (true/false, default true)
# Use the wall page as the default Profile2 page
profile2.wall.default=false (true/false, default false)

# ADDITIONAL PRIVACY DEFAULTS


# Default wall privacy option
profile2.privacy.default.myWall=0
# 0,1 only# Default online status privacy option
profile2.privacy.default.onlineStatus=0
# 0,1 only

# FORUMS INTEGRATION

# Should users profiles be linked in forum posts?
profile2.profile.link.enabled=true (true/false, default true)

# USER TYPE IMAGE
# Set the image for the user based on their user type (true/false, default false)
# If enabled, you also need to set the full URL to images for each user type.
# If a user type has no associated image it will fall back to whatever other image is set, either via upload/url/official/gravatar, or the default.
# To restrict a user from changing the image, combine with profile2.picture.change.enabled=true
profile2.user.type.image.enabled=false
profile.user.type.image.guest=http://url.to/some/image.jpg
profile.user.type.image.registered=http://url.to/some/otherimage.png


# EMAIL NOTIFICATION ON PROFILE CHANGE
# You can configure an email to be sent to a specific user whenever anyone updates their profile. (true/false, default false)
# This defaults off and must be explicitly configured. The user gets a notification only, no actual profile content is sent.
# They still need to login to view the info and the same permissions are applied.
# Therefore it is recommended the eid property be set to a super user.
profile2.profile.change.email.enabled=false
profile2.profile.change.email.eid=admin
 
################################
## Available as of version 11:
################################
 
# Enable/disable the staff profile feature? (true/false, default true)
profile2.profile.staff.enabled=true

# Enable/disable the student profile feature? (true/false, default true)
profile2.profile.student.enabled=true

# Enable/disable the social profile feature? (true/false, default true)
profile2.profile.social.enabled=true

# Enable/disable the interests profile feature? (true/false, default true)
profile2.profile.interests.enabled=true
 
# Official images can now be stored on a filesystem. Use this setting in combination with profile2.official.image.directory and optionally choose a pattern
profile2.official.image.source=filesystem

# Base directory for the official photos on the filesystem (default = /official-photos)
profile2.official.image.directory=/official-photos
 
# Choose a pattern for the layout of images in this directory
# Options:
# ONE_DEEP which is of the form: BASEDIR/j/jsmith26.jpg
# TWO_DEEP which is of the form: BASEDIR/j/s/jsmith26.jpg (default)
# ALL_IN_ONE which is if you have all images in the same directory, ie: BASEDIR/jsmith26.jpg, BASEDIR/fsmith31.jpg
profile2.official.image.directory.pattern = TWO_DEEP

### IMPORTANT NOTE ###
# As of 1.6, to view official images from within a site, you must have the roster.viewofficialphoto permission set.
 
# Enable/disable the messaging feature? (true/false, default true)
profile2.messaging.enabled=true
 
# Convert images from URL to local storage (added in PRFL-740)
profile2.import.images=true
 
# Specify the access level role to be used when creating worksites. Defaults to ROLE_ACCESS.
profile2.worksite.access.role=access
 
# If using official images via a URL, the default behaviour is to redirect to that image.
# You can optionally tell Profile2 to fetch the data on your behalf and render it the same as an uploaded image rather than performing a redirect
# This will mean the URL is not exposed to students, which may or may not be a privacy issue for you.
# Note that enabling this may reduce performance. (true/false, default false)
profile2.official.image.url.secure=false

Twitter integration

Profile2 has a built-in Twitter integration for status updates. This is configurable by each user in their Preferences page of their Profile (not to be confused with the main Account Preferences). Once a user has linked their Twitter account, status updates will then update Twitter. Administrators can control this globally by adjusting the profile2.integration.twitter.enabled sakai property.

Settings

If you are behind a proxy or web cache, you will need to add these settings to your JAVA_OPTS to allow Profile2 to send status updates to Twitter:

-Dhttp.proxyHost=proxy.host.ac.uk -Dhttp.proxyPort=8080
-Dhttp.proxyUser=someUserName -Dhttp.proxyPassword=somePassword

NOTE: http.proxyUser and http.proxyPassword are only required if you need to authenticate to your proxy.

Changing the Twitter source (optional)

By default, Twitter updates will appear to come from Profile2 (as Profile2 is a registered Twitter application).
If you want updates to come from a different 'source', you need to register an application with Twitter and provide the settings to Profile2. Fill out this form: http://twitter.com/oauth_clients/new

Be sure to choose 'client' as the Application type, NOT 'browser'. When user's link their account they will be prompted to enter a code into Profile2, that will then be verified and their own access token and secret stored in the database.

Once you have filled out the form, add the key and secret supplied to your application in the following sakai.properties:
profile2.twitter.oauth.key=
profile2.twitter.oauth.secret=

DO NOT reset these keys without updating the properties in Sakai, as the integration will no longer function if they are out of sync (they are essentially your application's username and password).

Give Profile2 an icon in the tool list

Add this to SAKAI-SRC/reference/library/src/webapp/skin/YOURSKIN/portal.css

.icon-sakai-profile2 {
	background-image: url(../../image/silk/vcard.png);
}

EntityBroker support

See this page for information about the Entities exposed/supported by Profile2.

Adoption

See this page for a list of institutions using or trialling Profile2

Found a bug? Want something added? Things don't look right?

Check the Common issues with Profile2 page.

If that doesn't help, then please submit all bugs and feature requests as Jira tickets at:http://jira.sakaiproject.org/jira/browse/PRFL

If the issue is cosmetic, please make sure to include what environment (operating system and browser + version) you experienced the issue on.

Internationalisation (i18n)

Profile2 currently supports the following languages:

  • English (British and Australian) - default
  • English (en_US)
  • Catalan (ca)
  • Spanish (es)
  • Dutch (nl)
  • Portuguese (pt_PT)
  • Russian (ru)
  • Indonesian (in_ID)
  • Japanese (ja)

If you would like Profile2 to appear in your language, feel free to translate the following three property files and send them along:

In addition, the email templates can be internationalised:
https://source.sakaiproject.org/svn/profile2/.../api/emailtemplates/

Please append the country code/variant to the filename: (eg template-connectionRequest_en_GB.xml)

Current status

type key summary status

Data cannot be retrieved due to an unexpected error.

View these issues in Jira

Showing the first 100 issues - view full list.

26 Comments

  1. Profile 2 works for us on Sakai 2.5.4

    One usability/UI comment is to consider this article: http://radar.oreilly.com/2009/05/goodreads-vs-twitter-asymmetric-follow.html. There is no asymmetric follow, and yet I think academia is ideal for that. Students far outnumber instructors, and should be able to follow their instructor's status without forcing the instructor to be overwhelmed with connection requests.

    I guess I want more of a sakai-specific twitter client.

    1. Hi James,

      Sorry only just noticed this. This is a great idea, I'll Jira it. At the moment you can only see people's status by viewing your connections list or searching, and they need to approve you and or have their privacy set so that connections or everyone can see them. I'll condense this down into a Feeds section. And add the ability to follow someone.

      1. Jira'd as:
        Ability to Follow someone: http://jira.sakaiproject.org/jira/browse/PRFL-67
        Add Feeds panel: http://jira.sakaiproject.org/jira/browse/PRFL-68

        Thanks again James, great ideas!

  2. After following the installation steps for Sakai 2.5.4 (from SVN branch) I get the error "org.hibernate.HibernateException: Errors in the named queries: findSakaiPersonByInterest" - any ideas?

    1. Hi Stephen,

      Yes I know what causes this.
      1. Did you install and deploy the 'Common' project?
      2. Did you first remove the old common project from Tomcat/shared/lib? If you have Sakai deployed before and you didn't do this, then this is the issue.
      The classloader is loading the first one it comes across, which is the old one. Remove Tomcat/shared/lib/sakai-common-* that are from the old build. Or just remove them all and reploy Profile2.

      That should do the trick. I'll update the install guide.

      1. Now I get a Sakai error (i.e. send a bug report + stack-trace) on /portal. I erased tomcat/shared/lib/sakai-common-* and redeployed all the projects in Profile2.

        1. Whats the error?
          There should have been only 4 that you need to remove:
          shared/lib/sakai-common-type-api-OLD.jar
          shared/lib/sakai-common-manager-api-OLD.jar
          shared/lib/sakai-common-edu-person-api-OLD.jar
          shared/lib/sakai-common-composite-component-data-OLD.jar

          where OLD is the old version.

          Verify that the deployment of the updated SakaiPerson put these back, then restart Tomcat.

          Also, can you email me at s.swinsburg@lancaster.ac.uk and we'll work through it.

  3. Steve,
    This is amazing!
    It installed right off - no issues, I could post to twitter, upload a profile pic ... its great.
    thank you - people here are going to love this !

    • Jon
  4. Profile2 works great - but the pics in the roster app aren't being updated.  It still has the "No Picture is Available" box instead of my newly uploaded pic.  Any ideas as to what to do?

    1. I'm an idiot - I redeployed roster app and forgot to change over the profile bean to profile2.  Silly me (wink)

  5. Hmm - perhaps I'm not as much of an idiot as I though.  I can't find Profile2's ProfileManager implementation.  Which bean should I swap out?

    1. Hi Stephen,

      The integration between Profile2 and the other tools (ie Roster) is still in the works. As it stands, the Roster is still looking at Profile1's data.

      1. Ok the Roster integration is now complete. ie Roster uses's Profile2's data and privacy settings. Its in trunk - Profile2 deploys an updated ProfileManager API so Roster still looks at the old implementation but gets the Profile2 data back.

  6. Hi Steve,

     Is the roster integration just in trunk or also in one of the tags? Are there any update scripts for going from 1.01 to a version that has integration with the roster?

     Thanks,

    Maarten

    1. Hi Maarten,

      The roster integration is in trunk, but I am about to release a 1.3 version which will have it in.
      For upgrade scripts, yes there are DB upgrade scripts in the docs directory which should sort you out moving forward.

      Don't hesitate to contact me if you have any queries.

      cheers,
      Steve

  7. Hi Steve,

    As I am using Profile2 in Sakai 2.5.3 I created a patch for making the build files work with sakai 2.5.3. Download it here.

    I'm having trouble using the Roster integration. I'm guessing it is because the changes made to the legacy profile tool are not available for 2.5.x. Do you have any advise on how to port it to 2.5.3? And if I do that, will the roster then show the picture that I use in profile2?

    Thanks,
    Maarten

  8. Hi Maarten,
    The 1.3 series of Profile2 includes the Roster integration: https://source.sakaiproject.org/svn//profile2/tags/

    But you will also need to back port the minor changes to the profile tool that allow this to happen, this is available here: http://jira.sakaiproject.org/browse/SAK-17573

    There is then a property to enable this (see the list of properties above, relevant one reproduced below:

    # Set this to tell the ProfileManager to get it's data from Profile2.
    # If left unset, any tools that use the ProfileManager from the original profile tool (ie Roster)
    # will continue to use the data from org.sakaiproject.api.app.profile.LegacyProfileManager.
    # So you must set this to enable the integrations.
    profile.manager.integration.bean=org.sakaiproject.profile2.legacy.ProfileManager
    

    As for the POMs, I removed the pre-K1 and K1 build profiles for the 1.3 version since it was a bit problematic (ie you can't build a submodule by itself using these build profiles). Thanks for the patch, I'll add it to the 2.5.x build page.

    cheers
    Steve

  9. On Twitter integration, a possible idea: allow one to configure it to filter on hashtags.

    It just strikes me that a lot of stuff I post on twitter have little/no connection to my academic life, so it'd be nice to have an alternative to having to create and manage separate account.

    1. Any comments on this? I'm starting a Sakai pilot in a couple of weeks where we're using P2, and I'd like (at least at some point) to look into integrating Twitter into the class. I can't see a way to do that without some way to filter messages.

      1. Hi Bruce,

        There is a 'wall' in the works which we could build to filter on hashtags. Would that work for you?

        1. Yes, that sounds like it'd do the trick.

  10. In the JIRA for worksite creation ( PRFL-388 - Getting issue details... STATUS ), there's mention of making the feature an option via property setting. Is there a setting for this? (can't find it anywhere). Thanks--

     

    1. Hi Jim,

      From looking through the code, it looks like users only need site.add permission (in their my workspace) for this to be enabled. I updated the Jira.

      cheers,

      Steve

  11. Hi Steve,

    Another settings question–we have a school that is concerned about the potential for cheating via messaging between connections. It seems like one approach might be using the "profile2.invisible.users" setting so certain users can't be searched (and therefore connected), but on a large scale this probably isn't feasible. What we're really looking for is a way to disable the messaging capability globally. Is there any way to accomplish that?   

     

    1. Hi Jim,

      This isn't currently implemented but is only a few lines of code since this pattern is used elsewhere (ie disabling the gallery globally). Can you raise a Jira - it should only take a few minutes to implement. Thanks,S.

  12. Thanks Steve! Here's the Jira: PRFL-840 - Getting issue details... STATUS