Activity Streams

An activity stream is a series of chronologically-arranged notification messages describing activities within Ektron. See also: Notifications.

Ways that activity streams display on your Web site

For this kind of Web page

Use this

To see Notifications for

For more information, see

.aspx

ActivityStream server control

The user or group identified in the page’s query string.

If none is identified, the logged-in user sees his own notifications.

ActivityStream Server Control

PageBuilder

ActivityStream widget

Using the ActivityStream Widget on a PageBuilder Page

Ektron Personalization

ActivityStream widget

  • Yourself
  • Your colleagues
  • Your community groups

Using the ActivityStream Widget on a PageBuilder Page

Community Feature: your profile page

No action required—Activity Stream appears by default

Yourself

 

Community Feature: a colleague’s profile page

No action required—Activity Stream appears by default

Colleagues

 

Community Feature: group profile page

No action required—Activity Stream appears by default

Community group of which you are a member

 

Using the ActivityStream widget

Using the ActivityStream Widget

The ActivityStream widget is installed with Ektron.

NOTE: To learn about Ektron‘s Personalization feature, see Make Your Site, Their Site with Ektron.

When you drag and drop an ActivityStream widget onto a Personalization page, it displays activities performed by

  • you, the logged-in user
  • your colleagues
  • community groups to which you belong

When you view another user’s personalization page containing this widget, the activities you see are controlled by that user’s Private Profile setting and whether that person is your colleague.

The following table describes when you can see another user’s Activity Stream.

If the user’s Private Profile Setting is...

and the user is...

you can...

Public

a colleague

view his activities

Public

not a colleague

view his activities

Private

a colleague

view his activities

Private

not a colleague

only view his activities if you are an administrator

Colleague

a colleague

view his activities

Colleague

not a colleague

only view his activities if you are an administrator

If you can view another user’s activities, you see activities that person performs and activities that person's colleagues perform.

From this widget, you can filter the Activity Stream to view only activities from specific users and community groups. Filtering the ActivityStream widget means restricting notifications to those from selected users or groups. For example, you want to see only activities performed by Kay Milford. In the filter, select Kay Milford, and the ActivityStream widget shows messages only from her.

As another example, you are the head of the Engineering department and want to see your employees’ activities. To accomplish this, add them as colleagues. Then, in an ActivityStream widget, create a filter with their names. That widget only shows your employees’ activities.

If your department has a community group, you could add that group to the filter. Then, in addition to your employees’ activities, you would see the group’s activities.

This feature, combined with the ability to add multiple ActivityStream widgets to a page, lets you create separate activity streams that focus on people and groups of interest.

The following image shows 1 ActivityStream widget that displays all of a user’s colleagues (on the left), and 3 other widgets with filters that focus on individual users.

You could take this example one step further. If Leah Mathis and Scott Markey both work in “Sales & Marketing” and Bill Smith, Works in “Engineering,” you might only have 2 widgets, one for Scott and Leah and another for Bill.

Filtering the ActivityStream widget

Filtering the ActivityStream Widget

  1. Click Filter at the bottom of the widget.
  2. In theUsers and Groups box, enter the name of a user or community group by which to filter. As you start typing, AutoComplete helps you narrow the selection.
  3. Click Add. The ActivityStream widget refreshes and only activities performed by the selected user or community group members appear.

    IMPORTANT: A valid name is one that exactly matches a user’s Display Name or community group’s Group Name. If your entry does not match, the widget refreshes and no filter is added.

    Also, the users or community groups you selected appear in the widget’s filter area.

You can add as many users or community groups to the filter as you like, one at time. After you finish, you can hide the filter by clicking Hide.

Removing an entry from the ActivityStream widget filter

Removing an Entry from the ActivityStream Widget Filter

NOTE: If you remove all users and groups from the filter, the widget shows notifications from all users whose activities you can view.

  1. If you cannot see the filter’s users or community groups, click Filter at the bottom of the widget.
  2. Click Delete () next to the user or community group you want to remove. The ActivityStream widget refreshes, and the removed user or community group’s activities disappear from the stream.
Using the ActivityStream widget on a PageBuilder page

Using the ActivityStream Widget on a PageBuilder Page

NOTE: To learn about Ektron's PageBuilder functionality, see Creating Web Pages with PageBuilder.

When used on PageBuilder page, the ActivityStream widget shows the logged-in user’s activities by default. However, you can modify the widget to focus on another user’s or community group’s activities.

For example, you create a PageBuilder page about your company's CEO and want to display notifications about activities that he, his colleagues, and his community groups perform on the site.

To accomplish this, add the ActivityStream Widget to a “See what the CEO is Up To” page. While doing that, specify the user ID assigned to your CEO (available from his User Profile). When an Intranet user visits the page, the user sees a list of the CEO’s activities.

To display another user’s or community group’s activities in the ActivityStream widget:

Prerequisite: The ID number of the user or community group whose notifications will appear

  1. Drag and drop the ActivityStream widget. The following dialog appears.

  2. Use the Feed Type drop-down to select User or Community Group.
  3. In the Object ID field, enter the user’s or community group’s ID.
  4. Click Save.
Sharing an activity stream event on your profile

Sharing an Activity Stream Event on Your Profile

Each activity in a stream has a Share link below its text.

When you click Share on someone's status, it appears in your profile's status, too.

Commenting on an activity stream event

Commenting on an Activity Stream Event

Each activity in a stream has a Comment link below its text. When you click it, a Comment box opens for you to add a comment. When you finish, the comment link displays the number of comments on that activity. Users can click the number to view the comments.

Only the user who made the comment or a member of the Ektron Administrators group can delete the comment.

Setting up a time display for activity stream events

Setting Up a Time Display for Activity Stream Events

You can set up an activity stream to assign a time ago link to each event.

When a site visitor clicks that link, the activity stream event is launched in a new browser. From there, the site visitor can use the page's URL to uniquely identify the event. For example, the user can forward the URL to other users to notify them about the event.

To add a time ago link to a page:

  1. Create a Template Activity page. It must be an .aspx template with an activity stream server control that includes these properties.
    • ObjectType—enter Activity
    • DynamicObjectParameter—enter id

    NOTE: A sample of this page, activity.aspx, is provided with the Ektron Tech site, in the site root folder.

  2. Open the template that hosts the ActivityStream server control to which you want to add a time ago link.
  3. To the ActivityStream server control, add the TemplateActivity property. As the value for that property, enter the template page you created. That page appears when a site visitor clicks the time ago link.

    Here is an example of an Activity Stream server control with a sample value for that property.

    <CMS:ActivityStream ID="ActivityFeed1" 
      runat="server"  
      EnablePaging="true" 
      DynamicObjectParameter="id"
      TemplateUserProfile="profile.aspx" 
      TemplateActivity="activity.aspx" />

    NOTE: A sample of this page, profile.aspx, is provided with the Ektron Tech site, in the site root folder.

Displaying RSS feed links

Displaying RSS Feed Links

Ektron provides the following RSS feed links that can display activity stream events.

RSS feed link

Displays this information

 http://your web site/workarea/webservices/
feeds.svc/userstatuses/user ID number.rss

For example:

 http://your zweb site/workarea/webservices/feeds.svc/userstatuses/1.rss

The specified user’s status updates. For example, 1.rss shows all status updates of the user whose ID is 1. 

http://your web site/workarea/webservices/
feeds.svc/publictimeline.rss

All public status updates

http://your web site/workarea/webservices/
feeds.svc/publictimeline.rss?search=new

All public status updates that include the term "new"

You can use these feeds with Ektron's API to access and display status updates.

NOTE: If Notifications do not appear in your Activity Stream, this Knowledge Base article may be helpful. http://dev.ektron.com/kb_article.aspx?id=30764

ActivityStream server control

ActivityStream Server Control

The ActivityStream server control displays notification messages generated by Ektron’s Notification system.

When this control is added to a Web page, Ektron looks for a DefaultObjectID defined in server control properties. If one is found, the activity stream is based on that user or group. If none is found, notifications are based on the pages’s dynamic query string parameter, which typically identifies the logged-in user.

You can exclude any user or a group from the activity stream. To achieve this, open the page that hosts the Activity Stream server control, find the control, and add the following to the control’s code-behind.

//activityStream
cmsActivityStream.ExcludeUserIds.Add(this.ProfileId);
You can also exclude groups.
cmsActivityStream.ExcludeGroupIds.Add(GroupId1);
cmsActivityStream.ExcludeGroupIds.Add(GroupId2);
:
cmsActivityStream.ExcludeGroupIds.Add(GroupIdN);

To add this control to a page, drag and drop it on a Web form and set the following properties.

  • DefaultObjectID—If you want a user’s or community group’s activity stream to appear in the control, enter that ID.
  • DefaultObjectParameter—enter the default object parameter used on the QueryString to define an object’s ID. For example, if you are passing the ID value of a community group, you might enter ‘gid’ for this property. So, if you pass http://~yoursite~/CGHome.aspx?gid=21 in the query string to a page containing this control, you see the activity stream for the community group whose ID is 21.
  • ObjectType—select the whether the control is associated with a user or Community Group
  • TemplateUserProfile and ProfileParamName—If you want a user’s avatar in the activity stream to be a clickable link that leads to his profile page, set these properties.
ActivityStream server control properties

ActivityStream Server Control Properties

The following are Ektron-specific server control properties. You can find information about native .NET properties such as font, height, width and border style in Visual Studio® help.

  • Authenticated (String)

    Indicates if you are logged into the CMS Explorer and can use it to browse to content, collections, and so on. See Also: Browsing Your Ektron Site Using CMS Explorer.

  • CacheInterval (Double)

    The number of seconds that the server control’s data is cached. The default is 0 (zero). For example, if you want to cache the data for 5 minutes, set to 300. See Also: Caching with Server Controls.

  • DefaultObjectID (Long)

    The ID of the object whose activity stream will appear where you place this server control. For example, if you want this control to display Scott Markey’s activities, and his USER ID is 142, place 142 here, and set the ObjectType property to User. To display the activity stream for the logged-in user, enter zero (0).

  • DisplayXslt (String)

    If desired, enter a relative or absolute path to an Xslt that determines the display of the page. If you specify an external file, do not store this file in the Workarea folder. If you store this file in the Workarea folder, the file will be lost when you upgrade.

  • DoInitFill (Boolean)

    By default, Fill occurs during the Page_Init event. Set to false if you want to postpone the fill-action until later. In this case, Fill is automatically called during the Page Render event. You might do this if you need to set or change a property on the control in code-behind and have it render with your changes shown.

  • DynamicObjectParameter (String)

    Gets or sets the QueryString parameter to read a object ID dynamically. To use the default object ID, leave blank. For example, if you are passing the ID value of a community group, you might enter ‘gid’ for this property. So, if you passed http://~yoursite~/CGHome.aspx?gid=21 on the Query Strings to a page containing this control, you would see the activity stream for the group with an ID of 21.

  • EnablePaging (Boolean)

    This property, in conjunction with the MaxNumber property, lets site visitors view an unlimited number of items while controlling the amount of screen space. The MaxNumber property limits the number of items displayed. If you set this property to True, and the number of items exceeds MaxNumber, navigation aids appear below the last item, allowing the visitor to go to the next screen.

  • Hide (Boolean)

    Hides or displays the output of the control in design time and run time.

    • True—Hide the control output.
    • False—Display the control output.
  • Language (Integer)

    Set a language for viewing content; shows results in design-time (in Visual Studio) and at run-time (in a browser).

  • MarkupLanguage (String)

    Identify the template markup file that controls the display of the server control. For example, mymarkup.ekml. If the EkML file is located in the same folder as the Web form containing the server control, just enter its name. Otherwise, the path to the file can be relative or absolute. See also: Controlling Output with Ektron Markup Language

  • MaxResults (Integer)

    The Maximum number of notifications to fetch. 0 (zero) = unlimited.

  • ObjectType (ActivityFeedType)

    The type of object to which this control is assigned. Choices are:

    • User—control is assigned to an individual
    • Group—control is assigned to a community group
  • ProfileParamName (String)

    The parameter name to pass in the QueryString to the TemplateUserProfile page, if you want it to be anything other than id. For example, you may prefer userid, because it is more descriptive, as shown in the following example.

  • Stylesheet (String)

    Specify the path to a style sheet for use with this server control. The location can be relative or absolute. Leave blank to use the default style sheet.

  • SuppressWrapperTags (Boolean)

    Suppresses the output of the span/div tags around the control.

    • True—Suppress wrap tags.
    • False (default)—Allow wrap tags.
  • TemplateActivity (String)

    The URL path to a page that contains another ActivityStream server control.
    When this property contains a path and the destination page has an ActivityStream control whose ObjectType property is set to Activity, a user can click an Activity Stream’s time span on the first page to open a second page that contains just that activity. See Also: Setting Up a Time Display for Activity Stream Events

  • TemplateUserProfile (String)

    The URL path to a page that contains the UserProfile server control. The path can be relative or absolute. If you enter a path, a user can click any user’s name or avatar from the Message Board server control and be forwarded to his profile page. See illustration.

     

    User templates can be defined in the Ektron Workarea > Settings > Community Management > Templates screen. However, if you assign a template in this field, this setting takes precedence over the setting on the Workarea Template screen.

  • WrapTag (String)

    Lets a developer specify a server control’s tag.

    • Span (default)—designate an inline portion of an HTML document as a span element.
    • Div—apply attributes to a block of code.
    • Custom—Lets you use a custom tag.