Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...LEDC 2016
This document discusses Field Storage APIs in Drupal and strategies for optimizing field and entity storage. It covers:
1. The anatomy of the node_save() function and how fields are attached and saved.
2. Optimizing field storage performance by saving 1,000,000 nodes in 1 second through techniques like storage level caching and bulk updates.
3. The history of field and entity storage in Drupal from CCK to Drupal 7 and considerations for custom field storage implementations.
Денис Головняк - Продвинутый поиск с помощью Search APILEDC 2016
The document discusses the Search API module for Drupal. It provides an advanced search framework that abstracts from data sources and backend implementations. It allows creating searches that can index any data and integrate with Views. Extensions exist for backends like Solr, databases, and other search engines. Features include facets, autocomplete, spellcheck, and the ability to freely configure the indexing workflow. Recipes are provided for subtitle and location-based searches out of the box.
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APILEDC 2016
Drupal Form API is one of the major subsystems in Drupal. For sure, every Drupal developer had dealt with forms. However, Form API hides surprises as well.
Author - Taras Kruts
Complexity level: intermediate
Follow Taras on Twitter - @ribel
Find out more about Drupal at http://blog.lemberg.co.uk/
Артем Сыльчук - Хранение полей в Drupal. От CCK к FieldableEntityStorageContr...LEDC 2016
This document discusses Field Storage APIs in Drupal and strategies for optimizing field and entity storage. It covers:
1. The anatomy of the node_save() function and how fields are attached and saved.
2. Optimizing field storage performance by saving 1,000,000 nodes in 1 second through techniques like storage level caching and bulk updates.
3. The history of field and entity storage in Drupal from CCK to Drupal 7 and considerations for custom field storage implementations.
Денис Головняк - Продвинутый поиск с помощью Search APILEDC 2016
The document discusses the Search API module for Drupal. It provides an advanced search framework that abstracts from data sources and backend implementations. It allows creating searches that can index any data and integrate with Views. Extensions exist for backends like Solr, databases, and other search engines. Features include facets, autocomplete, spellcheck, and the ability to freely configure the indexing workflow. Recipes are provided for subtitle and location-based searches out of the box.
Тарас Круц - Tips On Getting Everything You Can Out of Drupal Form APILEDC 2016
Drupal Form API is one of the major subsystems in Drupal. For sure, every Drupal developer had dealt with forms. However, Form API hides surprises as well.
Author - Taras Kruts
Complexity level: intermediate
Follow Taras on Twitter - @ribel
Find out more about Drupal at http://blog.lemberg.co.uk/
Анатолий Поляков - Drupal.ajax framework from a to zLEDC 2016
This document discusses Drupal's AJAX framework and how it can be used to build AJAX functionality into forms and other elements. It provides examples of using the framework to add AJAX features to forms, blocks, and links. Commands are used to manipulate the DOM and return HTML. Custom commands can also be added. The framework handles most business logic on the backend and allows building complex AJAX functionality with little required JavaScript code.
Чеботарь Кирилл - Panels - пособие для начинающихLEDC 2016
This guide provides beginners with information on installing, enabling, and using Drupal's Panels module to create customizable layouts and pages. It covers creating panel pages and landing pages, editing node templates and variants, applying selection rules and context, adding content like page elements and widgets, choosing panel layouts, and styling panes and regions with panel styles. The goal is to showcase the main capabilities and components of the Panels module.
Караиванов Георгий - Drupal в проектах Электронного правительстваLEDC 2016
This document summarizes an e-government system implemented in Moldova using Drupal over several years. It began in 2007 as a tender project for tax reporting forms for the State Tax Service, and has since expanded to over 100 Drupal projects serving society, government, and business. The system now has over 22500 users submitting over 1400000 reports annually. It has required ongoing hardware upgrades, software optimizations, and support solutions to handle increased usage and new features. The goal is for citizens and businesses to be able to complete government procedures entirely online through interconnected platforms.
Березовский Андрей - Social AuthenticationLEDC 2016
This document summarizes social authentication options in Drupal. It discusses using external services, third-party libraries, or building solutions directly via social APIs. The author recommends the "one ring to rule them all" approach of a single module supporting multiple providers. Benefits include code reuse and consistency. The HybridAuth module is highlighted as providing a unified API, extensive configuration options, and developer features like tokens and rules integration for social identities management.
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектовLEDC 2016
The document discusses integrating Apache Solr with Drupal for e-commerce search capabilities. It covers topics like using the Search API and Facet API modules, configuring custom fields and facets in Solr, dealing with reindexing issues, and additional modules for features like autocomplete. The presentation was given by Ivan Fesyuk on integrating Drupal Commerce with Apache Solr at the Lviv Euro DrupalCamp 2013.
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)LEDC 2016
This document outlines common mistakes made by Drupal developers and provides recommendations to avoid them. It discusses incorrect file locations, using different versions of modules, editing code files improperly, including code in content, neglecting caching, including unused modules, and using simple solutions. The author is Alexey Kolosov, a system administrator at IT Patrol inc.
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
Сергей Коржнев
Архитектор версии 1.4 2ГИС Web API
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Тезисы:
● Как организован код в старой версии.
● Вдумчиво смотрим, как мы используем Yii, хватаемся за голову и клавиатуру. Там отрезаем, тут пришиваем, и вуаля!
● Ну и делаем выводы, как мы забороли две классические проблемы программирования: борьба с дублированием кода и сложностью системы.
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
Недавно запустили новый сайт Тинькофф.
У нас есть желание поделиться с аудиторией подходом и опытом разработки большого изоморфного приложения на React.js и Flux. Меньше чем за год мы разработали новый сайт и интернет-банк, заложив платформу на ближайшие несколько лет для быстрой разработки фронтенда новых продуктов.
Сейчас tinkoff.ru насчитывает более 3000 компонентов и сотни страниц.
Comparing Drupal CMS with Raw PHP coding. Presentation for AISEC conference ItEvent09 - http://aiesec-if.in.ua/news/88-it-event-anounce
inspired by Drupal Camp 2009 (http://camp09.drupal.ua/)
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
Анатолий Поляков - Drupal.ajax framework from a to zLEDC 2016
This document discusses Drupal's AJAX framework and how it can be used to build AJAX functionality into forms and other elements. It provides examples of using the framework to add AJAX features to forms, blocks, and links. Commands are used to manipulate the DOM and return HTML. Custom commands can also be added. The framework handles most business logic on the backend and allows building complex AJAX functionality with little required JavaScript code.
Чеботарь Кирилл - Panels - пособие для начинающихLEDC 2016
This guide provides beginners with information on installing, enabling, and using Drupal's Panels module to create customizable layouts and pages. It covers creating panel pages and landing pages, editing node templates and variants, applying selection rules and context, adding content like page elements and widgets, choosing panel layouts, and styling panes and regions with panel styles. The goal is to showcase the main capabilities and components of the Panels module.
Караиванов Георгий - Drupal в проектах Электронного правительстваLEDC 2016
This document summarizes an e-government system implemented in Moldova using Drupal over several years. It began in 2007 as a tender project for tax reporting forms for the State Tax Service, and has since expanded to over 100 Drupal projects serving society, government, and business. The system now has over 22500 users submitting over 1400000 reports annually. It has required ongoing hardware upgrades, software optimizations, and support solutions to handle increased usage and new features. The goal is for citizens and businesses to be able to complete government procedures entirely online through interconnected platforms.
Березовский Андрей - Social AuthenticationLEDC 2016
This document summarizes social authentication options in Drupal. It discusses using external services, third-party libraries, or building solutions directly via social APIs. The author recommends the "one ring to rule them all" approach of a single module supporting multiple providers. Benefits include code reuse and consistency. The HybridAuth module is highlighted as providing a unified API, extensive configuration options, and developer features like tokens and rules integration for social identities management.
Иван Фесюк - ApacheSolr+DrupalCommerce связка для высоко нагруженых проектовLEDC 2016
The document discusses integrating Apache Solr with Drupal for e-commerce search capabilities. It covers topics like using the Search API and Facet API modules, configuring custom fields and facets in Solr, dealing with reindexing issues, and additional modules for features like autocomplete. The presentation was given by Ivan Fesyuk on integrating Drupal Commerce with Apache Solr at the Lviv Euro DrupalCamp 2013.
Алексей Колосов - Типичные ошибки разработчиков на Drupal (версии 5,6,7)LEDC 2016
This document outlines common mistakes made by Drupal developers and provides recommendations to avoid them. It discusses incorrect file locations, using different versions of modules, editing code files improperly, including code in content, neglecting caching, including unused modules, and using simple solutions. The author is Alexey Kolosov, a system administrator at IT Patrol inc.
Архитектура кода нового 2ГИС Web API или куда мы дели MVCDevDay
Сергей Коржнев
Архитектор версии 1.4 2ГИС Web API
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
Тезисы:
● Как организован код в старой версии.
● Вдумчиво смотрим, как мы используем Yii, хватаемся за голову и клавиатуру. Там отрезаем, тут пришиваем, и вуаля!
● Ну и делаем выводы, как мы забороли две классические проблемы программирования: борьба с дублированием кода и сложностью системы.
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
Недавно запустили новый сайт Тинькофф.
У нас есть желание поделиться с аудиторией подходом и опытом разработки большого изоморфного приложения на React.js и Flux. Меньше чем за год мы разработали новый сайт и интернет-банк, заложив платформу на ближайшие несколько лет для быстрой разработки фронтенда новых продуктов.
Сейчас tinkoff.ru насчитывает более 3000 компонентов и сотни страниц.
Comparing Drupal CMS with Raw PHP coding. Presentation for AISEC conference ItEvent09 - http://aiesec-if.in.ua/news/88-it-event-anounce
inspired by Drupal Camp 2009 (http://camp09.drupal.ua/)
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
Разговор в докладе пойдёт о веб-программировании.
При изготовлении веб-проектов то и дело пользуются широко распространёнными фреймворками на базе языков программирования — PHP, Python, Perl, Ruby, Go, Rust, Java и т.п.
Я предлагаю отказаться от употребления оных и использовать для разработки веб-приложений только c2h5oh — расширение для высокопроизводительного сервера nginx. Данное расширение позволяет эффективно использовать PostgreSQL в качестве сервера веб-приложений.
Хочу поделиться со слушателями своим личным опытом разработки с использованием подобной связки. Планирую рассказать о плюсах и минусах такого подхода.
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее?
* Как работает Change Detection механизм и как им управлять?
* Зачем нам Zone.js и Функциональное Реактивное Программирование?
* Как работать с Redux и Mobx в Angular 2 и что можно от этого выиграть?
Об этом и ряде других вещей вы узнаете из этого доклада.
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)Ontico
* Почему Angular 2 такой быстрый и как его ускорить еще сильнее?
* Как работает Change Detection механизм и как им управлять?
* Зачем нам Zone.js и Функциональное Реактивное Программирование?
* Как работать с Redux и Mobx в Angular 2 и что можно от этого выиграть?
Об этом и ряде других вещей вы узнаете из этого доклада.
Що робити і як для того, щоб якість роботи зростала? Звідки береться мотивація? Як ростити свою команду так, щоб був результат? Власний досвід спікера.
З результатами проведення практикуму можна ознайомитися за посиланням: https://goo.gl/xnOQO0
Генадій Колтун — Комунізм наступає: що будемо робити, коли машини навчаться п...LEDC 2016
Нейронні мережі, генетичні алгоритми, однорукі бандити наступають. Скоро вони доберуться і до веб-розробки. Які функції залишаться за людиною, а що відійде до роботів назавжди?
Андрій Юн — Воркшоп "Docker use cases for developers"LEDC 2016
This document outlines several use cases for Docker including using containers as a service, as a tool, for local development environments, and for building Drupal applications with GitLab. It also provides contact information for Andriy Yun, the author based in Kyiv, including his email, Drupal profile, and Skype details.
This document provides an overview of key concepts in Drupal 8 including common framework subsystems, routing, the form API, libraries, and multilingual configuration. It also encourages migrating Drupal 7 modules to Drupal 8 and leveraging object-oriented programming practices and dependency injection. Developers are directed to documentation and examples for implementing routing, forms, plugins, and integrating modules with Views.
Тарас Кирилюк — Docker basics. How-to for Drupal developersLEDC 2016
Docker для чайників. Просто про складне. Використання для локальної розробки. Як Docker може спростити автоматизацію CI Workflow. Досвід використання на реальних Drupal проектах.
Тарас Круц — Open Social: brand new Drupal 8 distro for building social netwo...LEDC 2016
Досвід роботи спікера в команді нового і амбіційного дистрибутиву на Drupal 8 для різноманітних спільнот та соціальних мереж, про архітектуру, особливості цього проекту та подальші плани.
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
Олександр Щедров — Build your application in seconds and optimize workflow as...LEDC 2016
Створення білда для проекту є дуже інтенсивним і складним процесом. Доповідь присвячена різним інструментам та технікам, які допоможуть прискорити цей процес та сконцентруватись на результаті.
This document discusses practices for using subdomains with Drupal websites. It outlines goals like moving nodes, content, terms, and custom pages to subdomains. It reviews existing contrib modules for subdomain processing and notes issues. It proposes a custom subdomain module with hook_url_outbound_alter and controller functions to alter domains and check them. Configuration steps are provided along with addressing potential search engine indexing problems.
Сергій Бондаренко — Тестування Drupal сайтiв з допогою TqExtensionLEDC 2016
This document provides information about the TqExtension testing framework. It discusses features like adding an API for describing objects for testing, passing arguments to login steps, fixing issues, transforming arguments, grouping scenarios, using tags to hook into the process, and using Selenium Grid. It also describes a Vagrant box created for the event that is ready to run Selenium and Behat tests with provisioning scripts.
Вадим Абрамчук — Big Drupal: Issues We MetLEDC 2016
This document summarizes the challenges faced with a large Drupal site handling real estate data. It discusses importing large amounts of node and entity data, performance issues caused by memory leaks, and solutions for optimizing indexing and caching when using Solr search on a site with millions of nodes. Tuning garbage collection, offloading processing to queues and batches, and parallelizing indexing are recommended to improve performance of importing and updating large quantities of data on the site.
Юрій Герасимов — Delayed operations with queuesLEDC 2016
This document discusses using queues to process time-consuming jobs asynchronously in Drupal to improve website performance and scalability. It provides examples of use cases for queues like preparing content for other platforms, generating content in advance, handling comment submissions, processing images, and integrating with external data sources. It also describes some implementations of queue APIs in Drupal and common queue runners as well as limitations of the current queue APIs.
Віталій Бобров — Web components, Polymer and DrupalLEDC 2016
Web Components allow the creation of reusable UI widgets using open web technologies like Shadow DOM, HTML Templates, and Custom Elements. The Web Components specification defines these technologies. Polymer makes it easier to build custom elements that work like standard elements through features like encapsulation, templating, and declarative data binding. In Drupal, the Web Components API module provides a polyfill for browser support and APIs for defining and loading components, while the Polymer API module handles loading the Polymer library and elements. Both modules welcome community contributions.
Олександр Щедров та Альбіна Тюпа — Magic button. Can production releases be s...LEDC 2016
This document discusses the benefits of continuous integration (CI) workflow for software development projects. It states that using CI workflow is 90% of success and outlines reasons like enabling seamless releases, high quality code with fewer bugs, easy maintenance of environments, and ensuring everything is under control. The document also provides technical details of CI workflow, emphasizing automating everything through code-driven development with no manual steps and sharing a CI setup called CIBox that the authors use. It claims that with CI workflow, teams are more productive and collaborative and clients experience fewer bugs and shorter time between ideas and software.
3. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
План действий
1. Анализ структуры данных и ЧПУ
2. Анализ источников трафика
3. Создание новой структуры
4. Подготовка данных
5. Миграция данных
6. Настройка переадресации
7. Внутренняя SEO-оптимизация
8. Запуск
9. Анализ последствий
4. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Анализ структуры данных и ЧПУ
http://site.com/en?c=front&m=brand&bid=767&d=true
Имя модели ID модели Расширенная версия
Текущий язык
Имя контроллера
6. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Создание новой структуры
id brand model description details
Integer Integer text Longtext Serialized
$taxonomy_term->field_source_id
$taxonomy_term->field_old_url
$node->field_source_id
$node->field_old_url
$field_collection->source_id
$field_collection->field_old_url
7. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Подготовка данных
1. Установка и настройка инструментов миграции
2. Настройка обработки полей, содержащих html (внешние и внутренние ссылки,
изображения, преобразование html-тегов)
3. Настройка обработки полей мета-тегов
4. Настройка переноса файлов
11. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Настройка переадресации
Средства Drupal
1. Для главной страницы — версия сайта и языковый субдомен.
Решение: Средства сервера или JavaScript (User-agent, Cookies).
2. Для внутренних страниц — адрес, версия сайта и субдомен.
Решение: Модуль Redirect и JavaScript.
13. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Настройка переадресации
Миграция адресов
Source
Base url, query params,
language
Destination
System path, query params,
fragment, language
14. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Настройка переадресации
Переадресация «на лету» по маске
Page not found - 404
redirect_get_current_redirect()
drupal_get_query_parameters()
drupal_goto()
15. Lviv EEuurroo DDrruuppaallCCaammpp 22001144
Настройка переадресации
С помощью JavaScript
Проверить наличие Cookie версии сайта
Есть
Перенаправить
Нет
Записать Cookie Определить устройство