Ответ: Проект: Территория свободного софта
Я уже вкратце освещал как моя база устроена. И когда мне надо отредактировать уже имеющийся шаблон, который давным давно закатан на болванку, потому что хрен напасешься места на хардах - я его просто достаю с диска, номер диска указан в его записи в базе (mdb), с диска переписываю в текущий рабочий каталог на харде где он будет редактироваться, а в базе изменяю номер диска: ставлю 0 (ноль). Ноль указывает что шаблон (проект) не архивирован еще. С этого момента найти его прежнюю версию можно только в одном из бэкапов файлов базы, а если прошло много времени и в бэкапах уже нет - то вообще не найти, если только не просматривать все диски живьем (а их за 10 лет накопилось ауенное число).
То есть все устроено просто: у каждого диза есть своя рабочая папка, куда он складывает файлы проекта. Затем все собирается в одной папке - которая условно называется Архив. В нее валится и новая работа, и та, которую берут со старых СД для реюза или в качестве шаблонов. Типа такой коллектор. Вся контора туда в конце-концов сваливает свое файло. Разумеется все проекты проходят через базу, и имеют в числе прочих полей, поле Folder - то есть файловое имя коренной папки проекта, или относительный путь. Абсолютный путь к этой папке всегда вычисляется в зависимости от ее местоположения: если это Архив - то добавляется путь архива, если это СД - то путь к приводу, если это рабочая папка диза - то она. Поэтому папку проекта можно открыть для просмотра прямо из клиента базы данных. А равно открыть любой из файлов входщих в нее.
Постепенно Архив заполняется и возникает необходимость его почистить. Делается вообще просто: т.к. каждая запись имеет поля даты создания и даты редактирования, то легко можно сформировать SQL-запрос который вернет таблицу всех записей, поле Disk которых содержит число 0, или параметр Null и сортированных по дате создания или по дате редактирования. Получив такую таблицу программа создает новую под-папку с именем соответствующим номеру будущего СД (с некоторых пор ДВД) и перекидывает в нее все папки проектов которые фигурируют в таблице полученной на SQL-запрос.
При этом проверяется заполнение под-папки и как только ее размер будет больше или равен заданному числу в байтах процесс ее заполнения прекращается, создается еще одна подпапка с номером на 1 больше предыдущей и все повторяется пока не счетчик не упрется в конец таблицы. При этом каких-то папок проектов может и не быть в Архиве - программа проверяет сначала их наличие, и перемещает только то, что есть - это естественно, но только после успешного перемещения папки проекта она изменяет значение поля Disk в его записи в базе, на текущий номер архивного СД.
Клиент базы данных понимает все основные графические форматы - PSD, JPG, TIF, BMP, CDR и пр. для того, чтобы показывать их превью. Кроме того можно сделать превью на указанные пАры файлов, поскольку у нас такая технология, что растр отдельно, а вектор - отдельно. Поэтому чтобы сделать полное превью для какой-нить страницы, клиент управляет Фотошопом, Корелом и Кварком и делает это превью, которое валится в отдельную папку в формате jpeg с разрешением 72 ппи. Так что можно посмотреть как выглядит в основных чертах проект прямо из клиента базы данных. Конечно, только когда он уже архивирован - поскольку пока он живьем валяется, превью специально никто не делает - это в процессе архивирования на СД (ДВД) происходит.
Ну вот, потом я прожигаю подготовленные образы ДВД на болванки, в двух экземплярах и после проверки успешности записи сношу эти образы с харда, тем самым освобождая его для нового хлама.
Хотите такую же? Поставьте Вижуал Басик и я расскажу как это сделать.
Я уже вкратце освещал как моя база устроена. И когда мне надо отредактировать уже имеющийся шаблон, который давным давно закатан на болванку, потому что хрен напасешься места на хардах - я его просто достаю с диска, номер диска указан в его записи в базе (mdb), с диска переписываю в текущий рабочий каталог на харде где он будет редактироваться, а в базе изменяю номер диска: ставлю 0 (ноль). Ноль указывает что шаблон (проект) не архивирован еще. С этого момента найти его прежнюю версию можно только в одном из бэкапов файлов базы, а если прошло много времени и в бэкапах уже нет - то вообще не найти, если только не просматривать все диски живьем (а их за 10 лет накопилось ауенное число).
То есть все устроено просто: у каждого диза есть своя рабочая папка, куда он складывает файлы проекта. Затем все собирается в одной папке - которая условно называется Архив. В нее валится и новая работа, и та, которую берут со старых СД для реюза или в качестве шаблонов. Типа такой коллектор. Вся контора туда в конце-концов сваливает свое файло. Разумеется все проекты проходят через базу, и имеют в числе прочих полей, поле Folder - то есть файловое имя коренной папки проекта, или относительный путь. Абсолютный путь к этой папке всегда вычисляется в зависимости от ее местоположения: если это Архив - то добавляется путь архива, если это СД - то путь к приводу, если это рабочая папка диза - то она. Поэтому папку проекта можно открыть для просмотра прямо из клиента базы данных. А равно открыть любой из файлов входщих в нее.
Постепенно Архив заполняется и возникает необходимость его почистить. Делается вообще просто: т.к. каждая запись имеет поля даты создания и даты редактирования, то легко можно сформировать SQL-запрос который вернет таблицу всех записей, поле Disk которых содержит число 0, или параметр Null и сортированных по дате создания или по дате редактирования. Получив такую таблицу программа создает новую под-папку с именем соответствующим номеру будущего СД (с некоторых пор ДВД) и перекидывает в нее все папки проектов которые фигурируют в таблице полученной на SQL-запрос.
При этом проверяется заполнение под-папки и как только ее размер будет больше или равен заданному числу в байтах процесс ее заполнения прекращается, создается еще одна подпапка с номером на 1 больше предыдущей и все повторяется пока не счетчик не упрется в конец таблицы. При этом каких-то папок проектов может и не быть в Архиве - программа проверяет сначала их наличие, и перемещает только то, что есть - это естественно, но только после успешного перемещения папки проекта она изменяет значение поля Disk в его записи в базе, на текущий номер архивного СД.
Клиент базы данных понимает все основные графические форматы - PSD, JPG, TIF, BMP, CDR и пр. для того, чтобы показывать их превью. Кроме того можно сделать превью на указанные пАры файлов, поскольку у нас такая технология, что растр отдельно, а вектор - отдельно. Поэтому чтобы сделать полное превью для какой-нить страницы, клиент управляет Фотошопом, Корелом и Кварком и делает это превью, которое валится в отдельную папку в формате jpeg с разрешением 72 ппи. Так что можно посмотреть как выглядит в основных чертах проект прямо из клиента базы данных. Конечно, только когда он уже архивирован - поскольку пока он живьем валяется, превью специально никто не делает - это в процессе архивирования на СД (ДВД) происходит.
Ну вот, потом я прожигаю подготовленные образы ДВД на болванки, в двух экземплярах и после проверки успешности записи сношу эти образы с харда, тем самым освобождая его для нового хлама.
Хотите такую же? Поставьте Вижуал Басик и я расскажу как это сделать.