02.09.2010, 11:56 | #1 |
Участник
|
Хранение файлов
Доброго дня!
Есть некоторые трудности с хранением файлов в аксе. Проблема в том, что прикрепляемые к записям аксапты файлы, должны поддерживать версионирование. Эту проблему решили, настроив хранение файлов в библиотеке документов SharePoint. Но если идти по этому пути, то придется разграничивать права доступа к файлам на самом узле SharePoint. Из этого вопросы. 1. Можно ли настроить версионирование в аксе? Например хранить документы в БД с поддержкой версий (это идеальный вариант использования, т.к. не придется возиться с SharePoint). 2. Можно ли как-то прокидывать права пользователя аксы на SharePoint? 3. Можно ли писать файлы в SharePoint от не от имени текущего пользователя, а от имена пользователя AOS, например? Может быть кто-нибудь решал подобные задачи? Спасибо за внимание! |
|
02.09.2010, 13:20 | #2 |
Administrator
|
1. Нет, т.к. БД не поддерживает версионность. Точнее даже так - AX кладет файлы в БД не задумываясь о том, что кладет (exe-шник, jpg, doc, txt и т.д.). А БД в свою очередь даже если бы и умела сравнивать - она должна была понимать - что за файл ей дают. А так ей тупо скармливают какой-то бинарный код, который до кучи еще обрамляется дополнительными служебными байтами
2. Нет. Права в АХ вообще ну никак с AD (Active Directory) не связаны. 3. Тут вряд ли. Как я понимаю смысл связи АХ с Sharepoint состоит в том, чтобы обеспечить ролевой (т.е. индивидуально для каждого пользователя) интерфейс. Отсюда вывод - что скорее всего АХ вряд ли будет связываться через учетную запись АОСа. А если вспомнить реализацию - что вся интеграция Sharepoint ->AX "висит" на коннекторе АХ, в котором задается АХ-вые логин и пароль - то думаю что скорее всего об учетной записи АОСа никто и не думал.
__________________
Возможно сделать все. Вопрос времени |
|
02.09.2010, 13:28 | #3 |
Участник
|
Цитата:
2. но (!): 2.1. хоть файлы и хранятся в контейнерах (memo-полях), хранение большого колиества файлов может убить вашу аксапту (растет transaction log, растет размер базы) 2.2. будет сильно затруднено архивирование базы средствами SQL. где-то здесь были обсуждения, как выделить подобные мемо-поля в отдельную схему архивирования 2.3. где-то были обсуждения, что документооборот не может хранить файлы в базе объемом больше 5Мб (не знаю, победили ли эту багу в последних версиях). Будьте внимательны и осторожны. |
|
02.09.2010, 13:39 | #4 |
Administrator
|
Формально - да. Но.... эта версионность будет видна только из журнала БД. И это будет версионность не документа, а значения поля, т.е. если я файл прикрепил, затем, другой переприкрепил - это все будет большим списком в истории. В любом случае а-ля Sharepoint не получится
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
02.09.2010, 13:52 | #5 |
Участник
|
Я бы зранил в sharepoint получив все плюсы интеграции с офисом
- список версий прям из ворда - сравнение версий - чекин /чекаут - вебредактирование Я бы сформулировал ограниченную задачу по настройке прав и написал бы скрипт/пакетное задание по их синхронизации |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
03.09.2010, 10:12 | #6 |
Участник
|
Мы версионность сделали простую на базе АХ таблички аттачей, добавив туда галку Устаревший и по умолчанию отфильтровав только не устаревшие.
По сути сами версии ведут люди (а не робот), но внешне сразу доступны актуальные доки, а версии в кучу списком. В грид выведены доп поля, кто когда аттачил и изменял. При этом правами запрещено тереть файлы, только добавлять. Но да, АХ не анализирует содержимое, а текст описания может быть произвольным, потому тут все на совести пользователей и аудита за ними. Впрочем, проблема "не тех файлов" и для шарепоинта актуальна. Проблема хранения в БД файла более 5мб на АХ4 не побеждена (хотя кому-то везет, после танца с бубном). В АХ2009 исправлено (я не тестил). У хранения в БД есть один плюс - запрет на редактирование файла, тогда как хранимый в папке может быть перезаписан изменением в него. Частично лечится настройкой доступа к файлам и их сокрытием в папке через права AD Хранение в БД сопряжено с распуханием БД, нужно настраивать таблицу аттачей на отдельный диск и делать отдельный бакап для нее. Так как врезка аттача в АХ сквозная, то можно там в одном месте написать свой код поверх\вместо родного. Например, хранить в папке, но по доступу через АОС, а не с правами пользователя (как в оригинале), на просмотр делать копию файла, что бы нельзя было его пересохранить. Этот сценарий мы держим про запас, когда припрет так и поступим. Либо уже тесная интеграция с шарепоинт. |
|
03.09.2010, 11:27 | #7 |
Участник
|
Всем спасибо за консультации. Подумав, решили хранить все в SharePoint. Права выставлять в нем же. Разнести разные типы документов (Основное - Управление документами - Типы документов) по разным папкам, либо создать под каждый тип документа свою библиотеку документов на SharePoint. А аксе настроить права доступа на таблицу DocuType, следовательно, пользователи будут видеть в меню "Создать" только доступные им типы документов (т.к. меню набирается динамически из этой таблицы). Затем привязать в аксе каждый тип документа к своей папке/библиотеке на SharePoint.
|
|
Теги |
axapta, dynamics ax, sharepoint |
|
Похожие темы | ||||
Тема | Ответов | |||
Хранение документов в SharePoint | 0 | |||
ответственное хранение | 11 | |||
Передача товара на ответственное хранение | 30 | |||
Учет накладных расходов на хранение | 4 | |||
MS SQL и хранение в них файлов | 10 |
|