Donnerstag, 25. August 2011

Make your website social with OpenText Web Site Management 11

One of my teams currenlty finished a spike (that's some kind of POC) on how to integrate Social Communities features like Rating, Comments, Reviews into OpenText Web Site Management Server 11.

I would like to share some insights on the results of this spike (a new content element (Rating)) with you. Please provide some feedback (positive and negative) on this results.

What did we do so far?

A new content element called Rating was implemented. This element allows you to easily integrate the rating feature from OpenText Social Communities server into your website. It will provide some out of the box look and feel and will also allow you to get the raw values.

Which technologies are used?

OpenText Social Communities and OpenText Web Site Management Delivery Server provide the rating feature that is integrated using the new content element. Within Delivery Server the HTTP Rest connector as well as the Portlet connector are used to integrate remote objects from OpenText Social Communities. Both connector technologies are used through standard dynaments that are put into the published page automatically by the rendering process of the rating element.

How can I actually make my article rateable?

I'll demonstrate how to make your content rateable with the following video. Within this video, the following steps are shown:
- Creation of a new content class RatedArticle that can be used to create rateable articles
- Creation of a new content class RatedArticleList that shows a list of rated articles
- Creation of pages from both content classes
- Filling in some values
- Rating of content
- Showing page preview and Delivery Server preview

RatedArticle content class
The rated article content class is created with two content elements of type Rating. The first one (art_avg_rating) is just used for showing the average rating of the associated content (the page this element resides on). The second one (art_new_rating) integrates functionality for actually rating an article if not done so far. Both use a predefined layout, i.e. art_avg_rating creates an img element showing the current average rating. art_new_rating includes the rating portlet from OpenText Social Communities. The appearance of both ones is not changeable in the current state. We're thinking of different possibilities to make it changeable till the released version.
The Rating element will get an additional option for just printing out the raw value of the rating, but this would only be available for the "readonly" elements.
Furthermore, the RatedArticle class contains some additional content elements for the actual content like title, teaser and text of the article.

RatedArticleList
The RatedArticleList class should show an overview of rated articles that are references through a list. First of all, I added a list (art_list) to this class to contain the references. The list transfers the element contents from the referenced pages. Afterwards, I added all the elements with the same type and same name to this class that I liked to transfer from the RatedArticle class. In this case, art_avg_rating, art_title, art_teaser. I don't want to show the art_new_rating here, because users should read the article before rating it.

In the template of this class, a simple IORangeList is used to print out the title, average rating, the teaser and the link to the article.

Pages example
I now created a RatedArticleList page that gets connected to the main container of the index page. I connected a RatedArticle to the list afterwards. Within the page preview we see some sample values for the rating, so that an editor can get an impression on what is actually shown on the published page. With the Delivery Server preview, the editor can see a live preview and will also be able to see the current ratings.

Outlook / Feedback
As you could see from this small example, our idea for the Social Communities integration is to create dedicated content elements for each of the features (rating, commenting, reviewing) and either use the REST api of Social Communities or the provided portles to integrate the functionality. Additionally, we provide an out of the box experience by predefined layouts that can be changed by custom layouts or stylings. The dedicated content elements should behave like the well-known content elements, so that you can e.g. use the IORangeList feature.

I'd like to encourage you to provide some feedback on this:
- do we provide the means you need to socialize your websites?
- do you have additional needs?
- how would you like to get Social Communities integrated?

An additional appetizer for this kind of integration is a new developer API for creating custom content elements. Have a look at my next blog posts....

Demonstration Video


6 Kommentare:

  1. Hey D, das Video funktioniert bei mir nicht in IE und Chrome:
    http://screencast.com/t/tgnDhdEj

    Cheers,
    Markus

    AntwortenLöschen
  2. Interesting. I used IE and FF and it worked fine. Is anyone else experiencing this problem?

    AntwortenLöschen
  3. Same over here. Funktioniert nicht unter IE9 und Chrome mit Flash version 10,3,183,5

    Warum musstet ihr auch das Rad neu erfinden und diesen nicht grade hübschen Flash player einführen?

    AntwortenLöschen
  4. ah, nevermind my former comment.

    Works in Chrome, just takes some time to load, works in IE9 32 bit aswell.

    AntwortenLöschen
  5. That player is part of OpenText Video Services, which is developed by a former Vignette team. We're like a normal customer, we just use the platform ;-)

    AntwortenLöschen
  6. Can´t wait to read more about the API for creating custom content elements. ;-)
    Realy interested what we can build based on this new API. Learn more about how this custom elements are persisted, how we can define the UI for a custom element, how we implement something like a render-method to generate (HTML-)Code for pagepreview/published-page....
    And maybe have a look how we are able to extend this custom elements at a later point in time without breaking them.

    AntwortenLöschen