Posts Tagged ‘#CMS’

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 !

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.

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.

Adobe’s Day CQ 5.3 – My view of the product

Thursday, May 26th, 2011

Day CQ has been in news ever since Adobe decided to acquire the company. Firstly, it was around providing a WEM platform along with Adobe’s online marketing suite and than as highlighted by @irina_guseva from RSG, CQ5 WCM development skills are hot — and scarce. I recently had some hands-on experience in exploring the porduct and we launched three websites in the space of five months, which clearly highlights one of the main strengths of the product i.e. quick time to market. There are lots of positives about the product. To list a few are:

Strengths

Strengths

  • Easy to setup and get started
  • Architecture (Open source + standards)
  • Sling framework is pretty cool ! .html to .xml to .json etc
  • Jackrabbit, Felix OSGi bundles JCR 283 Standards compliant
  • Default cluster of one, so easy to add remove new instances
  • Syndication/ content sync is pretty fast
  • Packaging architecture is neat
  • System backups
  • Blogs (reverse publishing)
  • etc

And there are lot of sites which talk about its positivity. There are always two sides of the coin, and product does have some not soo good aspects as well. Find below the list which might be useful for users who are trying to evaluate CQ. The below list is based on my experience and I am happy if any of the CQ guru’s want to correct me:

Weakness

Weakness

  • Separation of component and content: The component model doesn’t really highlight the real value of a CMS product. Most of the components which comes out of the box doesn’t really separate content from presentation and I fould it hard until we adoped the approach of data components and presentation components. For more details, please refer to my old post: Adobe’s Day CQ : Separation of content from components
  • Multi Vendor and issue with CSS /Divs: CQ requires HTML, CSS to be defined in specific formats, as it adds a number of divs on its own to establish its paragraph system. If you are working in multi-vendor environment, where a creative agency is developing designs and mock-ups without any clue of CQ, it may sometimes be really hard to adopt it in CQ. It is better to look for some guidelines from CQ around the structure of HTML, CSS to be defined.
  • Thin Documentation: Even though dev.day.com has basic set of documentation available, it is really hard if you want to customize even a small bit of it. The architecture is pretty open but unless there are pointers to explore its really a big hinderance. The google groups CQ forum has more of queries than solutions, but recently it has been pretty busy.
  • Authoring WCM User Interface: UI for authors is Ajax based, and so it is an issue in organisations where JS is disabled. With JS disabled, the interface comes back as blank page.
  • CRXDE: Popular tool for development is CRXDE but we had troubles in its integration with SVN. The updates didn’t work as expected and you can’t check-out a single file. There is no proper guidelines to merge and resolve conflicts apart from doing it outside CRXDE
  • Reporting: Out of the box reporting available within CQ 5.3 is pretty thin and you need to write custom code to extract most of the required information. This has changed significantly with V 5.4.
  • Package Manager: New package manager with CQ 5.3 has number of issues and in my experience it is better to use the old package manager which is more reliable. Also, the UI for pacakge manager doesn’t refesh and hangs for ages.
  • Multiple interfaces: CQ comes with number of interfaces including WCM, CRX, Apache Felix, servlet engine administration. Some of the functionalities re overlapping across interfaces. It will be better to consolidate into one.
  • CQ Corruption: We have seen a situation where CQ stopped working just because someone switched off the machine while CQ was running. It happened to be that CRX repository was out of sync on local and shared directories which didn’t allow CQ to start again.
  • Sidekick is sleak but annoying and does page refresh for each action

If anyone wants to share their not so good experience with CQ please drop a comment or mail me and I will consolidate as part of the above post.

HTML Mockup and Content

Tuesday, May 24th, 2011

In my previous post, I wrote about HTML mock-ups and their importance. To extend on the same point, it is really important that sample of the actual content that needs to go on the page needs to be part of mock-up as well. In my previous experience, I have encountered various situations where lourel ipsum content works fine but when we replace with the actual content the mock-up starts breaking up. A classical example is usage of RTE (Rich Text Editor) where authors think that anything can fit in and will work but in reality creative agencies never have a view of which all styles to be defined in CSS so that content appears right. In the recent example. authors started inputting tables within RTE, the styles for which were never defined as part of CSS which lead to confusion and frustration on everyone’s part.

HTML Mockup

HTML Mockup

Actual content requirements

Actual content requirements

Another classical examples is management of headings (h1, h2, h3 etc.) within a page. When the creative agency define mock-up, they try to follow a hierarchial pathern for the heading from top to bottm with H1 (heading 1) appears first on the page and than H2’s, H3’s and so on. When the content is written, either in-house or by third party, they never has visibility of the format that needs to be followed i.e. whether to use H1 in their content or H2, H3 and this all leads to confused page with headings floating all around.

I think as part of mock-up testing and sign-off, it is important that we use sample of the actual content with all variations possible to be part of those pages. So, I think as part of the mock-up testing and sign-up, we should also include the right content to make sure of such scenario’s. Has anyone had such experiences to share?

Are you a good CMS User?

Friday, May 20th, 2011

Are you a good CMS user? CM instinct are part of our day to day life. The thinking about CMS usage starts from our day to day job. Think about what all you do as a normal day for a moment and read on.

I am into consulting and spend most of the time using a PC, laptops, storage devices etc. I am sure most of the users who will read this blog will be in the same boat. The managment of day to day work is a CM. Whichever operating systems we have on our laotps, it is providing the basic framework to manage your conent.It provides features like setting up heirarchy, setting folders, files templates, basic and advance search, content creation through adding apps in the framework (creating word doc, spreadsheet, pdf etc.), management of digital assets etc.

How to make use of the framework effectively is left in the hands of the user and that’s where your CM thinking cap goes on. Some of the users manage their documents effectively creating a folder hierarchy, adding meta information etc. while others leave it in the hands of search engine.Some users version the document to manage history while others doesn’t care about it, and many such examples can be included.

If you are good at managing your day to day work, in anything you do, I am sure you will be much better in using a CMS product. Bacause the same thinking will apply behind anything you do in CMS and you will be as good a CMS user as any CMS greek out there, if not better :)

Bundled CMS with Portal: Are they an option?

Monday, May 16th, 2011

Most of the well known Portal products in market comes with some form or shape of web content management systems. The supplied WCM tools are very basic while other are funcionality rich. For example:

IBM’s Web content Manager (previously called Lotus WWCM) is very tightly integrated with WebSphere Portal. The product was originally was acquired by IBM and over the period of few releases it has move forward from just being a simple WCM product to more rich functionality. The support for personalize content and integation with portal’s personalization engine adds new dimension.

Liferay has built in product called Liferay CMS (previously known as Journal) which is tightly integrated within Portal and let you perform basic CMS functionalities though it is not as rich as IBM’s WCM. It does provides integration with jBPM to manage complex workflows. No personalization of content that I am aware of.

Oracle’s UCM is a true WCM product and could stand on its own (not the once mentioned above). It is far more complex and provides a wide range of capabilities – document management, versioning, document collaboration etc. The newest version provides a tag based architecture, allows you to embed services in content regions, runs and scales on WebLogic Server, and has some interesting web app functionality to create content driven web applications without a lot of coding. However, it is not as tightly integrated with any portal in the WebCenter Suite.

Lots of time people have an opinion that bundled CMS are not capable to handle requirements and they start buying bigger CMS products and start integration work. In my experience, it is worth to evaluate bundled option first before even looking out for CMS. Evaluate how much of the requirements are met with the current bundled version and if the percerntage is significantly high stick with it. Integration with other CMS will not only create inegration nightmares but will also add high cost to licences with the gain not in proportion to spending.

Perfect Example: WCM project Lifecycle : Sign-off’s?

Friday, April 1st, 2011

Some days back I wrote about sign-off’s value in a WCM project lifecycle. Recently, I came acoss a perfect example to showcase the same. We recently launched a website based on signed-off requirements, signed-off wireframes, signed-off designs, signed-off HTML mock-ups, signed-off browser support, signed-off content etc. All worked perfectly until two super high priority stuff came through:

Website to run on iPad and iPhone’s
Why this has become a super high priority is due to the fact that senior managers in the organisation are having iPad and the site is not working fully in iPad.

Changes to content – (text and images)
Changes to the images which are hardcoded in CSS. This brings back to the point of realization of technical verification of HTML mockup so that authors could have more control over images than governed through CSS/JS hardcoding

The first point is really interesting of the fact that there are no actual requirements around support for iPad. iPhones. And more interstingly, does the same website presentation holds good across desktops, laptops to iPhones? Or it is better to have a cut down version of the site for mobiles which in turn reference the same content instances?

I am in suppot of cut down version of site as the original site could be lot more fancy with images, graphics while the mobile version can limit them, though providing all the functionality. But again, there is no definitive set of rules which defines whether to have cut down version of site or the same site can run on mobiles. I think it varies from case to case basis.

How have your experience with website Vs mobile sites?

WCM project Lifecycle : Sign-off’s?

Thursday, March 24th, 2011

Each and every project has milestones and one of the important milestone is the sign-off of various artifacts including site designs, wireframes, functional specification, HTML mock-ups, content etc. With the WCM projects, my exeprience of sign-off is just a formality but in reality it doesn’t hold any vlaue. And the reason: changes and more changes after sign-off.

Normally when the design and wireframes are laid down, there is just specific group comprises of few individuals from IT and business teams that will look at them and sign-off. Based on the designs and wireframes the HTML mock-up originates and again in most of the cases the same approval authority sign off without getting into much details.The mock-up are presented to the development team who start to churn out templates and components and setting up website to deliver content. Once the development has passed a reasonable phase, someone in the approval team suddenly come up with a novel idea of presenting this new webiste within the higher authorities. And this very novel idea presents highter authorities with their first view of the site. This is the very first time they start inputting their feedback and the whole ball game of sign-off, CRs start. This sometimes is so drastic that teams go back to the drawing boards and start implementing new designs.

Content sign-off is a very different story with CMS projects where customers always take a view that the whole idea of implementing a CMS is that they can make changes nth minute before the launch of the website.

Also, when the mock-ups are signed off, there is a need for technical review of the code. It is pretty easy for the creative agencies to place lots of images and make them as part of CSS which are non editable by authors. I think it is important to have certain more activities on the plan to cover some of the above issues including:

  • Technical Verification of HTML mock-up to make sure that editable/ dynamic area’s/ extensible area’s are not goverend through CSS/JS hardcoding
  • Presentation of HTML mock-up to all the stake holders to identify gaps earlier than later
  • Involvement of high level management in each stages of the project, including design sign-off, HTML mock-up sign-off etc.
  • etc.

If the issues are raised during development or in UAT, it involves lot more effort than getting it right in the initial stages.

Anyone experienced such situations in their WCM project lifecycle?

Discussion:Adobe’s Day CQ : Separation of content from components

Sunday, March 20th, 2011

Few days back I posted some information around Day’s CQ Separation of Content from Components. There was some good discussion around the topic in one of the CQ group. Here is information from group discussion:

From Paul McMahon, Acquity Group

I think this is a common mis-perception – that because a component defines both content and presentation that the content and presentation are somehow linked.

Yes the component does have presentation logic associated to it, but the content is stored without the presentation, as raw content. This means that that content can be reused in many places without calling on the presentation of the component that was used to create the content.

So let’s take you restaurant example. You might define a restaurant component, which would include all the attributes of a restaurant in it’s dialog, and provide the presentation for a restaurant detail page.

Now lets say you want to have a restaurant listing component. This components content would be limited to say title and column headings for example. In the code of you component you execute a search on the repository looking for all nodes where sling:resourceType = yourrestuarantComponent. This search returns all the nodes where restaurant details were entered. You iterate over this nodes, grab the content you want to display and you display it in the presentation layer you need for the listing page. No duplication of content and you retain the ability to edit the content in it’s natural home within the site.

Now that said I often create the sort of plain jane content entry components and templates you are describing when dealing with content that has no natural home, but that is more about content organization and business process than it is about separation of content and presentation layer.

You can also use the scaffolding mechanism to achieve similar results, but in a different manner.

(more…)