Новости 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

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

sea_dream

  • Захожу иногда
  • 107
  • 2 / 0
  • Создание сайтов
Скачивание по коду
« : 28.10.2014, 10:53:24 »
Как можно сделать, что бы документ мог скачать только группа лиц знающих определенный код, по сути задача проста, что бы скачать какой то файл нужно будет ввести код, как это реализовать на Joomla 2.5
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #1 : 28.10.2014, 11:01:43 »
Написать компонент, который при нажатии на кнопку будет проверять введенный в поле код, сравнивать его с тем, что храниться в настройках/в базе и давать скачать файл либо посылать пользователя. Код можно привязать к файлу, к пользователю или и к тому и к другому одновременно, предварительно выслав код пользователю на мыло.
Дорогая работа, от 5к и выше, имхо.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Скачивание по коду
« Ответ #2 : 28.10.2014, 11:11:08 »
Как можно сделать, что бы документ мог скачать только группа лиц знающих определенный код, по сути задача проста, что бы скачать какой то файл нужно будет ввести код, как это реализовать на Joomla 2.5

ничего сложного я не вижу, можно сделать все самому...
...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #3 : 28.10.2014, 11:18:42 »
Можно, если знаешь, как, а если нет?
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Скачивание по коду
« Ответ #4 : 28.10.2014, 11:46:42 »
Можно, если знаешь, как, а если нет?

для этого он и создал эту тему что бы узнать как это сделать... Да ну 5тыс. за это я бы помучался но сделал бы сам...
...
*

sea_dream

  • Захожу иногда
  • 107
  • 2 / 0
  • Создание сайтов
Re: Скачивание по коду
« Ответ #5 : 28.10.2014, 12:16:08 »
Мне подсказывали что можно поставить Спойлер с паролем, но я этим не разу не пользовался, кто подскажет такой модуль с паролем? Если честно не думал, что такая задача окажется проблемой...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Скачивание по коду
« Ответ #6 : 28.10.2014, 12:39:34 »
взависимости от того какой компонент используешь для скачивания файлов. На странице скачивания файла вместо кнопки скачать выводишь форму которая может содержать одно поле для проверки вводимого вами кода, и можно перейти по ссылке что бы скачать или отправить ее на email
...
*

sea_dream

  • Захожу иногда
  • 107
  • 2 / 0
  • Создание сайтов
Re: Скачивание по коду
« Ответ #7 : 28.10.2014, 12:57:41 »
Да нет ни какого компонента для скачивания, во для чего это нужно страница на которой можно скачать прайс http://demo.web-armavir.ru/prajs.html заказчик хочет что бы прайс скачивали только те кто знает код вот и все!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #8 : 28.10.2014, 13:05:23 »
Тогда можно просто модуль, если файл только один. Это дешевле и быстрее. Вы сами расширения писать умеете/пробовали?
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Re: Скачивание по коду
« Ответ #9 : 28.10.2014, 13:08:00 »
используй тогда модуль для этого и выводи его в материале. Все что надо можно указать в настройках модуля, к примеру код скачивания или ссылку на скачивание...

Так после правильного ввода пароля будешь сразу скачивать файл или отравлять его на email ссылкой на скачивание или же прикреплять к письму...
...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #10 : 28.10.2014, 13:12:18 »
используй тогда модуль для этого и выводи его в материале
Какой модуль? Таких модулей - специально поискал - нет, это надо писать.
*

sea_dream

  • Захожу иногда
  • 107
  • 2 / 0
  • Создание сайтов
Re: Скачивание по коду
« Ответ #11 : 28.10.2014, 13:15:25 »
Нет, сам зная немного php могу только редактировать, да и стоит ли из за несложной задачи так сильно заморачиваться. Вот честно, я прекрасно понимаю что это просто бзик клиента и им этот пароль на..ер не нужен! Точнее смысла в этом нет, но сами понимаете, желание клиента.... А нет спойлеров с паролем?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #12 : 28.10.2014, 13:16:57 »
Что вы подразумеваете под "спойлер с паролем"? Кликаешь на раскрытие, а тебе - пароль введите, а то не раскроюсь? Нет, такого тоже не встречал. Это, имхо, контент-плагин делать надо, но можно и модулем тоже.
*

sea_dream

  • Захожу иногда
  • 107
  • 2 / 0
  • Создание сайтов
Re: Скачивание по коду
« Ответ #13 : 28.10.2014, 13:30:23 »
Да мне любой вариант интересен, просто делать регистрацию, а далее показ страницы Прайс только для зарегистрированных, ну это же будет уже реальный бред! Какие есть варианты с введением пароля, для доступа к контенту? В виде модуля, плагина...
*

aspidy

  • Завсегдатай
  • 1008
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Re: Скачивание по коду
« Ответ #14 : 28.10.2014, 13:45:55 »
Есть компонент платных подписок Akeeba, есть плагин прикрепления файлов к материалам http://demo.clubby.kz/index.php/besplatnye-rasshireniya/besplatnye-plaginy/4-plagin-zagruzki-fajlov-i-dokumentov-v-materialy-sajta, есть плагин для генерации кода, есть плагин закрытия материалов. Так, что выбирайте.
Мелкий ремонт. skype poisk-plus
*

Ilhom666

  • Завсегдатай
  • 1384
  • 184 / 0
Re: Скачивание по коду
« Ответ #15 : 28.10.2014, 17:44:39 »
а если прайс класть в папку, которую защитить .htaccess -ом ?
Аутентификация htaccess
« Последнее редактирование: 28.10.2014, 17:51:23 от Ilhom666 »
*

agasfer

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Жить интересно!
Re: Скачивание по коду
« Ответ #16 : 28.10.2014, 20:13:31 »
http://www.greatjoomla.com/extensions/plugins/core-design-access-text-plugin.html вас устроит? Открытие текста по паролю.
Кстати, если уж очень хочется, обернуть его в спойлер - дело недолгое.
demo - http://demo.greatjoomla.com/access-text-plugin/access-text-plugin-user-mode.html

а "любые варианты", то есть без пароля, к примеру - http://extensions.joomla.org/extensions/access-a-security/site-access/content-restriction + фильтр по слову spoiler
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Скачивание по коду
« Ответ #17 : 28.10.2014, 21:59:25 »
самое простое
а если прайс класть в папку, которую защитить .htaccess -ом ?
Аутентификация htaccess
или регистрацию пользователя и разграничение прав на закрытый раздел
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Скачивание по коду
« Ответ #18 : 28.10.2014, 22:33:19 »
Написать компонент, который при нажатии на кнопку будет проверять введенный в поле код, сравнивать его с тем, что храниться в настройках/в базе и давать скачать файл либо посылать пользователя. Код можно привязать к файлу, к пользователю или и к тому и к другому одновременно, предварительно выслав код пользователю на мыло.
Дорогая работа, от 5к и выше, имхо.
все правильно, только стоимость по мне будет рубля 2 не более, проверить введенный код с базой по ID объекта и отдать файл
2000 рублей от и до
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

aspidy

  • Завсегдатай
  • 1008
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Re: Скачивание по коду
« Ответ #19 : 29.10.2014, 05:58:18 »
Цитировать
или регистрацию пользователя и разграничение прав на закрытый раздел
Создаете группу, например, "подписчики" текст "элитный" прикрепляете файл, даете доступ. Все стандартными средствами.
Мелкий ремонт. skype poisk-plus
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Скачивание по коду
« Ответ #20 : 29.10.2014, 07:06:20 »
Если я понял правильно, регистрация пользователей не предусматривается.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Скачивание по коду
« Ответ #21 : 29.10.2014, 11:10:40 »
Зачем компонент или модуль, если можно обойтись 5-ю строк HTML+JavaScript?
Прибавляйте код к имени файла: super1234.doc, например. Вместо ссылки на файл - вставьте формочку:
Код: php-brief
<form name="form" method="post" onsubmit="form.action=form.name.value+form.code.value+form.format.value">
<label>Файл<input type="text" name="name" value="super"/></label>
<label>Введите код<input type="text" name="code" value=""/></label>
<input type="hidden" name="format" value=".doc"/>
<input type="submit" value="Скачать"/>
</form>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Скачивание по коду
« Ответ #22 : 29.10.2014, 23:00:59 »
Зачем компонент или модуль, если можно обойтись 5-ю строк HTML+JavaScript?
Прибавляйте код к имени файла: super1234.doc, например. Вместо ссылки на файл - вставьте формочку:
Код: php-brief
<form name="form" method="post" onsubmit="form.action=form.name.value+form.code.value+form.format.value">
<label>Файл<input type="text" name="name" value="super"/></label>
<label>Введите код<input type="text" name="code" value=""/></label>
<input type="hidden" name="format" value=".doc"/>
<input type="submit" value="Скачать"/>
</form>
минусы:
 - вставлять руками форму
 - писать руками код и тд

При нормальном подходе в админке будет поле для загрузки документа, все остальное формируется автоматом
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Скачивание по коду
« Ответ #23 : 29.10.2014, 23:46:03 »
минусы:
 - вставлять руками форму
 - писать руками код и тд
Согласен, если файлов много. А так - пушкой по воробьям.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Solvedor

  • Захожу иногда
  • 376
  • 33 / 0
  • Масенький Йожик
Re: Скачивание по коду
« Ответ #24 : 11.12.2017, 10:17:57 »
А я юзаю бесплатный плагин Easy Content Restriction. Вещь простая, как валенок. Ссылка ведет на страницу с документацией и скачиванием.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Scaltro

Ответов: 2
Просмотров: 914
Последний ответ 05.07.2022, 01:18:50
от Scaltro
Ссылка с иконкой на скачивание файла

Автор Neptun

Ответов: 8
Просмотров: 2263
Последний ответ 04.06.2015, 15:59:39
от Porox
Как сделать платное скачивание файла с сайта?

Автор maska

Ответов: 16
Просмотров: 7958
Последний ответ 17.03.2015, 05:30:59
от aspidy
Скачивание с регистрацией

Автор misteri27

Ответов: 9
Просмотров: 1112
Последний ответ 12.06.2014, 15:43:28
от misteri27
Скачивание после оплаты через liqpay

Автор maloy-kachok

Ответов: 2
Просмотров: 1615
Последний ответ 27.05.2013, 12:46:19
от maloy-kachok