jmas

Рейтинг
83
Регистрация
28.06.2011
Разработчик
vold57:
jmas, прочитал еще раз первый пост и возник вопрос, почему мне нужно использовать именно Flexo CMS, а не Frog CMS или Wolf CMS? Насколько я понял, то группа этих CMS остановилась в своем развитии и поэтому вы создали «свою» CMS, но в чем ее преимущество вы не написали.

Конечно можно пользоваться Frog, Wolf — они аналогичны, но преимущество Flexo — некая «коробочность» и больше внимания к деталям. Жизненно необходимые плагины от сторонних разработчиков будут дорабатываться до стабильного состояния. Тем более есть свои планы по поводу развития системы.

Помимо этого полностью переписан JavaScript код (когда в Wolf CMS старый код используется частями, например, наличие сразу двух подключенных библиотек PrototypeJS и jQuery ясно дает понять это), улучшен лэйаут админки, улучшена стабильность, улучшена интеграция плагинов (заложена основа для написания более функциональных плагинов). Исправлен ряд мелких недоработок. Переписан файловый менеджер и добавлено пару довольно важных плагинов. UPD. Забыл добавить: шаблоны и сниппеты вынесены в файлы (в Frog и Wolf шаблоны хранились в БД, что исключает доступ к коду шаблонов из привычных редакторов кода).

Я думаю, что этого достаточно чтобы назваться новым именем. Хотя, есть пробел в документации и комьюнити, который будем заполнять в ближайшее время. Окончательное решение: пользоваться или нет — все равно остается за вами. :)

Истинная цель этого топика — не реклама своего продукта (система итак успешно используется и приносит пользу) — истинная цель: протестировать систему, потому что свежий взгляд, и опыт пользователей — штука бесценная. Поэтому еще раз благодарю вас за те ошибки, которые вы помогли отыскать.

TiA:
Там нужно глюк поправить в установщике. Там не указан $data['db_pass'] при подключении к БД. У меня xdebug сразу кучу notice выкинул :)

Спасибо за замечание, глюк уже исправлен, выложил обновленную версию 0.1.2. :)

vold57:
Какова будет ориентировочная цена этих плагинов?

Я думаю, что можно будет организовать страницу «Пожертвований на развитие проекта», и сумма будет исключительно из ваших соображений — символической.

vold57:
Первые впечатления.

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

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

Отложенная публикация.
Идея с отложенной публикацией правильная. Очень полезная функция, но что-то у меня не хочет работать. В админке действительно при указании времени публикации, страница получает статус «ожидает», который в назначенное время меняется на «опубликовано», но на самом сайте страница появляется сразу после ее создания.

ЧПУ.
Как сформировать УРЛ полностью по своему усмотрению, я не нашел. Я могу прописать только последнюю часть адреса страницы, но при этом в УРЛе будут отображаться все родительские категории. Если мне, например, нужно сделать адрес страницы от корня домена, то увы, я этого не смог сделать.

Мануал.
Нужен хороший мануал. В админке есть непонятные для меня места. Например, что такое «Добавить часть страницы» и «Добавить поле». Что означают статусы «черновик», «просмотрена» и «скрыта»?
Нужно подробное описание всех элементов шаблона именно с примерами.
Чем лучше и подробней будет мануал, тем меньше будут дергать саппорт.

> Отложенная публикация.

Действительно это еще не отражено при выводе новостей, необходимо будет добавить правило для вывода потомков. Это будет сделано в ближайшем обновлении.

> ЧПУ

Полностью по своему усмотрению пока сделать нельзя — такова архитектура. Есть возможность изменять адрес только для каждой конкретной страницы, то есть если при редактировании страницы нажать на «Шестеренку» возле поля «Заголовок», то в открывшемся поле «Slug» можно изменить часть URI, которая отвечает за данную страницу.

Как вариант: можно будет реализовать плагин для «кастомных» URL, но это позже.

> Мануал

Да, над этим работаем. Есть старая версия «мануала» по адресу http://frogcms.in.ua/rukovodstvo-razrabotchika/ispolzovanie-peremennoi-this.html, но этот документ не полный, и конечно требует обновления.

Спасибо за отзыв. :)

Она бесплатная?

@melkozaur, система распространяется по лицензии GPL v3. Flexo CMS можно считать бесплатной для разработки коммерческих проектов на базе этой системы.

Например, что такое «Добавить часть страницы» и «Добавить поле». Что означают статусы «черновик», «просмотрена» и «скрыта»?

«Часть страницы» — это дополнительный контент. По умолчанию если использовать <?php echo $this->content(); ?> будет выводиться содержимое части body, тогда если, например, корневой странице добавить часть sidebar, а в шаблоне прописать <?php echo $this->content('sidebar', true); ?>, то выведется контент части sidebar. Второй параметр true указывает наследовать часть у страниц-родителей, если такой части не было найдено у данной страницы.

Статусы:

  • «Черновик» — страница не будет отображаться на сайте, вместо этого пользователь получит 404 ошибку.
  • «Просмотрена» — дополнительный статус, страница отображается на сайте. Необходим для внутреннего взаимодействия между редактором и администратором.
  • «Скрыта» — страница не отображается в меню, в лентах, но доступна по прямой ссылке.
  • «Опубликована» — страница отображается в лентах, в меню, доступна по прямой ссылке.
Dinozavr:
в данном случае, может быть. вот представте себе: вам пригодился бы какой-то сервис, но ни времени, ни желания, ни (может быть) знаний нет.

мне. я просто не вижу вариантов владет чем-то совместно, не общаясь в реале.

jmas, кому интересна оценка от совершенно неизвестного сайта? да и сомневаюсь я, что можно оценить дизайн программно

повторюсь: для меня сейчас главное не возможный профит, а интерес

Я не про программную оценку, я про оценку пользовательскими рейтингами. Судя по бизнес-линчу Лебедева — дизайнеров интересует оценка их работ.

Ну вообщем идея как идея, если вам не по духу, то что ж. Мое дело предложить. ;)

Напишите небольшой сервис по оценке сайтов. Вот я начинал http://dzz.up.dn.ua/ , но так и не закончил: как то времени все не было. Продумать систему рейтинга и комментирование каждого макета, как у Лебедева. В принципе даже могу подсказать как что делается. ;)

MALOY:
экспорт в каком-то виде поддерживается?

Экспорт/импорт будет поддерживаться в виде плагина, но пока нет.

В каком именно виде желаете, чтобы поддерживался экспорт? Просто создание бэкапов или какой ни будь специфический XML-формат?

jmas добавил 30.07.2011 в 10:35

Забыл добавить, что при помощи стандартных страниц и шаблонов можно имитировать такие файлы, как robots.txt, sitemap.xml (выгружать полностью автоматическую карту сайта), rss.xml (можно создать rss-потоки для любого раздела).

На примере карты сайта:

  • Создаем шаблон sitemap.xml (через точку пишем расширение xml, значит автоматически будет подставлен header('Content-type: application/xml'));
  • Создаем новую страницу с названием sitemap.xml (заголовок играет роль названия файла)
  • Пишем следующий код в теле шаблона:

<?php


if(!function_exists('snippet_sitemap'))
{

function snippet_xml_sitemap($parent)
{
$out = '';
$childs = $parent->children();
if (count($childs) > 0)
{
foreach ($childs as $child)
{
$out .= " <url>\n";
$out .= " <loc>".$child->url()."</loc>\n";
$out .= " <lastmod>".$child->date('%Y-%m-%d', 'updated')."</lastmod>\n";
$out .= " <changefreq>".($child->hasContent('changefreq') ? $child->content('changefreq'): 'weekly')."</changefreq>\n";
$out .= " </url>\n";
$out .= snippet_xml_sitemap($child);
}
}
return $out;
}

}

?>
<?php echo '<?'; ?>xml version="1.0" encoding="UTF-8" <?php echo '?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php echo snippet_xml_sitemap($this->find('/')); ?>
</urlset>
Prividenie:
jmas - а в каталог на сайте она нормально устанавливается?
установил в http://localhost/flex/
установилось, таблицы в б/д создались, но переход в админку и отображение сайта отсутствую.
установил на все файлы/каталоги (вложенные тоже) права 777 - и тоже ничего...

Да, нормально, только нужно подредактировать config.php, добавить следующую константу:

define('BASE_URL', 'http://localhost/flex/');
vold57:
Устанавливаю на VDS. flexo - это имя и базы данных и пользователя.

Тогда могут быть другие проблемы:

  • Адрес сервера БД не localhost
  • У пользователя flexo все таки есть пароль, либо пользователь не прикреплен к БД
  • У БД специфический порт, отличный от стандартного 3306

Предлагаю выход из ситуации, создать собственноручно config.php и загрузить следующий dump в базу данных.

Скачать dump: http://dl.dropbox.com/u/16874200/flexo-29.07.2011.sql.gz

Код файла config.php, который должен находится рядом с index.php в корневой директории:


<?php if(!defined('CMS_ROOT')) die;

// Database settings:
define('DB_DSN', 'mysql:dbname=flexo;host=localhost;port=3306');
define('DB_USER', 'flexo');
define('DB_PASS', '');
define('TABLE_PREFIX', 'flexo_');

// Should CMS produce PHP error messages for debugging?
define('DEBUG', true);

define('URL_SUFFIX', '.html');

define('USE_MOD_REWRITE', true);

define('DEFAULT_LOCALE', 'ru');

//setlocale( LC_ALL, 'ru_RU.utf8', 'rus_RUS.utf8', 'Russian_Russia.utf8' );

Попробуйте такой способ, если будет ошибка, то действительно причина в БД, а не в данной версии системы.

UPD: Дико извиняюсь за нелепую ошибку в коде установщика. Замените и используйте обновленный install/index.php. Разархивируйте и положите в папку /install/.

Добавил файл flexo-0.1.1-beta.zip для скачки. Рекомендуется качать эту версию. Ошибка касается установки в БД с паролем, этот момент, увы, не был протестирован.

Спасибо vold57 за обнаруженный баг!

Установка Flexo CMS:

  • Скачиваем, распаковываем архив flexo-X.X.X[-beta].zip
  • Копируем файлы в директорию www или public_html на сервере
  • Удаляем файл config.php, если такой присутствует
  • Создаем новю базу данных MySQL (локально через phpMyAdmin и Денвер: http://localhost/Tools/phpMyAdmin/) и нового пользователя (или используем стандартного root : без_пароля)
  • Заходим по адресу http://yoursite.com/install/
  • Указываем адрес сервера БД, по умолчанию localhost
  • Указываем имя пользователя (обычно root) и пароль пользователя (локально на Денвере у пользователя root нет пароля)
  • Указываем имя новосозданной базы в поле «Имя базы данных»
  • Желательно указать префикс для таблиц «flexo_»
  • Нажимаем «Установить!»

Далее следуем инструкциям, которые появятся после установки.

Если вы устанавливаете систему локально на Денвер, то имя пользователя должно быть «root», а не «flexo», возможно вы просто перепутали его с полем «Имя базы данных».

Попробуйте еще раз!

Какие могут быть ошибки:

  • Can't connect to Database! (Не может подключиться к Базе Данных) — возможно директория защищена от записи или не существует. Проверьте путь еще раз.
  • Database schema file not found! (Файл со схемой БД не найден) — откройте директорию install/ и проверьте наличие schema_sqlite(mysql).sql. Если такого файла нет, извлеките из архива с системой и загрузите повторно (лучше это сделать со всеми файлами системы).
  • Problems with creating Database schema! (Невозможно создать схему БД) — в случае с MySQL, это может означать, что БД защищена от CREATE TABLE, либо файл schema_sqlite(mysql).sql битый.
  • Database dump file not found! (Файл с дампом БД не найден) — откройте директорию install/, проверьте наличие dump.sql. Если файл отсутствует, найдите в архиве соответствующий и положите в директорию.
  • Problems with importing Database dump! (Проблемы с импортированием дампа) — БД (в случае с MySQL) защищена от INSERT. Возможно файл install/dump.sql битый.
  • Can't write config.php file! (Не могу записать в файл config.php) — для корневой директории установить права на создание файлов. После установки их убрать.
Всего: 133