Labels

accessibility (2) ADF (1) archiver (3) cmu (1) contributor (13) cookie (1) DAM (3) date (3) download (3) dynamic list (4) ephox (5) fatwire (1) fck (1) filters (1) folders (4) headers (2) IBR (3) ImageAlchemy (3) java (4) javascript (2) layout/template (4) link (6) locale (2) multilingual (1) rendition (3) replicator (4) rules (1) schema (1) search (11) sites (1) sitestudio (24) ssp/sspu (5) SSUrlFieldName (2) stellent (4) timezone (1) urm (1) weblogic (1) workflow (2)
Showing posts with label sitestudio. Show all posts
Showing posts with label sitestudio. Show all posts

Tuesday, 2 April 2013

WebCenter 11g PS6 is out - finally fixes firefox!

WebCenter 11g PS6 is out today. (By today I mean April 2 in Australia, but oddly it is April Fool's Day elsewhere. I hope those Oracle guys don't have a sense of humour!)

The important bit is the fix in SiteStudio 809 that allows Contribution Mode to work in Firefox 13 and up. I'm also happy to report the SiteStudio Manager panel works too in the latest Firefox.

But that's about it. Just a couple of other minor bugfixes.

If you're still on 10g you can use this latest SiteStudio 11g, just switch to using Java 1.6 in your intradoc.cfg file.


In Content Server, there is one new feature I'll mention, the internet-style search syntax for metadata fields. (I think it's already available in the QuickSearch but it can now be used on any metadata field.)

DoMetaInternetSearch=true

Spaces are treated as AND, commas as OR, minus as NOT, quotes as exact. They can be combined with parentheses.

Wednesday, 10 October 2012

404 Page is Found!

For the unthinkable scenario where there's a broken link on your site, Site Studio provides a custom Error page. For reasons unfathomable it doesn't return a 404 HTTP header. Here's how to avoid all the problems this creates by adding the header.

Tuesday, 11 September 2012

Managing Links Part 1: Activating the Functionality

WebCenter Content comes with an excellent tool for managing links - auspiciously known as the Link Manager. But I've rarely seen clients use it to its full potential. In this first post I'll talk about how to activate its functionality.

Tuesday, 15 May 2012

Accessing Site Studio domains in 11g

The ability to access custom domain addresses for Site Studio websites in 11g is not documented anywhere. Here's how to do it, using only WebLogic.

Thursday, 29 September 2011

Multilingual Websites

A few years ago I wrote a system that produced multilingual websites in UCM. I was asked about it recently so I thought I'd talk about the solution here.

Tuesday, 30 August 2011

Static Publish of Query String URLs & Dynamic Pages

The Site Studio Publisher (SSP) and the pre-11g versions (SSPU) are tools that take your virtual dynamic SiteStudio website and convert it into a bunch of fair-dinkum files. This does mean that all "dynamic" functionality is lost, including any query string variables in the URL. But there actually is a way for SSP to produce multiple pages from a URL query string.

Thursday, 14 July 2011

Is SiteStudio dead?

Oracle have restructured their products and acquired Fatwire. Somewhere along the line they've decided to rename (or absorb?) the ECM suite into something called "WebCenter Content." Not sure where all this is heading but my guess is that it is probably the end of SiteStudio websites.

Monday, 20 June 2011

How to avoid "not so Ready to Replicate" conundrums

Chatting with Brett on the yahoo forums has turned up a solution to the not so Ready-to-Replicate problem I posted about previously. It turns out an undocumented setting can disable the R2R feature and allow you to selectively sync back to development servers.

Wednesday, 10 November 2010

Add a "future release" icon to contribution mode

Ken posed a good question on the intradoc forums. He wrote:
Our editors have requested that we add a "Future Release" indicator to the Site Studio contribution mode screen, similar to the workflow icon that can appear... Does anyone know what the syntax for accessing the metadata of the content is?
I thought it was a great idea, so I looked into it.

Hiding primaryFile for SiteStudio

Kyle has a great article on hiding the primaryFile field from Content Server checkin pages. I just wanted to augment the solution by mentioning a way to hide the field only from SiteStudio checkin pages.

Friday, 10 September 2010

Not so ready-to-replicate

One of the fab new features introduced in SiteStudio 10gR4 was the "Ready to Replicate" flag (let's call it R2R.) As discussed in some of my other posts, sections that are not marked as R2R are ignored by Archiver during the "Manage Site Replication" process - which finally makes site management a breeze. However an oddity has crept into subsequent versions of the SiteStudio component that I'd like to mention.

Monday, 14 June 2010

Secrets of wcmFragment

The wcmFragment tag that came with SiteStudio10gR4 was a great new way to reference fragments. The big improvement with this tag is that the fragment no longer needs to leave any XML code in your pages. Here's an example of how to use it:
[!--$wcmFragment("myID","myContentId","myFragment",
     "mySnippet","myParameter=value")--]
However I've noticed a few documentation oddities regarding wcmFragment that were worth clarifying...

Monday, 24 May 2010

SiteStudio 11g preview

I've stumbled across the documentation for SiteStudio 11g on the Oracle website.

The documentation is more extensive than previous versions. It includes previously undocumented configuration flags, idoc script extensions and services, and custom element form APIs. Some nice gems in there.

It looks like the 10gR4 format for region definitions has become the standard, the 10gR3 and earlier versions are considered "legacy" format. Unfortunately 11g does not look like it will support other scripting languages, rumoured to include PHP, and the pre-existing support of ASP & JSP is still restricted to legacy sites.

In fact, it just looks like the very latest 10gR4 rebranded. But is this a good thing or bad thing? Content Server 11g will require WebLogic and other new infrastructure bits so maybe minimal tinkering to websites is a good idea for now. My favourite gripe, the LinkWizard has not been touched but at least the Contribution Window has dumped the tiny floppy disk icon for a big "Save" button.

The big change is the improved SSPU. Now called "Site Studio Publisher" it is a Content Server component and it can be accessed directly from the Content Server menus. It finally provides the ability to crawl and publish a specific page on demand, rather than the whole site - which contributors can do themselves, right from the page! It has a typical Content Server interface and can support specified custom querystrings in page URLs. It still supports post-crawl filters and post-publish triggers, but best of all, it appears to be compatible with 10gR3.

The SiteStudio documentation can be accessed here:
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e10615/toc.htm

Wednesday, 10 February 2010

Copy a SiteStudio site? Even easier!

SiteStudio 10gR4 (546) is chock full of awesome new features, one of which is a new way to replicate your site. Yes, the previous article I just wrote about replication is already obsolete. Ha!

The new feature is section level replication and it's pretty nifty. It is enabled via the Designer application and it adds a new section property, called "Ready to replicate." If you switch region content anywhere on a webpage, the property automatically changes to false. You can see this on your webpage in the contribution mode banner as a "replicate" or "don't replicate" button. Now I have to confess... I haven't got a system set up to test this new replication functionality but I assume it is all part of the Manage Site Replication page*. Archiver should rebuild the project file on import and ignore the sections where "Ready to replicate" is false. Why did I say Archiver "should" rebuild? I haven't found a shred of documentation to explain any of this stuff, I'm just guessing (it only got a mention in the release notes textfile.)

Some other awesome features in recent SiteStudio releases include:
  • Compare renditions - any renditions, not just the latest! On the Content Information page, in the revision history table, a new column is appended that allows you to compare the current revision to any other revision, future or past.
  • Setting a default page name (instead of manually changing index.htm)
    SSDefaultUrlPageName=default.html
  • Downloading images and documents from a friendly URL (the current directory) not the WebLocation (buried in the /groups/public/documents directories.)
    SSEnableDirectDelivery=true
  • Oh and those stubbornly clinging to the Ephox editor, don't forget the "ondemand" editors option that was included a few releases prior. It lets you say how many elements get loaded automatically and how many must be clicked on to load. If your page has more than three or four elements then Ephox (Java) is likely to hang your machine, so this setting is a godsend.
    SSUseOnDemandEditors=true
There's more great features too, so do yourself a favour and upgrade.

* UPDATE
Section Level Replication works great! I was right, it works via the "Manage Site Replication" page with Archiver. Note that the project file's native file is modified to exclude sections but not the weblayout file. Strange but true.

Monday, 8 February 2010

How to copy a SiteStudio site

A question that pops up quite often how to copy a SiteStudio website, or maybe just a part of it. UCM is a content management system so by definition it tries to reuse content and prevent duplication! But there are situations where it is desirable to duplicate or replicate your site, like for a training demo or for backup purposes. There are a number of techniques to do this but surprisingly few people know how, or how do it really easily.

The best method for replicating site sections to another UCM instance is to use the SiteStudio Replicator application. This application can select individual website sections to replicate (or the whole lot.) It can also overwrite or retain the region content assignments on the target server, along with other section properties including custom section properties. A few simple clicks and the site structure is replicated. You don't need any firewall exceptions or UCM providers to connect the servers, you don't need to check in any content. Easy! It is already installed on your local machine alongside the SiteStudio Designer application, look for it in your Windows Start menu.

But we're still stuck on website duplication. There is an inherent problem here - website sections rely on unique section IDs - you can't simply duplicate a website, because you'll get duplicate website sections! If you really really need to duplicate a site or some site sections, download the project file xml and manually copy + change ALL the section IDs (append a letter to them all.) This is fraught with danger; the simplest mistake will cripple the entire website.

Other site replication methods include:

The Backup and Restore page basically downloads an entire site and all its config and bits and pieces and wraps it all up in a zip file. I suppose this is the cleanest way to backup a site but it doesn't duplicate a site. It has to be run manually and it creates a nasty big zip file. Not really useful unless you're doing a training demo and want to obliterate any changes when you import. It's in Content Server under the menu Administration > Site Studio Administration > Backup and restore.

The Manage Site Replication page uses the power of Archiver to replicate a site to another UCM instance with the benefit of running automatically as content changes. It can be configured to include the website content and/or the website structure (the project file which describes all the site sections.) The problem here is that it will replicate the entire site structure, which is typically not ideal. Most websites are constantly under development and require a planned launch, not an automatic deployment! It's best for synchronising content only, keep the project file out of it. It's in Content Server under the menu Administration > Site Studio Administration > Manage Site Replication.

Tuesday, 21 April 2009

Friendly file names component

I was poking around the interwebs when I noticed a useful update over on David Roe's ContentOnContentManagement blog. I mentioned previously in my blog that SiteStudio was capable of friendly filenames and offered a few config tweaks to auto-generate them. Well, David went one better an wrote a component that does all the work. Grab yourself a copy.
http://contentoncontentmanagement.com/2009/03/02/auto-fill-that-friendly-name/

Note that you still need to configure your server for friendly file names. The component has an advantage in that it can detect previously used filenames and increment the name with a number if necessary (1,2,3), whereas my method always appended the contentID (we can't execute any search services). His component doesn't use hyphens to produce SEO friendly filenames though... but if he reads this he'll probably update it to do so ;)

Friday, 30 January 2009

Better SiteStudio "Best Practices" - Generating Navigation

Continuing my theme of scalable best-practice for SiteStudio, it's time to turn our attention to the elephant in the room - generating navigation. SiteStudio comes with dozens of "navigation" fragments that harness the power of dynamically assembling navigation from the site sections. There's plenty of fragments to choose from, they do nifty stuff... but the question nobody seems to ask is "why the hell would you build navigation out of your site sections?"

Building site navigation from site sections might make sense to a content-management developer or even a clueless contributor, but as a web developer it smacks me as fair dinkum madness. Nesting sections (directories) just for a drop-down nav? Thinks of all the redundant jumbled-up URLs, yuck. If you wanna change your nav, you gotta move around site sections, mucking up external links to your site... I could go on, but you know the issues, right?

But you were thinking "dynamically assemble nav, that sounds hi-tech and easier to manager, right?" Wrong. To add a link to your navigation, you need to create a new section with a URL, assign a layout, assign content to the regions, set the section as "include in navigation" plus any other custom section properties. Phew... not so dynamic now, eh? The dynamic bit is the fact that every time someone visits the page it needs to recalculate and reassemble the navigation based on the site hierarchy. Strewth. The nav probably changes once a blue moon yet you're wasting valuable processing power regenerating it on every single page visit. On a site with thousands of sections that's gonna be a significant slowdown! The Oracle dudes will tell you to cache it but that means whenever you do change your nav you won't see nuthin' until the cache expires. Site hierarchy as navigation is horribly impractical.

1. Generate navigation from a content item, not from site sections.
Why bother "generating" navigation when we can just use a content item? It's a CMS, remember! Create a region in your layout for navigation content. The contributor simply edits the assigned content and adds a list of links, links to whatever content or sections or URLs they feel like. Easy! Use a staticlist fragment to offer tighter control over the items, the new 10gR4 SiteStudio uses region templates to finitely control the appearance further. Standard workflow & security can be used to control the nav, it's fast and reusable, and it doesn't expose the project file (site structure) to non-designers.

2. Auto-reuse your navigation content across multiple sections.
Worried about the arduous task of assigning the nav content item to each section's layout? Simply hard-code into your layout that the nav region uses a specific content item. Better still, use a Custom Section Property (CSP) to define a starting section. Then code the layout so that all child sections use the same nav content item as the CSP parent. A site footer is also an ideal use for this approach.

Friday, 2 January 2009

Better SiteStudio "Best Practices" - Secondary Pages

I've read a few blogs, webcasts and discussions about "best practice" for SiteStudio. They all seem to talk about the same obvious ideas. What I've been thinking about are some real-world issues and solutions, especially for scalability. Here's two I'm playing with now regarding secondary pages.

1. Use Primary Pages sparingly - rely on Secondary Pages
Forgive me for starting with a simple one... but I'm seeing websites where every page is generated from a primary layout. Yuck. This means every new page will need a new section. Every section in the entire site is stored in a single project file which quickly becomes stupidly massive. Only designers can edit sections. Sections need all sorts of settings done right or your site could become corrupted, even vanish. The content workflow processes are useless because sections can't be workflowed, you'll get a site full of sections with blank pages. Avoid this mess by using secondary pages.

What's the difference between primary and secondary? Well, let's start by understanding website sections. A section is the equivalent of a directory on a filesystem. The section however is a "virtual" directory - it's not a physical directory on any filesystem, it doesn't actually exist anywhere, the section is "generated" on demand. Anyway, if I go to a real directory in a normal website, I'll see a directory listing. Actually most websites are set up so that instead of seeing the listing, I'll see a default page, usually called index.htm - sounds familiar? In UCM terms this "default" page is your primary page, assembled using your primary layout. (Example: http://www.mydomian.com/mysite/mysection/index.htm)

But just as a directory can contain any number of files, a section can display any number of web pages. The primary layout can only display the one assigned content item as index.htm - so the secondary layout is used to display any other content item requested as a web page. The region in the secondary layout is not assigned to a particular content item, it is assigned as "replaceable." To see any content item in this section, simply append the ContentID to the section's URL and presto! there it is. Any item whatsoever can appear as a web page in this section (depending on security, conversion settings and so on) so you'll never need to modify any sections ever again! Woohoo! (Example: http://www.mydomian.com/mysite/mysection/ID000001) One final tip on this issue - you can (and usually should) use the same layout as the primary and the secondary, no probs.

2. Generate SEO-friendly filenames using SSUrlFieldName
The problem with secondary layouts is that the filename is just the ContentID, typically just a number with no file extension. Yuck! That's going to ruin your Google ranking and cause all sorts of confusement. (Example: http://www.mydomian.com/mysite/mysection/ID000001)

Give yourself real file names with the config value SSUrlFieldName. Create a metadata field (let's call it Bob) and then append your config.cfg file with SSUrlFieldName=Bob and presto! your web pages now use whatever filename Bob says. There is a catch - old mate Bob must know a unique filename for every content item, regardless of where it gets used. Bob can't talk about two items called about.htm (he gets confused) and expecting your contributors to give Bob the unique filename is delusional. The solution is to auto-generate it using the ContentTitle, the ContentID and a file extension. Replace spaces with dashes, truncate and then remove the leading zeros. (Example: http://www.mydomian.com/mysite/mysection/about-1.htm) Set this up as a global rule (newcheckin onsubmit) on your contribution instance - or as a archiver import rule on your consumption instance.

*****
I'll write a few more of these...

Thursday, 11 December 2008

SiteStudio10gR4 - Region Definitions & Region Templates

Forgive me for back-dating this post but I wanted to mention my excitement over the upcoming release of SiteStudio 10gR4. There was a webcast/webinar/webthingy where Oracle announced a new version (hopefully due in Jan09) where the main new features are region templates and region definitions.

Currently all layouts contains content regions that are defined and styled by settings in the layout. Editable elements in the region are also controlled in the layout. It leaves heaps of non-web code on the page and it is awkward to customise the display of content items. My real-world example is trying to maintain identical element settings in over 40 separate layouts, phew.

The definition of a region is now a separate "Region Definition" xml file. It has all the usual options (edit, info, approve, view differences) plus it now has the element definitions. Element definitions have been expanded, like allowing people to insert Flash as easily as inserting an image. It's separate to layouts, so in my 40-layout example all I would need to do is update the one definition file, instead of each of the 40 layouts. The region definition also controls the assigning of selected region templates.

The "Region Template" is also a separate xml file. It controls the presentation of content inside the region. An example they gave was a template that took a static list content item and displayed it as tabbed panels. Applying a different template changed the list into a flat page of heading & paragraphs. Hmmm... this looks ideal for creating navigation that is not section-based. Yay! They had another example that loaded a dynamic list query of images into a flash object. All the contributor had to do was change the query. Neat.

Other points of interest:
* Easy choice of FCK or Ephox editors
* Override the chosen editor's config or css, per element
* More element types (querys, dropdowns etc)

This brings some real power to contributors and yet it gives tighter control to designers. Impressive! I can't wait.

*****
UPDATE - Oooh oooh the new docco is now available on the Oracle site... it says they updated the LinkWizard! Yay! I can't find a picture... but it seems to work the same? Bah!

Wednesday, 15 October 2008

correcting links with a validation script

Ok, my personal war on dodgy UCM links continues... had a win when our Oracle consultant visited last week (I know he's reading this :)) and showed me some new tricks with validation scripts.

A validation script is just a bit of JavaScript that can be executed when a contributor tries to save their changes. There is no documentation on validation scripts so I never tried to use them myself... but all they do is run a defined function and throw an alert if the function does not return true. Well our mate suggested we just implement a script that silently rewrites dodgy UCM links and return true.

It's so simple and yet so liberating! Thankyou James.