Для начала немного истории сайта нашего Клуба... В январе прошлого года я на скорую руку на базе модуля modLivestreet (MODX Revolution + Livestreet) поднял первую версию сайта Клуба. Плюсы модуля: быстро поднимается хабра-подобный блог, можно сразу же приступать к общению на сайте. Минусы модуля: Livestreet все-таки довольно узкопрофильный движок, и даже в связке с MODX-ом особо было не разгуляться с функционалом. Результат: год с лишним сайт почти не развивался. На нем было написано много полезного материала и много комментариев было, но сам он в развитии стоял жестко. Я давно планировал переезд сайта на чистый MODX+modSociety, но все как-то не доходили руки, и времени не было. А тут вдруг 10 дней майских праздников, и появился карман в несколько дней. Вот я решил тогда воспользоваться моментом и переделать сайт на чистый MODX с полным переносом данных из ливстрита. Тогда мы (с Сергеем Прохоровым, Александром Марковым и другими замечательными ребятами) дней за пять полностью переделали сайт с нуля и импортнули туда все имеющиеся блоги, топики, комментарии, все с учетом политик доступов и т.п. (закрытые блоги и прочее). Но регистрацию пользователей мы тогда отключили, так как создание топиков, комментирование и т.п. не было еще реализовано на сайте. То есть процессоры все необходимые на это в общих чертах были, но для публичного использования их надо было докрутить по политикам безопасности, да редакторы текста хоть какие-то прикрутить. Тогда по моим оценкам на это надо было не один десяток человеко-часов потратить. В общем, я тогда решил немного отложить это дела, перенеся общение в нашу группу во вконтакте. А потом думаю "доработаю". Но тут нам упал очень крупный заказ на разработку HR-портала, про который мы еще будем писать очень много, ибо только вот на таких крупных проектах ты реально выходишь на новый уровень. К слову, демо-версия портала доступна здесь: hrcam.ru, советую посмотреть видео на главной, зарегистрироваться и попробовать записать видео о себе с камеры. И да, этот портал так же разрабатывается нами на MODX Revolution :) В общем, три месяца мы фигачили этот портал не покладая рук и не видя света Божьего. Короче говоря, некогда было дописать функционал общения на сайте Клуба :) Но вот мы выкатили альфа-версию, и появилось немного свободного времени, чем я и поторопился воспользоваться... Я скажу так: мы конечно итак очень хорошо стояли по MODX-технологиям, но на этом проекте мы прокачались как никогда! :) Я в ближайшее время напишу массу интересного и познавательного материала (правда по большей степени он все-таки будет рассчитан на уровень знаний выше среднего), а так же планируем значительно переделать и дополнить модули ShopModxBox и modSociety. Новые технологии позволяют значительно сократить код и увеличить скорость разработки, а так же управляемость проектом. Для сравнения скажу, что если в мае я понимал, что на прикручивание общения на нашем сайте надо будет не меньше нескольких десятков человекочасов (учитывая то, что это не сайт-визитка, а сайт сообщества, и здесь совершенно другие требования и к уровню безопасности, и нагрузки и т.д. и т.п.), то сейчас вот я выкатываю первую версию общалки после 13 часов работы в одиночку. Я за вчера и сегодня прикрутил и регистрацию, и активацию, и создание топиков, и комментарии (вместе с редакторами текста). И это при том, что я стараюсь верстки не касаться вообще, и если бы мне кто-то из команды помогал по фронту, то было бы и быстрее, и на фронте качественнее (но ребята пока заняты на других проектах). В общем, сейчас сайт Клуба будет активно развиваться. Есть масса идей, которые хотелось реализовать уже очень давно, но из-за того, что сайт не был на чистом MODX-е сделан, никак не получалось реализовать желаемого. Пока что на сайте можно только писать новые топики и комментарии (без возможности редактирования их и сохранения в черновики), но скоро и это будет доделано. Аа, еще можно голоса отдавать за топики (голоса за комментарии будут чуть позже реализованы). В общем, впереди ожидается много всего интересного! :) P.S. и всех неравнодушных просим поддерживать проект копеечкой :) Чем больше денег будет приходить в виде донейтов, тем больше мы будем времени уделять на развитие наших модулей и написание полезных статей. И еще скажу: как только сайт Клуба будет доведен до стабильной версии (что подразумевает полную переработку и доведение до ума модуля modSociety и индивидуальных процессоров), будет собрана сборка сайта-блога, чтобы можно было как и Livestreet очень быстро поднять сайт-блог для общения на базе MODX Revolution. Данную сборку по традиции планируется распространять бесплатно (как и все остальные наши модули). Но это еще не все :) В новой версии modSociety мы планируем реализовать видео-конференции :) Прям на сайте можно будет создавать многопользовательские видео-конференции, со всеми необходимыми политиками безопасности и т.п. Все необходимые наработки у нас уже есть. В первую очередь это появится на сайте Клуба :) Всем хорошего дня!
Отлично! Радует что есть реальный прогресс в деле Сообщества MODX клуба! Спасибо за сообщение данное, будем вновь чаще сюда заглядывать/читать/рассуждать/делать !!!)))
Моя сделать тестовый коммент, чтобы видеть, что все работает и радоваться ентому факту. Когда написал что-нибудь и проголосовал - текст пропадает. Ну, это так, на всякий. Потом сделаете аджаксом.
Не надо так делать - https://yadi.sk/i/LVOdadZxaABqQ у меня по умолчанию алерты режутся, поэтому все дальнейшее выполнение кода прерывается, и отредактировать комменты нельзя, так что извините за множество разных.
Сегодня прикручу уведомления о новых комментариях, чтобы общение было еще более оперативным. Повеселее будет :)
Написал и пропадает текст - это комментарий написал? Можно чуть подробней о том, что делал и что произошло? Так как сейчас комментарии аджаксовые и худо-бедно с сервера приходит HTML с опубликованным комментом и он сразу подставляется в документ (правда без кнопки Ответить, но она и не нужна автору комментария).
Извини за спам :( Отписался по этому поводу здесь.
Спасибо за фидбэк! Да, скоро уведомления будут переделаны на нормальные. Просто я по фронту практически не работаю вообще, и вставил пока обычные алерты, а Сергей уехал отдыхать :) Вот вернется и приведет фронт в порядок.
Привет :)
Странно... Видимо гугль обиделся на нас сегодня за утрешнюю выходку :) А так вроде должно быть все ОК. И домен не новый, и rDNS прописан. Странно.
Написал комментарий -> не жмякая "опубликовать комментарий", нажал лайк темы (палец вверх который, там где Fi1osof 2014-08-21 14 4 ) - текст пропал.
Быстрофикс. Все-таки редактирование нужно. Да и предпросмотр не помешает Написал комментарий -> не жмякая "опубликовать комментарий", нажал лайк темы (палец вверх который, там где Fi1osof 2014-08-21 14 4 ) - текст пропал.
Ну да страанно Subjekt прописан откуда тоже написано всё гуд. Я от логина сколько делал тест регистрации ниразу в спам не залетало
Все когда-нибудь в первый раз. Вполне возможно из-за сегодняшней массовой спам-рассылки гугл начал нас немного фильтровать. Со временем все восстановится.
Ааа, понял. Да, после голосования страница обновляется. Да, эти неприятные мелочи обязательно будут поправлены.
Все будет. И редактирование, и удаление, и предпросмотр. Но чуть позже. Качественный фронт - это не я, а Сергей Прохоров. Вот вернется на следующей неделе и займется. А сегодня я сделаю емейл-уведомления различные :)
А сегодня я сделаю емейл-уведомления различные :) А то ни уведомления о новых комментах/ответах, ни о новых топиках, ничего. Надо поправлять.
Да нет, если зашел, то не долго - справа есть лента, да и страница всех комментариев есть. http://modxclub.ru/comments/ Но каждый раз заходить чтобы просто проверить писал кто-то что-то или нет - лениво.
Мне кажется, что последние комментарии в правом верхнем блоке было бы лучше выводить с группировкой по публикации, как в ливстрит. Ну и ссылкой на комментарий сделать текст (как в блоке последних публикаций), а не решетку (:
Да, подкинули мне задачку на часик... Проблема MySQL в том, что нельзя выполнить сначала сортировку, а потом группировку. Можно только выполнить группировку, а в ней сортировка уже на воле Ктулху. В итоге приходится лепить подзапрос, в котором сортируешь или выборку максимальных делаешь. А такая задача в одном объекте xPDOQuery нереальна. Вот подзапросик добавил в процессор: // Получаем последние комментарии из этих топиков
if($this->getProperty('one_comment_per_thread')){
$ids = array();
$sub_query = $this->modx->newQuery($this->classKey);
$sub_query->select(array(
"max(id) as id",
"thread_id",
));
$sub_query->groupby('thread_id');
$s = $sub_query->prepare();
$s->execute();
while($row = $s->fetch(PDO::FETCH_ASSOC)){
$ids[] = $row['id'];
}
if($ids){
$query->where(array(
"id:in" => $ids,
));
}
} Сейчас выборка последних комментов по одному на диалоговую ветку. А вот верстка будет позже подправлена.
Для полноты решения нужно еще добавить название топика, но это в общем-то мелочь. Интересно другое - если усложнить задачу, например, не 1 последний комментарий на публикацию, а 5. Тогда только xPDO->exec()?
С xPDO->exec() я ошибся, для выборки он не подойдет.
Не важно xPDO:exec() или что другое. Главное - это SQL правильный. Здесь сам принцип усложняется. Придется делать перебор всех последних веток и в цикле выдергивать по максимум 5 комментариев. Овчинка вообще не стоит выделки.