Forums

Home » Liferay Portal » English » 3. Development

Combination View Flat View Tree View
Threads [ Previous | Next ]
Mazhar Alam
Adding rating functionality to message boards -threads
January 3, 2013 4:04 AM
Answer

Mazhar Alam

Rank: Regular Member

Posts: 201

Join Date: November 25, 2011

Recent Posts

Hi all,
Im trying to add rating feature using-

<liferay-ui:ratings
className="<%= MBMessage.class.getName() %>"
classPK="<%= message.getMessageId() %>"
type="stars"
/>

But when i rate and suppose i gave 4 rating(stars) to any thread post..An error comes--

com.liferay.portlet.ratings.EntryScoreException
at com.liferay.portlet.ratings.service.impl.RatingsEntryLocalServiceImpl.validate(RatingsEntryLocalServiceImpl.java:266)
at com.liferay.portlet.ratings.service.impl.RatingsEntryLocalServiceImpl.updateEntry(RatingsEntryLocalServiceImpl.java:151)


Any ideas how to resolve this...
Hitoshi Ozawa
RE: Adding rating functionality to message boards -threads
January 6, 2013 2:59 PM
Answer

Hitoshi Ozawa

Rank: Liferay Legend

Posts: 7949

Join Date: March 23, 2010

Recent Posts

If you look at the ratingsentry and ratingstats table (or related definition in service.xml), it seems you wont be able to use liferay's rating in message board posts.
Mazhar Alam
RE: Adding rating functionality to message boards -threads
April 12, 2013 3:47 AM
Answer

Mazhar Alam

Rank: Regular Member

Posts: 201

Join Date: November 25, 2011

Recent Posts

I checked my portal source, which wasn't updated one..so i was not able to resolve..now i ' ve resolved the issue..Thanks anyway for you help...:-)
Vitaliy Koshelenko
RE: Adding rating functionality to message boards -threads
March 26, 2015 10:37 AM
Answer

Vitaliy Koshelenko

Rank: Expert

Posts: 277

Join Date: March 25, 2011

Recent Posts

Add the following properties:

1ratings.max.score[com.liferay.portlet.messageboards.model.MBDiscussion]=5
2ratings.min.score[com.liferay.portlet.messageboards.model.MBDiscussion]=1
3
4ratings.max.score[com.liferay.portlet.messageboards.model.MBMessage]=5
5ratings.min.score[com.liferay.portlet.messageboards.model.MBMessage]=1
Ellisa Khoja
RE: Adding rating functionality to message boards -threads
May 12, 2015 12:41 AM
Answer

Ellisa Khoja

Rank: New Member

Posts: 2

Join Date: October 6, 2014

Recent Posts

Mazhar Alam:
Hi all,
Im trying to add rating feature using-

<liferay-ui:ratings
className="<%= MBMessage.class.getName() %>"
classPK="<%= message.getMessageId() %>"
type="stars"
/>

But when i rate and suppose i gave 4 rating(stars) to any thread post..An error comes--

com.liferay.portlet.ratings.EntryScoreException
at com.liferay.portlet.ratings.service.impl.RatingsEntryLocalServiceImpl.validate(RatingsEntryLocalServiceImpl.java:266)
at com.liferay.portlet.ratings.service.impl.RatingsEntryLocalServiceImpl.updateEntry(RatingsEntryLocalServiceImpl.java:151)


Any ideas how to resolve this...


I am getting same error. can you please provide solution?
Ellisa Khoja
RE: Adding rating functionality to message boards -threads
May 12, 2015 12:42 AM
Answer

Ellisa Khoja

Rank: New Member

Posts: 2

Join Date: October 6, 2014

Recent Posts

I am getting same error. can you please provide solution?
Mazhar Alam
RE: Adding rating functionality to message boards -threads
June 3, 2015 10:10 PM
Answer

Mazhar Alam

Rank: Regular Member

Posts: 201

Join Date: November 25, 2011

Recent Posts

Hi Ellisa,

Please follow what Jitendra has suggested..I had modified the same properties.

Thanks
Jitendra Rajput
RE: Adding rating functionality to message boards -threads
May 12, 2015 11:33 AM
Answer

Jitendra Rajput

Rank: Liferay Master

Posts: 858

Join Date: January 7, 2011

Recent Posts

If you check validate() method implementation in that it is checking if current score is > max score or current score < min score it will throw EntryScoreException.

 1protected void validate(String className, double score)
 2        throws PortalException {
 3
 4        Filter filter = new Filter(className);
 5
 6        double maxScore = GetterUtil.getInteger(
 7            PropsUtil.get(PropsKeys.RATINGS_MAX_SCORE, filter),
 8            PropsValues.RATINGS_DEFAULT_NUMBER_OF_STARS);
 9        double minScore = GetterUtil.getInteger(
10            PropsUtil.get(PropsKeys.RATINGS_MIN_SCORE, filter));
11
12        if ((score < minScore) || (score > maxScore)) {
13            throw new EntryScoreException();
14        }
15    }


To correct this you need to add properties suggested by Vitally in portal-ext file.

 1  #
 2    # Set the number of max score and min score that will be used by the ratings
 3    # tag library for each model.
 4    #
 5    ratings.max.score[com.liferay.portlet.messageboards.model.MBDiscussion]=1
 6    ratings.min.score[com.liferay.portlet.messageboards.model.MBDiscussion]=-1
 7
 8    ratings.max.score[com.liferay.portlet.messageboards.model.MBMessage]=1
 9    ratings.min.score[com.liferay.portlet.messageboards.model.MBMessage]=-1