36.1 Guidelines and Limitations

To support rendering in the Timeline mode and fetch asset data from the repository, replace the AssetDataManager API with the AssetDataPreviewManager API.

To read a single asset with its attributes:
Session ses = SessionFactory.getSession();
AssetDataPreviewManager mgr =(AssetDataPreviewManager) ses.getManager( AssetDataPreviewManager.class.getName() );
AssetId id = new AssetIdImpl( "Content_C", 1114083739888L );
List attrNames = new ArrayList();
attrNames.add( "name" );
attrNames.add( "description" );
attrNames.add( "FSIIBody" );
AssetData data = mgr.readAttributes( id, attrNames );
To read all the attributes:
Session ses = SessionFactory.getSession();
AssetDataPreviewManager mgr =(AssetDataPreviewManager) ses.getManager( AssetDataPreviewManager.class.getName() );
AssetId id = new AssetIdImpl( "Content_C", 1114083739888L );
AssetData data = mgr.read(id);
To filter the assets based on revision and their start date and end date:
Session ses = SessionFactory.getSession();
AssetDataPreviewManager mgr =(AssetDataPreviewManager) ses.getManager( AssetDataPreviewManager.class.getName() );
AssetId id = new AssetIdImpl( "Content_C", 1114083739888L );
AssetId id1 = new AssetIdImpl( "Content_C", 1114083739884L );
List<AssetId> idList=new ArrayList<AssetId>();
idList.add(id);
idList.add(id1);
List<AssetId> returnedIdList = mgr.filterAssetsByDate(idList);

The following Asset Types and JSP tags are supported in the Timeline mode.

  • Asset Types

    • CSElement

    • SiteEntry

    • Template

    • DimensionSet

    • Recommendations (AdvCols)

    • Flex Assets

    • Basic Assets

    • Page

  • JSP Tags

    • commercecontext:getrecommendation

    • asset:load

    • assetset:setasset

    • assetset:getmultiplevalues

    • assetset:getattributevalues

    • render:calltemplate

    • render:getbloburl

    • render:satelliteblob

    • satellite:blob

    • dimensionset:getenableddimensions

Limitations

There are some limitations that a developer need to understand while working in the Timeline mode.

  • The Timeline supports fetching of the asset details only by the Asset Id and not by the Asset Name and Search API as their values will change after sometime. It is not possible for the search criteria to search through the revisions.

  • Only Realtime publishing is supported and not other publishing types.

  • Revision tracking of controllers are not supported. Create a new controller for every tracked change. Assign a new controller to the template. Whenever the revision of the template is loaded, the particular controller will be executed.

  • Do not unshare assets from a site. This will cause the preview to break.

  • Do not delete assets. This will show improper results while rendering assets as it may be associated with the deleted assets in the revisions.

  • Do not perform remove operations on flex definitions. Removing and editing attributes will cause incorrect rendering. Adding new attributes should not cause any problem.

  • Do not edit flex filters to remove derived attributes. You can add new attributes as derived.

  • Do not remove a parent for a given asset. Adding new parents (in case of multivalued parents) will not cause any problem.

  • Do not use AssetReader API. The .levelOfChildren(3) and .forSite("") methods are not supported. All other methods of the AssetReader API are supported.

  • Do not support the following Asset Types:

    • SiteNavigation

    • DeviceGroups

    • Device

    • Dimension

    • Promotion

    • Segments

    • Any Attribute Asset Type

    • Any Definition Asset Type

    • Any Flex Filter

    • Controller

    • Slots