Foren

Adding rating functionality to message boards -threads

thumbnail
Mazhar Alam, geändert vor 11 Jahren.

Adding rating functionality to message boards -threads

Regular Member Beiträge: 191 Beitrittsdatum: 25.11.11 Neueste Beiträge
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...
thumbnail
Hitoshi Ozawa, geändert vor 11 Jahren.

RE: Adding rating functionality to message boards -threads

Liferay Legend Beiträge: 7942 Beitrittsdatum: 24.03.10 Neueste Beiträge
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.
thumbnail
Mazhar Alam, geändert vor 11 Jahren.

RE: Adding rating functionality to message boards -threads

Regular Member Beiträge: 191 Beitrittsdatum: 25.11.11 Neueste Beiträge
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...:-)
thumbnail
Vitaliy Koshelenko, geändert vor 9 Jahren.

RE: Adding rating functionality to message boards -threads

Expert Beiträge: 319 Beitrittsdatum: 25.03.11 Neueste Beiträge
Add the following properties:

ratings.max.score[com.liferay.portlet.messageboards.model.MBDiscussion]=5
ratings.min.score[com.liferay.portlet.messageboards.model.MBDiscussion]=1

ratings.max.score[com.liferay.portlet.messageboards.model.MBMessage]=5
ratings.min.score[com.liferay.portlet.messageboards.model.MBMessage]=1
thumbnail
Ellisa Khoja, geändert vor 8 Jahren.

RE: Adding rating functionality to message boards -threads

New Member Beiträge: 2 Beitrittsdatum: 06.10.14 Neueste Beiträge
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?
thumbnail
Ellisa Khoja, geändert vor 8 Jahren.

RE: Adding rating functionality to message boards -threads

New Member Beiträge: 2 Beitrittsdatum: 06.10.14 Neueste Beiträge
I am getting same error. can you please provide solution?
thumbnail
Mazhar Alam, geändert vor 8 Jahren.

RE: Adding rating functionality to message boards -threads

Regular Member Beiträge: 191 Beitrittsdatum: 25.11.11 Neueste Beiträge
Hi Ellisa,

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

Thanks
thumbnail
Jitendra Rajput, geändert vor 8 Jahren.

RE: Adding rating functionality to message boards -threads

Liferay Master Beiträge: 875 Beitrittsdatum: 07.01.11 Neueste Beiträge
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.

protected void validate(String className, double score)
		throws PortalException {

		Filter filter = new Filter(className);

		double maxScore = GetterUtil.getInteger(
			PropsUtil.get(PropsKeys.RATINGS_MAX_SCORE, filter),
			PropsValues.RATINGS_DEFAULT_NUMBER_OF_STARS);
		double minScore = GetterUtil.getInteger(
			PropsUtil.get(PropsKeys.RATINGS_MIN_SCORE, filter));

		if ((score &lt; minScore) || (score &gt; maxScore)) {
			throw new EntryScoreException();
		}
	}


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

  #
    # Set the number of max score and min score that will be used by the ratings
    # tag library for each model.
    #
    ratings.max.score[com.liferay.portlet.messageboards.model.MBDiscussion]=1
    ratings.min.score[com.liferay.portlet.messageboards.model.MBDiscussion]=-1

    ratings.max.score[com.liferay.portlet.messageboards.model.MBMessage]=1
    ratings.min.score[com.liferay.portlet.messageboards.model.MBMessage]=-1