Занятие №8 в рамках Курсов программирования Ruby on Rails.
Группа курсов «ВКонтакте»: http://vk.com/ruby_school
Организатор — Агентство интернет-маркетинга Мэйк makeagency.ru. Курсы проводятся на базе Кузбасского государственного технического университета, кафедры «Информационные и автоматизированные производственные системы».
01 - Web-технологии. Архитектура Web приложенийRoman Brovko
1. Понятие URL и документа
2. Виды документов: HTML, CSS, JS, JSON.
3. Абсолютные и относительные URL
4. Правила разрешения URL-ов
5. Гиперссылки
6. Клиент-серверная архитектура
Занятие №8 в рамках Курсов программирования Ruby on Rails.
Группа курсов «ВКонтакте»: http://vk.com/ruby_school
Организатор — Агентство интернет-маркетинга Мэйк makeagency.ru. Курсы проводятся на базе Кузбасского государственного технического университета, кафедры «Информационные и автоматизированные производственные системы».
01 - Web-технологии. Архитектура Web приложенийRoman Brovko
1. Понятие URL и документа
2. Виды документов: HTML, CSS, JS, JSON.
3. Абсолютные и относительные URL
4. Правила разрешения URL-ов
5. Гиперссылки
6. Клиент-серверная архитектура
Moodle с точки зрения пользователя и программистаIgor Sazonov
Описание обычных действий администратора Moodle и то что происходит со стороны программиста: обзор полезных функций, контекст в Moodle, система ролей, работа с MySQL и Postgresql
Moodle с точки зрения пользователя и программистаIgor Sazonov
Описание обычных действий администратора Moodle и то что происходит со стороны программиста: обзор полезных функций, контекст в Moodle, система ролей, работа с MySQL и Postgresql
This document is a presentation in Russian on Drupal given at Drupal Camp Kyiv 2009. It discusses what Drupal is, highlights that it is the most active and collaborative CMS, explores modules, themes, and other features. It notes challenges like the learning curve and need for alternative administration interfaces. Tips are provided on how to better solve problems like using installation profiles, sample code, and command line tools like Drush. The presentation encourages attendees to embrace Drupal and contact the speaker for free resources.
The document discusses creating a gallery API for Drupal. It analyzes existing gallery modules, identifies problems with current approaches, and proposes a new gallery API solution with reusable methods for retrieving data and displaying images across modules.
This document summarizes some of the key differences in Drupal 7 development compared to earlier versions, including changes to hook functions, the introduction of a registry database, moving to object-oriented database queries using PDO, and recommendations for best practices when working with the database and documentation.
Drupal can be used on the .NET framework by leveraging tools like Phalanger, which allows PHP code to run on .NET. Phalanger has issues being outdated, buggy, and lacking features. However, Drupal could potentially become fully integrated as a .NET citizen if these issues were addressed. The document discusses .NET technologies and frameworks and how they relate to using Drupal within .NET applications and environments.
46. Использование разных баз данных (1) Подключение к базе обычно задаётся в файле settings.php так: $db_url = 'mysqli://user:password@localhost/site1'; $db_prefix = '';
47. Использование разных баз данных (2) Вместо префикса указываем имя базы данных: $db_url = 'mysqli://user:password@localhost/site1'; $db_prefix = array( 'default' => '', 'authmap' => 'shared.', // Перечислить все общие таблицы... 'users' => 'shared.', );
Что такое мультисайтинг и зачем он нужен. Друпал не проектировался для мультисайтинга с общими пользователями и/или контентом — причины и последствия использования мультисайтинга.
filters и filter_formats — форматы ввода. Можно делать общими. Если на одном из сайтов будет использоваться специфичный формат ввода, которого не должно быть на других сайтах - не делать общими. locales_* — переводы. Таблицы обычно имеют большой размер. Делать общими можно при условии, что для всех сайтов используется одинаковый перевод. role — роли на сайте (анонимный, зарегистрированный, модератор, админ). Можно делать общими. permission — права ролей на хуки, предоставляемые модулями. Можно делать общими. users — пользователи сайта. users_roles — роли пользователей сайта.
access — блокировка по IP, имени пользователя, e-mail. Если блокировка не используется, то можно смело делать общей. Для крупных сайтов можно разделить. authmap — таблица для внешних аутентификаций (LDAP, OpenID). Если не используется внешняя аутентификация — можно смело делать общей (пустая таблица). Если же используется, то делать общими если нужно сделать объединение пользователей. flood — таблица используется для ограничения количества запусков определеных участков кода в основном для предотврацения спама - N запусков в час. Используется для этих целей многими модулями, которые, например, которые делают рассылку (email, feedback, ass_contact, forward), а также модулем Contact. system — инфа о установленных модулях и темах. Объединяю, предварительно закинув нужные файлы в /sites/all/modules и /sites/all/themes. sessions — сеансы пользователей.Делать общими нужно, чтобы пользователи могли быть залогинеными на нескольких сайтах одновременно. См. Общая база пользователей в мультисайтинге In my opinion, the 'sessions' table should not be shared! Otherwise users logged in at one site are shown at all sites as logged in. Moreover, a certain user logged in at two sites is shown twice at all sites. Keeping the sessions table individual prevents this. Are there other arguments to share the table?
comments — комментарии. files и file_revisions — файлы. node и node_* — контент сайта. term_* — термины таксономии. view_* — виды. vocabulary и vocabulary_node_types — словари таксономии.
blocks — таблица блоков у сайта. Название блока, где отображается, вес, и т.п. blocks_roles — доступ ролей к блокам. boxes — текст (код) самого блока. cache и cache_* — кэши. history — используется для форумов, последние непрочитанные сообщения. Если на сайтах не будет форумов — можно объединить. См. Общий контент в мультисайтинге. menu — меню сайта. sequences — информация о количестве нод, комментариев, пользователей. В Drupal 6 отсутствует, так как в таблицах введен автоинкремент для id. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Лучше разделить. url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Для себя выбрал вариант — не совмещать. variable — переменные сайта. Из-за присутствия специфичных переменных, вроде site_name (имя сайта), site_slogan, theme_default, pathauto_* совместить не получится. watchdog — журнал ошибок сайта. Совместить можно, но крайне нежелательно, ибо при большом количестве сайтов в админке сложно смотреть такие журналы — всё валится в одну кучу. В PhpMyAdmin можно будет задать фильтр по столбцу location, но это не удобно.
blocks — таблица блоков у сайта. Название блока, где отображается, вес, и т.п. blocks_roles — доступ ролей к блокам. boxes — текст (код) самого блока. cache и cache_* — кэши. history — используется для форумов, последние непрочитанные сообщения. Если на сайтах не будет форумов — можно объединить. См. Общий контент в мультисайтинге. menu — меню сайта. sequences — информация о количестве нод, комментариев, пользователей. В Drupal 6 отсутствует, так как в таблицах введен автоинкремент для id. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Лучше разделить. url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Для себя выбрал вариант — не совмещать. variable — переменные сайта. Из-за присутствия специфичных переменных, вроде site_name (имя сайта), site_slogan, theme_default, pathauto_* совместить не получится. watchdog — журнал ошибок сайта. Совместить можно, но крайне нежелательно, ибо при большом количестве сайтов в админке сложно смотреть такие журналы — всё валится в одну кучу. В PhpMyAdmin можно будет задать фильтр по столбцу location, но это не удобно.
При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
Модуль Shared Sign-On не обновлялся уже почти год и в данный момент считается заброшенным: http://drupal.org/node/463408 «Mark singlesignon as abandoned».
Обратите внимание: если делать контент общим и показывать его на всех сайтах, то будет дублированный контент на разных сайтах. Это не любят ни люди, ни поисковики. Решение проблемы дублированного контента при общем контенте в мультисайтинге: Разделить контент по типам материалов и на каждом сайте выводить определенный тип материала модулем Views или сниппетом.
http://drupal.org/node/132361#comment-222070 «Pretty much what you had» - комментарий Cloudy о том, какие таблицы нужно делать общими для общей базы пользователей.