Привіт всім. Я вам хочу розповісти про стандартний модуль, який входить в базову збірку Drupal 7. Я вже не раз розгортав сайт на базі Drupal 7, але жодного разу не звертав увагу на такий модуль, як “Book”. Які ж можливості цього модуля? Для чого він?
З назви модуля випливає, що ми можемо створювати підшивки матеріалів (книги). У вас з'являється можливість створювати різного виду інструкції, актуальні питання (FAQ), опис модулів, відібрані матеріали користувачів і т.д.
За замовчуванням цей модуль вимкнений. Для того щоб його увімкнути, ви повинні перейти за посиланням — admin > content > book > settings
Використання
- Управління книгами. Для книг можна окремо призначити права для створення, редагування та видалення сторінок; створення документів в книгах і створення нових книг. Користувачі з правом «Управління змістом книг» можуть додавати в книги документи всіх типів. Вони також можуть переглядати список всіх книг, правити і змінювати порядок сторінок.
- Меню книги. Крім додаткових елементів, які показуються в документі, який входить до книги, модуль генерує блок зі специфічними для книг посиланнями, який можна налаштувати в розділі керування блоками.
- Спільна робота. Книги можуть редагуватися спільно, оскільки вони дозволяють користувачам з відповідними правами створювати в книзі нові сторінки і включати в зміст книги будь-які сторінки сайту.
- Друк книг. Користувачі з правом «Перегляд версії для друку» будуть бачити на сторінках книги посилання для переходу до перегляду такої версії.
Книга (підшивка) в порівнянні з таксономією (класифікацією)
Класифікацію створює адміністрація сайту. Автори статей отримують можливість обрати потрібну рубрику в класифікації. Але часто вони роблять вибір неправильно або класифікація не передбачає якихось рідко вживаних варіантів.
Підшивка (книга) готових статей — це спосіб для адміністрації об'єднати матеріали на одну тему, створені різними авторами. І таксономія, і книга розкладають матеріал по поличках. Але якщо в таксономії автори самостійно обирають потрібну рубрику, то підшивку (книгу) створює адміністрація у відповідності зі своїми потребами.
Також в таксономії під кожен елемент рубрики створюється окремий потік інформації. У ньому з'являються час від часу статті, якість їх може бути абсолютно різною, від хорошої до абсолютно дилетантської, або взагалі стаття може бути не в тему. А в підшивку відбираються тільки найкращі статті.
Тому підшивка завжди компактніша, ніж таксономія, і якість підшивки завжди вища, ніж якість таксономії. Можна сказати, що таксономія ділить весь потік інформації на динамічні потоки різних тематик. А підшивка (книга) старанно відбирає з усіх матеріалів найкраще і відповідне по темі підшивки, збираючи відібране в зручному для перегляду вигляді.
Підшивка (книга) створюється працею багатьох авторів. Модуль "book" доводить ідею спільної праці до кінця і дозволяє включати в підшивку сторінки, створені спільною працею багатьох авторів. Назву такі сторінки суспільними. Якщо в звичайних статтях і коментарях авторство строго підтримується і редагувати текст може тільки адміністрація та редактори, то в суспільних сторінках коло редакторів збільшується до кола користувачів, які отримали право на редагування суспільної сторінки. У це коло можна включити навіть гостей. Причому в якості учасника суспільної сторінки показується останній автор, який вносив зміни.
Ведеться історія версій. Користувачі з відповідними правами можуть використовувати систему контролю версії для переходу між ними. Для зручнішого показу цих версій можна використати модуль Diff.
Приклади використання модуля:
- Документація на drupal.org написана за допомогою цього модуля https://www.drupal.org/documentation/modules/
- На головній сторінці книги ви можете побачити такі посилання:”назва попередньої сторінки”, “на рівень вгору”, “назва наступної сторінки”. (це ознаки використання модуля “Book”)
- Яскравим прикладом використання цього модуля є сайт, який повністю побудований на цьому модулі, багато хто з вас його використовував, але не підозрював це. http://githowto.com/
Рекомендації
- З перших днів життя сайту використовуйте можливості підшивки чужих матеріалів для створення хоча б FAQ. Підшивки можна робити навіть на сайтах з парою десятків статей.
- Коли трохи наб'єте руку на створенні підшивок і на сайті з'явиться співтовариство, переходите до освоєння суспільних сторінок. Зробіть для старту підшивку з декількома сторінками з інструкціями, що відображають тематику сайту. Поясніть відвідувачам з правом редагувати суспільних сторінок, що від них очікується допомога у редагуванні.
- Тільки коли співтовариство на сайті дуже велике і можливостей book перестане вистачати, тільки тоді можна подумати про (але не ставити) wiki-модулі. Межа, до якої навіть і думати про wiki не варто, це 5-10 тисяч відвідувачів на день. Модуля Book для обслуговування такої спільноти вистачає "на ура".
Для прикладу, на сайті Drupal.org більш ніж 22,4 мільйона унікальних відвідувачів на місяць. Там через підшивки ведеться FAQ, документація модулів. Але wiki-модулі на Drupal.org чомусь не ставлять, хоча сили спільноти Drupal.org цілком вистачило б наповнювати wiki матеріалами і підтримувати їх.
Справа в тому, що концепцію wiki знають всі, навіть не друпалісти, а концепцію book - одиниці з друпалістів.
Модулі, які розширюють стандартні можливості модуля:
Outline Designer — модуль, який робить управління книгами більш інтуїтивним
Hidden Nodes — модуль, який додає систему, аналогічну публікувати / не опублікувати вузл (ноду) з розмежуванням по ролях
Book Copy — модуль, який дозволяє користувачам копіювати повні книги або піддерева книг.
Book Title Override — модуль, який дозволяє змінити заголовок сторінки, яка відображається в меню
Book Library — модуль, який дозволяє класифікувати книги за категоріями, це надає можливість легшого керування ними
Booktree — модуль, який відображає ієрархію у вигляді дерева для однієї книги
Diff показує різницю між версіями сторінок в книзі
Опис роботи з модулем
Налаштування для типів контенту:
Список ваших підшивок виглядатиме так:
Список сторінок підшивки:
Примітка: якщо змінити заголовки сторінок, то вони зміняться не лише в списку меню, а і на самих сторінках.
Головна сторінка книги:
Для навігації по підшивках можна використати стандартний блок, який нам надає модуль.
Для того щоб його почати використовувати, достатньо його увімкнути на сторінці керування блоками.
(admin > structure > block)
Приклад однієї сторінки підшивки. Головною відмінністю від головної сторінки є те, що відсутній блок з показом ієрархії всіх сторінок (між вмістом сторінки і посиланнями).
Під час створення сторінки для підшивки знизу сторінки потрібно обрати книгу і батьківський елемент.
Права доступу
Для зручнішого редагування книги можна використати модуль Outline Designer. Результат роботи модуля:
Модальне вікно додавання сторінок :
Налаштування модуля: (admin > content > book > settings)
(admin > content > book > outline_designer)
Для того щоб приховати показ деяких сторінок, можна використати модуль Hidden Nodes.
Налаштування модуля:
Права доступу:
Якщо вам потрібно створити копію підшивки разом з всіма сторінками, можна використати модуль Book Copy. Результат роботи модуля:
Після переходу за посиланням “copy book” вам надаєтся можливість назвати копію книги. Всі сторінки даної книги будуть автоматично скопійовані.
Якщо вам потрібно змінити назву сторінки, яка відображається в змісті книги, можна використати модуль Book Title Override.
Приклад використання модуля:
Для того щоб створити категорізацію книг, можна використати модуль Book Library. Результат роботи модуля:
Для того щоб був відсутній notice, потрібно встановити дев-версію (пруф). Увага: після додання цього модуля Book Copy перестав працювати. Для кращого управління системою контролю версій можна використати модуль Diff. Результат без модуля Diff:
Результат з модулем Diff:
Корисні посилання
- налаштування актуальних питань через модуль book
- візуальний спосіб структурування змісту в книгах
- багатомовні посилання в навігації по книзі
Висновок
З перших днів життя сайту потрібно використовувати цей модуль. Його можна використовувати для: створення різного виду інструкцій, створення і наповнення розділу часті запитання, організувати співавторство сторінок і т.д. Звичайно, багато хто з вас скаже: навіщо цей модуль, якщо є wiki-подібні модулі.
На мою думку, для чого використовувати wiki-подібні модулі, якщо можна обрати модуль Book, який буде доцільно споживати ресурси веб-сервера.