EMC World 2010: Customizations of Centerstage

The session was presented by Andrew Goodale who is the architect behind Centerstage. I am not a developer but to me this session was very important because I believe that the level of customizations possible greatly influence the potential of a successful Centerstage deployment. A lot of the power of enterprise systems lies in the possibility to adapt to the business needs.

He started by exploring the Services SDK and outlined that the architecture is set up with a Direct Web Remoting (DWR) LIbrary do the magic between web browsers and Web Services WSDL.

Using DFS Types for Data Model where appropriate

  • ObjectIdentify
  • DataObject
  • PropertySet
  • TypeInfo

Simplification was needed to support broader language adoptions because it is hard to called them from anything else than Java and .Net

Trouble calling them from Flash

  • No use of abstract XML Types
  • Minimize the number of XML namespaces
  • Need to support invocation from un-typed languages (e.g. Javascript)

Interface Design

  • Restricted set of data types

The DFS error handling is fine for programmatic access but when you want to show a progress dialogue and had new data structures for that. If you copy 200 files some of them could invoke an error there is important that these are handled and for instance not importing anything from file number 53…instead give more extensive information to the user of what happened and what went wrong without breaking the import after the error.

Foundation Services

  • Create blogs, wikis,
  • Manage spaces
  • Templates

Application Services

Overview

  • Provide the “guts” of Centerstage
  • Capture application logic that is UI.agnostic

Basic Content Services (Create, Checkin, Checkin, Copy, Move, Delete and Properites dialog)

  • Icon
  • Lists (Grid data sources – a declarative mechanism for creating queries, handling sorting, pagination and caching)
  • Permissions (simplified permission levels to standard dm_acl
  • Search (Knows about CS Artefacts and Integrates CIS entities with facets)

DFS Core Services

Possible to use them to modify CS artifacts

– for example ObjectsService.copy to  copy a wiki page

Copy things, add things to a page etc

Our DOF modules will enforce data constraints which for instance means that you can’t copy a page object without copying the page content

Deploying the SDK

  • A zip.file containing binaries and javadocs
  • Centerstage Services are added to core SDK
  • “remote” jars only – a deployed centertsage server is needed

Setup

– Unzip the SD

For Java your classpath should include

– DFS runtime, JAX-WS, JAX-B

Java: centerstage-foundation-remote-jar and centerstage-application-remote.jar

.Net requures 3.0 SDK for WCF, Visual Studio Optional)

Samples in both Java and .Net

Creating a Space

Uses the Blank Template which ships with Centerstage

  • Identify qualification shows how to pick a specific template
  • Using a template guarantees that the space will be Centerstage-compatible
  • Space needs a home page

Returns and OperationStatusSet

  • The standard return type for creates, updates
  • Allows validation errors to be returned.

Creating a Wiki – child pages to the wiki can be added in the same way

An activity template can create a space and send an invitation email to everyone.

Java samples can be built with Ant 1.7 and Java 1.5 Not IDE requirement – Eclipse will work fine.

Sample: Wiki to eBook sample

Goal:

  • Given URL to a CEnterstage wiki, create and ePub book
  • Each wiki page becomes a chapter in the book
  • Blogs and Discussions can also be converted
  • High-fideliyt (the rich text in CS is XHTML in the repository)
  • Page links are preserved

What it shows

  • PageService
  • Fetch wiki home page

The used a set of Google code – Java library that builds ePub books – contributed by Adobe

http://code.google.com/p/epub-tools/

Centerstage Mini – Demo to call services from Javascript

Goal:

  • Build and HTML page that shows Centerstage data
  • Pure AJAX Technologies

What it shows

  • How to call services from JavaScript
  • How si data marshaled

Demo showed the Recent Activity in an external native ExtJS Grid

List Services

The SDK for CS is not licensed….basically need a CS license to use it…

eBook Sample is available on ECN

The SDK will be in GA in the July timeframe.

To me it seems more powerful than I thought that it is now possible to programmatically be able to setup Centerstage Space and modify existing ones. That gives us an opportunity to create “templates” for common things that the business needs to do using E 2.0 features. Instead of relying that users are aware of all the possibilities and can execute them manually we now can have quick buttons to do that or use workflows or external systems to trigger these actions.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.