Как стать автором
Обновить

Комментарии 178

Система документооборота (одного украинского производителя), которую тестируют мои сотрудники делает как раз очень хитро — один документ хранится в хранилище (субд, да) один раз, всё остальное -ссылки, теги и прочее мета-инфо. Плюс есть возможность работать из веба.
Соответственно тегировать можно как угодно, загружать тоже можно что угодно т.к. открытие документа идёт через установленный офис/графический/музыкальный/3д/любой другой редактор/просмотрщик.
Ну есть и плюшки четко документооборота — путь прохождения, состояние и так далее.
Аналогичные штуки я видел и на шарепоинте, но стоимость там тоже была не маленькая.
«Очень хитро» сделать не проблема.
Читаем внимательно ТЗ:
* кросс-платформенно (клиент).
* без дополнительных приседаний.
там решение на какой-то бд и хитром же языке, я сейчас не помню, но в общем при знании этих параметров модули можно писать
Верю.
Но не верю, что я могу с первой попавшейся венды/линукса/xBSD/MacOS/Symbian/etc зайти — и работать.
ну клиента надо ставить. вебморда у них пока урезанная, т.к. запустить документ чере установленнй офис не получится
А не проще написать плагины к Dropbox, Google Drive, SkyDrive, you name it? Везде есть SDK, можно реализовать любой сколь угодно семантический / ассоциативный поиск и не иметь проблем с кросс-платформенностью и доставкой контента? Я не критикую решение, просто не вижу преимуществ у WebDAV, который, к моему искреннему сожалению, так и не прижился массово, не смотря на весьма почтенный возраст.
Кстати, насколько помню, на Windows нельзя было использовать WebDAV на портах, отличных от 80. Это справедливо и для Windows 7?
Нет, есть небольшая специфика для XP, но не более того. Намного больше танцев с бубнами надо для совместимой со всеми версиями Windows работы авторизации (Basic, Digest).
1. «сколь угодно» — это шутка, видимо.
2. существуют такие системы отсчета, благодаря которым клиент ни за что в жизни не отдаст свои интимные данные какому-то там гуглю (и уж тем более скайдрайву).
Кстати говоря, Яндекс.Диск в Линуксе прекрасно монтируется и работает как WebDAV-ресурс.
BTW — если WebDAV будет работать плохо — пишите в Спортлототехподдержку mod_dav|Apache|KDE|GNOME|Microsoft.
Мопед не мой (с)
По последнему опыту, встроенный в Windows 7 клиент WebDAV работает вполне себе нормально.
С одним важным ограничением — строго по https.

Для всех остальных приходится ставить сторонних клиентов, из которых самый удобный — WebDrive.
Да. WebDrive намного компатибабельнее, чем встроенный webfolder (или как его там… там есть редиректор и webfolder, и они не совместимы… и не совместимы с Microsoft Office (у которого есть своя реализация WebDAV)).
Но WebDrive обеспечивает только маппинг.
См. п.3.3.
Мда, и еще…
Люди: не пытайтесь ходить в демку оперой, хромом, IE или еще чем-то. Пытайтесь ходить a) Konqueror, b) Epiphany, c) лисой (Windows — но с массой приседаний).
Можно даже воспитать лису под Linux — но только путем перенаправления на тот же Konqueror или Epiphany (гуглим «регистрировать протокол firefox»)
> На само деле этот файл должен быть “Юротдел” И “Исходящие” И “Ромашка” И “Договор” — причем не в таком порядке, а одновременно. А вот одновременно текущие файломанагеры не обеспечат.

одновременно текущие файломанагеры как раз обеспечат — спасибо симлинкам и хардлинкам
в софте, про который я писал, как раз всё — теги/ключевые слова и папки — всего навсего представления…
Осталось ерунда:
1. научить секретаршу в венде изготавливать правильные симлинки (штук X а то и Y на каждый из 100500 файлов)
2. и обеспечить их (симлинков) релевантность при переименовании/удалинии файлов.
а это не надо. это называется путь документа, по которому документ начинает идти, когда секретарша, тоесть сотрудник отдела деловодства, говорит что это за письмо, от кого оно и о чём.
как раз эти задачи легко может решать софт — легче, чем обеспечивать нормальную поддержку webdav на всех платформах
WebDAV, емнип, это протокол прямого доступа к файлам over http, как файлы организованы не его проблема, а сервера.
Идеально сказано.
В моем велосипеде файлы как раз организованы в виде записей в БД.
Не идеально всё-таки, это протокол предоставляющий клиенту иллюзию прямого доступа к файлам на некоторой ФС. Далее по тексту :)
Нет, протокол предоставляет таки прямой доступ (RFC HTTP — partial GET, partial PUT).
А то, что я подкладываю вебдав-провайдеру — это уже второй вопрос.
Схема похожа на FUSE.
Если не ошибаюсь, то HTTP к файлам имеет весьма посредственное отношение, он оперирует понятием «ресурс», который только в некоторых случаях прямо проецируется на файлы. WebDAV вроде тоже недалеко от этого ушел, он оперирует понятиями объектов и их коллекций, которые только в некоторых случаях могут проецироваться на файлы и каталоги.
это один из таких протоколов. Некоторые из них работают хорошо на разных платформах, а некоторые не очень хорошо. Насколько хорошо работает WebDAV, автор сам рассказал
В венде работает не очень хорошо.
Но это не повод отказываться.
я рад за вас, что вы имеете возможность так считать: )
Я понимаю, что «один из», как минимум есть ещё протокол, который я разрабатывал лет 10 назад для подобной задачи :)
Дык вроде бы как есть вот такая штука
конечно не опенсорс, но так ли это уж надо? зачастую слова «если что после вендора допили сами» всего лишь отмазка
в остальном вполе соответствует.
я Вам более скажу — все системы документооборота — конкретные блоки — а у всех тот е путь документа — очень и очень разный, и доиливать надо все системы
тут главное понимать, где заканчивается документохранилище с хорошим поиском, и где уже электронный документооборот с карточками путями и тд.
так документооборот это и есть документохранилище, только с путями прохождения документа от входящей кореспонденции до архива.
Тащемта «документохранилище» в названии статьи было расчитано на гугель (в чем можно убедиться).
На самом деле точное название — «идеальная файлопомойка».
Документы, музыка, кино, фото, мыло,, прон — всё должно быть доступно в два-три клика.
Такое уже начало шевелиться — но надо писать WebDAV-provider from stretch.

Документохранилище — это не документооборот. Ибо «оборот» подразумевает workflow.
Здесь его нет.

Хотя…
Честно вам скажу, когда в файле порядок — поиск почти не нужен — что в кино с музыкой, что в документах, что в шедеврах немецкого кино с сантехниками в главной роли. У меня музыка влёт ищется по любому из тегов, кино тоже лежит в одном месте, но тут проще — 90% кино ждёт просмотра, остальное после просмотра удаляется.
С документами — рассортированы по местам работы, типам, тегам.
С проектами п/о немного сложнее, особенно с демками/примерами, которых свалено в большую кучу, но тут хотя бы просто поиск по тексту можно провести
Я за вас очень рад, но «порядок» — понятие очень относительное.
Особенно когда ним (порядком) занимается не один человек.
И у каждого из этих человеков свои понятия о порядке.

Посему я наблюдал, как каждый новый коммдир пересобачивал несколько тысяч файлов по-своему. В таком порядке, в каком — как _ему_ кажется — файлы должны быть.
А потом манагеры по продажам а) в лучшем случае — писали докладную гендиру, чтобы комдир не мешал работать, или б) тянули себе в домик всю файлопомойку и пересобачивали по-своему. Все 150 тысяч файлов.
Есть положение по компании, а если коммерческиЙ директор лазит по файликам и их переименовывает так, как ему нравится — это очень хреновый коммдир, который занимается не своими непосредстенными обязанностями, а какой-то фигней. за весь мой стаж работы топы вообще максимум что делали с документами — это их подписывали, и им фиолетово, где они лежат и как называются, т.к. это обязанности референтов, деловодов, юристов и так далее, а не их.
И тот комдир, который того не понимает и мешает работать всем — обычно работает недолго
особенно когда компания работает на территории страны или нескольких стран, а не офиса на 50 человек и комдир — не младший брат/сват/кум\сын генерального…
Еще раз — речь не о поисковой машине.
Человек не знает, что он ищет (слова).
Ему надо дать выбор из существующих критериев.

Он не должен думать, что искать — ЮрОтдел, Юридический Отдел, Адвокаты, Законники, Захребетники, Манагеры по Закону или еще что-то.
Дайте список отделов — он сам поймет, что ему нужно.

В Проводнике вы список отделов не дадите.
Если человек не знает, что ему нужно, это, простите, клиника. В мелких компаниях можно спросить сотрудников нужного отдела.
В крупных существуют внутрикорпоративные стандарты по оформлению документов, куда входит и наименование. Более того, доступ к документам отдела еще и обычно закрывается на уровне групп доступа, т.к. юристам явно не нужна документация отдела системного администрирования с паролями/айпишниками серверов.
А дальше если мне что-то у юристов надо, я прихожу и получаю нужный мне документ, и меня мало волнует, где он лежит у юристов.
Да, это не отменяет общих групп, т.к. договора это не только юристы но и деловоды/руководство, например, но мне, как системному администратору даже туда доступ не нужен, т.к. есть резервные/теневые копии и мне, в общем нужен только запрос «восстановите документ такой-то по такому-то пути в такое-то место».
Ок. Выключим компьютер. Вы — манагер по продажам. Все документы — в папка, которые в папках, которые в папках, которые… Строго согласно корпоративным стандартам.
И Вы уходите в отпуск.
Звонок: «Добрый день, это Рамашка. Я по поводу договора с Вектором — нельзя ли изменить сумму с 1.5 лимона на 2? Только побыстрее пожалуйста — пока гендир согласился.».
На телефоне — секртерша.

В идеале она должна:
а) быстро куда-то зайти и б) найти документ с тегами «Договор», «Ромашка», «Вектор» (Не «Договора», не «Договоры», не «Договоренности», не «ООО Ромашка», не… — просто выбрать из списка) — 15 секунд.
б) открыть его — 15 секнуд
в) заменить 1500000 на 2000000 — 15 секунд.
г) нажать педаль «Печать» — «VentaFax» — 15 секунд.
Итого — 1 минута. И мы заработали 500 тыщ.

По вашему сценарию:
1. она быстро где-то находит корпортаивный стандарт хранения документов именно отдела продаж.
2. быстро его читает
3. быстро открывает папки (бумажные, друг в друге): Документы — Входящие — Контрагенты — Ромашка — Договора — Исходящие — Вектор — БольшеЛимона — Июль — …
«Смотри не перепутай, Кутузов!» (с)

в крупных конторах секретутки таких вещей не делают.
в крупных конторах если позвонили на секретутку она узнает, кто курирует рамашку и переключит на конкретного васю, или петю, который заменяет уехавшего в отпуск васю, котрый курирует конкретную рамашку.
и это вполне логично и правильно, ибо у секретутки своих забот хватает.
а вообще секретарей в компании мало и функциональные обязанности у них другие.
это чисто из моего опыта работы в конторах в не одну сотню сотрудников и офисов по странке (и не одной)
У вас за лицензионностью софта юристы самостоятельно следят? Повезло!
документ юристов в папке юристов это не софт.
у сотрудников не ИТ отдела прав на установку софта нет и быть не может.
У администраторов Бд есть права на БД, сам сервер БД ставится администратором системы и админом БД и так далее.
Все процессы описаны и формализованы на уровне компании
Иначе за зоопарком не уследишь без sccm и прочих утилит
Лицензия на софт юридически является таким же договором как договор купли-продажи, отличается только предмет договора, но так же фирма получает права и, главное, обязанности. Так же он должен анализироваться юристами на предмет возможных рисков, так же должен быть зарегистрирован, как и остальные договора, так же действия по нему должны быть покрыты актами и прочими документами, так же приобретаемые по нему активы должны быть поставлены на учёт. Зато потом никаких проверок можно не бояться — когда проверяющие начнут спрашивать «А где лицензия на это ваш Линукс?», то «Вот, пожалуйста, лицензия GPL, вот перевод, вот заключение юристов о соответствии её нормам российского законодательства, вот акт приёмки, вот акты о вводе в эксплуатацию. Что-то ещё?» (и надо видеть их глаза :) ).

А хотя бы доверенность на право заключения лицензионных договоров в обход установленных для других договоров процедур у вас есть?
Насколько я помню всякие eula в Украине не действуют.
Насколько я помню проверки лицензионности заключались в проверке бух документации на предмет наличия оплаченных счетов за операционные системы, но в любом случае, если у алмина софт или куплен или бесплатен, админу фиолотеово т.к разбираться уже будут руководство, юристы и бухгалтерия при проверке.
а когда приезжают мальчики с автоматами в брониках — повод уже несколько лет совсем не лицензионность п/о а рейдерство и проверка черной бухгалтерии.
В том, что софт есть (платный или бесплатный — не суть), а договоров нет, могут как раз и углядеть признаки двойной бухгалтерии со всеми вытекающими. Правда, с украинскими реалиями я не знаком, сужу по российским, тут админ вполне может пострадать, если не прикрыл задницу бумажками, руководство просто сделает его крайним.
IBM Domino, MS SharePoint, MS Exchange. Это такое “вещь в себе”, которое пытается своими средствами порешать недостатки существующих технологий.

Дадада, Sharepoint настолько «вещь в себе», что у него есть доступ по WebDAV. Работающий под Windows.

Люди: не пытайтесь ходить в демку оперой, хромом, IE или еще чем-то.

И вы после этого еще что-то говорите о кросс-платформенности?
ага. шарепоинт настолько вещь в себе, что никак не интегрируется с ms office начиная как минимум с 2007 (2003 уже не помню, вроде тоже имел интеграцию, но я его с входа 2007 офиса и не ставил даже.).
а еще тот же шарепоинт (с фронтендом на IIS) ну никак не работает с (обоже, юникс) Сафари, Оперой, Хромом, конкверором (ничего не забыл?) и большей частью мобильных версий популярных броузеров.
А екчендж так ообще монстр, никого к себе кроме аутлука не подпускает

на моей фразе про шарепоинт сейчас поперхнутся человек 20 моих знакомых, работающих с корпоративными порталами на шарепонинте с чего угодно, кроме п/о от майкрософт — из которых три человека вообще не имеют ПК, потому как как-то привыкли к своим планшетам от неких, всем известных, гигантов гаджетостроения.
На моей второй фразе про екч сейчас должны удавиться около 150 человек с прошлой работы, из которых половина вообще не знает о том, что у них любимый «аутлук» — броузерный OWA, а вторая половина — использует всем известные pop3(s)/smtp(s) почтовые клиенты от мозиллы и летучей мыши до разной экзотики, которая работает годами и их удовлетворяет.
Выговорился
тег сарказм, как ни печально, сьел парсер.
Ничего страшного, я догадался.
Кстати, с Домино и Лотусом не общались, часом? я что про Домино, что про Лотус только слышал…
С Лотусом немного общался, но только с пользовательской точки зрения. Не понравилось. Деталей, к счастью, уже не помню.
Ну по лотусу, вроде достаточно суровые курсы администрирования и развертывания мега-транс-национальных компаниях и то, после exchange'й последних, народ как-то всё больше к microsoft решениям скатывается…
Общался с Лотус Домино с 5 по 8 версии
Пописывал залипушки по мелочи, прикладывал напильник к системе документооборота под него писанную.
Ну и админил.
Система конечно мощная, если у вас большая организация, есть админы и разработчики нормальной квалификации — то можно наворотить -огого.

НО. мое личное мнение — админов и разработчиков в этой системе категорически не любят. Геморройно админить и очень геморройно разрабатывать.
Мне сложно судить. На сопровождаемых мной linux-серверах SharePoint почему-то не заработал. Как и Exchange.
А другие OS не предусмотрены по требованиям к безопасности.
А самописный софт ваши требования к безопасности разрешают, значит?
У самописного софта можно провести аудит безопасности куда проще, чем у закрытого.
Найти в нем 100500 ошибок и что дальше?

Ресурсы и квалификация все это починить (я уже не говорю про сам аудит) из воздуха не возьмутся.
Как это не возьмутся, если его сами написали?
«Ресурсов нет».

Легко и непринужденно, который месяц такое наблюдаю.
Это уже решение руководства, считает оно риски значительными — найдёт ресурсы, не считает — не найдёт.
Угу. Просто не надо думать (и говорить), что это легче, чем закрытый софт (у которого аудит и сертификация были давно, и не за ваш счет). Плавали, знаем.
А рабочие станции у Вас тоже под «безопасными OS»? не холивара ради, мне интересно, какие у Вас требования по безопасности?
учитывая что 2008r2sp1 насколько я помню, сертифицирован украинскими спецслужбами для работы с секретной информацией по примеру русских спецслужб, ранее сертифицировавших вышеупомянутый 2к8.
Да, естественно.
Где возможно, конечно.
Поэтому требования к кросс-платформенности тоже не последние.

Но — повторю — статья не о Windows vs Linux, и не о Java vs Python.
> Дадада, Sharepoint настолько «вещь в себе», что у него есть доступ по WebDAV. Работающий под Windows.

Кстати — Windows XP с SharePoint по WebDAV тоже работает с трудом и через раз (как с Apache)?
Это к кому вопрос?
К Вам, очевидно же:
«lair 10 сентября 2012 в 00:20 #

Дадада, Sharepoint настолько «вещь в себе», что у него есть доступ по WebDAV. Работающий под Windows.»
Понятия не имею, я Windows XP не видел уже несколько лет (и надеюсь больше никогда не увидеть).
посмотрите alfresco Alfresco develop. Куча способов доступа (2 веб клиента, webDAV, CIFS, RESTFull API, Java API)
Community edition — free Open Source, но только под свободные базы PostgreSQL/MySQL
Надо будет посмотреть еще раз.
По прошлому опыту:
1. ставить Java-приложение — удовольствие то еще.
2. чтобы в Allfresco получить нужный эффект — надо писать свои схемы OWL, что не очень тривиально тоже.
Но потыкать палочкой надо будет, спс.
Хотя вряд ли проблему п.6. это решит.
Посмотрел.
Точнее — попытался собрать пакет под Fedora 17.
* Пол-ГИГАбайта упакованных сырцов несколько настораживает.
* Таки не собралось (тут длинный лог сборки — но идея в том, что какой-то яве (1.7.0 openjdk) что-то где-то не понравилось; работает всегда везде ога)

Resume: мне это не кажется PnP ни разу.
Мне странно это читать. Первым делом, решили собрать альфреско из сорцов на версии джавы, которая не тестировалась. Смотрите алфреско вики. Вообще в чем глобальный смысл собирать алфреско полностью из сорцов? Есть бинарный дистрибутив, если что-то изменить, собираешь конкретную библиотеку (jar). Большая часть вообще не требует изменения джава кода, так как есть Javascript API для webscripts.

PnP это ни разу не сборка энтерпрайз левел продукта из сорцов. Скачай бинарники и инсталятор, установи и смотри.
Моя религия запрещает мне запускать на боевых серверах бинарники неизвестного происхождения.
Только пакеты.
лол :) Чем отличается собирание сорцов скаченых с альфреско сайта размером в несколько сот мег от скачивания дистрибутива с хэш кодом с альфреско сайта и установку с помощью инсталятора? Если не хотите бинарников и инсталятор, пожалуйста, ставьте томкат сами, потом качайте готовый alfreso.war (если интересно туда можно посмотреть).
Вы апач/томкат на каждый сервер тоже собираете из сорцов? Или mySQL?
> лол :) Чем отличается собирание сорцов скаченых с альфреско сайта размером в несколько сот мег от скачивания дистрибутива с хэш кодом с альфреско сайта и установку с помощью инсталятора?

Тем, что пакет — это не инсталятор.
Как бы Вам объяснить… Да никак пользователю венды этого не объяснить — такое в венде отсутствует как класс.

> пожалуйста, ставьте томкат сами, потом качайте готовый alfreso.war (если интересно туда можно посмотреть).
Вы апач/томкат на каждый сервер тоже собираете из сорцов? Или mySQL?

Конечно нет. ВСЁ — в пакетах.
Я отлично понимаю, что такое пакет. Я не понимаю, чем пакет из репозитария отличается от установки альфреско через инсталлятор. И уж тем более не понимаю, в чем сакральный смысл пытаться установить альфреско из сорцов если есть инсталлятор или запакованный war?
Вы не доверяете чему-то не из репозитория? Могу понять. Стандартный масс софт идет через репозитории, энтерпрайз левел через собственные инсталляторы. Тогда чем отличается скаченные сорцы от скаченного инсталятора либо от запакованного war?
Хорошо, mySQL из репозитория. А если вам нужен Oracle DB? Или любой другой большой продукт, который надо покупать? Вы ни разу не устанавливали большие платные продукты под Линукс?
> Я отлично понимаю, что такое пакет. Я не понимаю, чем пакет из репозитария отличается от установки альфреско через инсталлятор. И уж тем более не понимаю, в чем сакральный смысл пытаться установить альфреско из сорцов если есть инсталлятор или запакованный war?

И гагары тоже стонут, — им, гагарам, недоступно наслажденье битвой жизни: гром ударов их пугает.
Глупый пингвин робко прячет тело жирное в утесах…

PS. всё должно быть _абсолютно_ конролируемо. Если Вы собираетесь засадить в alfresco примерно 100тыщ очень важных юзеровских файлов.
Что и как вы собираетесь контролировать?
Процесс установки. Что делается при установке.
И как это связано с тем, какие там окажутся данные?
Интересует не только какие — но и где.
И не только данные, а еще и библиотеки и исполняемые файлы.
и если Вы ошибетесь — Вы лишитесь работы
То есть вы никогда не будете использовать Oracle DB или практически любой софт от IBM или любого другого большого вендора? То есть вы считаете, что установка из сорцов повышает каким-то образом контроль за приложением? Чем гарантии мейтейнера репозитория отличаются от гарантии непосредственно вендора? Мейнтейнер что, весь код mySQL изучил перед тем как пакет добавить? И каждую версию проверяет на закладки?

Личное впечатление, вы никогда не работали в больших компаниях и с продуктами корпоративного уровня. Там нет такого понятия как установка из сорцов или пакеты. Там есть инсталяторы/гарантии вендора/поддержка/сорцы для изменения под нужды заказчика.

На этом я предлагаю закончить, вы не ответили ни на один вопрос в чем сакральный смысл использовать только пакеты или устанавливать из сорцов.
> То есть вы никогда не будете использовать Oracle DB или практически любой софт от IBM или любого другого большого вендора?

Если не будет альтернативы — придется.

> То есть вы считаете, что установка из сорцов повышает каким-то образом контроль за приложением?

Не из сырцов — из пакетов. Ессно повышает.

> Чем гарантии мейтейнера репозитория отличаются от гарантии непосредственно вендора? Мейнтейнер что, весь код mySQL изучил перед тем как пакет добавить? И каждую версию проверяет на закладки?

Долго объяснять. Отличается.

> На этом я предлагаю закончить, вы не ответили ни на один вопрос в чем сакральный смысл использовать только пакеты или устанавливать из сорцов.

Личное впечатление — Вы никогда не работали с Linux. Поэтому объяснить будет очень сложно.

Но статья не об этом, тащемта.
Долго объяснять. Отличается.

А вы попробуйте.
Я знаю, что такое RPM. Вопрос был о том, чем отличаются гарантии мейнтейнера от гарантий вендора.
Вендор не отвечает за последствия именно для _вашей_ системы.
Мейнтейнер же затачивает именно под ваш дистриб.

Как пример — поставил я дрова Samsung (принтера). Из _подписанного_ самсунговского инсталлера.
Потом год (!) пытался их снести. Родным же анинсталлером.
Потому что система печати была чувствительно покоцана. А куда и что он распихал — один самсунг знает.

С пакетами такого не бывает (если они правильные).
Мейнтейнер же затачивает именно под ваш дистриб.

Вот прямо самолично? Берет пакет того же MySql и правит?

С пакетами такого не бывает (если они правильные).

А кто отличает «правильные» пакеты от «неправильных»?

> Вот прямо самолично? Берет пакет того же MySql и правит?

Нет, конечно. Берет сырцы MySQL. И патчит.

> А кто отличает «правильные» пакеты от «неправильных»?

Подпись.

Я всё-таки настаиваю эту плодотворную дискуссию перенести в другое место.
Нет, конечно. Берет сырцы MySQL. И патчит.

Ну то есть теперь ответственность за работоспособность лежит и на мейнтейнере, и на вендоре, причем второй за действия первого не отвечает, а значит, прощай, поддержка.

Кул.
Я думаю — Вас обманули. Я думаю — Вашего провайдера забанил гугль.
Хочешь что-то понять — попытайся объяснить другому (с).
Формулирую идею внятнее.
Мне бы хотелось, чтобы люди могли получить доступ к своим 100500000 файлам:
a) ассоциативно (не иерархически и не в поисковике (секретарша может не знать, что Пежо пишется Peugeot, а Шлёмберже — Schlumberger))
b) прямой (а не скачать-закачать).
c) отовсюду (из любого интернета и платформы).
На сегодня вы можете получить только 1..2 из 3.
В статье делается попытка обеспечить 1+2+3.
Всего лишь.
И ваша попытка дает те же максимум 1-2 из трех, потому что универсального стандарта «прямого доступа к файлам» нет.
Ну почему же… WebDAV и есть.
В кедах и гноме работает очень мягко.
Это вы называете «универсально»? Не смешно даже. Даже самба универсальнее.
Да, универсально.
И Linux DE и Mac OS и Windows поддерживают WebDAV из коробки.
То, что Windows работает с WebDAV (которое само же MS и придумало) отвратительно — это другая история.
И то, что иерархически ФС (и даже самба) — неудобно — это тоже правда.
И Linux DE и Mac OS и Windows поддерживают WebDAV из коробки. То, что Windows работает с WebDAV (которое само же MS и придумало) отвратительно — это другая история.

Вы себе противоречите. Если не работает, то не универсально. Ну и да, список ограничений на браузеры, написанный вами, это только подтверждает.

И то, что иерархически ФС (и даже самба) — неудобно — это тоже правда.

А ничего, что SMB/CIFS — это не файловая система, а сетевой протокол, и он вообще не обязан иметь под собой файловую систему (что прекрасно демонстрируется File stream shares в SQL Server)?
То, что Windows работает с WebDAV (которое само же MS и придумало) отвратительно

Да ну?

Берем Sharepoint, берем любую библиотеку документов, открываем через Add network location (это, если что, WebDAV) и всё. Из коробки. Работает.
Sharepoint — часть Windpws?
Sharepoint — это сервер (в данном случае — WebDAV).
Речь, вроде, о клиентах.
А клиент — встроенный в Windows.
Который, судя по топику, работает плохо.
Вот я и привел пример того, как оно работает нормально.

Это к тому, что топику надо верить не во всем.
Топик так и написал — «Возможно, это mod_dav несовместим с Windows».
Хотя если бы Вы понаблюдали tcpdump общения Windows по WebDAV — тоже бы очень смеялись.
>> То, что Windows работает с WebDAV (которое само же MS и придумало) отвратительно
> Да ну?

Честно-честно.
Вот и ребята намаялись: code.google.com/p/sabredav/wiki/Windows

> Берем Sharepoint, берем любую библиотеку документов, открываем через Add network location (это, если что, WebDAV) и всё. Из коробки. Работает.

Меня привлекают прежде всего кросс-платформенные и открытые продукты, технологии и стандарты.
Вот и ребята намаялись: code.google.com/p/sabredav/wiki/Windows

А вы на версии смотрели?

Меня привлекают прежде всего кросс-платформенные и открытые продукты, технологии и стандарты.

Самба вам в руки.
Простите, но мне это очень напоминает «Выберите 2 пункта из вариантов быстро, качественно, недорого».
с обилием платформ стандартов стало всё больше, и не все из них до конца открытые или воспроизведённые.
Вот когда из OpenOffice я смогу открыть документ ms office со 100% гарантией того, что он будет работать идентично ms office, все шаблоны, шрифты, макросы, форматирование — будут на своём месте, а не с вариантами «твоюмать, почему у меня в табличке половина данных- полная ахинея», или почему у меня вот эта табличка екселя (да, всего навсего 15 листов данных, порядка 25 столбиков и 25-30к строк) в форматах 2010, 2003, 2000, 97 во время открытия к чертям валит весь(!) опенофис партнёра — случай из реальной жизни, была головомойка по иерархии гендир — техдир — нач ИТ департамента — ведущий админ…
а так — у всех будет стоять винда, мс офис и иногда из вариантов замена ie в виде лисы, хрома, оперы…
Офис — это всё хорошо, конечно. Но меня больше интересовало архив документов для проектировщиков — десятки тысяч связанных между собой документов в форматах AutoCAD, SmetaWizard и куче других.
Есть мнение, что для этого тоже должны быть специализированные средства (как они уже есть для программистов, для дизайнеров и так далее).
Должны быть.
Но их нет (особенно это касается отечетсвенного ПО).
Кроме того — ставить на каждое рабочее место кучу несвязанных специализированных средств — накладно и неудобно.
Универсального же решения пока не видать.
А какие подобные средства есть для разработчиков? Кроме симлинков :)
Архив «документов» — версионник, очевидно. А навигация внутри проекта уже давно решена в IDE.
Это всё внутри проектов. Как архивировать проекты и как среди них искать? Вот приходит письмо: «Здравствуйте, это Сергей. Вы нам 3 года назад сайт делали. Нужно такую-то фичу добавить. Что по срокам и деньгам скажете?» А ты не помнишь что за сайт, на чём написан, что за Сергей, есть только мыло Сергея и ориентировочная дата 2009 год, а может начало 2010, а может конец 2008.
Как архивировать проекты и как среди них искать?

Это задача менеджера проектов, который сводит эту проблему к (уникальному) коду проекта. Дальше все просто.
Пардон — уточню.
Я вел речь не о проектах ПО, а о проектах систем газо/водоснабжения, вентиляции, кондиционирования, строительства и т.д.
Вы за тредом следите? Там явно написано: для разработчиков.
Пускай менеджер, но каким он инструментом будет пользоваться?
CRM или PPM.
Насколько я понимаю, это несколько отличается от «идеальной файлопомойки», а на вопрос «не помнишь в каком проекте я делал толстые контроллеры и худые модели?» он мне не ответит?
Нет.

Во-первых, это не задача менеджера. А во-вторых, на этот вопрос формального ответа вообще нет.
Разработчика? Каким инструментом он должен пользоваться?

Почему нет формального ответа? Если бы я в метаданных проекта указал, скажем, тэг «толстый контроллер», то в системе оперирующей с этими метаданными смог бы его найти. Но что-то подобных систем не встречал.
Разработчика?

Разработчика.

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

Нужно тем, кто работает со множеством проектов и хочет их систематизировать. Сейчас обхожусь друпалом, но есть определенные неудобства.

Пускай не на все, но вероятные можно, например, такие как заказчик, сайт, серверный язык, фреймворк/cms/движок, различные расширения к ним, год/месяц, особенности реализации.
заказчик

год/месяц

Это, как уже говорилось, задача не разработчика, а менеджера. Хотя вот у нас заказчик строго включен в код проекта, так что никакой проблемы нет.

сайт

Должен быть указан где-то в конфиге -> полнотекстовый поиск.

серверный язык

Стопроцентно определяется по коду -> поиск по расширению.

фреймворк/cms/движок, различные расширения к ним

Находится по ключевым словам -> полнотекстовый поиск.

особенности реализации

Например?
Это, как уже говорилось, задача не разработчика, а менеджера.

Ну нет у меня менеджера, бывает на проекте, но его функции заканчиваются, когда проект сдан. А за поддержкой через пару лет обращаются непосредственно ко мне.

Должен быть указан где-то в конфиге

Вовсе не обязательно.

Стопроцентно определяется по коду -> поиск по расширению.

Искать файлы с расширением это костыль для решения этой задачи. Надо искать каталоги, в которых на неизвестной глубине вложенности есть хотя бы один файлы с расширением и выводить имя каталога один раз, а не файлов или полного пути до них. Ничего кроме написания специального скрипта для этих целей мне в голову не приходит.

Находится по ключевым словам -> полнотекстовый поиск.

Я хочу посмотреть на каких движках я хоть строчку написал, чтобы включить, скажем, в резюме. Желательно с указанием версий. Ну и предыдущая проблема остаётся.

Например?

Множество может быть. Например использовал ли AJAX, принадлежит исключительное право на код мне или заказчику, требует специальной установки или достаточно файлы залить, системные требования. Просто какие-то технические детали типа проверял ли работу в IE или lynx, какую систему контроля версий использовал и т. п.

Главный недостаток полнотекстового поиска для подобных задач — нужно знать что искать, плюс могут быть случайные вхождения. Ищу, скажем, проекты на Symfony по этому ключевому слову, а в каком-то проекте есть строка //todo — подумать о замене этого велосипеда на Symfony Routing Components.

Задача поиска по произвольной строке и задача фильтрации по ограниченному списку признаков в разных категориях — разные задачи. В тексте может и не быть «ключевых слов», а могут оказаться в нём случайно. Вот на хабре, есть полнотекстовый поиск, а есть фильтрация по разным признакам. А гугл, яндекс и, наверное, другие поисковики тоже зачем-то внедрили себе фильтры ограничивающие область поиска сайтом или временем.
Ну нет у меня менеджера, бывает на проекте, но его функции заканчиваются, когда проект сдан. А за поддержкой через пару лет обращаются непосредственно ко мне.

Типичная административная проблема, которую зачем-то пытаются решить программно. Это не всегда эффективно.

Вовсе не обязательно.

Я такие вещи рассматриваю как ошибку проектирования. Среда выполнения должна быть описана.

Надо искать каталоги, в которых на неизвестной глубине вложенности есть хотя бы один файлы с расширением и выводить имя каталога один раз, а не файлов или полного пути до них.

Это если вам нужен именно список проектов. А зачем?

Я хочу посмотреть на каких движках я хоть строчку написал, чтобы включить, скажем, в резюме.

Давайте будем друг с другом честны. Если вы не помните, писали ли вы на этом движке, не надо включать его в резюме.

Например использовал ли AJAX, принадлежит исключительное право на код мне или заказчику, требует специальной установки или достаточно файлы залить, системные требования. Просто какие-то технические детали типа проверял ли работу в IE или lynx, какую систему контроля версий использовал и т. п.

Знаете, я вот на это смотрю, и у меня есть отчетливое ощущение, что это список вещей, которые вы хотите знать о проекте, но поиск по которым, на самом деле не нужен. Зачем? Зачем вам искать среди ваших проектов те, которые тестировались в lynx?

задача фильтрации по ограниченному списку признаков в разных категориях

Вот только у вас список признаков как раз неограничен. В этом и проблема.

Типичная административная проблема, которую зачем-то пытаются решить программно. Это не всегда эффективно.

Автоматизация существующих бизнес-процессов зачастую более эффективна в краткосрочной перспективе чем оптимизация самих процессов.

Я такие вещи рассматриваю как ошибку проектирования. Среда выполнения должна быть описана.

Её формирует пользователь и чем меньше работа приложения зависит от неё, тем в общем случае лучше, имхо. Вот зачем движку какого-нибудь сайта знать, на каком виртуальном хосте он крутится? Особенно знать это статически? Это усложняет поддержку. Забанили домен в яндексе или гугле и вместо того, чтобы исправить одну строчку в конфиге апача или инжиникса нужно ещё и код править. Мне, конечно, нравятси работать с постоянными клиентами, но специально их подсаживать на поддержку считаю неэтичным.

Это если вам нужен именно список проектов. А зачем?

Для включения долговременной ассоциативной памяти, например, чтобы дальше уточнять условия фильтрации. Моей памяти, не той что в системнике.

Если вы не помните, писали ли вы на этом движке, не надо включать его в резюме.

Почему? Если объективно я с этим движком работал. Естественно я не укажу его в разделе «хорошо знаю», укажу где-нибудь в «доводилось разбираться». Предпочитаю занижать количественные оценки, но скрывать факты смысла не вижу.

Зачем вам искать среди ваших проектов те, которые тестировались в lynx?

Чтобы показать потенциальному заказчику, что я уже решал задачу нормальной работы сайта в lynx. :)

Вот только у вас список признаков как раз неограничен. В этом и проблема.

Он ограничен на момент фильтрации. Пользователь видит допустимые значения в процессе ввода условий. И при задании признаков может посмотреть список, чтобы убедиться, что нет синонима, скажем собирался ввести hg, но увидел mercurial уже есть.

Автоматизация существующих бизнес-процессов зачастую более эффективна в краткосрочной перспективе чем оптимизация самих процессов.

… а административное решение — еще более эффективно.

Вот зачем движку какого-нибудь сайта знать, на каком виртуальном хосте он крутится?

Движку и не надо.

Забанили домен в яндексе или гугле и вместо того, чтобы исправить одну строчку в конфиге апача или инжиникса нужно ещё и код править.

Так вы еще не храните свои конфиги в vcs? Сочувствую.

Почему? Если объективно я с этим движком работал.

Если вкратце то потому, что я, как работодатель, терпеть не могу такие строчки в резюме. Это мусор, и на собеседованиях кандидаты, включающие в список известных технологий те, в которых «доводилось разбираться, но подробностей не помню», получают от меня минусы. Еще и потому, что разбираться — это свойство нашей профессии, и включать такие вещи в резюме просто не стоит.

Чтобы показать потенциальному заказчику, что я уже решал задачу нормальной работы сайта в lynx.

Опять-таки, смотри выше. Если вы не помните, как вы это делали, значит, оно не нужно.

Это, что характерно, мой собственный подход. Все, что мне нужно из моей карьеры, я помню и так, а то, что я не помню, проще найти в гугле, чем придумывать какие-то теги.
Очень хорошо, что Вы всё всегда помните.
Но если проект (не обязательно ПО) разрабатывал один — а сопровождать будет через несколько лет другой — то он хоть как-то должен найти искомое.
Поисковики практически не справляются с этим.
Найти что?

Задача сопровождения диаметрально противоположна описанной VolCh — если ему надо найти какой-то проект по особенностям реализации, то сопровождающему нужно найти конкретное место в известном проекте. Эта задача давно и успешно решена средствами навигации по коду и ассоциациями с задачами в трекере.
Об этом и речь.
Достаточно связать файлы с метаданными — и ищите себе мгновенно по базе данных.
Необязательно метаданные должны храниться в традиционной БД, а так да, согласен. Только вот удобного способа связывания метаданных с файлами, каталогами, урлами и прочими «адресами» мне не встречалось.
1. почему не NFS?
Я почему спрашиваю: не знаю моженео ли через NFS обрабатывать некие семантические запросы, но то что клиент есть у всех ОС из ТЗ — факт.

2. Решение которое работало (в win среде) это Google Desktop. Искало очень прилично, и внутри документов в частности. Сейчас посмотрел, GD закрыт.

3. Все сервисы которые не нативно встраиваются в систему, а требуют зайти на некий портал, и больше одного действия для операций с документами неудобны и будут саботироваться ( ты лучше меня знаешь, egw :)
Да и зачем усложнять, если отлаженный порядок работы с деревом документов работает прекрасно, конечно если всеми работниками поддерживается.

Поэтому Spotlight удобен, а Alfresco нет.
У Alfresco есть интеграция с AD и возможность отдать документы через Samba
Все уже придумано и украдено до вас

Как уже говорили
Alfresco
Ну и
CMIS
Еще момент насчет WebDAV. Вы выбрали не совсем удачный язык для своего начинания в плане инструментария. В случае если вы возьмете Java то у вас будет:

1. Server-side WebDAV
milton.io/index.html

2. CMIS
chemistry.apache.org/java/opencmis.html

3 Lucene
lucene.apache.org/core/

4. Apache Poi
poi.apache.org/

5. jBPM
www.jboss.org/jbpm/

И много всего другого. Вы ступили на территорию Enterprise а там главный игрок все же Java.
Да, не следует кстати забывать о Apache SOLR. Lucene в чистом виде — то еще удовольствие.
Дело не в языке, а в библиотеках.
То, что Java _сейчас_ — очень модно — это ошибка молодости ИТ и результат хорошего муркетинга Sun.
А в общем-то статья — не о языке.
Дело не в языке, а в библиотеках.

Дело в том под что они есть. Вы сейчас идете как раз в сторону Enterprise.

То, что Java _сейчас_ — очень модно

В смысле модно? На нем пишут Enterprise решения. И сейчас там многое лучше, чем в других языках.

Мне лично пользоваться Java не нравится, честно говоря.
Без холиваров — просто личное мнение.
Хотя описанный подход можно реализовать на чем угодно.
Но проблемы с Windows это не снимает :-)
Снимает. в Alfresco как раз написанной на java есть поддержка CIFS
На самом деле из-за того, что в Enterprise решениях, обычно
1) Серверная архитектура — Java based on *nix platform
2) Клиентская архитектура — Windows/Windows AD based

то многие проблемы несовместимости стандартов Вин-Линукс миров уже решены и большинство решений используют проверенные библиотеки, которые уже давно не в бета версиях.
Если смотришь опен-сорсные библиотеки для питона, то все как-то версии 0.9b :(

Для той же Alfresco, основной клиент платформа это виндовс, и соответственно, в ней должны работать все типы доступа.
На OS X есть великолепный Spotlight, который ищет почти по всем ключевым словам, с возможностью указания времени документа, примерной области нахождения.
Так вот, огромным его плюсом является умение также искать документы на других компьютерах в сети, а также на сервере OS X.

В итоге — очень жаль, что OS X не участвовала в вашем обзоре. Там это работает (для меня и коллег) почти идеально.
Мне кажется, автору следовало бы ознакомиться с таким понятием как «система электронного документооборота» (enterprise content management) и не открывать для себя Америку. Все вещи, о которых вы говорите, давно и качественно реализованы профессионалами, хорошо понимающими ситуации, проблемы и требования в контексте управления документами. Существуют замечательные обзорно-сравнительные статьи про СЭД, например, тут: www.ixbt.com/soft/sed.shtml

Если же ваш случай — это в первую очередь попытка создать «для себя» информационную систему управления документами, судьба которой не будет зависеть от вендора, а функционал будет только тот, который нужен, то прошу меня извинить, — хочу только пожелать удачи в развитии своего решения. Делать что-то своё — это всегда круто.
Вот только не надо путать СЭД и ECM.
Это действительно не СЭД.
Это хранилище большого количества документов.
Хранилище.
Медленно сортировать — бестро доставать.
Проблема, по-моему, не столько в средствах доступа, сколько в средствах индексации документов, семантической индексации. Идеальное хранилище документов должно работать по принципу «нажал „добавить в хранилище“ и получил возможность фильтровать по категориям». То есть индексатор должен понять, что это договор,, что это документ связан фирмой «Рога и копыта», что составлен он Васей такого-то числа, а подписан Петей такого-то, а срок действия такой-то, а предмет договора — поставки неонок нам, а не наоборот. Если это реализовывать ручками, заставлять пользователя вписывать все возможные атрибуты, то это работать не будет, поскольку число атрибутов по которым может понадобиться фильтрация практически не ограничено, а мнения о том, какие атрибуты существенны, а какие нет, одних сотрудников (которые будут вводить) может не совпадать с мнением других (которые будут искать). А заранее их всех не предусмотреть, а если даже предусмотреть, то не хотелось бы мне слышать слова, которые сотрудники произносят второй раз вбивая перечень товаров из договора поставки.
Поэтому не надо пытаться объять необъятное.
Если дать сотруднику выбор из списка: 1. Контрагента, 2. Типа документа (Договор), 3. Отдела, 4. Исполнителя (это всё — в 4 клика мышом) — то бардак можно сократить на несколько порядков.
А в дальнейшем уже можно уточнить — метаданными, которые вбивают ручками.
Практический мой диплом, только в профиль и с большей семантичностью.
> 2.4. Semantic FS
> При всем уважении я их вживую работающими не видел, поэтому — не рассматривается наряду с другой экзотикой.

tagsistant.net уже почти работает. Я пробовал. Версия 0.2 тормозит, не очень удобна и не совсем семантична. Версия 0.4.1 (trunk) ИМХО имеет очень удобный интерфейс, но иногда падает (без потери файлов). Опесорц. Осталось только помочь автору её допилить и портировать FUSE на винду. Кто возьмётся? :]
Если это маппинг semaweb на ФС — это плохая идея. Честно.
Я не помню уже название того, что я пытался передрать — но я честно передрал (draft) и теги косили под папки.
После демнстрации живым людям оказалось, что это дико неудобно.
После чего на идею подложить semaweb под иерархию я забил.
Это — не выход.
Worse is better. Можно пилить новую идеальную сферическую систему в вакууме, а можно подправить tagsistant, которая будет полезна уже сейчас.
Можно.
Но подобное я уже пробовал — не прошло проверку на кошках.
Поэтому здесь речь об именно веб-интерфейсе (FrontEnd) и именно WebDAV (BackEnd).
А как MiddleWare — semaweb вполне ничего.
Дабы вернуть обсуждение в русло — попробую краткое резюме статьи (и каментов).
В статье утверждается, что:
1. Оптимальный по куче критериев интерфейс управления файлами клиентом в громадной файлопомойке — веб-интерфейс. Всё остально (симлинки/корпоративные_стандарты_на_папочки/поисковики) — это костыли для изначально нечеловеческой идеи строго иерархической ФС.
2. Оптимальное средство отдачи файлов прямо из этого веб-интерфеса клиенту и назад — WebDAV.
3. Открытых кросс-платформенных средсв для этого — аж одно (alfresco). А для python нет вообще.
4. Python и Django упомянуты для привлечения троллей разработчиков к изготовлению python-based WebDAV provider.
Оптимальное средство отдачи файлов прямо из этого веб-интерфеса клиенту и назад — WebDAV.

Оптимальное по каким критериям?
В статье они перечислены, но мне нетрудно выделить:
* возможность ассоциативного поиска (точнее — фильтра)
* кросс-платформенность (клиент и сервер)
* искаропки (клиент)
* Internet
* интегрированность в рабочее окружение
возможность ассоциативного поиска (точнее — фильтра)

И как конкретный WebDAV это делает?

интегрированность в рабочее окружение

Не понимаю, что вы имеете в виду.

А вообще, если выкинуть интернет, то самба вам в руки, и у нее проблем с совместимостью существенно меньше.
1. Вы не путаете интерфейс управления и организацию хранения? А теми же симлинками очень удобно фильтровать, в любом файл менеджере. Неудобно создавать симлинки, а вот искать по ним удобно.
Раз уж сегодня — день Микрософт — не могу не вбросить поделиться смищно:
Microsoft не рекомендует использовать встроенныЕ в Microsoft Windows WebDAV-клиенты (да, там их не один) для открывания документов Microsoft Office'ом.
Для этого рекомендуется клиент, встроенный в Microsoft Office.
Так то.
Ага. Для Office 2000 и Windows XP. Смешно, да.
Windows XP вроде до сих пор занимает значимое положение на рынке. Железо с логотипом «Designed for Windows XP» ещё не устарело не то, что физически, а даже морально, если не запускать ресурсоёмкие (по нынешним меркам) приложения.
Office 2000 тоже?

Если что, официальная мейнстрим-поддержка XP давно закончилась.
Насчёт Офиса не знаю статистики, но если у людей стоит XP, то исключать наличие там и лицензионного Офиса 2000 нельзя, по-моему.

Далеко не для всех окончание официальной поддержки любого продукта является серьёзной причиной для обновления. Обновляют когда он перестаёт справляться со своими задачами.
На 2000-ый офис любая поддержка давно кончилась, в отличие от 2003-его.

Просто не надо в отчетливо корпоративных системах тратить ресурсы на поддержку систем, которые не поддерживаются производителем, это банально неэффективно.
Посмотрел.
Это — backend.
Проблему иерархического доступа к файлам оно не снимает.
В GridFS нет никакого иерархического доступа. Это симбиоз набора файлов и метаинформации по ним. Любой поиск по любым своим критериям вы реализуете запросом к БД, если что-то нашли — можете достать файл.
А пользовательский интерфейс?
Заранее извиняюсь, если проглядел, но каким образом WebDAV позволяет выполнить условия:

> открыть (не скачать и открыть его копию — а открыть именно его),
> изменить — и записать (не закачать назад — а именно записать — ^S).

?

Если я правильно понял задачу, фактически нужно реализовать open/seek/read/write на удаленном ресурсе через HTTP.
Честно, я в буквах по webdav не нашел похожих возможностей…
open — такого нет (HTTP есть stateless протокол)
read — GET
write — PUT
seek — Range header (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35)
Range header — точно, спасибо.
Я почему-то ошибочно считал, что для put/post оно не применимо.
Таким образом, под «открыть именно его» вы имели в виду, что первоначально считывается только необходимые части файла, например, заголовки и всякое метаинфо? Ну, плюс, возможность временно залочить файл от изменений.
На самом деле, я буквально недавно занимался поиском решения похожей задачи, но ничего подходящего не нашел и был удивлен отсутствием адекватных готовых решений. Мне, правда, не требовался доступ через интернет, зато небходима возможность массовой работы с файлами, например, для сканирования всего каталога антивирусным сканером. Т.е. веб-доступ тут плохо подходит, и по удобству и по производительности. Пока выкручиваемся построением дерева каталогов, отображающих метаинфрмацию, в которых создаются хардлинки на соответствующие файлы. Поскольку логика построения веток дерева у нас четко определена, нас устраивает. Метаданные лежат в обычной СУБД, скрипт в кроне периодически синхронизирует метаданные с деревом файлов (у нас файлы только добавляются, удаления нет, но это не проблема).
Скорость вполне приличная, сейчас коллекция порядка нескольких десятков млн файлов и сколько-то-там Тб, давно не смотрел. Хардлинки создаются со скоростью порядка 100-200 штук в секунду, т.е синхронизируется также достаточно шустро.

Кстати, вы упоминали IBM Lotus Domino. Просто в защиту симпатичной мне платформы замечу, что она кроссплатформена. Как серверная часть, так и клиентская (в т.ч. возможность использования «тонкого» web-клиента для доступа к базам данных).

1. Нет, для «временно залочить» есть LOCK/UNLOCK. HTTP — stateless протокол. А так — да, для получить состав 4-гигового ISO — не обязательно скачивать его весь.
2. Ваш вариант — годный, но выглядит стройной системой костылей и подпорок. Это не ваша беда — это так тут принято. О чем и речь в статье.
3. Я в курсе Домино. Но это — закрытая платформа и «вещь в себе». О сложности и громоздкости я промолчу — дело вкуса.
1. LOCK/UNLOCK реализуется с помощью webdav, это было понятно значально.
2. Я не предлагал свой вариант, тк он не удовлетворяет поставленным условиям. Насчет костыльности — это спорно и субъективно =)
3. Domino закрытая платформа только с точки зрения исходного кода самого сервера. Но вы же не собираетесь выдумывать свой протокол — вы используете стандартные инструменты (http, webdav, web-server) для построения на их основе необходимой системы. Middleware.
Платформа Lotus/Domino по сути то же самое — мощный конструктор для реализации почти любой задумки.

Про «вещь в себе» не совсем понял. Там огромный выбор интерфесов взаимодействия с сервером — нативный протокол, http, почта, C-API, и тп.
2) Субъективно :-) Но попробуйте посмотреть на всё глазами юзера. Внутри оно, конечно, красивая конструкция — но снаружи это та же иерархическая система папок. Или же веб-интерфейс — но в режиме скачать-изменить-закачать (если вспомнишь — куда).
3) «Закрытая» в смысле исходников. Вы можете использовать всё богатство Домино — но только в пределах его API. Само Домино Вы не можете изменить ни частями ни полностью. Зачем — второй вопрос, но иногда такое надо.
Кроме того — внедрение и сопровождение Домино в фирме из 5..40 человек — дорогое удовольствие. Не в абсолютном смысле, а в соотношении затраты/эффект. Фразы типа «так домино для крупных корпораций» звучат как «езди на такси» в общественном транспорте.
У меня у самого в файлопомойке 150 тыс. файлов (147296), не разобранных лет за X (а то и Y). Мне Domino покупать и внедрять среди себя, что ли? Проще — никак?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории