Posts Tagged ‘Fatwire’

Oracle/Fatwire CSDT (Content Server Developer Tools) : Part 2

Monday, November 14th, 2011

Content Server Developer Tools are the latest and the first ever supported tools from Oracle (Fatwire) which provides plugin to eclipse and command line utility to help manage Fatwire artefacts in a file system. Once the artefacts are in file system, it opens a whole new doors to managing them. I covered about CSDT in my previous post and this is extention to the original post.

CSDT has been designed keeping in my the new development as the priority with not much thought around the projects upgrading to CS 761. But in my view the focus should have been other way around as there will be lot more upgrades than new implementations as the initial use case for CSDT.

    If you are planning to use CSDT across developers setup, here are some pointers to be aware:

  • CSDT V1 has a limitation that it expects the work space name to be cs_workspace at the location /export/envision. So, one option to make csdt work is to create a project with the same name at expected location.
  • CSDT expects the same folder structure within workspace, src/_metadata and src/jsp. So it is important that if you are trying to manage CSDT export within CVS, setup the same project structure
  • When you have all the artefacts you want to manage within CVS, make sure everyone sync their local instances with the CVS export so that everyone are at the same code level before starting any development
  • Word ‘Exception’ causes CSDT import to fail. Make sure that during development, do not specify name/ description fields with it. Or use Excaption :)
    If you are upgrading to CS761, there are number of issues which you need to be aware of:

  • Fw_uids need to be same across all the upgraded environments otherwise csdt deployments will fail
  • As part of best practice, if you have extracted element as cselement to make code go through the publishing process, make sure that all such dependencies are changed manually in Meta information. (.main.XML) file else the import will fail
    General CSDT issues:

  • Workflows can not be exported and imported through CSDT so there is need to either mirror to server the workflows or use catalog mover to move them
  • Categories can not be exported using CSDT
  • If Treetabs or start menus or any other artefact is enabled for any site, it is not exported out when we export artefacts for specific site, though they are part of the at site
  • modified date command line parameter doesn’t work as expected
  • Not applicable for no asset tables. A classic example is usage of SystemLocateString.
  • Incremental deployments are tough to achieve and its more manual work to arrive at the dependency set. Full deployment is the easiest way to achieve code drop.
  • CSDT doesn’t check if the asset has actually modified and updates all the assets which are part of workspace. So, if you carry out full deployment everytime, one drawback is that it will invalidate whole of the cache.
  • Etc..etc.

Even though there are number of issues with the current version of CSDT, it is a good to start using it as it will provide a platform which is going to improve over time. And hopefully version 2 of CSDT is not far which will definitely address some of the above issues, it not all.

Happy CSDTing !

Oracle Web Centre (Fatwire) : Is it an old generation CMS?

Thursday, November 10th, 2011

Recently Oracle acquired Fatwire, which has been one of the leaders in the WCM/WEM space. I have been tracking its progress through various releases and recently got a chance to work with Content Server 761. I had great expectation and always wanted it to do well ( may be because it was the first cms product I ever used and also worked for them during Divine days). Here are some of my ever good and no so good list which I try based on my product experience.

Good

  • Follow,to the dot, the separation of content assets from presentation templates which has been in question recently with the more newer Cms’s like Adobe Day CQ
  • Publishing mechanisms available out of the box are one of the strengths with recent addition of Real Time Publishing
  • Enhanced caching and seperating the cache to each individual nodes has been one of the great improvements to its performance questions
  • Availability of system tools in a supported version is always a nice thing to have
  • Finally that there is some respect towards developers by coming up with initial version of Content Server Developer Tools (CSDT), though there are number of shortcoming with it
  • Introduction of Central Authentication Service (CAS) is a welcome change to the stack which provides much more flexibility around development and extending it beyond stereotype implementations
  • etc. etc.

Not so good

  • Some of the basic changes within the implementation requires quite a lot of work. A good example is vanity URLs. Most of the clients now a days have this basic requirement especially around blobs but there is none out of the box URL assembler available
  • Deployment is one of the most painful area. Even with CSDT, which is just the recent addition to product, there are many area’s which it lacks. The basic use cases are not covered by CSDT
  • With CS 761, there are headless installs which is welcome change through if you are upgrading to CS 761 from version below CS 75 there is no other way apart from GUI based installers
  • Product customisation is one of the pain area’s. There is no concept of extending the existing elements into your project elements and apply changes. Which means each time you run an upgrade, there is an activity to reapply all the changes again which makes upgrades sooo much error prone and time consuming
  • CS Engage, for providing personalised content, has never been an easy product to work with and get your head around it
  • There are number of modules on top of core content server but its been utilised scarcely across the globe and tough to find a single case study when in need
  • Rollbacks are still is old 90’s fashion way of taking file system and database dump and restoring them back. Cold dumps needs to be taken to get an exact snapshot of the system at that point in time
  • Lots of documentation is there but they cover basic information and for anything beyond basic changes require folow-up on yahoo groups or through support
  • Support centre has not been supportive. It sometimes feel, just to meet their SLA’s, there are responses which doesn’t even relate back to the actual query
  • etc. etc.

Most of the not so good issues has already been addressed by the newer CMS products and what is taken for granted with a product,Fatwire has not been able to address them. It will be good to see how Oracle take them on board and how WebCentre integration brings in to overcome some of the obvious issues.

Choosing a CMS: Have you considered upgrade process?

Tuesday, September 27th, 2011

There are lots of sites/advisory papers which talk about how to choose a right WCM for your needs. And I am not going to re-invent the wheel here. But there is one aspect which is always given less importance and usually neglected during CMS selection and that is the upgrade process.

Usually upgrades shouldn’t be too tricky as most of the upgrade does is change some schema definition and update existing product code base. So why it needs to be considered at CMS selection process? Read on !

Most of the big WCM Implementations need customisation of some sort and so upgrade projects become more tricky when product overwrite these customisations. A lot of it depends on the under lying architecture of the product. Lets consider two well known products: Oracle WebCentre (previously Fatwire) and Adobe Day CQ. Adobe Day CQ provides facility to overwrite the default components and configurations by simply extending them within your own project. Customisations are achieved without modifying any of the system files, provided its implemented based on CQ recommendations. So, upgrade path for CQ is pretty straight forward and shouldn’t cause sleepless nights.

On the other hand, consider Oracle webcentre where customisation could be achieved only by modifying the underlying system elements. Even your implementation follows the Fatwire recommended approach for customisations, it will lead to changes to system elements. What that means is that upgrade is not straight forward and upgrade itself becomes a project in its own where time lines vary with the number of such customisations.

In a short period product A might satisfy your requirements more than product B, but its important to look at the longer picture because something which looks cool and easy to implement and run might not get you the expected returns in future. And considering the way technology is changing, no one can move away from not upgrading their products for long.

assetload name=Fatwire to assetsave name=Oracle

Friday, July 15th, 2011

In the recent move by Oracle to acquire Fatwire has kept people guessing around Fatwire’s future. It is interesting to see how some people favour the deal while others thinks an end of another product . Some of the interesting readings are:

Here are my thoughts based on various Fatwire modules, though it comes a little late in the day :):

Content Server: Content Server is the heart of Fatwire product suite. Content Server provides content creation, management and delivery platform, providing basic and flex asset models to design content types. Basic, in a simple term is a row in database table while Flex is managed across various tables, thus providing complexity as well as flexibility. I think the core CS will remain though we need to look out which development and improvement model Oracle adopts: basic (rigid) or flexible. One area to watch out for cs is its integration with Oracle’s Enterprise search engine.

Engage: provides personalization and merchandising features, enabling organizations to gather information about site visitors and customers, evaluate it and provide personalized promotions, offerings. Could Fatwire’s Engage will engage Oracle not to use Oracle CRM on demand? My guess is that we will see more of rules and promotional offerings being evaluated through Oracle CRM on demand with Engage becoming more of gathering engine.

Community Server: Community server is the social offering from Fatwire which includes setting up Blogs, commenting and rating system. This is the biggest area of threat as Oracle already have social collaboration platform in the form of WebCentre. And as I understand, Oracle always wanted to push WebCentre and likely scenario could be tight integration with Webcentre which will become the social collaboration platform for Oracle’s WEM.

Gadget Server: Fatwire’s Gadget server helps organizations to expand their capabilities for delivering a personalized, interactive, web 2.0-style online experience to engage customers, partners and prospects. Not sure what’s going to happen with it. But I think Oracle will try to do everything around web 2.0 through WebCentre.

Content Integration Platform: Offers powerful capabilities for accessing content of all types from EMC Documentum, Microsoft SharePoint, and Windows and Unix file systems, for fast and efficient publishing online. EMC bit will be cut off with Oracle plugging in UCM to manage documents and we can see more of integration modules evolving in the long run.

Satellite Server: Remote caching engine which brings site near to users. Do not see much change happening with it as it complements core content server.

Content Optimizer: Is the measuring tool which helps business users and marketers to measure the effectiveness of online content and campaigns. FatWire Content Optimizer works with FatWire Content Server and FatWire Engage to enable real-time tracking and optimization. It will be interesting to see if Oracle’s Content Analysis tool : Oracle Hyperion Web analytics gradually gets pulgged in Fatwire.

Digital Asset Management: Digital Asset Management (DAM) Solution is provided by EMC Documentum to manage DAM assets. With Oracle, we can see DAM solution integration with UCM and Fatwire-EMC solution and will gradually die off.

Fatwire’s CS 7.6: Content Server Developer Tools (CSDT): review

Monday, June 13th, 2011

Fatwire recently released 7.6 version of the product with one of the interesting addition is CSDT (Content Server Developers Tool). Accoridng to Fatwire,

CSDT enables developers to work in a distributed environment using tools such as the Eclipse Integrated Development Environment (IDE) and version control system (VCS) integration. CSDT does not interfere or integrate with other development models. Using CSDT, a development team can manage Content Server resources and exchange those resources with other members of the team

One of the important factor which comes along with CSDT is file system representtion of CS repository. What CSDT does is convert the native CS asset representation to .mail.xml files and vice-versa.
This enable developers to work either in CS or in eclipse. Once the resources are in filesystem, its much easy from management and deployment point of view.

Positives

  • Easy to setup and get started
  • Finally a development tool to make developers life easy with more controlled release and code management
  • Develop JSP elements with standard Eclipse features such as tag completion, syntax highlighting, debugging, and so on
  • Command line utility to export, import ,list both CS and workspace artefacts
  • Manage most of the CS work from within eclipse, including log level changes, access to log files etc.

After playing a bit with the development tool, here are my findings around CSDT OOTB usage:

  • While exporting/importing data from CS using command line utility, there is no way to specify absolute path for datastore. It is always relative to export/envision within CS directory
  • CSDT import requires workspace to be present on the server before running the script within export/envision. There is no way to specify remote workspace/zip file, though you can start the process remotely
  • Incremental builds, for example, only changed files from CVS, can’t be achieved using import command line utility as the utility looks for all the dependency files to be present in workspace even though they have not changed
  • “modifiedSince” option on command line only works for Assets and not for other Fatwire artefacts
  • Logging available is limited
  • Listing commands (listds, lisrcs) doesn’t check for dependency
  • There is no option to see if the existing artefacts within a workspace meets all the dependecy checks before importing in an environment, though when you run import it log errors of not locating the dependent files
  • There is no support to export/import workflow artefacts from CS and vice-versa
  • There is no option available to export users association to sites

So, typical steps for moving a new site from one CS instance to other includes:

  1. Export/check-out from CVS @SITE, @ROLE, @ASSET_TYPE, @TREETAB, @STARTMENU, @ELEMENTCATALOG, @SITECATALOG, @ALL_ASSETS for a site
  2. Import all the exported artefacts in a specific order with @SITE first and maintaining all dependencies
  3. Manually setup workflow in the new environment (assuming there is no connectivity between the instances)
  4. Manually configure users to site association

And Bingo, new CS instance is up and running with the latest managed code.

WCM & Configuration Management

Friday, June 10th, 2011

As highlighted recently by @irina_guseva from Real Story Group, C stands for complexity in WCM, one other reason to add for this complexity is around availability of development tools and the whole process of configuration management and continuous integration. Lots of CM systems are repository based and they love to manage content, content types and presentation templates within the repository than on file system. As most of the CM system provides versioning, all the configuration managment, whether to do with content, content types or presentation are all buried within them.

Over the period of time, the above approach has lead to many CMS implementation failures or the thought of using CMS at the first place. Configuration and deployment process is the least which is talked about during product demo’s and presentation but always is an area of concern. One, there is no way to manage your configurable items in a Concurrent Version System. Two, deployments are hand-crafted than any automated tools. Three, there are lot of manual processes required to be in place to manage change control and many such reasons. And if you have a big team, anything more than five, it is really a nightmare. Resolving conflicts, managing communication around changes, keeping track of the changes etc. adds just new dimension to complexity.

Many CMS vendors have realized the problem area and the result is inclusion of development tools/ IDE’s with the product. Adobe’s Day CQ comes with CRXDE which is custom-built,pre-packaged, stand-alone Eclipse application specifically for CQ and CRX and thus enables to efficiently develop project. Fatwire’s 7.6 version now comes with CSDT (Content Server Developer Developer Tools) which enable developers to work in a distributed environment using tools such as the Eclipse Integrated Development Environment (IDE) and version control system (VCS) integration. Both of these developer tools expose the repository structure in file system which enables all the doors for configuration management.

Once the files are available on a file system, it is pretty straight forward to integrate with a CVS system for config management and providing a much cleaner development environment for big teams. It also enables for continuous integration plus automated delpoyments. Config management becomes managable and the complexity suddenly dis-appears.

I think going forward, we will see more development tools evolving for products, enabling customers to focus of real CMS issues than management and release processes with these tools.

Scarce Skills responsibility: Service Providers or Vendors or both?

Wednesday, April 13th, 2011

Recently there was post from Irina Guseva from Real Story Group around CQ5 WCM development skills are hot — and scarce.

This is not the case just with CQ but with an niche product. I have worked in Fatwire during its Open Market and Divine days in India and it was soo tough to get a single resource with any Fatwire experience. There was a time that in IT driven country like India, I was in touch with all the people with Fatwire skill which is not usual. :).

So why are these skills scare? And how does that impact products like CQ, Fatwire and others?

From IT service providers view, they build such niche skills in a reactive mode i.e. once they get a project they start engaging with product vendor for trainings and do not really invest pro-actively till they see a big pipeline of projects in same product. And there are cases where people work on one project to acquire such niche skills but than are moved to completely different project and the acquired skill gets lost. So, is IT service industry responsible for building such skills pro-actively and make these skills more readily available?

Service providers could really differentiate themselves from others by specializing in such niche skills but it could very well add a risk for such providers and more balanaced approach needs to be taken based on service providers position.

I think apart from IT service industries, product vendors as well need to focus on developing skills but working with IT service industries and/or clients. From the product vendor point of view, they should pro-actively provide trail versions (downloadable or cloud), free training, service providers specific seminars and try to partner with a number of service providers. This will not only help in building skills required for their product implementation but will also drive their product forward. In most of the cases, vendors focus more towards client needs than a providers which is helping client to achieve the goal. I think product vendors should focus towards service providers equaliy as they could be reliable networking partners to promote product through various seminars, part of RFI/ RFP response etc.

I was in one of the conference couple of weeks back which had a mix of people from vendors to implementors to clients. It was really amazing to hear from vendors that because they are not close to service providers, they do not have a view of what all diffent case studies a product can be implemented. And some of the cases fall well outside their own imagination of using the product.

What Fatwire/Google Analytics Tracking Really Provides?

Thursday, January 7th, 2010

First of all wish you all a very Happy New Year .

There have been lots of posts around Fatwire and Google Analytics integration but none with much information. Here are some of the details which might help to provide some insight around integration:

There are four different types of tracking defined with the integration tag:

  • Tracking the use of a particular asset; be a PAGE or any other type.  A PAGE asset will trigger a page viewed tracking event
  • Tracking when a recommendation has been selected or clicked by the user
  • Tracking when a list of recommendations is requested. The object type is set to RecAsked.
  • Tracking when a recommendation is listed for display purposes. The object type is set to RecListed.

Based on above tracking system, two modes of operations are defined:

  • Basic which tracks physical page views using the GoogleAnalytics (GA)  _trackPageview function and the request to display Assets using the GA Event facility function _trackEvent. This basically covers first tracking type.
    • Examples:
      • <Asset Name> [<Asset Type (c)>=<Asset ID (cid)>]
      • FSII Home page [Page=1223456789]
  • Advanced is extension on top of the basic tracking system to record Engage Recommendation information. This mode makes extensive use of the GA Event Tracking facility to record asset related information for recommendations and segments. The three components of a GA Event (category, action, and label fields) are used to store FatWire information. This covers the last three tracking types.
    • Examples:
      • Recommendation Listed
        • <Recommendation name>  [recId = <recommendation Identifier>]
        • FavouriteBlogList [recId = 123456789]
    • Segment information with list of assets
      • FavouriteBlogList [segId = 123424325435], shishankinfo [Blog = 987654321], apoorvinfo [Blog = 1357924680], contentprise [Blog = 2468013579]

(more…)