Дублирую пост, опубликованный ранее в ЖЖ по причине его необходимости.
Опробовал бета-версию UMI.CMS .NET. Резюмируя: даже обновлённая бета не ушла дальше сырой альфы. Далее по порядку.
Сразу скажу, что сначала использовалась версия от 22 июня этого года, в процессе шаманств с установкой получил версию от 17 августа.
Установка
Одно сделано хорошо: установка. Но и то лишь в плане простоты настройки, а время не лучшее. Суммарно ушло 20 минут, из них 10 установка Web Platform Installer и проверка необходимых компонент. При этом не создавалась отдельная учётная запись в СУБД. Количество шагов очень небольшое. Хотя при более активных телодвижениях тот же Blogengine.NET ставится быстрее.
После установки начались края бубнов. По какой-то причине почти все модули администрирования оказались отключены. Лечение потребовало трёх переустановок. Сначала было простое удаление (оказалось, что при дежурном uninstall файлы остаются на месте, база вроде тоже не трогается), затем оно было дополнено ручной чисткой с удалением файлов и базы. Полная переустановка помогла, но только со второго раза, когда использовал уже обновлённую версию. Появилась полноценная панель управления, заполненная всеми положенными модулями.
Впечатления
Памятуя презентацию на TechDays.ru хочу сказать, что все показанное там верно. Также Наружная страница веб-сайта работает гладко (а это редактирование страниц, как минимум), панель администрирования наверху также в порядке. Но! Совсем другая история с основной админкой.
Простой пример. Захожу в главный раздел, выбираю редактирование страницы «Оплата заказа», попадаю в раздел редактирования, все поля пустые. Ввожу текст в большое поле ввода (контент), нажимаю «Сохранить и посмотреть». Попадаю на страницу, где мало того, что нет введенного контента, так ещё и много заготовленной информации размещено (использовалась демонстрация магазина «Хомяки»). Дальше веселее. Меняю заголовок страницы, и о чудо, страница не найдена. Откат названия не помогает, хотя путь никто не трогал.
Точное число багов я не считал, тратить время на составление полного списка дефектов я не считаю нужным, потому как эту работу мне никто не оплачивает. Но когда наткнулся на означенные глюки, после возни с установкой желание собирать все плюшки и проводить полное тестирование, заготовленное для нескольких систем, отпало.
Система сырая, это должна быть закрытая альфа. Не спорю, в UMI весьма самобытная архитектура, основанная на нескольких хороших идеях индустрии с рядом собственных доработок. Но вот если процесс разработки этой конторы допускает такие бета-версии, то я не хочу работать ни с первым релизом, ни с последующими. Первый шаг к хорошему качеству продукта: процесс, ориентированный на качество с самого начала. Простейший тому барьер заключается в проведении хотя бы базового юнит-тестирования еще на этапе разработки. Написали код ядра пишем проект теста ядра. Написали веб-модуль, пишем тесты веб-модуля. А эти ребята явно поспешили показать всем шуструю установку, а недра ещё не стабилизировали.
И ещё. Хорошие разработчики пишут хороший код сразу, хотя бы на 6070%, а не когда каждая вторая функция хромает. Примеры тому есть: Microsoft, Google, Sun, Fog Creek. Оправданий низкому качеству быть не может: любой вклад в качество хотя и делает саму разработку дороже, но очень облегчает поддержку в будущем, чем даёт очень большую выгоду. В ином случае начинается дешёвая политика с целью распиливания бюджетов.