Новости 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 Гость просматривают эту тему.
  • 43 Ответов
  • 19822 Просмотров
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Написал свой ajax-based элемент изображений для Zoo.
http://narod.ru/disk/16027896000/zoo_eg_image_1.1_UNZIP_OVER_SITE.zip.html

UPD.
----------------------------------------------------------------------------
Обновил элемент до версии 1.1.

Изменение:

    * Изображения нормально работают при размещении сайта на site.com, а также на site.com/subfolder
    * Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
      Тамбнейл: $element->getImageThSrc()
      Само изображение: $element->getImageSrc()
    * Реорганизация внутренней структуры скриптов и стилей


Установка: Как и раньше, скопировать содержимое архива поверх сайта. Файлы версии 1.0 можно удалить, а можно и не трогать. Они не будут использоваться.
----------------------------------------------------------------------------


Фичи:
  • Загрузка изображения прямо из страницы редактирования продукта (ajax)
  • Автоматическая уборка мусора (неприкрепленные, исходные изображения), без cron
  • Ресайз изображения
  • Два режима отображения: тамбнейл и полноразмерное изображение (на странице категории и подробного просмотра)

Содержимое архива надо скопировать на сайт с уже установленным zoo. (Прямо поверх существующего сайта). Появится новая группа элеметов, и там новый элемент.
Буду признателен за отзывы! =)










Joomla 1.5.14
Zoo 1.0.6 Pro

Замечание по политике именования элементов:
У компонента Zoo дела с именами переменных обстоят весьма прискорбно.. Некоторые могут не подойти, причем Вы это узнаете уже потом, фильтрации хорошее-плохое имя при его определении не происходит.
Можно безопасно использовать только "a-z" и "_", без пробелов.


PS.
Да, я знаю, что assets надо было разложить по папочкам, многое оптимизировать, зажать js и т.п.
Но и в текущем состоянии все выглядит довольно пристойно. Уже можно использовать во многих проектах.
« Последнее редактирование: 17.01.2010, 13:54:06 от snowindy »
*

dieman

  • Захожу иногда
  • 136
  • 9 / 0
А куда копировать eg_assets и eg_php?
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Весь архив надо распаковать поверх существующего сайта. Т.е. папки eg_assets и eg_php будут теперь находиться в корне сайта.
*

dieman

  • Захожу иногда
  • 136
  • 9 / 0
Спасибо большое.
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Замечание по политике именования элементов:
У компонента Zoo дела с именами переменных обстоят весьма прискорбно.. Некоторые могут не подойти, причем Вы это узнаете уже потом, фильтрации хорошее-плохое имя при его определении не происходит.
Из замеченного:
  • Не используйте большие буквы в именах элементов
  • Нельзя использовать цифры в именах элементов
Короче, можно только "a-z" и "_".
« Последнее редактирование: 07.12.2009, 22:05:58 от snowindy »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Обновил элемент до версии 1.1.

Изменение:
  • Изображения нормально работают при размещении сайта на site.com, а также на site.com/subfolder
  • Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
    Тамбнейл: $element->getImageThSrc()
    Само изображение: $element->getImageSrc()
  • Реорганизация внутренней структуры скриптов и стилей

Установка: Как и раньше, скопировать содержимое архива поверх сайта. Старые файлы можно удалить, а можно и не трогать. Они не будут использоваться.
*

yondo

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • joomla 1.5
Столкнулся с проблемой следующего характера...
Задача:
вывести в категории изображение с помощью eg_Image 1.1 и в результате клика на изображении вывести его в полном размере с помощью Rokbox плагина.

Решаю:
Код
<?php if (isset($elements['logoimg'])) : ?>	
      <a rel="rokbox[700 700]" title="Title :: Desc" href="<?php echo $elements['logoimg']->render(ZOO_VIEW_ITEM); ?>"><?php echo $elements['logoimg']->render(ZOO_VIEW_CATEGORY); ?></a>
<?php endif; ?>

Результат:
При генерации страницы код выглядит следующим образом
Код
<a src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" image="" href="/<img alt=" title="Title :: Desc" rel="rokbox[700 700]">"><img src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" alt="image"/></a>
при этом показа полного размера картинки не производится

Вопрос: как решить данную ситуацию. если применение плагина rokbox является единственным возможным?
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0

    * Добавлено API для получения ссылки на изображения в шаблоне (минуя $element->render() ):
      Тамбнейл: $element->getImageThSrc()
      Само изображение: $element->getImageSrc()
 
Надо использовать вот это.
*

yondo

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • joomla 1.5
не могу понять как это работает..

Скажите пожалуйста что вставить в ссылку, чтобы открылось полное изображение?

<a rel="rokbox[900 600]" title="<?php echo $item->name; ?> :: " href="ЧТО ВСТАВИТЬ?">
<?php echo $elements['logoimg']->render(ZOO_VIEW_CATEGORY); ?></a>

*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
$element->getImageSrc()
*

yondo

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #10 : 17.01.2010, 13:30:00 »
вставлял..
при генерации выдаёт
<a href="/$element->getImageSrc()" title="title:: " rel="rokbox">
<img src="/images/eg_zoo/eg_image/th_56b4c_logo-desee.jpg" alt="image"/>   </a>
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #11 : 17.01.2010, 13:39:22 »
господи...

естественно, надо это оформить как код php!
<?php echo $elements['logoimg']->getImageSrc(); ?></a>
*

yondo

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #12 : 17.01.2010, 14:02:39 »
оо... дико извиняюсь..
спасибо тебе большое за ответы! с меня плюс!
*

yondo

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • joomla 1.5
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #13 : 22.01.2010, 09:18:11 »
snowindy не подскажете какой параметр изменить чтобы при изменении размера изображение не ухудшалось в качестве? поясню, когда изменяется размер даже на 10 пикселей. на чистом изображении появляются артефакты. как будто изображение сохранилось с качеством 60%.
Заранее спасибо
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #14 : 22.01.2010, 11:12:25 »
хмм.. Пока что эту ситуацию нельзя исправить изменением параметра.
Вы можете заглянуть в функцию smart_resize_image, которая используется на строке 13 eg_php/eg_util.php. И изменить что-то там.

Я эту функцию ресайза взял на каком-то форуме. Поэтому, если вы разберетесь в ней и поймете что и как надо "подкрутить", для должного качества изображения, или предоставите свою функцию с аналогичными действиями, - через день-два я выпущу следующую версию eg_Image, в которой будет тот самый параметр..
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #15 : 06.03.2010, 09:35:33 »
почему-то не работает кнопка закрытия загрузчика изображений... справо внизу крестик. :(
Можно исправить ?

и еще...
при загрузке к оригинальному и уменьшенным изображениям добавляется цифровой префикс (на пример : image.jpg переименовывается в e38b35_image.jpg, rez_e38b35_image.jpg и  th_e38b35_image.jpg )
это нормально ? я имею ввиду e38b35
« Последнее редактирование: 06.03.2010, 10:27:27 от goga63 »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #16 : 06.03.2010, 10:37:24 »
Хм, а какой браузер используете?
Где расположен сайт? (локальный сервер или уже у хостера)
После загрузки сама формочка убирается нормально?

Короче, дайте всю дополнительную инфу, пожалуйста.

Да, префиксы это нормально. Так и должно быть.
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #17 : 06.03.2010, 10:53:29 »
Хм, а какой браузер используете?

точно, проблема в IE с Mozilla  все нормально !
сайт на хостинге agava.
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #18 : 06.03.2010, 10:56:40 »
а какой IE?
*

goga63

  • Осваиваюсь на форуме
  • 41
  • 1 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #19 : 06.03.2010, 11:02:10 »
Internet Explorer 7.0.5730.13
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #20 : 06.03.2010, 11:58:13 »
Ну попользуйтесь пока файрфоксом...
исправлю этот баг в следующей версии)
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #21 : 06.03.2010, 15:32:42 »
Действительно выскакивают артефакты на изображении.. Вот глянь: http://promokurs.ru/videouroki/99-copy/times.html
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #22 : 06.03.2010, 15:54:22 »
хмм...
возможно, эта проблема вызвана встроенным ресайзом.
На большинстве изображений проблем не бывает.
Я встречал артефакты когда использовалась macOS и фотошоп при его создании...

попробуйте предварительно конвертнуть изображение через "save as", если оно чужое. Т.е., пересохранить его в том же или другом формате.. Может быть, это вылечит артефакты.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #23 : 06.03.2010, 16:38:31 »
То что с ресайзом - это факт.. Это была гифка. Может ему не нравится этот формат. Но дело в том, что например для меня этот компонент интересен тем что снимает проблему выбора изображения при добавлении материала пользователем. Поэтому нужно чтобы функция ресайза работала стабильно со всеми популярными форматами, по крайней мере bmp, jpg, gif
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #24 : 06.03.2010, 17:48:33 »
ну если так уж надо gif - можете посмотреть в исходники функции ресайза и заменить ее на работающую с gif. Выше в этой теме я описывал где глядеть.

jpg, png  и bmp кущаются нормально.

На моей практике, gif в вебе почти не используется для настоящих изображений. - только служебные обрезки (кнопки с красивостями, уголки). Посему и Вам не советую особо полагаться на gif, в силу его ограниченности. Лучше тогда на png.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #25 : 06.03.2010, 19:28:23 »
png весят больше) Попробую.. Короче я так понимаю, на каждый итем это еще + 1 запрос к бд! Слушай, может имеет смысл создать эти 2 поля в в zoo_type_ ? Как это сделано стандартно
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #26 : 06.03.2010, 19:35:10 »
да, вполне логично больше интегрироваться с zoo.
учту для следующей версии.
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #27 : 06.03.2010, 23:54:10 »
Какая то лажа.. Я пошел простым путем.. Заменил унаследованный класс Simple на SimpleParams.. Определил 2 переменные big и small.
В твоей функции Upload после определения названий ресайзнутых ихображений пишу типа $this->big = $resImgName;

и в самом низу класса добавляю бинд функцию

// init vars
$params   =& $this->getParams();
   
$params->set('imgbig', $this->imgbig);
$params->set('imgsmall', $this->imgsmall);

$this->params = $params->toString();

Записывается это дело стандартно как все элементы в zoo только блин с пустыми переменными $this->imgbig ... И чего они не цепляются )))

Отказывайся от дополнительной таблицы. Используй SimpleParams
« Последнее редактирование: 07.03.2010, 11:23:42 от delames »
*

snowindy

  • Осваиваюсь на форуме
  • 30
  • 3 / 0
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #28 : 07.03.2010, 00:15:03 »
я так и не понял, тебе удалось записать данные изображение в тип или нет?
проблема в том, что значения не сохраняются?
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Re: Элемент изображений eg_Image 1.1 (ajax upload)
« Ответ #29 : 07.03.2010, 11:22:20 »
вообщем сохнаняется только imgbig = и imgsmall = ..... После = должны быть значения переменных но они пустые почему-то... Не записываются они в функции upload. Попробуй и ты изменить так как я описал.. Может у тебя получится. Bind функцию возьми у ImageElement.
« Последнее редактирование: 07.03.2010, 11:55:41 от delames »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление соц кнопок в шаблон? или создание components/com_zoo/views/element/tmpl/?ЭЛЕМЕНТ?

Автор scs

Ответов: 0
Просмотров: 2570
Последний ответ 21.11.2010, 13:43:04
от scs
alt для изображений в ZOO 1.0.6 (решение)

Автор Шмайсер

Ответов: 0
Просмотров: 1993
Последний ответ 01.06.2010, 10:40:45
от Шмайсер
Элемент Related Link

Автор gogoer

Ответов: 0
Просмотров: 1754
Последний ответ 15.04.2010, 14:30:52
от gogoer
Элемент Multi Image (галерея ajax)

Автор gogoer

Ответов: 3
Просмотров: 2901
Последний ответ 11.04.2010, 19:34:21
от delames
элемент Checkbox - вывод названия пункта и его значения

Автор yondo

Ответов: 1
Просмотров: 2349
Последний ответ 10.03.2010, 11:15:59
от demon1977