Содержание
Облачная эпоха CMS. Пример реализации / Хабр
surething
CMS *Разработка веб-сайтов *JavaScript *
Продолжаем разговор о CMS, которая написана на Javascript, полностью работает в браузере и сохраняет в облако. Теория была в предыдущей статье, а теперь — практика. Cделаем самую простую систему для статических сайтов — всего три кнопки и сотня строк на JS.
ТЗ:
- Хостинг сайта — облачное хранилище с возможностью привязки собственного домена к контейнеру. Нам подойдет любое, у которого есть HTTP API для управления файлами: Amazon S3, провайдеры Openstack Swift или халявный GitHub Pages. В моем случае — это будет облако Selectel, т.к. у меня уже есть там аккаунт.
- Визуальное «in-place» редактирование — это когда администратор может отредактировать любой элемент прямо на странице сайта. Части страницы, которые можно редактировать, мы будем помечать в специальным классом CSS («sv»).
- Режим правки исходного кода HTML-страницы — на случай, если WYSIWYG-редактор не справляется, или нужно поменять дизайн всей страницы.
Интерфейс:
Единственная проблема, которая стоит у нас на пути — это доступ к хранилищу Selectel из браузера через XmlHttpRequest в обход same-origin policy.
Само хранилище Selectel поддерживает CORS, но вот точка авторизации auth.selcdn.ru этим похвастаться не может. Засада! Нужно проксировать запрос через какой-нибудь сервер. На помощь приходит гениальная и недооцененная поделка Yahoo Tables, которая позволяет делать несложные JSONP-сервисы на смеси XML-разметки и Javascript. Наша «таблица» будет отправлять запрос авторизации через сервер Yahoo и в случае успеха возвращать ключ к хранилищу.
Выражаясь словами Yahoo Query Language (YQL), все элементарно:
USE 'http://cms. svsite.com/auth.selectel.xml' AS auth; /* подключили таблицу */ SELECT * FROM auth WHERE url='https://auth.selcdn.ru' AND user='пользователь' AND key='пароль';
Трафик идет по https, поэтому сойдет за безопасную авторизацию. Я доверяю Мариссе и NSA.
Код CMS может жить где угодно — например, в виде букмарклета или как расширение браузера. Я поселил его в том же Selectel. Теперь, чтобы «установить» CMS на сайт, достаточно загрузить на него html-страницу со ссылкой на наш 100-строчный Javascript. Чем не SaaS?
Итак, подведем итоги.
Наш технологический стек скушен до безобразия: HTML и jQuery на фронтэнде, хранилище Selectel и Yahoo Tables — бэкенд. Если auth.selcdn.ru начнет поддерживать CORS, то от последнего можно избавиться.
Интерфейс: три кнопки главного меню и CKEditor. Жить можно.
Код CMS доступен по адресу: cms.svsite.com/sv.js
Демо: demo.svsite.com/admin.html 3341_democms/VdmXrmKpZe
Важно! Кто последний сохранил — того и тапки. Обновления не всегда видно сразу (кеш CDN). В демо доступны все функции, поэтому будет работать пока кто-нибудь не сломает.
PS.
1. Это proof of concept.
2. Код открыт — send a patch or shut up.
3. Спасибо yuhenobi за рассказ про Selectel Storage.
Теги:
- cms
- javascript
- html5
- saas
- cloud
- cloud storage
- amazon s3
- openstack swift
- selectel
- selectel cloud
Хабы:
- CMS
- Разработка веб-сайтов
- JavaScript
Всего голосов 28: ↑20 и ↓8 +12
Просмотры
19K
Комментарии
14
surething
@surething
Пользователь
Комментарии
Комментарии 14
Облачный хостинг популярных CMS Джино • Спектр
Не думайте о хостинге, поддержке ПО и прочих мелочах. Весь спектр популярных CMS будет работать лучше на Джино. Спектре
- Мгновенная установка
- Максимальное быстродействие
- Неограниченные возможности
Попробовать
Тестовый доступ на 10 дней
Джино.Спектр стал ответом на многочисленные запросы пользователей, не желающих разбираться в нюансах
настройки различных CMS. Добиться оптимальной производительности от совершенно разных систем в рамках
одного хостинга можно лишь специализированно — для каждой CMS Джино.Спектр поддерживает отдельную
инфраструктуру и «облако» серверов со специальными настройками. Это позволяет, в том числе, снять
ограничения по нагрузке — ваш сайт в любом случае будет работать быстро и без сбоев.
Мгновенная установка
Установите выбранную CMS за несколько кликов
Для того, чтобы установить CMS, вам достаточно совершить несколько кликов. После этого в ваше распоряжение
поступит актуальная версия выбранной системы со всеми нужными компонентами. Обновление ПО, защита от возникающих угроз,
максимизация эффективности работы под любыми нагрузками — всё это забота Джино. Вы можете уделять максимум внимания
развитию своего сайта и не задумываться о технических вопросах.Максимальное быстродействие
Индивидуальная настройка среды под каждую CMS
Универсальность снижает эффективность, а специализация, напротив, позволяет получить максимум возможного.
Джино.Спектр — это настройка серверов исключительно под требования соответствующего приложения. Наши специалисты
знают, как добиться максимального быстродействия от каждой поддерживаемой CMS.Безопасность — наша задача
Решаем проблемы до их возникновения
Безопасность работы обеспечивается путём постоянного мониторинга состояния серверов. Таким образом вы можете быть
уверены — большая часть нештатных ситуаций, вызванных вирусами или другими атаками, будет погашена в зародыше и никак
не повлияет на работоспособность вашего сайта. Но даже если случился сбой — опытные специалисты Джино оперативно
и четко урегулируют вашу проблему.Неограниченные возможности
Джино. Спектр снимает все ограничения
Забудьте о «дисковых квотах», «ресурсах процессора», «оперативной памяти» и прочих технических ограничениях,
свойственных обычному хостингу. Просто сосредоточьтесь на развитии вашего сайта — а все технические вопросы Джино
берет на себя. Отныне недостаток системных ресурсов не будет помехой для реализации ваших идей.Все под контролем
Работоспособность сайта восстанавливается за один клик
В случае любой нештатной ситуации вы всегда сможете быстро восстановить рабочую версию сайта: для этого мы регулярно
создаем его резервные копии. Если кто-то завладеет вашим аккаунтом администратора сайта и сменит пароль, это тоже
не будет проблемой — его можно восстановить через контрольную панель Джино. Ваш сайт всегда только под вашим
контролем!Все сайты в одном сервисе
Единая система для всех ваших сайтов
Вы можете управлять всеми вашими ресурсами из одной контрольной панели и оплачивать все задачи с одного счёта. Просто
прикрепите к сервису Джино.Спектр все ваши сайты и домены — это быстро и удобно.Полный доступ к файлам сайта
Удобный файловый менеджер и FTP-доступ
Благодаря удобному файловому менеджеру и доступу по FTP вы можете в любую минуту скачать все файлы вашего сайта
на локальный компьютер или для установки на другой хостинг.Выделенный IP
Независимость и безопасность адреса
Обычно на одном IP-адресе располагается множество разнообразных ресурсов. Чтобы получить независимость и оградить себя от возможного
негативного влияния «соседей», подключите выделенный IP. И ваш сайт получит отдельный уникальный адрес, где не будет никого,
кроме вас. Выделенный IP-адрес обойдется вам всего в 147 ₽ в месяц, стоимость подключения — 299 ₽.Полноценный тестовый доступ
Оцените преимущества Джино. Спектр за 10 дней бесплатной работы
Практика — критерий истины. Убедиться в том, что предлагаемое Джино решение будет действительно удобным и практичным,
лучше всего самостоятельно. Установите систему, привяжите свой домен — и в вашем распоряжении 10 дней для того, чтобы
на собственном опыте оценить новую степень удобства. Если понравится — просто пополните счёт и продолжайте работу
с Джино.Спектр.Потрясающая цена
Предельно низкие цены без скрытых условий
Иногда низкие цены могут вызвать подозрение. Джино гарантирует, что в низких ценах нет никакого подвоха — никаких
дополнительных условий, никаких «подводных камней». Джино ориентируется на долгосрочное сотрудничество с каждым
клиентом — и поэтому вы можете быть уверены в том, что никаких неприятных сюрпризов вы не встретите. Нам выгодно,
чтобы вы были довольны.Подарки и бонусы
Джино делает только приятные сюрпризы
За годы работы мы твердо поняли — клиента надо время от времени приятно удивлять. Поэтому мы постоянно разрабатываем
новые интересные предложения, организуем акции, предлагаем различные бонусы и просто подарки. Следите за акциями —
не пожалеете!Доступные домены
Регистрация доменов по очень выгодной цене
Любому сайту необходим домен. Зарегистрируйте себе домен прямо сейчас с помощью контрольной панели. Стоимость домена —
от 39 ₽ в популярных зонах «.ru» или «.рф».Джино.Ключ
Двухфакторная аутентификация — залог безопасности
Джино.Ключ
Настроенное на мобильных устройствах приложение Джино поможет работать с сервисами Джино максимально комфортно и безопасно. Вы сможете входить в контрольную панель еще одним способом: при помощи сканирования QR-кода или ввода одноразового пароля.
Подробнее
Облачное хранилище
Все ваши файлы рядом и в безопасности
Специально для своих клиентов Джино предлагает абсолютно бесплатный сервис — Джино. Диск. Это надежное место для
хранения файлов — здесь точно поместится всё. Вы получите постоянный доступ к своей музыке, фотографиям и документам и
сможете без труда делиться данными с кем угодно.Подробнее
26 ноября 2022 г.
Уведомления в Telegram
22 ноября 2022 г.
Джино.Спектр на обновлённой платформе
Участвуй в ежемесячном розыгрыше. Выиграй робот-пылесос iBoto
Документация — Начало работы — Cloud CMS
Добро пожаловать в центр документации Cloud CMS.
Cloud CMS — это система управления контентом, основанная на API, которая предоставляет все необходимое на серверной части для работы веб-сайтов и мобильных приложений. Облачная CMS позволяет вашим бизнес-пользователям легко создавать, управлять и публиковать потрясающий контент для ваших пользователей!
Вы читаете руководство по началу работы. Чтобы узнать больше об Cloud CMS и о том, что она делает, выберите одну из приведенных ниже ссылок или воспользуйтесь деревом слева.
Мы предлагаем несколько дополнительных руководств, которые помогут вам работать с Cloud CMS. Они охватывают такие вещи, как моделирование контента, наш API, создание мобильных приложений и многое другое:
Если вы не можете найти то, что ищете выше, обратитесь к нашей базе знаний или обратитесь в службу поддержки Cloud CMS.
Как работает Cloud CMS?
Cloud CMS состоит из нескольких продуктов, которые вместе создают мощную интеллектуальную платформу корпоративного контента. Этими продуктами являются API, пользовательский интерфейс и сервер приложений.
- API предоставляет службы HTTPS/REST, обеспечивающие работу контента для ваших приложений. Это движок контента для предприятия, который предоставляет все, что нужно разработчикам, чтобы полностью раскрыться.
- Пользовательский интерфейс — это пользовательский интерфейс для вашей редакционной группы, позволяющий им легко вводить контент и публиковать его на всех ваших веб-сайтах и в мобильных приложениях.
- Сервер приложений — это необязательный набор промежуточного программного обеспечения с открытым исходным кодом, который обеспечивает поддержку времени выполнения для приложений, созданных на Node.js. Он предлагает кэширование, интеграцию с CDN, шаблоны и целый ряд сервисов, от которых выиграют ваши интерфейсные приложения.
Каковы причины использования Cloud CMS?
Cloud CMS — это мощная и независимая система управления контентом корпоративного класса, основанная на облачных технологиях с 2010 года. Она ориентирована на JSON и совершенно отличается по своему мышлению от традиционных систем CMS, ориентированных на HTML. Наши клиенты выбирают нас из-за глубины наших корпоративных функций, нашей непревзойденной производительности и подлинного качества нашего мастерства.
Мы занимаемся этим очень давно и гордимся тем, что создали и поставляем надежный продукт.
Тем не менее, вот некоторые функции, которые часто выделяют наши клиенты. Проверьте это:
- Моделирование контента
- Редакционный пользовательский интерфейс на основе ролей
- Мгновенный просмотр
- Платформа
- Несколько проектов
- Издательство
- Веб-формы
- Рабочий процесс
- Рабочие пространства
С чего начать?
Мы рекомендуем создать бесплатную 14-дневную пробную версию. После того, как вы это сделаете, вы должны проверить пример проекта, включенный в вашу пробную версию, поскольку он содержит множество образцов контента и примеров того, как использовать Cloud CMS.
Вы также можете установить Cloud CMS локально (работает в собственном частном облаке). Мы также предлагаем пробные версии для локальных клиентов, просто напишите нам, чтобы запросить пробную лицензию.
Вот несколько мест, которые мы рекомендуем для легкого чтения перед началом работы:
- Модели контента
- Типы контента
- Поиск
- Запрос
- Траверс
- Релизы
- Издательство
Дополнительная литература по пользовательскому интерфейсу
- Надстройки
- Осведомленность
- Приборная панель
- Создание/редактирование контента
- Встроить медиафайл в CKEditor
- Избранное
- Многоязычный
- Редактор изображений
- Блокировка
- Меню
- Проекты
- Релизы
- Поиск
- Безопасность
- Метки
- Контроль версий
- Рабочий процесс
Дополнительная информация об API
- Типы данных
- Системные метаданные
- Пагинация
- Исправление
- Статистика
Цены на хостинг — облачная CMS
Четкие планы и цены. Разработано, чтобы соответствовать вашим потребностям CMS сейчас и в будущем.
SaaS
Локальная
Популярная
Несколько команд, важные приложения
$ 800
в месяц
Полнофункциональный:
- • Неограниченное количество пользовательских ролей
- • Премиум поддержка
- • Соглашение об уровне обслуживания (SLA)
- • Система единого входа (SSO)
- • Многоязычный
Попробуйте
Масштаб и производительность
$ 1600
в месяц
Все в бизнесе плюс. ..
- • Большие команды, много проектов
- • Приоритетная поддержка
- • Дополнительный арендатор Dev
- • Многофакторная аутентификация (MFA)
- • Более высокая пропускная способность
Попробуйте
Давайте работать вместе
Позвоните нам
Без ограничений
- • Выделенное контактное лицо
- • Пользовательский SLA
- • Высокая производительность
- • Дополнительные среды CMS
- • Цена консультации со скидкой
Связаться с нами
Бизнес | Plus | Предприятие | 5 Цена0157 | 800 долларов | 1600 долларов | Позвоните нам |
---|
Ограничения плана
Number of Projects | 20 | 100 | No Limit |
Number of Users | 50 | 100 | No Limit |
Number of Records | No Ограничение | Без ограничения | Без ограничения |
Storage of Assets | 500GB | 1TB | Custom |
API requests / Month | 10 Million | 20 Million | Custom |
Data transfer Out | 100GB | 1TB | Custom |
Minimum Uptime | 99. 95% | 99.99% | 99.99% |
Опора
Premium Support | |||
SLA | |||
Priority Support |
Безопасность
Encryption at Rest | |||
Encrypted Backup | |||
Single Sign On | |||
Многофакторная аутентификация |
Характеристики
API | |||
GraphQL | |||
Drivers | |||
Multilingual | |||
Roles and Team Access | |||
Branches | |||
Выпуски | |||
Bulk Import | |||
Deployment | |||
Бланки | |||
Content Modeling | |||
Structured Content | |||
Content Model Builder | |||
Поиск (эластичный поиск) | |||
Query (MongoDB) | |||
Traversal (Graph) | |||
Рабочий процесс0271 | |||
Web Hooks | |||
Rules |
Frequently Asked Questions
Если я начну подписку в середине месяца, будет ли с меня взиматься плата за полный месяц?
Нет. Счет выставляется пропорционально за месяц. Например, если вы начнете в середине месяца,
оплатить оставшуюся часть месяца, а затем полный платежный цикл начинается 1 числа следующего месяца
Что делать, если я хочу отменить подписку?
Нам будет жаль, если вы уйдете!
Вы можете отменить в любое время. Если вы отмените Сервис до окончания текущего оплаченного периода подписки, ваш
отмена вступит в силу немедленно, и с вас больше не будет взиматься плата.
Что делать, если я превышаю лимиты хранилища или плана API?
Наш первый шаг — сообщить вам, что ваше использование становится
приблизиться к ограничениям плана, а затем договориться о том, как устранить превышение, если оно произойдет.
Можем ли мы начать с SaaS и позже перейти на локальную версию?
Вы можете перенести свою облачную CMS между SaaS и локальной. Пожалуйста, позвоните, чтобы обсудить ваши планы и как мы можем помочь
Можете ли вы помочь с профессиональными услугами?
Управление контентом — это наша работа, и наши специалисты помогут вам эффективно реализовать ваш проект,
сопровождая вас на каждом шагу.
Нет ничего слишком маленького или слишком большого. Свяжитесь с нами, чтобы обсудить, как мы можем помочь.
Предлагаете ли вы годовое выставление счетов?
Да. Пожалуйста, свяжитесь с нами для получения информации о пользовательских вариантах оплаты.
Что такое проект?
Проект — это пространство для совместной работы, где группа пользователей может работать вместе над созданием, утверждением
и публикация контента.
Что такое вызов API?
Любой запрос к нашему API Cloud CMS считается 1 вызовом API.
Нужно ли мне вводить данные моей кредитной карты, чтобы зарегистрироваться?
Вы можете зарегистрироваться и сразу начать работать с пробной версией Cloud CMS, не вводя
данные кредитной карты и вводите их только при обновлении плана.
Не видите нужный план? Нужна дополнительная поддержка или услуги?
Для цитаты, пожалуйста, свяжитесь с нами и расскажите нам о
ваш проект.