Version history
From MegaZine3
- See also: Version history (1.x)
This is a summary of released changes for MegaZine3 v2.x with quick links to discussion and explanation of key feature updates.
[edit] Version 2.1.1 [2011/07/26]
- Added: property
bookMouseModeto MegaZine class API, which allows better control of book scrolling behavior. - Added: property
flvPlaybackfor Vid element, to grant access to the underlying FLVPlayback component (to control video playback, e.g.). - Changed: drag behavior; mouse ups in the area where the mouse down to start a page drag started are no longer considered "clicks" after a short delay (to avoid unintentional page turns).
- Fixed: native event wrappers for ASUL scripts broke when registering on function for multiple events.
- Fixed: incorrect placement of loading bar (styles now applied before added to stage again).
- Fixed: bug when disabling shadows for stiff pages.
- Fixed: search results scroll starting at the middle (not the top).
- Fixed: passing query arguments to loaded SWFs (e.g. via img element).
- Fixed: blocker for drag areas not being updated properly (for
@dragareaand pages of not-default size). - Fixed: uncaught error if element XML was malformed (specifically if it was a text node).
- Fixed: ASUL background images using query parameters in the URL.
[edit] Version 2.1.0 [2011/06/14]
- Added: TUIO plugin, which uses tuio-as3 to convert TUIO input to native Flash events.
- Added: attribute
book@sidebarstartclosedto make the slide bar start in a closed state. - Added: plugins now dispatch an
Event.COMPLETEwhen fully initialized. - Changed: migrated to Flash Player 10.
- Fixed: layouting issues with dynamic text in bookmarks (localized) and dynamically added / removed ones.
- Fixed: changing style attribute of an ASUL object now updates its appearance.
- Fixed: password plugin should now always be on top.
- Fixed: thumbnails, search index and print page representations not being loaded via resource manager.
- Fixed: style changes applied after the creation of an ASUL object not being applied.
- Fixed: broken default link handler in ASUL.
- Fixed: sidebar issues (broken ASUL).
- Fixed: compatibility issues when used in Air applications.
- Fixed: size issues when using pluginLayer (e.g. gallery plugin together with overlays).
- Fixed: repaint issues of overlays.
- Fixed: deconstruction order now makes sure that plugins are unloaded after all pages and chapters are removed (proper cleanup of plugin date attached to chapters / pages).
- Fixed: "add bookmark" button showing on the left when opening the book on the first page.
[edit] Version 2.0.12 [2011/04/6]
- Added: attributes
book@stiffskewandpage@stiffskewto allow skew factor stiff pages. - Added: attribute
txt@embedfontsfor page elements andtext@embedfontsfor ASUL text objects, which tells the TextFields to use embedded fonts. - Fixed: flow layouts always centering content.
- Fixed: positioning bug in bookmarks plugin.
- Fixed: initialization order of JavaScript plugin so that callbacks are guaranteed to be registered in
onJSInit().
[edit] Version 2.0.11 [2011/03/06]
- Added: possibility to force a page buffer repaint via the AS3 API.
- Added: index plugin, which opens a page overview (similar to the print plugin's page selection), and when clicking on a page jumps to that page.
- Added: dropshadow to thumbloadtext to avoid visibility issues on pages with a bright bgcolor.
- Added: attribute
book@sndpathto set the path to the folder containing page turn sounds. - Added: support for ASUL elements to use a custom link handler. In the MegaZine3 engine they will now use the handler of the links plugin, if it is loaded, meaning it is now possible to link into the book directly from ASUL.
- Added: attribute
book@cachehandlewhich allows setting a dummy string to insert into URLs when loading plugins to avoid caching issues. This defaults to the current engine version, so you will not need to adjust this on release version updates, just when updating nighlies, e.g. - Added: attribute
img@ytwhich tells the engine the loaded object is a youtube player, thus allowing it to apply proper scaling. Only needed when setting width and / or height. - Added: attribute
page@bgopaquewhich tells a page to behave like an opaque one even though it might be transparent (i.e. hide pages behind it that are the same size or smaller, leading to better performance). This can be useful when using "rounded corners" or similar effects, i.e. when all pages use the same "mask". - Added: rudimentary resource manager functionality, which allows building a fat client (i.e. all resource the engine itself needs - ASUL, localization, plugins - compiled into on big SWF). When used correctly, this can also be used to build all-in-one books, i.e. even having the page content included in the SWF.
- Added: attribute
book@printpdfsaveonly, which if set to true directly uses the button in the navigationbar to navigate to the URL set in [[PrintPDF#printpdf|book@printpdf(normally to call / save a PDF at that location). - Added: gallery plugin now calls megazineSetup function on loaded SWFs in gallery mode as it is called for SWFs loaded via the img element on pages.
- Added: more layers to page side to allow better flexibility regarding how manually added content is depth-sorted in relation to page elements (similar to pluginLayer vs. pluginLayerBack in the MegaZine class itself). There are now: pluginLayer, pluginLayerBack, staticLayer and staticLayerBack.
- Added: attribute
book@flashcookies, which may be used to disable the use of local flash storage for settings such as mute and drag mode, which can be useful for debugging. - Added: ASUL variables 'thumbw' and 'thumbh' for use in MegaZine3 context, representing the (maximum) thumbnail width and height.
- Added: ASUL scripting using the D.eval library.
- Added: functions
gotoNextChapterandgotoPreviousChapterto API. - Added: attribute
book@uidto override the book id (normally automatically generated). - Added: attribute
book@swfaddressanchors, defaults to true (which is a change!), which sets the address bar to the anchor of a page instead of the page number if possible. - Added: attribute
book@loop, for rudimentary looping support (jumps to first / last page if going to next / prev page on the last / first page). - Added: attribute
page@turningenabledwhich can be used to disable turning for a given page (can be re-enabled via API). - Added: attribute
book@pagecount, which is only used for display purposes (e.g. in the navigationbar) as the total number of pages in the book. - Added: attribute
book@keyfullscreen, to configure key for toggling fullscreen mode. - Changed: removed upper cap for fold effect intensity due to popular demand. Use values larger than 1 at your own peril...
- Changed: the search plugin's server-search queries now include the book id as a 4th parameter.
- Changed / Fixed: all plugins of one MegaZine instance now share properties assigned object using the
setElementProperty/getElementPropertyfunctions. This fixes the issue that the Google Analytics plugin ignored the target attribute. When writing a plugin please ensure not to use property names used by other plugins when using this functions (unless that is exactly what you want). - Changed / Fixed: large books with spread pages should have much faster startup times now.
- Changed: large books with many elements per page should have faster startup times now.
- Fixed: help window not showing initially when it should, but still blocking page interaction when modal.
- Fixed: in print page selection, navigation arrows will now no longer be shown when unnecessary.
- Fixed: an issue where adding or removing pages dynamically could cause the mask of the book edge to show.
- Fixed: an ASUL issue where newlines in textfields could be ignored on first initialization (e.g. in the help plugin).
- Fixed: an ASUL issue where text elements could ignore the width and height attributes.
- Fixed: rotation not working correctly if an ASUL object's size was changed after setting a rotation.
- Fixed: possible breaking of the engine due to security error arising when opening 'Flash cookie' with locally stored settings (muted, ...) (contributed by Warren Sherliker)
- Fixed: issue with nested braces in number expressions (e.g. ASUL anchors).
- Fixed: possible issue when disposing engine with text engine elements on pages.
- Fixed: for ASUL buttons, linked page elements and the nav element, the drag cursor (for manually dragged book) will now override the drag cursor.
- Fixed: pages being unloaded / not loaded if they also had a static thumbnail (
book@thumbpath). - Fixed: page turning behavior to be instant if
book@dragspeed>= 1. - Fixed: possibility of help plugin blocking deeplinks.
[edit] Version 2.0.10 [2010/08/25]
- Added: FlashVAR controlling whether to log to the JavaScript console. Tested with Firefox and Chrome (uses
console.log()function). This can make the console plugin superfluous in many cases. - Added: bookmarks can now be localized. For this purpose a new attribute,
bookmarks@langfiles, has been introduced. This can contain a path relative to themegazine.swffile, with a template variable$1, which will be replaced with the language code. Files with the thus generated path will be loaded and parsed into the localizer as normal localization files (in thelangssubfolders). Syntax of these files must be identical to the normal localization files, too. Bookmarks can then be localized using the same syntax as in asul:localize(LNG_ID). For example:<bookmark title="localize(MY_BOOKMARK)">, and in the loaded XML file:<langstring name="MY_BOOKMARK">Some Title</langstring>. - Added: attribute
page@navbarnumberfor navigationbar, which allows setting a custom display text in the page number box and page button tooltips for a certain page. When setting the text-the number will be omitted from the tooltip. - Added: support for tiled backgrounds for ASUL objects. Enable via attribute
backgroundrepeat. Only works if background is an image. Note that this cannot be used together with scale9grids. If both are specified, the grid takes precedence, and the image is not tiled. - Added: zoom plugin, which adds an extra gui element to control the book's zoom. Because of this, the zoom in and out buttons are now disabled in the navigationbar, per default. To re-enable them, adjust the
navigationbar.asulfile. - Added: access to getting and setting currently used language, as well of getting a list of available languages via JavaScript API.
- Added: navigationbar now displays current page number in the text field used to insert a page number to jump to. Can be disabled using
book@navbarpagenumbersinbox. - Added: attributes
chapter@dragrange/page@dragrangeto allow overridingbook@dragrangeon a per-chapter or even per-page basis. - Added: attributes
book@dragarea,chapter@dragarea,page@dragareato allow controlling which areas of a page may be used for dragging. - Added: attributes
chapter@pagewidth,chapter@pageheight/page@width,page@height/ spreadpage@width, spreadpage@height to allow overridingbook@pagewidthandbook@pageheighton a per-chapter or even per-page basis. Note that similar topage@stiff,page@widthorpage@heightwill also apply to the opposite page side of the physical page the page node belongs to. - Added: ability to dynamically disable (and reenable) page turning on a page side basis via
IPageSide.isTurningEnabled. Also added access to this to console and JavaScript API. - Added: keyboardnavigation plugin now also supports two keys for zooming in and out. Configurable via
book@keyzoominandbook@keyzoomout. - Added: attribute
book@searchfocusclear, when set totrue(the default) the input textfield of the search is cleared the first time it is focused. - Added: attributes
book@noasulandbook@nolangs, which allow disabling the loading of ASUL definitions and localized strings, respectively, if set tofalse. - Added: attributes
book@helpmodalandbook@optionsmodalto control whether help and options windows are modal (i.e. disable the book). - Added: possibility to rotate book at runtime via navigationbar and API (AS3 and JS).
- Changed: scrollpane will now remember last scroll offset before viewport got too small to allow scrolling. This essentially means that when zooming out and back in again, the relative position will stay the same (and won't change to top left as before).
- Fixed: wrong offset was used for plain 'xml' command in console plugin.
- Fixed: ASUL objects with "resize" set to
truesometimes not updating their size on a child resize. - Fixed: issues regarding cursors / page interactivity while a thumbnail was visible.
- Fixed: mousemode setting in
megazine.asulfile was being ignored. - Removed:
book@ignoresidesis still supported, but deprecated (which is also why it was removed from the DTD). Instead, use<book dragarea="top,bottom">.
[edit] Version 2.0.9 [2010/06/28]
- Added: attribute
book@thumbstatic/page@thumbstatic, to set whether thumbnails should be rerendered (to see animated page content in thumbs). - Added: new bookmarks can now be created by users, and will be stored in a "Flash cookie".
- Added: two more options changeable via the options plugin, liquid scaling and automove (book moveable via mouse move or mouse drag). These will also be stored.
- Added: attribute
book@zoomliquidsnap, which when set to true only allows liquid scaling to snap to set snapping levels (seebook@zoomsnap). - Added: possibility to check if liquid scaling is currently active to JavaScript API.
- Added: attribute
book@thumbloadtextsize, when set controls the size of the text in the thumbnail preview of not yet loaded/generated thumbnails (seebook@thumbloadtext). - Added: new page element asulobject, which can be used to load ASUL objects into pages.
- Added: attribute
book@elementsfadein, when set tofalseelements won't fade in when loaded but display instantly. - Added: custom cursor images to indicate dragable and dragging states for ASUL scrollpanes (when using mouse_drag).
- Added: attribute align for ASUL scrollpane, taking a space separated list of
left, center, rightfor horizontal andtop, middle, bottomfor vertical alignment. Default iscenter middle(as before). - Changed: attribute
book@thumbpathnow optionally allows more specific paths, by using a variable,{{num}}, which will be replaced with the page number. E.g.thumbpath="thumbs/{{num}}.png". - Changed: when reloading elements due to a language or scale change, the current version is kept visible until the new state finishes loading. This makes for a much nicer transition.
- Fixed: ASUL scrollpanes that use
mousemode="mouse_drag"do not trigger linked / interactive elements under the cursor on drag end anymore (e.g. if the book is movable this way, linked elements on pages won't trigger after a drag anymore). - Fixed: using
loaderInfo.urlinstead ofloaderInfo.loaderURLnow when resolving absolute paths. - Fixed: megazine.js file,
zoomTodoes not exists, was replaced withgetZoomandsetZoom. - Fixed: drag cursor being shown initially (for ASUL scrollpane objects), even though dragging was not possible.
- Fixed: ASUL text behavior when a padding was set.
- Fixed: pink pages issue should finally be resolved now.
- Fixed: path resolver function now properly handles domain / root absolute URLs (e.g.
/some/path, which should resolve tohttp://example.com/some/pathfor a base path ofhttp://example.com/megazine, NOThttp://example.com/megazine/some/path). Beware that THIS MAY BREAK CONTENT where such URLs were used (incorrectly so). Fix this by removing the leading/from those URLs.
[edit] Version 2.0.8 [2010/05/26]
- Added: attribute
book@printselectcurrent, when set to false, the two current pages will not automatically selected when opening the print dialog. - Added: attribute
book@flashmenuitems, when set to true, default Flash context-menu entries will not be hidden. - Added: attribute
book@thumbmaxmem, to control the maximum memory used of one page side's thumbnail. Defaults to 512K, can be disabled by setting it to 0. It is recommended to use thebook@thumbscaleparameter instead, this primarily serves as a safety switch when users create books with extremely large pages. - Added: attribute @allowbmpcaching for page, img and txt elements. Try setting this to false when encountering pink pages.
- Added: possibility to change log level at runtime using console plugin (command 'errorlevel').
- Added: attribute
img@samesecdomain, for loading SWFs in the same security domain as the engine, may be used to work around sandboxing issues. - Added: attribute
book@dontremove. This attribute should in be used in very special cases. It can be used to mark certain elements as "remove blockers", i.e. if a page contains such an element, the page will only be marked as invisible, and not phyiscally removed from stage. This is necessary for the vid element, for example. - Added: attribute
book@priorities, allows a global control of element priorities. - Added: possibility to add an overall foreground (using
<book><foreground>...</foreground></book>, analog to the background tag). - Added: attribute
book@overlayfadeandelement@overlayfadeto control the time it takes for overlays to fade in or out. - Added: attribute
book@swfaddressupdatefor SWFAddress plugin, which allows to disable page changes in the engine updating the browser's addressbar. - Added: attribute
book@protocolswhich allows defining additional default protocols, e.g. "rtmp://" which are recognized when resolving paths in loaded data to absolute ones. - Added: JavaScript event callback for printpdf plugin, when printing is requested. An array with pages to print is passed. If the JS function returns true, the AS3 internal print process is stopped and handling is left to JS.
- Changed: search is now localizeable using
book@searchindex. Old variant still works, but also supports definition format now (e.g.searchindex="en(idx-en);de(idx-de);idx-default") - Changed: improved loading performance and overall performance for very large books (500+ pages). Even pages with several thousand pages should run fluently now.
- Changed: backgroundsounds plugin now only loading sounds when necessary (i.e. when page or chapter gets visible).
- Changed: protected variables in the
AbstractPlugin(and other classes) are now postfixed with a '_' to make it easier to distinguish them from getters. Please adjust your references to those variables accordingly, and sorry for the inconvenience. - Fixed: print alternative images were broken.
- Fixed: printpdf issues with landscape format books.
- Fixed: printpdf issues with
book@printstretchattribute. - Fixed: possibly incorrect initial position of scaling plugin layer (noticeable via incorrectly positioned bookmarks or sidebar).
- Fixed: background fader (
book@bggradient) not scaling with book. - Fixed: possible nullpointer in cachingloader on security errors.
- Fixed: memory leak in ASUL.
- Fixed: backgroundsounds plugin sometimes starting off at incorrect volume (e.g. full volume even though chapter not visible) and then fading to correct volume.
- Fixed: old search result highlighting sometimes not properly being cleared on new search.
- Fixed: page content allowing interaction (especially catching mouse clicks) while dragging / turning.
- Fixed: print frame not closing if progress bar was not defined.
[edit] Version 2.0.7a [2010/04/19]
- Fixed: links plugin was broken.
[edit] Version 2.0.7 [2010/04/18]
- Added: possibility to change the tooltip design in the megazine.asul file.
- Added: bookmarks plugin. No user creatable / removable bookmarks yet, will be added in the next release.
- Added: pdflinks plugin. Handles links in PDF files converted using pdf2swf (if the
-s internallinkfunction=trueparameter was used). - Added: attribute
book@zoomsnap, which allows snap levels when zooming in or out. The scaling at which liquid scaling takes effect is an implicit/dynamic snap value automatically generated. - Added: attribute
book@zoomliquidscaling, which defaults to true. Setting it to false will disable use of liquid scaling (even if zooming is possible), i.e. onlybook@zoomstepsand/orbook@zoomsnapwill be relevant. - Added: getter to txt element to get access to underlying TextField object.
- Change: sidebar plugin can now be used with scaling books, and when
book@centercoversis active. - Change: for those developers who used it directly, the tween package has changed. Tweens now take a simple function reference instead of a class instance with a function (which was kinda Javaish) for less overhead. Also, tween functions can now be retrieved from the TweenFunctions class's getFunction() method (see constants for possible functions).
- Change: updated logger / console, now allowing formatted output, and a more explicit source (normally the class that logs the message). Formatted output can be very slow, though, so it's disabled per default.
- Change: ASUL buttons are now more flexible (e.g. children can resize dynamically), because they no longer use Flash's SimpleButton component.
- Change: some more control attributes for hflow and vflow.
- Change: setting
book@allowcrossdomaindatato true now causes an automatic check for a crossdomain.xml file on the remote server. - Change: reduced use of cacheAsBitmap and using opaqueBackground where possible, improving performance a bit.
- Change: improved performance while dragging pages and using custom cursors (i.e.
book@handcursor="false", the default). - Change: some major AS3 API changes. Please read the SVN change logs for more information, if you are an AS3 developer.
- Change: the default log level is "NONE" now. So remember to set
book@errorlevelto something when using the console plugin. - Fixed: search results not showing the first time when using
book@searchmethod=server. - Fixed:
book@startpageissues. - Fixed: help text not properly showing sometimes.
- Fixed: loading order issue for images.
- Fixed: memory leaks / engine not being completely removed from memory when
MegaZine.destroy()is called (there still a few minor problems, e.g. with the googleanalytics plugin, but the resulting memory clutter is very very small, and only happens when repeatedly creating and destroying book instances, which should be a rare enough case). - Fixed:
book@maxloaded=0not working (= all pages) and issue when more pages were added dynamically. - Fixed: all the.. small things.
[edit] Version 2.0.6 [2010/02/18]
- Added: new functionality in batchpages plugin, allowing more flexible setup, additionally controlling scaling levels and language. This is done using defintions, e.g.
pages="scale('some/url{{num}}.swf', 0.5); scale('some/url{{num}}_big.swf', 2)". - Added: attribute
txt@rasterize, which defaults to true, but can be set to false to disable rastering of text elements (e.g. to allow links in the text). - Added: attribute
img@keepar. When set to true, if only one size (width or height) is given, the other one will be adjusted accordingly, to keep the aspect ratio of the image. - Added: attribute
img@sameappdomain. If set to true the loaded swf will be loaded into the ApplicationDomain of the engine. - Added: possibility to open print frame via API and JavaScript.
- Added: printpdf plugin: the same as the print plugin, but allows printing directly to PDF format using AlivePDF.
- Added: attribute
book@pluginpath, allows setting the path where the plugins can be found. - Added: the print plugin's attribute
page@printis now localizable using the following definition syntax: lang(path)[;lang(path)]. E.g. en(en.swf);de(de.swf). - Added: possibility to define a default cursor (see megazine.asul).
- Added: attribute
book@zoomstep, allowing to set the zoom step size (e.g. if zoomminscale=0.5 and zoommaxscale=1.5, setting zoomstep to 0.5 would result in 2 possible scaling steps, each of the size 0.75. At least when using the buttons in the navigationbar and the mouse wheel. It's still possible to reach other scalings using the API). - Added: FlashVAR
basePath, which can be used to set a base path, which is used to resolve all relative URLs (this includes GUI definitions, sounds, plugins etc, not only page elements). So to use a common engine with a single GUI you'll need to adjust the guipath now. But that's still better than having to adjust the paths of every single element in the book. - Changed: megazine.js, access to Flash element should now behave more stable than before (e.g. when editing the DOM). Also see this forum post.
- Changed: the load functions in the
IMegaZineinterface have a slightly different signature now, used for passing the basePath and additional config values (e.g. when creating a book purely through ActionScript3). - Fixed: @shadows="0" caused a null pointer exception, effectively making it impossible to completely disable shadows.
- Fixed: a possible problem with
img@rasterize. - Fixed: Fixed a bug in the SWFAddress plugin that overrode the
book@startpageattribute even if no deep link was given when opening a page. - Fixed: bug in ASUL that could cause collapsed elements to not expand any more.
- Fixed: possible problems with scale+lang based attribute settings.
- Fixed: bug in print plugin that occurred when printing only the even part of a loaded spread page.
- Fixed: some small issues in the print plugin.
- Fixed: help text disappearing.
[edit] Version 2.0.5 [2010/01/28]
- Added: ProgressEvent to MegaZine class. This also means, that the preloader is now more meaningful as it includes the loading progress of the engine itself, not just the megazine.swf. Furthermore the parsing of the page data has been distributed over multiple frames, which should avoid freezing the application in books with a lot of pages.
- Added: print plugin.
- Changed: in the batchpages plugin, the subsettings (after the question mark) have slightly changed. "s" now results in
page@buffer="true", and instead the new "r" results inimg@rasterize="true"(previously the result of "s"). - Changed: plugin constructor. This is very IMPORTANT for DEVELOPERS: the way plugin data such as name and version is set has changed. These parameters a no longer passed as multiple arguments to the superconstructor, but in a wrapper class (PluginData). The reason for this is to allow plugin subclassing, i.e. to write plugins that extend existing plugins, but still allow them to change such information (e.g. if additionally, localizations should be loaded).
- Changed: updated to new version of SWFObject and SWFAddress.
- Changed:
book@centercoversis now a bit more flexible, allowing different sizes for the page container (e.g. the viewport in the default megazine.asul). Related to this forum post - Fixed: bug in plugin initialization that could lead to a wrong initialization order.
- Fixed: issue with ASUL elements not having their max/minsize properly updated if based on parent size if
resize="true"was set. - Fixed: issue related to using scaling dependant attributes when no language was set manually.
- Fixed: the search plugin's highlighting now works even if a background is set.
- Fixed: buttons added to navigation bar by other plugins (e.g. slideshow, options, ...) will now appear in a fixed position, and not be placed randomly (based on the order in which the plugins finished loading).
[edit] Version 2.0.4 [2009/12/29]
- Added: a workaround similar to the normal nocache workaround which should make it unnecessary to clear the cache after updating to a new version of the engine.
- Added: attribute
vid@aa, activating antialiasing for videos. - Added: attribute
page@buffer_aa, activating antialiasing for buffered pages. This is automatically disabled while the user is not dragging a page. - Added: attribute
book@edgeclickable, to adjust whether a click on the book's edge should trigger a jump in the book. - Added: attribute
book@thumbpath, defining a path to a directory containg pregenerated thumbnail images. - Added: support for scale9grid for ASUL backgrounds (attribute asulobject@scale9grid).
- Added:
book@fadein, to determine whether the book should fade in initially (when the state changes to loaded and page content loading begins). This now defaults to false. - Added: events to search plugin fired when a search is performed and a result is clicked.
- Changed: when loading other swfs via ASUL (
background="image(some.swf)") it is now possible to pass a query string along (i.e.background="image(some.swf?var=value)"); using a query string will circumvent cached loading, though (NOT the Flash cache, though, just the temporarily inbuilt one which is used speed up loading multiple elements from the exact same source, e.g. images for the page buttons in the navigationbar). - Changed: improved performance a bit. I think.
- Changed: for developers, there are now two types of
ZoomChangeandPageChangeevents. One which is fired instantly (default) and a "delayed" variant, which only fires once per "batch change", to make it easier skipping pages that are flipped over (e.g. during a multiflip). - Fixed: gotoPrevPage in megazine.js is now correctly named as gotoPreviousPage.
- Fixed: sidebar now correctly allows more than one ASUL component directly inside the <content> tags (not just one).
- Fixed: states of buttons can now be dynamically sized using anchors without breaking functionality.
- Fixed: small initial size problem of the progressbar.
- Fixed: possible issue with initial position of the scroll bar's scroll handle.
- Fixed: navigation by clicking on the book edge in right to left books.
- Fixed: tooltips and overlays won't break when removing and readding the instance form / to the stage.
- Fixed: issues when destroying instances.
[edit] Version 2.0.3b [2009/12/01]
- Fixed:
book@asulextensionattribute didn't apply to the megazine.asul.
[edit] Version 2.0.3 [2009/11/30]
- Added: attribute
book@searchresults, which can be used to define additional return values to use in theLNG_SEARCH_RESULT_INFOstring (first parameter will always be the page number). Defaults to 'matches', storing the number of matches found on the page. - Added: attribute
book@asulextension, allowing to change the file extension used for ASUL defintions. This should only be used if the hosting server does not support custom extensions for XML files. - Added: attribute
book@rotate, which allows to select an angle by which to rotate the book (e.g. 90 degrees for vertical flipping). - Added: attribute
book@consolekey, allowing to set the key that opens the console. - Added: the functions for chapter and page removal are now available through the IMegaZine interface, but might still be a little unstable.
- Added: made chapter and page adding and removal available through the console and the JavaScript API.
- Added: sidebar plugin. This plugin allows you display contextual information depending on which page the user currently is on.
- Added: event when page scaling changes. This fires after a small delay, so that only one event gets fired after the scaling has been consistent for that delay.
- Added: possibility to set attributes based on the current book scaling level using
@scalein element's child nodes (much like@lang). - Changed: book zoom now behaves a little different. Zooming in or out is no longer absolute (10% of the original size per default), but instead 10% of the possible scale range (e.g. if
zoomminscale=0.5andzoommaxscale=2, the scale range is2-0.5=1.5, meaning every zoom step would be approximately 0.15). Note that there is a correction factored in to keep the overall zoomsteps similar in size (i.e when zooming from 0.5 to 0.65 will approximately scale the same width in pixels as would 1.85 to 2). - Changed: ASUL updated plus some minor fixes. Layouts do not "compress" their children any longer. The attributes for maximum and minimum sizes are now reevaluated as necessary (similar to anchors), allowing dynamic sizes for layouts.
- Changed: plugin related interfaces changed slightly, mainly regarding the
register()function (which now no longer takes any arguments). For plugin developers this means you will have to replace
override public function register(manager:IPluginManager, megazine:IMegaZine, settings:ISettings):void { super(manager, megazine, settings); ... }
- with simply
override protected function register():void { ... }
- Changed: flag icon buttons in the language chooser of the navigation bar are now customizable in the navigationbar.asul.
- Changed: plugins using JavaScript functionality don't have to actively register with the JavaScript plugin anymore, they just have to implement the IExternalInterfaceEnabled interface (as before).
- Fixed: some possible drag cursor behavior when using cornerhinting.
- Fixed: localization issues with nav element.
- Fixed: some cleanup issues when unloading elements.
- Fixed: possible glitches regarding spread pages (right page using thumbnail preview even though left half with content is loaded).
[edit] Version 2.0.2 [2009/11/17]
- Added: attribute
book@reflectionoffset, allowing to display the reflection at a distance to the pages (e.g. because of book thickness). - Added: relevant for plugin developers: settings can now have aliases (e.g. same setting can be set using different attributes).
- Added: attribute for initial book scaling,
book@zoominit. This will cause the book zoom not to use liquid scaling intially, but zoom to given level. - Added: attribute
book@zoomdoubleclickto enable double click on pages for toggling full zoom and liquid scaling. Important: this will disable all interaction on pages. - Added: search plugin, allowing to search inside the book using an index.
- Change: improved performance with SWF content.
- Change: moved book@pageoffset setting back to core.
- Change: some attribute name changes for better grouping (plugins' attributes should all start with the same prefix, preferrably the name of the plugin or a shortcut for it. E.g. attributes for the gallery plugin start with 'gallery', one's for the Google Analytics plugin start with 'ga'). Old names are still working as aliases, but may be removed in the future. Affected attributes are:
- maxscale -> zoommaxscale
- minscale -> zoomminscale
- wheelzoom -> zoomwheel
- openhelp -> helpopen
- enablejs -> jsenabled
- overlaylinks -> linksoverlay
- buttoncolors -> navbarbuttoncolors [this alias will probably not be removed]
- colorizefullchapter -> navbarcolorizefullchapter [this alias will probably not be removed]
- flagpath -> navbarflagpath [this alias will probably not be removed]
- Fixed: setting the title to an empty string did not suppress titles generated by linking elements using the links plugin.
- Fixed: wrong reflection rendering when using book thickness (book@maxthickness > 0).
- Fixed: issue with ASUL that could result in randomly incorrect results when resizing.
- Fixed: memory leaking issue with named ASUL elements.
- Fixed: graphic glitch with book edges (could show up before the pages finished turning, thus being displayed as single lines).
- Fixed: reduced memory footprint when using buffered pages by disposing the buffer if the page is not loaded.
[edit] Version 2.0.1 [2009/11/07]
- Added: thumbnails are now used as full page previews when a page is not loaded (
book@pagepreview). - Added: book edge is now generated. Can be adjusted using
book@maxthickness,book@pagethickness,book@spinecurvature,book@spinecolor. Can also be used to navigate by clicking on it. - Added: book edge color can be set using the
book@edgecolor,chapter@edgecolorandpage@edgecolorattributes (overrides like bgcolor). Uses page's background color if not set. - Added: possibility to activate and deactivate corner hinting via the API (also via JavaScript).
- Added: attribute
book@wheelzoom, to disable zooming via mousewheel (of the book). - Added: attribtute @padding for ASUL components, allowing the definition of a padding.
- Added: attribute
book@autodrag, allowing to disable automatic dragging if moving the cursor over page corners. - Added: attribute
book@thumbscale, allowing to set the size of the thumbnails. - Added/Change: forgot to document a new attribute for the video in the last release, used the chance to rename it (better naming). Attribute
vid@previewallows displaying a preview image with a playbutton on top which will we displayed and will have to be clicked before loading the actual video. - Added: attributes for keyboard navigation plugin to allow which keys to use.
- Change: changed zooming API a little to make it easier to work with.
- Change: unloaded pages now display "?" when generating the thumbnails for the first time (instead of "Loading...").
- Change: Gallery plugin now uses padding for thumbnail, moved thumbnail to top left per default.
- Change: thumbnails are now pagesize / 4 (instead of previously pagesize / 5), for cleaner downsampling.
- Change: updated the DTD for the book definition (moved to megazine2.dtd) and added DTD for ASUL definitions.
- Fixed: some issues if pages finished loading while being dragged.
- Fixed: an issue where buffering might not be properly ended.
- Fixed: possible nullpointer exception when a drag failed starting.
- Fixed: bug with
element@gallerybuttonattribute.
[edit] Version 2.0.0 [2009/10/20]
- Low level refactoring and rewriting of the old code base.
- Plugin architecture. Per default the book will be very rudimentary, now. Use the
book@pluginsattribute to load plugins providing wanted functionality. - ASUL framework, allowing GUI adjustments via XML files. This allows restyling of the GUI without changing actual code, and thus without recompiling.
- Spreadpage functionality. Use
<spreadpage>to define a spread page, allowing the use of dynamic content over a double page. - Improved liquid scaling / zoom. It is now possible to zoom the actual pages, and liquid scaling does not affect the GUI any more. Use the
book@minscaleandbook@maxscaleto define allowed scale range, e.g.minscale="0.5". - Possibility to define an overall background and more flexible way to define pre and postpage (book/background and book/pagebackground).
- Improved page turn animation.