Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Новости TYPO3-разработки (http://forum.typo3.ru/forumdisplay.php?f=20)
-   -   Новое расширение news (http://forum.typo3.ru/showthread.php?t=9737)

dmartynenko 07.10.2011 13:59

Новое расширение news
 
Сегодня обнаружил в репозитории расширение news, которое призвано стать современной заменой для самого популярного tt_news.
http://typo3.org/extensions/reposito.../news/current/

Плюсы:
1. Построено на базе extbase & fluid
2. Написано Georg Ringer, который является давним улучшателем tt_news и разработчиком ряда полезных экстов для TYPO3. Он автор rgnewsce, который добавляет в tt_news возможность создавать новость из отдельных элементов, как из кирпичиков.
3. Качественная проработка экста - наличие подробной документации, wiki с примерами, учтены многие недостатки tt_news и встроены возможности из rgnewsce.
4. Импорт из tt_news

Минусы:
1. Экст требует TYPO3 не ниже 4.5.3.
2. Пока нет поддержки DAM, но планируется.
3. "Порог входа" еще выше, чем у tt_news. Так как документация менее подробная и все подряд не разжевано (как в tt_news, доки которой можно считать самыми подробными после доков ядра). Плюс шаблоны на fluid, которые гораздо менее читабельны чем старые HTML шаблоны, хотя конечно возможностей кастомизации в них гораздо больше.

Андрей Аксенов 21.12.2011 18:34

Насчет исправления документации уже ведется работа. Что радует, расширение развивается, добавляется новый функционал, дорабатывается старый.
Насчет шаблонов Флюид, это отдельная тема и ее изучению стоит уделить свое внимание. На этой базе уже возможно сделать сайт полностью.
Само использование расширение мне показалось гораздо проще, чем tt_new.
В документации планируют добавить инструкции, советы по дополнительным расширениям, настройки (RSS и RealURL).
Чем шире мы будем использовать это расширение, тем быстрее сможем помочь его развитию, ну и себе :)

Илья 26.11.2012 03:06

Подниму тему про news!
Установил для простого каталога.
Первое впечатление - не понятно почему такое катастрофически-непопулярное расширение. всего 909 скачиваний, судя по сайту. Не знаю считаются ли тут он-лайн установки прямо из Typo3, но за год с лишнем цифры могли бы быть и серьезнее!
Далее - документация по-прежнему очень поверхностная.
Fluid шаблоны действительно по-началу заставляют напрягать серое вещество.
В общем, пока не понял окончательно действительно ли это прорыв, по сравнению с tt_news, или же очередная "моська, которая лает на слона"...

Андрей Аксенов 26.11.2012 09:13

Помимо документации хорошо бы читать и вики на платформе разработки:
http://forge.typo3.org/projects/extension-news/wiki
Там объясняются некоторые полезные вещи: как дополнить расширение, как использовать fluid, realURL и т.п.
По-моему, реально сделать все, что и в tt_news, но нужно разбираться. Смысл тот же - дополнить поля таблиц необходимыми данными (дополнение класса, об этом написано в вики) и вывести их в шаблоне. Создать свои шаблоны - это уже в документацию по fluid и, частично, также в вики...
Не доделано, но в процессе разработки, поиск.

Илья 27.11.2012 03:44

Цитата:

Сообщение от Андрей Аксенов (Сообщение 34992)
По-моему, реально сделать все, что и в tt_news, но нужно разбираться. Смысл тот же - дополнить поля таблиц необходимыми данными (дополнение класса, об этом написано в вики) и вывести их в шаблоне.

"Можно и зайца научить курить!" (с)
Вопрос в целесообразности использования news вместо tt_news.
Под последний есть не одна сотня всяких готовых экстов, плюс привычная (для меня лично) архитектура.
Что приобретаем юзая news?
Помимо "современного подхода программирования" и т.п. виртуальных преимуществ...
Понятно, что это задел на будущее, но для реальных проектов я бы выбрал проверенные tt_news.
Или спрошу по-другому:
Кто-нибудь использует news для production решений?

Андрей Аксенов 27.11.2012 11:36

Цитата:

Сообщение от Илья (Сообщение 35001)
Или спрошу по-другому:
Кто-нибудь использует news для production решений?

Да

dmartynenko 27.11.2012 12:56

Лично мне хочется уйти от tt_news из-за медленных запросов. К сожалению в нынешнем tt_news их никак не оптимизируешь. И нет внутренней логики кэширования.

Ведем свой лог медленных запросов, и 90% там это запросы tt_news. Например такие:
Код:

SELECT DISTINCT tt_news.uid, tt_news.*
FROM tt_news
LEFT OUTER JOIN tt_news_cat_mm ON tt_news.uid = tt_news_cat_mm.uid_local
WHERE
        1=1
        AND (tt_news_cat_mm.uid_foreign IN (32,7,1,33,60))
        AND tt_news.sys_language_uid IN (0,-1)
        AND tt_news.pid > 0 
        AND tt_news.uid NOT IN (11305)
        AND tt_news.pid IN (85,86,87,88,137,369,520)
        AND tt_news.deleted=0
        AND tt_news.t3ver_state!=1
        AND tt_news.hidden=0
        AND (tt_news.starttime<=1352798034)
        AND (tt_news.endtime=0 OR tt_news.endtime>1352798034)
        AND (tt_news.fe_group='' OR tt_news.fe_group IS NULL OR tt_news.fe_group='0' OR (tt_news.fe_group LIKE '%,0,%' OR tt_news.fe_group LIKE '0,%' OR tt_news.fe_group LIKE '%,0' OR tt_news.fe_group='0') OR (tt_news.fe_group LIKE '%,-1,%' OR tt_news.fe_group LIKE '-1,%' OR tt_news.fe_group LIKE '%,-1' OR tt_news.fe_group='-1'))
ORDER BY datetime DESC
LIMIT 7

Новостей 11000+. Приходится плагин ставить как USER_INT, иначе проблема с обновлением раздела при добавлении или изменении. Точнее проблема с очисткой такого огромного кэша страницы если ставить как USER.

В news такая же ерунда?

Андрей Аксенов 27.11.2012 15:41

Ну с tt_news известная проблема... К сожалению подобными наблюдениями по новому расширению не располагаю, да и с таким количеством записей не сталкивался пока.
Но судя по классам расширения (news/Classes/Cache/ClassCacheBuilder.php) в news используется какое-то свое кеширование, глубже пока не копал. Вроде как он используется для кеширования файлов.
Имеется еще и сервис кеширования: news/Classes/Service/CacheService.php
где используется механизм кеширования TYPO3, это видно и в ext_localconf.php:
PHP код:

/* ===========================================================================
    Custom cache, done with the caching framework
=========================================================================== */
$cachingTableName 'news_categorycache';
if (!
is_array($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName])) {
    
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName] = array();
}
// Define string frontend as default frontend, this must be set with TYPO3 4.5 and below
// and overrides the default variable frontend of 4.6
if (!isset($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['frontend'])) {
    
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['frontend'] = 't3lib_cache_frontend_StringFrontend';
}

if (
Tx_News_Utility_Compatibility::convertVersionNumberToInteger(TYPO3_version) < '4006000') {
    
// Define database backend as backend for 4.5 and below (default in 4.6)
    
if (!isset($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['backend'])) {
        
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['backend'] = 't3lib_cache_backend_DbBackend';
    }
    
// Define data and tags table for 4.5 and below (obsolete in 4.6)
    
if (!isset($TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options'])) {
        
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options'] = array();
    }
    if (!isset(
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options']['cacheTable'])) {
        
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options']['cacheTable'] = 'cf_news_categorycache';
    }
    if (!isset(
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options']['tagsTable'])) {
        
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'][$cachingTableName]['options']['tagsTable'] = 'cf_news_categorycache';
    }
}

    
// Class cache
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['class_cache'])) {
    
$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['class_cache'] = array(
        
'backend' => 't3lib_cache_backend_FileBackend',
        
'frontend' => 't3lib_cache_frontend_PhpFrontend',
    ); 

http://wiki.typo3.org/Caching_framework

surfman 24.01.2013 19:01

Вышла новая версия news 2.0.0

dmartynenko 24.01.2013 19:14

Подробнее: http://www.montagmorgen.at/blog/arti...extension.html

PS: только какой-то шрифт на сайте плохо читабельный.


Часовой пояс GMT +4, время: 01:37.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot