Posts Tagged ‘in’


Its always interesting to customize the existing out-of-box features given by the software vendor. Apart from being interesting, we might ght some times to customize the interface according to the clients requirements. We will discuss some of the customizations to the user interface, especially the DASH interface of Fatwire, in few of my upcoming articles.

NOTE: ALL THE CUSTOMIZATIONS I’M MENTIONING HERE ARE TESTED AND WORKING.
CONFIGURE THE SEARCH RESULTS SCREEN OF DASH INTERFACE IN FATWIRE:

Case 1: Change the SEARCH RESULTS COUNT of the search feature in the Dash Interface.

Explanation:  This customization is related to the search feature of the UI. We need to change the number of assets returned through search. For example, I would like to limit the search results to a 100 assets, instead of displaying the entire results. Hence, we need to find the properties file, in which we need to do modifications.

Solution: For this customization to take place, we need to do modifications in the UIADMIN.PROPERTIES file.

The file is available in the following location:

C:\FatWire\JSK\7.5Patch5\App_Server\apache-tomcat-6.0.18\webapps\cs\WEB-INF\classes

Open the UIADMIN.PROPERTIES file.

We have a property in that file called “searchresultscount”, which specifies the maximum assets that should be returned in the results, through the search performed by the user.

The default value of searchresultscount is 500 ,i.e., the following property is set by default:

searchresultscount=500

When searched for an assets of a particular asset type, the search results screen of the Dash UI displayed the following:

We need to change the above value to what ever we want. For example, if I want the results to be limited by 100, then I would set like this:

searchresultscount=100

Save the UIADMIN.PROPERTIES file.

Check the Dash UI’s Search results screen for the changes to reflect.

When searched for the same assets of the asset type searched above in the Dash Interface, and we can observe that the search results are limited. Verify the screen below:

That’s it…!

Stay tuned for more customizations in my upcoming articles.


Types of CS Administrators in Fatwire:

We use the term “Admin” / “Administrator” frequently. But, there are different types of Administrators defined by the Content Server in Fatwire. We will now see the different types of Administrators in Fatwire:

  1. General Administrator:  He is the normal Administrator. He is responsible for managing all systems in the Content Server environment and has full and unrestricted access to each system’s interfaces. He is also responsible for the creation of other users, creation of ACLs for them, and managing them.
  2. Site Administrator: He is the admin for a particular Site / Sites. He has access only to the site he is granted, and this user is generally created and manged by the General Administrator.
  3. Workflow Administrator: He is the one, who creates workflow processes. He creates the workflow processes, and the rest of the users participate in the workflow.

This is an overview of Administrators in Fatwire. Basing on the requirements, the above said roles will be created.


When to Use the Flex Asset Model in Fatwire?

Flex assets means FLEXIBLE ASSETS. Meaning, that we can add fields at any moment to the asset. You can update your site at any time, adding new fields, without disturbing the existing content.

FLEX ASSET MODEL has been the favorite model for the developers who concentrate on developing WEB EXPERIENCE MANAGEMENT applications. The Flex model helps in achieving the website’s goal of targeting the audience/visitors, and hence improving the overall business by the websites. The Flex Asset Model is the choice of developers, when the data has the following characteristics:

  • MANY ATTRIBUTES:  The assets have very large number of attributes, like some hundreds of attributes.
  • NEEDS HIERARCHY:  The assets need to inherit attributes from their parents.
  • UNPREDICTED ATTRIBUTES: This means that we know that we cannot predict what attributes might be necessary in the future.
  • NAVIGATION: Visitors browse your site by navigating through “drill-down” searches that are based on the attribute values of your data.
  • ENGAGE: You want to use Engage.

If implemented correctly, the Flex asset model yields major benefits for the business through websites.

But, to build a Flex asset model, a lot of complex work needs to be done. The following needs to be kept in mind, while choosing this Flex asset model.

  • COMPLEX DATABASE: The underlying database structure of flex assets is pretty complex.
  • SLOW RATE: Asset creation is slower that Basic assets.
  • SEARCH: Searching attributes requires complex code.

UPDATING A BASIC ASSET IN FATWIRE:

Though BASIC ASSETS are not meant to be changed after creation, sometimes, we may require to UPDATE the existing BASIC ASSETS that we have created earlier in FATWIRE CONTENT SERVER. This may be due to the requirement for changing the naming conventions, update existing attributes of the asset type, remove existing attributes, add new attributes to the asset type, etc.

This updating of the basic asset should be done with care, so that, the existing assets will not be affected.  If you need to update the basic assets, you need to follow the below guidelines:

  1. Open the CONTENT SERVER EXPLORER, and open the ASSETTYPE table. This table contains the ASSETTYPEs that are created in the Fatwire Content Server (Both System and User defined).
  2. Open the appropriate ASSET DESCRIPTOR FILE (ADF), by double-clicking on the file in the “URLDESCRIPTOR” field of the table.
  3. Update the ADF. Save it. Save the Content Server Explorer’s Table. You can do a SAVE ALL.
  4. Run any scripts, that need to update the database (if required). In most of the cases, there is no need (Atleast, in my case).
  5. Register the Assets from the Fatwire’s Advanced Interface (ADMIN -> ASSET TYPES -> APPROPRIATE ASSET ).

That’s it.. The UPDATE OF BASIC ASSETS has been completed.

If you see any weird messages in the existing assets, make sure that you have executed the above procedure properly.


Many a times, while programming in FATWIRE, there will be a confusion about the usage of the appropriate tag, when try to call a TEMPLATE, or CSELEMENT, or SITEENTRY assets. This article makes a point to clear that confusion. We will now see which tag to be used appropriately for the above said assets.

1.  As a SITEENTRY is a pagelet, we need to call it with a tag, that renders pages. RENDER.SATELLITEPAGE is the tag that is used to call the SiteEntries from our code.

2. Since a CSELEMENT has a piece of code, and itself is an Element, we need to use a tag that renders Elements. RENDER.CALLELEMENT is the tag that is used to call the CSElements from our code.

3. Since a TEMPLATE is both (Has a Page name, and has Element,i.e, code), it can be called bye both the above said tags. However, Fatwire has given another tag, especially for calling the Templates. RENDER.CALLTEMPLATE is the tag that is used to call a Template from our code.


IMPORTANT TAGS IN FATWIRE (Continuation):

In this article, we are going to discuss the TAGS  IN FATWIRE THAT LOG DEPENDENCIES The following are the tags that log dependencies.

The render:logdep Tag:

This is the most common tag, that every Fatwire programmer knows. This tag is used in situations, in which your code can obtain an asset’s data without actually loading the asset.In such a case, be sure to log the compositional dependency yourself with the render:logdep tag. According to the Developer’s guide, “Use the RENDER.LOGDEP tag if your template uses tags that obtain an asset’s data without loading the asset, such as ASSET.CHILDREN.”

At the beginning of the element for each CSElement asset, you include the following line of code:
<render:logdep cid=”Variables.eid” c=”CSElement”/>

At the beginning of the element for a Template asset, the render.logdep statement would be as follows:
<render:logdep cid=”Variables.tid” c=”template”/>

When you try to create a Template or a CSElement, Content Server automatically includes an appropriate render:logdep statement in the code.

The following is the syntax for logdep:

JSP Syntax:

<render:logdep asset=”asset name” cid=”asset id” c=”asset type”/>

XML Syntax:

<RENDER.LOGDEP ASSET=”asset name” CID=”asset id” C=”asset type”/>

The render:unknowndeps Tag:

Use the <render:unknowndeps/> tag when there are dependent assets but that there is no way to predict the identities of those assets because they came from a query or change frequently. You use this tag to cover those coding situations in which you truly cannot determine what the dependent assets might be.

When a compositional dependency is set to “unknown,” it means the page must be regenerated during each Export to Disk publishing session and updated in the page caches after each Mirror to Server publishing session, whether it needs it or not. This tag causes the page or pagelet to be regenerated at every publish because the dependencies cannot be determined. This means that you should use this tag sparingly.

This tag logs a compositional dependency of “unknown” for the rendered page.

The following is the syntax for logdep:

JSP Syntax:

<render:unknowndeps/>

XML Syntax:

<RENDER.UNKNOWNDEPS/>

You must use this tag carefully because the more pages that must be regenerated, the longer it takes to publish your site.


IMPORTANT TAGS IN FATWIRE (Continuation):

In this article, we are going to discuss the PROGRAMMING CONSTRUCT TAGS IN FATWIRE. Lets start..!

IF/THEN/ELSE:

This is one of the most common tag used by the object oriented programmers. The working of the construct is similar to that of other language constructs (like java,c, c++,etc). However, it has a different syntax compared to others. Lets see the syntax.

JSP Syntax:

<ics:if condition=”logical expression”>
<ics:then>
tags or text
</ics:then>
<ics:else>
tags or text
</ics:else>
</ics:if>

XML Syntax:

<IF COND=”LOGICAL_EXPRESSION”>
<THEN>
tags or text
</THEN>
<ELSE>
tags or text
</ELSE>
</IF>

Example:

<ics:if condition='<%=ics.GetList(“a:mypage”) == null%>’>
<ics:then>
No values available for this attribute
</ics:then>
<ics:else>
<ics:listloop listname=”a:mypage”>
<ics:listget listname=”a:mypage” fieldname=”value” output=”mypage_id”/>
</ics:listloop>
</ics:else>
</ics:if>

LOOP:

This is the looping construct of FATWIRE. This tag is used to iterate through items in a list. Remember that excess code within these tags affects the performance of the template. Lets see the syntax.

JSP Syntax:

<ics:listloop   listname=”some list” [maxrows=”number of loops”] [startrow=”start row”] [endrow=”end row”]/>

XML Syntax:

<LOOP [FROM=”START”] [COUNT=”LOOP_TIMES”] [LIST=”LIST_NAME”] [UNTIL=”END”]>

</LOOP>

Example:

<ics:listloop listname=”a:mypage”>
<ics:listget listname=”a:mypage” fieldname=”value” output=”mypage_id”/>
</ics:listloop>

We will see the TAGS THAT LOG DEPENDENCIES in the upcoming posts..

Stay tuned…