Pull to refresh
2
0
Бабочкин Александр @Biggo

User

Send message

HTML/CSS/JS редактор с элементами IDE (SaaS версия)

Reading time1 min
Views7.7K
Буквально на днях, в нашем конструкторе сайтов появился полностью переработанный редактор шаблонов.
Мы постарались максимально приблизиться к привычным функциям обычных редакторов.

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



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

Читать дальше →
Total votes 7: ↑3 and ↓4-1
Comments4

Конструктор Бигго — работа над ошибками

Reading time2 min
Views2.2K
Со времени нашего прошлого поста мы довольно серьезно переработали и доработали наш конструктор сайтов. Основной целью было упрощение использования системы и дополнительные удобства, которых много не бывает. На основе отзывов пользователей, а также собственных взглядов были выполнены следующие работы:

Встроенные дизайны


Больше всего жалоб поступало на качество некоторых встроенных дизайнов. Не все модули одинаково хорошо смотрелись во всех дизайнах. Были и другие проблемы, например создать вложенное меню было достаточно непростой задачей по двум причинам: иногда подпункты смотрелись криво и не было простого пути привязки подменю. Обе эти проблемы решены. В CMS появился виджет управления каталогами и меню, о нем ниже. В настоящее время создано 4 дизайна на новом каркасе (в CMS номера 150-154). Постепенно их будет больше и они полностью заменят собой старые.
Что касается других изменений в дизайнах, то среди них:
  • Ajax добавления в корзину с инлайновым выбором кол-ва товаров
  • Функции сравнения товаров по параметрам:
  • Функция «похожих» товаров
  • Во всех модулях изображения объекта открываются в fancybox
  • Визуальное отображение остатка товара в виде шкалы 0-10
  • Разные варианты отображения одного и того же содержимого (для новостей, галереи и др. модулей)
  • Модуль метки(теггирование объектов)


Читать дальше →
Total votes 9: ↑5 and ↓4+1
Comments0

Система контроля версий в SaaS

Reading time2 min
Views1.9K
Сегодня мы хотим рассказать о новой функции, которая появилась в Бигго пару дней назад. Идея реализовать хранение версий изменяемых шаблонов сайта возникла уже давно, но со временем стало понятно, что эта функция пригодилась бы многим клиентам, которые периодически меняют исходный код шаблонов. Дело в том, что по случайности, либо по незнанию, иногда случаются недоразумения после вмешательства владельцев сайтов в исходный код. Конечно, чаще всего получается все вернуть тем или иным способом, но если бы имелась история версий, это было бы настолько просто, что никто бы даже не стал обращатся за этим в тех. поддержку. К слову сказать, у нас с самого начала имелась функция восстановления шаблона из выбранного дизайна, но во-первых изначальная версия шаблона это не всегда желаемая, во-вторых для новых созданных шаблонов это невозможно, по причине того, что копия существует только одна. (Бекап есть, но это уже отдельная тема).
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments5

Поддержка доменов.РФ в Бигго и Python

Reading time1 min
Views3K
Пару дней назад мы следуя общей тенденции стали поддерживать домены.РФ, к тому же сделать это оказалось несложно.
Как известно, перекодировка в punycode происходит на стороне клиента, поэтому все что нужно было сделать — это перекодировать кириллическое название в формах создания и переименования сайтов, а также в функциях работы с регистратором и DNS хостингом. Очень понравилось, что возможность перекодировки встроена в сам язык(Python):

domain_rf = u'сайт.рф'
domain = domain_rf.encode('idna')


То есть кодек idna делает все за нас. Сравните с решением на PHP =)
Названия доменов мы храним в виде xn--80aswg.xn--p1ai и это работает точно также как и для других доменов.

Обратно перевести можно так:
domain = u'xn--80aswg.xn--p1ai'
domain_rf = domain.decode('idna')
Rating0
Comments0

SaaS в области сайтостроения

Reading time2 min
Views3.1K
К нам иногда обращаются с вопросами, связанными со спецификой Saas применительно к нашему конструтору. Хотелось бы ответить на них развернуто и публично.

А что будет с моим сайтом если вы исчезнете?

Вы же не боитесь что исчезнет например Мастерхост? И мы в общем-то не собираемся исчезать. Напрасно что ли мы создавали всю эту систему? В случае каких либо катаклизмов(метеорит упадет на дата-центр), у вас будут на руках шаблоны сайта и данные, так что с минимальными затратами вы перенесете все на другую платформу. Еще одним аргументом для нас не исчезать это то, что у нас есть партнеры, которые доверяют сайты своих клиентов нам и мы просто не можем их подвести. Назад дороги нет уже.
Читать дальше →
Rating0
Comments8

Используем комментарии для разных целей

Reading time1 min
Views1K
Сегодня обсудим возможные варианты использования мощного функционала модуля комментариев(доступен начиная с тарифа Стандарт). Этот функционал уже давно доступен в нашем конструкторе, однако видно, что далеко не пользователи знают какие он открывает возможности. Просим обратить внимание, что все перечисленные способы позволяют указать любое кол-во полей и любых типов:


Читать дальше →
Total votes 8: ↑0 and ↓8-8
Comments0

Бесплатное пользование конструктором для полезных сайтов

Reading time1 min
Views2K
Мы подумали, а почему бы не сделать для полезных обществу некоммерческих сайтов пользование конструктором бесплатно?
И правда, почему бы нет? Отныне если у вас качественный ресурс, неориентированный на заработок денег, вы можете использовать Biggo бесплатно.
Примеры возможных тематик сайтов:
— Бладотворительные фонды
— Приюты
— Сайты о здоровье, спорте
— Анонсы выставок(не всех)
— Сайт какой либо Open Source программы
— Познавательные сайты о науке, культуре, технике и т.п.
— Блоги на интересные темы
— Возможно еще что-то — пишите

Как воспользоваться этим предложением


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

Ограничения


Не принимаются сайты:
-коммерческой направленности
-не несущие пользы для общества
-с не уникальным контентом или для размещения спам-ссылок

Кроме того, приоритет техподдержки может быть ниже чем для остальных клиентов. Однако без помощи вы не останетесь.
Ссылка на главную страницу конструктора обязательна, ее убирать нельзя.

Изначально выделяется тариф Визитка, но он может быть изменен на любой другой, если вам будут необходимы большие ресурсы и возможности.
Total votes 26: ↑10 and ↓16-6
Comments11

Celery — распределенная очередь заданий

Reading time3 min
Views84K
На этот раз мы решили рассказать о замечательном продукте, который мы используем в нашей работе. Речь пойдет о Celery — «distributed task queue». Это распределенная асинхронная очередь заданий, которая обладает широким функционалом. В нашем конструкторе сайтов нам часто приходиться запускать асинхронные с точки зрения ответа пользователю задачи. На хабре, к сожалению, не много информации по данному продукту, а он заслуживает отдельного упоминания, это мы и хотим исправить.

Итак, что же умеет Celery:

  • Выполнять задания асинхронно или синхронно
  • Выполнять периодические задания(умная замена crond)
  • Выполнять отложенные задания
  • Распределенное выполнение (может быть запущен на N серверах)
  • В пределах одного worker'а возможно конкурентное выполнение нескольких задач(одновременно)
  • Выполнять задание повторно, если вылез exception
  • Ограничивать количество заданий в единицу времени (rate limit, для задания или глобально)
  • Routing заданий (какому worker'у что делать)
  • Несложно мониторить выполнение заданий
  • Выполнять подзадания
  • Присылать отчеты об exception'ах на email
  • Проверять выполнилось ли задание (удобно для построения Ajax приложений, где юзер ждет факта завершения)

Заинтересовало? Просим под кат.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments27

Генерация PDF-прайсов и автоматическая привязка изображений

Reading time2 min
Views6K
Недавно в нашем конструкторе была реализована функция автоматического создания прайс листов в формате PDF. Это полезная функция для интернет магазинов, продавцы которых желают выкладывать свежие прайсы для загрузки, а также удобной печати всех товарных предложений(или тех которые подходят под заданные фильтры) и создания бумажных прайсов, которые удобно положить вместе с заказом клиенту.
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments11

Кто индексировал мой сайт?

Reading time2 min
Views5.7K
Создавая сайт на Biggo, есть возможность воспользоваться еще одним преимуществом SaaS — учет индексации сайта поисковыми роботами. Обычные JS-счетчики или счетчики на основе картинки, конечно, не дают такой возможности. В liveinternet есть возможность учитывать запросы поисковых ботов, но она там дается «в догонку», в разделе экспресс-аудит. К тому же, для того, чтобы этот отчет заработал необходимо установить предлагаемый PHP-код.

Наша система независимо собирает данные для создания этого нужного для вебмастеров и оптимизаторов отчета и отображает результаты в виде красивых интерактивных графиков
image
Круговая диаграмма, отражающая доли разных поисковых роботов
Читать дальше →
Total votes 33: ↑19 and ↓14+5
Comments17

Нет нужного модуля? Создай свой!

Reading time3 min
Views2.4K
Существует общая проблема как для SaaS-CMS, так и для некоторых коробочных CMS — невозможность самостоятельно дописать нужный функционал или модуль. В случае с коробочными цмсками иногда такая возможность есть, но она требует программистских навыков. Мы постарались решить эту проблему в нашем конструкторе сайтов, хотя бы на 80%.

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

Но, выход есть!
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments10

Как собирается сайт

Reading time6 min
Views5.8K
В прошлом посте мы рассказали о нашем новом конструкторе сайтов.
На этот раз хотелось бы более подробно рассказать о том как работает шаблонная система. Она полностью джанговская, но то, как она построена заслуживает отдельного упоминания. К тому же, это будет полезно для тех читателей, кто не знаком с шаблонизатором от Django.

Читать дальше →
Total votes 26: ↑15 and ↓11+4
Comments10

Конструктор сайтов и интернет-магазинов Бигго

Reading time3 min
Views11K
Приветствуем всех Хабрапользователей!

Этим постом открываем блог нашей компании. Мы постараемся публиковать интересные материалы, связанные с нашей работой, а также связанные с темой SaaS.

Предисловие

В июле 2009 года мы начали разработку конструктора сайтов. К этому времени у нас уже имелось:
  • несколько крупных реализованных веб проектов
  • опыт использования Django(начиная с версии 0.90), Python, PostgreSQL
  • Торговая сеть Бигго.Ру, на которую не хватает катастрофически времени, т.к. основное внимание уделяется конструктору сайтов. О нем и пойдет речь дальше

Читать дальше →
Total votes 42: ↑23 and ↓19+4
Comments26

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity