Koding.com как платворма для разворачивания и тестирования приложений в окне браузера

275 views
Skip to first unread message

Александр Маслаков

unread,
Oct 23, 2012, 7:54:43 AM10/23/12
to flexo-mana...@googlegroups.com
Добрый день, хочу поделиться заметкой о нетипичном сервисе социального программирования koding.com.
Сервис предоставляет возможность разработки на PHP, Python, Ruby, Perl в окне браузера.
Дополнительной "фишкой" считаю наличие терминала. Под мои нужды, как понимаю, была выделена виртуальная машина под управлением linux.
Очевидно, что кодинг.ком задумывался так же как социальная платформа для разработчиков: обмен сообщениями, сниппетами, подписка на ленту по интересующим тегам.

Сходу решил проверить работоспособность Flexo CMS, загрузил wget-ом последнюю вресию с GitHub.
И очевидно (http://jmas.koding.com/flexo/) Flexo CMS завелась почти без проблем (пришлось отключить mod_rewrite в config.php).

Мои выводы: как тестовая площадка для проектов, либо мелких разработок (если под рукой нет необходимых инструментов, кроме интернет) - сервис выглядит привлекательно, даже несмотря на периодические глюки.
В целом, это все. Могу подсказать где взять инвайты. ;)
Screenshot from 2012-10-23 14:33:15.png
Screenshot from 2012-10-23 14:33:18.png
Screenshot from 2012-10-23 14:47:40.png
Screenshot from 2012-10-23 14:50:52.png

Левшин Олег Сергеевич

unread,
Oct 23, 2012, 8:00:55 AM10/23/12
to flexo-mana...@googlegroups.com
Также могу дать инфайтов.

23 октября 2012 г., 15:54 пользователь Александр Маслаков <jmas.u...@gmail.com> написал:

Александр Маслаков

unread,
Oct 23, 2012, 8:48:47 AM10/23/12
to flexo-mana...@googlegroups.com
Скидывайте свои ники для линковки.
Мой jmas.

Alex Radiocity

unread,
Oct 24, 2012, 7:21:44 AM10/24/12
to flexo-mana...@googlegroups.com
Приглашение не помешало бы. Регистрация ограничена.

Кстати, может стоить прикрутить автоматическое обновление с хаба для flexo1 ?

Александр Маслаков

unread,
Oct 24, 2012, 11:07:18 AM10/24/12
to flexo-mana...@googlegroups.com
@Alex Radiocity, Думаю, стоит прикрутить ссылку на скачивание ветки мастер в шапку. Ты это имел ввиду? Если нет, опиши, сделаем.

Инвайты:
twitterfriends (сегодня проверяли - лимит еще не исчерпан)
techcrunch (не проверял)
habrahabr (видимо, лимит этих инвайтов исчерпался)

2012/10/24 Alex Radiocity <radio...@gmail.com>

Приглашение не помешало бы. Регистрация ограничена.

Кстати, может стоить прикрутить автоматическое обновление с хаба для flexo1 ?



--
С уважением, Маслаков Александр.
Разработка сайтов: дизайн, программирование, подготовка информации, сопровождение.

Тел.: +38 099 669–15–06
Портфолио: www.up.dn.ua
Эл. почта: in...@up.dn.ua
Skype: up.dn.ua

Alex Radiocity

unread,
Oct 24, 2012, 2:15:32 PM10/24/12
to flexo-mana...@googlegroups.com
Подошел twitterfriends. Ник radiocity.

По поводу обновлений из Github...
При входе администратора в backend, происходит сравнение версии сайта с последней версией на github. Если они разные, пользователю предлагается произвести обновление. Админка сама закачивает курлом необходимые файлы, заменяя имеющиеся. Функцию обновления можно отключать в глобальных настройках. Ну... это в теории. Хотя, если wget может, почему бы curl не работать? 

PS По поводу github issue. При упоминании в коммите фразы "github issue #" сайт автоматически добаляет комментарий в соответствующий issue :)

Александр Маслаков

unread,
Oct 24, 2012, 3:04:21 PM10/24/12
to flexo-mana...@googlegroups.com
Я думал по поводу обновления админки, обновление из репы было бы очень удобным.
Вижу алгоритм обновления следующим:
  1. Используя GitHub API, либо непосредственно Git API, узнаем какие файлы были добавлены, в каких файлах произошли изменения (Git API предпочтительней)
  2. Проверяем доступность соответствующих файлов/директорий для записи, в случае недоступности - предупреждаем об этом пользователя
  3. Если все файлы/директории доступны для записи - производим бэкап всех системных файлов
  4. Производим последовательное получение и замену каждого системного файла, создание новых файлов, которые были добавлены
  5. В случае падения (timeout, либо получение любой другой ошибки: падение PHP, к примеру), даем возможность восстановить данные из бэкапа путем перехода к сервисной странице, защищенной специальным паролем
Другой способ более топорный:
  1. Проверяем наличие библиотек работы с ZIP архивами
  2. Проверяем возможность писать в соответствующие директории
  3. Получаем последнюю версию в формате ZIP
  4. Заменяем все системные файлы (вне зависимости от того: были ли изменения, либо нет)
Второй способ тоже не исключает бэкапы, поэтому хорошо бы сначала предусмотреть плагин, делающий полный бэкап системы в формате ZIP либо другого более доступного формата.

По поводу хэша в коммитах.
О гуд, спасибо за разъяснения. Буду знать. :)

2012/10/24 Alex Radiocity <radio...@gmail.com>

Alex Radiocity

unread,
Oct 24, 2012, 4:17:06 PM10/24/12
to flexo-mana...@googlegroups.com
Обновлять все файлы системы было бы накладно. Скажем, в версии 0.1.5 rc1 изменены всего 2 строчки... 
Правильнее проверять контрольные суммы ВСЕХ системных файлов и, в случае несовпадения, докачивать именно проблемные файлы, предварительно создав их резервную копию. Также следует отслеживать chmod, восстанавливая после обновления.
В случае ошибок предупреждать пользователя об этом.

Буду курить Git(hub) Api...

Alex Radiocity

unread,
Oct 24, 2012, 6:20:45 PM10/24/12
to flexo-mana...@googlegroups.com
Вообщем, в ./cms/app/controllers/LoginController.php функция _checkVersion() позволяет проверять версии. Довольно забавно сделано :D

Александр Маслаков

unread,
Oct 25, 2012, 3:43:09 AM10/25/12
to flexo-mana...@googlegroups.com
Пару ссылок на Git API:
https://github.com/jonls/php-git-server

Как понял из описания приложения по 1 ссылке: вроде бы то, что нужно.

2012/10/25 Alex Radiocity <radio...@gmail.com>

Вообщем, в ./cms/app/controllers/LoginController.php функция _checkVersion() позволяет проверять версии. Довольно забавно сделано :D

Alex Radiocity

unread,
Oct 25, 2012, 5:10:28 AM10/25/12
to flexo-mana...@googlegroups.com
Похоже, что так

Александр Маслаков

unread,
Oct 30, 2012, 12:29:21 PM10/30/12
to flexo-mana...@googlegroups.com
Что ни будь прояснилось по поводу обновления проекта по Git?

On Thursday, 25 October 2012 12:10:28 UTC+3, Alex Radiocity wrote:
Похоже, что так

Alex Radiocity

unread,
Nov 2, 2012, 7:47:44 AM11/2/12
to flexo-mana...@googlegroups.com
Проще обновлять движок полностью, сравнивая версию с хаба с переменной версии.

вторник, 30 октября 2012 г., 20:29:21 UTC+4 пользователь Александр Маслаков написал:
Reply all
Reply to author
Forward
0 new messages