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

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Нужна помощь я умный но не настолько...  ::)
/components/com_community/templates/default/facebook.button.php

Код там такой:
Код
/**
 * @package JomSocial
 * @copyright (C) 2008 by Slashes & Dots Sdn Bhd - All rights reserved!
 * @license GNU/GPL, see LICENSE.php
 */
 
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();
?>
<!-- begin: COMMUNITY_FREE_VERSION -->
<?php if( !COMMUNITY_FREE_VERSION ) { ?>
<div id="fb-root"></div>
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
window.fbAsyncInit = function() {
    FB.init({appId: '<?php echo $config->get('fbconnectkey');?>', status: false, cookie: true, xfbml: true});

    /* All the events registered */
    FB.Event.subscribe('auth.login', function(response) {
joms.connect.update();
  });
};
</script>
<fb:login-button perms="read_stream,publish_stream,offline_access,email,user_birthday,status_update,user_status"><?php echo JText::_('CC SIGN IN WITH FACEBOOK');?></fb:login-button>
<?php } ?>
<!-- end: COMMUNITY_FREE_VERSION -->


Примерно так:
Код
<div id="fb-root">
    </div>
    <script type="text/javascript">
        window.fbAsyncInit = function () {
            FB.init({ appId: '<?php echo $config->get('fbconnectkey');?>', status: true, cookie: true, xfbml: true });

            /* All the events registered */
            FB.Event.subscribe('auth.login', function (response) {
                // do something with response
                alert("login success");
            });
            FB.Event.subscribe('auth.logout', function (response) {
                // do something with response
                alert("logout success");
            });

            FB.getLoginStatus(function (response) {
                if (response.session) {
                    // logged in and connected user, someone you know
                    alert("login success");
                }
            });
        };
        (function () {
            var e = document.createElement('script');
            e.type = 'text/javascript';
            e.src = document.location.protocol +
            '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
        } ());
    </script>

или

Этот код не совсем прижился
http://stackoverflow.com/questions/3701972/facebook-opengraph-customize-fb-login-button

Код
<fb:login-button show-faces="true" max-rows="9" perms="email" autologoutlink="true" onlogin="window.location = 'http://www.example.com/facebook/facebook_test/'"></fb:login-button>

http://developers.facebook.com/docs/reference/javascript/FB.login

Код
FB.login(function(response) {
  if (response.session) {
    if (response.perms) {
      // user is logged in and granted some permissions.
      // perms is a comma separated list of granted permissions
    } else {
      // user is logged in, but did not grant any permissions
    }
  } else {
    // user is not logged in
  }
}, {perms:'read_stream,publish_stream,offline_access'});


Вот код вроде полный но не работает:
 
Код
        <div id="fb-root"></div>
        <script>
          //initializing API
          window.fbAsyncInit = function() {
            FB.init({appId: '<?php echo $config->get('fbconnectkey');?>', status: true, cookie: true,
                     xfbml: true});
          };
          (function() {
            var e = document.createElement('script'); e.async = true;
            e.src = document.location.protocol +
              '//connect.facebook.net/en_US/all.js';
            document.getElementById('fb-root').appendChild(e);
          }());
        </script>

        <!-- custom login button -->
        <a href="#" onclick="fblogin();return false;"><img src="images/my_login.png"></a>


        <script>
          //your fb login function
          function fblogin() {
            FB.login(function(response) {
              //...
            }, {perms:'read_stream,publish_stream,offline_access,email,user_birthday,status_update,user_status'});
          }
        </script>

*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #1 : 24.11.2010, 06:46:54 »
Вы вообще что хотите? Если самоцель - "переделать кнопку", то просто перекрасьте её или переверните на 180˚
« Последнее редактирование: 24.11.2010, 06:53:03 от kharol »
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #2 : 24.11.2010, 07:20:02 »
Вы вообще что хотите? Если самоцель - "переделать кнопку", то просто перекрасьте её или переверните на 180˚
Дело в том, что кнопка иногда не загружается... Когда не может соединиться с сервером FB. Можете убедиться на локалке.
Всё что не анархия, то фашизм...
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #3 : 24.11.2010, 09:17:48 »
Ну на локалке скорее всего поэтому и не может соединиться....
Я давно конечно не пробовал, но раньше проблем не ощущал...
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #4 : 24.11.2010, 09:30:28 »
Ну на локалке скорее всего поэтому и не может соединиться....
Я давно конечно не пробовал, но раньше проблем не ощущал...
У меня на хостинге эта кнопка через раз загружается. Потому меня интересует тема, что-бы переделать эту кнопку. Да и вообще модуль hellome давно нужно перебрать. Он глючныи.. Опера с ним криво работает, приходиться лезть в шаблон и править. И сама синхронизация с fb в опере не работает.
Всё что не анархия, то фашизм...
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #5 : 24.11.2010, 15:19:14 »
Ну так кто же ставит хелло-ми без переделки? : )

Кстати, да, авторизация в Опере через ФБ глючит. Давно говорил, что Опера еще хуже ИЕ. Там хотя бы все косяки известны. А Опера каждый раз подкидывает новые загадочные сюрпризы.

Хелло-ми сам по себе в Опере нормальный. Глючный - что именно глючного?
+
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #6 : 24.11.2010, 15:36:17 »
Ну так кто же ставит хелло-ми без переделки? : )

Кстати, да, авторизация в Опере через ФБ глючит. Давно говорил, что Опера еще хуже ИЕ. Там хотя бы все косяки известны. А Опера каждый раз подкидывает новые загадочные сюрпризы.

Хелло-ми сам по себе в Опере нормальный. Глючный - что именно глючного?
вёрстка шаблона у разработчиков...

Код
			<p id="form-login-remember">
<label for="remember">
<?php echo JText::_('Remember me')?>
<input type="checkbox" name="remember" id="remember" value="yes" alt="Remember Me" />
</label>
</p>

а нужно:

Код
				<p id="form-login-remember">

<input type="checkbox" name="remember" id="remember" value="yes" alt="Remember Me" />
<label for="remember">
<?php echo JText::_('Remember me')?>
</label>
</p>

если не изменить... то на "запомнить меня" не нажать будет в Опере.
Всё что не анархия, то фашизм...
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #7 : 24.11.2010, 15:47:04 »
А почему надпись вынесена за лейбл? Это единственное отличие? у меня вообще эта кнопка скрыта, она мешает внешнему виду : )
+
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #8 : 24.11.2010, 16:01:34 »
А почему надпись вынесена за лейбл? Это единственное отличие? у меня вообще эта кнопка скрыта, она мешает внешнему виду : )
Ну в целом да...

Но нужен др. модуль если честно. Например, мне бы хотелось видеть в меню создать блог, управление аккаунтом блога, в обще хорошо бы вынести в JomSocial-шаблон или в крайнем случае в меню модуля hellome.

Пол года назад я делал такой модуль для собственных нужд, по типу javascript аккордеона. Видимо от этого мне не уйти ведь нужно встраивать ешё ссылку на профиль VM. И  нужно сделать как то более компактно отображение запросов дружбы, ЛС, а так-же добавить запросы в группы, мероприятия и т д.
Всё что не анархия, то фашизм...
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #9 : 24.11.2010, 16:23:08 »
ну у меня два варианта хелло-ми
http://explorado.ru
http://test.domidacha.com

оба вверху справа, первый совсем компактный, особенно после авторизации, второй с наименьшими переделками + фейсбук

хотя, конечно, авторзация частенько очень мешается, хотя и нужна... а в сайдбары не хочется ее ставить
+
*

Katya

  • Захожу иногда
  • 53
  • 1 / 1
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #10 : 14.12.2010, 01:37:20 »
Здравствуйте. Поменяла код, теперь "запомнить меня" работает. Спасибо большое.
Есть еще один вопрос. В форме регистрации нового пользователя я использую чекбоксы, они сейчас не работают. Я так понимаю, что решение аналогично rememberme. Вот только где менять? Может подскажете?
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #11 : 14.12.2010, 01:55:00 »
Здравствуйте. Поменяла код, теперь "запомнить меня" работает. Спасибо большое.
Есть еще один вопрос. В форме регистрации нового пользователя я использую чекбоксы, они сейчас не работают. Я так понимаю, что решение аналогично rememberme. Вот только где менять? Может подскажете?
Шаблон JomSocial видимо... Я не знаю где точно. Вообще по шаблону, я торкал разработчиков носом, когда у меня не работали стилизованные чикбоксы, кто помнит. Возможно, если у вас официальные шаблоны, и лицензионный компонент, они обязаны помочь. Иначе, при каждом обновлении вам нужно будет снова и снова править этот недостаток.
Всё что не анархия, то фашизм...
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #12 : 14.12.2010, 05:21:38 »
Возможно, если у вас официальные шаблоны, и лицензионный компонент, они обязаны помочь.
We support:

    * Installation issues
    * Basic configuration
    * How-to use questions

We do not support:

    * Template design and customizations
    * Conflict with other 3rd party component or templates
    * Anything that require modifications to the core code, such as adding new customized features.
    * Modified JomSocial codes
    * Server migration
    * 3rd party integration
    * Any beta or trial release
    * Installation on localhost
    * Non JomSocial-related issues

Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #13 : 14.12.2010, 06:05:08 »
We support:

    * Installation issues
    * Basic configuration
    * How-to use questions

We do not support:

    * Template design and customizations
    * Conflict with other 3rd party component or templates
    * Anything that require modifications to the core code, such as adding new customized features.
    * Modified JomSocial codes
    * Server migration
    * 3rd party integration
    * Any beta or trial release
    * Installation on localhost
    * Non JomSocial-related issues


Я уверен в этом, что они обязаны решать такие проблемы. Иначе, нечего тогда продавать PRO версию, основным отличием которои, является несколько дополнительных шаблонов.

Если они не могут отвечать за, шаблоны которые они верстают и продают, то это называется мошенничество. И никакие ихние правила их не играют значения.

Далее немного по смыслу:
Шаблон - это грубо говоря упаковка компонента. И когда вы покупаете товар, по идее он по любому должен быть нормально упакован. И я не говорю о каких-то излишествах. А о самом стандартном шаблоне - в стандартной поставке.

Вот например, недавно работал с одним человеком... Купили шаблон Movie plazza, в результате туда не Jomocial, не флекси-контент не поставить. Даже самые элементарные модули и то пропадают - не отображаются.
Всё что не анархия, то фашизм...
*

kharol

  • Moderator
  • 1721
  • 217 / 0
Re: Переделка кода кнопки facebook в JomSocial
« Ответ #14 : 14.12.2010, 09:02:50 »
Я им картинку рисовал как то.
Собственно для наглядности их поддержки и работы компонента...
Они ее правда быстро убрали с их сети...
Поддержка: 3 пункта
Не подлежит поддержке: 9 пунктов..
Ну о чем тут рассуждать?
Хотя на самом деле на оф. форуме они охотно помогают и у меня нареканий к ним по поводу молчания нет
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Регистрация и Авторизация в JomSocial - проблемы, вопросы

Автор AlexAl

Ответов: 294
Просмотров: 83830
Последний ответ 15.05.2019, 16:08:31
от AdWeb
Подключение JomSocial к Amazon S3 | Нужна помощь?

Автор Wassup

Ответов: 14
Просмотров: 9340
Последний ответ 07.04.2019, 09:38:31
от powerful888
Как изменить поля регистрации в JomSocial?

Автор 1ncom1ng

Ответов: 7
Просмотров: 7181
Последний ответ 29.03.2019, 01:03:37
от DomBeri
Письма уведомления от JomSocial

Автор coder-max

Ответов: 84
Просмотров: 22053
Последний ответ 12.01.2017, 18:07:39
от FitMe
Вопросы по настройке JomSocial

Автор evteev

Ответов: 37
Просмотров: 20199
Последний ответ 17.07.2015, 00:34:21
от belperson