留言板

Using announcements entry service

M Keehan,修改在12 年前。

Using announcements entry service

New Member 帖子: 8 加入日期: 10-10-21 最近的帖子
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,修改在12 年前。

RE: Using announcements entry service

New Member 帖子: 8 加入日期: 10-10-21 最近的帖子
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,修改在12 年前。

RE: Using announcements entry service

Liferay Legend 帖子: 2047 加入日期: 08-10-7 最近的帖子
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,修改在12 年前。

RE: Using announcements entry service

New Member 帖子: 8 加入日期: 10-10-21 最近的帖子
That's a great help - thank you very much!
M Keehan,修改在12 年前。

RE: Using announcements entry service

New Member 帖子: 8 加入日期: 10-10-21 最近的帖子
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,修改在12 年前。

RE: Using announcements entry service

Liferay Master 帖子: 894 加入日期: 09-2-18 最近的帖子
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,修改在7 年前。

RE: Using announcements entry service

New Member 帖子: 12 加入日期: 16-12-30 最近的帖子
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