Новое в Drupal 7

Аватар пользователя Dan Dan 17 сентября 2009 в 14:19

По мотивам Drupal 7.x-dev
Ваши поправки и дополнения приветствуются! Переведём вместе!

Изменения для разработчиков

Замечания по релизу DRUPAL-7-0-UNSTABLE-9 (15 сентября 2009)

  1. Уровень базы данных ядра теперь полностью DBTNG-совместима. Также в АПИ схем БД добавлены поля 'date' и 'time'. А update_sql() мы убили навсегда! Теперь хуки hook_uninstall() и hook_install() будут применять схему автоматически.
    PS: DBTNG - "Database Layer: The Next Generation", см. http://drupal.org/node/225450
  2. АПИ файлов теперь используют оболочки потоков (?) для доступа к файлам. То есть теперь вместо обращения непосредственно к файлу, надо указывать обёртку, например public://old_photos/banana.jpg. В ядре, по умолчанию, есть три обёртки - temp://, public://, and private:// (да-да, вы всё правильно поняли, теперь приватный и открытый доступ к файлам работают ОДНОВРЕМЕННО! ура нам!). Так же поддерживаются обёртки, которые могут предоставлять сторонние модули, например s3:// для Amazon S3, flickr:// для получения/отсылки фоток из/в Flickr и т.д. Ещё добавили хук hook_file_url_alter() поддержки сети распределения контента (content delivery network - CDN). Во-о-о-от.
  3. Насчёт реестра кода. О нём говорилось ещё с версии UNSTABLE-1 - все ждали прорыва в производительности. Однако с реализацией пока возникли проблемы и мы откатились назад - проверенные решения типа APC пока дают больший выигрыш. Так что реестра функций не будет, но реестр классов - да, есть! Поэтому $foo = new Foo; должно работать везде!
  4. Улучшения в Field API - термины таксономии теперь стали полями! Комментария и таксономия полностью поддерживают поля, а сами поля могут быть переведены. Это круто, попробуйте! Smile
  5. Для чистоты реализации, теперь R часть (чтение) CRUD API в ядре стандартизована, изменены загрузчики объектов. Теперь у нас есть *настоящее* АПИ пользователей и ролей. Ещё мы переименовали 'box' в 'custom_block' - так понятнее.
    PS: CRUD — create read update delete — создание чтение обновление удаление, см. http://drupal.org/node/79684
  6. Для улучшения производительности уменьшили ("smushed") системные изображения (иконки, указатели, банеры и т.д.) и добавили кэширование в АПИ рендеринга, теперь любой компонент системы можно кэшировать опционально и ещё, модуль block теперь необязателен. Вот.
    PS: Дополнительная информация: картинки, кэширование в drupal_render, модуль block, опциональное кэширование
  7. Прорыв в инсталляционных профилях! Теперь они устроены так как модули: у них есть .install и .info файлы, в которых можно указать зависимости (и не только). Если вы можете написать модуль, то осилите и профиль установки! В профилях вы можете пользоваться всеми функциями и АПИ, которые предоставляет Drupal и писать функции для обновления версий. Также обратите внимание, что указывая зависимость от какого-либо модуля, вы можете указать не только версию, но и диапазон, например: "минимум - Views 2.0-rc1, но не старше Views 3.0". Ну и напоследок - можно запускать update.php и install.php из командной строки без Drush. Ура товарищи!
    PS: Drush - drupal shell - http://drupal.org/project/drush
  8. В рамках тестового фреймворка (SimpleTest framework) добавлена функция debug(), которая может использоваться как легковесная альтернатива ф-ции dsm() - она тоже печатает отладочные сообщения при SimpleTest-проверках. Ещё сделали новый режим отображения хода теста с подробным отображением процесса тестирования, это должно позволить гораздо проще находить ошибки при тестировании.

Примечания к выпуску DRUPAL-7-0-UNSTABLE-1 (1 октября 2008)

  1. Модуль SimpleTest, предназначенный для автоматического тестирования кода, входит теперь в стандартную сборку с гигантским количеством тестов. Теперь все эти тесты проходятся успешно, таким образом, вы можете использовать это в качестве руководства для определения того, какие из ваших патчей/модулей содержат недопустимый код. См.документацию модуля на странице http://drupal.org/simpletest. На странице http://acquia.com/files/test-results/index.html вы можете найти информацию об охвате тестированием стандартных файлов.
  2. Полностью новый API базы данных, известный как «Database: The Next Generation» (DBTNG). Это изменение повлекло за собой многие другие изменения, вы можете посмотреть описание нового API на странице http://drupal.org/node/310069.
  3. «Реестр кода» (code registry), который является набором таблиц в базе данных, содержащих все функции во всех модулях, что позволяет эффективнее работать с файлами на диске. Это изменение влечёт за собой изменение в файле .info. Дополнительную информацию по работе с файлом .info и реестром кода, смотрите на странице registry.
  4. Визуальные текстовые редакторы теперь получили лучшую поддержку со стороны системы, благодаря новому свойству #input_format в своих тектовых областях (textareas).
  5. Инструмены обработки изображений (image toolkits),теперь могут быть частью дополнительных модулей. Это очень удобно, т.к. теперь вам не нужно копировать файлы вроде image.imagemagick.inc в папку includes.

Изменения для "темеров"

  1. Регионы $sidebar_left и $sidebar_right теперь называются $sidebar_first и $sidebar_second соответственно. Это сделано как из соображений семантики, так и для более понятной работы с RTL-языками.
    PS: RTL - right to left, справа налево.
  2. AJAX часть из модуля CTools теперь в ядре. И теперь ядро поддерживает метод .once(), позволяющий обработчику срабатывать только один раз. Понятия не имеем что это за метод, но JS-программисты уж очень его хотели. Пусть будет Smile
  3. В именах шаблонов теперь можно использовать маски, например шаблон page-user-%.tpl.php будет применён для всех страниц пользователей (user/xxx), в то время как page-user.tpl.php будет срабатывать только на текущей странице пользователя (/user).
  4. Добавлены системные CSS-классы: для полного скрытия элементов - .element-hidden, его действие аналогично функции jQuery hide(); .element-invisible - виден только при просмотре с экрана. Сейчас мы работаем над добавлением этих классов в ядро и другими важными улучшениями для удобства работы с системой.
    PS: не совсем понятно из описания что там эти классы скрывают - надо посмотреть код.

Изменения для конечных пользователей

Замечания по релизу DRUPAL-7-0-UNSTABLE-9 (15 сентября 2009)

  1. ССК в ядре! Да-а-а-а-а!!! Smile И это не говоря про Token, FileField, и Poormanscron!
  2. Из ядра удалены посторонние функции: ограничение на длину поля body, синонимы терминов, АПИ блогов, разные темы оформления для разных пользователем. Они будут реализованы сторонними модулями или через поля (field API).
  3. D7UX в полный рост! Нет больше разделения конфигурации модулей по разным разделам, как было ранее (половина - в "Конфигурация сайта", половина - в "Настройки и модули"). Спасибо всем, кто участвовал в этой нелёгкой работе!
    PS: D7UX - http://www.d7ux.org/
  4. Несколько весьма приятных улучшений в безопасности. При установке, пользователь может указать email-адреса для оповещения об обновлениях безопасности для сайта. Также введены ограничения на количество попыток залогинивания на сайт - для защиты от brute force атак. Ещё добавлены разрешения (permission) для доступа к update.php - вам ведь вряд ли хочеться раздавать пароль пользователя номер 1 кому не попадя. Ну и наконец самое главное - ssl в ядре! Smile

Замечания по релизу DRUPAL-7-0-UNSTABLE-8 (24 июля 2009)

  1. Сделали шикарную админ-панель. Пока она не такая как на макетах http://www.d7ux.org/header/ (например нет иконок), но это отличная основа для дальнейших улучшений.
  2. Обработка изображений в ядре! Вобщем мы добавили в ядро ImageCache, что позволит добавлять стили изображений ("image styles"), например миниатюра или обложка альбома с различными эффектами (поворот, масштабирование, обрезка и т.д.), которые могут быть применены к любым изображениям в системе, например к аватарам.
  3. Проделана куча работы чтобы добавить в ядро менеджер плагинов. "Что такое менеджер плагинов?", - спросите вы. Это например автоматическое обновление модулей самим друпалом.
    PS: Далее был текст, что библиотеки для работы по SSH/SFTP/FTP находятся в зачаточном состоянии, но т.к. в версии DRUPAL-7-0-UNSTABLE-9 сказано, что SSH в ядре, можно предположить, что этот пункт выполнен в полной мере.
  4. Модули Path и Search теперь включены по умолчанию в профиле установки, т.к. их включают 90% администраторов при установке друпала. Также теперь в ядре есть роль супер админа, ибо заведение этой роли - это второй шаг который делают 90% администраторов :).
    PS: Напоминаю, что в 7-ке теперь два установочных профиля - минимальный, включены только необходимые профили и "стандартный" профиль. Админская роль не похожа на роль гостя и авторизированного пользователя и работает немного по другому, рассказывать не буду - установите и посмотрите как это сделано Smile
  5. Изменена главная траница по умолчанию. Теперь вместо обширного текста о том что вы можете сделать на вашем новом сайте, который изчезал после первого размещённого материала, там будет короткий сообщение об отсутствии постов и предложением создать новые. А тот самый обширный текст перемещён в справку.
  6. Справка почищена, убраны ненужные и слишком подробные тексты.
  7. Вернули из небытия (читай - из Drupal 5) блок показа материалов определённого типа. Теперь в настройке блока будет выбор (checkbox) какие типы материалов в нём отображать.
  8. Заголовки элементов форм больше не выводятся с двоеточием в конце. Больше не будет заголовков типа: "Сколько вам лет?:"

Примечания к выпуску DRUPAL-7-0-UNSTABLE-1 (1 октября 2008)

  1. Стандартная сборка теперь включает в себя два профиля установки: основной профиль устанавливает типы документов Статья и Страница, словари таксономии и т.д. Страница проверки требований установщика стала выглядеть красивее и теперь больше похожа на страницу статуса.
  2. Из стандартной сборки удалены несколько модулей и посторонних возможностей: модули Throttle, Ping, правила доступа, ужасная страница настройки параметров комментариев и т.д.
  3. Добавлена возможность перетаскивать мышкой связок областей (результаты опроса, языки и т.д.), которые были пропущены в Drupal 6.
  4. Права доступа теперь имеют описания, а права доступа к документам теперь упорядочены по типам документам, а не по названиям прав.

Комментарии

Аватар пользователя kyky kyky 17 сентября 2009 в 15:02
"Dan" wrote:

например s3:// для Amazon S3

Лично для меня это повод напиться!!!

Аватар пользователя kosilko kosilko 17 сентября 2009 в 16:45

Разработчикам сайтов на друпале - новый рак мозга, чую пятой точкой тела. Ура? Знаем, что друпалу всегда "ура", слышали не раз Wink
Лучше расскажите о производительности, это было бы интереснее. Единственное что я лично пока оценил - это новый синтаксис db_query, интересненько так сделали. А про внедренный CCK, и при этом некие удаленные функции которые сочли "посторонними" - это уж извините, не избавляет друпал от нужды в напильнике, я бы конечно на месте разработчиков выпилил друпал подчистую оставив самое необходимое Smile

Аватар пользователя Dan Dan 17 сентября 2009 в 19:29
"kosilko" wrote:

Разработчикам сайтов на друпале - новый рак мозга, чую пятой точкой тела. Ура? Знаем, что друпалу всегда "ура", слышали не раз Wink

При переходе на новую версию чего бы то ни было разработчикам рак мозга обеспечен всегда и друпал - не исключение. А если на хотите разбираться с новым АПИ - нет проблем, оставайтесь на 6ке - она будет года полтора - два ещё поддерживаться.

"kosilko" wrote:

Лучше расскажите о производительности, это было бы интереснее.

Об этом пока говорить рано. Шустрые гоназалесы ещё могут много чего переделать/доделать, дождёмся хотя бы беты.

Аватар пользователя Mr.Alinaki@drupal.org Mr.Alinaki@drup... 17 сентября 2009 в 20:34

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

Аватар пользователя Demimurych Demimurych 17 сентября 2009 в 21:21
"Dan" wrote:

ССК в ядре! Да-а-а-а-а!!! Smile И это не говоря про Token, FileField, и Poormanscron!

ну что ж.

прощай друпал как cmf.

Аватар пользователя Mr.Alinaki@drupal.org Mr.Alinaki@drup... 17 сентября 2009 в 21:24

Да ладно, прощай. Если бардак из кода уберут, то станет только лучше. Ибо мне во всем почти нравится, кроме узких моментов с файлами, например.

Аватар пользователя gor gor 17 сентября 2009 в 21:48

меня смущает Poormanscron, так как замечана за ним проблема, если очередь запуска Poormanscron подошла, то загрузка страницы будет висеть пока крон не отработается. А если в крон засунуто дофига - тоестб предположительно на минут 5 обработки - то ваш сайт будет 5 минут в дауне (потому что все новые запросы к сайту - тоже крон пытаются запустить). Вот такая вот беда. Посему я его всегда рекомендую НЕ использовать.

Аватар пользователя Сашка Сашка 17 сентября 2009 в 21:56

Сегодня весь день ходил думал и говорил с Даном. Надо уже ставить щупать... щекотать:)

Аватар пользователя kosilko kosilko 17 сентября 2009 в 22:14
"gor" wrote:

меня смущает Poormanscron, так как замечана за ним проблема, если очередь запуска Poormanscron подошла, то загрузка страницы будет висеть пока крон не отработается.

насколько я понял про этот Poormanscron, то он тупо запускает крон-процедуры по окончании выдачи страницы. Ну это еще пол-беды, другая беда в том что запуск крона будет в этом случае запущен под логином того, на ком этот модуль внезапно решил включиться. Как оно скажется на индексировании поиском, неизвестно, если в нодах будут использоваться какие-нить поля раскиданные по ролям. Я вот к пимеру, цеплял в конец node.tpl.php для удобства админ-ссылки удалить/изменить, и потом запуская крон из админки был удивлен, что все эти ссылки оказались проиндексированными поисковым ядром друпала.

Аватар пользователя gor gor 17 сентября 2009 в 22:46

потому и стоит пользоваться серверным кроном, или на худой конец сервисом удаленного запуска крона (есть такие, даже халявные)

Аватар пользователя gor gor 18 сентября 2009 в 17:25
Dan wrote:

Вы чего все насчёт крона переполошились? Smile
Отключаете его в админке и запускаете средствами ОС (с ключом!): http://site.ru/cron.php?cron_key=aa66bc4128ae37ba103bbe693a7dcc7e[/quote]
для того и переполошился, что пользователи форума обратили внимание, и отключали эту фичу.

Аватар пользователя Сашка Сашка 18 сентября 2009 в 10:54
"Dan" wrote:

Вы чего все насчёт крона переполошились? Smile

Неофобия:) А по-моему, при выходе нового major-релиза, снова и снова прыгать в омут с головой просто здорово!

Аватар пользователя Dan Dan 18 сентября 2009 в 12:43

Добавил перевод изменений для конечных пользователей для релиза DRUPAL-7-0-UNSTABLE-8 (от 24 июля 2009)

Аватар пользователя Dan Dan 18 сентября 2009 в 19:26
"gor" wrote:

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

Тебе всё равно придётся это напоминать всем своим пользователям, ибо халява - зачем куда-то лезть, когда - вот оно! - поставил галочку и забыл Smile

Аватар пользователя RISK RISK 19 сентября 2009 в 2:27

Иду снизу Smile

Примечания к выпуску DRUPAL-7-0-UNSTABLE-1 (1 октября 2008)

Изменения для разработчиков

  1. Модуль SimpleTest, предназначенный для автоматического тестирования кода, входит теперь в стандартную сборку с гигантским количеством тестов. Теперь все эти тесты проходятся успешно, таким образом, вы можете использовать это в качестве руководства для определения того, какие из ваших патчей/модулей содержат недопустимый код. См.документацию модуля на странице http://drupal.org/simpletest. На странице http://acquia.com/files/test-results/index.html вы можете найти информацию об охвате тестированием стандартных файлов.
  2. Полностью новый API базы данных, известный как «Database: The Next Generation» (DBTNG). Это изменение повлекло за собой многие другие изменения, вы можете посмотреть описание нового API на странице http://drupal.org/node/310069.
  3. «Реестр кода» (code registry), который является набором таблиц в базе данных, содержащих все функции во всех модулях, что позволяет эффективнее работать с файлами на диске. Это изменение влечёт за собой изменение в файле .info. Дополнительную информацию по работе с файлом .info и реестром кода, смотрите на странице http://drupal.org/node/224333#registry.
  4. Визуальные текстовые редакторы теперь получили лучшую поддержку со стороны системы, благодаря новому свойству #input_format в своих тектовых областях (textareas).
  5. Инструмены обработки изображений (image toolkits),теперь могут быть частью дополнительных модулей. Это очень удобно, т.к. теперь вам не нужно копировать файлы вроде image.imagemagick.inc в папку includes.

Изменения для пользователей

  1. Стандартная сборка теперь включает в себя два профиля установки: основной профиль устанавливает типы документов Статья и Страница, словари таксономии и т.д. Страница проверки требований установщика стала выглядеть красивее и теперь больше похожа на страницу статуса.
  2. Из стандартной сборки удалены несколько модулей и посторонних возможностей: модули Throttle, Ping, правила доступа, ужасная страница настройки параметров комментариев и т.д.
  3. Добавлена возможность перетаскивать мышкой связок областей (результаты опроса, языки и т.д.), которые были пропущены в Drupal 6.
  4. Права доступа теперь имеют описания, а права доступа к документам теперь упорядочены по типам документам, а не по названиям прав.
Аватар пользователя Dan Dan 19 сентября 2009 в 3:40

2RISK - спасибо! Smile
Я просто хотел начать с актуального и спускать вниз - т.к. некоторый фичи допиливаются со временем, ожидал, что к низу уже ничего не останется переводить. Ну раз ты решил снизу, До встречи! )))

"MDinc" wrote:

Вам бы только кнопочки потыкать

Чем же я тебя бедолагу так задел, что в куче тем мне пытаешься язвить? Ты ж меня прости, не признал в тебе подростка гордаго, да отвечал тебе как взрослому, гандикапов заморских на возраст не давал - бес меня знать попутал, уж давай разойдёмся на форуме полюбовно да поровну: ты в свой уголок - "Поиск специалистов и работы", а я в остальных посижу поохаю - а то чего мы везде пересекаемся-то, так и язву тебе заработать не долог век.

Аватар пользователя kodo kodo 19 сентября 2009 в 7:38

А у меня с начала сайтостроительства появилась дурная привычка частенько просматривать код исходника - ну кто на чем сайт создал...
посмотрел: http://www.d7ux.org/
прикололо:

<link rel='index' title='Drupal 7 User Experience Project' href='http://www.d7ux.org' />
<meta name="generator" content="WordPress 2.8.4" />

Smile
Удивляют скептики. Проект развивается - это замечательно. Гемморой конечно есть, но он всегда будет. Видно что ребята поработали с умом, за что им и спасибо.
А я вот думаю, для экспириенса может какой сайт-визитку попробовать на 7 Друпале сделать? Smile

Аватар пользователя Dan Dan 19 сентября 2009 в 13:42
"kodo" wrote:

content="WordPress 2.8.4"

Wordpress помогает друпалу в юзабилити? Smile

"kodo" wrote:

А я вот думаю, для экспириенса может какой сайт-визитку попробовать на 7 Друпале сделать? Smile

Точно такая же мысль возникла! Серьёзный сайт делать - это самоубийство, а что-то маленькое - вполне!

Аватар пользователя andypost@drupal.org andypost@drupal.org 1 октября 2009 в 4:13
"Dan" wrote:

Performance-wise, we now ship with "smushed" images that are lighter on bandwidth, and we've now added a caching system to the render API which is currently implemented by blocks, and because it happens early in the page render cycle, it works for both authenticated users and with node access modules. Yum.
PS: не удалось адекватно перевести Smile

Ибо намешали в одну кучу

1) обработанные картинки - те уменьшили их в объеме,

2) кеширование в drupal_render

То есть можно теперь кешировать кусочно все что угодно, а учитывая, что модуль block теперь не обязательный и страница как и все остальное рендерится опционально - то вопрос быстродействия лишь в прямоте рук разработчиков.

Так что очень напрасно -

"Demimurych" wrote:

прощай друпал как cmf.

Аватар пользователя andypost@drupal.org andypost@drupal.org 1 октября 2009 в 6:07

А вот по поводу Poormanscron как-то не обратил внимание, нужно внимательно ознакомиться ...

С другой стороны очень важное нововведение, что теперь многие вещи можно делать из командной строки, в частности запуск хрона, что само по себе уже не будет напрягать сервер!!!

По-умолчанию он действительно включен, что далеко не всех радует, но это дело отключается всего лишь выставлением одной переменной cron_safe_threshold в 0 или на страице admin/config/system/site-information

Предложения и пожелания направляются сюда, но только после внимательного прочтения, а, господа, хостеры готовимся к головняку, ибо каждый вызов страницы будет по-умолчанию делать 2 вызова Sad

И все из-за UX - подавляющее количество пользователей не в состоянии настроить хрон и даже знать ничего о нем не хотят... Вот и будет развлекалово отличать "нубо-сайты" по поднопиксельному гифу или JS, который будет вызывать хрон на каждой странице... так что помогаем доработать JS вариант!

Аватар пользователя antey antey 24 ноября 2009 в 10:18

Такой вопрос.
Насколько катастрофичным в свете стольких изменений будет апдейт друпал 6 => 7 ?

Аватар пользователя Dan Dan 25 ноября 2009 в 5:56

Это зависит от разработчиков модулей.
Плюс, если учесть множество изменений в темизации, то и без модулей будет много работы.
Считаю, что апгредиться особого смысла не имеет - лучше оставить сайты на 6-ке и сидеть на обновлениях. А новые - делать на 7-ке.

Аватар пользователя Valeratal Valeratal 25 ноября 2009 в 12:52

а лучше на новогодних празниках(следующих) Smile
(учитывая вьюсы, наличие нормальных переводов)

Аватар пользователя Valeratal Valeratal 25 ноября 2009 в 13:13

это и пугает Smile
как будут работать imagecache, imagefield уже не с CCK, с ядром?
не придется ли вставлять картинки заново?

Аватар пользователя Dan Dan 25 ноября 2009 в 14:56
"Nikit" wrote:

к осени скорее всего можно будет смело переходить.

Я думаю раньше - долгая история с апгрейдом контриба не должна повториться.

"Valeratal" wrote:

это и пугает Smile
как будут работать imagecache, imagefield уже не с CCK, с ядром?
не придется ли вставлять картинки заново?

Уже работают. А если учесть, что ССК - это уже часть ядра, то апгрейд должен быть более-менее гладким.

Аватар пользователя Nikit Nikit 25 ноября 2009 в 15:30
"Dan" wrote:

Я думаю раньше - долгая история с апгрейдом контриба не должна повториться.

Ну возможно, хотя я бы не спешил.

Аватар пользователя gor gor 25 ноября 2009 в 16:15

Меня беспокоит производительность.
Надеюсь с ней что то придумают кардинальное, ибо это реальная проблема на сейчас.

Аватар пользователя andypost@drupal.org andypost@drupal.org 25 ноября 2009 в 17:57

cck и fieldapi всё-таки очень разные вещи и до сих пор нет идеи, как перегонять из 1го во второе, хотя это решается по сути модулем конвертером.

Производительность, пока еще ничего не говорит, так как нет реальных приложений, которые используют заложеное. Тупо сравнивать вывод первой страницы! Да и ведется активная работа в данном направлении

Аватар пользователя gor gor 25 ноября 2009 в 19:20

У нас в торонто недавно был ежемесячный сбор друпал любителей.
James Walker - какраз очень нелестно с грусным выражением лица отзывался о производительности и напоминал что в том направлении надо работать и помочь не помешает.

PS встреча была посвящена новинкам в D7