Foren

Using announcements entry service

M Keehan, geändert vor 12 Jahren.

Using announcements entry service

New Member Beiträge: 8 Beitrittsdatum: 21.10.10 Neueste Beiträge
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, geändert vor 12 Jahren.

RE: Using announcements entry service

New Member Beiträge: 8 Beitrittsdatum: 21.10.10 Neueste Beiträge
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, geändert vor 12 Jahren.

RE: Using announcements entry service

Liferay Legend Beiträge: 2047 Beitrittsdatum: 07.10.08 Neueste Beiträge
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, geändert vor 12 Jahren.

RE: Using announcements entry service

New Member Beiträge: 8 Beitrittsdatum: 21.10.10 Neueste Beiträge
That's a great help - thank you very much!
M Keehan, geändert vor 12 Jahren.

RE: Using announcements entry service

New Member Beiträge: 8 Beitrittsdatum: 21.10.10 Neueste Beiträge
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, geändert vor 12 Jahren.

RE: Using announcements entry service

Liferay Master Beiträge: 894 Beitrittsdatum: 18.02.09 Neueste Beiträge
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, geändert vor 7 Jahren.

RE: Using announcements entry service

New Member Beiträge: 12 Beitrittsdatum: 30.12.16 Neueste Beiträge
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