MegaZine3

 Quick Links 
 * Project Homepage
 * Forum
 * API Documentation
 * Version history

 Popular pages 
 * Book
 * Quickstart Guide
 * New v2.2.0 Attributes
 * Gallery
 * FAQ
 * Migration

 Help by translating  We would like to encourage you to contribute by translating pages in the wiki to a language they have not yet been translated to, or update translated pages. Read more on translating wiki articles.

 Wiki Tools 
 * New pages
 * Wanted pages
 * Short pages
 * Dead-end pages
 * Orphaned pages
 * Uncategorized pages

This wiki is used to provide up-to-date information about version 2.x of MegaZine3. Please help to make this a valuable source of information.
 * Register (*) and contribute! To get started you can check out the Wiki Tutorial.
 * For a complete overview browse the categories or see a list of all pages.

(*) Registrations have been disabled due to the increasing number of link spamming accounts (in spite of captcha and co.) -- if you'd like to contribute please send us a mail so we can temporarily re-enable registration for you, thank you. Sorry for the inconvenience.

 Quickstart Guide 

How to use this Wiki
To efficiently use this wiki, it is important for you to understand its structure. The wiki is categorized by core concepts of the engine, that being core functionality, page elements and plugins.


 * the core of the engine is the basic book functionality. Imagine a book with empty pages. You have (empty) chapters, pages, you can flip through the book, see if it's a hardcover book or not, and so on.
 * the page elements in a book represent content that goes onto the pages. This can be text and images, but also sound and even video.
 * finally, plugins represent additional features that make working with the book easier, e.g. reading glasses, bookmarks, etc.

These metaphors are, obviously, a little stretched at times, but it should help you get a feeling for what's what, and how some expressions may to be understood.

When searching for a certain piece of information in the wiki, first try to think in which of those categories your problem fits. For example, if you want to set the background color of a page, that's certainly found in the core category. If you wonder how to change the size of a loaded image, it's the page elements category.

Categories contain general articles related to the topic, but also ones representing objects 'defining' that category, so to speak. The core category contains articles on chapters and pages. In those articles all possible settings to change the behavior / look of those are described. So when you look for something, think what object you would have to change to get the desired effect, then look for a wiki article on that object. For the examples just mentioned, that'd be page@bgcolor and img@width / img@height.

Finally: the most important article of all may be the book article, as this contains general parameters that can be used to customize the behavior of a book.

For a quick overview of the elements and most important plugins, see below.

Contributing: Guidelines 

When editing, we would ask you to stick to the following guidelines:
 * do not write information about version 1.x of the engine, if this information is no longer correct for engine 2.x. For information on the old engine, please use the forum, or explicitly state that the information is only relevant to the old engine version.
 * link terms that are or can be explained in further detail in another article (at least their first occurrence on a page). E.g. when talking about plugins or a specific element such as the img element.
 * do not misuse the wiki as a platform to ask questions. Use the forum for that.
 * contribute by making articles more informative and easier to understand.
 * only write something down if you are sure it is correct. Users should not be misinformed by the wiki. If in doubt, please verify it yourself, or ask in the forum to make sure.

'''Support: Where to begin? '''

In case you are looking for an answer for a specific problem, have a look at the FAQ, the frequently asked questions. If that does not help, have a look at the element and plugins documentation. Try using the search functionality of the wiki. Still no luck? Try the forum. Please use the search functionality of the forum before posting your question! It might have already been answered once before. Still no luck? Go ahead and ask in the forum. After you have your answer, it would be very appreciated if you would contribute to clarify the parts of the wiki that could/should have answered you question, or, for "common" problems (yeah, that's vague, I know), consider adding an entry to the FAQ, thank you!

If you just want to check out the possibilites, there's a list of available elements and plugins. Also have a look at the demo data of the book (the demo which can be found on the home page), which is available as a downloadable package on the main project homepage.

Here are some quick links to ease the navigation through the wiki. The following are the basics for building a book. Links to advanced topics follow below.

 Book   This article corresponds to the  node in a book's definition file. Here you can set common settings for the book, such as page size and color. All possible attributes of this node can be found in this article.

Note: plugins (e.g. the navigation bar and gallery) often define additional settings by handling attributes of the. The names of those attributes are documented in the plugins' respective articles.

  Chapter   Like the book's article corresponds to the  node, this corresponds to the   node. Chapters can be used to group pages and override some settings such as the page color for a whole block in the book.

  Page   Containing the documentation of the  tag, here you can look up page specific settings. Like in the chapter, some settings can be overridden, such as the page color. Also, have a look at spread pages.

  Elements   A page element is one of the existing object types that can be added to a  node, and are then considered the content of that page. It is possible to add multiple elements to a page, allowing flexible definition of a book's content.

Available elements are:   Area   to define interactive or highlighted areas.

  Image   for loading images and other Flash content.

  Navigation   for simple generation of a list of links.

  Sound   for loading background sounds.

  Text   for displaying text.

  Video   for loading videos.

  GIF   for animated GIFs.



Next are some advanced features that will be interesting to everyone who seeks to add or implement more functionality, or redesign and adjust the GUI.

 Plugins   Plugins offer a simple approach to adding more functionality to a book. In this category you will find a list of available plugins. Each plugin has its own article in which the functionality it provides is documented, along with settings the plugin introduces and element attributes it handles.

Here you will also find tutorials on writing a plugin in case you wish to implement your own functionality.

The following is only a selection of the available plugins.

  Navigationbar   adds a control bar to the book.

  Gallery   for the internal gallery mode.

  Search   makes books searchable.

<div style="background: #fefeff; margin-bottom:9px; float:left; padding:3px; border: solid 1px #DDD; width: 128px;">  Links   for setting links on page elements.

<div style="background: #fefeff; margin-bottom:9px; float:left; padding:3px; border: solid 1px #DDD; width: 128px; margin-right:9px">  Titles   for setting tooltips on elements.

<div style="background: #fefeff; margin-bottom:9px; float:left; padding:3px; border: solid 1px #DDD; width: 128px; margin-right:9px">  Anchors   for named anchors inside the book.

<div style="background: #fefeff; margin-bottom:9px; float:left; padding:3px; border: solid 1px #DDD; width: 128px; margin-right:9px">  Console   making it easier to find problems.

<div style="background: #fefeff; margin-bottom:9px; float:left; padding:3px; border: solid 1px #DDD; width: 128px;">  JavaScript   JavaScript interaction with the book.

<br style="clear:both"/>

 ASUL   ASUL is the GUI definition "language" used by the engine. It allows the definition of interface components in XML files, making the GUI extremely flexible, as it is (in most cases) not necessary to touch the actual engine code at all.

ASUL offers a lot of flexibility, but may be overwhelming on the first look. To get started, consider having a look at the existing definitions in the repository - as opposed to the ones packed with the releases they are not 'compressed' and therefore easier to read and understand.

Please see the category for available components and how to use them. To learn how to define and use ASUL, consider having a look at the writing a plugin tutorial, which covers the part of creating an ASUL file, as well as how to use it in actual program code.

Finally, a small example.