Release Notes: 1.6.1 ----- - Fixed HierarchicalDescriptorMapperImpl to ignore non-hierarchical URLs 1.6.0 ----- - Added Jackrabbit Support 1.5.1 ----- - Added a new filter that supports pulling out text properties using an XPath Expression, FilterXPathRegexImpl - Fixed bug with Crafter 'root' not ending with a trailing '/' 1.5.0 ----- - Fixed the problem with null values coming in the properties for the regex filter as reported by Igor - Changed the name of the Spring context file for the test cases - added form service: render and process XForms - added template service: implementation agnostic template support - added memory cleanup framework - added new string service to find the position nth occurrence of a token in a given string - added a streams util with simple forwarding of an input stream to an output stream - added proxy servlet pipeline processor -- processor responds to /proxy/ENDPOINT-NAME/URI TO PROXY -- delegates to connection end point dispatcher which looks up the end point for the given name and invokes service -- added endpoint interface --- encapsulates any specifics about connecting to a specific HTTP based system --- added alfresco implementation --- added template service with basic support for preview / authoring environment integration and callbacks --- added new facelets tags for preview support - Added HierarchicalDescriptorMapper and related test case and resources - Updated the descriptor mapper interface and implementation and deprecated the old method - Added a Metadata Accessor wrapper base implementation that with auto-add the hierarchy postfix on to requested urls - Added extension that uses domain name and a map of regex-patterns to map domains to hierarchy postfixes - Updated the merger to now indicate using an attribute if an element is inherited (inherited=true) - Added util for moving params to maps given a request query string - added passing of query string params to endpoint - Added support for patterns as well as XML meta-data to MetaDataUrlDescriptorMapper to allow the user to decide inheritance strategy based on meta-data or file name pattern (this offers better support for localization) - Fixed issue with 'root' being labeled incorrectly as a non-folder in navtree results 1.3.2 ----- - Fixed Windows FS bugs 1.3.1 ----- - Added a staticAssetsUri property to ServletFilter - Added AvmServletPipelineFilter 1.3.0 ----- - Updated ShortToLongUrl and LongToShortUrl transformers to respect trailing '/' 1.2.0 ----- - Added CurrentSiteContextMacroResolver and DebugUtils. - Fixed the issues with getting an correct Descriptor URL for items (files/folders) - Updated the regex filter to support specifying if you want to visit files/folders or both 1.1.0 ----- - Exposed all of the cache engine capabilities in the accessor layer - Documented the accessor layer some more 1.0.1 ----- - Integrated the cache engine in Crafter as part of refactoring 1.0.0 ----- - Renamed project to Crafter 0.10.0 ------ - Added a new mapper that uses XML metadata to decide on mapper instead of path, this is now the default 0.9.2 ----- - Fixed bug with normalizePath in FileSystemWcmAdapterImpl 0.9.1 ----- - Fixed bug with loadXmlFileFromDisk on Windows 0.9.0 ----- - Added support for MS Windows platform 0.8.5 ----- - Clean up and refactoring of REST API 0.8.4 ----- - Fixed cache.put in REST API 0.8.3 ----- - Simplified the REST API to delegate actual REST implementation to the hosting application 0.8.2 ----- - REST API clean up 0.8.1 ----- - Added support for 'null' filters - Fixed some issues with the REST API 0.8.0 ----- - Exposed caching and url transformation services in the accessor layer - Added REST support for caching and url transformation, and enhanced the meta-data accessor REST API - Code refactoring and repackaging - Added support for multiple URL transformation pipelines and redid the URLTransformationEngine - Broke out the structure services to their own accessor StrutureAccessor 0.7.0 ----- - Upgraded to Spring 2.5.4 - Integrated RestEasy and exposed the MetaDataAccessor as a REST Service returning XML or JSON 0.6.4 ----- - Cleaned up root returned by path macro enabled wcm adapter 0.6.3 ----- - Clean up 0.6.2 ----- - Fixed incorrect path in path macro enabled wcm adapter 0.6.1 ----- - Fixed inconsistent "/" prefix in node paths in nav trees 0.6.0 ----- - CRAFTER now accepts a default mapper if it can't match any of the explicit ones (UriExtracterMapper) - Removed deprecated methods "getDescriptorFileName()" and "setDescriptorFileName(String descriptorPath)" from CrafterItem 0.5.1 ----- - Fixed bug in getItems of FileSystemWcmAdapterImpl returning wrong URI for items 0.5.0 ----- - Renamed the main interface methods to something more appropriate - Updated AVM implementation of WCM Adapter 0.4.3 ----- - Fixed EHCache to invalidate its cache only (not everything running in EHCache since it's a singleton) 0.4.2 ----- - Changed the name of a method in CrafterItem (and deprecated the old method) getDescriptorFileName => getDescriptorPath 0.4.1 ----- - Added support for xml namespaces in merger 0.4.0 ----- - Added support for folder meta-data -- all that's required is an XML file named exactly as the folder (and at the same level), with .folder.xml as an extension. To use, load CrafterItem.getDescriptorFileName() for the descriptor 0.3.8 ----- - Cleaned up unnecessary console printlns from merger - Added support for virtulization using PathMacroEnabledFileSystemWcmAdapterImpl 0.3.7 ----- - Fixed XML merging to properly override properties -- similar to the issue Kaplan has faced earlier - Fixed the ReplaceFirst URL Transformer to actually use ReplaceFirst 0.3.6 ----- - Updated FileSystemWcmAdapterImpl to better handle missing files and added some more documentation to different components 0.3.5 ----- - Changed merger to ignore child overrides if the content of the overriding tag is empty 0.3.4 ----- - Rolled back the merger code and removed Windows path compatibility since it was causing problems in wcdr 0.3.3 ----- - Added sorting to the WCM layer to sort items before returning them 0.3.2 ----- - Fixed the bug where loading 2 navtrees with different filters results in the first result returned again (due to caching key generation issue), see JIRA CRAFTER-6 - Added ability to URI extractors so they can define which files are mandatory and which are optional, see JIRA CRAFTER-7 0.3.1 ----- - Fixed the bug where loading a non-existent XML descriptor doesn't return the proper exception (FileNotFound) 0.3.0 ----- - Incorporated MS Windows compatibility patch from Kaplan - Incorporated XmlMerger updates from Kaplan to address - Avoid copying empty tags at level-1 children - Fix for the case when we have a list of tags, like <tab>Tab One</tab><tab>Tab Two</tab> - Changed the transformation engine's name to be more accurate (Uri* to Url*) 0.2.3 ----- - Fixed stdout dump of XML to go to logs instead - Added identity and debug URI transformers and made them default - Added test case for URI transformation engine, this needs to move to a another file 0.2.2 ----- - NavTree filter is now optional, pass null to disable filtering 0.2.1 ----- - Added a better regex filter - Added support for "unlimited" NavTree traversal (use -1 for depth) 0.2.0 ----- - XML merging now ignores file not found exceptions to allow for missing level descriptors - Added filtering to NavTree building with a default filter that filters based on regex, and can extract basic meta-data 0.1.1 ----- - MetaDataAccessor now properly returns null for missing tags 0.1.0 ----- - Switched to DOM4J for all XML manipulation - Wrote a new XMLMerger and updated test cases to verify it - Wrote a new accessor method to find values by xpath 0.0.2 ----- - Fixed structure retrieval 0.0.1 ----- - First draft release, needs some testing Known Issues ------------ - REST API returns need formatting correction for some of the methods Known Issues ------------ - REST API returns need formatting correction for some of the methods - Enhance the localization support (hierarchical inheritance)