Google все-таки согласился поддержать MaxSite CMS
Решил, что свою CMS размещу на Google Code. Кто не знает, это специальный хостинг для опенсорсных проектов. Чтобы всё было по-взрослому, должна быть поддержка SVN/Subversion (исходный код + версии).
Раньше я никогда с этой штукой не пользовался, поэтому вкратце опишу процесс.
На гугле вам отводится специальный каталог, где можно хранить свои файлы. У себя на компьютере вы устанавливаете две программы: svn-сервер и клиентскую программу. Клиентская программа позволяет работать с файлами без командной строки, что, согласитесь, удобнее.
После того, как все настроено, вы можете указать удаленный адрес (гугл его выдаст + пароль) и локальный компьютер. Таким образом можно синхронизировать каталоги. Например я внес какие-то изменения в своем движке. После этого я их фиксирую и все изменения автоматом загружаются на сервер.
При этом поддерживаются т.н. ревизии, или версии. Каждое обновление увеличивает ревизию. Смысл в этом только в том, что можно «откатиться» до любой ревизии. Ну вроде как бэкап.
Но это всё цветочки.
Ягодки в том, что пробился я целый день чтобы всё это настроить... Естественно перелопатил кучу ссылок, но нашел только одно нормальное описание.
Дублировать статью нет смысла, просто в кратце опишу некоторые свои замечания.
1. Главное. Нужно устанавливать сервер. Если вы вначале установите TortoiseSVN, то создается впечатление, что сервер уже работает. У них даже огромный хелп есть по этому поводу, где какие файл копировать и что запускать. Так вот это все лишнее. Скачиваем subversion и не морочим голову.
2. Сервер должен быть запущен. Этот момент как-то выпал из статьи. Сервер может быть запущен как сервис Windows или как обычная программа. В последнем случае у вас будет консольная (dos) программа, которая лично меня только раздражала. Поэтому я запустил сервер как сервис. Для этого используется команда:
3. В качестве адреса в статье указывается svn://localhost:8082/my_project/. Лично у меня этот адрес напрочь отказался работать, поэтому я упростил до: svn://localhost/my_project/.
4. Некоторые вещи не совсем очевидны. А именно - вначале вы делаете каталог, который импортируете на сервер. Это что-то вроде начальной версии. После этого делаете другой каталог и в него извлекаете то, что только что импортировали, но уже с сервера. То есть рабочим будет уже последний каталог.
5. На гугле для read-only (только для чтения) адрес начинается с «http://». Для того, чтобы иметь возможность загружать файлы, адрес должен начинаться с «https://».
6. Логин для редактирования совпадает с вашим логином на гугле. А пароль можно посмотреть в администрировании своей Code Google.
7. Удалять каталоги на сервере можно с помощью «Обозревателя хранилища». Это на тот случай, если вы ошиблись с путями или не так назвали каталоги.
Возможно эти советы вам тоже как-то помогут. Я вот уговорил гугл начать работать со мной. Теперь он не против. ![]()
В общем, желающие могут посетить страницу MaxSite CMS. Правда пока я не добавлял архив, потому что еще предстоит продумать структуру базы данных. Пока же я успел только реализовать основные функции по подключению шаблона, типов данных, а вчера вечером доделал инсталятор. Так что дело двигается. Как только доделаю до какой-то тестовой начальной версии, обязательно выложу.






Задумка начала обретать материальные черты. Отрадно!
Поздравляю с выходом на интернет арену
в добрый путь конечно, а почему не на sf.net?
интересно что из этого получится и когда ждать первых версий?
Sourceforge сильно тормозит. Во всяком случае у меня вечером частые проблемы с доступом к нему. А гугл - это наше всё ;).
Когда будут первые версии я и сам не знаю. Вопрос тут даже не в написании, сколько в том, чтобы придумать как правильно сделать. На это тоже требуется какое-то время.
Максим, теперь я окончательно убедился, что ты будешь делать свою CMS ;), поэтому желаю тебе большой удачи!
ты двиг будешь писать с нуля или основываясь на небезызвестном WP? логика двига будет схоже с WP или ближе к Drupal'овской? Мне кажется, что не следует создавать сразу универсальный двиг - не очень получится. Нужно нацелить двиг на выполение определённой задачи (пользовательский блог, интернет портал, каталог, магазин и т.п.), а уже дальше разрабатывать версии и метисы двига.
Поддерживаю Untaboo
На что ориентирована разработка?
Не согласен. На сколько я помню TortoiseSVN по своей прошлой (виндовой) жизни, очень не удобное приложение. Теперь только командная строка или интеграция SNV в IDE (Eclipse).
Зачем устанавливать локальный сервер работая с внешним репозиторием?
Командная строка?.. Нет, спасибо. ;)
Сервер нужен, чтобы настроить программу на локальном компьютере. В статье-то об этом речь.
2Untaboo:
Да я вроде бы уже пару статей про это написал. ;) Ну если кратко, то пишу с нуля. За основу взял фреймворк CodeIgniter - пока нареканий нет. По возможностям система должна быть не хуже WordPress, при этом иметь возможность гибко изменяться, а также не быть такой прожорливой.
Часть материалов я выкладываю на http://code.google.com/p/maxsite/ Вчера добавил несколько статей в вики. Там же ход работ. Хочу сделать раздел на форуме, где можно будет обсудить разные темы. Некоторые вещи пока даже не представляю как делать (например авторизацию пользователей, их права и т.п.), поэтому потребуется помощь клуба. ;)
А почему бы не использоват поддержку IDE (например Aptana на базе Eclipse) для работы с SVN? Многое теряете.
Э-э-э... я ничего не понял. :oops: Есть ссылки, примеры, описание?
Максим, не вводите людей в заблуждение. Репозиторий у вас на гугле, поэтому сервер не нужен. Если вы будете пользоваться svn://localhost/my_project/ то проект будет храниться у вас на компьютере.
Ежели не нравится TortoiseSVN, посмотрите на RapidSVN. Этот клиент имеет свое окошко, как WinCVS, а не является shell-extention, как TortoiseSVN.
Главное - понять логику работы, особенно начального этапа:
1. checkin локального каталога в адуленный репозиторий.
2. checkout удаленного репозитория, чтобы создать локальноую копию.
Это были разовые действия.
3. commit/update для синхронизации.
Специально проверил. Отключаю сервер - доступа к локальным файлам нет. Пишет - Can't connect to host... Так, что...
Посмотрел RapidSVN. TortoiseSVN - удобнее и глюков не заметил.
"Пишет - Can't connect to host..." - а кто пишет-то? Локальная копия - это просто дерево каталогов, в каждом из которых есть скрытый служебный каталог ".svn". Доступ к локальной копии репозитория ни в каком сервере не нуждается.
1) TortoiseSVN все-таки не требует установленного сервера, указываешь любую папку как Хранилище, вот вам и локальный сервер.
2) Книжка, на русском по SVN - URL http://svnbook.red-bean.com/nightly/ru/svn-book-html-chunk.tar.bz2
Маст рид, есть очень неочевидные для новичка вещи - наример с ветками.
P.S. Как я жил без SVN - не понимаю. Но точно помню что фигово ;)
Отличная новость. Поздравляю.Благодоря твоему сайту я сам сделал себе блог. Спасибо.:cool:
Респект за "желтый" заголовок - решил уж, что хана всем конкурирующим проектам, если не заручатся поддержкой Microsoft
Удачи в нелегком деле ;)
А почему не GIT ?
Зачем-то городить огород из серверов..... имхо с распределенными системами куда удобнее. Проэкты на ruby сейчас все поголовно используют GIT в качестве системы контроля версий (http://github.com/). Из минусов - гуи не такие рюшечные как у SVN.
Сейчас поднимаем сайт на вашей ЦМС, для деплоймента и обновлений как раз GIT использую, без него обновлять и синхронизировать модифицированную тему с оригинальной было бы очень напряжно. Если апстрим будет в гите, то тогда обновлять проект будет значительно уудобнее. git может содержать неограниченное количество локальных веток.
http://iportnov.blogspot.com/2008/06/deployment-git.html
Ага, нашёл эту статью.
TortoiseSVN работает и совершенно без установки локального сервера. И без установки самого Subversion. Subversion тоже может обходиться без TortoiseSVN и локального сервера.
Вместо svn://localhost:8082/my_project/ я пишу file:///F:/EXP/Projects/SVN/my_project/