Novell exteNd
Director 5.2 API

com.sssw.cm.api
Interface EbiLayoutDocDescriptor

All Superinterfaces:
Cloneable, EbiCmElement, EbiElement, EbiFrameworkElement, Serializable

public interface EbiLayoutDocDescriptor
extends EbiCmElement

The Content Manager provides the ability to define Document Layouts which are descriptions of how Documents should look like once they are retrieved by the Presentation Layer and rendered for viewing.

It is assumed that an Administrator would create a number of Document Layout Styles per a specific Document Type. E.g. for the type of "Movie Review", there may be three Styles: "with the picture on the left", "with the picture on the right", "with the picture underneath the text".

For each of the Layout Styles, the Administrator may set up a number of Layout Documents, by setting Layout Document Descriptors for the Style. A Layout Document Descriptor is created per a Layout Style and contains a) the ID of the Document that stores a Document Layout and b) the "user agent" qualifier. The User Agent is a special header which is used for identifying the Web client to the server.

The Layout Styles may be thought of as Layout interfaces or general descriptions of Layouts, whereas the Layout Documents may be thought of as the actual implementations of Layouts. E.g. for the type of "Movie Review", each specific Style may have several actual Layouts:

Document Type

Layout Style

Layout Document

Client type

"Movie Review"

id=5 (with picture on the left)

id=6

unknown or default

id=6

Internet Explorer

id=7

Netscape

id=8

Lynx

id=8

Opera

id=6 (with picture on the right)

id=9

Internet Explorer

id=10

Netscape

id=11

Lynx

id=11

Opera

id=10

unknown or default

id=7 (with picture underneath the text)

id=12

unknown or default

A Document Author may choose to decide to make use of the Layouts, in which case they create a Document Layout Set for their Document, which is specific for a Layout Style chosen by the Author for the Document. The Set allows the Content Manager to fetch a Layout for the Presentation Layer that is specific to a particular Client, who is identified by their User Agent. Below is an example of a Layout Set:

Document

Layout Style

Layout Document

Layout Document Version

id=15 (a specific Movie Review)

id=5 (with picture on the left)

id=6

version id=5 (locked in to version 5)

id=7

version id=6 (locked in to version 6)

id=8

version id=-1 (use whatever version is currently published)

Note that the Document Author may choose to "lock in" to a specific version of each individual Layout Document, or decide to default to whatever the published version of that Document happens to be at the time of the Client's request.

See Section 14.42 of the HTTP 1.1 spec for more information on user agents.

Examples of user agent strings:

User Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
User Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)
User Agent: Mozilla/4.5 (Macintosh; U; PPC)
User Agent: Mozilla/4.7 [en] (WinNT; I)
User Agent: Mozilla/3.0 (compatible; Opera/3.0; Windows 95/NT) 3.1
User Agent: Mozilla/4.03 [la] (X11; I; Linux 2.1.29 i586)
User Agent: Mozilla/2.0 (compatible; AOL 3.0; Mac_PowerPC)
User Agent: NCSA Mosaic/2.6b1 (X11;UNIX_SV 4.2MP R4000) libwww/2.12 modified
User Agent: Lynx/2.7 libwww-FM/2.14

See Also:
http://www.w3.org/WAI/UA/, http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc2068.html

Field Summary
static String EL_LAYOUT_DOC_DESC
          The element type of Layout Document Descriptor
 
Fields inherited from interface com.sssw.cm.api.EbiCmElement
OP_COPY, OP_MOVE, OP_REMOVE, OP_UPDATE
 
Method Summary
 String getLayoutDocumentID()
          Gets the ID of the Layout Document.
 String getStyleID()
          Gets the ID of the Layout Style.
 String getUserAgent()
          Gets the User Agent associated with this Descriptor.
 void setLayoutDocumentID(String layoutDocID)
          Deprecated. Use EbiContentMgmtDelegate.updateLayoutDocumentDescriptor(EbiContext, EbiLayoutDocDescriptor, String)
 void setStyleID(String styleID)
          Set the Style ID.
 void setUserAgent(String userAgent)
          Deprecated. Use EbiContentMgmtDelegate.updateLayoutDocumentDescriptor(EbiContext, EbiLayoutDocDescriptor, String)
 
Methods implemented from interface com.sssw.cm.api.EbiCmElement
fromXML, toXML, validateOperation
 
Methods implemented from interface com.sssw.fw.api.EbiFrameworkElement
getElementUUID, getLastModified, getLastModifiedBy, isEqualTo, isReadOnly, resetReadOnly, setLastModified, setLastModifiedBy, setReadOnly
 
Methods implemented from interface com.sssw.fw.api.EbiElement
getType
 

Field Detail

EL_LAYOUT_DOC_DESC

public static final String EL_LAYOUT_DOC_DESC
The element type of Layout Document Descriptor
Method Detail

getStyleID

public String getStyleID()
Gets the ID of the Layout Style.
Returns:
the Style ID

getLayoutDocumentID

public String getLayoutDocumentID()
Gets the ID of the Layout Document.
Returns:
the Layout Document ID

getUserAgent

public String getUserAgent()
Gets the User Agent associated with this Descriptor.
Returns:
the user agent string; the value of null or empty string implies that this Layout Descriptor describes the default implementation of the Layout Style

setLayoutDocumentID

public void setLayoutDocumentID(String layoutDocID)
Deprecated. Use EbiContentMgmtDelegate.updateLayoutDocumentDescriptor(EbiContext, EbiLayoutDocDescriptor, String)

Sets the Layout Document ID. Note: use EbiContentManager.updateLayoutDocumentDescriptor for the changes to take effect.
Parameters:
layoutDocID - the new value for the Layout Document ID.

setStyleID

public void setStyleID(String styleID)
Set the Style ID.

setUserAgent

public void setUserAgent(String userAgent)
Deprecated. Use EbiContentMgmtDelegate.updateLayoutDocumentDescriptor(EbiContext, EbiLayoutDocDescriptor, String)

Sets the User Agent value. Note: use EbiContentManager.addLayoutDocumentDescriptor or EbiContentManager.updateLayoutDocumentDescriptor for the changes to take effect.
Parameters:
userAgent - the new value for the User Agent; the value of null or empty string implies that this Layout Descriptor describes the default implementation of the Layout Style

Novell exteNd
Director 5.2 API