В настоящее время я пытаюсь найти способ отключить общесистемную функциональность Quick Share в Alfresco 4.2.b или, если это невозможно, по крайней мере, удалить ссылки quickshare как из библиотеки документов, так и со страниц сведений о документе.
Первое, что я попробовал, - это воспользоваться преимуществом свойства system.quickshare.enabled, которое настраивается в файле alfresco-global.properties. Это просто не работает, выбрасывая следующее исключение:
Я обнаружил открытую проблему по этому поводу: https://issues.alfresco.com/jira/browse/ALF-16233.
Поскольку это кажется ошибкой и будет исправлена в следующих выпусках, я сосредоточен на удалении ссылок быстрого доступа из пользовательского интерфейса, насколько это возможно. Кстати, я нашел сообщение по теме, которое помогает: https://forums.alfresco.com/en/viewtopic.php?f=48&t=46659. Я успешно удалил область ссылки на документы на странице сведений о документе, создав следующее расширение:
<extension>
<modules>
<module>
<id>Removes from document-details page the Share region.</id>
<auto-deploy>true</auto-deploy>
<components>
<component>
<scope>template</scope>
<region-id>document-links</region-id>
<source-id>document-details</source-id>
<sub-components>
<sub-component id="default">
<evaluations>
<evaluation id="hideDocumentLinks">
<render>false</render>
</evaluation>
</evaluations>
</sub-component>
</sub-components>
</component>
</components>
</module>
</modules>
</extension>
Хорошо. У меня также есть ссылка quickshare со страницы сведений о документе, где выполняются некоторые изменения в файле share-config.xml, в частности, оставив пустой тег в разделе Social:
<config evaluator="string-compare" condition="Social">
<!-- Alfresco QuickShare social widget - for creating public url that can be shared -->
<quickshare>
<!--
Will be available as Alfresco.constants.QUICKSHARE_URL using javascrip in the browser.
If changing this, make sure this url matches the quickshare rule in urlrewrite.xml
-->
<url>{context}/s/{sharedId}</url>
</quickshare>
<!-- Alfresco LinkShare social widget - share a link to social sites -->
<linkshare>
<!--
These actions will be available as Alfresco.constants.LINKSHARE_ACTIONS using javascript in the browser.
Labels will be retrieved from msg key "linkshare.action.<id>.label" unless explicitly provided as an
attribute to the action element.
Each param value accepts the following input: {shareUrl}, {displayName} or a msg key that will be prefixed.
I.e. {body} for the email action's href param will be retrieved using "linkshare.action.email.body".
-->
<action id="email" type="link" index="10">
<param name="href">mailto:?subject={subject}&body={body}</param>
<param name="target">new</param>
</action>
<action id="facebook" type="link" index="20">
<param name="href">https://www.facebook.com/sharer/sharer.php?u={shareUrl}&t={message}</param>
<param name="target">new</param>
</action>
<action id="twitter" type="link" index="30">
<param name="href">https://twitter.com/intent/tweet?text={message}&url={shareUrl}</param>
<param name="target">new</param>
</action>
<action id="google-plus" type="link" index="40">
<param name="href">https://plus.google.com/share?url={shareUrl}</param>
<param name="target">new</param>
</action>
</linkshare>
</config>
Поскольку эта логика определена в веб-скрипте node-header.get.js:
model.showQuickShare = (!model.isContainer && model.showQuickShare && config.scoped["Social"]["quickshare"].getChildValue("url") != null).toString();
Тем не менее, ссылка на quickshare остается на странице библиотеки документов, что меня удивляет. Я полагал, что подобная логика, как указано выше, будет существовать для показа или отсутствия ссылки на странице библиотеки документов, но это не так. Итак, теперь мне интересно, что еще я могу сделать ... Как я заметил, эта ссылка создается на стороне клиента с помощью виджета documentlibrary (documentlist.js):
if (!record.node.isContainer)
{
html += '<span class="item item-social item-separator">' + Alfresco.DocumentList.generateQuickShare(this, record) + '</span>';
}
Я думаю о создании расширения, которое настраивает виджет библиотеки документов, как описано здесь: [url] http://blogs.alfresco.com/wp/ddraper/2012/05/22/customizing-share-javascript-widget-instantiation- часть-1 / [/ url]. Возможно ли это?
Я хотел бы знать, есть ли более простой способ сделать то, что мне нужно, перед тем, как приступить к настройке виджета. Если этого «волшебного» способа не существует, я хотел бы знать, верен ли описанный подход или нет.
Заранее спасибо.
.item-social a.quickshare-action { visibility: hidden; }
- person Alejandro García Seco   schedule 17.12.2012