четверг, 17 июня 2010 г.
Интересная система на базе EMS Alfresco
Из интересного - полная поддержка отечественного документооборота и делопроизводства, а также возможность использования приложения как сервис (Software As A Service). И вроде бы не очень дорого.
пятница, 20 ноября 2009 г.
вторник, 17 ноября 2009 г.
Установка Alfresco Enterprise 3.1 + Oracle
Все вроде бы должно быть просто, но пришлось немного помучиться с багами в Enterprise(!!!) версии Alfresco
1. Устанавливаем Oracle ( в моем случае 10G) , ставим кодировку UTF8, создаем БД alfresco
2. Устанавливаем Alfresco, используем БД по умолчанию
3. Создаем папку Oracle \Alfresco\extras\databases\Oracle \ копируя её из mysql
и заменяем содержимое файлов
db_remove.bat
C:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe system/password @db_remove.sql
db_remove.sql
drop user alfresco cascade;
exit;
db_setup.bat
C:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe system/password @db_setup.sql
db_setup.sql
create user alfresco identified by alfresco;
grant dba to alfresco;
grant create table to alfresco;
grant create sequence to alfresco;
grant update any table to alfresco;
grant select any table to alfresco;
exit;
4. (a) Открываем \Alfresco\tomcat\shared\classes\alfresco\extension\custom-repository.properties
и меняем строки:
db.name=alfresco
db.username=alfresco
db.password=alfresco
на
db.driver=oracle.jdbc.OracleDriver
db.name=alfresco
db.url=jdbc:oracle:thin:@localhost:1521:alfresco
db.username=alfresco
db.password=alfresco
db.pool.validate.query=SELECT 1 FROM DUAL
Комментарим строки
db.driver=org.apache.derby.jdbc.EmbeddedDriver
db.url=jdbc:derby:C:/Alfresco/alf_data/derby_data/alfresco;create=true
(b) Открываем C:\Alfresco\tomcat\shared\classes\alfresco\extension\custom-hibernate-dialect.properties
меняем строки:
комментируем
hibernate.dialect=org.hibernate.dialect.DerbyDialect
добавляем hibernate.dialect=org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect
важно что именно этот диалект
(c) Удаляем файлы из C:\Alfresco\tomcat\shared\classes\alfresco\extension\
custom-activities-feed-context.xml
custom-activities-SqlMapConfig.xml
- это лечит какой-то баг невозможности поиска activities
5. Копируем Oracle JDBC driver JAR в C:\Alfresco\tomcat\lib\
6. Перезапускаем машину
6. Запускаем сервер Alfresco
7. Проверяем как обычно http://alfresco:8080/alfresco
пятница, 4 сентября 2009 г.
Обучение по Alfresсo в Москве
Компания Alfresco проведет в Москве обучающие курсы. Обучение пройдет с 21 по 25 сентября.
Курсы подготовлены компанией Componize, которая является сертифицированным партнером Alfresco по обучениию.
Примерный план обучения:
Администрирование
Секция 1: Установка и настройка системы
- Модуль 1: Установка Alfresco
- Модуль 2: Конфигурация репозитория
- Модуль 3: Конфигурация файловой системы
- Модуль 4: Устранение возможных проблем
Секция 2: Обслуживание, миграция и безопасность
- Модуль 5: Экспорт и импорт
- Модуль 6: Бэкап и восстановление из бэкапа
- Модуль 7: Безопасность и права доступа
Настройка
Секция 1: Модели контента
- Модуль 1: Доменные модели
- Модуль 2: Изменение доменной модели
Секция 2: Настройка web-клиента
- Модуль 3: Конфигурация web-клиента
- Модуль 4: Настройка web-клиента
Разработка с AlfrescoAPI
Секция 1: Введение
- Модуль 1: Среда разработки
- Module 2: Архитекутра репозитория
Секция 2:Разработка с использованием репозитория Alfresco
- Модуль 3: Spring Framework
- Module 4: Foundation Services API
- Модуль 5: JCR API
- Модуль 6: Web Services API
- Модуль 7: Использование AOP
Секция 3: Добавление новой функциональности в репозиторий Alfresco
- Модуль 8: Действия
- Модуль 9: Права
- Модуль 10: Преобразователи данных
- Модуль 11: Экстракторы метаданных
Секция 4: Добавление новой функциональности в web-клиент Alfresco
- Модуль 12: JavaServer Faces
- Модуль 13: Actions Framework
- Модуль 14: Dialog Framework
- Модуль 15: Wizard Framework
- Модуль 5: Packaging Extensions
- Модуль 16: Alfresco Module Packages
Информация по курсу
Оригинальная ссылка:
Intensive Alfresco Training for Development (5 Days)
По окончанию курса выдается сертификат разработчика Alfresco.
вторник, 6 мая 2008 г.
Установка Alfresco
Нам понадобится
- Java Develompment Kit
- База данных MySQL(можно в принципе и встроенной обойтись)
- Собственно сама ECM Alfresco.
mysql -u root -p
use alfresco;
create user alfresco_user identified by password 'alfresco_pass';
grant all on alfresco.* to 'alfresco_user';
%ALFRESCO_HOME%\tomcat\shared\classes\alfresco\extension\custom-repository.properties,
#db.username=alfresco
#db.password=alfresco
%ALFRESCO_HOME%\extras\databases\mysql\db_setup.bat для создания DВ
и %ALFRESCO_HOME%\extras\databases\mysql\db_remove.bat для удаления
Так как мы используем MySQL необходимо раскомментировать строчки:
#db.driver=org.gjt.mm.mysql.Driver
#db.url=jdbc:mysql://localhost/alfresco
в блоке настройки MySQL.
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:file:alf_data/hsql_data/alfresco;ifexists=true;shutdown=true;
файле
%ALFRESCO_HOME%\tomcat\shared\classes\alfresco\extension\custom-hibernate-dialect.properties
#
# HSQL dialect
#
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
#
# MySQL dialect (default)
#
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
Затем запускаем Alfresco %ALFRESCO_HOME%\alfresco-start.bat
Затем можно проверить установку, задав в строке браузера
http://localhost:8080/alfresco
среда, 23 апреля 2008 г.
Что такое Alfresco ?
- John Newton – один из создателей Documentum
- John Powell – один из руководителей BusinessObjects
- Dr. IanHowells – отвечал за маркетинг в SeeBeyond®
- KevinCochrane – отвечал за маркетинг в Interwoven®
- Matt Asay - основатель и организатор Open Source Business Conference (OSBC)
Посмотрим в wiki:
По определению Gartner ECM — это стратегическая инфраструктура и техническая архитектура для поддержки единого жизненного цикла неструктурированной информации (контента) различных типов и форматов. ECM-системы состоят из приложений, которые могут взаимодействовать между собой, а также использоваться и продаваться самостоятельно. Gartner определяет современные ECM-системы как реализующие следующие ключевые компоненты:
- Управление документами — экспорт/импорт, контроль версий, безопасность и службы библиотек для деловых документов.
- Управление образами документов (Document Imaging) — захват, преобразование и управление бумажными документами.
- Управление записями (или, в соответствии с последним переводом стандарта IEEE 15489 — ГОСТ Р ИСО 15489-1-2007, "управление документами") — долгосрочное архивирование, автоматизация политик хранения и соответствия нормам регулирующих органов, обеспечение соответствия законодательным и отраслевым нормам.
- Управление потоками работ (Workflow) — поддержка бизнес-процессов, передача контента по маршрутам, назначение рабочих задач и состояний, создание журналов аудита.
- Управление веб-контентом — автоматизация роли веб-мастера, управление динамическим контентом и взаимодействием пользователей.
- Документо-ориентированное взаимодействие — совместное использование документов пользователями и поддержка проектных команд.
Да... Мощно задвинули.
А что же из этого входит в Альфреско ?
В неё входят:
- Система Электронного Документооборота (СЭД)
- Система управления изображениями
- Система управления записями
- Система управления потоками работ
- Система управление Веб-содержимым
- Система совместной работы над документами
Все это можно увидеть на рисунке:
Интересно это Gartner описала Альфреско или Альфреско списала у Gather ?
Но факт остается фактом:
среда, 2 апреля 2008 г.
Создание пользовательских типов в Alfresco. Часть 1
Основы создания моделей данных
Модель данных описывает данные которые могут быть сохранены в репозитории. Модели данных это основа Alfresco - без них она бы была просто развитой файловой системой. Вот ключевые особенности модели данных Alfresco:
- Используются такие типы данных которые могут быть легко сохранены в БД, например без модели данных для Alfresco не было бы разницы между типами String и Date.
- Более высокое положение в иерархии таких типов данных как "данные" и "папка", чем положение типов "Стандартная операция" или "Контракт"
- Встроенные аспекты "наблюдаемый" и "классифицируемый" наряду с "оцениваемый" и "комментируемый"
- Свойства (или метаданные) специфичны для каждого типа данных.
- К свойствам могут применяться ограничения (например "значения свойства должны удовлетворять некоторому шаблону" или "значения свойства могут выбираться из списка подходящих")
- Как индексировать данные для поиска
- Отношения между типами данных.
Типы
Типы похожи на классы объектов в ООП. Они могут использоваться для мделирования бизнес объектов, они имеют свойства, и они могут наследоваться от типа предка. Важнейшие встроенные типы это "Данные", "Персона" и "Папка". Пользовательские типы ограничены только вашей фантазией и требованиями бизнеса. Например, "Отчет о прибылях", "Медицинская запись", "Фильм", "Песня", "Комментарий". Заметьте, что Типы, Свойства, Типы свойств, Ассоциации и Аспекты имеют уникальные имена. Эти имена используются потом в xml схеме модели. Например, для модели MyModel мы можем определить URI: "http://www.mymodel.com/model/content/1.0" и префикс "opt:", любой тип определенный как часть этой модели будет начинаться с "opt:". Мы еще поговорим подробнее как с использованием XML определяются модели. Использования пространств имен позволяет исключить коллизии наименований типов.
Свойства
Свойство это составная часть метаданных ассоциированных с данным типом. Например, свойствами "Отчета об убытках", могут быть такие свойства как: "Имя работника", "Дата создания", "Проект", "Клиент" и т.д. Этот тип может так же иметь свойство "данные" для хранения файла с отчетом в формате excel или PDF.
Типы свойств
Типы свойств - это типы данных которые могут быть сохранены. Базовые типы - строки, даты, числа, булевы значения - уже определены в Alfresco по умолчанию.
Ограничения
Ограничения используются для определения того какие данные могут храниться в свойстве типа. Существуют четыре типа ограничений: REGEX, LIST, MINMAX, and LENGTH. REGEX используется для ограничения свойства с помощью регулярных выражений, LIST используется для определения списка возможных значений, MINMAX для ограничения цифровых значений и LENGTH для определения длины свойства. Ограничения могут быть определены один раз и использоваться во всех моделях Alfresco. Например, везде можно использовать ограничение “cm:filename” для REGEX-ограничения по имени файла.
Ассоциации
Ассоциации определяют отношения между типами. Без ассоциаций, модель может быть полна типами которые ссылаются на другие части данных. Возвращаясь к примеру с "Отчетом по прибыли" мы можем сохранить каждую строчку как отдельный объект. К типу "Отчет по прибыли" мы можем добавить тип "строчка отчета". Используя ассоциации мы можем сказать Alfresco об отношениях между этими типами. Ассоциации бывают двух типов: "равные ассоциации" и и ассоциации "подчинения". "Равные" ассоциации определяют отношения между двумя объектами, но не подчиняет их один другому. "Подчиненные" ассоциации напротив используются для того, чтобы показать такое подчинение. В ассоциациях существующих по-умолчанию легко определить тип ассоциации "cm:contains". Эта ассоциации определяет "подчиненные" отношения между папками ("cm:folder") и всеми другими объектами - потомками типа "sys:base". Другой пример - "Отчет" и "Документы приложения" - они будут связаны "равными" ассоциациями.
Аспекты
Перед тем как говорить об аспектах, давайте решим как работает наследование и включение в нашей модели данных. Допустим мы используем Alfresco для управления данными и отображения их на странице портала. Допустим что мы хотим видеть только часть данных. Простой пример это отображение даты и времени отправки данных на портал. Используя модель данных мы можем поступить двумя способами: первый - это определить такое свойство в корневом типе для всех объектов и все объекты -наследники будут его наследовать от корневого типа, а второй способ определить этот свойтсво только для тех типов которые будут отображаться на портале.. Естественно второй способ лучше, а первый легче. Таким образом, для нашего примера нужно определить аспект "PortalDisplayable" со свойством "published date". Этот аспект будет добавляться ко всем данным для которых требуется отображение на портале.