Open Project
Download Sources


/**
Set base configuration for framework
Author: Steve Castledine, IBM
**/

function initBase(){ // setup defaults

// Reset Page Based Buttons
// Can be added anywhere using newButton("Link","Title")
// Can also be set in your XPage Custom Properties
viewScope.baseButtons=null;
baseButtons= new Array();

//Check for Buttons in Page Custom Properties
if (compositeData.buttonTitles!=null){
for(var x=0;x<compositeData.buttonTitles.length;x++){
newButton(compositeData.buttonTitles[x],compositeData.buttonTitles[x])
}
}

//Application Settings
if(applicationScope.initConfig===null){
/**
*************************************************************
Layout is setup in layout.properties (in Resources/Files)
Can also be setup programmatically (do so in this function for max caching):

Top Tab: newTopTab("Link","Title")
Main Tab: newTab("Link","Title")
Side Bar Menu Item: newSideMenu("Link","Title")
Footer Columns: var col=new newFooterColumn("Column Title","StyleClass")
Footer Column Items: col.addLink("Link","Title")
Buttons: newGlobalButton("Link","Title")
*************************************************************
**/

// Create Layout from Properties File
var createProperties=createFromProperties();

//Check no errors in property file
if(createProperties!=""){
print ("Error In Layout Property File: "+database.getFilePath()+" : "+createProperties);
}else{
//Mark cache initialized
applicationScope.initConfig=true;
}
}

//Session Settings
if(sessionScope.initConfig===null){

//Basic setup
sessionScope.path = facesContext.getExternalContext().getRequestContextPath();
sessionScope.isSessionAuth = @Contains(facesContext.getExternalContext().getRequest().getHeader("Cookie"), "DomAuthSessId") === 1 ? true : false; //dnt
sessionScope.initConfig = true;

//Is Client? - Get session id
if(@ClientType()=="Notes"){
sessionScope.sessionID=facesContext.getExternalContext().getRequest().getSession().getId();
}
}
}
/**
Set base configuration for framework - Utils
Author: Steve Castledine, IBM
**/

var baseTopTabs = new Array(); // Contains tabs (top of page) for framework
var baseTabs = new Array(); // Contains tabs for framework
var baseButtons = new Array(); // Contains buttons for framework
var baseGlobalButtons = new Array(); // Contains global buttons for framework
var baseSideMenus = new Array(); // Contains side menu items for framework
var baseFooterColumns = new Array(); // Contains footer columns for framework

function baseLink(link,title){ //Link Object
this.link=link;
this.title=title;
}

function footerColumn(title,styleClass){ //Footer Column Object
this.linkArray=new Array();

this.title=title;
this.styleClass=styleClass;

this.prototype.addLink = function(link,title){
this.linkArray[this.linkArray.length]=new baseLink(link,title);
}
}

function newTopTab(link,title){ //Add new top tab helper
baseTopTabs[baseTopTabs.length]=new baseLink(link,title);
applicationScope.baseTopTabs=baseTopTabs;
}
function newTab(link,title){ //Add new tab helper
baseTabs[baseTabs.length]=new baseLink(link,title);
applicationScope.baseTabs=baseTabs;
}
function newButton(link,title){ //Add new button helper
baseButtons[baseButtons.length]=new baseLink(link,title);
viewScope.baseButtons=baseButtons;
}
function newGlobalButton(link,title){ //Add new global button helper
baseGlobalButtons[baseGlobalButtons.length]=new baseLink(link,title);
applicationScope.baseGlobalButtons=baseGlobalButtons;
}
function newSideMenu(link,title){ //Add new side menu helper
baseSideMenus[baseSideMenus.length]=new baseLink(link,title);
applicationScope.baseSideMenus=baseSideMenus;
}
function newFooterColumn(headerTitle,styleClass){ //Add new footer column helper
baseFooterColumns[baseFooterColumns.length]=new footerColumn(headerTitle,styleClass);
applicationScope.baseFooterColumns=baseFooterColumns;

return baseFooterColumns[baseFooterColumns.length-1];
}

function createFromProperties(){ //Creates Layout From Properties File
var x=0;
var errorMsg="";
var headers=new Array();
var titles=new Array();
var links=new Array();

try{
errorMsg="Top Tabs";
titles=layout.getString("topTabs.title").split(",");
links=layout.getString("topTabs.link").split(",");
for(var x=0;x<titles.length;x++){//Create Top Tabs
newTopTab(links[x],titles[x]);
}

errorMsg="Main Tabs";
titles=layout.getString("mainTabs.title").split(",");
links=layout.getString("mainTabs.link").split(",");
for(var x=0;x<titles.length;x++){//Create Main Tabs
if(titles[x]!=""){newTab(links[x],titles[x])};
}

errorMsg="Side Bar";
titles=layout.getString("sideBarMenu.title").split(",");
links=layout.getString("sideBarMenu.link").split(",");
for(var x=0;x<titles.length;x++){//Create Side Bar
newSideMenu(links[x],titles[x]);
}

var o=null;

errorMsg="Footer Columns";
headers=layout.getString("footerColumn.headers").split(",");

for(var x=0;x<headers.length;x++){//Create Footer Columns
o=newFooterColumn(headers[x]);
links=layout.getString("footerColumn"+(x+1)+".links").split(",");
titles=layout.getString("footerColumn"+(x+1)+".titles").split(",");
for(var y=0;y<links.length;y++){
o.addLink(links[y],titles[y]);
}
}

errorMsg="Global Buttons";
titles=layout.getString("globalButtons.title").split(",");
links=layout.getString("globalButtons.link").split(",");
for(var x=0;x<titles.length;x++){//Create global Buttons
newGlobalButton(links[x],titles[x]);
}

}catch(e){
return errorMsg+" : "+e;
}
return "";
}
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

<xp:panel id="demo">
<xp:button value="Apply Simple Layout" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Layout encoded to Base64
var layout="IyBMYXlvdXQgUHJvcGVydGllcw0KDQojIFRvcCBUYWJzDQp0b3BUYWJzLnRpdGxlPQ0KdG9wVGFicy5saW5rPQ0KDQojIE1haW4gVGFicw0KbWFpblRhYnMudGl0bGU9TWFpbiBUYWIgMSxNYWluIFRhYiAyDQptYWluVGFicy5saW5rPWRlZmF1bHQueHNwLGRlZmF1bHQueHNwDQoNCiMgU2lkZSBCYXIgTWVudQ0Kc2lkZUJhck1lbnUudGl0bGU9U2lkZSBCYXIgTWVudSAxLFNpZGUgQmFyIE1lbnUgMixTaWRlIEJhciBNZW51IDMNCnNpZGVCYXJNZW51Lmxpbms9ZGVmYXVsdC54c3AsZGVmYXVsdC54c3AsZGVmYXVsdC54c3ANCg0KIyBGb290ZXIgQ29sdW1ucw0KZm9vdGVyQ29sdW1uLmhlYWRlcnM9Rm9vdGVyIENvbHVtbiAxIA0KZm9vdGVyQ29sdW1uMS5saW5rcz1kZWZhdWx0LnhzcCxyZXNldGNhY2hlLnhzcA0KZm9vdGVyQ29sdW1uMS50aXRsZXM9TGluayAxLFJlc2V0IENhY2hlDQoNCiMgR2xvYmFsIGJ1dHRvbnMNCmdsb2JhbEJ1dHRvbnMudGl0bGU9DQpnbG9iYWxCdXR0b25zLmxpbms9";

//need to insert new base64 encoded dxl
var newdxldoc="<?xml version='1.0' encoding='utf-8'?>";
newdxldoc+="<fileresource name='layout.properties'>";
newdxldoc+="<filedata>";
newdxldoc+=layout;
newdxldoc+="</filedata></fileresource>";

//import dxldoc
var importer:NotesDxlImporter = session.createDxlImporter();

importer.setDesignImportOption(6);
importer.setAclImportOption(1);
importer.setDocumentImportOption(1);
importer.setReplicaRequiredForReplaceOrUpdate(false);
importer.setReplaceDbProperties(false);
importer.setInputValidationOption(0);

var db=session.getCurrentDatabase();

try{
var stream:NotesStream = session.createStream();
stream.writeText(newdxldoc);

importer.importDxl(stream,db);
}catch(e){
print(e);
print (importer.getLog());
}

//Reset Cache
applicationScope.baseTopTabs=null;
applicationScope.baseTabs=null;
applicationScope.baseSideMenus=null;
applicationScope.baseFooterColumns=null;
applicationScope.baseButtons=null;
applicationScope.baseGlobalButtons=null;
applicationScope.initConfig=null;

//Reload page
context.redirectToPage("demo.xsp");}]]></xp:this.action>
</xp:eventHandler></xp:button>
<xp:br></xp:br>
<xp:br></xp:br><xp:button value="Apply Advanced Layout" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript://Layout encoded to Base64
var layout="IyBMYXlvdXQgUHJvcGVydGllcw0KDQojIFRvcCBUYWJzDQp0b3BUYWJzLnRpdGxlPVRvcCBUYWIgMSwgVG9wIFRhYiAyLCBUb3AgVGFiIDMsIFRvcCBUYWIgNA0KdG9wVGFicy5saW5rPWRlZmF1bHQueHNwLGRlZmF1bHQueHNwLGRlZmF1bHQueHNwLGRlZmF1bHQueHNwDQoNCiMgTWFpbiBUYWJzDQptYWluVGFicy50aXRsZT1NYWluIFRhYiAxLE1haW4gVGFiIDINCm1haW5UYWJzLmxpbms9ZGVmYXVsdC54c3AsZGVmYXVsdC54c3ANCg0KIyBTaWRlIEJhciBNZW51DQpzaWRlQmFyTWVudS50aXRsZT1TaWRlIEJhciBNZW51IDEsU2lkZSBCYXIgTWVudSAyLFNpZGUgQmFyIE1lbnUgMw0Kc2lkZUJhck1lbnUubGluaz1kZWZhdWx0LnhzcCxkZWZhdWx0LnhzcCxkZWZhdWx0LnhzcA0KDQojIEZvb3RlciBDb2x1bW5zDQpmb290ZXJDb2x1bW4uaGVhZGVycz1Gb290ZXIgQ29sdW1uIDEsIEZvb3RlciBDb2x1bW4gMg0KZm9vdGVyQ29sdW1uMS5saW5rcz1kZWZhdWx0LnhzcCxyZXNldGNhY2hlLnhzcA0KZm9vdGVyQ29sdW1uMS50aXRsZXM9TGluayAxLFJlc2V0IENhY2hlDQpmb290ZXJDb2x1bW4yLmxpbmtzPWRlZmF1bHQueHNwLGRlZmF1bHQueHNwDQpmb290ZXJDb2x1bW4yLnRpdGxlcz1MaW5rIDEsTGluayAyDQoNCiMgR2xvYmFsIGJ1dHRvbnMNCmdsb2JhbEJ1dHRvbnMudGl0bGU9QnV0dG9uIDENCmdsb2JhbEJ1dHRvbnMubGluaz1kZWZhdWx0LnhzcA==";

//need to insert new base64 encoded dxl
var newdxldoc="<?xml version='1.0' encoding='utf-8'?>";
newdxldoc+="<fileresource name='layout.properties'>";
newdxldoc+="<filedata>";
newdxldoc+=layout;
newdxldoc+="</filedata></fileresource>";

//import dxldoc
var importer:NotesDxlImporter = session.createDxlImporter();

importer.setDesignImportOption(6);
importer.setAclImportOption(1);
importer.setDocumentImportOption(1);
importer.setReplicaRequiredForReplaceOrUpdate(false);
importer.setReplaceDbProperties(false);
importer.setInputValidationOption(0);

var db=session.getCurrentDatabase();

try{
var stream:NotesStream = session.createStream();
stream.writeText(newdxldoc);

importer.importDxl(stream,db);
}catch(e){
print(e);
print (importer.getLog());
}

//Reset Cache
applicationScope.baseTopTabs=null;
applicationScope.baseTabs=null;
applicationScope.baseSideMenus=null;
applicationScope.baseFooterColumns=null;
applicationScope.baseButtons=null;
applicationScope.baseGlobalButtons=null;
applicationScope.initConfig=null;

//Reload page
context.redirectToPage("demo.xsp");}]]></xp:this.action>
</xp:eventHandler></xp:button>
<xp:br></xp:br>
<xp:br></xp:br><xp:button value="Reset Cache" id="button3">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:openPage name="/resetcache.xsp"></xp:openPage>
</xp:this.action></xp:eventHandler></xp:button></xp:panel></xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>ccDemo</component-type>
<composite-name>ccDemo</composite-name>
<composite-file>/ccDemo.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<div class="lotusWidget2" style="height:auto;">
<h2>
<span class="lotusLeft">
<xp:label value="#{javascript:compositeData.Title}"></xp:label>
</span>
</h2>
<div class="lotusWidgetBody">
<div>
<ul class="lotusList">
<xp:text escape="false">
<xp:this.value><![CDATA[#{javascript:var html="";
for (var x=0;x<compositeData.linkTitles.length;x++){
html+="<li><a href=\""+compositeData.linkUrls[x]+"\" class=\"action\">"+compositeData.linkTitles[x]+"</a></li>";
}

return html;}]]></xp:this.value>
</xp:text>
</ul>
</div>
</div>
</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>ccLinkBox</component-type>
<composite-name>ccLinkBox</composite-name>
<composite-file>/ccLinkBox.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/links.png"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
Side Bar Link Box&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;</render-markup>
</designer-extension>
</composite-extension>
<property>
<property-name>Title</property-name>
<property-class>string</property-class>
<display-name>Title</display-name>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>linkTitles</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
</property-extension>
<display-name>Link Titles</display-name>
</property>
<property>
<property-name>linkUrls</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
</property-extension>
<display-name>Link Urls</display-name>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<ul class="lotusInlinelist lotusUtility lotusNowrap" id="ul1">
<li class="lotusFirst">
<xp:label id="labelWelcome">
<xp:this.value><![CDATA[#{javascript:res.getString("banner.welcome")+" "}]]></xp:this.value><xp:label.rcp rendered="false"></xp:label.rcp>
</xp:label>
<xp:text escape="true" id="cfUserName">
<xp:this.value><![CDATA[#{javascript:if(session.getEffectiveUserName==="Anonymous"){
return "Anonymous";
}else{
var userName:NotesName = session.createName(session.getEffectiveUserName());
return(userName.getCommon());
}

}]]></xp:this.value><xp:text.rcp rendered="false"></xp:text.rcp>
</xp:text>
</li>

<xp:text escape="false"><xp:this.value><![CDATA[#{javascript:if (session.getEffectiveUserName()!="Anonymous" &&
sessionScope.isSessionAuth === false) {
//Only for Session Based Authentication
return "";
} else {
if (session.getEffectiveUserName()==="Anonymous") {
return "<li><a href=\""+sessionScope.path + "?opendatabase&login"+"\" title=\""+res.getString("banner.login")+"\">"+res.getString("banner.login")+"</a></li>";

} else {
return "<li><a href=\""+sessionScope.path + "?logout"+"\" title=\""+res.getString("banner.logout")+"\">"+res.getString("banner.logout")+"</a></li>";
}
}
}]]></xp:this.value></xp:text>
</ul>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>ccLogin</component-type>
<composite-name>ccLogin</composite-name>
<composite-file>/ccLogin.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:panel rendered="#{javascript:return database.isFTIndexed();}"
styleClass="lotusSearch">
<xp:inputText id="searchText" value="#{viewScope.searchValue}"
disableModifiedFlag="true">
<xp:this.defaultValue><![CDATA[#{javascript:if(compositeData.defaultSearchText!=null){
return compositeData.defaultSearchText
}else{
return res.getString("search.input.text");
}}]]></xp:this.defaultValue>
<xp:eventHandler event="onfocus" submit="false">
<xp:this.handlers>
<xp:handler type="text/javascript">
<xp:this.script>
<![CDATA[var me = document.getElementById("#{id:searchText}");me.value = "";]]>
</xp:this.script>
</xp:handler>
</xp:this.handlers>
</xp:eventHandler>
<xp:eventHandler event="onkeypress" submit="true">
<xp:this.handlers>
<xp:handler type="text/javascript">
<xp:this.script><![CDATA[if (thisEvent.keyCode != '13') {
return false;
}
]]></xp:this.script>
</xp:handler>
</xp:this.handlers>
<xp:this.action>
<xp:actionGroup>



<xp:openPage>
<xp:this.name><![CDATA[#{javascript:if(compositeData.searchPage!=null){
return compositeData.searchPage+"?open&searchValue=" + viewScope.searchValue;

}else{
return facesContext.getExternalContext().getRequestServletPath()+"?open&searchValue=" + viewScope.searchValue;
}


}]]></xp:this.name>
</xp:openPage>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:inputText>


<span class="lotusBtnImg">
<xp:link escape="true" id="linkSubmit" title="Submit Search"
style="cursor:pointer;" styleClass="lotusSearchButton">



<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:actionGroup>








<xp:openPage>
<xp:this.name>
<![CDATA[#{javascript:if(compositeData.searchPage!=null){
return compositeData.searchPage+"?open&searchValue=" + viewScope.searchValue;

}else{
return facesContext.getExternalContext().getRequestServletPath()+"?open&searchValue=" + viewScope.searchValue;
}
}]]>
</xp:this.name>
</xp:openPage>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>

<xp:image id="image1"><xp:this.url><![CDATA[#{javascript:if(@ClientType()=="Notes"){
return ".../oneuiv2/images/iconSearch16.png"
}else{
return "../oneuiv2/images/iconSearch16.png"
}

}]]></xp:this.url></xp:image>
</xp:link>
</span>
</xp:panel>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>ccSearch</component-type>
<composite-name>ccSearch</composite-name>
<composite-file>/ccSearch.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
<property>
<property-name>defaultSearchText</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>searchPage</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.workplace.designer.property.editors.PagePicker</editor>
</designer-extension>
</property-extension>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<div class="lotusMenu">
<div class="lotusBottomCorner">
<div class="lotusInner">
<xp:panel id="Image"
rendered="#{javascript:compositeData.imageSRC!=null}"
styleClass="lotusCenter lotusInlinePhoto">

<xp:link escape="true">
<xp:this.value><![CDATA[#{javascript:if(compositeData.imageLink!=null){
compositeData.imageLink;
}else{
database.getHttpURL();
}}]]></xp:this.value><xp:image
url="#{javascript:compositeData.imageSRC}" id="image1"
alt="#{javascript:compositeData.imageTitle}">
<xp:this.style><![CDATA[#{javascript:var css="border:1px solid #666666;margin:5px 0 10px;";

if(compositeData.imageHeight!=null){
css+="height:"+compositeData.imageHeight+";";
}
if(compositeData.imageWidth!=null){
css+="width:"+compositeData.imageWidth+";";
}

return css
}]]></xp:this.style>
</xp:image>
</xp:link></xp:panel>
<div class="lotusMenuSeparator"></div>
<ul id="lotusNavBar">
<xp:text escape="false" rendered="#{javascript:applicationScope.baseSideMenus!=null}">

<xp:this.value><![CDATA[#{javascript:var html="";
var styleClass="";

var sessionID="";

if(sessionScope.sessionID!=null){
sessionID="?SessionID="+sessionScope.sessionID;
}


for (var x=0;x<applicationScope.baseSideMenus.length;x++){
if(x+1===compositeData.selectedMenu){
styleClass=" class=\"lotusSelected\"";
}else{
styleClass="";
}
if(@Left(@LowerCase(applicationScope.baseSideMenus[x].link),4)==="http"){
html+="<li"+styleClass+"><a href=\""+applicationScope.baseSideMenus[x].link+sessionID+"\" title=\""+applicationScope.baseSideMenus[x].title+"\">"+applicationScope.baseSideMenus[x].title+"</a></li>";
}else{
html+="<li"+styleClass+"><a href=\""+sessionScope.path+"/"+applicationScope.baseSideMenus[x].link+sessionID+"\" title=\""+applicationScope.baseSideMenus[x].title+"\">"+applicationScope.baseSideMenus[x].title+"</a></li>";
}
}

return html;}]]></xp:this.value>
</xp:text>
</ul>
</div>
</div>
</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>ccSideMenu</component-type>
<composite-name>ccSideMenu</composite-name>
<composite-file>/ccSideMenu.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/sideBar.png"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
Side Bar Menu&lt;xp:br&gt;&lt;/xp:br&gt;&#xd;
&lt;xp:span style="font-weight:bold"&gt;Set the custom property "selectedMenu" to determine menu "selected" for this XPage&lt;/xp:span&gt;&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;&#xd;
</render-markup>
</designer-extension>
</composite-extension>
<property>
<property-name>selectedMenu</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>imageSRC</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.workplace.designer.property.editors.ImagePicker</editor>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>imageTitle</property-name>
<property-class>string</property-class>
</property>
<property>
<property-name>imageHeight</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<default-value>155</default-value>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>imageWidth</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<default-value>155</default-value>
</designer-extension>
</property-extension>
</property>
<property>
<property-name>imageLink</property-name>
<property-class>string</property-class>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<div id="contentArea" class="lotusLimit">
<div class="lotusHeader">
<h1>Place Holder for Main Content Pane</h1>
</div>
</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partContent</component-type>
<composite-name>partContent</composite-name>
<composite-file>/partContent.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<!-- The following lines are required for Accessibility and are used by screen readers. Please do not remove -->
<a href="#mainContent" accesskey="S" class="lotusAccess">
<img src="blank.gif" alt="Skip to main content link. Accesskey S" />
</a>

<div id="lotusFooter" class="lotusFooter">
<table cellspacing="0">
<tbody>
<xp:text escape="false">
<xp:this.value><![CDATA[#{javascript:var htmlHead="<tr>";
var htmlBody="<tr>";
var y=0;
var columnClass="";

for (var x=0;x<applicationScope.baseFooterColumns.length;x++){
if(x===(applicationScope.baseFooterColumns.length-1)){
columnClass=" class=\"lotusLast\"";
}else{
columnClass="";
}

htmlHead+="<th"+columnClass+">"+applicationScope.baseFooterColumns[x].title+"</th>";

htmlBody+="<td"+columnClass+"><ul>";

for (y=0;y<applicationScope.baseFooterColumns[x].linkArray.length;y++){
if(@Left(@LowerCase(applicationScope.baseFooterColumns[x].linkArray[y].link),4)==="http"){
htmlBody+="<li><a href=\""+applicationScope.baseFooterColumns[x].linkArray[y].link+"\" title=\""+applicationScope.baseFooterColumns[x].linkArray[y].title+"\">"+applicationScope.baseFooterColumns[x].linkArray[y].title+"</a></li>";
}else{
htmlBody+="<li><a href=\""+sessionScope.path+"/"+applicationScope.baseFooterColumns[x].linkArray[y].link+"\" title=\""+applicationScope.baseFooterColumns[x].linkArray[y].title+"\">"+applicationScope.baseFooterColumns[x].linkArray[y].title+"</a></li>";
}

}
htmlBody+="</ul></td>";
}

htmlHead+="</tr>";
htmlBody+="</tr>";
return htmlHead+htmlBody;







}]]></xp:this.value>
</xp:text>

</tbody>
</table>

</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partFooter</component-type>
<composite-name>partFooter</composite-name>
<composite-file>/partFooter.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>false</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/blank.gif"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
Footer&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;</render-markup>
</designer-extension>
</composite-extension>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<div id="lotusNavBarContainer">
<xc:ccSideMenu
selectedMenu="#{javascript:compositeData.selectedMenu}"
rendered="#{javascript:applicationScope.baseSideMenus!=null}">
</xc:ccSideMenu>
</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partLeftSideBar</component-type>
<composite-name>partLeftSideBar</composite-name>
<composite-file>/partLeftSideBar.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
<property>
<property-name>selectedMenu</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<div class="lotusBanner">

<div class="lotusRightCorner">
<div class="lotusInner">
<!-- The following lines are required for Accessibility and are used by screen readers. Please do not remove -->
<a href="#mainContent"
id="lotusAccessLinkMainContent" accesskey="S"
class="lotusAccess">
<img src="blank.gif"
alt="Skip to main content link. Accesskey S" />
</a>
<a href="#tabNavigation"
id="lotusAccessLinkTabNavigation" accesskey="1"
class="lotusAccess">
<img src="blank.gif"
alt="Skip to tab navigation link. Accesskey 1" />
</a>
<a href="#subNavigation"
id="lotusAccessLinkSubNavigation" accesskey="2"
class="lotusAccess">
<img src="blank.gif"
alt="Skip to sub navigation. Accesskey 2" />
</a>


<xp:callback facetName="LoginLinks" id="LoginLinks"></xp:callback>
<xp:text escape="false" rendered="#{javascript:applicationScope.baseTopTabs!=null}"><xp:this.value><![CDATA[#{javascript:var html="<ul class=\"lotusInlinelist lotusLinks\">";
var styleClass="";
var sessionID="";

if(sessionScope.sessionID!=null){
sessionID="?SessionID="+sessionScope.sessionID;
}


for (var x=0;x<applicationScope.baseTopTabs.length;x++){
if(applicationScope.baseTopTabs[x].title!=""){
if(x+1==compositeData.tab){
styleClass=" class=\"lotusSelected ";
if(x==0){
styleClass+=" lotusFirst"
}
styleClass+="\"";
}else{
if(x==0){
styleClass+=" class=\"lotusFirst \""
}else{
styleClass="";
}
}
if(@Left(@LowerCase(applicationScope.baseTopTabs[x].link),4)==="http"){
html+="<li"+styleClass+"><a href=\""+applicationScope.baseTopTabs[x].link+sessionID+"\" title=\""+applicationScope.baseTopTabs[x].title+"\">"+applicationScope.baseTopTabs[x].title+"</a></li>";
}else{
html+="<li"+styleClass+"><a href=\""+sessionScope.path+"/"+applicationScope.baseTopTabs[x].link+sessionID+"\" title=\""+applicationScope.baseTopTabs[x].title+"\">"+applicationScope.baseTopTabs[x].title+"</a></li>";
}}
}
html+="</ul>";
return html;}]]></xp:this.value></xp:text>

</div>
</div>

</div>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partLoginBar</component-type>
<composite-name>partLoginBar</composite-name>
<composite-file>/partLoginBar.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>false</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/blank.gif"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
&lt;xp:span style="font-weight:bold"&gt;Instructions&lt;/xp:span&gt;:&#xd;
&lt;xp:br&gt;&lt;/xp:br&gt;1) Drag the Left Side Bar Control into the Left Side Bar extension area&#xd;
&lt;xp:br&gt;&lt;/xp:br&gt;2) Drag your main content control into the content extension area&#xd;
&lt;xp:br&gt;&lt;/xp:br&gt;3) Goto Custom Properties to set tab positons plus any buttons, overiding titles&lt;xp:br&gt;&lt;/xp:br&gt;4) Edit File/layout.properties for layout configuration&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;</render-markup>
</designer-extension>
</composite-extension>
<property>
<property-name>tab</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xc:ccLinkBox Title="Bookmarks">
<xc:this.linkTitles>
<xp:value>IBM</xp:value>
<xp:value>Lotus</xp:value>
</xc:this.linkTitles>
<xc:this.linkUrls>
<xp:value>http://www.ibm.com</xp:value>
<xp:value>http://www.lotus.com</xp:value>
</xc:this.linkUrls>
</xc:ccLinkBox>
</xp:view>
<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partRightSideBar</component-type>
<composite-name>partRightSideBar</composite-name>
<composite-file>/partRightSideBar.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
</designer-extension>
</composite-extension>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<div class="lotusTitleBar">
<div class="lotusRightCorner">
<div class="lotusInner">
<xp:text escape="false"
rendered="#{javascript:applicationScope.baseTabs!=null}">

<xp:this.value><![CDATA[#{javascript:var html="<ul class=\"lotusTabs\">";
var styleClass="";
var sessionID="";

if(sessionScope.sessionID!=null){
sessionID="?SessionID="+sessionScope.sessionID;
}

for (var x=0;x<applicationScope.baseTabs.length;x++){
if(x+1===compositeData.tab){
styleClass=" class=\"lotusSelected\"";
}else{
styleClass="";
}
if(@Left(@LowerCase(applicationScope.baseTabs[x].link),4)==="http"){
html+="<li"+styleClass+"><a href=\""+applicationScope.baseTabs[x].link+sessionID+"\" title=\""+applicationScope.baseTabs[x].title+"\">"+applicationScope.baseTabs[x].title+"</a></li>";
}else{
html+="<li"+styleClass+"><a href=\""+sessionScope.path+"/"+applicationScope.baseTabs[x].link+sessionID+"\" title=\""+applicationScope.baseTabs[x].title+"\">"+applicationScope.baseTabs[x].title+"</a></li>";
}
}
html+="</ul>";
return html;}]]></xp:this.value>
</xp:text>
<xc:ccSearch></xc:ccSearch>
</div>
</div>
</div>
<!--end lotusTitleBar-->
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partTabBar</component-type>
<composite-name>partTabBar</composite-name>
<composite-file>/partTabBar.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>false</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/tabBar.png"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
Tab Bar&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;&#xd;
</render-markup>
</designer-extension>
</composite-extension>
<property>
<property-name>tab</property-name>
<property-class>int</property-class>
<property-extension>
<collection-property>false</collection-property>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<div id="lotusPlaceBar" class="lotusPlaceBar">
<div class="lotusRightCorner">
<div class="lotusInner">
<h2>
<xp:link escape="true" value="#{javascript:database.getHttpURL()}" text="#{javascript:title}"><xp:this.title><![CDATA[#{javascript:var title="";

if(compositeData.mainTitle===null){
title=database.getTitle();
}else{
title=compositeData.mainTitle
}

return title;}]]></xp:this.title></xp:link>
</h2>
<div class="lotusBtnContainer">
<xp:text escape="false">

<xp:this.value><![CDATA[#{javascript:var html="";
var sessionID="";

if(sessionScope.sessionID!=null){
sessionID="?SessionID="+sessionScope.sessionID;
}
if(viewScope.baseButtons!=null){

for (var x=0;x<viewScope.baseButtons.length;x++){

if(@Left(@LowerCase(viewScope.baseButtons[x].link),4)==="http"){
html+="<span class=\"lotusBtn\"><a href=\""+viewScope.baseButtons[x].link+sessionID+"\" title=\""+viewScope.baseButtons[x].title+"\">"+viewScope.baseButtons[x].title+"</a></span>";
}else if(@Left(@LowerCase(viewScope.baseButtons[x].link),11)==="javascript:"){
html+="<span class=\"lotusBtn\"><a onClick=\""+viewScope.baseButtons[x].link+sessionID+";return false;"+"\" href=\"#\" title=\""+viewScope.baseButtons[x].title+"\">"+viewScope.baseButtons[x].title+"</a></span>";
}else{
html+="<span class=\"lotusBtn\"><a href=\""+sessionScope.path+"/"+viewScope.baseButtons[x].link+sessionID+"\" title=\""+viewScope.baseButtons[x].title+"\">"+viewScope.baseButtons[x].title+"</a></span>";

}
}}

if(applicationScope.baseGlobalButtons!=null){
for (var x=0;x<applicationScope.baseGlobalButtons.length;x++){
if(applicationScope.baseGlobalButtons[x].title!=""){
if(@Left(@LowerCase(applicationScope.baseGlobalButtons[x].link),4)==="http"){
html+="<span class=\"lotusBtn\"><a href=\""+applicationScope.baseGlobalButtons[x].link+sessionID+"\" title=\""+applicationScope.baseGlobalButtons[x].title+"\">"+applicationScope.baseGlobalButtons[x].title+"</a></span>";
}else if(@Left(@LowerCase(applicationScope.baseGlobalButtons[x].link),11)==="javascript:"){
html+="<span class=\"lotusBtn\"><a onClick=\""+applicationScope.baseGlobalButtons[x].link+sessionID+";return false;"+"\" href=\"#\" title=\""+applicationScope.baseGlobalButtons[x].title+"\">"+applicationScope.baseGlobalButtons[x].title+"</a></span>";
}else{
html+="<span class=\"lotusBtn\"><a href=\""+sessionScope.path+"/"+applicationScope.baseGlobalButtons[x].link+sessionID+"\" title=\""+applicationScope.baseGlobalButtons[x].title+"\">"+applicationScope.baseGlobalButtons[x].title+"</a></span>";

}}
}}

return html;}]]></xp:this.value>
<xp:this.rendered><![CDATA[#{javascript:if(viewScope.baseButtons!=null || applicationScope.baseGlobalButtons!=null){
return true;
}else{
return false;
}}]]></xp:this.rendered>
</xp:text>
</div><!--end bntContainer-->
</div>
</div>
</div>
<!--end placebar-->
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>partTitleBar</component-type>
<composite-name>partTitleBar</composite-name>
<composite-file>/partTitleBar.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>false</in-palette>
<render-markup>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;xp:view xmlns:xp="http://www.ibm.com/xsp/core"&gt;&#xd;
&lt;xp:image url="/titleBar.png"&gt;&lt;/xp:image&gt;&#xd;
&lt;xp:panel&gt;&#xd;
Ttitle Bar&#xd;
&lt;/xp:panel&gt;&#xd;
&lt;/xp:view&gt;</render-markup>
</designer-extension>
</composite-extension>
<property>
<property-name>mainTitle</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
</property-extension>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
beforePageLoad="#{javascript:initBase()}">
<!-- Copyright IBM Corp. 2006, 2009 All Rights Reserved. -->

<xp:this.resources>
<xp:bundle var="res" src="/strings.properties"></xp:bundle>

<xp:script src="/xpUtil.jss" clientSide="false"></xp:script>
<xp:script src="/xpConfig.jss" clientSide="false"></xp:script>
<xp:bundle var="layout" src="/layout.properties"></xp:bundle>
</xp:this.resources>
<xp:this.pageTitle><![CDATA[#{javascript:if(compositeData.mainTitle!=null){
return compositeData.mainTitle
}else{
return @DbTitle()
}}]]></xp:this.pageTitle>
<div class="lotusFrame">
<xc:partLoginBar
tab="#{javascript:compositeData.selectedTabLoginBar}">
<xp:this.facets>
<xc:ccLogin xp:key="LoginLinks"></xc:ccLogin>
</xp:this.facets>
</xc:partLoginBar>
<a id="lotusMainContent" name="lotusMainContent"></a>
<xc:partTabBar tab="#{javascript:compositeData.selectedTab}"></xc:partTabBar>
<xc:partTitleBar
mainTitle="#{javascript:compositeData.mainTitle}">
</xc:partTitleBar>
<div id="lotusMain" class="lotusMain">
<div id="lotusColLeft" class="lotusColLeft">
<xp:callback facetName="LeftSideBarControl"
id="LeftSideBarControl">
</xp:callback>
</div>
<!--end lotusColLeft-->
<div id="lotusContent" class="lotusContent lotusForm">
<xp:callback facetName="ContentControl"
id="ContentControl">
</xp:callback>
</div>
<!--end lotusContent-->
</div>
<!--end lotusMain-->
</div>
<!--end frame-->
<xc:partFooter
loaded="${javascript:applicationScope.baseFooterColumns!=null;}">
</xc:partFooter>
</xp:view>


<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>themeTemplate2Col</component-type>
<composite-name>themeTemplate2Col</composite-name>
<composite-file>/themeTemplate2Col.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
<render-markup/>
<category>One UI Templates</category>
</designer-extension>
</composite-extension>
<property>
<property-name>selectedTab</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
<description>Selected Main Tab - Starts at 1</description>
<display-name>Selected Main Tab</display-name>
</property>
<property>
<property-name>mainTitle</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
</property-extension>
<display-name>Title for Title Bar</display-name>
<description>Title for Title Bar - Default is db Title</description>
</property>
<description/>
<property>
<property-name>selectedTabLoginBar</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
<display-name>Selected Top Tab</display-name>
<description>Selected Top Tab - Starts at 1</description>
</property>
<property>
<property-name>buttonTitles</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
<designer-extension>
<editor>com.ibm.workplace.designer.property.editors.StyleClassEditor</editor>
</designer-extension>
</property-extension>
<display-name>Button Titles</display-name>
</property>
<property>
<property-name>buttonLinks</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
</property-extension>
<display-name>Button Links</display-name>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
beforePageLoad="#{javascript:initBase()}">
<!-- Copyright IBM Corp. 2006, 2009 All Rights Reserved. -->

<xp:this.resources>
<xp:bundle var="res" src="/strings.properties"></xp:bundle>

<xp:script src="/xpUtil.jss" clientSide="false"></xp:script>
<xp:script src="/xpConfig.jss" clientSide="false"></xp:script>
<xp:bundle var="layout" src="/layout.properties"></xp:bundle>
</xp:this.resources>
<xp:this.pageTitle><![CDATA[#{javascript:if(compositeData.mainTitle!=null){
return compositeData.mainTitle
}else{
return @DbTitle()
}}]]></xp:this.pageTitle>
<div class="lotusFrame">
<xc:partLoginBar
tab="#{javascript:compositeData.selectedTabLoginBar}">
<xp:this.facets>
<xc:ccLogin xp:key="LoginLinks"></xc:ccLogin>
</xp:this.facets>
</xc:partLoginBar>
<a id="lotusMainContent" name="lotusMainContent"></a>
<xc:partTabBar tab="#{javascript:compositeData.selectedTab}"></xc:partTabBar>
<xc:partTitleBar
mainTitle="#{javascript:compositeData.mainTitle}">
</xc:partTitleBar>
<div id="lotusMain" class="lotusMain">
<div id="lotusColLeft" class="lotusColLeft">
<xp:callback facetName="LeftSideBarControl"
id="LeftSideBarControl">
</xp:callback>
</div>
<!--end lotusColLeft-->
<div id="lotusColRight" class="lotusColRight">
<xp:callback facetName="RightSideBarControl"
id="RighSideBarControl">
</xp:callback>
</div>
<!--end lotusColRight-->
<div id="lotusContent" class="lotusContent lotusForm">
<xp:callback facetName="ContentControl"
id="ContentControl">
</xp:callback>
</div>
<!--end lotusContent-->
</div>
<!--end lotusMain-->
</div>
<!--end frame-->
<xc:partFooter
loaded="${javascript:applicationScope.baseFooterColumns!=null;}">
</xc:partFooter>
</xp:view>


<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
<faces-config-extension>
<namespace-uri>http://www.ibm.com/xsp/custom</namespace-uri>
<default-prefix>xc</default-prefix>
<public>true</public>
</faces-config-extension>
<composite-component>
<component-type>themeTemplate3Col</component-type>
<composite-name>themeTemplate3Col</composite-name>
<composite-file>/themeTemplate3Col.xsp</composite-file>
<composite-extension>
<designer-extension>
<in-palette>true</in-palette>
<render-markup/>
<category>One UI Templates</category>
</designer-extension>
</composite-extension>
<property>
<property-name>selectedTab</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
<description>Selected Main Tab - Starts at 1</description>
<display-name>Selected Main Tab</display-name>
</property>
<property>
<property-name>mainTitle</property-name>
<property-class>string</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
</property-extension>
<display-name>Title for Title Bar</display-name>
<description>Title for Title Bar - Default is db Title</description>
</property>
<description/>
<property>
<property-name>selectedTabLoginBar</property-name>
<property-class>int</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.Integer</editor>
</designer-extension>
</property-extension>
<display-name>Selected Top Tab</display-name>
<description>Selected Top Tab - Starts at 1</description>
</property>
<property>
<property-name>buttonTitles</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
<designer-extension>
<editor>com.ibm.workplace.designer.property.editors.StyleClassEditor</editor>
</designer-extension>
</property-extension>
<display-name>Button Titles</display-name>
</property>
<property>
<property-name>buttonLinks</property-name>
<property-class>java.util.Collection</property-class>
<property-extension>
<designer-extension>
<editor>com.ibm.std.String</editor>
</designer-extension>
<property-item-class>string</property-item-class>
<collection-property>true</collection-property>
</property-extension>
<display-name>Button Links</display-name>
</property>
</composite-component>
</faces-config>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xc:themeTemplate2Col selectedTab="1" selectedTabLoginBar="1">
<xp:this.facets>
<xc:partContent xp:key="ContentControl"></xc:partContent>
<xc:partLeftSideBar xp:key="LeftSideBarControl"
selectedMenu="1">
</xc:partLeftSideBar>
</xp:this.facets>
</xc:themeTemplate2Col>
</xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">

<xc:themeTemplate2Col selectedTab="1" selectedTabLoginBar="1"
mainTitle="Demo Page for Layout Wizard">
<xp:this.facets>
<xc:partLeftSideBar xp:key="LeftSideBarControl"
selectedMenu="1">
</xc:partLeftSideBar>
<xc:ccDemo xp:key="ContentControl"></xc:ccDemo>
</xp:this.facets>
</xc:themeTemplate2Col></xp:view>

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.beforeRenderResponse><![CDATA[#{javascript:applicationScope.baseTopTabs=null;
applicationScope.baseTabs=null;
applicationScope.baseSideMenus=null;
applicationScope.baseFooterColumns=null;
applicationScope.baseButtons=null;
applicationScope.baseGlobalButtons=null;
applicationScope.initConfig=null;}]]></xp:this.beforeRenderResponse>
<h2>Cache Reset</h2>
</xp:view>


c:\documents and settings\administrator\desktop\sources\xpFrameWork.ntf
************************************************************************
[Error] - File could not be written...