The GSF NavService contract / APIs have been modified so to better accommodate custom implementations whilst leveraging cleaner design and coding.
Adjusted the OOTB NavService implementation (SitePlanNavService) to the new contract / APIs.
Fixed a bug in the SitePlanNavService.java class which affected caching / cache flushing.
Added a sample implementation of the SitePlanNavService inside the gsf-sample module.
Enhanced javadocs for the entire "navigation" subpackage.
New Features
Now you have absolute control over the AssetNode implementation (handled and) returned by SitePlanNavService.
(Re-)Using SitePlanNavService is now simpler, cleaner and more flexible.
Deprecated Features
No features have been deprecated in this release.
Release Notes for GSF version 12.0.0
Project changes
GSF requires Oracle WebCenter Sites 12.2.1
Therefore the following are also required: Java v1.8, Servlet 3.0 and JSP 2.2
GSF has split into two sub-projects - core and legacy.
The core package employs a new namespace: tools.gsf.*.
The legacy package still uses the com.fatwire.gst.foundation.* namespace.
New Features
The new context initialization / object factory / configuration framework does not require your editing web.xml anymore.
New InjectingController which extends WCS 12c's Base Controller, providing access to the GSF's annotation-based injection mechanism and WCS 12c's new dispatching framework / APIs.
The GST Properties mechanism has been enhanced so that users can use their own "GST Property" flex definition / asset type (instead of the GSF-specific asset type / subtype), provided that it has 3 fields: "name", "description" and "value".
New @CurrentAsset annotation allows users to have access to a pre-loaded instance of the current asset in their controller without having to call the Asset API or AssetReader.
Deprecated Features
com.fatwire.gst.foundation... namespace
All classes in this namespace have been deprecated. Approximately half of them have been cloned into the new tools.gsf... namespace using the same subpackage names.
gsf-mobile module
The entire gsf-mobile module has been REMOVED (not simply deprecated). Use WCS 12.x's native multi-device support instead.
Legacy logging changes
Loggers for the legacy module have all moved to a new namespace (to avoid conflicts with major changes made by Oracle in the WCS 12c loggers): tools.gsf.legacy.*.
The entire com.fatwire.gst.foundation.facade.logging package has been DEPRECATED. You must not use any of those classes in WCS 12c as they won't work properly. This entire package will be physically removed from the GSF project's codebase in an upcoming release.
com.fatwire.gst.foundation.html package
The entire com.fatwire.gst.foundation.html package has been DEPRECATED. You should stop using and/or extending and/or customizing it as it will be physically removed from the GSF project's codebase in an upcoming release.
SimpleSearchEngine
The Simple Search Engine Service has been DEPRECATED. You should stop using and/or extending and/or customizing it as it will be physically removed from the GSF project's codebase in an upcoming release. Rely on WCS's own (Lucene) Search API and/or Lucene's own API instead.
Tag libraries
All GSF tag libraries have been DEPRECATED. WCS 12c best practices preclude utilizing tag libraries in JSP code. Users should stop using and/or extending and/or customizing them. Most of these taglibs will be physically removed from the GSF project's codebase in an upcoming release. Usage of GSF tags is now discouraged in favor of Controllers + Injection + JSTL.
NavigationService
The existing Navigation Service - and related classes, taglibs and asset types / subtypes - has been DEPRECATED. You should stop using and/or extending and/or customizing the LEGACY Navigation Service / Framework (injected by default by the LEGACY factory) as it will be removed from the GSF project's codebase in an upcoming release. Use the CORE's brand new Navigation Service / Framework / APIs instead, which significantly improves its predecessor. Check out the User's Guide for more info.
GSF Tagging
GSF Tagging - including supporting tables, asset event listeners et al - has been DEPRECATED. You should stop using and/or extending and/or customizing it will be physically removed from the GSF project's codebase in an upcoming release. Instead, rely on WCS 12c's native tagging.
GSF Groovy Support
GSF Groovy support has been entirely DEPRECATED. You must stop using and/or extending and/or customizing GSF Groovy support as it will be physically removed from the GSF codebase in an upcoming release. Instead, rely on WCS Groovy support in conjunction with WCS 12 Controllers / Templates / CSElements.
GSF Actions, Controllers and Request Dispatching
GSF Actions / Controllers / Request Dispatching have been entirely DEPRECATED. You should stop using and/or extending and/or customizing GSF actions (both type 1 and 2) and the entire GSF dispatching framework (including GST/Dispatcher, BaseController, AbstractController and subclasses, ActionFrameworkController, ActionController, etc..) as it will be physically removed from the GSF project's codebase in an upcoming release. Instead, leverage WCS 12c's native Controllers and Wrappers. More info can be found in the User's Guide.
Applications (as opposed to web pages) requiring element actions must implement their own action dispatching infrastructure.
GSF Vanity URLs
GSF's vanity URLs framework is entirely DEPRECATED. You should stop using and/or extending and/or customizing it, including all supporting classes / components (custom PageRef implementations, the entire "wra" subpackage, the GSTUrlRegistry table, Virtual Webroots assets, etc...). It will be physically removed from the GSF project's codebase in an upcoming release. Instead, rely upon WCS 12c's native vanity URLs support. A forthcoming GSF Vanity URL migration tool is planned for a future release!
GSF Fragment Inclusion Support
The entire "include" subpackage - including IncludeService and GsfCallTemplate - has been DEPRECATED. You should stop using and/or extending and/or customizing it as it will be physically removed from the GSF project's codebase in an upcoming release. Use WCS' native fragment features instead.
Context Configuration
All AppContext implementations and all other factories, servlet context listeners, injection-related and context management-related classes have been DEPRECATED. You should stop using and/or extending and/or customizing them as they will be physically removed from the GSF project's codebase in an upcoming release. Use the CORE's brand-new scoped object factories framework (look at IcsBackedFactory and ServletContextBackedFactory) which allows cleaner, better encapsulated, more intuitive, faster code (and coding)
Facades
All LEGACY facades have been DEPRECATED. You should stop using and/or extending and/or customizing them because all of them will be physically removed from the GSF project's codebase in an upcoming release. You should use the (new) CORE's facades instead.
A special mention must be made for the CallTemplate facade. Please, refer to the User's Guide for more details.
GSTAttribute Flex Family
The entire GSTAttribute flex family has been DEPRECATED. You should stop using / extending / customizing this flex family as it will be physically removed from the GSF project's codebase in an upcoming release.
The GST Property mechanism itself is NOT and WILL NOT be deprecated, only the pre-existing classes / taglibs. In fact, it has been already enhanced (see above)
All GSF-specific samples have been physically removed from the GSF project's codebase, although the gsf-samples module itself is still there. New samples are planned for a future release.
Bind Annotation
The Bind annotation no longer looks up objects in the object factory. To inject objects returned from the factory, use @InjectForRequest instead.