Daily Archives: April 17, 2011

nopCommerce

Для платформы ASP .NET мало хороших CMS. Еще меньше бесплатных хороших CMS. И совсем нет бесплатных хороших CMS для электронной коммерции :)

Не так давно мне на доработку попал интернет-магазин на nopCommerce. Магазин еще не был запущен в продакшн, и еще не поздно было сменить CMS. Поэтому я прошелся по всем сколь-нибудь значимым CMS, платным и бесплатным. Посмотрел их возможности, цены, уровень поддержки, комьюнити.

Коммерческие разработки вроде Kentico хороши, но стоят денег. А Sitecore вообще шифруется: цены я смог получить только после недельного ожидания и нескольких часов разговоров с их продажниками в Дании :) Минимальная версия SItecore вышла бы нам в 9900 евро. Максимальная что-то около 83000 евро.

Среди бесплатных CMS для электронной коммерции есть, пожалуй, лишь один серьезный продукт. Это nopCommerce. Российская разработка: разработчики из Ярославля. Open Source. Деньги берут за документацию и за право не ставить на сайте их логотип.

Функционал довольно мощный. Скидки, налоги, оплата, доставка, возвраты товаров, рейтинги, отзывы, форум, новости, статьи… Общий объем кода около 15 мегабайт, количество таблиц в БД превышает сотню.

И если вам нужен простенький интернет-магазин – то nopCommerce, пожалуй, хороший выбор. Если конечно вас не пугает, что в административной зоне сайта юзабилити отсутствует напрочь, и на вбивание товаров у вас уйдет не одна неделя.

Чудеса начинаются, когда нужно хорошенько кастомизировать магазин. Тут-то выясняется, что архитектура слегка страдает.

Например, что делать, если нужно добавить поле в какую-то таблицу? В Kentico, Sitecore или даже в бесплатной Umbraco для этого достаточно зайти в веб-интерфейс администрирования сайта в раздел “Developer” и отредактировать список полей нужной сущности. Что нужно сделать в nopCommerce для решения этой задачи? Процесс очень простой. Вот здесь он описан подробней.

1. Добавить свойство в соответствующий класс

2.Обновить методы репозитория (Update/Insert)

3. Добавить поле в таблицу базы данных

4. Обновить модель Entity Framework (edmx файл)

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

Добавить новую сущность? Без проблем, только шагов будет пять.

О качестве кода говорить не буду, лучше оцените сами :) Там, например, местами HTML собирается в code-behind из html generic controls. Хорошо хоть не конкатенацией строк. И кода этого 15 мегабайт.

Почему же всё так грустно в мире CMS для e-commerce? Есть что-то более приятное для e-commerce?

Павел Сурменок

http://surmenok.ru/, зеркало в ЖЖ: http://surmenok.livejournal.com/

http://pavel.surmenok.com/ – English-only version