Fi1osof 21 августа 2014 0 29
Для начала немного истории сайта нашего Клуба... В январе прошлого года я на скорую руку на базе модуля 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 мы планируем реализовать видео-конференции :) Прям на сайте можно будет создавать многопользовательские видео-конференции, со всеми необходимыми политиками безопасности и т.п. Все необходимые наработки у нас уже есть. В первую очередь это появится на сайте Клуба :)

Всем хорошего дня!
29 комментариев
gsnx1
gsnx 21 августа 2014г в 10:00 #
Отлично! Радует что есть реальный прогресс в деле Сообщества MODX клуба! Спасибо за сообщение данное, будем вновь чаще сюда заглядывать/читать/рассуждать/делать !!!)))
Fi1osof1
Fi1osof 21 августа 2014г в 16:48 #
Сегодня прикручу уведомления о новых комментариях, чтобы общение было еще более оперативным. Повеселее будет :)
M
MisterN 21 августа 2014г в 11:56 #
Моя сделать тестовый коммент, чтобы видеть, что все работает и радоваться ентому факту.
Когда написал что-нибудь и проголосовал - текст пропадает. Ну, это так, на всякий. Потом сделаете аджаксом.
Fi1osof1
Fi1osof 21 августа 2014г в 16:50 #
Написал и пропадает текст - это комментарий написал? Можно чуть подробней о том, что делал и что произошло? Так как сейчас комментарии аджаксовые и худо-бедно с сервера приходит HTML с опубликованным комментом и он сразу подставляется в документ (правда без кнопки Ответить, но она и не нужна автору комментария).
M
MisterN 21 августа 2014г в 17:58 #
Написал комментарий -> не жмякая "опубликовать комментарий", нажал лайк темы (палец вверх который, там где Fi1osof
2014-08-21
14
4 ) - текст пропал.
M
MisterN 21 августа 2014г в 17:59 #
Быстрофикс. Все-таки редактирование нужно. Да и предпросмотр не помешает
Написал комментарий -> не жмякая "опубликовать комментарий", нажал лайк темы (палец вверх который, там где Fi1osof 2014-08-21 14 4 ) - текст пропал.
Fi1osof1
Fi1osof 21 августа 2014г в 18:12 #
Все будет. И редактирование, и удаление, и предпросмотр. Но чуть позже. Качественный фронт - это не я, а Сергей Прохоров. Вот вернется на следующей неделе и займется.
А сегодня я сделаю емейл-уведомления различные :)
Fi1osof1
Fi1osof 21 августа 2014г в 18:13 #
А сегодня я сделаю емейл-уведомления различные :)

А то ни уведомления о новых комментах/ответах, ни о новых топиках, ничего. Надо поправлять.
C
Codenator 21 августа 2014г в 18:28 #
Согласен ато много время так теряешь проверять всё
Fi1osof1
Fi1osof 21 августа 2014г в 18:43 #
Да нет, если зашел, то не долго - справа есть лента, да и страница всех комментариев есть. http://modxclub.ru/comments/
Но каждый раз заходить чтобы просто проверить писал кто-то что-то или нет - лениво.
Fi1osof1
Fi1osof 21 августа 2014г в 18:10 #
Ааа, понял. Да, после голосования страница обновляется. Да, эти неприятные мелочи обязательно будут поправлены.
v
vasia123 21 августа 2014г в 13:47 #
Рад что уведомили на почту, но зачем же это делать 40(!) раз?
Fi1osof1
Fi1osof 21 августа 2014г в 16:51 #
Извини за спам :(
Отписался по этому поводу здесь.
v
vasia123 21 августа 2014г в 13:50 #
Рад что уведомили на почту, но зачем же это делать 40(!) раз?
v
vasia123 21 августа 2014г в 13:54 #
И при отправке комментариев как видите есть глюки...
v
vasia123 21 августа 2014г в 13:56 #
Не надо так делать - https://yadi.sk/i/LVOdadZxaABqQ у меня по умолчанию алерты режутся, поэтому все дальнейшее выполнение кода прерывается, и отредактировать комменты нельзя, так что извините за множество разных.
Fi1osof1
Fi1osof 21 августа 2014г в 16:54 #
Спасибо за фидбэк! Да, скоро уведомления будут переделаны на нормальные. Просто я по фронту практически не работаю вообще, и вставил пока обычные алерты, а Сергей уехал отдыхать :) Вот вернется и приведет фронт в порядок.
C
Codenator 21 августа 2014г в 16:46 #
Привет тестирую вас :)
Fi1osof1
Fi1osof 21 августа 2014г в 16:54 #
Привет :)
C
Codenator 21 августа 2014г в 16:52 #
Редактировать не работает но в целом уже неплохо!
C
Codenator 21 августа 2014г в 17:21 #
Письмо об активации в спам пришло
Fi1osof1
Fi1osof 21 августа 2014г в 17:55 #
Странно... Видимо гугль обиделся на нас сегодня за утрешнюю выходку :) А так вроде должно быть все ОК. И домен не новый, и rDNS прописан. Странно.
C
Codenator 21 августа 2014г в 18:04 #
Ну да страанно Subjekt прописан откуда тоже написано всё гуд. Я от логина сколько делал тест регистрации ниразу в спам не залетало
Fi1osof1
Fi1osof 21 августа 2014г в 18:09 #
Все когда-нибудь в первый раз. Вполне возможно из-за сегодняшней массовой спам-рассылки гугл начал нас немного фильтровать. Со временем все восстановится.
Pathologic1
Pathologic 24 августа 2014г в 18:45 #
Мне кажется, что последние комментарии в правом верхнем блоке было бы лучше выводить с группировкой по публикации, как в ливстрит. Ну и ссылкой на комментарий сделать текст (как в блоке последних публикаций), а не решетку (:
Fi1osof1
Fi1osof 24 августа 2014г в 21:25 #
Да, подкинули мне задачку на часик... Проблема 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,
));
}
}


Сейчас выборка последних комментов по одному на диалоговую ветку. А вот верстка будет позже подправлена.
Pathologic1
Pathologic 24 августа 2014г в 22:48 #
Для полноты решения нужно еще добавить название топика, но это в общем-то мелочь.
Интересно другое - если усложнить задачу, например, не 1 последний комментарий на публикацию, а 5. Тогда только xPDO->exec()?
Pathologic1
Pathologic 24 августа 2014г в 22:54 #
С xPDO->exec() я ошибся, для выборки он не подойдет.
Fi1osof1
Fi1osof 24 августа 2014г в 23:20 #
Не важно xPDO:exec() или что другое. Главное - это SQL правильный. Здесь сам принцип усложняется. Придется делать перебор всех последних веток и в цикле выдергивать по максимум 5 комментариев. Овчинка вообще не стоит выделки.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.