Jump to content

Book tool

From Meta, a Wikimedia project coordination wiki
Printed Wikipedia-books

It is planned to roll out the Collection Extension in more WMF projects, which allows article collation and PDF conversion. This page aims to guide communities to a successful deployment of this extension. It thereby focuses on Wikipedia in its various languages. To get an impression on how this tool works visit en.wikipedia.org and look for "Print/export" > "create a book" in the sidebar.

Introduction

[edit]

This tool allows users to organize personal selections of pages in a book. Books can be:

  • edited & structured using chapters
  • persisted & loaded, shared
  • rendered as PDF (example)
  • exported as ODF Text Document
  • ordered as a printed book with PediaPress (example)

See this press release Wikis Go Printable for more information on this project.

The extension has been tested on *.wikibooks.org since October 2008 and is live in the German Wikipedia since January 27th 2009. Further deployments are scheduled.

HowTo

[edit]

You may be visiting this page since you were notified your Wikipedia will deploy this extension soon. Some things need to be setup and these pages (see all) try to be a guide.

Once these basics are done there are some optional improvements possible:

Concepts

[edit]
book
usually refers to a collection of pages (optionally with chapters, title, subtitle), may also refer to a derived PDF, a printed book or a stored book.
transient book
a collection of articles, remembered in the current browser session. The list of articles of a transient book can be seen at [[Special:Book]].
stored book
a stored collection of articles, persisted on a regular wikipage, either in the user namespace ([[User:Name/Books/Bookname]]) or the global namespace ([[Wikipedia:Books/Bookname]]). Stored books can be loaded. The transient book then is a copy of the stored book.
book page
usually refers to [[Special:Book]] where all articles of a transient book are listed and the book can be modified, saved, ordered, exported. May also refer to a stored book.
(book) portlet
"create book" entitled box in the sidebar (encapsulates 'add/remove article'-, 'Show book (N articles)'-, 'Load book'-, 'remove book'-, 'Books help'-links).
book help
The main [[Help:Books]] page linked from the portlet.
"offline export", "export", "in print", "print version", ...
refers to an export of a book either digitally (PDF, ODF) or physically (printed book).
"Suggestions", "Suggested pages"
refers to a feature that suggests pages that are related to the current set of pages in the book.

Changing the localization

[edit]
Try to get concepts right. For example "Show Book (19 pages)" may be misinterpreted as if the PDF will have 19 pages although it will be based on 19 articles and probably will have lots more pages in a PDF or printed book. What does clear book refer to if one just loaded a stored book which now is also a transient book?

If you need to change messages, either change them in translatewiki.net (ext-collection) (effective after the next software update) or change them for the wiki by visiting [[Special:Allmessages]] and filtering for "coll-*" to see all related messages. A quick look at the source may help to find the right message identifier if in doubt.

Note: The metaphor book works good for most wikis. But it does not on *.wikibooks.org where it clashes with their concept of book. If you alter translations in translatewiki.net it might be good to notify all projects (e.g. wikibook) using the same language.

The localization of messages used in generated PDFs can also be change in translatewiki.net (mwlibrl).

Double check with translatewiki.net to verify all system messages used in this extension are translated for your language.

Pages used by this extension

[edit]

List of all pages, categories, templates that should be created.

Pages

[edit]
[[Special:Book?bookcmd=book_creator]] (requires no creation)
A special introduction page (the page shown when a user clicks on "Create a book") which allows to enable the "book creator" and transcludes a short help page. The name of this help page can be set in coll-book_creator_text_article The default is: Help:Books/Book creator text i.e. a subpage of the configured help page named "Book creator text".
[[Special:Book]] (requires no creation)
A special page which allows all major interactions on transient books.
[[Special:Book/rendering]] (requires no creation)
The rendering page shows a progress while the document is generated. Once finished it shows a download link to the document. It might also show an error if the rendering failed. Text can be configured in coll-rendering_text, coll-rendering_article, coll-rendering_status, coll-rendering_page, coll-rendering_finished_text, coll-is_cached, coll-excluded_templates, coll-blacklisted_templates.
[[Special:Book/load_collection]] (requires no creation)
Used when loading stored books. Visible to the user only if one wants to load a book although another one exists in the session. Text can be configured in coll-load_overwrite_text, coll-overwrite, coll-append, coll-cancel
[[Help:Books]]
Main help page (example) for this tool, linked from the portlet. Its location can be configured in the system message coll-helppage
All templates linked from this page will be excluded in print. It is recommended to not use this feature as it is a centralized and inflexible approach. The [[Category:Exclude in print]] is suggest instead (see below). Location can be changed in coll-template_blacklist_title.

Categories

[edit]
[[Category:Wikipedia:Book tool]]
Used to store all documentation and related pages and templates.
[[Category:Wikipedia:Books]]
Category which tracks all stored books. This category is special as all included pages can be loaded as a book by a "load book"-link which appears in the portlet if one visits a page in this category. That said stored books are automatically added at creation time, while non-stored book pages should not exist in this category. Can be configured by coll-bookscategory. You probably want to change this message to "Wikipedia:Books" (category "Books" is the default).
[[Category:Exclude in print]]
Used to track all templates that inject information which is useless or distracting in exports (see below for some motivation). Can be configured by coll-exclusion_category_title.

Templates

[edit]
[[Template:Saved book]]
This template (example) is automatically included at the top of every stored book. It can be customized to make a stored book-page more appealing and to hold some metadata. Location can be configured by coll-savedbook_template.
[[Template:Hide in print]]
This template (example) returns all markup that was passed in the first parameter (read: does nothing). If added to the [[Category:Exclude in print]] it allows to selectively omit content in printed books or PDFs. Very handy! You can name this whatever you like, but don't forget to add it to the category and document/link it in the expert's help. Note: This template received quick adoption and soon was one of the most included templates, so you might want to protect it.
[[Template:Only in print]] and [[Template:PrintOnly in print]]
This template (example) returns none of the markup that was passed in the first parameter, while the corresponding [[Template:Only in print/Print]] (example) returns the passed markup. See Help for experts for more on the */Print-subpage used to substitute templates in print. The prefix which is used to substitute templates in print can be configured by coll-print_template_prefix.

Setting a custom license source

[edit]

Some communities may want to add some extra text to the license in the PDF. The license to be included in the PDF is configurable by setting MediaWiki:Coll-license_url to a URL which points to the raw wikitext that shall be used to render the license. By default on public Wikimedia sites this is set to https://creativecommons.org/licenses/by-sa/3.0/.

Templates to exclude in offline exports

[edit]

There are many templates with content which should be excluded in print versions. There are at least three major types:

Maintenance messages
They are useless and distracting in offline exports as one can not contribute if offline. Examples: Maintenance, Cleanup...
Warning & hinting messages
They are useless and distracting in offline exports as users noticed them when selecting the content and choose to add it anyway. Examples: Sources of articles, Disputes, Deletion, General...
Navigational content
Navigation links are useless and distracting in exports. Examples: Compact TOC, Wikimedia sister projects...

Such templates should be marked with the CSS class noprint.

It is recommended to identify and add relevant templates to this category early – before deployment if possible.

In German Wikipedia we were able to quickly identify 130 templates by having looked at related categories. We listed them all on one page and used a bot to assign the category. Only 14 templates were identified that needed to be added manually since then.

Hint: Some templates serve as templates for others. In such cases it may be sufficient to add this (parent) template to the category; resulting in the exclusion of a whole class of templates.

Communicating the availability of the book creator and printed books

[edit]

It is possible to transclude a page at the PDF rendering page which is seen by a user if she clicks on Download as PDF. At this page users (who are obviously in some offline desiring state) can be introduced to the book creator and the option to get 'printed books.

See en:Help:Books/Rendering page info text for an example of this page on en.wp and here to see how it looks at the PDF rendering page.

If the page exists at the location configured in this system message Coll-rendering_page_info_text_article (example on en.wp), it will show up on the PDF rendering page.

Organizing stored books

[edit]

While many may enjoy creating their own books, others will be pleased if they can directly access books on certain topics.

The [[Wikipedia:Books]] page can be used to promote availability and accessibility of stored books. There is not much experience on this topic yet but some of the ideas that came up are listed in the subsections below.

Promoting the creation of books

[edit]
  • Provide a guide on how to create "great books":
    • how to choose a proper title;
    • how to include a preface;
    • how to choose articles;
    • recommended number of articles.
  • Develop guidelines for books that are allowed to exist in the global namespace. These could require (examples):
    • reasonable number of included articles (e.g. more than 5 less than 200);
    • having a meaningful title, subtitle;
    • focused on a topic;
    • reasonable quality of included articles (e.g. no disputed, stubs, candidates for deletion, etc.).
  • Coordinate topics.

Making books accessible

[edit]
  • List some books of the week/month/year.
  • Label and feature the excellent books.
  • Add "There is a book on this topic"-box to related articles, categories or portals.
  • Link or transclude parts of the bookshelf A-Z.

Bookshelf

[edit]

Stored books are tracked in the category [[Category:Wikipedia:Books]], but this gets crowded rapidly (de.wp is close to 1.000 stored books – mostly in user space – created within 10 days). Further the category view allows not to display metadata or access books by topic. It would be possible to link books to categories but this would either clutter the main categories with books or require/result in a replication of the category tree in a different namespace.

There is a bot that can automatically generate a bookshelf which allows to explore books by title (A-Z) or keywords. Of course a bookshelf can be created manually also. Visit the bookshelf page for more details on the bot approach.

Preparing MainPage

[edit]

MainPages next to portals are special as they often use a multi column web layout. Such pages look really bad in rendered PDFs (fixed width constraints of portrait-layout pages). But then again this is the page which almost every user new to this tool adds first to his book.

A workaround to avoid premature disappointment is to prepare MainPage to look better in PDFs. This can be done by using the [[Hide in print]] template in a way that MainPage (in printed) has no table at all or consists only of on column. (FIXME:example)

Another issue is the visibility of the portlet. Visitors (not you) to Wikipedia mostly simply ignore the sidebar. It might help if there is some notice about this new feature and a link to the help page on the MainPage's "News about Wikipedia"-box (if available at all) for a limited time.

Reporting Bugs, Collecting Feedback & Getting Help

[edit]

within the wiki

[edit]

There is a central feedback page at meta (in english) aimed to collect all feature requests, suggestions, bug reports, questions, etc. Non-english Wikipedias may want to setup a similar page (example) on their wiki and define some policy when and how issues are translated and escalated to the feedback page on meta.

bugtracker

[edit]

Use the component "Collection" on bugzilla.

IRC

[edit]

There is an IRC channel #pediapressconnect for anything related to the book tool.

Experiences from past deployments

[edit]

German Wikipedia

[edit]

What worked: Reception of the tool was mostly positive. Many stored books were created in a short period of time. Media quickly covered this topic once there was a press release by the German chapter.

What didn't work: It was planned to limit the new tool to logged-in users for the first week. Somehow this plan was not executed. As a result the feature was activated while documentation and localization were not really finished. For some users the portlet did not show up on some pages, probably due to caching. The MainPage was not print-version friendly (see above). Finally there was a slashdot effect after the popular german online news magazin Heise covered the story. The rendering server collapsed (load close to 300) instead of serving visitors.

Updates

[edit]

Updates – especially those which require community attention – will be announced here.

  • September 2014: statistics for sales have been updated till the end of 2013, at [1].
  • 3 Mar 2009 – PDF-server update & ColExt update
    • Important Change: The template substitution was changed from a prefix to a suffix */Print. The license to be included in the PDF is now configurable by setting MediaWiki:Coll-license_url
    • updated to mwlib release 0.9.11 (changelog)
    • updated to mwlib.rl release 0.9.8 (changelog)
    • Collection-Extension was updated to trunk (changelog)

mwlib + mwlib.rl are used for rendering documents, Collection-Extension implements the UI in Mediawiki