Spree Commerce: своя панель управления или модификация коробочной версии

Дата публикации:

Проблема

Во время работы над проектом “ПростоАудио” (интернет-магазин автозвука на платформе 1R Commerce — наша разработка, в основе которой фреймворк Spree Commerce, интегрированный с ), мы задались вопросом: менять уже имеющуюся панель управления под себя или же создавать с нуля новый вариант? Вопрос сложный и интересный.

Панель управления Spree Commerce предоставляет собой обширный набор инструментов для работы с сайтом. Однако все ее функции нам не требуются. Некоторые из них придется попросту убрать. Это — первое. Кроме того, необходимо предусмотреть так называемое ролевое разделение (привилегированные пользователи должны иметь доступ к управлению своими разделами в админке). Это — второе. Плюс у нас уже имелись собственные наработки, такие как “Отзывы” или “Установочные центры”. Их также следовало интегрировать с панелью управления. Это уже третья проблема. Как же поступить? Напомним: у нас всего два варианта.

spree-premium-partner

Решение

Для начала взвесим все “за” и “против”. Для этого потребуется проанализировать оба варианта по всем критически важным моментам:

  • Функциональность. 95% необходимого нам функционала уже есть в панели управления Spree Commerce. На выявление ненужных нам опций уйдет как минимум 1-2 дня. Не будем забывать и о том, что Spree — это open-source проект. Для того же, чтобы создать собственный аналог панели управления, потребуется минимум 3-4 недели. Запоминаем: один балл в пользу модификации панели управления Spree.
  • Надёжность. Первая версия Spree вышла в 2007 году. С тех пор фреймворк лег в основу более чем 45 000 интернет-магазинов во всем мире. При этом его разработка продолжается. Соответственно платформу уже протестировали сотни тысяч человек. При написании же собственного кода неизбежны различные баги и “велосипеды”. Как известно, идеальных программистов не существует. К тому же есть риск, что эти баги не будут замечены сразу. Вывод очевиден.  2:0 в пользу модификации панели управления Spree.
  • Фронтенд. В панели управления Spree Commerce все разложено по полочкам. Перед нами предстает красивая и причесанная во всех смыслах админка (пример с ActiveAdmin: http://demo.activeadmin.info/admin/dashboard). В своей же панели управления придется реализовывать какую-то тему. На это уйдет примерно 1-2 дня. Счёт уже 3:0. Неужели это разгром? Не будем спешить. Детальный анализ проблемы выявляет недостатки и в родной панели управления Spree Commerce.
  • AJAX. В родной панели управления Spree Commerce не реализована технология AJAX. Формы сабмитятся стандартным методом с перезагрузкой страницы — это долго и неудобно. Если же мы будем писать собственный код, подобную проблему можно запросто предотвратить. Счет изменился. 3:1 в пользу панели управления Spree Commerce.
  • Разграничение прав. Мы считаем это главным недостатком панели управления Spree. Для разграничения прав по ролям, нам придется использовать специальный гем spree_admin_roles_and_access (https://github.com/vinsol/spree_admin_roles_and_access), работающий на CanCan. Более того — придется идти на ухищрения и строить “велосипеды”. Почему? Из-за особенностей построения панели управления Spree Commerce.  А также потому, что последняя версия гема написана под Spree 2-4-0-rc3. Мы же взяли за основу версию 2.4.6. Приведем пример. Во вкладке «Настройки» имеются формы с различными моделями. Пользователь с ролью «seo» должен располагать возможностью изменять SEO и META поля. Остальные поля ему вообще не нужны. В документации к гему сказано, что он предоставляет право изменять только конкретные поля таблицы. Однако на практике этого не происходит. Причина? Скорее всего она кроется в старой версии Spree, под которую заточен гем. Итоговый счет 3:2.

4aca3cc4fcd9

Выводы

Подобьем баланс. При модификации готового решения, возникают сложности с разграничением прав и отсутствием AJAX. Это немного ухудшит перформанс, но в остальном (функциональность, тесты, красота интерфейса и надежность) панель управления от Spree уходит далеко вперед, по сути, не оставляя альтернативных вариантов. В результате нами было принято Соломоново решение использовать её возможности в полной мере и не заниматься Сизифовым трудом.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.
Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства.

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании.

Следующий курс намечен на август. Не пропусти анонс записи!