Страница 1 из 1

Вопрос по хранению файлов

Добавлено: 18 сен 2006, 09:11
Artem
Всем привет!
Возникла потребность организовать работу из хранилища с "проектом программы", который состоит из нескольких папок, в которых в свою очередь расположены файлы. Как это организовать в Лоции (и возможно ли вообще). Как вариант можно конечно пользоваться архиватором, который бы для хранилища делал один большой файл, но это крайне неудобно. Поделитесь соображениями.

Добавлено: 18 сен 2006, 10:23
Anderyt
а можно подробнее задачу изложить?
что за программа, какие файлы, и как именно нужно организовать работу... программа сохраняет инфу в виде нескольких файлов? и все их надо хранить?
все таки нужны подробности...

Добавлено: 18 сен 2006, 19:26
Старик Крупский
Тут, в принципе, ничего сложного нет. В Лоции создается объектная стуктура, соответствующая папкам. В каждую папку скопом или по одному набрасываются (импортируются) файлы. Один только нюанс - критично ли, что файлы дожны физически лежать в папках с заданными именами? Если да - то каждая папка оформляется как библиотека и файлы в ней просто регистрируются. Проблем быть не должно...

Добавлено: 19 сен 2006, 02:29
Artem
Программа специфическая отраслевая. Проект создается программой при выборе типа проекта, состоит из (~) 150 папок, в каждой лежит различное количество файлов. Такая структура не экзотична, она также свойственна некоторым другим программным продуктам, например Advance steel, да и мало ли ещё где может быть.
to Крупский: Да, критично, пробовал делать контейнер, мастер файл+остальные - не находит файлы, желает их именно в подпапках находить.
продолжаю искать решение

Добавлено: 19 сен 2006, 06:37
Anderyt
ого.... как все сложно звучит...
если заводить папку с файлами и подпапками проекта и потом в ней регистрировать уже сохраненные файлы, то вроде должно работать. хотя это, конечно, к Крупскому ;-) однако при этом, кажется, придется регистрировать каждый новый проект как отдельную библиотеку... если конечно не придумать уникальную идентификацию папок проектов в рамках одной библиотеки.
а вообще... так ли нужно регистрировать ВСЕ файлы проекта? не хватит только одного, который открывается приложением? оно по идее потом само должно подцепить остальные файлы, если лежат в ожидаемых местах. остальные файлы могут вообще не быть зарегистрированными в библиотеке. хотя тогда будут неясности с дачей прав на них...
а вот с компонентыми документами - это ваще конечно хитро придумано... тогда и права можно замутить на компоненты, а не только на мастер-файл. а что если вот так:
имеем библиотеку \\srv\lib01;
сохряняем проект из приложения в папку \\srv\lib01\projXXXX\ после этого в этой папке projXXXX должны будут организоваться папки и файлы проекта;
регистрируем в Лоции основной файл, тот, который открывает/закрывает приложение;
регистрируем остальные файлы, можно (но, кажется, необязательно) в структуре объектов, повторяющей структуру папок;
создаем из основного файла и остальных файлов компонентный документы, с помощью контейнера. причем это вручную придется делать, скорее всего, при отсутствии интеграции.
в итоге, при открытии основного файла из Лоции, необходимые права (настроенные в контейнере) должны быть назначены на ВСЕ файлы, которые мы зарегистрировали, а приложение будет работать с ними, как если бы они были на простом сетевом ресурсе, структуру папки проекта создавало само приложение, оно должно корректно открыть эти файлы...
если вам это не кажется фантастикой :oops: , то рискну привести минусы этого решения :wink: . самые узкие места - регистрация остальных файлов и построение компонентного документа. если ошибиться - приложение может не открыть весь проект... если эти процедуры делать руками, то остается только надеятся или на небольшое кол-во таких отдельных проектов, или на очень достойное материальное вознаграждение тех, кто будет "сохранять" такие проекты в Лоцию...
ой... сколько всего... "Остапа снова понесло"... :lol:

Добавлено: 19 сен 2006, 07:02
Старик Крупский
to Artem: Anderyt, наверное, прав - лучше пробовать под каждый проект отдельную библиотеку регистрить. Но компоненты... :( Так что для таких вещей, хорошо, конечно, модуль интеграции иметь :oops: Или ваять что-то свое через API. Кстати, я допускаю, что постановка задачи не включает в себя управление правами на файлы. В этом случае можно обойтись без компонентов. Регистрим НЕЗАЩИЩЕННЫЕ библиотеки, запускаем программу, а она уже в библиотеке создаст столько подпапок, сколько ей надо. А правами управляем через объекты.
Предполагаю, что имена подпапок в каждом проекте могут быть одни и те же. Исходя из этого я только укрепляюсь в мысли, что под каждый проект нужна отдельная библиотека.

Добавлено: 19 сен 2006, 07:19
Anderyt
то Крупский: нет нет, я как раз ПРОТИВ этой идеи :-) это ж можно будет замучаться создавать новые библиотеки... а что если в одной библиотеке делать корневые папки для КАЖДОГО ОТДЕЛЬНОГО ПРОЕКТА? и в них сохранять файлы проекта.
то есть: (не смог написать пробел, пришлось _ юзать, чтобы структуру передать :-) )
lib01
__proj0001
____main_file
____folder1
______file1
______file2
____folder2
______file3
______file4
______.....
____.....
__proj0002
____main_file
____folder1
______file1
______file2
____folder2
______file3
______file4
______.....
____.....
и так далее
тогда разные проекты не будут друг другу мешать, файлы с одинаковыми именами будут в разных папках projXXXX.
и уже потом регистрировать...
здесь я согласен, если не заморачиваться о правах на "остальные" файлы (хотя это не совсем верно будет), то можно их вообще не регистрировать их и не создавать ни структуру объектов, ни компонентый документ...
но если все таки права нужны, то без своего модуля интеграции, на самом деле, придется несладко...

Добавлено: 19 сен 2006, 07:42
Старик Крупский
to Anderyt: можно и так. Но принципиально особой разницы нет - создавать папки библиотек или папки в самой библиотеке. Согласен, внутри библиотеки проще. А, впрочем, что мы рассуждаем, не зная особо задачи. Может быть эата программа все за нас сделает - и папку создаст в библиотеке и права раздаст (насчет второго, правада, сомневаюсь - кому их раздавать-то?). Думаю, надо чтобы Artem как-то поучавствовал в нашей дискуссии, а то мы скоро придумаем свою программу для управления проектом программы :o

Добавлено: 19 сен 2006, 08:42
Artem
....(запыхавшись:) тут я :) !
-буду экспериментировать, программу ту иметь под рукой нет возможности - количество ключей аппаратной защиты у нас большое, но ограничено.
-права одинаковы на все компоненты проекта программы (и то радует)
-в папке с проектом примерно 150 папок, в каждой файла 2-3
-структура генерируется при нажатии "Создать проект" - и содержимое этих раскиданых файов изначально специфично для конкретного проекта
-есть мысль поэкспериментировать с WinRAR - развернуть настроенный архив и подсунуть программе можно, как обратно свернуть и положить к объекту наверное придумаю.
В общем обещаю в случае успешного решения проблемы отчитаться прямо здесь

Добавлено: 19 сен 2006, 20:34
Старик Крупский
Ok! Будем ждать результатов :D