Alfresco Поделиться | Использование дашлета на пользовательской странице программно

Я очень новичок на свежем воздухе. У меня вопрос, как мы можем использовать дашлет (созданный с нуля) на странице (тоже созданный с нуля)? Какие файлы и конфигурации нужно использовать, чтобы включить дашлет на страницу?

Более того, вновь созданная страница должна быть похожа на страницу панели инструментов, но без аутентификации. Идея здесь состоит в том, чтобы покончить со стандартным потоком входа в систему на панели управления.

Благодарю.

3 ответа

Позвольте мне ответить на несколько примеров:

Страница под открытым небом

Чтобы создать страницу общего доступа Alfresco (вы используете общий доступ?), Вам нужно создать три файла:

<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/site-data/pages/my-page.xml
<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/site-data/template-instances/my-page.xml
<TOMCAT>/webapps/share/WEB-INF/classes/alfresco/templates/org/alfresco/my-page.ftl

Первый определяет вашу страницу, второй определяет, какие компоненты (дашлеты) вы будете использовать на странице, а последний - это HTML-шаблон (во Freemarker), упорядочивающий ваши компоненты.

Первые два файла - это XML, немного специфичный для конкретного случая, но простой XML, и последний, который вы можете поместить в статический HTML, и он будет работать, или вы можете добавить несколько макросов freemarker. Что находится в каждом из этих файлов (примеров), вы можете прочитать на этой странице, написанной специально для вас и на этот вопрос:) (Не спрашивайте, мне хотелось написать об этом)

Нет аутентификации

Чтобы не использовать аутентификацию, вы можете просто поместить none в файл определения страницы (первый файл XML).

Дашлет файлы

По сути, дашлет может содержать как минимум два файла, обычно 4-5 или что-то в этом роде. Файл dashlet.get.desc.xml означает две вещи: часть desc.xml говорит, что она для нового компонента (дашлет), а часть get говорит, что этот компонент будет отвечать на вызовы HTTP GET. обычно размещается где-то ниже /webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components. Неважно, где ниже, но вы хотели бы поместить его в какую-то папку, чтобы легче управлять всем вашим кодом. Этот файл содержит одну важную вещь: URL. Url определяет, на что будет отвечать ваш дашлет. И когда вы определили свою страницу в определении страницы выше, вы добавили бы этот URL для доступа к дашлету.

Вы даже можете получить доступ к дашлету напрямую, используя ссылку http://localhost:8080/share/my/url/to/dashlet.

Другой файл, dashlet.get.html.ftl, опять же является файлом шаблона freemarker. Вы положили туда HTML. Вы также можете иметь файл контроллера для dashlet, dashlet.get.js, который готовит некоторый динамический контент (он написан на серверном javascript и имеет доступ к некоторым API Alfresco Javascript).

Наконец, вы можете поместить некоторые интернационализированные тексты (переводы) в пакеты (в основном, dashlet.get.properties, dashlet.get_DE.properties, dashlet.get_ES.properties и т. Д. С помощью языков браузера).

Есть также варианты включения клиентского JavaScript-файла или CSS-файла в этот дашлет.

Чтобы увидеть, как именно собрать все это, вы можете попробовать прочитать эту страницу. Возможно, не очень хорошее чтение, но, надеюсь, кое-что прояснит.

Дашлет - это просто особый тип веб-скрипта, так что да, вполне возможно поместить тот же веб-скрипт в пользовательскую страницу, связав его в компонентную область.

Взаимосвязь между страницами, шаблонами, компонентами и регионами может быть немного сложной, если вы новичок в разработке Share, поэтому я бы рекомендовал рассмотреть живую презентацию Дэйва Дрейпера и Эрика Винлофа в Live Share из DevCon в ноябре прошлого года, где они представляют пример проекта включая скрипт сборки Ant и который включает в себя пользовательский веб-скрипт и определение страницы. Код можно загрузить из этого репозитория Git в качестве основы для вашего собственного проекта.

Вы не должны находить слишком много изменений, если они требуются для вашего веб-сценария дашлета, чтобы он работал на пользовательской странице, но помните, что если пользователь не прошел проверку подлинности, у вас не будет доступа к какой-либо информации о них, и вы не будете возможность получить любые данные из хранилища.

Извините, просто для ясности, вы хотите воспроизвести интерфейс общего доступа в репозитории Alfresco, но без входа в систему? Дашлеты и компоненты интерфейса являются веб-скриптами, а веб-скрипты хранятся в репозитории, поэтому для доступа к ним вам необходимо пройти аутентификацию. Вы можете использовать тег в описании xml webscript a runas="admin" или runas="guest", чтобы чего-то добиться. Если я неправильно понял, пожалуйста, дайте мне знать, и я постараюсь помочь..

Другие вопросы по тегам