Добавление поля в профиль пользователя и при его регистрации
Добрый день, форумчане!!!
Мое знакомство с альфреско идет уже неделю и идет плохо.
Чувствую себя таким чайником, что аж вешаться охота.
Есть приложение одно на альфреско, делал его прошлый программер, но не доделал. Остались мелочи. И в их числе стоит мелочь:
Добавить поле ИИН при регистрации пользователя, т.е. когда мы нажимаем новый пользователь и при просмотре пользователя чтобы поле ИИН тоже было.
Читал, что для этого нужны аспекты. Но что прописывать в аспектах, куда, я не знаю.((((
Мое знакомство с альфреско идет уже неделю и идет плохо.
Чувствую себя таким чайником, что аж вешаться охота.
Есть приложение одно на альфреско, делал его прошлый программер, но не доделал. Остались мелочи. И в их числе стоит мелочь:
Добавить поле ИИН при регистрации пользователя, т.е. когда мы нажимаем новый пользователь и при просмотре пользователя чтобы поле ИИН тоже было.
Читал, что для этого нужны аспекты. Но что прописывать в аспектах, куда, я не знаю.((((
Прикрепленные файлы | Размер |
---|---|
1.jpg | 62.92 кб |
Комментарии
27/02/2013 - 13:05
Начните с изучения статьи http://www.ossportal.ru/technologies/alfresco/blogs/156.
1. Вам нужно найти модель, описывающую системные типы. Внутри будет тип пользователя. Посмотрите как она сделана.
2. Создайте свою модель, содержащую 1 аспект со свойством "ИНН".
3. Напишите скрипт (это к fufler, я не умею), который будет автоматически цеплять аспект всем пользователям в момент их создания.
4. перегрузите все компоненты интерфейса Share, в которых нужно отображать это поле пользователя (страница создания пользователя в админке, страница просмотра пользователя, страница редактирования информации о пользователе итд).
27/02/2013 - 14:43
Будем искать.
И еще один маленький вопросик.
Что нужно знать, чтобы работать в альфреско? Java, JS, PHP????
Простите за столь тупой вопрос.
27/02/2013 - 15:00
11/03/2013 - 13:06
12/03/2013 - 08:52
26/03/2013 - 13:02
<?xml version="1.0" encoding="UTF-8"?>
Далее для того чтобы зарегистрировать модель в репозитории (http://wiki.alfresco.com/wiki/Data_Dictionary_Guide#Step_4:_Register_the...), насколько я понял, создаем в tomcat/shared/classes/alfresco/extension файл my-model-context.xml:
<?xml version='1.0' encoding='UTF-8'?>
<bean id="extension.my.resourceBundle" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
Захожу http://127.0.0.1:8080/alfresco и получю:
Получается что я допусти ошибку на этапе объявления модели.
Подскажите что я делаю не так?
Спасибо.
27/03/2013 - 11:27
Может быть кто-то поделиться рабочим примером?
27/03/2013 - 13:30
Один комментарий: resource bundle - это файлы локализации. Если у Вас - только модель и никаких дополнитьных файлов нет, вообще удалите этот кусок из context, оставьте только модель. Тогда, если все правильно, система должна запуститься.
27/03/2013 - 16:29
27/03/2013 - 14:15
задаёт Spring Bean, отвечающий за загрузку файлов локализации (classpath:alfresco/messages/substitution*.properties в данном случае). Как было сказано выше, если вы не загружаете дополнительных файлов локализации, то вам этот кусок не нужен.
Я бы не советовал добавлять аспект непосредственно в стандартную модель, так как это может привести к не самым приятным последствиям. Лучше попробуйте добавить аспект через API к уже созданному пользователю. Чтобы попробовать API в действии вам понадобится JavaScript Console.
Для того, чтобы нормально диагностировать проблему, нужны логи (там обычно написано, почему Alfresco не запустилась).
27/03/2013 - 17:31
За ссылку на API спасибо, действительно удобно работать с JavaScript Console. Но т.к. я работаю с чистой, не рабочей базой то это ведь не так страшно, ронять нечего. Или то, как я делаю все же не «кошерно»?
После того как убрал Spring Bean, полез в логи (что-то я забыл о эффективности их анализа). Сразу нашел пару косяков (думаю стоит расписать ошибки нуба для потомков):
в файле my-model-context.xml
должно быть (плохо проанализировал пример и не все заменил) не
<bean id="extension.sub.dictionaryBootstrap"...
а
<bean id="extension.my.dictionaryBootstrap"
в файле customContentModel.xml забыл импортировать свою модель (третья строка):
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
<import uri="//www.alfresco.com/model/userOtherBase/1.0" prefix="my"/>
</imports>
Дальше нужна опять ваша помощь. Не могу понять почему остается ошибка:
ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extension.my.dictionaryBootstrap'
defined in file [C:\Alfresco42c\tomcat\shared\classes\alfresco\extension\my-model-context.xml]: Invocation of init method
failed; nested exception is org.alfresco.service.cmr.dictionary.DictionaryException: 02270001 Could not import bootstrap model alfresco/extension/my-model.xml
Альфреска не видит мой bean 'extension.my.dictionaryBootstrap' или дело в другом ?
27/03/2013 - 22:52
Сложно с ходу сказать. В логах ниже должны быть строки, начинающиеся с «Caused by», — вот там и следует искать причины падения.
28/03/2013 - 17:24
Благодаря ей и вашей помощи, на текущий момент альфреска у меня взлетает без ошибок. Я создал модель, стартанул ее в beans, создал аспект.
Теперь встал вопрос как вывести мое дополнительное поле при регистрации пользователя. Нашел дашлет
\tomcat\webapps\share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco\components\dashlets\site-profile.get.html.ftl
Как правильно делается: редактировать этот файл или его надо скопировать куда-нибудь и редактировать как расширение (по принципу как создавал модель)?
28/03/2013 - 19:27
29/03/2013 - 16:19
05/04/2013 - 17:01
Сам себе и отвечу :) Хочется верить, что не я один задаю такие глупые вопросы и это кому-то еще поможет.)
Итак, путем поиска и перебора я обнаружил что за обработку регистрации нового пользователя отвечает CreateUserWizard который инициализируется (поправьте если выразился некорректно) в \Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\web-client-config-wizards.xml
Шаблон полей первого шага, для каждого шага свой, задается в \Alfresco\tomcat\webapps\alfresco\jsp\users\new-user-wizard\person-properties.jsp
Поделитесь ссылкой чтобы понять с каким файлами (кодом) взаимодействует файл person-properties.jsp и задаются и обрабатываются переменные типа WizardManager.bean.firstName.
Может быть есть статья на эту тему, подскажите пожалуйста.09/04/2013 - 11:32