CLub.CNews: Работа с файлами вкрутую

Много чего написано мной по теме - Про лильё. А этот пост про то, что залитые файлы в систему требуют за собой ухода и какого-никакого управления. Здесь сказано коротенечко, что файлы стали жить не просто так, а в составе документов, документы связаны друг с другом, точнее даже и не документы, а их версии. Что каждая версия может иметь различные состояния, что состояния переходят друг из друга и т.п. 

       Итак документ описывается - атрибутами и их значениями, кроме того отдельно атрибутами описывается и его версия, а также и листы. Да. Еще можно было отдельно описать атрибуты листов.  Причем этот набор разный для разных видов документов. А также - правами доступа к документу обладают пользователи и рабочие группы, в которые входят пользователи. и не просто так входят, а каждый с определенной ролью. Ну и права разные в зависимости от роли. Одно дело прима балерина, а совсем другое - из массовки артист. У каждой версии сколько хочешь можно завести состояний, ну и переходить из состояния в состояние сколь угодно замудренно. Ну и само собой набор подписей на каждый переход. А также действия на сие событие. Всё настраивается. Отлично. Круто ? А то... Конечно.

     Не знали что выпускаем джина. Что же сделал джин ? Собственно первое - началась настройка переходов из состояния в состояние. Ну первый статус понятно - разработка, второй - ну пусть на согласовании. Чтобы перейти из одного в другой, требуется подпись разработчика... Отлично. Какие действия выполнить ? Ну скажем всем заинтересованным положить в соответствующие папки ссылки на версию. А кто может выполнить - само собой пользователь, имеющий роль "Разработчик". Ну замечательно. Перевели. Что далее ? Получили статус "на согласовании". Что там делаем ? Правильно - собираем подписи всех граждан. Ах да.. можно было из состояния в состояние переходить не линейно из одного в другое, а выбирать. Т.е. из "разработки" перейти не в "согласование", а сразу в "утверждение". Если конечно роль позволяет. В общем круть неимоверная. Бери и пользуйся. Радость должна наступить. А что то народ залип на настройке.

       Основная проблема - а кто должен подписать, чтобы документ утвердили ? Так как кто ? А кто у вас подписывает ? Тот и здесь должен. А он сюда не ходит - он с компьютером не дружит. Ну тогда секретарь. Ладно. А вот этот вот товарищ подписывает только если есть подпись вот этого. А как подпись отозвать ? В смысле ? Вы подписали или нет ? Ну подписал.. Но если вот этот товарищ не подпишет, то значит и не подпишу. А зачем тогда вообще ваша подпись, если она зависит от этого товарища ? Ну как же - так положено.

        И пошло поехало. Выстраивать взаимодействие. участников клубка под ковром. А вы как думали - документы это вам не тут... Внимания требуют.   Ну а если утверждали, утверждали, но так и не утвердили ? Что делать ? Вернуть на разработку... Извиняйте... Это та разработка что была раньше, или та, которая после утверждения ? Если та - первая, то надо все подписи снять, а если вторая, то не все... А может новую версию создать ? А надо бы, чтобы потом варианты сравнивать. А в версию это новую файлы из старой положить ? Положить... А атрибуты ? Тоже положить.. Но только без значений... И так далее и так далее...

      Настраивается всё что хочешь под извращения отечественные.  В общем то оно во флагманах индустрии необходимо. Видел штампик на документе, где надо 46 подписей собрать. Если на это ещё и состояний с десяток навесить. То очень увлекательно описывать такой бизнес процесс. Квадратики со стрелочками... Тут немудрено хвост с гривой замкнуть. 

       В общем у вменяемых людей (а они есть, несмотря ни на что), все свелось к паре статусов - "еще делается", "уже сделан". Названия могут быть разные, но суть одна. И набор подписей.  В общем то и всё. Не надо было называть подпись подписью. Это собственно крыжик, что человек посмотрел и согласен. Это не факсимиле. Но народ за это дело цеплялся обычно. Ибо понятие появилось "Электронная подпись". Ну то же без великого ума термин придумали. Назвали бы это "удостоверяющий сертификат" и вопросов бы не было.. А то народ требует - покажите электронную подпись директора, как она выглядит, куда ставится и как это делается. А главного конструктора ? Ну спутали божий дар с яишницей. А всё почему ? Слово одинаковое - "подпись".   В общем немало лет прошло, прежде чем в умах эти понятия подпись и подпись разошлись. Далеко не во всех, должен заметить.

      В те же годы откуда то пошла мода, что хранить файлы в базе данных не можно, индексное пространство рвется, скорость доступа  падает, вобщем настоящие пацаны хранят файлы на специальных файловых серверах. А мы что же ? Не настоящие ? Нет уж, нет уж. Тоже делаем такое. Сделали. Отлично. Круто ? Несомненно. Файлы теперь не рвут индексы и скорость просто сказочная. Да ? Да в общем то ничего такого не случилось.  Отряд не заметил потери бойца. Не очень то интенсивные эти операции в реальной жизни. Но зато круть появилась. Разнесли базу данных и файлы. А как бэкап делать ? Чтобы и база и файлы в кучке были ? Написали свой бекап. Ну и ресторе само собой. Круто ? А то... Первопроходцы... А меж тем чуть погодя появилась у билли шлюмпочка - чтобы файлы хранить отдельно от базы, в других базах.. И бекапы-ресторе проходят штатно. Без приседаний вокруг компов...

          Последователи (подражатели) нашей чудо проги пошли дальше с этими файловыми серверами. Придумали понятие "Рейтинговое голосование". Что это такое.. Программа хочет сохранить файл.. Оповещает всех "хочу сохранить файл .pdf размером один мегабайт, вид документ - служебная записка.. Сервера отзываются... я могу сохранить вещает один, и я могу, вещает другой. А у меня места столько то места, а у меня вот сколько... Вобщем меряются сервера. А специальная служба проверят кто из них круче. Рейтинг так сказать выставляет. Ну и дает разрешение файл сохранить тому кто круче.. Да еще и ввели они закрепление за каждым сервером определенного вида документов.. Чтобы не абы что хранилось на каждом. А один скажем для чертежей, другой, для служебных записок... Как то так.. У нас было по простецки - тупо файловый сервер назначался разделу архива. Парни решили тоже круть показать. Не знаю как там у них сейчас сервера голосуют..  Они правда всё это через годика три после наших достижений сваяли. 

     Ну да ладно. Мы же круче всех ? А то... Давно сказано - Будьте проще и люди к вам потянутся.... Так и есть. Только вот тянутся они со своими проблемами. Да.. 

©  CNews