ezpublish.ru / Форумы / Для новичков / Зачем Ez Publish лезет на yui.yahooapis.com




Зачем Ez Publish лезет на yui.yahooapis.com

Для доступа к форумам необходимо авторизоваться. Это можно сделать здесь

Автор Сообщение

Maxim Kopytov

Вс, 25 октября 2009 15:19:32

Привет Всем!
Сегодня скачал eZ Publish 4.2.0 и успешно установил у себя локально на компе под управлением WinXP.
Отключился от сети и стал смотреть сайт. Сайт жутко тормозил. Потом я обратил внимание, что он пытается что-то подгружать с сайта yui.yahooapis.com
Расскажите пожалуйста, что это такое и зачем eZ лезет туда?
И как можно обойти подругзку с внешних ресурсов?

------------------------
I love eZ Publish

Сергей Гедеон

Вс, 25 октября 2009 17:53:59

На какой странице шел вызов yui? Скрипты яху могут вызываться в амдинке, но чтобы они ломились в сеть... хм...
Можете провести дебаг? Например с помощью Firebug'а.

И загрузка под Виндоус всегда будет медленной. Очистка кеша 30-35сек., загрузка закешированных страниц - порядка сотых секунды... иногда порядка 2-4сек.

===----
Радоваться жизни можно тихо...
----====

Maxim Kopytov

Вс, 25 октября 2009 18:02:16

Скорее всего проблема в этом

<script type="text/javascript">
var YUILoader = new YAHOO.util.YUILoader({
loadOptional: true,
combine: true
});
</script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.0.0b1/.../yui-min.js"></script>
<script type="text/javascript">
var YUI3_config = { modules: {} };
</script>

------------------------
I love eZ Publish

Maxim Kopytov

Вс, 25 октября 2009 18:08:13

А это нормально что скрипты живут у Yahoo?
Разве они не должны быть у меня локально?
Или теперь так будет всегда? Почему?

------------------------
I love eZ Publish

Сергей Гедеон

Пн, 26 октября 2009 9:40:18

Нет, это не нормально
Скорее всего это "пенка" разработчиков eZ (типа тестировали по сети и забыли залить локальный файл)... Просто сейчас модно использовать расшаренные средства разработки предоставляемые гуглом, яху и прочими "монстрами". Возможно где-то в настройках есть возможность отключить вызов этого скрипта или переключить его на локальные исходники. Попробуйте найти шаблон где он подключается. В любом случае можно без лишнего хардкодинга поправить шаблон как вам угодно.
А функции YUI на сайте могут использоваться самые различные.

===----
Радоваться жизни можно тихо...
----====

Maxim Kopytov

Сб, 3 апреля 2010 14:07:52

Установил локально eZ Publish 4.3.0
Новая админка лезет на ajax.googleapis.com и yui.yahooapis.com.
Как правильно пофиксить или перенастроить, чтобы она тянула скрипты с локального сервера, а не с google и yahoo?

------------------------
I love eZ Publish

Сергей Гедеон

Вс, 4 апреля 2010 8:30:32

Набираете в поиске по файлам имя скрипта и смотрите где он подключается

===----
Радоваться жизни можно тихо...
----====

Maxim Kopytov

Ср, 24 ноября 2010 9:22:37

В этом файле www\extension\ezjscore\settings\ezjscore.ini

[eZJSCore]

# Disables/enables js / css packer (for debugging Apache rewrite rules)
# Normally controlled by [TemplateSettings]DevelopmentMode for convenience,
# but can also be specifically controlled by this setting if set.
# Force packer level by setting integer from 0 to 3 instead of [dis|en]abled
#Packer=disabled

# enable / disable loading the files from external servers
LoadFromCDN=enabled

# Preferred Library (can be 'yui3' or 'jquery')
# This is a preference hint to extensions that use ezjscore
# so they can optionally select to support both and select by this setting
PreferredLibrary=yui3
#PreferredLibrary=jquery

# List of external JavaScript libraries with their CDN URL
#ExternalScripts[yui3]=http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js
#ExternalScripts[yui2]=http://yui.yahooapis.com/2.7.0/build/yuiloader/yuiloader-min.js
#ExternalScripts[jquery]=http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
#ExternalScripts[jquery]=http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js


# List of local JavaScript libraries, optionally start with "/" to signal that its in
# root of design folder and not in /javascript sub folder
LocalScripts[yui3]=/lib/yui/3.0/build/yui/yui-min.js
LocalScripts[yui2]=/lib/yui/2.7.0/build/yuiloader/yuiloader-min.js
#LocalScripts[jquery]=jquery-1.3.2.min.js
LocalScripts[jquery]=jquery-1.4.2.min.js

# Local base script path, needed for yui scripts (YUILoader)
LocalScriptBasePath[yui3]=lib/yui/3.0/build/
LocalScriptBasePath[yui2]=lib/yui/2.7.0/build/

Закомментировал внешние библиотеки. Перестал работать редактор и другие java-скриптовые удобства юзер интерфейса админки.

Как исправить чтобы использовались локальные js библиотеки?

Библиотеки сидят: \www\extension\ezjscore\design\standard\lib\yui\

jQuery здесь: www\extension\ezjscore\design\standard\javascript\

Документация по настройке файла ezjscore.ini
здесь http://doc.ez.no/Extensions/eZ-JS-Core/Settings

------------------------
I love eZ Publish

Сергей Гедеон

Ср, 24 ноября 2010 11:11:10

1) Закоментируйте на всякий случай это:
LoadFromCDN=enabled
(точнее поставьте для надежности LoadFromCDN=disabled)

2) Проверьте прямой доступ к файлам lib/*
3) Посмотрите какие файлы подключаются и каких не хватает

===----
Радоваться жизни можно тихо...
----====

Maxim Kopytov

Ср, 24 ноября 2010 11:17:53

Заработало после прочтения мануала
Сергей! В любом случае спасибо за рекомендации!
Заюзал jQuery (PreferredLibrary=jquery). Надеюсь все будет работать корректно.

[eZJSCore]

# enable / disable loading the files from external servers
LoadFromCDN=disabled

# Preferred Library (can be 'yui3' or 'jquery')

#PreferredLibrary=yui3
PreferredLibrary=jquery

# List of external JavaScript libraries with their CDN URL
#ExternalScripts[yui3]=http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js
#ExternalScripts[yui2]=http://yui.yahooapis.com/2.7.0/build/yuiloader/yuiloader-min.js
#ExternalScripts[jquery]=http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
#ExternalScripts[jquery]=http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js


# List of local JavaScript libraries, optionally start with "/" to signal that its in
# root of design folder and not in /javascript sub folder
LocalScripts[yui3]=/lib/yui/3.0/build/yui/yui-min.js
LocalScripts[yui2]=/lib/yui/2.7.0/build/yuiloader/yuiloader-min.js
#LocalScripts[jquery]=jquery-1.3.2.min.js
LocalScripts[jquery]=jquery-1.4.2.min.js

# Local base script path, needed for yui scripts (YUILoader)
LocalScriptBasePath[yui3]=lib/yui/3.0/build/
LocalScriptBasePath[yui2]=lib/yui/2.7.0/build/

LocalScriptBasePath[jquery]=/javascript/

[Packer]
AppendLastModifiedTime=disabled

# For spreading the load of static files to separate domains as recommended by
# YDN Performance Best Practices. Key should match file extension: .js | .css
CustomHosts[]
# Example: Serve javascript files from static sub domain (No end slash!)
#CustomHosts[.js]=http://static.example.com

[ezjscServer]
# List of permission functions as used by the eZ Publish permission system
FunctionList[]=ezjsctemplate
#FunctionList[]=ezjsckeyword
#FunctionList[]=ezjscrating_rate

# Settings for setting up a server functions
# These are also supported by ezjscPacker, the class used in ezcss and ezscript
# Here is an example of setting up such a function:
#
#[ezjscServer_<custom_server>]
## Optional, uses <custom_server> as class name if not set
#Class=MyCustomJsGeneratorClass
## Optional, defines if a template is to be executed instead of a php class function
## In this case request will go to /templates/<class>/<function>.tpl
#TemplateFunction=true
## Optional, uses autoload system if not defined
#File=extension/ezjscore/classes/mycustomjsgenerator.php
## Optional, List of [ezjscServer]FunctionList functions user needs to have access to, Default: none
#Functions[]=ezjsc
## Optional, If pr function, then function name will be appended to Function name like
## <FunctionList_name>_<funtion_name>, warning will be thrown if not set in FunctionList[].
## Default: disabled
#PermissionPrFunction=enabled
#
# Definition of use in template:
# {ezscript('<custom_server>::<funtion_name>[::arg1[::arg2]]')}

[ezjscServer_ezjsc]
# Url to test this server function(return current time):
# <root>/ezjscore/call/ezjsc::time
Class=ezjscServerFunctionsJs
File=extension/ezjscore/classes/ezjscserverfunctionsjs.php

[ezjscServer_ezjsctemplate]
# Url to test this server function(return alert message):
# <root>/ezjscore/call/ezjsctemplate::alert
# will execute templates/ezjsctemplate/alert.tpl
TemplateFunction=true
Functions[]=ezjsctemplate

------------------------
I love eZ Publish