Pull to refresh

Comments 137

P.S.: К сожалению у меня нет сервера, на котором можно было бы запустить CMS, а демо-сайтов добровольцев не осталось. Если у кого-нибудь есть возможность сделать демо-сайт, буду признателен.


explay.gengine-dev.net/
а, понял, валидатор — это не показатель качества кода…
хотелось бы услышать от тех кто нажал минус «с каких пор пренебрегают заповедями консорциума w3c»

слышал чтоб «давайте дружно будем класть на IE6», а на валидатор с каких пор? как-то не заметил когда это мимо меня прошло…
ну ладно вам, человек в одиночку и жнец и дудец, а как сказал, он чье имя нельзя говорить в слух «лучший валидатор это браузер»
А вы некогда не смотрели на технологическую часть его проектов ;)
Человеку свойственно заблуждаться :)

Хотя для yandex они делают согласно спецификациям w3c :)
Лицемерит :)

Показатель отношения к проектам :)

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

Это простое «уважение» к конечным пользователям. Ведь мы пишем не для себя ;)

Давайте как-то «не забывать» про w3c :)
UFO just landed and posted this here
> Теперь для того, чтобы «обучить» движок новому формату, достаточно описать его в неком классе и добавить одну строчку в index.php.

Имхо, некошерно. Лучше бы автоматом подхваывать класс по имени при вызове и материться, если его нет или же прописывать доступные форматы в конфигурации.
если быть точнее, то мой комментарий вот к этому куску
> и добавить одну строчку в index.php.
Классы и так подхватываются __autoload'ом, но мне кажется логично где-либо указать названия нескольких, которые классы используются для схожих целей. Это как setErrorHandler :)
Не совсем понял. Смотрите, я имею в виду что-то типа:

$format_name = 'news';

$format = new Format($format_name');

по имени формата класс берёт нужный класс формата из папки классов форматов, его темплейт и так далее и генерирует объект.

Затем к методам и свойствам формата мы имеем доступ через

$format->news->get_template();
$format->news->compile();

и так далее.

или $format->get_template();

тут уже в зависимости от условий окружающей среды :)
Так и делается, только в index.php указываются связи, типа: xml => XMLTranslator — формат и его обработчик.
А просто домашняя страница может быть на это ЦМС?
чо сразу минусуете, может, у парня фан-клуб ;)
Чтобы всем портреты нарисовать?
Хм, всё это очень интересно, но раз нет демосайта, сразу просятся несколько вопросов, они про то, что наболело, и нехватает в «Идеальной CMS»:

>что в системе использован принцип ORM
Использовали существущий или писали свой велосипед?

>Настраиваемые поля
Кастомфилды. Есть визуальный редактор для них?

>Форматы
Мы называем это Channel. Может ли контент-редактор вашей CMS создавать свои форматы. Наприме, если он хочет рендерить страницу со стилями для печати, или как какой-нибудь хитрый CSV?

>По умолчанию в Explay CMS используются XSLT-шаблоны
Не страшно? Мало кто любит XSLT, (кроме таких маньяков как я) люди любят простые Replace-шаблоны.
Кстати, как там у вас с кешированием отрендеренных страниц?
Мы с коллегами решили, что правильная CMS должна поддерживать много рендер-движков. Но вопрос в том что будет промежуточным форматом между рендерером и аутпутом модуля…

>Как на счёт трудоёмкости разработки модулей?
Мы стремимся к тому, чтобы интерфейс модуля был как можно прост: одна функция Render() + служебные классы и функции системы.

>Система обновлений
Миграция базы с одной версии вашей системы на другую возможна одним кликом?

Производительность.
Есть ли хорошие перфоманс тесты в сравнении с решениями на друпале или жумле?
> Использовали существущий или писали свой велосипед?
Велосипед.

> Кастомфилды. Есть визуальный редактор для них?
Сейчас нет, обязательно будет в 3.1.

>>По умолчанию в Explay CMS используются XSLT-шаблоны
Не страшно?
Не страшно.

>По сути Explay CMS повторяет функционал Хабрахабра
А система инвайтов планируется? )
>>Привет,....! Вы оставили свои данные для регистрации на сайте http://explay.gengine-dev.net
>>Чтобы завершить регистрацию Вам необходимо подтвердить свой e-mail, перейдя по следующей ссылке:
>>http://explay.gengine-dev.net/users/confirm/…

так выглядят ссылки в письме при регистрации

и полное фиаско — голосование за статью через get-запрос, то есть я размещаю ссылку вида explay.net/blogs/ajax_vote_post/10/1/1 в у себя на сайте и все залогиненные пользователи автоматом отдают мне плюс за топик

PS: я знаком с вашей системой 5 минут, но уже вижу что она не просто сырая, а ужасно сырая. У вас в профиле 1991 год рождения, это дает вам некоторую скидку, но в целом продукт не имеет права даже иметь индекс 1.0 (не говоря о 3 версии) так как ему до стайбл версии как мне до бентли. Точно также как и рано ее постить на хабре.
* у себя на сайте в виде <1mg src=«explay.net/blogs/ajax_vote_post/10/1/1» / > — хабр съел тег
Вижу, что Вам не понравилась моя CMS. Но, простите, что Вам не понравилось с get-запросами на голосование?
А давайте еще пользователей удалять через GET? Думаю, многим не понравится…
На педивикии пишут о такой загадочной штуке, как CSRF. Почитайте, полезно =)
Разъясню насчет GET-запросов. Если передачу параметров сделать через POST, от этого ничего не изменится. Тем более на стороне сервера все-равно проверяется авторизован пользователь или нет, ну и другие параметры соответственно. Разницы между тем, где будет ссылка на голосование абсолютно никакой: если пользователь зарегистрирован — голос учтется, если не зарегистрирован или он уже голосовал или он автор материала — голос не учитывается. Накрутка таким образом слабая получится. Если я чего-то не понимаю, объясните, пожалуйста.
Если я чего-то не понимаю, объясните, пожалуйста.

Вам указали на недочет в вашем движке — на возможность накрутки рейтинга. Это вообще-то плохо, и желательно это исправить;-)
и ссылки — парсер хабра — диверсант :)
в общем ссылки в письмепришли в виде http:// http:// explay.gengine-dev.net, исправьте
я ставлю у себя на блоге картинку вида < 1mg src=«ваш урл к аяксу» />
Что произойдет если пользователь залогинен у вас на сайте, но зашел на мой блог?

ps: не то чтоб не понравилась, она сырая — вы сегодня поставите сайт, вечером его угробят. не обижайтесь, считайте меня бесплатным тестером(правда поверхностным — но все же) и не надо гадить мне в профиль :)
Ведь можно и пост-запрос сформировать с внешнего сайта.
почему нет? Если со своего, то вставил в код и дёргай curl'ом при каждом вызове страницы. конечно не так просто как в случае с гет-запросом. С чужого можно (если дырявый) поставить iframe и дёргать свою страницу, на которой уже curl'ом или просто через сокеты будет дёргаться страница с рейтингом.

В прицнипе, придумать можно. Ломать — не строить :)
хотя ниже есть объяснения, в прицнипе, тоже вариант :)
POST тоже не панацея. Полезно передавать и проверять ещё какую-нибудь информацию, уникальную для текущей авторизации пользователя — часть хэша cookie, например.
на хабре должна быть информация, не может быть чтоб об этом не писали, пост сформировать можно, но браузер его не отправит на другой домен из соображений безопасности.

Поэтому передача дополнительной информации- это надуманная проблема, если идет модификация данных — просто используйте post, если получение — можно и get.
а кто сказал что только браузером мона заголовки отправлять? :)
если идет модификация данных — просто используйте post, если получение — можно и get
Об этом ещё w3c что-то говорила :)

Зачем обязательно браўзер? Можно и серверными скриптами POST отправлять.
если вы будете серверными скриптами пост отправлять, у вас не будет кукисов авторизации пользователя от которого нужно инициировать запрос, так что к чему вы это вспомнили и как хотите применить не очень понятно.
А что мешает передать все необходимые заголовки?
что вы несете, причем здесь это? вы сможете от моего имени запостить коммент на хабр?

толку от того что вы можете инициализировать post запрос «не через браузер»? знаний как пользоваться курлом или сокетами на php недостаточно, нужна информация для идентификации (ключа куков). А в вашей системе имеется дырка, которая позволяет без подделки авторизации просто заставлять пользователя инициализировать нужный запрос от его имени. Куда уж подробнее…
Прошу прощения, не подумал об этом, да.
Эм, post-запросы не через браузер не сложно отправлять :)
Упс, пардон за повтор. :(
Ну может там реферер проверяется (в код я не смотрел) и ваша картинка ничего не даст.
не проверяется, во всяком случае не проверялся когда я это пробовал с чистого запроса в браузер. Ну да ладно, главное автору донесли суть проблемы и в explay 4.0, уверен, будет все ок.
та же проблема, что и в beta:
Fatal error: Call to undefined function mb_internal_encoding() in .../index.php on line 22

в итоге не могу протестировать Web Optimizer под Explay
написано же в требованиях
Вероятно нужно включить расширение PHP mbstring. Это для работы с utf8.
я прекрасно понимаю, что нужно включить. Но хотелось бы более широкой поддержки.

Не пересобирать же все тестовое окружение из-за «еще одной» социалки? Почему-то ни Joomla!, ни Drupal такого не потребовали
Дак они же не поддерживают UTF8!
php5 не поддерживает работу с utf из коробки!
в статье написано что нужно mbstrings так в чём проблема то?
если у вас в инструкции к автомобилю написано, что нужно лить бензин, дак а нафига вы льёте воду? =))

зы: utf наше всё
iconv наше все, и практически везде
и что с иконвом делать? в какую кодировку конвертировать utf-8 перед использованием, к примеру, функции поиска позиции подстроки в строке? (mb_strpos)
«если ничего не получается — прочтите, наконец, инструкцию» (закон мерфи) ПЕРЕД тем как ставить свой мелкописечный минусик

ru2.php.net/manual/en/function.iconv-strrpos.php
ru2.php.net/iconv
с mb_strtolower такую же магию провернёте? :-)
ну если религия не позволяет переводить все в конкретную кодировку вроде cp1251, то можно перевести в кодировку UCS-4BE и воспользоваться схемой регистров символов в исходниках mb_string. в файле unicode_data.h есть структура _uccase_map, которую можно практически целиком скопировать прямо в пхп (только {} заменить на array()).

разумеется, все это нужно только если а) требуется создать по-настоящему многоязычное приложения для рынков азии (а такую задачу вряд ли перед собой ставит автор Explay на данный прямо момент) и б) если extension_loaded(«mbstring») == false (впрочем опять же, умение делать программы, подстраивающиеся под любое окружение — это то еще дао, этим мало кто в 18 лет владеет)
а религия не позволит в принципе перевести всё в конкретную кодировку. потому как в строке могут быть символы из разных национальных кодировок.
но как полумера ваше решение, конечно же, принять можно.
И вдогонку, ru2.php.net/manual/ru/iconv.installation.php:
Этот модуль является частью PHP начиная с версии 5, так что библиотеки iconv.dll и php_iconv.dll более не нужны.
Серьезный проект поднимать на ней пока не стоит или можно?
Знаком по опыту с большим колличеством подобных CMS, но Explay мне нравится больше. Функционал проекта пока не дотягивает до релиза, но на эту CMS я возлагаю большие надежды. Спасибо за хороший продукт.

P.S: Рад, что ее разрабатывает человек из города Санкт-Петербург! ;)
если не тяжело, перечислите с чем вы знакомы, и что не хватает тем CMS, но есть тут. Премного благодарен
Настраиваемые поля — это только скалярные значения или можно ещё делать связи с другими объектами?
Да, можно «подсасывать» свойства других объектов, это учтено.
Это как подсасывать? Это совсем нечто непохожее на установку связи?
На подобие базы данных: устанавливается связь между двумя типами объектов, а на выходе объекты этих типов могут иметь свойства другого типа.
Извини, я недопонимаю, зачем мне свойства другого типа, если я указываю конкретный тип для свойства (устанавливаю связь между конкретными типами объектов)?
Понял Вас :) Это я про «можно ещё делать связи с другими объектами», а для новых полей можно и скалярные значения задавать, естественно.
Вы меня вынудили скачать explay и посмотреть самому)))
А где это всё настраивается? В админки вижу только какой-то реестр, обновление и управление статическими страницами. Я всё же рассчитывал на большее((
К сожалению, это пока нигде не настраивается (если Вы, конечно, не полезете прямо в БД). Настройка полей обязательно будет, но в 3.1.
Вопиющая несправедливость — в настройках профиля нет поля для для указания Gtalk (jabber)
Или все-таки можно в админке добавить? (установить потестить пока нет возможности)
вы из сопротивления против захватчиков-icqистов?
в свете не столь давних событий, захватчики то как-раз жабберисты :)
собсно я от ICQ давно отказался в пользу более продвинутого жаббера и хочу указывать этот контакт в профиле, а почему-то во многих социалках такого поля не предусмотрено :(
так сделает наверное. да даже самому это поле добавить 2 минуты. это же преальфа, как я думаю.
один факт, что я думаю уже о многом говорит.

извините, не смог не подъебать себя.
BigSteet — (большой функционал, но большая нагрузка на сервер и был продан новым разработчикам)
LiveStreet — (пока «золотая середина», но уже очень не туда двигается в разработке)
Explay — очень молодой, но амбициозный проект, который вобрал в себя все новое и лучшее (даже mysql для нее 5 версия нужен)

Все эти CMS имеют свои преимущества и недостатки, все зависит от задачи. Это лично мое мнение, но путь по которому идет Explay мне нравится больше.
а что Вам не нравится в разработке LiveStreet? из всех перечисленных проектов — самый развивающийся :)
Это трудно сказать, чем именно не нравится. Все в мелочах, но вместе появляется это чувство. ЛС — пока самое правильное решения для запуска проекта, но будущее за explay)
эй, lauri, перелогинься.
самый обсуждаемый, но не самый развивающийся.
в развитии он встал — новые шаблоны и модули не способствуют этому.
explay имеет больше возможностей для роста.
UFO just landed and posted this here
возможно, что мало сделано. но при этом есть возможность двигаться вперед по своему пути, а не копировать функции Хабры.
интересно, а в чем состоит развитие проекта как набора модулей? Или новый релиз будет состоять из старого ядра + дополнитьных модулей? и так при каждом релизе? тогда вообще можно сказать, что проект умирает.
UFO just landed and posted this here
UFO just landed and posted this here
опять вода без фактов :) уж простите
странно, но не согласен ни с одним утверждением :) вода без фактов
Форматы — это концептуальная идея


Поздравляю, вы изобрели REST!
а как у вас удалить созданные блоги? А то я что-то не нахожу.
Интересно как администрация Хабры на это все смотрит. Может с улыбкой? :)
Ой, ой, что-то не то сказанул, вы уж извините. Но картинка-комментарий — супер. :)
Хотя что тут фальшивить, мне действительно интересны мысли основателей Хабра.
Что не говори, но с помощью Эксплея и ему подобных, можно создать собственные тематические социальные блоги — это доступно каждому. Бери и делай.
И как бы высоко не поднимали нос основатели, углубившись в сегмент новая сеть забирает у них кусочек пирога, небольшой, но это всегда неприятно.
С другой стороны, я могу только представить ту радость и удовольствие, которое получали создатели Хабра при мысли о новой фишке, при новой идеи и ее воплощении.
А тут — кусают, смотрят, копирует. Уныло.

Только прибыль радует, только она родная :)

В общем, я так понимаю минусы скорей всего за то, что анонсирована система была уже давно и умников таких как я находилось не мало :)
сообщество(а не функционал) не подлежит копированию, хабре это далеко фиолетово
Интересно было бы почитать где-нибудь сравнение с LiveStreet.
А на сколько отличается формат базы от самых первых версий? есть ли возможность миграции?
Отличается довольно сильно. Чуть позже напишу «переводчика».
Я почитал все комменты. Уж простите, может я, конечно, очень мнительный. Но автор поста помоему зарегистрировал множество акаунтов на хабре и комментирует сам себя :)
пипец знаки препинания расставил :)
у меня возникают подобные ощущения при прочтении каждого второго поста в блогах рунета
— XSLT
— Multibyte String
— Zlib
я думаю, что эти требования можно было бы обойти или хотя бы заменить своими функциями. Не на каждом хостинге стоит даже mb, но я уверен, что используется в основном mb_convert_encoding для перевода win1251 <-> utf8. Можно было бы сделать нечто вроде
if (!function_exist(«mb_convert_encoding»)) {
function mb_convert_encoding ($data, $charset1, $charset2) {
// тут идет изврат для перевода
}
}
При установке способом 1 получаю
Файл explay/DBConfig.php не найден! Возможно, это связано с повреждением или неправильным zip-архивом install.zip.
М, кажется ошибка хостинга и суб-домена. Не дает писать в под-папки почему-то.
Установил вторым методом.
Проблема с картинками, аватарами. Не загружаются. Права на каталог avatars 777
поставил везде семерки, заработало. думаю стоит сделать заливку изображений или вставку альбомов целиком при создании постов
Возможность накручивать рейтинг постов — это атас, но по-настоящему я удивился, когда в процессе копипэйста нужных ссылок и проверки, туда ли они ведут, я обнаружил, что натурально так только что сам себе повысил карму!
Обалденная cms explay! Рекомендую всем!
Глядел ее еще в версии 2.1. Сырая была. Скидку на 17-18-летие автора сделал и забыл. Судя по комментам, на 3.0 смотреть смысла мало.

Повторяю свое пожелание автору — нефиг гоняться за мегафичами. Сделай стабильный релиз. И от него уже пляши.

З.Ы. Думаю к версии 7.0-9.0 что-нибудь серьезное и образуется(автор подрастет). А пока диагноз тотже: для возраста автора — зачот. Но еще нужно много работать(желательно мозгом раньше, чем клавиатурой :) ).
blogs.tuningster.ru — можно поглядеть в действии тут
Хм. на странице установки опять проблемы с кодировкой. (localhost)

Content-Type: text/html; charset=windows-1251
При этом:
/>

Советую сделать принудительную отправку Content-Type в HTTP — заголовке дабы не было подобных неопределённостей.
***
При этом:
<meta http-equiv=«Content-Type» content=«text/html; charset=utf-8»>
(парсер подвёл)
Господа посоветуйте относительно дешевый хостинг на который мона поставить сие чудо. Мерси
я использую moinet.ru, доволен полностью. Единственное — нету этих кэшеров, eAccelerator и Memcached, но думаю это не страшно.
спасибо, действительно неплохой хостинг
Ошибка

Неперехваченное исключение:

Ошибка MySQL-запроса: Table 'u179755.explay_regedit' doesn't exist SELECT `id`, `parent`, `name` FROM `explay_regedit`

:(
← вперед назад →

какая то подозрительная навигация :)
Интересно посмотреть что будет с такими продуктами после Goggle Wave.
А что, Google Wave как-то существенно посягает на многопользовательские социальные сети?
В переспективе думаю да. Все стремится к минимуму энергии. Если у меня уже есть зона коммуникаций на основе почты или других id (мессенджера), то мне проще их аггрегировать в одном месте.
я так понял что не стоит с ней заморачиваться?
А можно написать функционал, позволяющий осуществить перенос блогов на вордпрессе (к примеру) на вашу cms?
автору респект :)
хочу забацать проект на это CMS но не хватает инфы по созданию модулей…
с полями и выборками уже разобрался, осталось заставить xsl выводить нужную мне инфу ;)
как это побороть?

Ошибка
Неперехваченное исключение:
Не найден профиль прользователя
#0 /var/www/user/data/www/my.domain.tld/index.php(57): ExplaySession::init()
#1 {main}

Поборол чисткой cookie для домена.

PS: такая ошибка возникает когда удаляешь пользователя под которым заходил. Видно в куках он нашол пользователя но в базе его нет.
Sign up to leave a comment.

Articles