Archive for June, 2011

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.

140 characters communication, the next big thing?

Wednesday, June 1st, 2011

Social media has been continuously changing the way we communicate, especially the 140 characters syndrome. For those who are wondering what that is, it’s our own Twitter. Why it is restricted to 140 characters only? Here is a snippet from Twitter FAQ:

140 Characters

140 Characters

We like to keep it short and sweet! It also just so happens that 140 characters is the perfect length for sending status updates via text message. The standard text message length in most places is 160 characters per message. We reserve 20 characters for people’s names, and the other 140 are all yours!

Recently, the 140 bug has hit China’s most popular microblogging service, Sina Weibo. China’s highly competitive job search happens through micro blogging where Chinese job seekers, both new and experienced, have to summerize their work history in 140 characters or less againsta job post on the site… Wondering if I can really do that :).

There are conferences which happens around 140 characters. One of them being 140 Characters Conference which provide a platform for the worldwide twitter community to: listen, connect, share and engage with each other, while collectively exploring the effects of the emerging real-time internet on business.

140 characters are opening new doors to the way we communicate. 140 characters is making the Communication more crisp and to the point with creation of new acronyms every time to communicate. These acronyms are becoming part of our every day talk. Newer generations entering the workforce will seek these types of communication mediums than traditional way. The communication tradition is moving from

mail ============> email ====================> 140 characters

Some other interesting area’s I came across:

140 characters is currently a new container for ideas. I could imagine this effect to expode in various forms and shapes soon.