Папка на сетевом диске — тоже система. Что мы узнали, пока делали программу для проектных бюро
Почему бюро продолжают хранить проекты в папках, чем опасен путь длиннее 260 символов, как установить, какую версию раздела получил заказчик, и почему несколько сотрудников не могут одновременно работать в одном файле на сетевом диске.
Типичная ситуация: заказчик просит уточнить, в каком виде он получил раздел АР в сентябре. Один сотрудник ищет ответ в почте, другой в папке «Выпуск», где файлы с тех пор уже несколько раз перезаписаны. Ответ удаётся найти, но полной уверенности в нём нет.
Мы разрабатываем программу для архитектурных и проектных бюро. С самого начала мы исходили из того, что программа не должна менять привычный порядок работы бюро, то есть хранение проектов в папках на сетевом диске. В процессе разработки мы выявили ряд особенностей, которые неочевидны со стороны. В статье рассмотрены три из них; большая часть рекомендаций применима независимо от того, какими инструментами вы пользуетесь. В завершение — небольшое обращение к читателям.
1. Папки — это уже база данных
Бюро, которое ведёт деятельность более двух лет, как правило, хранит проекты в папках на сервере или сетевом хранилище. Обычно в начале названия папки указывается код, например «02-014 Жилой комплекс», а внутри размещаются договор, исходные данные, стадии и разделы. По сути, это и есть база данных проектов, только без интерфейса.
Поэтому любая новая система учёта сталкивается с одной и той же проблемой: она предлагает повторно завести проекты в своей базе. При этом папки продолжают использоваться, поскольку чертежи хранятся именно в них. Через несколько месяцев данные в системе и на диске расходятся, и сотрудники снова ориентируются на диск. Поэтому при выборе системы учёта в первую очередь стоит выяснить, как она будет работать с существующими папками.
Мы приняли следующее решение: программа должна работать с папками, а не заменять их. Каждая папка в корневом каталоге считается проектом, код и название определяются по её имени. Даже текстовый файл со сведениями о проекте, например «инф.txt» с данными заказчика и номером договора, сохранённый в устаревшей кодировке Windows-1251, программа читает и редактирует на месте. Если программу удалить, папки останутся в исходном виде.
2. Ограничения работы с папками
Работать с папками удобно, пока проектов немного и их создаёт один сотрудник. С ростом бюро возникают три типичные проблемы.
Первая проблема — различная структура проектов. Один сотрудник размещает исходные данные в папке «01_Исходные», другой в папке «Исходка», третий не создаёт её вовсе. В результате поиск документов в чужом проекте занимает значительное время. Решением служит единое дерево папок, принятое для всех проектов: например, договор, исходные данные, стадии ЭП, П и Р с разделами внутри. Основная сложность заключается не в том, чтобы его разработать, а в том, чтобы контролировать его соблюдение. Эту проверку мы поручили программе.
Вторая проблема менее очевидна, однако её следует учитывать всем, кто хранит проекты на сервере. В Windows действует ограничение на длину пути к файлу, около 260 символов. Файлы с более длинным путём многие программы, включая Проводник, Office и CAD-системы, открывают некорректно либо не открывают вовсе; такие файлы также могут не копироваться и не архивироваться. Превысить ограничение проще, чем может показаться: адрес сетевой папки, название проекта, «06_Экспертиза и согласования», «Ответы на замечания государственной экспертизы по разделу архитектурные решения», и на имя самого файла почти не остаётся символов. Рекомендуем использовать короткие названия папок, а пояснения переносить в имя файла или в отдельный текстовый документ. Глубоко вложенные папки стоит проверять заранее, а не в день сдачи, когда архив для экспертизы не удаётся сформировать.
Третья проблема — та, с которой мы начали: что именно и кому было передано. Файлы в папке «Выпуск» регулярно редактируются и перезаписываются. Решить эту проблему помогает простое правило: всё, что передано за пределы бюро, следует копировать в отдельную папку с датой и номером выпуска и в дальнейшем не изменять. Рядом стоит сохранить опись с перечнем документов и указанием получателя. В этом случае ответить на вопрос заказчика можно за минуту. В нашей программе копия и опись формируются автоматически в момент выпуска, однако правило применимо и при ручной работе.
3. Почему нельзя работать вдвоём в одном файле
Во многих бюро на сетевом диске ведётся общая таблица проектов, сроков или выпусков. И нередко с ней возникает одна и та же проблема: сообщение «Файл заблокирован другим пользователем», а в худшем случае потеря чьих-либо изменений, если два сотрудника сохранили файл практически одновременно. Это не ошибка конкретного сотрудника: один файл не рассчитан на одновременную запись несколькими пользователями.
Решая эту задачу, мы пришли к простому принципу: у каждого файла должен быть один автор изменений. Каждый компьютер записывает изменения в собственный файл в общей папке, а остальные компьютеры эти файлы только читают. Если два сотрудника изменили одни и те же данные, сохраняется более позднее изменение. Сервер для этого не требуется, достаточно общей папки. Сервер нужен только сотрудникам, которые работают на строительной площадке или удалённо, при этом папки с чертежами через него не передаются: у каждого компьютера они свои.
Приведём пример из практики разработки. Номер выпуска (В-015, В-016) в бюро должен быть уникальным. Однако если два сотрудника работают без связи друг с другом, оба могут присвоить выпуску номер «В-015». Мы решили это следующим образом: пока номер не подтверждён, рядом с ним отображается звёздочка, а если два выпуска всё же получили один номер, более ранний его сохраняет, а более поздний автоматически получает следующий свободный. На всех компьютерах такой конфликт разрешается одинаково.
Зачем мы об этом рассказываем
Программа называется Lintela, и она находится на раннем этапе развития. Изложенные выше выводы основаны на разработке и тестировании на демонстрационных данных, а не на ежедневной работе бюро. Именно практического опыта нам сейчас и не хватает.
Поэтому мы ищем десять архитекторов и проектировщиков, которые будут использовать Lintela в своей работе и сообщать нам о том, что мешает. Других обязательств нет: ни отчётов, ни созвонов по графику. Взамен подписка, которая появится позднее, для вас лично не будет действовать никогда: программа останется бесплатной на любом вашем компьютере и в любой команде, где бы вы ни работали. На коллег это условие не распространяется. Кроме того, новые версии вы будете получать первыми, за одну-две недели до общего выпуска.
Если вам интересно участие, напишите на support@sepolar.ru с темой «Десятка Lintela». Достаточно нескольких строк: сколько сотрудников в бюро, где хранятся проекты и что сейчас вызывает наибольшие затруднения. Десять участников мы выберем сами и свяжемся с ними. Если в течение двух недель вы не получили ответа, значит, набор завершён. Сейчас программа работает на Windows и доступна всем бесплатно, ознакомиться с ней можно на lintela.sepolar.ru.