Változások a Liferay 6.1 közösségi érték (Social Equity) funkcióban

Company Blogs 31 janvier 2012 Par Zsolt Berentey

A Liferay 6.1 közösségi érték (Social Equity) funkcióban történt néhány érdekes és fontos változás. Míg ezek nagy része fogalmi, illetve kiegészítő funkciókat takar, addig a legfontosabb módosítás az API-n belül ment végbe.

Az új közösségi értékrendszer mostantól a közösségi tevékenység keretrendszeréhez tartozik. Ez nem csupán névleges módosítást jelent. A változás részeként bizonyos funkciók más szervízekbe kerültek, míg az eredeti közösségi érték szervízek megszűntek. A keretrendszer egésze rendelkezik saját XML leíróval (a különböző tevékenységeket ezelőtt a resource-actions.xml leíró segítségével lehetett konfigurálni), mely használható új tevékenységek definiálására, illetve minden ezekkel kapcsolatos művelet konfigurálására. Az új leíró használható már létező tevékenységek kiterjesztésére, továbbá használható bővítményekben is.

Az új rendszer célja

A részvétel és a közösségben való közreműködés mérésére irányuló fő cél ugyan nem változott, de az értékek létrehozásában és kezelésében vannak különbségek. Az új közösségi értékrendszer mostantól egy szélesebb körű közösségi tevékenység keretrendszer része, melynek feladata bizonyos tevékenységek naplózása, illetve mérőeszközök biztosítása a tevékenységek monitorozására vagy statisztikai elemzésekhez.

Tevékenység számláló

Az új rendszer középpontjában a számláló keretrendszer áll. Ezek a számlálók az új liferay-social.xml leíróban található tevékenységekhez rendelhetők. Az alap elgondolás szerint három féle számlálót különböztetünk meg egymástól: kivitelező, tartalom, létrehozó. A különbség a számláló tulajdonosa. A kivitelező típusú számláló a tevékenységet végző felhasználóhoz kapcsolódik, a tartalom típusú pedig ahhoz a tartalomhoz, ami a tevékenység célpontja. A létrehozó típusú számláló annak az eszköznek az alkotójához kapcsolódik, amin a tevékenységet végezték.

Ez egy bővíthető mérési rendszer alapjait adja eszközök és felhasználók számára.

Statisztikai periódusok

Az egyik legnagyobb koncepcionális változás a számlálási időszak bevezetése. Az értékek nem vesznek el többé, hanem van egy konfigurálható időintervallum, melyben a pontokat a rendszer aktuális értékként összegzi. A rendszer nyilvántart továbbá minden számlálóhoz egy összértéket is. Ez a módszer jobban alkalmazkodik az emberi gondolkodásmódhoz, mint az ezt megelőző. Időszakokban gondolkodunk, és hozzá vagyunk szokva a "hónap dolgozója" vagy a számviteli mérleg típusú kimutatásokhoz, melyekben például egy adott évhez rendelünk értékeket.

Értékszámláló

A régi közösségi értékek többsége megmaradt. Ezek az értékek alapvetően számlálóknak tekinthetők, így ezek a számlálók más eljárást igényelnek. A normál értékek kiegészítésére bevezetett korlátrendszeren kívül vannak más, ezekbe a számlálókba beépítésre került ellenőrzések is, melyek többek között az ellen védenek, hogy egy eszköz tulajdonosa saját eszköze népszerűségét és ezáltal közreműködési eredményét tudja mesterségesen feljavítani azáltal, hogy sorozatban a saját eszközén végez műveleteket.

Az egyik értékszámláló más nevet kapott. A korábban Information Equity néven ismert számláló mostantól a Popularity nevet viseli. A névváltoztatás mögött az az egyszerű ok áll, hogy a normál portálokban elérhető műveletek mellett rendkívül nehéz egy eszközt informatívnak jelölni. Megvan az esély arra, hogy a felhasználók bizonyos műveleteket az általuk kedvelt eszközökön végezzenek. Lehetséges, hogy ezt az informativitás miatt teszik, de ez korántsem biztos. Ugyanakkor a közösségben való közreműködéshez nem feltétlenül szükségesek az informatív eszközök. Az oldalak egy része csak az ott töltött időt, vagy a felhasználók részvételét akarja növelni. A felhasználók pedig ugyanannyi időt töltenek az általuk kedvelt eszközökkel, mint az olyanokkal, melyek hasznos információt nyújtanak számukra, ezért a kapcsolat a népszerűségi számláló (amely egy eszköz típusú számláló, korábbi nevén Information Equity) és a közreműködői számláló (amely egy létrehozói számláló, korábban Contribution Equity) között változatlan: ha egy eszköz népszerűségi pontokat kap, a tulajdonosa ezzel egyidejűleg ugyanezeket a pontokat megkapja közreműködésért is.

Változások az API-ban

Az egyik legfontosabb API módosítás, hogy az equity események kiváltásához szükséges metódusok a közösségi tevékenység szervízben találhatóak. Valójában egy közösségi tevékenység hozzáadása automatikusan kiváltja az új közösségi érték szervíz meghívását. Egyszerűen meghívunk bármilyen addActviity() metódust a SocualActivityLocalService-en belül, és amennyiben a komponensek konfiguráltak, illetve a közösségi érték engedélyezett a csoport számára, minden automatikusan lezajlik. Ha a tevékenység naplózása engedélyezett, a közösségi tevékenység szervíz ugyanúgy naplózni fog, mint eddig és a tevékenység ugyanúgy meg fog jelenni a tevékenységek portletben, mint ezelőtt. Ezenfelül meghívja az új SocialActivityCounterLocalService-t, hogy kiváltsa a számlálók feldolgozását.

A számláló értékének kiolvasásához (a részvételi és közreműködési értékekkel egyetemben, melyeket az új rendszerben számlálóként kezelünk) a SocialActivityCounterLocalService fetchLatestActivityCounter() metódusa használható. Léteznek további kisegítő metódusok számlálók listáinak kiolvasására egyéb kritériumok alapján is.

Changes in Social Equity in Liferay 6.1

Company Blogs 10 janvier 2012 Par Zsolt Berentey

There have been some pretty interesting and important changes regarding Social Equity for Liferay 6.1. While some of the changes are conceptual and others are additional features, there is one thing that is very important: there has been a change of API.

The new equity system is now part of the social activity framework. This is not just a naming concept. As part of the change, several functionalities were moved to different services and the original Social Equity services were removed. The whole framework got its own XML descriptor (formerly activities were configured in resource actions descriptors) that can be used to define activities and everything else related to them. This new descriptor can be used to extend already configured activities and can be used in plugins as well.

The Goal of the New System

While the main goal of being able to measure participation and contribution in a communty hasn't changed, there are some differences how these values are created and maintained. The new social equity system is now part of a broader scoped social activity framework that is designed to log certain activities as well as provide numerical instruments to monitor actvities or simply to provide the means for statistical analysis. 

Activity Counters

The heart of the new system is the counter framework. These counters are defined for activites in the new liferay-social.xml. The basic concept is to have three types of counters: actor, asset and creator. The difference is the owner of the counter. An actor counter is linked to the user doing the activity, while the asset counter is linked to the asset the activity is being done on. Creator counters have a reference to the user that is the owner/creator of the asset the activity was done on.

This system provides the basis for an extendable metrics system for assets and users.

Statistical Periods

One of the biggest conceptual changes is the introduction of the counter period. Values no longer degrade, rather there is a configurable time interval where points are aggregated resulting in a "current" value for each of these periods. A total value is also maintained. This method suits the human thinking more than the former method of degrading values. We are more used to thinking in periods. We are used to having "employee of the month" or values projected to a certain year - such as balance sheets. 

Equity Counters

The old social equity scores are mostly still there. Fundamentally these values are just counters. Of course there are always those more equals among equals, so equity counters have some special treatment. In addition to the limit system that has been implemented for normal counters these counters have some other checks that for example guard against an asset owner building up its own asset's popularity and a result his or her own contribution score by doing certain actions on his or her asset. 

One of the equity counters has also been renamed. Formerly known as Information Equity, this counter is called now Popularity. The reason behind the change is that with the actions available in a normal portal it is very hard to really mark asset as informative. Chances are that people do certain things on assets they simply like. Whether they like them because they are infomative is a possibility but it is not certain. Also contribution to a community is not necessarily requires assets with a high informational value. Some of the sites just want to increase the time people spend there, or want to increase the pariticipation of their users and users spend as much time with assets they just like as with assets that provide information to them. Therefore the relation between the popularity counter (that is an asset counter and was formerly called Information Equity) and the contribution counter (formerly known as Contribution Equity, currently an actor counter) remained the same: whenever an asset receives popularity points, its owner gets the same points in contribution.

API changes

One of the most importart API changes is that the triggering of an equity action was moved to the social activity service. In fact, adding a social activity now triggers the new social equity service automatically, so you can simply call one of the addActviity() methods in SocualActivityLocalService and if things are configured and social equity is enabled for the group, everything will be fine. If the activity is configured to be logged, the social activity service will log it the same way it's been doing so far, so that it can appear in the activities portlet. Additionally it will call new SocialActivityCounterLocalService to trigger counter processing. 

To get the value of a counter (including participation and contribution values as they are handled as counters) you can use the fetchLatestActivityCounter() method of the SocialActivityCounterLocalService. There are additional helper methods to retrieve a list of counters by other criteria, but probably this is the most important method of the service.

Social Equity in Liferay

Company Blogs 13 juillet 2010 Par Zsolt Berentey

Social Equity is a brand new feature in Liferay version 6. It is based on the white paper and calculations of Peter Reiser from SUN Microsystems.

The objective is to build a dynamic social capital system by measuring the contribution and participation of a user and the information value of an asset. A person can gain such equity through certain activities performed in communities.
 
The activities that award equities include
  •  adding contributions (wikis, blogs)
  •  rating, commenting
  •  viewing content
  •  searching and tagging (not implemented yet)
The main values used to describe engagement in communities are the following:
 
Information Equity (IQ)
This equity shows the importance and quality (measured by popularity) of the information contained in an asset. It is calculated through social activities related to the information.
 
Contribution Equity (CQ)
The contribution equity measures the contribution of a person to the community. This value is calculated from the information equity of the contributed assets.
 
Participation Equity (PQ)
This equity measures the active participation of a person. It is calculated by measuring the feedback a person has provided to other community contributions (assets). Viewing a contribution can be translated as feedback as well.
 
Personal Equity (PEQ)
The ultimate result, that describes a person's achievements and participation in the community. This value is the sum of a person's contribution and participation equities.
 
Configuration
By default the social equity feature is disabled and can be turned on by setting the "social.equity.equity.log.enabled" property in portal.properties. The social equity system works by evaluating and maintaining equity rewards that are the results of certain activities in the system. The social equity service doesn't know the meaning of these actions, these are configured in and by the contributing portlets. Naturally there is an administration portlet - accessible from the control panel - that allows administrators to change predefined values and store them into the database. There are two value sets that can be defined for an activity - information equity and participation equity. The first set contains values for calculating the reward for the information equity of the corresponding asset, while the latter is used to calculate participation equity rewards for the acting user.
 
All information has its usefulness only for a period of time. That period is determined by active downloads, comments, ratings or views of the information. So any information that is not rated, commented or viewed can be counted as stale information that lost its importance. Likewise, when a user is inactive for a certain period of time, his or her usefulness to the community diminishes or ceases all together.  In order to model this deterioration, the equity rewards are aging and thus are linearly converging to zero over a certain time period.
 
The above mentioned configuration value sets consist of two main values: the reward and its lifespan that is the time period in days over which the reward degrades to zero. There is also a daily limit value that simply sets how many times a day the corresponding equity reward can be used. The purpose of this limit is to slow down the development of a person's participation equity or an asset's information equity.
 
Ranking and daily maintenance
The main time unit for the social equity system is one day. Equity rewards degrade on a daily basis, and personal equity rankings are also calculated once a day. 
 
Top Users portlet
There is a portlet similar to friends that is capable of displaying the top ranked users and their equity values. It only displays users that have a rank greater than zero, so it is possible that a user has already accumulated some social equity but as the ranking process runs only once a day, his or her ranking might have not been updated yet, which results in the user not appearing in the list at all.
 
Contributing portlets
Currently there are three portlets that use the social equity service. These are Wiki, Blogs and Message Boards. The activities and their default values are configured in the resource actions xml.
 
Wiki
Configured activities are: ADD_PAGE, VIEW, ADD_DISCUSSION
 
Blogs
Configured activities are: ADD_ENTRY, VIEW, ADD_DISCUSSION
 
Message Boards
Configured activities are: ADD_MESSAGE, ADD_VOTE, REPLY_MESSAGE, VIEW
 
Affichage de 3 résultat(s).