Recent Bloggers
Brian Chan Posts: 19
Stars: 118
Date: 11/20/08
Nate Cavanaugh Posts: 22
Stars: 57
Date: 11/20/08
Alice Cheng Posts: 114
Stars: 0
Date: 11/19/08
Bryan Cheung Posts: 7
Stars: 32
Date: 11/19/08
Bryan Cheung Posts: 1
Stars: 0
Date: 11/19/08
Julio Camarero Posts: 1
Stars: 7
Date: 11/17/08
Jonas Yuan Posts: 3
Stars: 6
Date: 11/10/08
satya ranjan Posts: 2
Stars: 6
Date: 11/9/08
Neil Griffin Posts: 10
Stars: 22
Date: 11/5/08
Michael Young Posts: 8
Stars: 46
Date: 11/3/08
Blogs
Announcements and Alerts
Tags: administration, alerts, announcements, messages, messaging, portlet

In Liferay 5.0.0+ we have added a new feature: Announcements/Alerts.

Announcements/Alerts are two portlets which can be used to broadcast some message to a list of users within a known scope. Essentially they provide a mass messaging engine you'd tend to think of as a "news letter" or one-way messaging.


They provide the following features:

  1. Configurable, unlimited number of Announcement Types through portal.properties (add locatized type names via Liferay's resource bundle extension mechanism).
  2. Delivery to known scopes, called Delivery Scope, including:
    1. Individual User (API only)
    2. Role
    3. User Group
    4. Community
    5. Organization
  3. Delivery Mechanisms include Email, SMS, and Website. (Website delivery is acheived simply by adding the portlet to any page accessible to the user. The content of the portlet is allways sensitive to the viewing user.)
  4. Scheduled delivery. Each entry has a Display and Expiration Date. The entry won't be delivered until Display Date is <= now. Expiration Date is used primarily for the "Website" delivery mechanism.
  5. Read Tracking. Website delivery tracks timestamped read status per user, per entry.
  6. Subscription Control per user, per Announcement Type. A user determines which Delivery Mechanism to use for each individual Announcement Type. See the My Account page.
  7. Broadcast Control of announcements. Broadcasting Announcements is not a permission which should be granted lightly. As such, a user must first be granted Add Entry permission on the portlet to access the Announcement management functions. Secondly, a user must have Assign Member permission on a given scope in order to be able to broadcast an Announcement/Alert to that scope.

i.e. a Community Owner is not, by default, granted permission to broadcast Announcements or Alerts to their own Community. The Portal Admin must first has to grant them Add Entry permission on the portlet. Only then would they have all the permissions required (they would already have Assign Member as a function of being the owner) to broacast to their own Community. This is to prevent abuse of portal resources and prevent needless spamming of portal users.

Via the service API we now have a means of enabling event based messaging to individual users (or any delivery scope) without having to explicitly write new delivery services or functions.

There are still a few features that I'd like to see added to this portlet, but I think we now have a good base to build on.

Average (9 Votes)
2648 Views, 17 Comments

  • Comments
Trackback URL:

Threaded Replies Author Date
Thanks for the new feature list. I can see this... Eric Brennan 4/14/08 12:06 PM
You can take a look at the Road Map... Ray Augé 4/14/08 12:27 PM
great feature! When will you release Liferay 5.0?... Christian Steiger 4/14/08 3:00 PM
Very Nice! Have you planed to improve this feature... Michel Gelinas 5/7/08 7:21 AM
Yes, It's on my todo list. :) Ray Augé 5/7/08 7:36 PM
Hi, Ray What are differences between Announcements... andrei harhots 5/29/08 8:58 AM
The idea is that "Alerts" is hidden by default.... Ray Augé 5/29/08 9:17 AM
Appreciate your helpful answer, Ray! andrei harhots 5/30/08 12:05 AM
A great function indeed! Is the 'auto-hiding-when... Peter Hovens 6/30/08 3:11 PM
Hi Ray, I like the feature, but when there are no... Mike Cunneen 8/1/08 9:11 PM
Can I configure this portlet like the... Allen Chiang 8/13/08 10:39 AM
The remote service (including javascript) is... Ray Augé 8/13/08 2:32 PM
Hi Ray, That's great! Thanks! So the portlet... Allen Chiang 8/14/08 9:36 AM
If I understand correctly, you just want to use... Ray Augé 8/14/08 2:31 PM
Hi Ray, I want to set up the Announcement (or... Richard Becher 8/21/08 6:55 AM
hi ray, what should i use to create custom program... auditya manikanta vadrevu 10/15/08 3:50 AM
Hi Mike, I just fixed the issue last night. Sorry... Ray Augé 8/13/08 2:30 PM

Thanks for the new feature list. I can see this porlet getting lots and lots of use. A great add-on. I just have to take the time and properly configure my mail server now.

Is there any other location that lists the new features in 5.0?

Eric

Posted on 4/14/08 12:06 PM.

Top Top
You can take a look at the Road Map (http://www.liferay.com/web/guest/139) but this isn't a complete list... as you can clearly see. emoticon

I believe there are changes coming to revise that roadmap though...

Cheers!

Posted on 4/14/08 12:27 PM in reply to Eric Brennan.

Top Top
great feature!
When will you release Liferay 5.0?
cheers
christian

Posted on 4/14/08 3:00 PM in reply to Ray Augé.

Top Top
Very Nice!
Have you planed to improve this feature by adding the possiblity to create annoucement in multi-language (Localized)?
It would be very useful!

Posted on 5/7/08 7:21 AM.

Top Top
Yes, It's on my todo list. emoticon

Posted on 5/7/08 7:36 PM in reply to Michel Gelinas.

Top Top
Hi, Ray
What are differences between Announcements and Alerts portlets?
(Except red frame around Alerts)

Thanx.

Posted on 5/29/08 8:58 AM.

Top Top
The idea is that "Alerts" is hidden by default. Suppose if you placed it on User pages, later when you have an urgent message to display to some scope of users, you create an alert, and the portlet appears on their page (when they didn't even know it was there).
In this scenario, you also can take away the ability to remove it... so that they don't just get ride of it (do this by adding it using one of the static techniques: layout-templates, layout config).

About the style... it's really designed to be taken by a portal admin and make it look how ever you wish... The css is designed to be pretty friendly to suite. As well, each "type" of Alert can be styled to whatever purpose it might server.

- A "new feature" alert might be something eye catching and all hip "look at this new toy".
- A "warning" alert might be "Hey, you owe us money, pay your bill or we'll cancel your account."

Announcements are more of the day-to-day type of things, where a user can view the history of the Announcements they received (no history view for Alerts). Also, Announcements is more the type of portlet that a User "might" be free to remove form their page.

HTH!

Posted on 5/29/08 9:17 AM in reply to andrei harhots.

Top Top
Appreciate your helpful answer, Ray!

Posted on 5/30/08 12:05 AM in reply to Ray Augé.

Top Top
A great function indeed! Is the 'auto-hiding-when empty' working in 5.0.1 or is this feature yet to be implemented? Thnx, Peter

Posted on 6/30/08 3:11 PM in reply to andrei harhots.

Top Top
Hi Ray,

I like the feature, but when there are no alerts to display it just says "No entries were found." (so the users do know it's there). Is there any way around this?

Mike

Posted on 8/1/08 9:11 PM in reply to Ray Augé.

Top Top
Can I configure this portlet like the chat-portlet, so I don't have to added it to users' page. Or I can consume the remotes service (if it provided) with javascript to add a link on a page (using javascript in the theme) if new entries exist.

Posted on 8/13/08 10:39 AM in reply to Mike Cunneen.

Top Top
Hi Mike,

I just fixed the issue last night. Sorry about that. The "Hide" feature works again. It had regressed.

Posted on 8/13/08 2:30 PM in reply to Mike Cunneen.

Top Top
The remote service (including javascript) is complete, as such you should be able to consume the full array of features.

Posted on 8/13/08 2:32 PM in reply to Allen Chiang.

Top Top
Hi Ray,
That's great! Thanks!
So the portlet doesn't need in any one of a user's page if I am only use the service script, right ?
Thanks again.

Allen

Posted on 8/14/08 9:36 AM in reply to Ray Augé.

Top Top
If I understand correctly, you just want to use the service with your own UI implementation, then you are correct. You would not require the portlet at all, simply use the service to handle all the CRUD operations.

Note there is one Utility class (which is not directly part of the service) which will be important to aggregate the "scopes" available to a given user.

LinkedHashMap<Long, long[]> scopes = AnnouncementsUtil.getAnnouncementScopes(user.getUserId());

"scopes" is then passed into the:

AnnouncementsEntryLocalServiceUtil.getEntries()

as a parameter which constrains the returned results to all those scopes to which the user belongs.

Posted on 8/14/08 2:31 PM in reply to Allen Chiang.

Top Top
Hi Ray,

I want to set up the Announcement (or Alerts) to send an email to each of the specified users within the Scope specified. Is there a way to do this WITHOUT forcing each user to subscribe to it?

Thanks in advance!

Posted on 8/21/08 6:55 AM in reply to Ray Augé.

Top Top
hi ray,
what should i use to create custom program using API for announcements to particular user only

Posted on 10/15/08 3:50 AM in reply to Ray Augé.

Top Top