Thursday Jan 12, 2012

Tips'n'Tricks for WebCenter #3: How to display custom page titles in Spaces

If people don’t know where they are in the web, they tend to get lost in cyberspace. This can be prevented by displaying the page title for your pages in Oracle #WebCenter Portal Spaces. (At least they won’t get lost in your WebCenter space.) All you have to do is to create a custom page template and use it as default in your space. Its head section will contain a few code snippets to display the title. Add an HTML box and enter e.g. <h1>#pageDocBean.title</h1>:

edit page template

That's it. That is the basic idea.

Caveat: This does not work for wiki pages and HTML pages because they do not have a specific title in WebCenter. #pageDocBean.title will just return 'Wiki' or 'Resource'.

Now let's get a little bit more sophisticated. A space has a title as well. So let's use it:

<h1>#spaceContext.currentSpace.metadata.displayName &ndash; #pageDocBean.title</h1>

Are you ready for level 3? Now I want to add more styling, and I want to have a special treatment for the home page to display the tagline for the space. Here is a preview of the final result, first the home page, then any other page in the space:

Space's header for home page

Space's header for every other page

To accomplish this behavior, I have to use a conditional statement #{ BOOL ? CASE1 : CASE2 }. WebCenter's expressions cannot be nested, hence the conditions will be tested several times to get the desired result:

<h1 style="margin-top: 0px; margin-bottom: 0px;">
<span style="color: #9a9a9a; font-size: 80%;">
#{pageDocBean.title != 'Home' ? spaceContext.currentSpace.metadata.displayName : ''}
</span>
<span style="color: #9a9a9a;">
#{pageDocBean.title == 'Home' ? spaceContext.currentSpace.metadata.displayName : ''}
</span>
<br />

#{pageDocBean.title != 'Home' ? pageDocBean.title : ''}
<span style="font-size: 80%;">
#{pageDocBean.title == 'Home' ? 'Information Matters' : ''}
</span>
</h1>
  • First I apply an inline style for h1 to remove some space above and below the heading.
  • Then I ask for the page title, and if it is not 'Home' (every page but the home page) then I display the space name at size 80% and gray.
  • Just for the home page I display the space name in size 100%.
  • New line for the page title.
  • Now the same distinction fot the page name. For every page but the home page I display the page title.
  • If this code is executed on the home page then I display 'Information Matters' – the tag line for the space – instead of the page title.
Yes, you are correct. Thanks for paying attention. The image of the lady is missing in my code example.

Wednesday Jan 11, 2012

Tips'n'Tricks for WebCenter #1: How to apply custom resources in Spaces

This is the beginning of a little series of tips'n'tricks for Oracle #WebCenter Portal Spaces. The background is our migration from Confluencethat we used at Sun – to WebCenter Spaces as a collaboration tool for the VDI engineering team. I want to share my insights so that other teams and users can get a smooth(er) start with WebCenter.

As a space owner and administrator you might have been to Pages and Spaces Actions > Mange > All Settings

Actions - Manage - All Settings

… then opened the Resources tab, and skimmed through the lists of page templates, navigations, and skins. And you might have asked yourself, "which of these is actually used in my space?"

It took me quite some time to figure it out. And that's the reason for this posting. You are looking at the wrong spot! You have to go to Pages and Spaces Actions > Mange > All Settings > General to look at the right column under Display Settings. This is the control area where you set the default Page Template, Skin, and Navigation for your space:

WebCenter Spaces - Display Settings

So in order to customize any of these for your space, you have to copy an existing resource, add your changes, save, go to the General tab and select your new Page Template, Skin, or Navigation. If you go now back to your space you can see the change in action, a new page template, an updated look and feel, or a new menu bar.

Republished at theappslab.com

Wednesday Sep 01, 2010

Blog Usability Top 7

A blog is a website with a reverse chronological navigation structure for the articles. It implies certain expectations on both sides of the screen, i.e. the blog author and the dear reader. The author commits to provide more or less frequent articles about more or less well defined areas. The reader is invited to browse, read, comment, and subscribe the feed. At best, a conversation emerges, and becomes part of the blogosphere.

Good content and style is key, but even the best content does not fly if the blog's usability is poor. That's why I am continuously improving various aspects of this virtual UX blog. Let me share today the top 7 consideration that drove me to the current design. 

1) This is the end, now what?

No, it is not. It is just a catchy headline for my first point. A few users of the web might find the way to your blog. Some even start reading, but most of them just skim the page. The game is on. Either they hit BACK in a couple of seconds and are gone forever, or they spend a few moments more to skim, scroll, and read. Now ask yourself: What happens when the reader reaches the end of the page. What links do you provide to keep the reader on your pages?

The default themes from Apache Roller and a few additional themes from Sun simply don't care. The reader is left alone in the middle of nowhere, and the chance is high that he clicks BACK because he has obviously reached a dead end.

Simple solution: Provide pagination both on the top and at the bottom of the page. In Roller you can add the following lines to the weblog and permalink templates in order to get a simple "« Previous | Main | Next »" navigation element:

#set($pager = $model.getWeblogEntriesPager())
#showNextPrevEntriesControl($pager)

Related: Persuasives Web-Design. Jenseits von Usability und Konversion von Sebastian Deterding

2) Time Machine

In addition to the pagination you can find an Article Archive at the bottom of each page. This is a comprehensive overview of the 100 most recent articles. The purpose is to present the contents of the blog on one page. The reader can choose any article without being distracted by other content or navigation elements. Although the page is no standard Roller page, it is fairly easy to create a new template page 'index.html' and add the code

#set($numEntries = 500)
#set($entriesList = $model.weblog.getRecentWeblogEntries(nil, $numEntries))
#if($entriesList.size() > 0)
  <ol>
  #foreach ($entry in $entriesList)
    <li>
      <a href="$entry.permalink">$entry.title</a>
      &nbsp;<sub>$utils.formatDate($entry.pubTime, "MMM yyyy")</sub>
    </li>
  #end
  </ol>
#else
  <p class="null">No Entries</p>
#end

Indeed, this creates a sorted list of linked titles and publishing dates. I’d love to have more than 100, but couldn’t figure out how yet.

Related: Important Feature All Blogs Should Really Have by Jake Rocheleau

3) Good Tags - Bad Tags

It is no secret that I am a fan of tagging. If done right, it has many advantages both for the author, as well as for the reader. On blogs they act like a fingerprint of the content. They provide a fast impression what the blog is about without the need to browse several pages or visit the Article Archive. In addition, they are a second-level navigation. (The first level navigation on blogs is the implicit reverse chronological order of articles.) All this is so convincing to me that I display my tag cloud on a very prominent spot, top in the left column. And BTW without a heading, because it is pretty obvious that these are tags.

Over time you will develop a personal vocabulary of tags. And you also have to do some house-keeping on your tags, e.g. combine tags and retag older articles. Errors become obvious if you use the tag cloud also for yourself to navigate your blog.  If the main tag cloud becomes too large, you should also increase the lower threshold when tags are shown.

I've written before about how to implement a tag cloud for a Roller blog.

Related: my tagged pages on tagging

4) The Look of the Link

This is a question of typography and usability. First of all, links must be recognizable. Why waste the time of the reader by making her hunt for the links? Why minimize the probability that links will be clicked by hiding them among the regular text? Underlining is rather typical for hyperlinks since the early days of the web, but legibility suffers as the line is too thick and too close to the baseline of the text. My current solution uses CSS to apply a thin red dashed bottom border. It changes to a gray dotted line once the link was visited. Red indicates a little bit more something new and hot, while the gray line is calm and less demanding. I use this style for the blog articles. On the other hand, the second level links, like the tag cloud, links in side bar, and action links, have just a blue color without the border to avoid visual clutter.

Media links are treated a bit differently. Whenever a link points to a PDF or ODF document a little icon is added to indicate the type of the link. The good news is that it can also be handled automatically by CSS styles.

Related: The Look of the Link - Concepts for the User Interface of Extended Hyperlinks by Harald Weinreich and Harmut Obendorf

5) Fluid Layout

Although the general page layout is not very spectacular, there are some points to mention compared to the Roller & Sun standard themes. I have a fluid 3-column layout with a resizable main column to fit the width of the browser window. The idea is to adjust the content to the reader's window size, instead of letting him scroll vertically all the time, or wasting so much space as many newspaper sites do. However, there is a minimum width for my content to prevent an ugly rendering, and a maximum width to avoid long lines of text that cannot be read with ease anymore.

Even the images cannot break the layout, because their size is limited to 100% of the main column. BTW_ a nice drop shadow comes almost for free on modern browsers, just by setting the border attribute to 1. Here is the CSS:

div.entry img {
  max-width:100%;
  }

img[border="1"] {
  -webkit-box-shadow: 2px 2px 12px #888;
  -moz-box-shadow:2px 2px 12px #888;
  }  

The left column contains the tag cloud, about information, blog-rolls, resources, and author links last. The order of elements corresponds to the relevance for the reader. To the right we have first the search field to meet web browsing expectations. Then a random image from my flickr account to have at least one visual element on the blog to attract people from a different angle.
And finally, a news stream on virtualization. This is an interesting component, because it attracts even myself to come and check what's new on my blog!

Related: Information Plumbing

6) We are open. Be my guest. Let's have a conversation.

One benefit of blogs over classical web 0.9 sites is the ease of commenting. You do not have to change media to pick up the phone or send e-mail to the author. Instead the comments are appended straight to the article, and other readers or the author himself can pick up the ball and continue the conversation.

What I don't like on almost all blogs is the fact that comments are only visible on the article page itself. This makes it difficult to browse content and comments of the blog. So why not display the comments also on the main page? This grands prominent space to the comments and stimulates further participation. Though, it might become too crowded over time – several hundreds of comments on GullFOSS come to mind – but I do not have this challenge on my blog, and can deal with it when things go over any reasonable limit.

I've customized my Roller templates in a way to

  • Invite readers to comment by placing a link "Add Comments" to the end of each blog article
  • Display all comments also on the home page

I've also changed the default period when commenting is allowed to infinite. If a reader wants to comment on an article in the long tail, yes, feel free to do so. There is no reason to shut down the comments as long as the blog is still active.

So let's try it out. Let me know what you think about my usability improvements on this blog?

There are three kinds of mathematicians. The ones who can count. And the others who can't. – To be continued soon... Just one missing...

Monday Jan 11, 2010

Learning French with Sun VDI

Warning: very high wow factor (!) for Swisscom's project "Future Working Environment". As a matter of fact nothing here is science fiction. Everything is possible today with Sun Ray and Sun VDI and some additional clever coding around the login scripts. Great job. I like it.

(via tsrinfo.ch and Uw Werkplek)

About

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today