Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы #__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

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

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 4644 Просмотров
*

Nex

  • Новичок
  • 4
  • 0 / 0
Очень хотелось бы, чтоб для владельцев комментируемой записи(автор статьи, владелец записи SOBI2) была возможность модерации комментариев к их собственным записям.

Сейчас получается "все или ничего" - либо автор находится в группе модераторов, и модерирует все комментарии на сайте - к своим, и чужим записям, или не может ничего.

Использую JComments 2.2
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Да, есть такое в планах, и возможно скоро реализую...
*

Nex

  • Новичок
  • 4
  • 0 / 0
Очень рад это слышать :)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Так, спешу обрадовать, что данный функционал уже реализован и начато его тестирование. Так что эта функция будет доступна уже в следующей версии JComments.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Так, спешу обрадовать, что данный функционал уже реализован и начато его тестирование. Так что эта функция будет доступна уже в следующей версии JComments.

Многоуважаемый smart, когда планируется следующая версия?
« Последнее редактирование: 19.11.2010, 08:14:31 от SDKiller »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вообще планировалась в октябре, но у меня был вынужденный перерыв в работе и оно несколько затормозилось. Я уже писал на форуме, что в ближайшее время собираюсь сделать ревизию кода текущей версии, и как-то более-менее реалистично оценить сроки выпуска новой версии. Там по имеющемуся функционалу вроде проблем уже никаких нет, но мне необходимо еще немного потестировать с последними билдами Joomla 1.6, ибо планируется совместимость с этой версией.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
данный функционал уже реализован

Жаль, что не вошёл в 2.2.0.2
Ладно, в ожидании оф.версии придётся второпях воткнуть чего-нибудь корявое своё (((
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Жаль, что не вошёл в 2.2.0.2
ну это же был обычный баг-фикс, а не полноценный релиз, поэтому и не включено

Ладно, в ожидании оф.версии придётся второпях воткнуть чего-нибудь корявое своё (((
а очень нужно? пары недель не терпит?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Пару недель терпит

К новой версии бы ещё кнопочки "В начало" и "В конец" (а то когда по 100 страниц комментов, юзеров напрягает листать стрелочкой, а по 50-100 комментов на странице делать - тоже не фонтан) и возможность через Custom BBCode определять цвет и размер шрифта.
А то я сделал переопределение вида
Код
<span style="color: #00FFFF; font-size: 14px;">{SIMPLETEXT}</span>
, опубликовал в настройках, span-ы подцепились, а цвет и размер - нет
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
и возможность через Custom BBCode определять цвет и размер шрифта
ну это давно можно, посмотрите, на JoomlaTune.com/forum я приводил примеры, никто вроде не жаловался
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Цитировать
Очень хотелось бы, чтоб для владельцев комментируемой записи... была возможность модерации комментариев к их собственным записям.

Сейчас получается "все или ничего" - либо автор находится в группе модераторов, и модерирует все комментарии на сайте - к своим, и чужим записям, или не может ничего.



Так, спешу обрадовать, что данный функционал уже реализован и начато его тестирование. Так что эта функция будет доступна уже в следующей версии JComments.


Корявое, но несложное решение, поскольку уже не мог ждать выхода новой версии, но не хотел очень сильно портить хороший компонент  ;D
Единственный плюс - делается на уровне редактирования шаблона

Делал для интеграции с самописным компонентом, в качестве object_owner у нас id владельца, привязка объекта прописана стандартно в плагине
интеграции через функцию getObjectOwner

Требовалось добавить права редактировать и удалять конкретно для группы Registered, для которых в админке во вкладке "Права" закрыты "Функции администрирования".
Можно либо:
а) напрямую через phpMyAdmin в таблице jos_jcomments_settings добавить соответствующую группу в can_edit и can_delete (недостаток - в дальнейшем при сохранении из админки любых настроек ваши изменения в таблице пропадут);
б) в admin.jcomments.html.php закомментировать disabled для сответствующих чекбоксов;
в) найти, откуда тянется коварный -1 (лень искать  ;D).


tpl_comment.php - в функцию getCommentAdministratorPanel добавляем

Код
$object_owner = JCommentsObjectHelper::getOwner($this->getVar('comment-object_id'), $this->getVar('comment-object_group'));

и далее модифицируем строчку
Код
if ($this->getVar('button-edit') == 1) {

следующим образом

Код
if (($this->getVar('button-edit') == 1 AND $myid == $object_owner) OR ($this->getVar('button-edit') == 1 AND $myid !== $object_owner AND $myusertype !== 'Registered') {

аналогично для строчки

Код
if ($this->getVar('button-delete') == 1) {

(подразумевается, что мы сначала получили $myid и $myusertype из объекта user)

Итого получаем, что у нас Registered формально имеют права редактирования и удаления любых записей, но соответствующие кнопки будут для них открыты
только в комментах объекта, владельцем которого они являются.
Однако эти кнопки будут открыты для других групп, у которых есть права модерации.

Минусы решения - Registered могут редактировать и удалять в том числе комментарии, написанные администраторами и модераторами.

Но, надеюсь, что полноценный ACL на эту тему мы получим в новой версии в исполнении многоуважаемого разработчика компонента ;D.



« Последнее редактирование: 22.12.2010, 01:10:24 от smart »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
jcomments.class.php - в функцию getTemplate добавляем
а зачем, можно и не добавлять - используется в вашем решении она все равно только в шаблоне, вот там ее и получить.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
а зачем, можно и не добавлять - используется в вашем решении она все равно только в шаблоне, вот там ее и получить.

Логично. Можно jcomments.class.php не трогать, а вместо

Код
$object_owner = (int) $this->getVar('comment-object_owner', '');

в tpl_comment.php вставлять

Код
$object_owner = JCommentsObjectHelper::getOwner($this->getVar('comment-object_id'), $this->getVar('comment-object_group'));


« Последнее редактирование: 22.12.2010, 00:01:36 от SDKiller »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Логично. Можно jcomments.class.php не трогать
я поправил ваше предыдущее сообщение, с учетом этой правки.

p.s. Работа над новой версией JComments сейчас в самом разгаре. За прошлую ночь я "допилил" конвертер языковых файлов, и добился совместимости с Joomla 1.6. На текущий момент компонент устанавливается и работает на Joomla 1.6. Есть пока не совсем понятная проблема с языками при удалении (на момент вывода диалога удаления уже нет языковых файлов, J! их почистила), и, потенциально, есть еще немного багов. Сегодня в течении дня ребята фактически непрерывно тестировали, а я по мере сил исправлял обнаруженные баги. Думаю, что где-то к концу недели появится нечто, что будет показать чуть более широкому кругу тестеров.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Прошу включить меня в число тестеров
J 1.5.22
*

BDSM

  • Новичок
  • 5
  • 0 / 0
Тоже очень нуждаюсь в подобном функционале. Хоть приблизительно, когда ждать то?

И еще хотелось бы чтоб уведомления о новых комментах отправлялись только автору статьи, а не всей группе модераторов.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Тоже очень нуждаюсь в подобном функционале. Хоть приблизительно, когда ждать то?
Точных дат назвать пока не могу, но по ощущениям - скоро

И еще хотелось бы чтоб уведомления о новых комментах отправлялись только автору статьи, а не всей группе модераторов.
это и так реализуемо, посредством специального плагина "JComments - AutoSubscribe", я его на форуме публиковал, поищите, должна быть тема.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Комментарий к записи...

Автор ONIKS

Ответов: 5
Просмотров: 3324
Последний ответ 06.08.2010, 16:57:32
от ONIKS