Intro to GST Site Foundation (GSF) for WebCenter Sites
This post is a quick introduction to the GST Site Foundation (GSF) for Oracle WebCenter Sites. The GSF can be described most simply as a framework for developing websites in Oracle WebCenter Sites.
Focusing exclusively on WCS development, GSF is open source software with a codebase managed on github.
As you’re probably guessing this means that it isn’t a core part of the WebCenter Sites product so isn’t supported directly by Oracle. You should be aware of this if you’re looking to utilise the GSF in your web application and understand the responsibility you’re taking on in terms of support.
Although the GSF provides a lot of functionality this post focuses on three main areas. These are
- Facades – A library of helper and utility classes to help make working with WCS a bit easier
- Rendering Framework – An alternative rendering framework for WCS providing developers with the ability to implement MVC style applications
- TagLib – A JSP tag library that provides simplified data access when creating templates
GSF provides many facades and helper classes. Here’s the javadoc.
The following are some of the key ones.
The classes found under – com.fatwire.gst.foundation.facade.assetapi provide utilities classes extending the assetapi. Have a look at ScatteredAssetAccessTemplate as one stop shop for reading asset data.
XML Tag Facades
The classes found under – com.fatwire.gst.foundation.facade.runtag provide a way of calling the WCS XML tags from within java. There’s still plenty of WCS functionality that’s only available either through private java APIs or their associated XML tags. As these facades call the XML tags directly they provide a way to utilise this functionality in a supported way.
The classes found under – com.fatwire.gst.foundation.facade.sql are helper classes for working with SQL in WCS. If you need to query the underlying database tables directly these classes are your friend.
Finally GSF also provides an MVC style rendering framework that provides a much cleaner, easier way to separate your business logic from your rendering logic. It provides an ‘Action’ framework that implements the Command design pattern and provides the ‘M’ in our MVC.
The Action framework allows you to implement your logic as either java classes or groovy scripts – groovy scripts are useful as they can be dynamically reloaded reducing the need to restart your container.
WCS Template assets provide the view in the GSF MVC stack and there’s some help there as well.
GSF provides a JSP taglib which simplifies the implementation of common functionality. You can find more information about the tags available here.
Have a look at gsf:asset-load for a much simpler way of loading and getting data from an asset.
This article is only a very high level introduction to the functionality provided by the GSF but hopefully it starts to answer some of the questions about what it is and how and where you would use it.