Posts Tagged ‘presentation templates’

Sorting News Articles in ALUI Publisher

Thursday, October 14th, 2010

Out of the box, WebCenter Interaction Publisher has a News portlet template that allows Content Managers to create News Articles, and display them in a summary portlet with a link to see the entire list of articles.  The articles themselves are:

  1. stored as Content Items under the -article_path-/ Articles folder,
  2. created based on the templates in /Portlet Templates/ _NEWS/ en/, and
  3. rendered by the “Main Page” (the portlet itself showing the top n articles) and “Index” (the list of all news articles when the user clicks “more”) Presentation Templates.

The problem is, the articles are listed based on when they were published, not when they were created or modified.  Which doesn’t make sense all the time – what if someone goes in and publishes the entire folder?  You’d end up with all news items showing up on the same day.  The fix here is to update the two Presentation Templates mentioned above to sort and display on when the “article” Content Items were modified, not published.

What you may not know is that when a user creates a portlet from a Publisher template (such as the one in /Portlet Templates/ _NEWS/ en/), Publisher creates a COPY of ALL OBJECTS into the new Publisher folder the Content Manager specifies when creating it.  The implication here is that you not only need to apply these fixes to the Content Item TEMPLATES in Publisher, but also each individual News Portlet independently.  (Or, you could use something like PublisherManager, but that’s another story entirely).

However you do it, the changes that need to be made can be found after the break. (more…)

Create name-value pairs in Publisher

Tuesday, March 9th, 2010

AquaLogic Publisher has a reasonably powerful scripting language for creating dynamic HTML files in the WebCenter Interaction portal.  After you define a Data Entry Template and Presentation Template, you can create Content Items to use those templates and render whatever HTML you want – or any other text-based file, like RSS (login required).

Data Entry Templates can contain fields of many types, such as text, rich text, numbers, dates, and selection lists.  But one thing it doesn’t have is the ability to create “name-value” pairs.  For example, recently I had a list of government agencies and I wanted to use the acronym for that agency in some places, and the full text in others.  I could force users to type in the text in two different fields or even provide them with two different selection lists, but since an acronym can only mean one agency, it would be easier to include both in a single drop-down list.  Drop-down lists, however, only allow plain text in them, and I needed a way to map the acronym to the agency.

So, I used the “substring” function in Presentation Templates to “fake” this.  Basically, for each item in the selection list, I allocated 10 characters to the acronym itself; the 11th character was the start of the full agency name.  In the drop-down list for the Content Items, the extra spaces are ignored and the user simply selects the agency:

publisher-content-item

… but in the Presentation Template, we use the “substring” method to grab the first 10 characters for the acronym, and anything after that for the name:

publisher-presentation-template

Agency Acronym: <pcs:value expr="substring(project.department,0,10)">
</pcs:value>
Agency Name: <pcs:value expr="substring(project.department,10)"&gt;
</pcs:value>

In this way, once published, the Content Items allow all sorts of fancy displays; in my case I used Javascript to dynamically display and filter a table based on the various agencies by name, but used the acronymn in the table itself:

publisher-published-content