Это будет продукт, правами на который будет обладать компания 1С-Битрикс, но разработчик у нас сторонний (и не спрашивайте, все равно не скажу кто). И я хочу поделиться с вами информацией по этому проекту.
[spoiler]
Зачем?
На примере данного проекта хочу показать как любой из наших партнеров может разработать и успешно продвигать на рынок свое собственное решение на основе платформы 1С-Битрикс. Хочу поделиться опытом, думаю кому-то может быть полезно. Мы хорошо нарастили технологии чтобы предоставить внешним разработчикам полноценно использовать 1С-Битрикс как технологическую платформу для собственных независимых решений и продуктов, а также готовим правовую и организационную основу для распространения и продажи таких решений. Часть из этой информации вы уже, вероятно,
Что мы делаем?
Это будет продукт, рассчитанный на человека, желающего создать свой персональный сайт, вести там блог, размещать фотографии и прочую (возможно закрытую) информацию, которую пожелает. При этом мы считаем, что пользователь не сильно осведомлен о таких вещах как HTML, ЧПУ, настройки Apache и т.д. При этом человек, очевидно, уже участвует в каких-то социальных сетях и знаком с понятием блогов, фотогалерей и прочего.
"И что с того?", спросите вы, "Ничего оригинального, мы такое делали уже сто раз". Тем не менее, хочу обратить внимание на разницу
При индивидуальной разработке разработчик согласовывает конкретное техническое задание (для решения конкретных задач) с конкретным заказчиком (группой лиц) в рамках которого и работает. Проект разрабатывается, устанавливается, а потом ключи от него передаются заказчику и он уже сам им управляет. Это единичное решение, его не будут использовать другие люди. Знаете как у Кундеры в "Невыносимая легкость бытия": "Einmal ist keinmal... Единожды — все равно что никогда".
Вот что нужно решить по ходу разработки проекта:
- устанавливать и настраивать будет не разработчик, а пользователь (надо сильно понижать требования знаний для этой операции);
- пользователь наверняка состоит в различных интернет-сообществах и социальных сетях, скорее всего он захочет объединить все свои коммуникации воедино;
- нужно будет думать о технической поддержке пользователя;
- нужно думать о внедрении (т.е. обучении пользователя, технической возможности куда-то продукт куда-то установить и т.д.)
- а, соответственно, нужно теперь поддерживать и разработчика;
- поскольку продукт массовый, хотим позволить разработчикам производить для него дополнения (плагины, гаджеты, шаблоны, скины, компоненты и т.д.)
- важно подумать об обновлениях - продукт должен свободно обновляться, не влияя на работоспособность и на информацию, расположенную на сайте; при этом функционал может добавляться, а может видоизменяться;
- SEO: несмотря на низкую подготовку пользователя нужно разработать проект так, чтобы при его использовании не было сложностей для ранжирования проекта поисковиками;
- нужно думать о безопасности (но тут за нас подумает модуль проактивной защиты);
- пользователь захочет произвольный сайт (захочет выбрать дизайн, выбрать функционал, выбрать расположение блоков и т.д.) - на то он и персональный сайт; а вот тут нужно подробнее.
Каждый пользователь стремиться показать свою индивидуальность и уникальность именно поэтому он и создает персональный сайт. Естественно, индивидуальность подразумевает наличие отличительных характеристик. В данном случае это может быть:
- в первую очередь, естественно, наполнение;
- дизайн (как внешний вид сайта, отдельных его элементов, так и расположение этих элементов);
- способы, которыми он предоставляет информацию (проще говоря, наличием тех или иных штуковин/гаджетов/фишек/приблуд и т.д.) на своем сайте;
Теперь попробуем со всем этим взлететь.
Технологии
Не буду раскрывать деталей, поэтому кратко:
- договоримся с Битриксом, чтобы сделали специальную редакцию с определенным набором модулей;
- для установки сделаем мастер (который позволит установить, выбрать дизайн, разместить элементы на странице, выбрать цветовую схему и т.д.) и подложим его в дистрибутив, чтобы при запуске после установки самого Битрикса запускался наш мастер;
- чтобы отрезать пользователю лишнее и "сложное", на этапе мастера сделаем отдельный аккаунт, которым пользователь будет пользоваться в дальнейшем (админа спрячем) и переопределим ему полностью всю панель управления;
- чтобы проще было управлять проектом, делаем все страницы рабочими столами, чтобы пользователь мог "накидать" на страницу нужных элементов (гаджетов)
- чтобы пользователю было еще проще, с помощью гаджетов переопределяем основные настройки компонентов и оставляем только самые нужные и упрощаем их интерфейс;
- чтобы пользователь мог изменять цветовую схему, переопределяем стили компонентов в основном шаблоне и делаем мастер, который позволит изменять цвета всех элементов разом или по отдельности произвольным образом и простым интерфейсом;
- чтобы можно было обновлять продукт, пишем все изменения только в публичной части а ни в коем случае не трогаем ядро продукта, заворачиваем его в модуль и включаем этот модуль в поставку продукта;
- поскольку мы используем стандартные технологии и стандартный API, разработчики могут кастомизировать продукт произвольным образом (а в будущем с открытием marketplace еще и будут выпускать дополнения к продукту);
- разрабатываем свои гаджеты таким образом, чтобы учесть и SEO;
- за безопасность отвечает модуль Проактивной защиты;
- для обучения пользователя разрабатываем документацию, а главное, записываем массу видео-роликов, демонстрирующих типовые (и не очень) операции;
Вроде все поставленные вопросы закрыты. И на все нашлась стандартная технология, которая решает тот или иной вопрос.
Хочу обратить внимание на одну положительную сторону использования гаджетов: мы можем взять один и тот же компонент (например, фотогалерея) и создать на его основе сразу несколько гаджетов: "последние фотографии", "произвольное фото", "фото автора", "популярные фотографии" - все это один и тот же компонент с различными настройками. При этом у каждого гаджета может быть свои индивидуальные настройки. По сути пространство для фантазии огромное, а реализация совсем не сложная, если вспомнить мастер-класс Юрия Тушинского по созданию новых гаджетов.
К чему я все это?
Платформа 1С-Битрикс эволюционно созрела для развития не только силами ее создателей, но и силами сторонних разработчиков. Почти все технологии, необходимые для тиражного решения уже включены в продукт, а те, которых еще нет выйдут в течение этого года (я говорю про marketplace). Кстати, одним из подобных решений является продукт
Мы давно уже говорим о том, что хотим получить решения от наших партнеров. Сейчас это стало возможно и технологически. Более того, до конца этого года мы выпустим несколько решений на основе нашей платформы от себя и увидим несколько решений от партнеров.
Если у вас есть интересные идеи, мы готовы их поддержать, давайте начнем наше общение!
P.S.
Финансовую сторону вопроса я намерен осветить в следующем посте.
В общем, хотелось бы пощупать это дело, а так информации вы не добавили. Все что вы написали, и так подразумевалось в "персональном сайте".
Пощупать обязательно дадим, когда будет что давать.