<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="/wikid/docs/xsl/mwCollections/CollectionWikiData/display.xsl" type="text/xsl"?>

<!--
This resource container holds the product of the resolution request
-->
<resource xmlns:config="info:sid/localhost:CollectionSimpleSchemas:config" xmlns:explain="http://explain.z3950.org/dtd/2.0/" xmlns:srw="http://www.loc.gov/zing/srw/" xmlns:wiki="info:sid/localhost:CollectionSimpleSchemas:wiki" xmlns:wr="http://errol.oclc.org/oai:xmlregistry.oclc.org:errol/WikiRepository" xmlns:xlink="http://www.w3.org/TR/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--
This is an echo of the request information this stylesheet used to produce the resolution product
-->
<uri-context>
<srwIdentifier>info:sid/localhost:CollectionWikiData:CustomizationNotes</srwIdentifier>
<collectionURI>info:sid/localhost:CollectionWikiData</collectionURI>
<repository-identifier>CollectionWikiData</repository-identifier>
<srwURL>http://alcme.oclc.org:80/wikid/search/WikiDb.localhost</srwURL>
<local-identifier>CustomizationNotes</local-identifier>
<action>display</action>
</uri-context>
<!--
This is the collection configuration record
-->
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:config" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:config http://alcme.oclc.org:80/wikid/raw/info:sid/localhost:CollectionSimpleSchemas:config.xsd">
<repositoryName>WikiD Documentation</repositoryName>
<description>Documentation for the OSS WikiD web application</description>
<localIdentifierType>userAssigned</localIdentifierType>
<adminEmail>mailto:jyoung@oclc.org</adminEmail>
<defaultXSL>no</defaultXSL>
<schemaURI recordPrefix="wiki">info:sid/localhost:CollectionSimpleSchemas:wiki</schemaURI>
<crosswalkSchemaURI recordPrefix="xhtml">info:sid/localhost:CollectionExternalSchemas:xhtml</crosswalkSchemaURI>
<defaultSchemaURI>info:sid/localhost:CollectionExternalSchemas:xhtml</defaultSchemaURI>
</record>
<!--
There is a local-identifier, so this URI must identify an item in a collection
-->
<!--
This is the searchRetrieveResponse for the item's Deposit record
-->
<content>
<searchRetrieveResponse xmlns="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<numberOfRecords>1</numberOfRecords>
<resultSetId>y6elg5</resultSetId>
<resultSetIdleTime>300</resultSetIdleTime>
<records xmlns:ns1="http://www.loc.gov/zing/srw/">
<record>
<recordSchema>http://www.oclc.org/schemas/WikiRepository</recordSchema>
<recordPacking>xml</recordPacking>
<recordData>
<wr:Deposit xmlns="http://www.w3.org/TR/xhtml1/strict">
<wr:browserPath>http://alcme.oclc.org:80/wikid/docs/WikiRepository</wr:browserPath>
<wr:refID>info:sid/localhost:CollectionWikiData:CustomizationNotes</wr:refID>
<wr:refIDPrefix/>
<wr:userName>anonymous</wr:userName>
<wr:collection>CollectionWikiData</wr:collection>
<wr:relativePath>2006/01/03/16</wr:relativePath>
<wr:fullRefID>inf_3asid_2flocalhost_3aCollectionWikiData_3aCustomizationNotes_5f20060103161707088</wr:fullRefID>
<wr:mimeType>text/xml</wr:mimeType>
<wr:sort>CollectionWikiData:CustomizationNotes</wr:sort>
<wr:dateCreated>2006-01-03</wr:dateCreated>
<wr:datestamp>2006-01-03</wr:datestamp>
<wr:oldDate/>
</wr:Deposit>
</recordData>
<recordPosition>1</recordPosition>
</record>
</records>
<echoedSearchRetrieveRequest xmlns:ns2="http://www.loc.gov/zing/srw/">
<version>1.1</version>
<query>repos.hasDate = "hasdate" and oai.identifier exact "info:sid/localhost:CollectionWikiData:CustomizationNotes"</query>
<xQuery>
<ns3:searchClause xmlns:ns3="http://www.loc.gov/zing/cql/xcql/">
<ns3:index>cql.any</ns3:index>
<ns3:relation>
<ns3:value>=</ns3:value>
</ns3:relation>
<ns3:term>huh?</ns3:term>
</ns3:searchClause>
</xQuery>
<startRecord>1</startRecord>
<maximumRecords>1</maximumRecords>
<recordPacking>xml</recordPacking>
<recordSchema>default</recordSchema>
</echoedSearchRetrieveRequest>
</searchRetrieveResponse>
<!--
This is the datestamp for the Deposit
-->
<datestamp>2006-01-03</datestamp>
<!--
This is the URL for the content
-->
<contentURL>http://alcme.oclc.org:80/wikid/docs/WikiRepository/2006/01/03/16/inf_3asid_2flocalhost_3aCollectionWikiData_3aCustomizationNotes_5f20060103161707088</contentURL>
<!--
Here is the record content
-->
<record>
<record xmlns="info:sid/localhost:CollectionSimpleSchemas:wiki" xsi:schemaLocation="info:sid/localhost:CollectionSimpleSchemas:wiki http://alcme.oclc.org:80/wikid/raw/info:sid/localhost:CollectionSimpleSchemas:wiki.xsd">
<raw>= Customization Notes =
As much as possible, WikiD collections can be created and customized directly through the wiki-style user interface. Sometimes, though, custom XSL Stylesheets and Java code are needed to take full advantage of the collection's potential. These levels of customization, however, are inherently risky and thus require the assistance of the WikiD administrator to configure.
== Custom Collection Displays ==
When you configure a collection, you have an option for "XSL Stylesheet". The "System-created" radio button causes WikiD to use a default stylesheet. The "Manually-created" radio button allows the collection administrator to override this default. See CollectionWikiPages:WikiDbXslOverride for details.
== Custom Collection "Actions" ==
You can create custom "action" handlers by extending the ORG.oclc.openurl.app.services.actions.Abstract''''''Action Java class and placing it in the package ORG.oclc.openurl.app.services.actions.Collection''''''Foo.Action_bar, where "Collection''''''Foo" is replaced by the name of the collection and "bar" is replaced by the name of the action you wish to implement. Creating the class in this location is sufficient for WikiD to recognize and use it.
== Custom Collection Importing ==
The default import mechanism works by harvesting records from a specified OAI repository in the collection's native format. If you want to import records into a collection using an alternative mechanism, you can do so by creating an XSL Stylesheet at xsl/mwCollections/Collection''''''Foo/import.xsl (where "Collection''''''Foo" is replace by the real collection name). The import processor should pick it up automatically.
== Custom Collection Crosswalks ==
You can use XSL Stylesheets to crosswalk native records into arbitrary XML Schemas by placing them in the xsl/mwCollections/Collection''''''Foo/crosswalks/bar2baz.xsl directory (where "Collection''''''Foo" is replaced by the real collection name). The name bar2baz.xsl is arbitrary, but it might help to rename bar to match the recordPrefix of you native format and baz to match the recordPrefix of your target format. This crosswalk must be registered in the WikiD.props file. The property should be named:

Crosswalk!Collection''''''Foo!xyz (with "Collection''''''Foo" replaced by the real collection name and "xyz" replaced with the desired recordPrefix for the target XML Schema registered in CollectionExternalSchemas)

The value for this property should be the URL where the XSL Stylesheet capable of transforming the native record format into "xyz" can be found (see above). Several examples are present in WikiD.props that can be used as a guide.

The last step is to select "xyz" as one of the crosswalks in the collection configuration record.
== Custom Global Crosswalks ==
Crosswalks are defined globally much the same as just described for collections. The difference in the global case is that the Crosswalk property in WikiD.props should be changed to use the recordPrefix of the native format in place of the collection name.</raw>
</record>
</record>
</content>
<displayContent>
<html xmlns="http://www.w3.org/1999/xhtml">
<body><h1> Customization Notes </h1>
As much as possible, <a href="/wikid/CollectionWikiData:WikiD">WikiD</a> collections can be created and customized directly through the wiki-style user interface. Sometimes, though, custom XSL Stylesheets and Java code are needed to take full advantage of the collection's potential. These levels of customization, however, are inherently risky and thus require the assistance of the <a href="/wikid/CollectionWikiData:WikiD">WikiD</a> administrator to configure.
<h2> Custom Collection Displays </h2>
When you configure a collection, you have an option for &quot;XSL Stylesheet&quot;. The &quot;System-created&quot; radio button causes <a href="/wikid/CollectionWikiData:WikiD">WikiD</a> to use a default stylesheet. The &quot;Manually-created&quot; radio button allows the collection administrator to override this default. See <a href="./CollectionWikiPages:WikiDbXslOverride">CollectionWikiPages:WikiDbXslOverride</a> for details.
<h2> Custom Collection "Actions" </h2>
You can create custom &quot;action&quot; handlers by extending the ORG.oclc.openurl.app.services.actions.AbstractAction Java class and placing it in the package ORG.oclc.openurl.app.services.actions.CollectionFoo.Action_bar, where &quot;CollectionFoo&quot; is replaced by the name of the collection and &quot;bar&quot; is replaced by the name of the action you wish to implement. Creating the class in this location is sufficient for <a href="/wikid/CollectionWikiData:WikiD">WikiD</a> to recognize and use it.
<h2> Custom Collection Importing </h2>
The default import mechanism works by harvesting records from a specified OAI repository in the collection's native format. If you want to import records into a collection using an alternative mechanism, you can do so by creating an XSL Stylesheet at xsl/mwCollections/CollectionFoo/import.xsl (where &quot;CollectionFoo&quot; is replace by the real collection name). The import processor should pick it up automatically.
<h2> Custom Collection Crosswalks </h2>
You can use XSL Stylesheets to crosswalk native records into arbitrary XML Schemas by placing them in the xsl/mwCollections/CollectionFoo/crosswalks/bar2baz.xsl directory (where &quot;CollectionFoo&quot; is replaced by the real collection name). The name bar2baz.xsl is arbitrary, but it might help to rename bar to match the recordPrefix of you native format and baz to match the recordPrefix of your target format. This crosswalk must be registered in the <a href="/wikid/CollectionWikiData:WikiD">WikiD</a>.props file. The property should be named:<p></p>
Crosswalk!CollectionFoo!xyz (with &quot;CollectionFoo&quot; replaced by the real collection name and &quot;xyz&quot; replaced with the desired recordPrefix for the target XML Schema registered in <a href="./CollectionExternalSchemas">CollectionExternalSchemas</a>)<p></p>
The value for this property should be the URL where the XSL Stylesheet capable of transforming the native record format into &quot;xyz&quot; can be found (see above). Several examples are present in <a href="/wikid/CollectionWikiData:WikiD">WikiD</a>.props that can be used as a guide.<p></p>
The last step is to select &quot;xyz&quot; as one of the crosswalks in the collection configuration record.
<h2> Custom Global Crosswalks </h2>
Crosswalks are defined globally much the same as just described for collections. The difference in the global case is that the Crosswalk property in <a href="/wikid/CollectionWikiData:WikiD">WikiD</a>.props should be changed to use the recordPrefix of the native format in place of the collection name.</body>
</html>
</displayContent>
</resource>
