SUBMIT FOR NEW RELEASE NOTIFICATION

XMS 4.2

Release notes

Upgraded jquery - faster and more stable
 

Changelog:

Designer:
- ported to jquery 1.10.2 and ui 1.10.4
- html5
- runtime options now saving to DOMStorage and reloaded 

XMS 4.1

Release notes

Minor bug fixes

Changelog:

XMS

- $GLOBALS["TEMPLATE_FILE_SOURCE"] = $awsappxmltemplateFile - set in router to know the app path that is loaded

- if defaults.php/AWS_APP_CONFIG_USE_APP_NAME is FALSE appConfig will use $GLOBALS["TEMPLATE_FILE_SOURCE"] instead of GLOBALS[appName]

- SEO parsers added - get the data from config.xml

- urlhandler.php: added session_start

- xmsBuiltinDirectives/langSysMessages: filter to only process element type 1 - fixed bug

- fixed aws2html5.xsl

Designer
- fixed Chrome bug on initAttributeTools

XMS 4.0

Release notes

XMS redesigned to loop through the application and execute the case, import and advancedimport directives, therefore a new processing order as per below.

  1. //app/remotetemplate
  2. //app/use
  3. //app/init
  4. //app/name
  5. //app/client/header|content
  6. //app/filters/dom/filter/import
  7. //app/filters/dom/filter/advancedimport
  8. loop for //case //import //advancedimport
  9. processing-instruction('php') (executed in the order of appearance in dom tree)
  10. //app/filters/dom/filter/xpath
  11. //app/filters/dom/filter/nodelist
  12. //app/filters/dom/filter/domiterator
  13. //app/filters/ob/filter/match
  14. //app/filters/ob/filter/matchiterator
  15. //app/filters/ob/filter/marker
  16. //app/filters/ob/filter/eval
  17. //lang/[activeLanguage]/[appName]/sys/*
  18. //lang/[activeLanguage]/[appName]/ui/*
  19. //lang/[activeLanguage]/[appName]/err/*
  20. global parsers (parsers.xml)
  21. //app/parsers

Changelog:

XMS:

- new processing order
- removed exec, runhere and replace - functionality taken by php#pi
- php#pi can return either text or DOMNode
- fixed import and advanced import filters bug
- import/eachnode can return dom node
- domiterator/norecords returns DOMNode or text

XMS 3.0

Release notes

Includes 

- Designer (aws xmlEditor) 0.22-01 / 2013-06-15

- awsHTML 0.15 / 2013-06-15

- awsXML 0.13 / 2013-06-15

- aws template engine (application processor) 3.0-alpha5 / 2013-08-25

Remarks 

- tested on php 5.3.17 and 5.4

Requirements 

- php needs xsl extension installed (will not work if not found);

Changelog:

DESIGNER:

- 0.22.01 - displays the messages from server when saving files
- 0.21.01 - html entities encoded in #pi and comment preview

 

XMS:

- engine is now XMS class; allows programmer to use multiple instances in the same application 

- XMS class: overloading methods defined 

- fixed to run on php 5.4

- removed Browser class

- GLOBALS['XMS_ENGINE'] to access XMS instance

- router instance has a new parameter $accessControl

- $GLOBALS[HTMLPARSER] deprecated (kept for compatibility); use $GLOBALS['XMS_ENGINE']->CLIENT

- $GLOBALS[TEMPLATE]  deprecated (kept for compatibility); use $GLOBALS['XMS_ENGINE']->APP

- sends messages to Designer when the directory tree does not exists

- XMS_APPS_LOCKED_IN_CWD set to TRUE (defaults.php) open files from XMS directory only
- import/eachnode returns either bool/text/DOMElement; when bool and TRUE will just use the current imported node else will skip it; text or DOMElement will be used instead of the imported node

XMS 2.6

Release notes

Includes 

- Designer (aws xmlEditor) 0.20-01 / 2013-03-09

- awsHTML 0.13 / 2013-02-08

- awsXML 0.11 / 2013-02-08

- aws template engine (application processor) 2.2-beta2

Remarks 

- tested on php 5.3.21

Requirements 

- php needs xsl extension installed (will not work if not found);

Changelog:

 

- engine: 'php' pi (processing instruction) introduced; works like 'runhere' or 'replace' 

- engine: domiterator/check

- engine: domiterator if target not found will not run

- user based application access control

- importer.php removed from XMS tree - it was not used anymore for several months, just a leftover. The reason is that there were suspicions of a security vulnerability  (Path Traversal)  discovered by High-Tech Bridge Security Research Lab.

- other minor changes and security fixes 

 

XMS 2.5

Release notes

Includes 
designer (aws XmlEditor) 0.19-01 / 2013-02-09
awsHTML 0.13 / 2013-02-08
awsXML 0.11 / 2013-02-08
aws template engine (application processor) 2.1-beta1

Remarks 
- tested on php 5.3.21 and 5.2.17

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer: dynamic scroll
Designer: solved a bug on document save (while running on litespeed webserver)
engine: improved debugging mode; set AWS_DEBUG_USE_XMS_ERROR_HANDLERS to TRUE in defaults.php to enable it; will drop all errors, including DOM ones to log files in log folder
engine: log file rotate implemented; AWS_LOG_ROTATE_MAX_FILESIZE in defaults.php to change the max allowed log size
engine: php processing instruction as new directive and executed in the order of appearance in the application tree
engine: aws processing instruction as standalone directive - removed to keep only for directives php code storage

XMS 2.4

Release notes

Includes 
designer (aws XmlEditor) 0.17-01 / 2013-01-12
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 2.0-beta8

Remarks 
- tested on php 5.3.17

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer: cut child nodes bug fixed
Designer: improved reload tree on various node operations
Designer: F1 pressed will popup a dialog with the keyboard shortcuts

XMS 2.3

Release notes

Includes 
designer (aws XmlEditor) 0.15-08 / 2012-08-20
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 2.0-beta8

Remarks 
- tested on php 5.3.16

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

- security fixes 
import/eachnode and advancedimport/eachnode if returns a text value, will be used to create a documentFragment and replace the current node

XMS 2.2

Release notes

This release features a built-in router, further extending the capabilities of the framework.
If before all applications were only tight by the user filters (or parsers) executed at the end of each application, with this release and introducing of the built-in router, apart from the obvious function of a router, the developer also have the capability of initializing all the applications at once (ex: connect to a database available in all applications).
The router works with Apache mod rewrite or without it and is accessible by the developer by editing router.xml using Designer. You can also find 4 routing models to use in order to understand the routing design in XMS. 

Includes 
designer (aws XmlEditor) 0.15-08 / 2012-08-20
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 2.0-beta6

Remarks 
- tested on php 5.2.17 / 5.3.16 (both Linux and Windows) 

Requirements 
- php needs xsl extension installed (will not work if not found);

More details about the router design

Changelog:

XMS 2.0

Release notes

First of all, the major change in this release is that the templates engine (temp.php) is using awsXML class instead of awsHTML, to create and handle the output application. This means that we do not have to deal with namespace issues like we did before, when we had to import XML code in html documents, and believe me, that was the challenge and reason xsl files were applied to fix the namespaces.

Now, from one end to the other we handle xml documents so we avoid conflicts of any type and the output is made directly to the type of document, based on the value of outputxsl attribute of app element (the root node of any xms application).

Consequently with this major change in approaching the application,all the php code executed in xms 2.0 applications (either directives, filters or parsers), is executed as the code (data) found in the first child of type processing instruction (<?target data?>), not as before when the code was the text content of the directive / filter / parser. This applies to child directives, filters and parsers as well. 

This change ensures a full stability of this framework, new opportunities for extending it and a better and more clear approach of the programming style. 

Includes 
designer (aws XmlEditor) 0.15-08 / 2012-08-20
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 2.0-beta4

Remarks 
- tested on php 5.2.17 / 5.3.14 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - new application core, faster, lighter and more reliable

Designer - multiple text nodes can be created

Designer - doesn't apply any xsl to the document while saving; this feature can be enabled, disabled or customized in Runtime options

Designer - added processing instructions support

Designer - advanced clipboard allows paste individual items and refreshes automatically if new nodes are copied to clipboard and the dialog is open

Designer - document tree shows all nodes, not only DOMElements; this option can be changed from Runtime Options/Show DOMElements only

Designer - Runtime options/Tree nodes display filter - a filter that is applied when a tree element is displayed so it will only show those that you want / need to seel Very good to filter application directives and not browse the entire documents looking for them; This filter can be enabled or disabled from Runtime options / Check this to apply above nodes tree display filter

Designer - cut and copy buttons for each attribute

Designer - Rename node tool fixed

Designer - interface tweaks (dialogs instances fixed to open an existing instance if any or a new dialog / drag and drop support disabled by default / focus on main input elements in dialogs) 

Designer - keyboard shortcuts to extend (Ctrl+arrow right) and collapse (Ctrl+arrow left) tree nodes 

xms application processor - $GLOBALS["HTMLPARSER"] now is awsXML - kept the name for backward compatibility reasons!!! The application only runs over XML documents only and outputs whatever we need based on the xsl supplied in the outputxsl attribute of app element

xms application processor - app[@outputxsl] - default is xsl/aws2html.xsl for html output type applications; when attribute removed => output as xml application

xms application processor - updated to engine 2.0-beta4 (temp.php) and changed all directives that execute php code to use the first processing instruction instead of text content

xms application processor xmlimport directive removed becauseimport now handles both, xml and html (in this case the importashtmlattribute needs to be set as by default import handles the document as xml)
xms application processor advancedxmlimport directive removed because advancedimport now handles both, xml and html (in this case the importashtml attribute needs to be set as by defaultadvancedimport handles the document as xml)

xms application processor - #pi aws directive = behavior similar with tunhere and replace

xms application processor - #pi exec directive = behavior similar with exec

xms application processor - #pi php directive = work in pairs and execute code over the DOMDocumentFragment containing all the nodes in between the two #pi

xms application processor -advancedimport/data/child[@type="function"] - when set, type attribute makes the directive execute the #pi inside as a function, in order to be able to set cutom data for the advancedimport directive header, when reads the data source

xms application processor AWS_DEBUG_ALL_LAMBDA option in defaults.php: when set to TRUE, the processor will log all the lambda functions executed - use it only for debugging purposes, to see what, where and when was executed; in production set it to FALSE because could slow down the applications; default output is in log folder, for individual sessions or for all (GLOBAL.gz)

XMS 1.6.1

Release notes

Includes 
designer (aws XmlEditor) 0.13-12 / 2012-03-14
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 17

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.10 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - as Google Chrome and Firefox removed isSameNode, some features of Designer did not worked on newer releases - FIXED

Designer - minor tweaks 

xsl/output-xhtml.xsl - new stylesheet that outputs xhtml; to use it you need to set to xsl/output-xhtml.xsl the 'outputxsl' attribute of app (root node of aws xms applications)

XMS 1.6

Release notes

Includes 
designer (aws XmlEditor) 0.13-11 / 2011-10-16
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 17

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.5 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - new tool to toggle node list container width

Designer - minor interface tweaks 

Designer - on mobile browser (webkit/android) will display an additional tool to toggle active node

Designer - runtime check type options not working: FIXED (Thanks to Seb)

XMS 1.5

Release notes

Includes 
designer (aws XmlEditor) 0.13-06 / 2011-09-01
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 17

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.5 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - when bookmark is pushed will show name or id attributes values as default

Designer - Save button shows the name of the loaded file (if any)

Designer - better selectors on showMainWindowCloseThick option 

Designer - showMainWindowCloseThick to remove the window close button so logout from xmlEditor is not performed accidentaly

Designer - check / uncheck active node using ctrl+space or toggleActive from shortcuts

Designer - move through nodes with keyboard as defined by the shortcuts (defaults are ctrl + up and ctrl + down)

Designer - obj.showTextNode - displaying only 400 caracters

Designer - obj.showTextNode - using htmlentities (http://phpjs.org/) to display text content of active node

Engine - xmlimport directive bug fixed

XMS 1.4

Release notes

Includes 
designer (aws XmlEditor) 0.13-00 / 2011-07-06
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 16

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.5 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - tools feedback on checked or active elements

Designer - insertNode supports a/b|c/d/e|f/g - this will create child nodes with the corresponding tree after (for check item will create a, c and f child nodes); better try it yourself :D

Designer - insert document fragment not working if no active node: fixed

Designer - repaired wrap won't uncheck node after operation: fixed

Engine - new filters mainly to be used when remotetemplate is used: import, xmlimport, advancedimport, advancedxmlimport;

Engine - case directive: moved before imports, just after content generation: allows use of $GLOBALS["BROWSER"]->Name in "filter" to generate browser related content;

Engine - case directive / processCases bug fixed: not using default option when filter result not found in options list;

XMS 1.3

Release notes

Includes 
designer (aws XmlEditor) 0.12-02 / 2011-07-04
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 14

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.5 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - advanced clipboard tool to visualize / edit clipboard's content; clipboard can now hold all types of XML entities (elements, attributes, text nodes, comments, cdata,...) at the same time

Designer - multi-select mode using checkboxes, for node operations (Insert node, Wrap, Insert Document Fragment, Delete, Delete Child Nodes, Cut Nodes, Cut Child Nodes, Copy Nodes, Copy Child Nodes, Copy Attributes)

Designer - doc from initOptions: when saving shows the name in dialog 

Designer - designer.xml - loading document from $_GET["datasrc"] (you can load a documet in Designer from the address bar like: "http://your-server/path/temp.php?use=templates/designer.xml&datasrc=templates/yourApp.xml")

Designer - fixed not loading when dataSrc attribute is set

Designer - word-break for attributes table

XMS 1.1

Release notes

Includes 
designer (aws XmlEditor) 0.11-04 / 2011-02-10
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 14

Remarks 
- tested on php 5.2.14 / 5.3.3 / 5.3.5 

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - support for custom XSL;

Designer - Bookmark manager;

Designer - Jump to found node in Search dialog;

Designer - display of css path in Node Info;

Designer - improved interface;

Designer - better Insert Node and Insert document fragment tools;

aws template engine remotetemplate new directive which imports a remote html page, converts it to AWS XMS format and adds it to the current application, on the fly;

aws template engine case a new directive, similar to switch-case instruction, allows to handle several blocks of xml/html code easier;

aws template engine - cache system for import / advancedimport / xmlimport / advancedxmlimport / remotetemplate directives;

web site documentation - examples for each directive / filter available for download, to have a better look on each one;

XMS 1.0

Release notes

Includes 
designer (aws XmlEditor) 0.9-03 / 2010-11-13
awsHTML 0.12 / 2010-11-03
awsXML 0.10 / 2010-10-29
aws template engine (application processor) 1.0 beta 8

Remarks 
- tested on php 5.2.14 and 5.3.3

Requirements 
- php needs xsl extension installed (will not work if not found);

Changelog:

Designer - 2 new tools: wrap around selected and paste before/after selected;

Designer - display name attribute (if found) inside the DOM tree instead of node name (a different attribute can be choosen in the Designer's runtime options);

Designer - html document import now moved to server side; faster and more safe this way;

Designer - runtime options dialog - will allow user to set certain features while running (also allow custom xsl transform when saving);

aws template engine - completely redesigned - use xsl to build output document; also allow to generate other document formats using custom designed xml stylesheets;

- /app[outputdisabled=TRUE] - when set outputdisabled to TRUE aws template engine will not output anything -> allows create "blank output" applications (ex: when you have to use some user entered data, like $_POST and redirect to another page or show a message,...);

- /app[outputxsl=local_xsl_file] - will use a custom xsl file to output document; by default application processor will output a html document;

XMS 1.0 rc2

Release notes

Includes 
designer (awsXmlEditor) 0.8-8 / 2010-10-11
awsHTML 0.9 / 2010-10-01
awsXML 0.9 / 2010-10-01
aws template engine (application processor) 1.0 beta 3
aws xml template engine (xml application processor) 0.1-beta3

Remarks 
- tested on php 5.2.12 and 5.3.3
- 2'nd release canditate as some new features were added;

Requirements 
- php should have xsl installed; If extension is not found, document will output as it is. I strongly recommend to install this extension;

Changelog:

Designer - better event handlers (suggested by Ivo); some ui tweks;

aws xml template engine (xml application processor) provides support for xml applications using the same features as web application template engine does for html documents; 

exec now related to the parent node (same as runhere); the callback function inside exec directive will be called with parent node as $el parameter; 

domiterator/eachnamedreference - similar with eachreference but executes code for the named reference only (you have to create a node in eachnamedreference with the same name as the pointing reference); 

XMS 1.0 rc1

Release notes

Includes 
designer (awsXmlEditor) 0.8-5 / 2010-09-27
awsHTML 0.9 / 2010-10-01
awsXML 0.9 / 2010-10-01
aws template engine (application processor) 0.9 beta 13

Remarks 
- tested on php 5.2.12 and 5.3.3
- this is first stable version, fully compatible with applications build using previous betas; Depending on bugs / issues will be published as 1.0-final in two weeks

Requirements 
- I'm using XSLT to solve the namespace conflicts / issues on the output document; To avoid this issues php should have xsl installed; If extension is not found, document will output as it is. I recommend to install this extension;

Changelog:

Designer insert node suports paths likenodeq/nodew/nodee/noder/nodet/nodey/nodeo/... ; All these nodes will be created and appended to selected one; While creating them, will check if nodes do comply to document rules (if loaded);

Application processor user directives could only be defined from php in 1.0-beta10; Now you can define these directives in your application or in global scope, using Designer; 
- Application related user directives are defined in //app/parsers; These will only be executed in the application where defined; 
- Global scope user directives are defined in parsers.xml; These will be executed in all applications; 

domiterator - unit/reference[skip] - when set 'skip' attribute (any value), will not replace content of that node;

domiterator/norecords and matchiterator/norecords child directives defined; when no records found, will execute the function in 'norecords' child directives and use the it's result;

domiterator/eachreference($el,$label,$value,$recordset) - eachreference function is now called with and additional $recordset parameter; See documentation for details;

domiterator - using 'descendant-or-self' for query the dom when looking for unit and references; This means that unit can same as domiterator's target;

domiterator - major bug fixed; Before: using unit's clone to iterate; Now: using a new object created from the source of the unit;

matchiterator - using 'descendant-or-self' for query the dom when looking for unit and references; This means that unit can same as matchiterator's target;

init directive defined; same as 'exec' directive, only that is executed right after 'use'; you can create a 'return' child directive and result is put in GLOBALS["APPINIT"][returnDirectiveText]; (ex. when connecting to a database,...)

- Format output document using XSLT => namespaces fixed; can be disabled from defaults.php/AWS_HTML_XSL_NAMESPACE_FIX; default TRUE;

replace - function will be called with parentNode as parameter (like runhere);

awsHTML::each - now accepts as many parameters as needed; First one will always be a callback function; (ex: each('functionName',$param1,$param2,...) => functionName($result,$param1,$param2,...)) 

awsHTML::check() and awsXML::check() - called for each element before executing any of following methods: attr, attr, removeAttr, append, prepend, before, after, replace, replaceContent, removeChilds, text of both awsHTML and awsXML classes;
If check returns false these methods will not be executed; 

awsHTML::filter() and awsXML::filter() - new method to filter the results; Has one parameter that can be either string (xpath selector) or function;

XMS 1.0 beta 10

Release notes

Includes
designer (awsXmlEditor) 0.8-2 / 2010-09-07
awsHTML 0.8
awsXML 0.8
aws template engine (application processor) 0.9 beta 12

Remarks
- tested on php 5.2.12 and 5.3.2

Changelog:

domiterator - provides the same functionality as matchiterator but use DOM to make replacements; As matchiterator this directive is mainly designed to be used with databases;

import/runfirst child directive added; before making import runfirst child directive will be called with import directive's DOMNode as parameter; to be used when you have to alter source or xpath attributes of the import directive; see test/test_importAdvancedFeatures.xml;

import/eachnode child directive added; will execute function in 'eachnode' for each DOMNode of the xpath, with $el parameter; see test/test_importAdvancedFeatures.xml;

eachnode and runfirst above for xmlimport, advancedimport and advancedxmlimport directives; 

matchiterator and domiterator: now 'unit' can be any descendant of directive's target; 

awsHTML and awsXML: a default context is set up, based on the constructor's parameter type; See awsHTML::_constructor documentation for more information;

awsHTML and awsXML: now you can use css selectors, not only xpath; two functions introduced to perform this: cssq (css query) and csse(css evaluate); Xpath to css transformer is provided by the Zend_Dom_Query_Css2Xpath / ZendFramework-1.10.8;

XMS 1.0 beta 9

Release notes

Includes
designer (awsXmlEditor) 0.8-2 / 2010-09-07
awsHTML 0.7
awsXML 0.7
aws template engine (application processor) 0.9 beta 11

Remarks
- tested on php 5.2.12 and 5.3.2

Changelog:

use/check - use directive now can import or not, based on the result of the function (see templates/testUse.xml); Mainly to be used for browser oriented applications
Browser class and $GLOBALS["BROWSER"] var;
User defined directives;
- Many code inhancements;

XMS 1.0 beta 8

Release notes

Includes
designer (awsXmlEditor) 0.8-2 / 2010-09-07
awsHTML 0.7
awsXML 0.7
aws template engine (application processor) 0.9 beta 8

Remarks
- tested on php 5.2.12 and 5.3.2

Changelog: