PowerPac v15 (Recommended FLAGSHIP Version)

Installed on networks, USB sticks, or lab computers;
Stores data on cloud servers.

PowerPac v15 (Recommended FLAGSHIP Version)

Postby Clifton » Fri Sep 07, 2018 10:40 pm

Last edited: April 1, 2019 - v15.0
PowerPac v15 is now available for download.

To get the PowerPac, download a trial version, or learn of its features and capabilities, please visit:
https://pgsoftwaretools.com/index.html#PowerPac

Changes to date:
  1. The use of Adobe Flash in your exports can be completely disabled.
    Simply check the the item shown below in the PowerPac menu.
    NOTE: This has been changed to the default is unchecked and means the Flash player functions will NOT be installed. Checking the menu item enables Flash. This is the opposite of the initial v15 beta release.
    PowerPacMenu.png
    PowerPacMenu.png (13.64 KiB) Viewed 50106 times
    Once checked, no Adobe Flash-related functions will be available in the Actions Editor. Media players will use native HTML5 to play video and audio. This effectively detaches your content from the need to have Flash loaded for any reason. (See note below.)
      NOTE: You will still have to manually remove the Flash functions from your actions and change them to HTML5 media player functions instead. You will also have to convert SWF and FLV files to some other format (e.g.: mp4).
      Adobe Inc. has announced the end of life for the Flash Player and no longer support it by the end of 2020. Most browsers may or will no longer load any Flash content even if functions are using it in your actions and attempt to load Flash media.
  2. PowerPac's internal server has been changed to use the PHP Development Server. This change gives the server better results, especially when testing your exports with Google Chrome. The older server is still available, but you will likely prefer the PHP version instead. The new server is bound to interface 0.0.0.0 so your export testing can occur from any machine on your network. In the address bar of the browser anywhere on your network simply enter:
    http://[machine ip]:8282/[bookname]
    The only requirement is that the [machine ip] must already be accessible within the network.
  3. Bug fix to page transition feature to ensure smooth transitions even when clicking through multiple pages.
  4. Bug fix to userProperty() that caused unexpected results or failure when setting properties on groups when the parameter parseGroup = true.
  5. Bug fixes to setWebFonts() to solve a problem where some objects would not have their class names updated to use the specified web fonts.
  6. Parameter help updated.
  7. Enhanced getPageNameList() so you can directly return the list as an array. The function now has better XML support in that you can enter a fully compiled Regular Expression as the filter parameter.
  8. PowerPac SBK updates to smooth and automate upgrading books to the latest v15 series.
  9. Enhanced getPageNameFromNum() to permit additional support for the pageNumber parameter. Function accepts the strings: "current", "next", "previous", and relative strings like "+2" and "-3" from current page. The return value has been changed to return an empty string if the pageNumber cannot be resolved to a valid page in the book.
  10. Small bug fix to setBrowserWindowStyles() to fix an issue where nested ToolBook exports inside fields would not allow the field transparency/color to show through the inserted ToolBook export.
  11. Enhancements to pgStyleObject() to make it work better with various button types.
  12. Fixed some installer issues which affected Windows XP.
  13. Bug fix to pgGotoURL() to fix failure to return window object when opening a popup window in another tab or sized window.
  14. NEW FEATURE: Added Export Option called Allow Browser Right-Click Menu. If checked (ON), the published export will permit right-clicking on the page and related objects to view source HTML and other debug-related information. This is a useful feature for debugging and troubleshooting. It may be beneficial to allow end users access to this feature depending upon the design intent of your project.
    Image 2.png
    NEW Export Option:
    Allow Browser Righ-Click Menu
    Image 2.png (27.47 KiB) Viewed 49995 times
  15. Updated xml syntax highlighting in NotePad3 editor ini for CDATA sections.
  16. Enhanced pgTBObjSet() to accept a new myProperty = "over" with a myValue of true/false. This is very useful to force buttons with rollover graphics to be either ON or OFF. Sometimes buttons with rollover graphics get stuck ON until the mouse is moved over and out. Now you can ensure the state is always as expected by calling pgTBObjSet() with myProperty = "over". Of course, this property is only supported for actual ToolBook buttons and not for XML buttons.
  17. Bug fixes to pgButtonHTML() to resolve a few issues that may occur when calling this from an XML file. The function will now strip any tabs in the HTML code. This ensures that the caption can be checked using simple text comparisons in an if/then statement.
  18. Style fixes applied to themes for subModal().
  19. Added enhancement and new parameter to subModal() called winDrag. Setting this to false will disallow users from dragging a subModal() window around the browser client area. The default value is true to maintain backwards compatibility with previous versions.
  20. Cosmetic changes and styling adjustments to subModal(). These changes should ensure better cross-browser compatibility.
  21. Added support for favicon.ico if placed in the root of the export where index.html is found. The export engine supports png files also, but the preferred file is favicon.ico.
    NOTE: These files are used by the browser to personalize the browser tab with an icon to identify your company or content.
  22. Adjustments to subModal() and setModalReturnVal() to permit these functions to work in the same actions sequence. In addition, a small bug fix was applied to subModal() to clear a global variable when the subModal() window opens.
  23. Bug fix for pgTBObjGet() where the function would fail to get text for a <textarea> element created with an XML file.
  24. Added support for the JavaScript FormData object in PowerPac's XMLHttpRequest() function. The FormData object enables developers to build more robust data transfers to a servers including the uploading of files, etc.
  25. Modified subModal() to automatically resize the width of a modal window when the scrolling feature is turned on. This means that all the developer has to do is specify the available width of the window and subModal() will make allowance for the width of the scrollbar object.
    NOTE: This may be a script-breaking change as it might require an adjustment in dialog window sizes previously specified in your project(s).
  26. Fixed a scrollbar flash caused by changes and enhancements to subModal() in item 25.
  27. Several improvements to the included PowerPacServer.exe. The included config.ini makes it easy to create a limited standalone web application. Complete comments are included in the config.ini to make setting up the server as simple as possible. If you copy the server to a folder where GoogleChromePortable.exe is located, the server will automatically launch the browser with the content you specify in the config.ini. The content can be loaded in normal mode or in kiosk mode fullscreen with no titlebar or bookmarks.
  28. Adjustment to htmlVideoLoader() so that the loading spinner is no longer visible if a video is loaded with controls=false.
  29. Bug fixes to cookie functions when using local or session storage options. It seems that data strings were not being properly encoded and at times would throw unexpected results when reading back the cookie value. This caused problems if storing encrypted cookies with data created with pgStringEncrypt(). When saving cookies to disk, this was not a problem.
    NOTE: v14.950.2 removed these changes as unnecessary.
  30. Prevent numeric passwords from being used in pgStringEncrypt(). If a numeric password is submitted, the function will convert it to a string to ensure consistent success when decrypting data.
    NOTE: It is best to use a mix of letters and numbers for passwords.
  31. Enhanced htmlVideoLoader(). The controls parameter now accepts a boolean value, an integer, or the string "youtube" when defining the controls that will be shown. The enhancement involves setting the parameter to an integer. If controls = -1, the controlbar will be shown and never fadeout. If controls = integer > 0, the fadeout time will be set to the controls value in milliseconds. In all other cases the controlbar will fade out in the default time of 6000ms.
  32. Bug fixes to internal PowerPac function strip_tags() to better support filtering only specific HTML entities/markup.
  33. NEW FUNCTION called removeHTMLtags() to expose all the features of PowerPac's internal function strip_tags() to Actions Editor usage. This permits users to remove HTML markup from a sting of code.
  34. Added session and local string/cookie saving to automatically be base64 encoded. This should help ensure long encrypted strings are successfully returned for decrypting to the calling application.
  35. Added NEW parameter to removeHTMLtags() called removeWS. This further helps to determine exactly what is removed from an HTML string. The new parameter by default removes white space from the beginning and end of the strings.
  36. Enhancements to getPageNameList() to provide additional return scenarios. Users can include pages marked as skipNavigation = true in the list of pages returned and can count the number of pages returned in the list.
  37. Bug fixes and clarifications to the Parameter Help API page for getPageNameList().
  38. Bug fix to pgIsNumber() which is an internal PowerPac function which checks whether a submitted value is a number. This PowerPac function replaces the isNumber() function body in the Actions Editor system. The bug fix involved checking boolean values. Submitting the boolean value true would always return true as though it were a number. Now the function properly returns false when boolean values are submitted.
  39. Ported several function changes to com_link.js (PGSD_PowerPac_com_link.js) for use in non-ToolBook HTML pages that need to send data back and forth to a ToolBook application. Newly ported functions include pgIsNumber(), pgStringEncrypt(), and updated cookie reading/writing functions.
  40. Updated the NotePad3 editor to version 5.19.
  41. Regression . . . rollback to NotePad3 v4.18 build 992 which seems to work better than v5.19 (at least for now).
  42. Updated pgFormatNumber() to permit better formatting when unformat = true.
  43. Fixed a page centering bug which has probably existed for a long time.
  44. Fixed a style synchronization problem between pgStyleObject() and pgTBObjGet() involving the visibility of an object. Seems that if pgStyleObject() was used to set visibility of object to "hidden" and then when pgTBObjGet() was called to check the "visible" of the object, the return would not match the actual state of the object.
  45. NEW XML Engine features! The interpreter will now directly compile your Javascript object or array code from the <![CDATA[ ... ]]> section of your tags. See this POST for information.)
  46. Improved XML developer feedback if interpreter errors are found during XML parsing.
  47. Fixed a small bug in pgStyleObject() when manipulating non-ToolBook objects that have display:none set.
  48. Bug fix to buildComboBoxOptionsList() to correct an anomally that appears when setting comboBox items with auto-remove top item and then setting new items before the top item has been removed by a user change event. The result would truncate the new options list. This has been fixed.
  49. Bug fix for getPageNameList() which prevented returning an array of names without the count in indice [0]. This appears to be a problem introduced in an earlier change (see item 36).
  50. NEW FUNCTION called pgLoadSVG(). Use this function to load SVG vector-based graphics drawn in Adobe Illustrator, Inkscape, CorelDraw, and other related graphics programs. SVG files can be loaded directly into fields as containers. The SVG can be scaled as needed to fit the container OR, the container can be resized to the size of the SVG. Support is provided to load SVG objects as <objects> (recommended) or <img> (for compatibility) elements.
  51. Bug fix to htmlVideoLoader() to fix a recursion error that would occur when going fullscreen with level 0 elements which contained a playing video.
  52. NEW FUNCTION called pgManipulateSVG(). Use this function to manipulate visibility and styles in objects of SVG vector-based graphics files.
  53. Ported new functions from v15 beta releases into the XML engine so tags can be used in XML files based on these new functions. (e.g.: <pgLoadSVG> ... </pgLoadSVG>)
END of v15 release change log.
Clifton
Site Admin
 
Posts: 732
Joined: Tue Jan 14, 2014 1:04 am

Re: PowerPac v15 Released

Postby Clifton » Sun Apr 07, 2019 8:45 am

POST v15.0 RELEASE CHANGE LOG:
v15.321.0 -- (April 23, 2024 ) Status: (Released)
  1. XML Engine Update to fix a problem when adding multiple functions to the same object where the function code contains comments formatted as: //[comment]
  2. Bug fixes to pgManipulateSVG() to fix issues with manipulating SVG files that are pan/zoom enabled.
  3. Minor adjustment to pgPanZoomSVG() to gracefully allow clip-path styles that were previously set to remain in effect.
  4. Bug fix to pgAnimateCSS() to fix a condition where certain objects that could not be found would cause the function to hang. The default behavior is to abort the animation if an object cannot be found.
  5. PowerPac Help API updated.
v15.320.2 -- (March 2, 2024 ) Status: (Released)
  1. ADDED a NEW SVG PAN ZOOM library and rewrote the functions pgPanZoomSVG() and pgManipulateSVG() to support the new libary. This new SVG pan/zoom API supports every SVG we tested it against.
  2. REMOVED the previous SVG pan/zoom library due to incompatibiliy issues. Some SVGs would not pan/zoom using this library.
  3. Enhanced PowerPac's CSS styling support to include basic SVG inline styles. Examples: fill, stroke-width, stroke, text-anchor, etc. Functions that set CSS styles, like pgStyleObject() were previously not be able to manipulate these SVG inline styles directly. Alternatively, you can still use pgManipulateSVG(). CSS styles that are shared between HTML and SVG files have always been supported.
  4. Updated Parameter API Help sbk.
  5. Added greater support for inline CSS3 transition property. This enables easier animation of objects.
v15.314.2 -- (January 4, 2024 ) Status: Released
  1. Bug fix to checkDragObject() to fix an inconsistency when retArray was set to false instead of left unset. The function would return an array even though retArray was set to false. Extensive testing on an actual project has confirmed all features of this function are now working as expected.
  2. Several bug fixes to randomizeMC() to fix problems with [excludeList] when multiple conditions are specified. Also added NEW parameter called randomizeExcludes to permit randomizing objects found which are excluded from main randomization. This parameter when true permits randomizing objects placed at the end of the MC object.
  3. ENHANCED FUNCTION pgAnimateCSS() to allow basic animation manipulation of SVG elements.
  4. ENHANCED NEW FUNCTION checkDragObject(). This enhancement adds the ability to always return the percent of the drag object dropped over the drop target. Added a new parameter called retArray which indicates to the function to return a two item array where [0] = true/false whether drag object has been dropped on drop target; and [1] = percent of the drag object that was over the drop target at the time of the drop.
  5. Updated Dynamic Parameter Help API.
v15.311.0 -- (December 3, 2023 ) Status: Released
  1. NEW FUNCTION checkDragObject(). This function checks whether a draggable object created with createDraggableObject() has been dropped on a particular drop target. Function can snap the drag object onto the absolute center of the drop target if all conditions are met for the drop.
  2. Updated Dynamic Parameter Help API.
v15.300.3 -- (November 20, 2023) Status: Released
  1. NEW FUNCTION pgPanZoomSVG(). This function optionally loads an SVG vector graphic and makes the SVG able to be panned and zoomed using a mouse or touch device.
  2. Enhanced pgManipulateSVG() to get or modify parameters set as a result of calling pgPanZoomSVG().
  3. Enhanced pgLoadSVG() to work with pgPanZoomSVG().
  4. Enhanced pgExtFiles() to better handle callback functions as notifyOnLoad. Previously only window[function] was suppported. Now any function of any type or method can be specified including anonymouse functions that are not directly attached to other objects.
  5. Bug fix to pgStyleObject() to fix an anomaly that occurs when setting height when the previous setting is "auto".
  6. Added style code to pg_body.css to support ToolBook's <img> method of handling graphics in exported html content. This ensures that adding border-radius styles to these objects will succeed.
  7. Updated Dynamic Help API to support the changes made in this version.
v15.104.3 -- (October 3, 2023) Status: Released
  1. Tweaked the preview server to work more efficiently with latest version of Microsoft Edge. This involved displaying content according to local machine IP address instead of using localhost:[port]. This results in more efficent and faster display of content in Edge.
v15.104.2 -- (May 30, 2023) Status: Released
  1. Upgraded the internal PowerPac server used to preview exports. The server now supports multi-threaded connections and permits Chromium browers (Edge & Chrome) to be able to use the playbar to navigate to a specific place in a video by setting Accept-Ranges in the header request.
  2. Enhanced pgAnimateCSS() to send a user BOTH when an animation starts and finishes. This is also true for page transitions. The page will receive a user event when the page transition begins and ends. (Note: Users may need to adjust their actions/code if you are not checking the state of the animation.)
  3. Added "flex" and "grid" CSS3 support to PowerPac's style library. CSS3 values set in XML and with pgStyleObject() will now accept "flex" and "grid" related style properties. Previously, you had to support these style libraries in CSS stylesheets, which in many cases is still the most preferred way. However, there are instances where inline style properties for "flex" or "grid" may need to be set and now that is possible in XML code and when using pgStyleObject().
  4. Updated the PowerPac Parameter Help API.
v15.101.3 -- (March 18, 2023) Status: Beta
  1. Minor bug fix to setBrowserWindowStyles() to fix an intermittent null variable error.
v15.101.2 -- (September 15, 2022) Status: Released October 28, 2022
  1. Updated and improved the document ready state and loading of resources. The PowerPac now uses a modified version of jQuery ready() function.
  2. Bug fix to HTML Video Player Engine to prevent Chrome console errors when switching back and forth from full screen. This had no impact on performance or usabilty.
  3. Fixed an issue where recent updates to Chrome would cause early-loading XML files (book.xml and mobile.xml and resources specified in these files like css and js files) to fail to load properly.
  4. Added feature to pgExtFiles() to be able to specify that the loaded resource NOT USE the browser cache. To use this feature, set opt = "nocache".
  5. Updated the API help documents to reflect these changes.
v15.099.1 -- (June 21, 2022) Status: Released July 4, 2022
  1. Minor bug fixes to randomizeObjPositions() to allow the function to return object names OR object id's based on developer choice. A NEW PARAMETER called preferIDs has been added to permit this flexibility
  2. Minor bug fixes to randomizeMC() to allow several multiple choice question widgets to be randomized on the same page while preventing conflicts that previously occurred when several multiple choice question objects share similar naming conventions. The function is also enhanced to allow additional options when randomizing the choices.
  3. Major enhancement to randomizeMC() to permit more flexible randomizing of objects. Function now permits creating a randomized matrix of objects. Plus developers can dynamically specify spacing between horizontal and vertical objects.
  4. Enhance pgTBObjSet() so the property rgbStroke works on simple captions (i.e., with no tags that set color embedded in the caption HTML) set using pgButtonHTML().
  5. Updated Dynamic Parameter Help to include changes to randomizeMC().
v15.098.2 -- (April 29, 2022) Status: Released April 29, 2022
  1. Bug fix to pgManipulateSVG() to fix a problem where an SVG loaded "inline" would cause the function to fail to find the SVG document for manipulation.
  2. Bug fix to PowerPac Object Referencing Engine to fix a problem where getting the bounds of a group that contained fill-in-the-blank objects would return null instead of the bounds of the group.
v15.098.0 -- (January 31, 2022) Status: Released March 18, 2022
  1. Added support for CSS boxSizing in the function pgStyleObject(). This CSS style can now be applied on a per object basis whenever it is needed.
  2. Bug fixes to XMLHttpRequest() to fix a condition where the parameter notifyObject would not be recognized in all situations. This bug was introduced in an ealier update.
  3. Bug fixes to subModal() to fix a problem where dialog windows would appear and then suddenly disappear.
  4. Enhancements to mobile.xml to better work with issues that arise when the virtual keyboard on mobile devices is invoked. Also, fixed this xml to NOT use function calls which are incompatible with IE11, just in case someone decides to run content in this old browser.
  5. Bug fix to prevent content flashing on mobile devices.
  6. Bug fix to mobile.xml to bypass loading when the ToolBook application is not a top level window application. The mobile.xml modifications are ineffective on windows that are not top level, plus they sometimes caused anomalies when loading.
  7. Modified mobile.xml based on bug fixes in this release.
  8. Bug fix to PowerPac Page Navigation Engine to fix an issue where slow page navigation was observed if a video is playing and buffering when page navigation was invoked. The fix calls the window.stop() method to shutter the predictive loading of resources and permits immediate page navigation to occur.
v15.093.0 -- (Januray 24, 2022) Status: Released
  1. Bug fix to pgTBObjGet() to fix an issue where the function failed to get the bounds of a fill-in-the-blank question object.
v15.092.9 -- (December 6, 2021) Status: Released
  1. Bug fix to pgSoundLoader() to fix an issue where the volume could not be set to 0 when loading a sound.
  2. Bug fix to mergeTBObjects() to fix a regression from a previous PowerPac update that prevented merging sub-groups.
  3. NEW FEATURE: Exported content now intelligently detects whether content is running on a desktop, tablet, or phone device. If a mobile device is detected (tablet or phone), the viewport is reconfigured based on the page size of each page in your book. A new xml file is automatically executed to support this feature. The file is located in "../dialog/mobile.xml". Now all of your pages will fit and auto-scale properly on mobile devices on a page-by-page basis. This feature is designed to work with ToolBook pages only. The feature can be turned off by setting a custom viewport in the export options menu of the PowerPac menu at author mode in ToolBook.
  4. Minor bug fixes to subModal(). Some page objects in popups were not appearing properly if an XML file was loaded to configure the page in the popup. This seems like a long-standing bug that may have been introduced some time after the popup animation feature was added.
  5. Bug fix to calculations used in the process of setting HTML tables using XML files. It appears that some numeric strings were not properly converted to integers.
  6. Minor fix to pgToolTip() to protect function from attempting to set non-text and undefined (null) tooltips.
v15.091.2 -- (September 10, 2021) Status: Released
  1. Bug fix to pgSoundLoader() to protect against a condition where an invalid playlist item causes notification events at end of playback to fail to send.
  2. Added support for inline styles for all tags when setting tables using XML files. Previously only some table tags support inline styles while all tags supported class names used in stylesheets.
  3. Added id property in the viewport <meta> tag so the tag can be dynamically changed when a screen rotation or size change is detected. Of course, you must include your own code for how to change the <meta> tag, but now you can easily leverage it using the id="myViewport" property.
v15.090.8 -- (August 20, 2021) Status: Released
  1. NEW FEATURE: Added export option to allow custom modification to the display device <meta> tag. The custom tag will be added to all html files in the export process and will override the default calculations made by the PowerPac Export Engine. Generally, the current default is "width=device-width, initial-scale=1.0" and will sometimes be calculated to include a "min-scale" setting for large ToolBook page sizes relative to typical tablet/phone displays. In development, we found that sometimes a slight adjustment to this display string can yield better results by setting the "initial-scale" to a value slightly less than 1.0, though in most cases this is unnecessary.
  2. Minor bug fixes to the PowerPac menu system.
  3. Enhancements to pgTBObjSet() and pgTBObjGet() to support additional DOM elements when created at the top level using <make> tags in XML files. New support was added for sending click events, and checking input elements of type checkbox and radio. You can now easily get and set values for these elements without adding additional code to your XML functions.
  4. Bug fixes to pgAnimateCSS() and getGroupObjects() to better support XML <make> elements with many child elements. Object collection would not be valid when using pgAnimateCSS() if some child elements had their display property set to "none" or in other cases child elements were being selected that were already selected with their parent elements. The result was that pgAnimateCSS() would not always animate elements correctly or not be able to send user events when it finished.
v15.081.0 -- (July 24, 2021) Status: Released
  1. Changed behavior of setHTMLContent() to allow setting an empty string as content. Previously, when an empty string was set, the function would return the HTML content. In the future use either getHTMLContent() or pgTBObjGet() to get the HTML content of fields.
  2. Bug fix to pgTBObjSet() to fix a bug where the function failed to set "htmlText" or "text" for <textarea> elements.
  3. Bug fix to pgLoadSVG() support containers that have their display style set to flex.
  4. XML Engine has been adjusted to NOT set the layer (z-index) order of a level 0 <make> object if the z-index has been specifically set by the user in a <style> tag.
  5. Enhanced pgTBObjGet() so that the "visible" property of XML <make> objects can be queried where the function returns true or false just like for ToolBook native objects.
  6. Adjusted the way pgTBObjGet() calculates the bounds of an object. The new method takes into consideration if the objects position or size has been set in a stylesheet. This change should improve the accuracy of positioning when using snapObjectToCenter().
v15.080.0 -- (April 27, 2021) Status: Released
  1. NEW FUNCTION called randomizeMC(). Enhances ToolBook's question randomizer by equally setting horzontal and vertical spacing and permitting the setting of certain answers to always be shown at the end of the randomization. (e.g., "All of the above" can always be set to be the last response in a question while the rest are randomized.)
  2. Bug fix to htmlVideoLoader() where the buffering spinner would sometimes stay visible even during non-buffering playback.
  3. Upgraded Dynamic Parameter Help.
v15.079.0 -- (March 9, 2021) Status: Released
  1. ENHANCEMENTS TO XML ENGINE to permit more intelligent use of <html> tags for all elements.
  2. Bug fix to createAlphaShadow() where a recursion error would occur. This bug also caused subModal() to fail to create a dialog window.
  3. Updated ChakraCore.dll to v1.11.24.
v15.077.2 -- (February 9, 2021) Status: Released
  1. Modified pgGotoURL() to be more graceful when called multiple times in succession.
  2. Changed XML loading of "book.xml" or "tbk.xml" to be synchronous. Previously these auto loading files loaded asynchronously and while that worked in 95% of cases, we did find a instances with randomized quizzes where asynchronous loading of these files caused them to not load.
  3. ENHANCEMENT TO POWERPAC OBJECT REFERENCING ENGINE: It is now possible to get a ToolBook object or ToolBook object name/id from any DOM element. (e.g.: gTBo( element.id, "tbObj") returns the ToolBook object corresponding to elment.id, OR gTBo( element.id, "name") will return the ToolBook object name for the DOM element.id.)
  4. ENHANCEMENT TO XML ENGINE: Provide support for specialized ToolBook objects; notably Fill-in-the-blank question fields.
  5. ENHANCEMENT TO XML ENGINE: Any XML file named tbk.xml or book.xml (developer preference) in the export file listing will autoload when the book is being loaded. This occurs BEFORE the first page of the application displays.
  6. Bug fix to htmlVideoControl() where fast navigation could trigger an error to display.
  7. Bug fix to htmlVideoControl() where attempting to get controlbar visibility would always return false.
v15.073.5 -- (November 21, 2020)   Status: Released
  1. Refactored the auto-delay used in htmlVideoControl(). It should now be possible to execute htmlVideoControl() immediately after loading a video without errors since the refactoring takes into consideration loaded meta data before executing these commands.
  2. Added NEW parameter to htmlVideoControl() called [delay]. This enables developers to stack htmlVideoControl() calls one after another. While most work fine with the [delay] auto-calculated by the function, sometimes a [delay] > 0 may be desirable.
  3. Bug fixes to htmlVideoControl() where the playBetween property would not work properly and would randomly throw errors when used with YouTube videos.
  4. Enhancement to pgStyleObject() to better permit its use outside of a ToolBook application.
  5. Removed UPX compression on JSPowerPac.exe.
  6. Minor adjustments to the PowerPac installer.
v15.070.6 -- (October 10, 2020)
  1. Bug fix to subModal() to fix a possible error that may appear when trying to set an auto-scrolling URL. The issue involved a misspelled variable.
  2. Added v8 JavaScript Engine ChakraCore to export process to improve performance and eliminate any need for IE11 controls during export. Defaults to using IE controls on now unsupported Windows XP.
v15.065.7 -- (August 15, 2020)
  1. Tweaked the page transition method to further prevent page flashing on rapid navigation. I think I've finally got this long-standing issue fixed for good! (Hopefully?!)
  2. Bug fix to subModal() dialog window styling to fix a problem where the titlebar would suddenly shift in some cases with scrollable content.
  3. Tweaked the XML Engine for top level objects that are set to autoAlign to a ToolBook object on the page.
  4. Bug fix to ToolBook's internal SCORM exit routine which seems to impact Chrome-based browsers in particular. Changes to the Chromium engine may prevent the SCORM engine from posting results because the page closes as the SCORM results are being posted to the LMS. This fix, inserts a slight delay between pushing the date to the LMS and closing the ToolBook course window. The PowerPac fixes this issue dynamically during exporting of the course. However, a script is available that can dynamically make the change to already exported courses. Please email us if you need this script and the instructions on how to implement it.
  5. Bug fix to hideScrollBars() to fix a page display corruption problem that may occur when this function activates during a fullscreen video.
  6. Bug fix to export engine for broken support for favico files. Also added support for png files as favico files. File types ico or png are automatically detected and <link> tags created if they are added to the root folder of the exported book.
  7. Added support for alpha-channel color assignments as "rgba( #, #, #, alpha)" in pgStyleObject(). Also accepts hex alpha color as "#000000FF".
  8. Modified the XML Engine to better work with events where Actions are also defined. While it is not recommended to have Actions and XML functions defined for the same event, it may not always be possible to avoid it. In these cases, the XML Engine should cooperate better and still allow both the Actions and the defined XML function to run in tandem.
  9. Bug fix to validateEmail() where validation would fail if certain capitalization would exist in the email address.
  10. Added "revised" meta tag to header of each index.html page. This meta tag includes the date the content was created/revised. Some search engines may benefit from this tag.
  11. Added "robots" meta tag to header of each index.html page.
v15.061.3 -- (May 30, 2020)
  1. ADDED FEATURE!
    Private encrypted storage has been added to all cookie functions (createCookie(); readCookie(); and eraseCookie()). This makes these functions work with in-private browser modes where cookies are disabled. Of course, private cookies are not persistent and are deleted when the browser window is refreshed or closed. The private encrypted storage works almost exactly like the browser localStorage and sessionStorage objects.
  2. Updated PGSD_PowerPac_com_link.js for non-ToolBook HTML support (dialog boxes, etc.)
  3. Bug fix to pgStringEncrypt() where the function would not always convert submitted values to a string before encrypting the data.
  4. Miscellaneous adjustments to all cookie functions to make sure the return type is consistent whether using localStorage, sessionStorage, the NEW privateStorage, or normal cookie types. Also, if a number is stored in a cookie, it will now be converted to a numeric value instead of returning a numeric string.
  5. Bug fix to the PowerPac Export Engine to fix a problem where if a shared folder was indicated, the script paths would not always allow the exported application to maintain its portability.
  6. Updated Function Help API as required.
v15.050.1 -- (May 5, 2020)
  1. Bug fixes to mergeTBObjects() with respect to how the function handles ToolBook buttons. Previously, a merged button would jump out of position when clicked inside a merged group of objects.
  2. Enhanced the XML Engine to permit setting a delay when creating onload functions.
    An example of using this feature:
    <myobject>
    <function name="myLoad" delay="300" event="load" params="e" useTB="true">
    <![CDATA[
    /* NOTE:
    useTB="true" is optional in most cases unless using the "load" function at page level or
    with groups. Also, the [e] parameter is now populated with the following properties:
    e.type = "load"
    e.target = DOM object which is usually also the same as [this] in the function body.
    ***/

    tbfunction_snapObjectToCenter(this.name, "myobject2", "both", false, "0, 0");
    ]]>
    </function>
    </myobject>

    The delay property defaults to 0 for no delay or 50 for nested <make> objects. It can be set to any value in milliseconds greater than 50. The delay is cancelled on page navigation unless the onload event is fired on a object which is not unloaded by page navigation (e.g.: the "system" element).
    USAGE: Sometimes an element that requires an onload event needs to have its function delayed slightly while other XML processes are taking place. Consider this NEW feature similar to specifying an additional <config2 delay="300"> ... </config2> sections with an embedded delay value.
    NOTE: With this enhancement, onload functions can now be embedded inside <make>...</make> tags. If necessary, specify a delay greater than 50 if the onload event fails to to achieve the desired effect on your defined <make> objects.
v15.048.1 -- (March 12, 2020)
  1. Modified XML Engine to allow defining non-event driven custom functions on the page and background objects. These can be easily called by using pgTBObjSet().
  2. Enhanced pgTBObjSet() to permit custom function execution as outlined in item 1 above.
  3. Added NEW parameter called modalAutoPos. Setting this parameter to false turns off the default repositioning behavior of subModal windows when the browser window is too short or narrow.
  4. Bug fix to the PowerPac Object Referencing Engine that could cause IE11 to encounter an error condition when searching certain types of objects.
v15.046.7 -- (March 5, 2020)
  1. Product ENHANCEMENT
    NEW item in Export Options called Auto-load XML for each page
    Image 1.png
    Menu item: Auto-load XML for each page
    Image 1.png (8.55 KiB) Viewed 49276 times
    Checking this item means developers no longer have to add an XMLHttpRequest() page action to load an XML file as long as the XML file is named exactly the same name as the page (preferably no spaces in names for XML use). If a particular page does not use an XML name based on the current page, then the PowerPac XML parser will do nothing. This way you can use auto-load in combination with other XMLHttpRequest() actions.
  2. Bug fixes to subModal() to fix some minor anomalies discovered as a result of enhancing the function to use CSS animations when displaying the dialog windows.
  3. Bug fix to PowerPac's XML Engine as it relates to repositioning <make> elements set to "autoAlign" and whose display is set to "none".
  4. Bug fix to cancelNEXTPageTransition() to fix a problem where expected defaults where not always set.
  5. Bug fix to styling used in subModal() for popup dialog boxes. The background mask which prevents main window access would not completely cover the main window application in certain circumstances.
  6. A change was made to allow subModal() windows to take full advantage of the function setBrowserWindowStyles(). Previously, an attempt to set the browser window style using this function would fail if the browser window was opened in a subModal() dialog.
v15.040.6 -- (January 30, 2020)
  1. Product ENHANCEMENT affecting subModal(). When a dialog window opens, the function will animate the dialog into position using 1 of 6 different CSS animations (selected at random).
  2. Bug fixes to pgButtonHTML() to handle right-aligned buttons and to fix a problem with left-aligned buttons (e.g.: checkboxes).
  3. Update Parameter Help API for pgButtonHTML().
v15.035.6 -- (January 24, 2020)
  1. Bug fix to XML Engine to maintain backwards browser support.
  2. Bug fixes to pgStyleObject() and to pgButtonHTML() to improve styling when applied to ToolBook buttons that use images/graphics and various caption styles.
  3. Small change to meta tag generation in exported index.html files.
  4. Bug fix to validateField() where the down arrow key was not being properly handled.
v15.034.0 -- (December 26, 2019)
  1. Replaced obsolete tags from html exports that are no longer supported in html5. Obsolete tags were replaced with CSS equivalents.
  2. Bug fixes to meta tags for mobile device support, and to fix some rare issues with duplicate <title> tags.
  3. Bug fixes to validateField() to ensure capitalization works as expected when filtering text in <textarea> elements.
  4. Minor change to validateField() so this function always returns the text of the field even if the text was not actually filtered by the function. Previously in the condition of unfiltered text, the function would return false.
  5. Bug fixes to the dynamic object referencing engine related to the use of non-ToolBook objects and HTML tables. These fixes ensure that the object cache does not contain any orphaned elements that were replaced by updating table data and other elements by removing and replacing them.
  6. Add %N option to setCalendar() to permit setting months as 1-12 without a leading zero.
  7. Enhanced the XML Engine to allow server JSON response data to be used for setting up HTML tables. Please read the documentation included with the table XML template file. This is accessible from the PowerPac Menu > Create/Edit File ... > XML Document ... > XML (HTML Table Template)
  8. Minor bug fix to removeHTMLtags() to fix a rare issue encountered when removing whitespace from the beginning of a string if the string contains a line feed character (ASCII 10 or "\r").
v15.028.2 -- (November 15, 2019)
  1. Bug fix to XMLHttpRequest() to fix a problem wherein the default documented value for loadXMLPage was not being recognized. Previously, users had to expressly set this value or the function did not behave predictably.
  2. Re-apply UTF-8 encoding to all external template files.
  3. Minor adjustments to character filtering in validateField().
  4. Bug fixes which affected the html video player range slider accessory. Time value range styling was not showing entire range values.
  5. Updated htmlVideoControl() "playBetween" property to play range if one is detected.
  6. Bug fix which applies to Microsoft Edge to fix a problem wherein a focus rectangle would sometimes appear around the ToolBook body element on page navigation.
  7. Changed Remove Unsupported page option to include removing readme.html and scriptlet.html files as these are not necessary and are rarely if ever used.
  8. Bug fix for a long standing issue that has existed in all ToolBook exports since v8.9 through v11.5. The meta tags in exported content are not properly formatted for the description tag. Instead, the description tag content gets inserted into a copyright meta tag, which not even supported in HTML 5. This can cause search engines to lower the export ranking on the Internet. This problem has been fixed so the description and keywords entered in the Book Properties dialog box will now be properly formatted in the exports.
v15.024.2 -- (Setember 7, 2019)
  1. Bug fix to readCookie() to correct an unexpected return value when reading an empty or invalid cookie from the session storage pool.
  2. Tweaked the meta tag values for mobile viewports.
  3. Bug fixes and enhancements to pgGetStyle() so function reliably returns a wider range of styles from queried objects.
v15.023.1 -- (August 16, 2019)
  1. Bug fix to pgAnimateCSS() to fix an unusual condition where Microsoft Edge may attempt to animate invalid objects in a group. When this happens, Edge will throw permission denied errors.
  2. Bug fix to pgTBObjSet() to fix a very rare condition when using the myProperty value "over" to restore the default state of a button.
  3. Bug fix to XML Engine and XMLHttpRequest() wherein if a specific section of an XML document is requested before the document has been cached from a previous access, the request would fail to return the section and default to returning the entire XML document instead.
v15.021.0 -- (July 6, 2019)
  1. Removed the troubling ToolBook alert message:
    [var] is not a number in asNumber().
    This message implied a developer error existed in the actions code. However, nothing was necessarily wrong with any actions code. It was the message itself that caused confusion. The PowerPac now removes this useless alert message. You should no longer have to code around this as the message was basically saying that your code was comparing a string value to a numeric one and implied that this cannot be done. This was a false assumption and the code that generated the message even allowed the action code to continue to run.
  2. Bug fix to the PowerPac Object Referencing Engine to fix a problem if an object name ended in the string b# or p#.
  3. Enhanced the PowerPac XML Engine so that <config delay="#"> sections are cancelled with each new page navigation. This should protect against rare errors if using JavaScript in <config> sections that depend on specific page objects which may no longer exist when the event fires if it has been set to delay.
v15.019.0 -- (June 14, 2019)
  1. Bug fix to the PowerPac Sound Manager 2 implementation to fix a window unload issue when using browserExitWarning(). Backing out from the exit warning caused the Sound Manager object to become unstable and would no longer load new audio files. The only recourse was a browser window refresh.
  2. Bug fix to correct a rare reference issue if a function was called using pgTBObjSet() where the name of the function to be called contained the word "focus" or "blur". (e.g. pgTBObjSet( "sharedActions", "myFocus", [objName] ) )
    NOTE: This bug has been around a long time and we have had no reports of it. It turned up in our own projects recently.
v15.017.1 -- (June 6, 2019)
  1. Bug fix to PowerPac Internal Web Server to fix a issue where the server would fail to start if the book folder path contained special characters (e.g.: "/Left & Right/myBook.tbk").
  2. Bug fix to stopStyleAnimation() to fix an error which would occur when calling this on an SVG element.
  3. Bug fix to htmlVideoLoader() to fix an issue where the volume was not being set or being set correctly. This may have been broken in v15.016.2.
v15.016.4 -- (May 25, 2019)
  1. Bug fix to htmlVideoLoader() where the function ignores autoPlay = false. As a result all videos auto played. It seems that this bug was introduced in v15.016.2 and is confirmed to affect ToolBook v9.0 but may affect other versions as well.
v15.016.2 -- (May 15, 2019)
  1. Enhancements to htmlVideoControl() to permit directly hiding the controls or displaying them if they are hidden. Essentially bypasses the controlbar autohide timeout value set when loading the video.
  2. Enhancements to htmlVideoLoader() to send user events when user mutes or changes the volume.
  3. Updated Parameter Help API.
v15.014.4 -- (May 10, 2019)
  1. Enhancements to htmlVideoLoader() to send user events when user clicks play/pause in the controlbar and when the controlbar auto hide/show timer fires.
  2. Added code to playStart event of html video player to attempt to unmute the audio since most browsers start video muted. This eliminates the need to do this with a timeMarker and a user event. It is still necessary for the user to have clicked in the window that is playing the video for this to work as that is a security feature of most browsers.
  3. Bug fix to internal Object Referencing Engine which caused a rare problem when using changeObjectLayer() to make an XML object in the ToolBook frame move to the top of the layer stack. This problem also affected htmlVideoLoader() which attempts to change object stacking order when moving from normal to fullscreen.
v15.012.1 -- (April 25, 2019)
  1. Additional enhancements to pgLoadSVG().
  2. Added ability to get SVG elements from the internal object referencing engine. This permits basic SVG elements to be manipulated with addtional functions like pgStyleObject() and pgTBObjSet(). However, it is still best to use pgManipulateSVG() for best results.
  3. Updated Parameter Help API to account for changes made to pgLoadSVG(). Recommendation is not to use "inline" method when loading SVG graphic files.
v15.010.7 -- (April 13, 2019)
  1. Minor bug fixes to the page transition system to deal with quick page navigation issues.
  2. Improvements to pgLoadSVG() to handle additional SVG file types by setting styles AFTER the SVG graphic has loaded.
  3. Minor bug fixes to hyperlinks in Paremeter Help API System.
  4. Fixed a regression issue that likely only affects IE < 10. Of course these browsers are no longer officially supported.
v15.004.0 -- (April 7, 2019)
  1. Adjusted pgLoadSVG() to include the "inline" method.
  2. Removed the following paremeters from pgLoadSVG() use by end users:
    resizeParent and scaleSVG
    Removing these parameters greatly simplifies loading SVG files and these parameters are too confusing to be very useful.
  3. Updated parameter help API for pgLoadSVG().
Clifton
Site Admin
 
Posts: 732
Joined: Tue Jan 14, 2014 1:04 am


Return to Almena Method for Schools

Who is online

Users browsing this forum: No registered users and 1 guest

cron