Таблица PortletPreferences в базе данных содержит конфигурации каждого портлета в системе.Конфигурация articleId для портлета отображения веб-контента сохраняется в качестве предпочтения в этой таблице.Если вы посмотрите на эту таблицу, то увидите 3 важных столбца:
- plid содержит идентификатор макета (= страницы), на котором был удален портлет.
- portletid содержит экземпляр id портлета.Для портлета отображения веб-содержимого этот идентификатор имеет формат 56_INSTANCE_XXXX, где XXXX - уникальный хеш.
- предпочтения - это строка всех предпочтений и их значений для этого портлета в формате XML.
Пример предпочтений XML:
<portlet-preferences>
<preference><name>group-id</name><value>10139</value></preference>
<preference><name>article-id</name><value>14295</value></preference>
</portlet-preferences>
Так что это всего лишь вопрос правильности ваших запросов SQL.Насколько я знаю, нет службы, по которой вы могли бы позвонить напрямую.
SELECT l.friendlyURL
FROM PortletPreferences p, Layout l
WHERE p.plid=l.plid
AND p.portletid LIKE '56_INSTANCE_%'
AND p.preferences LIKE '<preference><name>article-id</name><value>14295</value></preference>';