Forums de discussion

Using announcements entry service

M Keehan, modifié il y a 12 années.

Using announcements entry service

New Member Publications: 8 Date d'inscription: 21/10/10 Publications récentes
Hi All,

I've created a web services client to talk to the announcements entry service.

The addEntry function generated has three parameters that I don't know how to fill, these being:

plid (I think this is a page ID, such as the default page. But how to get this value for my service - is there a set default?)
classNameId
classPK

if anyone could help I'd really appreciate it. Maybe there's some documentation that would explain it, but I've not found any. I was expecting the service to take a user id or group id or something.
M Keehan, modifié il y a 12 années.

RE: Using announcements entry service

New Member Publications: 8 Date d'inscription: 21/10/10 Publications récentes
Ok, so I can use -1 for plid. Not really sure why but that works.

I think classNameId represents a class of thing, like user, group, community... and classPK represents is the key of an item. Is that right? Any thoughts? Is anyone out there....? emoticon
thumbnail
Amos Fong, modifié il y a 12 années.

RE: Using announcements entry service

Liferay Legend Publications: 2047 Date d'inscription: 07/10/08 Publications récentes
The Plid is the unique of each page (or Layout java object). It's used for checking permissions. If you don't need to check permissions, use the AnnouncementsEntryLocalService instead.

classNameId and classPK refer to which object the announcement is for (you'll see this pattern in a lot of places).

Using the announcements portlet, the different classNames are organizations, communities, roles, and usergroups. If a user is a member of one of those groups, he would see all announcements based on a search of classNameId. You can get the classNameId of an object with something like:

PortalUtil.getClassNameId(Role.class.getName());

Hope that helps
M Keehan, modifié il y a 12 années.

RE: Using announcements entry service

New Member Publications: 8 Date d'inscription: 21/10/10 Publications récentes
That's a great help - thank you very much!
M Keehan, modifié il y a 12 années.

RE: Using announcements entry service

New Member Publications: 8 Date d'inscription: 21/10/10 Publications récentes
One thing - I can't see an "AnnouncementsEntryLocalService" when I visit the services list at http://localhost:8080/tunnel-web/axis

I'm using Liferay community edition, 6.0 GA4.

Can I just use plid -1? Or is there a way to switch on the 'local service'?
Oliver Bayer, modifié il y a 12 années.

RE: Using announcements entry service

Liferay Master Publications: 894 Date d'inscription: 18/02/09 Publications récentes
Hi,

if you want to use the webservices you can't access the local versions of these classes because webservices has to check for permissions. The AnnouncementsEntryLocal* classes can only be used in ext or hooks - afaik.

HTH Oli
thumbnail
Julien Nart, modifié il y a 7 années.

RE: Using announcements entry service

New Member Publications: 12 Date d'inscription: 30/12/16 Publications récentes
If you want to use the rest API to add an entry for the announcements, for the classNameId, we need to use your code PortalUtil.getClassNameId(Role.class.getName()); ?

I don't understand what I need to use for ClassPk and ClassNameId