<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Work Notes
</title>
<link>http://kennison.name/work/notes</link>
<description>My Tiddly Wiki Notes Site</description>
<language>en-us</language>
<item>
<title>Information Seeking Research</title>
<link>http://kennison.name/work/notes/#%5B%5BInformation%20Seeking%20Research%5D%5D</link>
<description>Some of the assorted theories, models, and researchers used to illustrate the characters information seeking behaviors are the following [for the record, some of these are borrowed from outside LIS]:

* Selection of dubious information sources : Elfreda Chatman studied the working poor, women, prisoners and retirees.
* People prefer informal sources for spur of the moment info needs : Kirsty Williamson, older adults
* Information sharing within groups (ostracism/exclusion) :  Eric Jones, et. al.
* User's perspective : Carol Kuhlthau
* Beliefs : Donald Case on J.D. Johnson's model
* Personal construct theory : George Kelly
* Preference for attitudinally consistent info amongst those with strongly held beliefs : Laura Brannon, Michael Tagler and Alice Eagly
* Competency theory : Justin Kruger and David Dunning
* Overconfidence as indicator of incompetence : Melissa Gross
* Invitational attitude (as in &quot;new shit&quot;) [vs. indicative attitude] : Kelly's personal construct theory
* Positive attitude : Kuhlthau; and, Eva Jonas, Verena Graupmann and Dieter Frey (dissonance reduction)
* Openness to experience : Jannica Heinström

[[Mark Lindner about this article|https://scholarworks.iupui.edu/bitstream/handle/1805/2099/new%20shit.pdf?sequence=1]]

</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-27</dc:date>
</item>
<item>
<title>ffmpeg Notes</title>
<link>http://kennison.name/work/notes/#%5B%5Bffmpeg%20Notes%5D%5D</link>
<description>http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/

streaming server hinting: http://lists.mplayerhq.hu/pipermail/ffmpeg-user/2006-December/005942.html

ffmpeg -pass 1 -passlogfile bh.VOB -threads 0  -keyint_min 0 -g 250 -skip_threshold 0 -qmin 1 -qmax 51 -i bh.VOB -vcodec libx264 -b 614400 -s 320x240 -aspect 4:3 -an -y bh.mp4

ffmpeg  -i bh.VOB -pass 2 -passlogfile bh.VOB -threads 0 -keyint_min 0 -g 250 -skip_threshold 0 -qmin 1 -qmax 51-vcodec libx264 -b 614400 -s 320x240 -aspect 4:3 -acodec libfaac -y bh.mp4

(from Mark Pilgrim)</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-24</dc:date>
</item>
<item>
<title>Web site to steal from</title>
<link>http://kennison.name/work/notes/#%5B%5BWeb%20site%20to%20steal%20from%5D%5D</link>
<description>''Saturday 2/28/2009''
[[Take a look at this website|http://www.bohemiancoding.com/]] This site has some good ideas and a cool look in regard to Web Design. 

[[Some ideas for a Omeka site|http://www.learner.org/resources/series13.html]]
  

[[Interface dot com|http://www.interfaceglobal.com/]]

[[Boston University|http://www.bu.edu/]] Simple clean design

http://JoshuaBradley.co.uk/

http://divitodesign.com/css/960-css-framework-learn-basics/
Basic typeography and such</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-21</dc:date>
</item>
<item>
<title>StyleSheet</title>
<link>http://kennison.name/work/notes/#StyleSheet</link>
<description>/*{{{*/
/*Resources Theme for TiddlyWiki*/
/*edited by Brian Kennison*/
/*}}}*/
/*{{{*/

/* HTML Elements */
body { 
   background: #FFF url(images/top.jpg) repeat-x top; 
   color: #454545; 
   font: .94em Arial, sans-serif; 
   line-height: 1.5em; 
   margin: 0; 
   padding: 0; 
   border-radius: 1em;
}
a { 
  background: inherit; 
  color: #933b39; 
}
a:hover { 
  color: #933b39; background: inherit; 
  text-decoration: underline
}
p { 
  margin: 5px 0; 
}
h1 {
  font: bold 1.8em Arial, Sans-Serif; 
  letter-spacing: -1px; 
  margin: 0; 
  padding: 8px 0 4px 0; 
}
h2 { 
  font: bold 1.6em Arial, Sans-Serif; 
  letter-spacing: -1px; 
}
h3 { 
  margin:  0; 
  padding: 4px 0; 
}
ul { 
  list-style: square; 
  margin: 0; 
  padding : 0; 
}
img { 
  border: 0; 
}
hr { 
  background-color: #C0C0C0; 
  border-style: none; 
  color: #D0D0D0; 
  height: 1px; 
  margin: 10px 0; 
}

pre {
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
	word-wrap: break-word;      /* IE 5+ */
	}

/* Helpers */
.clearAll { clear: both }
.floatLeft { 
  border: thin dotted black;
  color: #5E8412;
  float:left;
  margin-right; 5px;
  padding: 5px
}
.floatLeft .tiddlyLink {
  color: #5E8412;
  -webkit-border-radius: 10px;
  -khtml-border-radius: 10px;	
  -moz-border-radius: 10px;
  border-radius: 10px;
}

/* Content Sections in Document Order */
#contentWrapper { 
  margin: 0px auto; 
  width: 90%; 
}
#header { 
  background: transparent; 
  color: #FFF;
  height: 101px; 
  padding-top: 20px; 
}
#header #icons { 
  float: right; 
  margin:20px 0; 
  padding:0 
}
#header #icons img { 
  padding-right: 2px; 
  border: 0; 
}
.headerShadow { 
  padding: 1.4em 0 0.5em 1em;
}
.searchBar { 
  float: right; 
  font-size: 1em; 
  margin-top: 1.3e;m 
  position: relative; 
}
.searchBar .button { 
  color: #FFF; 
  display: block 
}
.searchBar .searchButton { 
  color: #FFF; 
  display: block 
}
.searchBar .button:hover { 
  border: 1px solid #fefefe; color: #4F4B45 
}
.searchBar .searchButton:hover { 
  border: 1px solid #fefefe; color: #4F4B45 
}
.searchBar input { 
  background-color: #fefefe; 
  border: 1px solid #CCC; 
  color: #830200; 
  margin-right: 3px 
}

.siteTitle { 
  color: #FFF; 
  font: bold 2em Arial, Sans-Serif; 
  letter-spacing: 1px; 
  margin: 0; 
  padding: 8px 0 4px 0; 
}
.siteSubtitle { 
  color: #FFF; 
  font: 1.0em Arial, Sans-Serif; 
  letter-spacing: 0px; 
  margin:0; 
  padding: 0 
}
#topMenu { 
  background: #933b39; 
  height: 3ex;
  padding: 5px 5px 5px 5px;
  width: 100%;
}
#topMenu a, #topMenu .tiddlyLink, #topMenu .button { 
  background:transparent;
  border: none !important;
  color: white; 
  font-size: 110%; 
  font-variant: small-caps; 
  font-weight: normal; 
  letter-spacing: 1px;
  margin: 0 4px; 
  padding: 0.3em 0.45em ; 
  text-decoration: none;
}
#topMenu a:hover, #topMenu .tiddlyLink:hover, #topMenu .button:hover, #topMenu .button:active, #topMenu .highlight {
  background: #9F1313;
  color: #FFF; 
  text-decoration: none; 
}
#topMenu br { 
  display: none 
}
#displayArea { 
  margin: 0 17em 2em 0.5em;  
  width: 100% 
}
#messageArea { 
  background: #fefefe; 
  border: 4px solid #933b39; 
  color: #555; 
  font-size: 100%;
}
#messageArea .button { 
  border: 1px solid #933b39 color: #666; 
}
#messageArea .button:hover { 
  background: #FF0000; 
  border-color: #FF0000 color: #FFF 
}
#messageArea a:hover { 
  background: #f5f5f5; 
  border: none 
}
#tiddlerDisplay {
  width:100%;
}

#tiddlerContents {}
.tiddler { 
  padding-bottom: 10px; 
  padding-left: 0;
  width: 100% 
}
#contentFooter { 
  background: #933b39; 
  border-top: 1px solid #DCDCDC; 
  clear: both; 
  color:#FFF; 
  margin: 5em 0 3em 0;
  text-align: center;
}
#contentFooter .right  { 
  background: #FFF; 
  float: right; 
  text-align: right 
}
#contentFooter a { 
  background: #FFF; text-decoration: none 
}

/* Tiddler Parts */
.toolbar { 
  font-size: 85% 
}
.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active { 
  background: transparent; 
  border: 1px solid #fff color: #333; 
}
.title { 
  border-bottom:1px solid #FF0000; color: #933b39;; 
}
.subtitle, .subtitle a { 
  color: #830200; 
  font-size: 1em; 
  margin: 0.2em 
}

.popup { 
  background: #933b39; 
  border: 1px solid #CA0000;
  color: #FFF;
}
.popup li a, .popup li a:visited { 
  border: none;
  color: #FFF; 
}
.popup li a:hover { 
  background: #F7F7F7; 
  border: none 
  color: #fff; 
}
.popup li.disabled { 
  color: #000 
}


#sidebar { background: #fefefe; border-left: 0 solid #000; display: inline; display: none float: right; line-height: 1.4em; margin-bottom: 1em; margin-bottom: 2em !important; position: relative; right: 0; width: 16em; }
#sidebar { display: inline; float: right; position: relative; right: 0 }

#sidebarOptions .sliderPanel .txtOptionInput { border: 1px solid #830200; width: 9em }
#sidebarOptions .sliderPanel a { background-color: #eee; border-bottom: 1px dotted #333 color: #555; font-weight: normal; }
#sidebarOptions .sliderPanel a:hover { background-color: #eee; border-bottom: 1px dotted #111 border: none; color: #111; }
#sidebarOptions .sliderPanel input { border: 1px solid #830200 }
#sidebarOptions .sliderPanel { background: #eee; border: 1px solid #ccc; font-size: 0.9em }
#sidebarOptions a { color: #830200; text-decoration: none }
#sidebarOptions a:hover, #sidebarOptions a:active { background-color: #f5f5f5; border: 1px solid #f5f5f5 color: #C00; }
#sidebarOptions input { border: 1px solid #830200 }
#sidebarOptions { padding-left: 0.5em; padding-top: 2em }

#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active { background: #fefefe color: #C00; }
#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button { color: #830200 }
#sidebarTabs .tabContents .tiddlyLink:hover, #sidebarTabs .tabContents .button:hover { background: #fefefe; border: none color: #C00; text-decoration: none; }
#sidebarTabs .tabContents { background: #fefefe }
#sidebarTabs .tabSelected { padding-bottom: 3px }
#sidebarTabs .tabUnselected { border-bottom: none; padding-bottom: 3px }
#sidebarTabs .tabUnselected:hover { border-bottom: none; color: #830200 padding-bottom: 3px; }
#sidebarTabs { font-family: arial, helvetica }


* html .editor textarea, * html .editor input { width: 98% }
* html .viewer pre { margin-left: 0 }


.editor input { border: 1px solid #888; margin-top: 5px }
.editor textarea { border: 1px solid #888 }

.highlight, .marked { background: transparent; border: none; color: #111; text-decoration: underline }

.listTitle { color: #888 }

.selected .tagging .button, .selected .tagged .button { color: #aaa }
.selected .tagging .listTitle, .selected .tagged .listTitle { color: #666 }
.selected .tagging, .selected .tagged { background-color: #f7f7f7; border: 1px solid #ccc }
.selected .toolbar a { color: #830200 }
.selected .toolbar a:hover { background: transparent; border: 1px solid #fff color: #333; }

.shadow .title { color: #830200 }

.tabContents { background: #fefefe }

.tabSelected { background: #830200 color: #fefefe; }
.tabSelected, .tabSelected:hover { background: #fefefe; border: solid 1px #ccc color: #555; }

.tabUnselected { background: #eee; border: solid 1px #ccc color: #830200; }
.tabUnselected:hover { border: 1px solid #ccc text-decoration: none; }

.tagClear { clear: none }

.tagging .button, .tagged .button { color: #ccc }
.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active { background: transparent; border: none; color: #333 text-decoration: underline; }
.tagging .listTitle, .tagged .listTitle { color: #bbb }
.tagging, .tagged { background-color: #F7F7F7 border: 1px solid #eee; }



.viewer .button, .editorFooter .button { border: 1px solid #CA0000 color: #555; }
.viewer .button:active, .viewer .highlight, .editorFooter .button:active, .editorFooter .highlight { background: #9F1313; border-color: #9F1313 color: #fff; }
.viewer .button:hover, .editorFooter .button:hover { background: #CA0000; border-color: #CA0000 color: #fff; }
.viewer blockquote { border-left: 5px solid #CA0000 }
.viewer code { background: #f5f5f5 color: #111; }
.viewer hr { border-top: dashed 1px #555 }
.viewer pre { background: #f5f5f5 border: 1px solid #ccc; }
.viewer table, .viewer td { border: 1px solid #CA0000 }
.viewer th, thead td { background: #CA0000; border: 1px solid #CA0000; color: #fff }


.roundedCorners { 
  -webkit-border-radius: 10px;
  -khtml-border-radius: 10px;	
  -moz-border-radius: 10px;
  border-radius: 10px;
} 



;/*}}}*/

</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-18</dc:date>
</item>
<item>
<title>Science Story</title>
<link>http://kennison.name/work/notes/#%5B%5BScience%20Story%5D%5D</link>
<description>&gt;a clear scientific story (e.g. this is the problem, this how we approached it, this is what we found and why it is important</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-18</dc:date>
</item>
<item>
<title>Regular Expressions Card</title>
<link>http://kennison.name/work/notes/#%5B%5BRegular%20Expressions%20Card%5D%5D</link>
<description>[img[/files/zopestore/documents/regular_expressions_cheat_sheet.png]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-13</dc:date>
</item>
<item>
<title>Common Rest Design Pattern</title>
<link>http://kennison.name/work/notes/#%5B%5BCommon%20Rest%20Design%20Pattern%5D%5D</link>
<description>!! Resource-Method-Representation

[img[/filestore/uploads/webservices/rmr.jpg]]

!!! Why
&lt;&lt;&lt;
If we think about URLs as being only nouns, no verbs, then we end up with a URL for every important thing in our site. Those URLs can then be bookmarked and linked easily. We can change code behind the scenes without changing the URLs as the URLs refer to objects that don't change rather than functions that do.

The model is inherently object-oriented, with every object (at least those of meaning to the outside world) having a URI and every object responding to the standard HTTP verbs, GET, PUT, POST, DELETE. This is object-orientation at the level of the web, not at the level of a server-side language. That's a very different thing to what JSP does, where internally the server-side code may be object-oriented, but the URIs refer to verbs, so look more procedural or perhaps functional.
&lt;&lt;&lt;

The above is from [[Rob Styles from Talis|http://dynamicorange.com/2008/10/03/pages-screens-mvc-and-not-getting-it/]] You need to read the whole article!


http://architects.dzone.com/news/common-rest-design-pattern

[[Paul Sadauskas on RESTful services|http://www.theamazingrando.com/blog/?p=107]] //(very good)//</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-13</dc:date>
</item>
<item>
<title>Resource-Method-Representation</title>
<link>http://kennison.name/work/notes/#Resource-Method-Representation</link>
<description>[img[/filestore/uploads/webservices/rest-web-application-arch.png]]

The above is about trust and who can call the methods on those resources.

[[This is another article from that same fellow|http://www.peej.co.uk/articles/rmr-architecture.html]]

</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-12</dc:date>
</item>
<item>
<title>Swiss Document Site</title>
<link>http://kennison.name/work/notes/#%5B%5BSwiss%20Document%20Site%5D%5D</link>
<description>http://www.switch.ch/collection/spec/

http://www.cs.colorado.edu/~kena/classes/7818/f06/lectures/19/index.html</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-11</dc:date>
</item>
<item>
<title>Fedora APIs</title>
<link>http://kennison.name/work/notes/#%5B%5BFedora%20APIs%5D%5D</link>
<description>!!!Fedora Repository  Service Interfaces 

!!!Management Service (API-M)
Ingest - XML-encoded object submission
Create - interactive object creation via API requests
Maintain - interactive object modification via API requests
Validate  --  application of integrity rules to objects
Identify - generate unique object identifiers
Security - authentication and access control
Preserve - automatic content versioning and audit trail
Export - XML-encoded object formats
 
!!!Access Service (API-A and API-A-LITE)
Search - search repository for objects
Object Reflection - what disseminations can the object provide?
Object Dissemination - request a view of the object's content
 
!!!OAI-PMH Provider Service
OAI-DC records</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-11</dc:date>
</item>
<item>
<title>LMS</title>
<link>http://kennison.name/work/notes/#LMS</link>
<description>[[What a LMS should provide|http://wiki.sakaiproject.org/display/PED/Sakai+Learning+Capabilities+v+1.0]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-11</dc:date>
</item>
<item>
<title>Knowledge Networks</title>
<link>http://kennison.name/work/notes/#%5B%5BKnowledge%20Networks%5D%5D</link>
<description>from http://www.cisl.ucar.edu/info/FORMS/KNP1-6.html

!!!Knowledge Networking (Abstract)

The Knowledge Networking (KN) initiative focuses on the integration of knowledge from different sources and domains across space and time. Modern computing and communications systems provide the infrastructure to send bits anywhere, anytime in mass quantities-radical connectivity. But connectivity alone cannot assure 
1 useful communication across disciplines, languages, cultures; 
2 appropriate processing and integration of knowledge from different sources, domains, and non-text media; 
3 efficacious activity and arrangements for teams, organizations, classrooms, or communities, working together over distance and time; or 
4 deepening understanding of the ethical, legal, and social implications of new developments in connectivity. 

In short, *we have connectivity, but not interactivity and integration* . KN research aims to move beyond connectivity to achieve new levels of interactivity, increasing the semantic bandwidth, knowledge bandwidth, activity bandwidth, and cultural bandwidth among people, organizations, and communities.

!!!Knowledge Networking

To &quot;know&quot; about something is a much stronger claim than to learn about it or to gather information on it. &quot;Knowledge&quot; implies consensual verification, as well as the ability to predict and shape outcomes. Advances in computing and communications now hold the promise of fundamentally accelerating the creation and distribution of information. However, the construction of knowledge requires more than collecting and transmitting large amounts of data. *Building knowledge requires the scientific community coming to grips with new forms of gathering data, new tools to manipulate and store information new ways of transforming that information, and new ways of working together over distance and time*. The challenge for NSF is to facilitate the evolution from today's emphasis on information and distributed data to emerging systems for knowledge and distributed intelligence. The payoff for the scientific community is that interdisciplinary communities that can be joined in sharing data, accumulating information and building knowledge together will treat complex problems, traditionally addressed within disciplinary boundaries. This shift from simple information access to knowledge networking holds great promise for to transforming society and science.

NSF represents large science, engineering, and education communities that understand and can contribute to building these knowledge networks. Technological advances, spurred by the NSF, now enable scientific practitioners, who may be widely dispersed, to become a science network, sharing and integrating data, analyzing information and synthesizing knowledge. NSF wants to expand and scale up these activities in the sciences and engineering, enabling society to apply similar strategies throughout its information infrastructures.

The NSF Knowledge Networking initiative creates a program of closely interconnected activities to facilitate advances enabled by simultaneous revolutions in technology, content, and epistemology. The intellectual insights and the new process of science enabled by knowledge networking are central to NSF's mission.

!!!Challenges

One challenge is to support activities that will create new ways of collecting, transforming, representing, sharing, and using information. The support must be applied effectively across a wide range of activities to enable the solution of the Knowledge Networking challenge and to provide to scientists, engineers, and society useful and easily implemented solutions to complex problems.

A complementary challenge is to comprehend the human dimensions associated with knowledge networking communities. Multidisciplinary knowledge networking efforts will fail unless we understand and provide for the learning environments that enable skill sets, conceptual models, and values to be rapidly shared across disparate fields.

!!!Goals

Designing tools for gathering and analyzing data. New types of tools are required to collect, share, and manipulate increasingly complex data sets and structures. Utilizing these tools involves innovations in computing, advances in telecommunications, and the development of more sophisticated algorithms and hardware/software systems.

Building the next generation of representations. Data, information and knowledge require increasingly complex representations. New kinds of media are required to enable the communications of new types of messages and meanings. For example, transforming symbolic information into sensory form (e.g., visualization) necessitates translating scientific and mathematical notations into tangible modalities.

Extending the human infrastructure that underlies knowledge networking. Generating new ideas increasingly involves participants in knowledge networks communicating with one another in real time and obtaining data from disaggregated sources. Expanding the knowledge networking community to new participants requires:

Mastering a common language and a generally accepted set of theories and conceptual models (to provide a framework for communication)
Inculcating communally defined processes of collecting and analyzing data (to enable sharing and validating information)
Developing proficiency in design, reasoning, and argumentation (to facilitate the evolution of ideas)
Accepting a common set of values that include respect for others' perspectives and for intellectual property (to encourage wide participation)
Strategies

In keeping with NSF's strategic plan, the knowledge networking initiative proposes three research strategies.

Maximizing cross-disciplinary research to make use of different needs and demands of distinct research communities;
Addressing the common problems shared by different research communities;
Leveraging existing research activities and building upon them, rather than starting from scratch.
NSF also envisions several strategies to launch and manage knowledge networking:
Creating ongoing working groups to integrate disciplinary issues;
Integrate community input through workshops;
Promote interdisciplinary research;
Involve all of the Directorates at NSF.
NSF as a Catalyst

NSF can serve as a catalyst for creating knowledge networks. Part of this role involves supporting the development of enabling technologies (infrastructure), such as new algorithms and software systems; data structures; metadata; standards for interoperability, communications links, and computational platforms. These enhancements extend from innovative processes that bring researchers together in distributed collaboratories, to tools for analyzing and interpreting data in new ways, to sophisticated learning environments that help participants discover and integrate new knowledge.

The other portion of this catalytic role involves conceptualizing knowledge networking as collective action among scientific communities ranging across many fields and disciplines. By sharing disparate data and diverse perspectives, a community develops a common, evolving understanding of a complex topic. As the community's conception of the issues expands and deepens, its membership grows to include participants with new perspectives and backgrounds. Given its long experience with how this process of acculturation and distributed intelligence occurs in the scientific enterprise, NSF is positioned to aid in the development of the technological infrastructures, collaborative activities, and human communities needed for knowledge networking across in society as a whole.

The Knowledge Networking Initiative Integrates Layers of Achievement

The Knowledge Networking Initiative aims to create the underlying science and the tools, infrastructure, and distributed intellectual processes to achieve the layered aims shown in Figure 1.

The overarching goal is improving our understanding of and ability to manage larger and more complex natural, social, and material phenomena. Knowledge networking can enhance the operations of many human enterprises, with science and education the most obviously relevant to NSF's mission. The crucial added benefits that knowledge networking brings to the scientific enterprise are the abilities to:

Couple models, knowledge, data, instruments, and intellectual activity across space, time, and disciplinary boundaries,
Work with new types of content and knowledge bases of radically increased scope and scale,
Enhance the overall cognitive ecology of science and engineering.
Achieving these aims of coupling, scope, and intellectual community depends critically upon new levels of functionality in information infrastructures. We need a better understanding of how to push or pull relevant information wherever, whenever and to whomever it is useful; how to create true semantic interoperability in heterogeneous knowledge environments; and how to make knowledge maximally accessible with new modalities of interaction such as real-time multimedia, visualization, and simulation.

Achieving such new functionality and making them widespread and universally accessible also requires re-conceptualizing the human processes involved in creating and disseminating knowledge. The groups involved include data gathering enterprises such as field research teams, observatories, and cyclotron facilities; information transmission functions such as messaging, publishing, and library systems; and integrating/stabilizing infrastructures such as standards and user groups. Each type of human interaction in the overall scientific process must alter if knowledge networking is to reach its full potential.
Figure 2 and Figure 3 capture more of the dimensions of Knowledge Networks, and communicate their dynamic nature. 
Examples of Social Objectives and Relevance Outcomes that could be enabled by the Knowledge Nets Initiative.

The following examples are potential outcomes of Knowledge Networks. They illustrate the use of science and technologies to meet larger societal goals. These examples involve science and the use of scientific information that are possible only with the use of Knowledge Networks. In addition the examples require advancements in one or more of the subsystems (such as social use of the new knowledge, science modeling, datamelding, and real-time networks) from each of the top three layers of the Framework discussed above.

Coping with Natural Disasters

In 1995, twelve forest fire fighters died tragically when they were trapped on the side of a mountain in Colorado, unaware that sudden changes in meteorological conditions had caused a change in the path of the fire. Although some data were available indicating a shift in the fire, this information could not be delivered to the scene of the fire in a timely and clearly understood manner. The enterprise, infrastructure and tools which constitute the framework of the Knowledge Nets (KN) initiative will enable an integrated framework which does not exist today for dealing with natural disasters, ultimately leading to minimizing loss. Specifically, the KN initiative could support the development of coupled fire and atmospheric models. These models require as input detailed knowledge of topography, ground cover and synoptic weather conditions. These data exist in various data bases spread over the country and are expressed in different formats. The result from a simulation must be overlaid with the detailed knowledge of the location of human and physical resources. In cases where fire is near more populated areas, as in the Oakland, California fires, additional information about the demographics and civil infrastructure must be incorporated. Even if this synthesis of rapidly changing information could be assembled today, delivery to strategic locations in an understandable form would still be necessary to ensure benefit. The infrastructure and tools components on the KN initiative are &quot;glue&quot; that will enable the effective management of natural disaster situations.

Aviation Safety:

Delivery of current information to the cockpit and proper pilot training are essential elements in improving air safety and reducing operating costs. Significant progress has been made in pilot training and alerting pilots to potential life threatening situations. Examples of improved safety and reduced operating costs that could result from the research supported by KN are: 1) At many airports in the US, information on low-level wind shear coupled with Doppler radar allows air traffic controllers to alert pilots to unusual meteorological conditions. Improvements to the current capabilities could save additional lives and money for the airline industry. The current information that is assembled by air traffic controllers is of limited predictive value and must be reduced to a few numbers to allow the pilot to comprehend the information in the cockpit during takeoffs and landings. Synthesizing the results of models of the atmosphere and air traffic into the cockpit and control towers would allow the pilot and controller to better prepare for approaches or takeoffs through in-flight simulation of conditions. In addition to offering improved safety, this information will save significant fuel costs because planes would not have to be routed to different approaches at the last minute due to changed conditions on the ground. 2) The FAA is considering the feasibility of free flight by commercial airlines. This concept would allow aircraft to take the most direct route between cities rather than following established routes that pass predetermined checkpoints. Essential for free-flight are current information on weather conditions, location of other aircraft and conditions at airports along the route. Gathering this information and synthesizing and delivering it in a useful form is beyond our current capability. The airline industry estimates the annual savings, which may be recognized by implementing free flight, is tens of millions of dollars. 3) In-flight icing conditions are difficult to detect and even more difficult to predict. Several recent airline disasters have been attributed to icing. Improvements in the detection, prediction and delivery systems available to the airline industry are necessary to overcome this silent threat. The enterprise, infrastructure and tools that will be developed as part of the KN initiative will accelerate the ongoing research into in-flight icing.

Monitoring and Restoring Landscape Change: the Florida Everglades

Large scale human impacts on landscapes have complex biological, social and economic consequences. The dramatic impact human activities have had on ecosystem function in the Everglades has elicited an enormous amount of research, land and water management and conservation activities. The health and recovery of the Everglades and adjoining areas is now being considered by stakeholders in many sectors: several federal agencies (DOI is dispersing $200 million for restoration), scores of state agencies and local jurisdictions, hundreds of research activities, academic centers from public and private universities, the sugar industry, two tribal nations, along with conservation and public grass-roots organizations. The dynamics of the interactions between all of these parties creates knowledge chaos conditions which leads to duplication of effort, gridlock, turf conflicts, organizational and political uncertainty, needless competition and distrust between stakeholders.

Information inputs for rational Everglades planning and recovery come from highly-distributed and diverse sources such as from long-term biological surveys, hydrochemical monitoring, watershed flow models, land use change analyses, remote sensing, economic analyses and human demographic studies, among inputs from other research, sociological and economic areas.

The accumulation, representation and communication of such rich and heterogeneous of data sets that span: decades of time, numerous research disciplines and diverse stakeholders in multiple sectors of the economy, creates enormous challenges and equally enormous potential payoffs for effective knowledge networking. Research and infrastructure development on data integration, data mining, geo-spatial visualization, human interactions, network communications, data sharing, the coordination of long term monitoring, all within the context of a well-defined, nationally important, environmental effort would have immediate value to society and represents an immediate payoff test-bed for new knowledge networking approaches. 
Examples of How Knowledge Networking can Facilitate Research and Education

NetCDF: A Tool That Facilities Collaboration

Though a typewritten table of numbers once sufficed to characterize most quantitative studies, scientific efforts now often yield quantities of data that can be structured, interpreted, and utilized for further study only by computer. Thus, methods for inter-computer data exchange represent critical infrastructure for scientific collaboration. Though there are common means for transferring human-readable material and for selecting and retrieving information from data-base management systems, there is little agreement on methods to convey some of the most common data structures, such as vectors and multidimensional arrays, used in certain disciplines.

To help address this problem, Unidata developed the Network Common Data Form (NetCDF). The method is not for end-user; rather, it is a programmer's tool kit for storing and retrieving data in files that are portable (i.e. transferable between dissimilar computers) and self describing (i.e. that contain enough information to obviate the need for ancillary documents on dimensionally, variable names, units of measure, etc.). The NetCDF development represents, on a very limited scale, a harbinger of impact KN will have on science, viz. the creation of enabling technologies that will result in the generation of fundamental new knowledge.

The NetCDF's existence and free availability appears to have had a positive effect on collaboration as well as on the development of scientific software. Hundreds of commercial and non-commercial organizations all around the world and representing a wide variety of disciplines have adopted NetCDF for scientific analysis or visualization.

!!!Tools for Capturing, Validating, and Sharing Mathematical Knowledge

Mathematicians are attempting to build computer systems that effectively represent mathematical knowledge, and that enable the construction of databases of mathematical results and mechanically checked proofs in forms that are readable and usable by people. Users of such systems could shift among different but clear and unambiguous representational syntaxes that capture the same underlying mathematical knowledge in forms that are tailored for use in different contexts. Users of such systems could know that every mathematical result represented has a proof that has been checked by computer and is available for inspection. Mathematicians who have discovered new results may wish to add them to the collection, helping to publicize these results, certify their validity, and increase the overall capability. Such tools may also help to systematize mathematical knowledge and to integrate theoretical knowledge with computation. Such systems could be a clear example of the power of Knowledge Networking for dealing with organized knowledge rather than isolated facts, and the broad utility of mathematical knowledge makes it a compelling candidate. Wide availability of such capability and knowledge through integration with the Internet could lead to new generations of researchers, teachers, and students using such tools routinely in any context where mathematics is used. 
Research Opportunities in Knowledge Networking:

Knowledge Networking presents a number of research challenges and opportunities. These can be organized under a set of topics or threads, which we have termed *Interactivity, Representation, Cognition, Agents, Corpora*.

!!!Interactivity

Interactivity research studies the creation and maintenance of dynamic, content-rich relationships among people, instruments &amp; tools, data, and artificial agents, using multiple modalities. Technologies that enable such interactivity encompass input/output devices, communication networks, and their interface characteristics, adapted with the aim of making the best match to what is known about the needs and requirements of individual people, groups, teams, and organizations for effective interaction.
The critical multidisciplinary aspects of Interactivity research result from the need to uncover common foundations for understanding widely differing types of participants (e.g. people or agents with particular skills; specialized instruments) coupled through unique domain-specific activities (e.g. doing geoscience or doing disaster relief) integrating problem- and domain-specific information (e.g., specialized datasets or knowledge bases), via a variety of media and channels (text, video, etc.), under a range of specific constraints (e.g. quality-of-service; sensory limitation such as no vision or hearing, etc.). Another multidisciplinary driver is the need to understand how to apply the fruits of Interactivity research effectively in many different domains.
New interdisciplinary Knowledge Networking research under the Interactivity thread includes:
* Access and &quot;universal access&quot;
* Body language and facial expression capture/generation
* Dialogue and discourse structures and constraints
* Ecological &amp; virtual-environmental interactions
* Image processing and gesture recognition
* Intermodal mappings for people with disabilities
* Haptics, smell, taste and balance technologies
* Multimodal interactivity
* Network and communications infrastructures for interactivity
* Remote access/control and teleoperation
* Signal processing and understanding
* Speech recognition and natural language understanding
* Real-time and time-modified interactivity
* Valuation and incentives for interactivity

!!!Representation

Research on representation studies the processes through which participants (people, groups, agents, etc.) model and encode knowledge about entities, processes, or phenomena in particular representational media, and, conversely, reconstruct meanings and semantics for representations in their contexts of use.

The critical multidisciplinary aspects of Representation research result from the need to uncover common foundations for understanding how widely differing types of participants (e.g. people or agents with particular domain- or culture-specific viewpoints; specialized data-gathering instruments), represent problem- and domain-specific entities or processes (e.g., protein molecules; organizational workflows), of differing representational level (e.g., sensory; cognitive), scale and complexity, for use in unique domain-specific activities (e.g. doing bioscience or doing collaborative design) via a variety of representational media and modalities (text, software, graphical data, simulations, in visual, audio, haptic modalities, etc.), under a range of specific constraints (e.g. size limitations, specificity constraints). Another multidisciplinary driver is the need to understand how to apply the fruits of Representation research effectively in many different domains.
New interdisciplinary Knowledge Networking research under the Representation thread includes:
Representation of new entities or attributes, such as:

*Complex data types
* Complex systems and their structure
* Domain- and discipline-specific objects, actions, and processes
* Gestures and facial expressions
* Human sensory information: touch, smell, taste, and balance
* Illumination and rendering
* Know-how and commonsense knowledge
* Large-scale systems and phenomena
* Mathematics and logic
* Ontologies
* Open physical, computational and biological systems
* Organizational processes and workflows
* Real world objects, processes and environments
* Scientific principles, methods, and theories
* Uncertainty
* Complex operations on representations, such as:
  * Automatic generation of representations
  * Domain-independent abstraction (e.g., of texts and images)
  * Compression
  * Integration, fusion and interoperability;
  * Interpretation of representations in context
  * Multimedia indexing, abstraction
  * Translation of representations
*New representational techniques and media such as:
  * Distributed representations
  * Distributed interpretations
  * Non-digital representational media such as culture, the physical world, molecules and Biological objects (e.g., DNA)
  * Multiperspective representations
  * Simulations and computer models
  * Tools for joint or collaborative knowledge construction and representation
* New uses for representations
  * Cognition
  * Cognition research investigates interlinked processes of perception, reasoning, memory, learning, and action by participants in physical and socio-cultural situations. 
  * The critical multidisciplinary aspects of Cognition research result from the need to uncover common foundations for integrated understanding of all phases of cognition, as carried out by a wide variety of cognitive entities (e.g., people, artificial agents, groups, organizations), cognizing (perceiving, reasoning/learning about, acting with) domain-specific phenomena of differing character, scale and complexity (e.g. perception of surface textures; organizational memory), in a wide variety of physical and social contexts (e.g. a laboratory, a crisis management scenario) under a range of specific constraints (e.g. complexity, realizability, or real-time constraints).   
  * Another multidisciplinary driver is the need to understand how to apply the fruits of Cognition research effectively in many different domains.
* New interdisciplinary Knowledge Networking research under the Representation thread includes:
* New cognizing entities:
  * Cognition by individuals, groups, teams and organizations
  * Empirical studies of Knowledge networks as arenas for scientific experimentation, data gathering, analysis
  * Human comprehension in networked environments
  * Organizational and community memory systems
* New objects of cognition such as:
  * Behavior and event processing of non-rigid objects
  * Complex, distributed, and open systems
Groups, teams, organizations, institutions
Specific domain entities
Tasks of high complexity
New cognitive issues and methods:
Distributed cognition
Dynamic adaptation
Error processing and propagation;
Exploiting parallel architectures for computation;
Focus of attention
High-level reasoning;
Knowledge-based information processing;
Learning effects of human exposure to virtual and real environments.
Non-conceptual cognition;
Perceptual, motor, and sensory-motor models;
Perception-based problem solving
Realizability of cognitive models
Situated cognition
Symbolic and geometric processing;
Transfer of learning; skill training and acquisition
Cognitive aspects of trust and believability

!!!Agents

Agents research studies the active and sometimes physically embodied algorithms, software, communications, and tools that can assist people in Knowledge Networking activities. Examples of agents include knowledge agents that seek and manipulate specific data or information collections (&quot;Knowbots&quot;) from interconnected commuter networks, and cooperative physical agents such as robots, intelligent devices, special instruments, and other non-human natural agents or environments.
The critical multidisciplinary aspects of Agents research result from the need to uncover common foundations for understanding how to support and augment a variety of people, teams, groups, and organizations, each with particular domain- or culture-specific needs, in performing unique domain-specific activities (e.g. doing bioscience, doing collaborative design, or emergency management), using a varied array of resources (scientific data sets, distributed simulations, specialized instruments), under a range of specific constraints (e.g. time, methodological, or performance quality constraints). Another multidisciplinary driver is the need to understand how to apply the fruits of Agents research effectively in many different domains. 
New interdisciplinary Knowledge Networking research under the Agents thread includes:
Autonomy
Building (and dismantling) information-rich virtual communities and organizations
Domain-specific contextual knowledge and commonsense knowledge for agents
Coordination of activities and knowledge in heterogeneous systems and environments
Degrees and types of augmentation and support for participants such as people, teams, or organizations.
Designs and criteria for sensory-motor systems
Distributed control
Domain-specific contextual knowledge and commonsense knowledge for agents
Dynamic adaptation and evolution of agents
Engineering methodologies
Interoperability of agents
Incentive structures
Knowledge at new scales: large collections of tiny, heterogeneous distributed agents; distributed knowledge networks for control of MEMS
Load and complexity management
Mathematical algorithms, machine architectures, and networking technologies for knowledge agents in information spaces
Multi-agent systems
Modularity, parallelism and complexity
Pathologies and immune systems in large-scale human-computing aggregates, e.g. malicious agents, viruses, junk, &quot;knowledge storms&quot;
Possible or optimal domain, range and scope of the agents' functionality
Principles of decomposition and organization of tasks and resources (division of labor)
Robustness, fault-tolerance, and reliability
Specific domain-dependent agents for assisting in information analysis, decision making, and remote control of instruments and access to information resources
Trust, confidence, and believability
User, team, and organizational requirements and their evolution.

!!!Corpora

Investigations of corpora (plural of &quot;corpus&quot;) research the entire lifecycle (creation, structuring, storage, maintenance, use and disposal) of general and community-specific collections of data, information, and knowledge, ranging across ad hoc data collections, complex scientific databases, large and distributed digital libraries and even such unconventional entities as digital forms of artifacts in museums. Research in Corpora is a critical enabler of Knowledge Networking: people's ability to access, retrieve and comprehend information from complex databases and sources depends on how that information is created, structured, stored, presented, and managed.
New interdisciplinary Knowledge Networking research under the Corpora thread has two objectives: To accelerate cross-disciplinary database research, and to develop new kinds of cross-disciplinary data-sharing mechanisms, infrastructures, and relationships that can facilitate new interdisciplinary experimental research. Relevant research topics include: 
* Active and real-time databases and data sources
* Classification and taxonomizing processes
* Collection and indexing of retrospective and real-time data sources
* Community, organizational, and social filtering of information and knowledge
* Data and knowledge mining
* Dealing with evolution of structure, function, content, and user requirements
* Digital libraries and repositories across disciplines and application domains
* Disciplinary databases; multi-lingual, cross-cultural, societal collections
* Dissemination and distribution
* Domain-specific taxonomies and ontologies
* Dynamic synthesis of new structure, views, and metadata
* Economics and valuation of information and content
* Evolution of structure, function and content
* Experimental evaluation
* High-confidence and reliability
* Intellectual property rights and ownership
* Intelligent transaction processing
* Meta-data research
* Multi-modal information management
* Object and multimedia environments
* Organizations as active knowledgebases
* Public access policies
* Reliability, security, quality of data and data services
* Searching, filtering, fusion, indexing and retrieval tools
* Security and authorization
* Structure, functionality and organization of corpora
* Technologies of intellectual property, e.g., &quot;terms and conditions&quot;
* Vertically and horizontally linked data sources

</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-06</dc:date>
</item>
<item>
<title>Things to Read</title>
<link>http://kennison.name/work/notes/#%5B%5BThings%20to%20Read%5D%5D</link>
<description>[[The new type of learner and why the university must change|http://www.edge.org/3rd_culture/tapscott09/tapscott09_index.html]]

The International Journal of Digital Curation 

From Duke about a metadata editor
http://library.duke.edu/blogs/digital-collections/2008/10/10/a-metadata-tool-that-scales/#more-111

http://www.extensiblecatalog.org/files/XCSchemaProperties20090107.pdf

http://halfanhour.blogspot.com/2010/03/three-models-of-knowledge-production.html</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-05</dc:date>
</item>
<item>
<title>Libraries as infrastructure</title>
<link>http://kennison.name/work/notes/#%5B%5BLibraries%20as%20infrastructure%5D%5D</link>
<description>&quot;Becomes visible upon breakdown&quot; 

the only time you (want) to see a library is when it doesn't work

&gt;If all libraries are good for is contracting for goods, then why not hand this off to the people who order the office supplies or the lab supplies? Surely they have to select among various suppliers  --  isn't that the same?  </description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-05</dc:date>
</item>
<item>
<title>LIbrary Users</title>
<link>http://kennison.name/work/notes/#%5B%5BLIbrary%20Users%5D%5D</link>
<description>What users want from a library:

&gt;This brings me back to my original point about librarians and libraries. My most pressing need is to gain access to more of the academic literature with fewer hurdles. Access from my computer. Anywhere. With fewer clicks through proxy servers and specialized journal links.

&gt;I guess I don't really have any use for librarians per se. Except in so far as they get me closer to these unfettered access goals.

From another user:

&gt;I see libraries going in three different directions.

&gt;One really important function (just now at least) is managing the byzantine world of publishers and subscriptions. Making sure we actually have access to what we want, hopefully without breaking the budget of the University.

&gt;Another role is basically IT infrastructure and support. I would like to see this become more explicitly a function of the library and less it's own department. 95+% of IT is about making sure people have access to the information resources they need... and I think the libraries would probably do a better job of it since it is baked into &quot;what they do&quot; (unlike many IT departments).
It is also notable that libraries already deal with &quot;user generated&quot; data, not just access to externally published stuff.

&gt;Finally, I see librarians becoming more like consultants (such as stats consultants).

</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-05</dc:date>
</item>
<item>
<title>GeoCoding Links</title>
<link>http://kennison.name/work/notes/#%5B%5BGeoCoding%20Links%5D%5D</link>
<description>http://geocoder.us/
http://wiki.openstreetmap.org/wiki/Main_Page</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-08-05</dc:date>
</item>
<item>
<title>Perl Script</title>
<link>http://kennison.name/work/notes/#%5B%5BPerl%20Script%5D%5D</link>
<description>{{{
#!/iiidb/software/tpp/perl/bin/perl -w

use Net::LDAP;
use Net::LDAPS;
use strict;
use CGI qw(unescape);

#
#-----------------------------------------------------------------------
# This perl script is provided as an example for libraries that want to
# employ Innovative's &quot;plugin&quot; model for External Patron Verification.
#
# The example script queries multiple LDAP servers depending on the type 
# of user, e.g. staff/faculty vs. student; campus1 vs. campus2; etc.
#
# This script is not intended to be &quot;standalone&quot; but is instead called by 
# the Innovative checkLDAP script.
#
# Innovative provides this example script as a courtesy to libraries that
# have multiple LDAP servers.  The library is responsible for customizing 
# this script with local values, enhanced functionality, etc. 
#-----------------------------------------------------------------------
#

my $debug = &quot;yes&quot;;

open (DEBUG, &quot;&gt;&gt;/tmp/checkLDAP_dlevy.log&quot;) if ($debug eq &quot;yes&quot;);

#
# LDAP connection information is stored in arrays of size 2.
# The script assumes that the first location (0) in the array 
# contains the connection information for the student LDAP server, 
# i.e. the input extpatserver = student, if  extpatserver = staff the
# script uses the connection information from the second location (1)
# in the following arrays.
# If there is no value in extpatserver, the script queryies the student
# LDAP server.
# These arrays should be initialized here with the real values.
# To customize this script for you system, configure the following 
# arrays:
#
# m_sLDAPServer : contains the host domain name of the LDAP servers.
#
# m_nPort :  specifies the port used to connect to the LDAP server.
#
# m_bUseLDAPS : set to 1 if you use a secure connection i.e. port 636, 
# 		set to 0 if you use a non-secure connection.
# m_sBindBase : contains a string that defines which database to use 
# 		on the LDAP server on the first bind command; 
#		if empty use anonymous bind.
#
# m_sBindPassword : contains the password of the administrator account 
#	      	   you use to bind. Set the password unencrypted, 
#		   i.e. use the string you received from the LDAP 
#		   adminstartor as it is.  
# m_sBindUser : set the login of the administartor account, or an empty string
#
# m_bUseOneBind: set to 1 if you use user's credentials to bind.
#
# m_sSearchAttribute : contains the primary search attribute to be used 
#		   (university ID, for example) when searching for 
#		   a given patron on the LDAP server.
#
# m_sSearchBase : contains the search DN used to retrieve user records.
#
# m_sIDAttribute : contains the attribute in the data returned by the LDAP
#                  server which is used as the patron search key on the
#		   Millennium server.	
#

my @m_sLDAPServer = (&quot;&quot;,&quot;&quot;);
my @m_nPort = (&quot;&quot;,&quot;&quot;);
my @m_bUseLDAPS = (0,0);
my @m_sBindBase = (&quot;&quot;,&quot;&quot;);
my @m_sBindPassword = (&quot;&quot;,&quot;&quot;);
my @m_sBindUser = (&quot;&quot;,&quot;&quot;);
my @m_bUseOneBind = (0,0);
my @m_sSearchAttribute = (&quot;&quot;,&quot;&quot;);
my @m_sSearchBase = (&quot;&quot;,&quot;&quot;);
my @m_sIDAttribute = (&quot;&quot;,&quot;&quot;);


my $m_bUseLDAPPassword = 1;
my $m_bTryMillenniumAfterBadVerify = 0;

my @m_nTimeOut = (3,3);
my $m_sLDAPVersion = 3;

#
# Input variables are stored in teh following variables
#
my $m_sUserName = &quot;&quot;;
my $m_sUserId = &quot;&quot;;
my $m_sPassword = &quot;&quot;;
my $m_sServer= &quot;&quot;;

my $m_hLDAP;
my $m_whichServer = 0; #Identifies which server to query by index, either 0 or 1
my $m_hSearchMessage;
my $m_bVerbose = 0;
#my $m_bVerbose = 1;
my $m_nTimeOut = 3;


my $m_sOriginalUserId;
my $m_sResult = &quot;Failed&quot;;
my $m_sLogMessage = &quot;&quot;;
my $m_sIIIDB = &quot;&quot;;

#------------------------------------------------------------
# log a message for each verification to $IIIDB/errlog/ldap.log
# append if is used to wrap log so it doesn't grow to big
#------------------------------------------------------------
sub logger
{
my $sMessage = shift;

my $sOutName = $m_sIIIDB . &quot;/errlog/ldap.log&quot;;

if( ( -e &quot;$sOutName&quot; ) &amp;&amp; ( -s &quot;$sOutName&quot; ) &gt; 100000 )
    {
    rename( &quot;$sOutName&quot;, &quot;$sOutName.old&quot; );
    system( &quot;touch $sOutName&quot; );
    }

open( OUT, &quot;&gt;&gt;$sOutName&quot; ) ||
    die( &quot;Cannot appendf $sOutName\n&quot; );

my ($nSec,$nMin,$nHr,$nDay,$nMonth,$nYear,$sRest) = localtime();

my $sDenseTime = sprintf &quot;%4.4d%2.2d%2.2d%2.2d%2.2d%2.2d&quot;,
                $nYear + 1900, $nMonth + 1, $nDay, $nHr, $nMin, $nSec;
print OUT &quot;$sDenseTime:$m_sOriginalUserId:$m_sUserId&quot; .
          &quot;:$m_sLogMessage:$sMessage\n&quot;;
if( $m_bVerbose )
    {
    print &quot;$sDenseTime:$m_sOriginalUserId:$m_sUserId&quot; .
              &quot;:$m_sLogMessage:$sMessage\n&quot;;
    }
close( OUT );
}
#----------------------------------------------------------------
#
# Innovative checkLDAP script
# The Innovative Perl script sends the following name/value pairs
# via STDIN to this plugin script:
#
#    extpatid= is the patron ID number.
#
#    extpatpw= is the patron password.
#
#    extpatserver= indicates the patron's choice of 
#    &quot;student&quot; or &quot;staff&quot;
#
#----------------------------------------------------------------
sub parseInput
{
while( &lt;&gt; )
        {
        chomp;

        for( split /\&amp;/ )
                {
                if( /^extpatname=(.*)/ )
                        {
                        $m_sUserName = unescape($1);
                        }
                elsif( /^extpatid=(.*)/ )
                        {
                        $m_sUserId = unescape($1);
                        }
                elsif( /^extpatpw=(.*)/ )
                        {
                        $m_sPassword = unescape($1);
                        }
                elsif( /^extpatserver=(.*)/ )
                        {
                        $m_sServer= unescape($1);
                        }
                }
        }
}
#---------------------------------------------------------------
#
# Open a connection to the LDAP server.
#
#---------------------------------------------------------------
sub doConnect
{
my      @aLDAPArgs;

push( @aLDAPArgs, $m_sLDAPServer[$m_whichServer] );
push( @aLDAPArgs, port =&gt; $m_nPort[$m_whichServer] );


if( $m_bUseLDAPS[$m_whichServer] )
    {
      $m_hLDAP = new Net::LDAPS( @aLDAPArgs ) ||
                 systemError( &quot;Cannot create session, args=@aLDAPArgs&quot; );
     }

else
    {

    $m_hLDAP = Net::LDAP-&gt;new( @aLDAPArgs ) ||
               systemError( &quot;Cannot create session, args=@aLDAPArgs&quot; );
     }

if( ! defined( $m_hLDAP ) )
     {
       systemError( &quot;Bad return from LDAP-&gt;new with args=@aLDAPArgs&quot; );
      }

if( $m_bVerbose )
        {
        print &quot;LDAP connection established args=@aLDAPArgs\n&quot;;
        }

return 1;
}
#------------------------------------------------------------
sub doBind
{
#expects the following parameters
my $sBindBase = shift;
my $sBindUser = shift;
my $sBindPassword = shift;
my $sMessage = shift;
my $bReturnOnVerifyError = shift;

my @aBindArgs;
my $mesg;

if( $sBindBase ne &quot;&quot; )
    {
    push( @aBindArgs, dn =&gt; $sBindBase ) ;
    }
if( $sBindPassword ne &quot;&quot; )
    {
    push( @aBindArgs, password =&gt; $sBindPassword );
    }
if( $m_sLDAPVersion ne &quot;&quot; )
    {
    push( @aBindArgs, version =&gt; $m_sLDAPVersion );
    }

$mesg = $m_hLDAP-&gt;bind( @aBindArgs ) ||
     systemError(&quot;Failed to bind args=dn $sBindBase version $m_sLDAPVersion&quot;);

if( $m_bVerbose )
    {
    print &quot;Bindargs = @aBindArgs\n&quot;;
    }

if( $mesg-&gt;code() )
    {
    if( $bReturnOnVerifyError )
        {
        return( 0 );
        }
    else
        {
        verifyError( &quot;$sMessage:bind failed:mesg=&quot; .
          &quot;(&quot;. $mesg-&gt;code() . &quot;),args=dn $sBindBase version $m_sLDAPVersion&quot; );
        exit( 0 );
        }
    }
if( $m_bVerbose )
    {
    print &quot;Bind succeeded\n&quot;;
    }
return( 1 );
}

#------------------------------------------------------------
# performs a search, if the count is not 1 and there exists
# a fallback search method try that.
#------------------------------------------------------------

sub doSearch
{
my @aSearchArgs;

push( @aSearchArgs, base =&gt; $m_sSearchBase[$m_whichServer] );
my $sFilter = &quot;$m_sSearchAttribute[$m_whichServer]=$m_sUserId&quot;;
push( @aSearchArgs, filter =&gt; &quot;$sFilter&quot; );

alarm $m_nTimeOut;

$m_hSearchMessage = $m_hLDAP-&gt;search( @aSearchArgs ) ||
                     systemError (&quot;Failed on search args=@aSearchArgs&quot;);


alarm 0;

if( $m_hSearchMessage-&gt;code() )
    {
    verifyError( &quot;search failed mesg=&quot; .
                 &quot;(&quot;. $m_hSearchMessage-&gt;code() . &quot;),args=@aSearchArgs&quot; );
    return 0;
    }

if( $m_bVerbose )
    {
    printf( &quot;Search done: args=@aSearchArgs\n&quot; );
    }

my @aList = $m_hSearchMessage-&gt;all_entries;

my $nCount = $#aList + 1;

if( $m_bVerbose ) { print &quot;Search found $nCount matching patrons\n&quot;; }

return $nCount;
}

#------------------------------------------------------------
sub checkPassword
{
my $hEntry = shift;

if( $m_bUseLDAPPassword == 0 ) { return 1; }

my $sVerifyUserName = $m_sUserId;

if( ! doBind( $hEntry-&gt;dn(),
        $sVerifyUserName,
        $m_sPassword,
        &quot;Bad password&quot;,
         $m_bTryMillenniumAfterBadVerify ) )
    {
    return( 0 );
    }

$m_sLogMessage .= &quot;good password &quot;;

if( $m_bVerbose )
    {
    print &quot;Password check succeeded\n&quot;;
    }
return( 1 );
}

#------------------------------------------------------------
# verification has failed log and exit with string Error
#------------------------------------------------------------
sub verifyError
{
my $sMessage = shift;

$m_sUserId = &quot;Error&quot;; # this is the string we will return to the webpac
if( defined $m_hLDAP )
    {
    $m_hLDAP-&gt;unbind;
    }
logger( $sMessage );

print &quot;extvererr=$sMessage\n&quot;;
}

#------------------------------------------------------------
# log an error message to the syserr file
#------------------------------------------------------------
sub logError
{
my $sMessage = shift;
my $sSyserr = $m_sIIIDB . &quot;/errlog/syserr&quot;;
if( open( SYSERR, &quot;&gt;&gt;$sSyserr&quot; ) )
    {
    print SYSERR &quot;$sMessage\n&quot;;
    close( SYSERR );
    }
}

#------------------------------------------------------------
# log an error message to the syserr file and exit with Error
#------------------------------------------------------------
sub systemError
{
my $sMessage = shift;

$m_sUserId = &quot;Error&quot;; # this is the string we will return to the webpac
if( defined $m_hLDAP )
    {
    $m_hLDAP-&gt;unbind;
    }
logger( &quot;$sMessage ($!)&quot; );
logError( &quot;$sMessage ($!)&quot; );

print &quot;extsyserr=$sMessage\n&quot;;
exit 1;
}


#---------------------------------------------------------------
sub cleanUpAndExit
{
$m_hLDAP-&gt;unbind; # take down session
exit 0;
}
#---------------------------------------------------------------

sub notFound
{
my $sMessage = shift;

if( ! defined( $sMessage ) ) { $sMessage = &quot;no message&quot;; }
print &quot;extvererr=$sMessage\n&quot;;
cleanUpAndExit();
}

#------------------------------------------------------------
# catches alarm, we set alarm so we don't wait forever for the ldap server
#------------------------------------------------------------
sub catchAlarm
{
logError( &quot;Timeout occurred&quot; );
}

#------------------------------------------------------------
#
#   main() starts here
#
# it is CRITICAL that nothing read stdin that will be done by
# parseInput after the globals are loaded and a user script
# has been ruled out
#
#------------------------------------------------------------
$SIG{ALRM} = \&amp;catchAlarm;

parseInput();

 print DEBUG &quot;The userID entered is: $m_sUserId\n&quot; if ($debug eq &quot;yes&quot;);


$m_sOriginalUserId = $m_sUserId;
if( $m_sPassword eq &quot;&quot; )
        {
        verifyError( &quot;password not specified&quot; );
        exit( 0 );
        }

if( $m_sUserId eq &quot;&quot; )
        {
        verifyError( &quot;got empty lookup field&quot; );
        exit( 0 );
        }

if( $m_sServer eq &quot;staff&quot; )
    {
	$m_whichServer = 1;
    }
else
	{
	$m_whichServer = 0;
	}

if( ! doConnect() )
    {
    exit 0;
    }

if( $m_bUseOneBind[$m_whichServer] )
    {
    my $sTempUserName = $m_sUserId;
	}


if( ! doBind($m_sBindBase[$m_whichServer], $m_sBindUser[$m_whichServer], 
     $m_sBindPassword[$m_whichServer] ,&quot;&quot;,$m_bUseOneBind[$m_whichServer] ))
    {
    notFound( &quot;no bind&quot; );
    }

my $nMatchCount = doSearch();

if( $nMatchCount == 0 )
    {
    $m_sLogMessage .= &quot;not on LDAP, &quot;;
    notFound( &quot;not found&quot; );
    }
elsif( $nMatchCount == 1 )
    {
    $m_sLogMessage .= &quot;on LDAP &quot;;

    my @aList = $m_hSearchMessage-&gt;all_entries;
    my $hEntry = pop @aList;

    if( $m_bVerbose )
        {
        print &quot;Entry dn= &quot; . $hEntry-&gt;dn() . &quot;\n&quot;;
        $hEntry-&gt;dump;
        }

    if( ! $m_bUseOneBind[$m_whichServer] &amp;&amp; ! checkPassword( $hEntry ) )
        {
        $m_sLogMessage .= &quot;failed password on LDAP, &quot;;
        notFound( &quot;failed password&quot; );
        }
    else
        {
        my @sID = $hEntry-&gt;get_value( $m_sIDAttribute[$m_whichServer] );
        my $sID;

        if( ! @sID )
        {
        verifyError(&quot;Could not find attribute $m_sIDAttribute[$m_whichServer]&quot;);
            notFound( &quot;no attribute&quot; );
        }

        $sID = $sID[0];
        if( ! defined( $sID ) || $sID eq &quot;&quot; )
        {
        verifyError(&quot;Could not get attribute $m_sIDAttribute[$m_whichServer]&quot;);
            notFound( &quot;no attribute&quot; );
        }

        $m_sUserId = $sID;
        }
    }
else
    {
    $m_sLogMessage .= &quot;many on LDAP &quot;;

    verifyError( &quot;$m_sUserId had $nMatchCount matches on LDAP server&quot; );
    }

logger( &quot;OK&quot; );

print &quot;extid=$m_sUserId\n&quot;;

cleanUpAndExit();

1;
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-06-24</dc:date>
</item>
<item>
<title>III LDAP</title>
<link>http://kennison.name/work/notes/#%5B%5BIII%20LDAP%5D%5D</link>
<description>Screens that need edit: http://csdirect.iii.com/manual/i_search_patron_verifica_ext.html
Product Overviw: http://csdirect.iii.com/documentation/ldap.shtml</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-06-24</dc:date>
</item>
<item>
<title>What we should be working on</title>
<link>http://kennison.name/work/notes/#%5B%5BWhat%20we%20should%20be%20working%20on%5D%5D</link>
<description>* Digital Libraries Development 
* Tools and Techniques for Managing Digital Repositories 
* Digital Resource Management Strategies 
* Evaluation of Digital Libraries 
* Content Development: Tools and Techniques 
* Cultural Issues of Online Services 
* Technology Issues in Online Services 
* Standards and Specifications for Digital Objects 
* Metadata Standards, Interoperability and Crosswalks 
* Case Studies of Digital Libraries and Institutional Repositories 
* Multilingual Digital Libraries 
* Digital Preservation Strategies 
* Web Retrieval Tools and Strategies 
* User Interface and Patron Interactions Tools 
* Open Source Software Tools for Digital Library Development 
* Open Access Initiatives, Open Access Repositories 
* Open Access for Scholarly Contents 
* Information Management Using Web 2.0/3.0 Technologies 
* Social Networking Tools for Information Services 
* Knowledge Organization Techniques 
* Knowledge Representation Models 
* Emergent Techniques for Search Algorithms and Context Sensitive Indexing 
* Semantic Web Technologies for Knowledge Representation and Management 
* Ontologies and Approaches to Building Ontologies 
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-06-23</dc:date>
</item>
<item>
<title>Z3950 connections</title>
<link>http://kennison.name/work/notes/#%5B%5BZ3950%20connections%5D%5D</link>
<description>[[Documentation|http://www.etsupp.com/z3950/]]

For ProQuest Classic:

    * Host Name proquest-z3950.umi.com
    * Port 210
    * Database PQ_current
    * User ID/Password any valid ProQuest ID and password

For Historical Newspapers:

    * Host Name hnz39.umi.com
    * Port 210
    * Database PQHNP
    * User ID/Password any valid ProQuest ID and password

Note: Our Z39.50 server does not support IP authentication at this time

   	0J7F3BKGMJ</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-26</dc:date>
</item>
<item>
<title>Premis RDF</title>
<link>http://kennison.name/work/notes/#%5B%5BPremis%20RDF%5D%5D</link>
<description>http://annotation.lanl.gov/premis/</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-26</dc:date>
</item>
<item>
<title>Micro Curation Video</title>
<link>http://kennison.name/work/notes/#%5B%5BMicro%20Curation%20Video%5D%5D</link>
<description>http://www.cdlib.org/cdlinfo/2010/05/21/webinar-of-merritt-repository-development/</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-24</dc:date>
</item>
<item>
<title>Course Management Systems</title>
<link>http://kennison.name/work/notes/#%5B%5BCourse%20Management%20Systems%5D%5D</link>
<description>[[from|http://www.jonmott.com/blog/2010/01/the-cms-and-the-pln/]]

!!!CMS Strengths
* Simple, consistent, and structured Integration with student information systems (SISs) so student rosters are automagically populated in courses
* Private and secure (i.e., FERPA compliant)
* Tight tool integration (e.g., quiz scores populated in gradebooks)
* Supports sophisticated content structuring (e.g., sequencing, branching, and adaptive release)

!!!CMS Weaknesses
* As it is widely implemented, the CMS is time-bound (i.e., courses go away at the end of the semester)
* Teacher, rather than student, centric
* Courses are walled off from each other and from the wider Web, thereby negating the potential of the network effect
* Limited opportunities for students to &quot;own&quot; and manage their learning experiences within and across courses
* Rigid, non-modular tools
* Interoperability challenges and difficulties (significant progress is being made on this front, but the ability to easily move data in and out of the CMS and to plug in alternative tools to replace or enhance native tools remains to be seen)


!!!PLN Strengths

*Almost limitless variety and functionality of tools
* Customizable and adaptable
* No artificial time boundaries -- remains &quot;on&quot; before, during, and after matriculation
* Open to interaction and connection with persons without regard to their official registration in programs or courses
* Easily sharable with others both inside and outside of courses, programs, and institutions
* Student-centric (i.e., each student selects and uses the tools that make sense for their particular needs and circumstances)
* Compilable via simple technologies like RSS

!!!PLN Weaknesses
* Complex and difficult to create for inexperienced students and faculty members
* Potential security and data exposure problems -- FERPA issues abound
* Limited institutional control over data
* Absent or unenforceable SLAs -- no ability to predict or resolve Web application performance issues, outages, or even disappearance</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-10</dc:date>
</item>
<item>
<title>What's wrong with BlackBoard</title>
<link>http://kennison.name/work/notes/#%5B%5BWhat%27s%20wrong%20with%20BlackBoard%5D%5D</link>
<description>&gt;Blackboard remains first and foremost a semester-based, content-delivery oriented, course management system. The software is not (at least noticeably) evolving to become a student-centered learning management system. And while the addition of wikis and blogs inside the Blackboard system is as welcome improvement, there is still little or no integration between student learning tools &quot;inside the moat&quot; and outside of it &quot;in the cloud.&quot;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-10</dc:date>
</item>
<item>
<title>Integrative Lerning</title>
<link>http://kennison.name/work/notes/#%5B%5BIntegrative%20Lerning%5D%5D</link>
<description>[img[http://upload.wikimedia.org/wikipedia/en/0/08/Integrative_learning_concept_map.gif]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-10</dc:date>
</item>
<item>
<title>Distance Education Notes</title>
<link>http://kennison.name/work/notes/#%5B%5BDistance%20Education%20Notes%5D%5D</link>
<description>[[Review of the literature|http://www.irrodl.org/index.php/irrodl/article/view/741/1433]]
[[Distributed Learning Environment|http://wiki.cetis.ac.uk/images/6/6c/Distributed_Learning.pdf]]

  &quot;Online education exists because of the ability to financialize products, cutting costs on expensive face to face course content, and to de-skill or re-skill the profession of their old teaching epistemologies... &quot;  -- Quote from Chronicle

!!!Macro level: Distance education systems and theories.

# Access, equity, and ethics: The democratization of access to distance education afforded by new media and by finding ways to deliver high-quality education to those who have limited resources and poor infrastructure; issues that refer to the (sustainable) provision of distance education in developing areas. What is the impact of distance education (e.g., via mobile learning) on narrowing the digital divide and what is the role of ICT (information and communication technologies) and/or OER (open educational resources) in terms of access to education?
# Globalization of education and cross-cultural aspects: Aspects that refer to the global external environment and drivers, the development of the global distance education market, teaching and learning in mediated global environments, and the implications for professional development.
# Distance teaching systems and institutions: Distance education delivery systems, the role of institutional partnerships in developing transnational programmes, and the impact of ICT on the convergence of conventional education and distance education institutions (hybrid or mixed-mode).
# Theories and models: Theoretical frameworks for and foundations of distance education, e.g., the theoretical basis of instructional models, knowledge construction, interaction between learners, or the impact of social constructivism learning theories on distance education practice.
# Research methods in distance education and knowledge transfer: Methodological considerations, the impact of distance education research and writing on practice, and the role of professional associations in improving practice. Literature reviews and works on the history of distance education are also subsumed within this area.

!!!Meso level: Management, organization, and technology.

# Management and  organization: Strategies, administration, and organizational infrastructures and frameworks for the development, implementation, and sustainable delivery of distance education programmes. What is required for successful leadership in distance education? Distance education and policies relating to continuing education, lifelong learning, and the impact of online learning on institutional policies, as well as legal issues (copyright and intellectual property).
# Costs and benefits: Aspects that refer to financial management, costing, pricing, and business models in distance education. Efficiency: What is the return on investment or impact of distance education programmes? What is the impact of ICT on the costing models and the scalability of distance education delivery? How can cost effective but meaningful learner support be provided?
# Educational technology: New trends in educational technology for distance education (e.g., Web 2.0 applications or mobile learning) and the benefits and challenges of using OERs, media selection (e.g., synchronous vs. asynchronous media), technical infrastructure and equipment for online learning environments, and their opportunities for teaching and learning.
# Innovation and change: Issues that refer to educational innovation with new media and measures to support and facilitate change in institutions (e.g., incentive systems for faculty, aspects referring to staff workloads, promotion, and tenure).
# Professional development and faculty support: Professional development and faculty support services as a prerequisite for innovation and change. What are the competencies of online teachers and how can they be developed?
# Learner support services: The infrastructure for and organisation of learner support systems (from information and counselling for prospective students about library services and technical support to career services and alumni networks).
# Quality assurance: Issues that refer to accreditation and quality standards in distance education. The impact of quality assurance and high quality learner support on enrolments and drop-out/retention, as well as reputation and acceptance of distance education as a valid form of educational provision.


!!!Micro level: Teaching and learning in distance education.

# Instructional design: Issues that refer to the stages of the instructional design process for curriculum and course development. Special emphasis is placed on pedagogical approaches for tutoring online (scaffolding), the design of (culturally appropriate) study material, opportunities provided by new developments in educational technology for teaching and learning (e.g. Web 2.0 applications and mobile devices), as well as assessment practices in distance education.
# Interaction and communication in learning communities: Closely related to instructional design considerations is course design that fosters (online) articulation, interaction, reflection, and collaboration throughout the learning and teaching process. Special areas include the development of online communities, gender differences, and cross-cultural aspects in online communication.
#. Learner characteristics: The aims and goals of adult learners, the socio-economic background of distance education students, their different learning styles, critical thinking dispositions, and special needs. How do students learn online (learner behavior patterns, learning styles) and what competencies are needed for distance learning (e.g., digital literacy)?</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-10</dc:date>
</item>
<item>
<title>Common Cartridge</title>
<link>http://kennison.name/work/notes/#%5B%5BCommon%20Cartridge%5D%5D</link>
<description>[img[/filestore/uploads/learning/commoncartridge.jpg]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-10</dc:date>
</item>
<item>
<title>Formating - Adding CSS Class</title>
<link>http://kennison.name/work/notes/#%5B%5BFormating%20-%20Adding%20CSS%20Class%5D%5D</link>
<description>* {{{@@CssProperty:value;CssProperty:value;...@@}}}&lt;br&gt;''N.B.:'' CSS color definitions should use lowercase letters to prevent the inadvertent creation of WikiWords.
* {{{{{customCssClass{...}}}}}} /% DEBUG: buggy %/
* raw HTML can be inserted by enclosing the respective code in HTML tags: {{{&lt;html&gt; ... &lt;/html&gt;}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-04</dc:date>
</item>
<item>
<title>RDF at USCD</title>
<link>http://kennison.name/work/notes/#%5B%5BRDF%20at%20USCD%5D%5D</link>
<description>&lt;html&gt;
&lt;p&gt;The following are some examples of what the user interface for our system displays: (download and zoom in on the files for closer viewing, if you like)&lt;/p&gt;
&lt;p style=&quot;padding-left: 30px;&quot;&gt;&lt;a href=&quot;http://www.chrisfrymann.com/image/mods/triples.jpg&quot;&gt;RDF triples&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.chrisfrymann.com/image/mods/json.jpg&quot;&gt;JSON view of data&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.chrisfrymann.com/image/mods/json.txt&quot;&gt;JSON manifestation of data for processessing by client-side JavaScript&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.chrisfrymann.com/image/mods/rdf.xml&quot;&gt;RDF XML file&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.chrisfrymann.com/image/mods/rdf_graph.png&quot;&gt;RDF graph&lt;/a&gt;&lt;/p&gt;&lt;/html&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-04</dc:date>
</item>
<item>
<title>RDF Journal Article</title>
<link>http://kennison.name/work/notes/#%5B%5BRDF%20Journal%20Article%5D%5D</link>
<description>@prefix rdf:     &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;.
@prefix dcterms:  &lt;http://purl.org/dc/terms/&gt;.
@prefix bibo: &lt;http://purl.org/ontology/bibo/&gt;.
@prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#integer&gt;.
@prefix foaf: &lt;http://xmlns.com/foaf/0.1/&gt;.

&lt;_:article1&gt;
    rdf:type bibo:AcademicArticle;
    dcterms:title &quot;AN UNUSUAL NEW NEOSAUROPOD DINOSAUR FROM THE LOWER
CRETACEOUS HASTINGS BEDS GROUP OF EAST SUSSEX, ENGLAND&quot;@en;
    dcterms:creator &lt;_:author1&gt;, &lt;_:author2&gt;;
    dcterms:abstract &quot;&quot;&quot;Xenoposeidon proneneukos gen. et sp. nov. is a
neosauropod represented by BMNH R2095, a well-preserved partial
mid-to-posterior dorsal vertebra from the Berriasian-Valanginian
Hastings Beds Group of Ecclesbourne Glen, East Sussex, England. It was
briefly described by Lydekker in 1893, but it has subsequently been
overlooked. This specimen's concave cotyle, large lateral pneumatic
fossae, complex system of bony laminae and camerate internal structure
show that it represents a neosauropod dinosaur. However, it differs
from all other sauropods in the form of its neural arch, which is
taller than the centrum, covers the entire dorsal surface of the
centrum, has its posterior margin continuous with that of the cotyle,
and slopes forward at 35 degrees relative to the vertical. Also unique
is a broad, flat area of featureless bone on the lateral face of the
arch; the accessory infraparapophyseal and postzygapophyseal laminae
which meet in a V; and the asymmetric neural canal, small and round
posteriorly but large and teardrop-shaped anteriorly, bounded by
arched supporting laminae. The specimen cannot be referred to any
known sauropod genus, and clearly represents a new genus and possibly
a new `family'. Other sauropod remains from the Hastings Beds Group
represent basal Titanosauriformes, Titanosauria and Diplodocidae; X.
proneneukos may bring to four the number of sauropod `families'
represented in this unit. Sauropods may in general have been much less
morphologically conservative than is usually assumed. Since
neurocentral fusion is complete in R2095, it is probably from a mature
or nearly mature animal. Nevertheless, size comparisons of R2095 with
corresponding vertebrae in the Brachiosaurus brancai holotype HMN SII
and Diplodocus carnegii holotype CM 84 suggest a rather small
sauropod: perhaps 15 m long and 7600 kg in mass if built like a
brachiosaurid, or 20 m and 2800 kg if built like a diplodocid.&quot;&quot;&quot;@en;
    dcterms:subject
&lt;http://id.loc.gov/authorities/sh85038094#concept&gt;,
&lt;http://id.loc.gov/authorities/sh85117730#concept&gt;,
&lt;http://id.loc.gov/authorities/sh85097127#concept&gt;;
    dcterms:isPartOf &lt;_:journal1&gt;;
    bibo:volume &quot;50&quot;^^xsd:integer;
    bibo:issue &quot;6&quot;^^xsd:integer;
    bibo:numPages &quot;18&quot;^^xsd:integer;
    bibo:pages &quot;1547-1564&quot;;
    bibo:pageStart &quot;1547&quot;^^xsd:integer;
    bibo:pageEnd &quot;1564&quot;^^xsd:integer;
    dcterms:issued &quot;2007-11&quot;^^xsd:date;
    dcterms:language &lt;http://purl.org/NET/marccodes/languages/eng#lang&gt;;
    bibo:authorList ( &lt;_:author1&gt; &lt;_:author2&gt; );
    bibo:doi &quot;10.1111/j.1475-4983.2007.00728.x&quot;.

&lt;_:journal1&gt;
    rdf:type bibo:Journal;
    dcterms:title &quot;Palaeontology&quot;;
    bibo:issn &quot;0031-0239&quot;;
    foaf:homepage
&lt;http://www3.interscience.wiley.com/journal/118531917/home?CRETRY=1=0 &lt;http://www3.interscience.wiley.com/journal/118531917/home?CRETRY=1&amp;SRETRY=0&gt; &gt;;
    dcterms:publisher &lt;_:publisher1&gt;.

&lt;_:publisher1&gt;
    rdf:type foaf:Organization;
    foaf:name &quot;Blackwell Publishing&quot;;
    foaf:homepage &lt;http://www.blackwellpublishing.com/&gt;;
    dcterms:isPartOf &lt;_:publisher2&gt;.
&lt;_:publisher2&gt;
    rdf:type foaf:Organization;
    foaf:name &quot;Wiley-Blackwell&quot;;
    foaf:homepage &lt;http://www.wiley.com/WileyCDA/Brand/id-35.html&gt;;
    dcterms:isPartOf &lt;_:publisher3&gt;.
&lt;_:publisher3&gt;
    rdf:type foaf:Organization;
    foaf:name &quot;John Wiley &amp; Sons, Inc.&quot;;
    foaf:name &quot;Wiley&quot;;
    foaf:homepage &lt;http://www.wiley.com/WileyCDA/&gt;.

&lt;_:author1&gt;
    rdf:type foaf:Person;
    foaf:name &quot;Michael Taylor&quot;;
    foaf:givenName &quot;Michael&quot;;
    foaf:familyName &quot;Taylor&quot;;
    foaf:homepage &lt;http://miketaylor.org.uk/&gt;;
    foaf:depiction
&lt;http://www.miketaylor.org.uk/dino/xeno/images/photos/DINO_4.jpeg&gt;;
    foaf:topic_interest &lt;http://dbpedia.org/resource/Paleontology&gt;,
&lt;http://id.loc.gov/authorities/sh85066163#concept&gt;;
    foaf:made &lt;_:article1&gt;.

&lt;_:author2&gt;
    rdf:type foaf:Person;
    foaf:name &quot;Darren Naish&quot;;
    foaf:givenName &quot;Darren&quot;;
    foaf:familyName &quot;Naish&quot;;
    foaf:homepage &lt;http://scienceblogs.com/tetrapodzoology/&gt;;
    foaf:depiction
&lt;http://scienceblogs.com/tetrapodzoology/Naish_profile_70_px.jpg&gt;;
    foaf:topic_interest &lt;http://dbpedia.org/resource/Tetrapod&gt;,
&lt;http://dbpedia.org/resource/Paleontology&gt;;
    foaf:made &lt;_:article1&gt;.
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-04</dc:date>
</item>
<item>
<title>Library Futures</title>
<link>http://kennison.name/work/notes/#%5B%5BLibrary%20Futures%5D%5D</link>
<description>!!! Libraries as viewed from the Administration Building
http://www.libraryjournal.com/article/CA6726948.html

What are the most likely Outcomes? 
* Within five years, libraries will focus exclusively on electronic resources
* Academic computing and libraries will merge.
* Librarians who do not produce will be reassigned or fired.
* The library will only house materials that are actively used.
* Libraries will shrink, in both collection size and staffing, and funding will be redirected from libraries to more critical and productive areas of the university.

Possibly non of these!</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-05-04</dc:date>
</item>
<item>
<title>Learning Mangement Systems</title>
<link>http://kennison.name/work/notes/#%5B%5BLearning%20Mangement%20Systems%5D%5D</link>
<description>http://www.educause.edu/EDUCAUSE+Quarterly/EDUCAUSEQuarterlyMagazineVolum/EnvisioningthePostLMSEraTheOpe/199389</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-23</dc:date>
</item>
<item>
<title>URLs for items in an application</title>
<link>http://kennison.name/work/notes/#%5B%5BURLs%20for%20items%20in%20an%20application%5D%5D</link>
<description>1. url for the item itself
2. url for the web page that displays the item
3 url for what the item is about</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-23</dc:date>
</item>
<item>
<title>Conversation</title>
<link>http://kennison.name/work/notes/#Conversation</link>
<description>Cataloguers: We want something better than MARC.

LoC: Okay, did you have anything specific in mind?

Cataloguers: Not really, just.. you know, better.

LoC: Okay, here you go &lt;produces MODS&gt;

Cataloguers: No, no, that's not good enough.  &lt;insert reason du jour&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-20</dc:date>
</item>
<item>
<title>What Metadata do you need</title>
<link>http://kennison.name/work/notes/#%5B%5BWhat%20Metadata%20do%20you%20need%5D%5D</link>
<description>You need to get information into the &quot;records&quot; about stuff that 
1. isrelevant to the container, and 
2. relevant to its contents, and 
3. relevant to its surroundings (the context and task of the reader)</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-20</dc:date>
</item>
<item>
<title>Buckland and the Catalog</title>
<link>http://kennison.name/work/notes/#%5B%5BBuckland%20and%20the%20Catalog%5D%5D</link>
<description>The classic definition of the purpose of a library catalog is that of C. A. Cutter, who stated that the &quot;objects&quot; of a catalog were:

To enable a person to find a book of which either
* the author  )
* the title       ) is known
* the subject )
* To show what the library has
** by a given author
**on a given subject
**in a given kind of literature [poetry, drama, fiction].
*To assist in the choice of a work
**as to its edition (bibliographically)
**as to its character (literary or topical) (Endnote 5).</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-20</dc:date>
</item>
<item>
<title>Metadata Elsewhere</title>
<link>http://kennison.name/work/notes/#%5B%5BMetadata%20Elsewhere%5D%5D</link>
<description>The Maryland Specs look like they are doable but I have to wait and see. 

[[UMDM|http://www.lib.umd.edu/dcr/publications/taglibrary/umdm.html]]
[[UMAM|http://www.lib.umd.edu/dcr/publications/taglibrary/umam.html]]
[[UVA|http://www.lib.virginia.edu/digital/metadata/]]
[[Getty|http://www.getty.edu/research/conducting_research/standards/intrometadata/crosswalks.html]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-16</dc:date>
</item>
<item>
<title>Digital Reading</title>
<link>http://kennison.name/work/notes/#%5B%5BDigital%20Reading%5D%5D</link>
<description>[[from Black Plastic Glasses|http://www.blackplasticglasses.com/2010/03/23/digital-reading/#more-445]]

  Digital learning is not pedagogic reading, but rather pedagogic reading is only part of what digital learning can offer. Digital learning can provide continuous assessment, remediation, advanced learning tools, integrated reference and multimedia.

  For example, imagine a digital algebra textbook that opens with an adaptive assessment tool that determines how much prior knowledge and skills a student brings to the work. If the student is weak in certain areas, remediation can be delivered before the algebra work is started. If she is highly proficient, she could be delivered a sped up curriculum allowing her to get ahead and advance more quickly.

In this way digital learning opens up huge and fundamental challenges to the entire learning establishment  --  from the schools through the textbook publishers. Current systems of classroom management are mightily challenged by 2 or 3 sets of student paces  --  imagine all 50 students in a classroom progressing at their own pace.  And where our methods of teaching are challenged so too is the publishing world. No textbook publisher can drop its enormous investment in legacy print programs and invest the ungodly amounts it would take to build systems and platforms to deliver true digital learning.

  So the fate of pedagogic reading rests not so much on the success of devices or platforms that students will buy into, but more in the ability of the educational ecosphere to adapt the systems of teaching and textbooks to the potential that digital learning holds. This isn't to say there won't be successful endeavors taking linear textbook content and adapting them to digital  --  there will be plenty of success for platforms and products such as the iPad and the eDGe.  However, their level of success will be limited to the commercial viability of digital pedagogic reading  --  not the true potential that digital learning holds.</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-14</dc:date>
</item>
<item>
<title>What is librarianship</title>
<link>http://kennison.name/work/notes/#%5B%5BWhat%20is%20librarianship%5D%5D</link>
<description>[[Notes from Fytton Roland 1998|http://www.bodley.ox.ac.uk/icsu/rowlandppr.htm]]

books are for the teaching library, journals for the research library

!!! Library Roles
The traditional roles of the librarian in the era of print can be defined as follows.

* Collection development and acquisition: to select and purchase material - printed journals, abstracts and indexes, monographs, etc.
* Cataloguing and classification: to organise and provide access to information - physically and via lists and catalogues.
* Circulation: to reserve materials for and lend materials to users, and recover materials from them.
* Reference work: to advise library users and to provide and facilitate quick and easy access to information.
* Preservation, conservation and archiving: to archive, preserve and conserve information in perpetuit.</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-11</dc:date>
</item>
<item>
<title>Build or Buy</title>
<link>http://kennison.name/work/notes/#%5B%5BBuild%20or%20Buy%5D%5D</link>
<description>Decades of trial, error, and egghead analysis have yielded a consensus conclusion: Buy when you need to automate commodity business processes; build when you're dealing with the core processes that differentiate your company.</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-10</dc:date>
</item>
<item>
<title>TK Finding Aid</title>
<link>http://kennison.name/work/notes/#%5B%5BTK%20Finding%20Aid%5D%5D</link>
<description>Layed out in tables (can we not do that?)
*head
*body
**main
*** header
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-09</dc:date>
</item>
<item>
<title>How do I do the CAO Counts</title>
<link>http://kennison.name/work/notes/#%5B%5BHow%20do%20I%20do%20the%20CAO%20Counts%5D%5D</link>
<description>With cron I just update the xml file using xmlstarlet</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-04-06</dc:date>
</item>
<item>
<title>Library Mission</title>
<link>http://kennison.name/work/notes/#%5B%5BLibrary%20Mission%5D%5D</link>
<description>Collect and perserve or disseminate?</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-31</dc:date>
</item>
<item>
<title>Data Structures</title>
<link>http://kennison.name/work/notes/#%5B%5BData%20Structures%5D%5D</link>
<description>&quot;Becoming an expert in data structures is... not of much value if the thoughts you want to express are all muddled&quot;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-31</dc:date>
</item>
<item>
<title>OAI Harvester</title>
<link>http://kennison.name/work/notes/#%5B%5BOAI%20Harvester%5D%5D</link>
<description>from ben o'steen

from oaipmhscraper import OAIPMHScraper
oaipmh = OAIPMHScraper(&quot;dspace&quot;,&quot;http://library.wcsu.edu/dspace-oai/request&quot;, &quot;oai:library.wcsu.edu:&quot;)
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-25</dc:date>
</item>
<item>
<title>Vocabulary Links</title>
<link>http://kennison.name/work/notes/#%5B%5BVocabulary%20Links%5D%5D</link>
<description>http://digital2.library.unt.edu/vocabularies/agent-qualifiers/
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-23</dc:date>
</item>
<item>
<title>Semantic Web Topic</title>
<link>http://kennison.name/work/notes/#%5B%5BSemantic%20Web%20Topic%5D%5D</link>
<description>This is good for every element but it is also good as an example of a topic map.

http://semanticweb.org/wiki/Semantic_Web_Topic_Hierarchy

Find out about &quot;semantic web for research commnunities&quot; SWRC ontology

http://sindice.com/

http://semanticweb.org/wiki/Ontology</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-19</dc:date>
</item>
<item>
<title>Stuff That I need to get back</title>
<link>http://kennison.name/work/notes/#%5B%5BStuff%20That%20I%20need%20to%20get%20back%5D%5D</link>
<description>bibutils package</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-16</dc:date>
</item>
<item>
<title>Dublin Core Description Set Statement</title>
<link>http://kennison.name/work/notes/#%5B%5BDublin%20Core%20Description%20Set%20Statement%5D%5D</link>
<description>!!!What are the possible elements of a statement?

Statement (
    ResourceURI ( &lt;http://dublincore.org/pages/home&gt; )

      PropertyURI ( dcterms:subject )
      ValueClassURI ( &lt;http://example.org/terms/Concept&gt; )
      VocabularyEncodingSchemeURI ( &lt;http://purl.org/dc/terms/LCSH&gt; )
      ValueString ( &quot;Metadata&quot; )
      ValueString ( &quot;Métadonnées&quot; )
    )

LiteralValueString ( &quot;DCMI Home Page&quot;
        Language ( en-GB )

SyntaxEncodingSchemeURI ( &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral&gt; )

ValueRef - ValueID</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-08</dc:date>
</item>
<item>
<title>Scholars Site from Harvard</title>
<link>http://kennison.name/work/notes/#%5B%5BScholars%20Site%20from%20Harvard%5D%5D</link>
<description>[[Uses Drupal (but could be done with Zope)|http://scholar.harvard.edu/bsimmons/home]] What we should be doing for the Provost</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-05</dc:date>
</item>
<item>
<title>Industrial learning objects</title>
<link>http://kennison.name/work/notes/#%5B%5BIndustrial%20learning%20objects%5D%5D</link>
<description>LMS have been used primarily to provide access to &quot;courseware&quot; (e.g. syllabi, lecture notes, supporting slides, reading lists and links). The reasons behind this are, on the one hand, the reluctance of teachers to experiment with organising and moderating Web-based learning processes and, on the other hand, the lack of capability of LMS to handle didactically more complex learning designs.&quot;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-04</dc:date>
</item>
<item>
<title>Dublin Core Description Sets</title>
<link>http://kennison.name/work/notes/#%5B%5BDublin%20Core%20Description%20Sets%5D%5D</link>
<description>[[Reference|http://dublincore.org/documents/dc-ds-xml/]]

According to the &quot;Description Set Model&quot; of the DCMI Abstract Model [ABSTRACT-MODEL], a DC description set has the following structure:

* a description set is made up of one or more descriptions
* a description is made up of
** zero or one described resource URI and
** one or more statements
* a statement is made up of
** exactly one property URI and
** exactly one value surrogate
* a value surrogate is either a literal value surrogate or a non-literal value surrogate
** a literal value surrogate is made up of
** exactly one value string
* a non-literal value surrogate is made up of
** zero or one value URIs
** zero or one vocabulary encoding scheme URIs
** zero or more value strings
* a value string is either a plain value string or a typed value string
** a plain value string may be associated with a value string language
** a typed value string is associated with a syntax encoding scheme URI
** a non-literal value may be described by another description</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-04</dc:date>
</item>
<item>
<title>Higher Edcuation</title>
<link>http://kennison.name/work/notes/#%5B%5BHigher%20Edcuation%5D%5D</link>
<description>!!!University Perspective
* Visibility of degree programmes and research output of HE  institutions 
* Curriculum design 
* Recruitment and retention of students 
* Efficiency of accreditation 
* Collaboration across departments and institutions through workflows 
* Integration of knowledge capital, cross-curricular initiatives 
* Transparency of data held by educational institutions 

!!! Other Issues
* Course creation and delivery workflows 
* Group formation for learning and teaching activities 
* Critical thinking and argumentation support 
*Personal and group knowledge space construction 
* Assessment, certification and addressing of plagiarism

!!!Collaborative activities 
* Team Building 
* Computer Mediated Discussion 
* Computer Mediated Experimentation 
* Role Play 
* Content Creation 
* Content Annotation 
* Simulation 
* Experiments 

!!!T&amp;L activities involving the individual 
* Information Gathering 
* Information Handling 
* Information Publishing 
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-04</dc:date>
</item>
<item>
<title>Dspace Collections</title>
<link>http://kennison.name/work/notes/#%5B%5BDspace%20Collections%5D%5D</link>
<description>  2 | JUPR: Journal of Undergraduate Psychological Research, Vol. 1
             9 | JUPR: Journal of Undergraduate Psychological Research, Vol. 2
            18 | The American Hatter
            23 | 1955 Danbury Flood Scrapbook
            24 | David B. Stevens Cyphering Book
            25 | Miscellaneous Photographs
             3 | Immigration &amp; Memory 
            27 | Pinkerton Detective Agency Danbury Fires Investigation Collection
            28 | Ruth Alice Haas Papers 
            29 | Danbury Map (Westchester County), ca. 1860
            30 | 1880s Danbury Bird's Eye Map
            26 | George B. Hawley Collection
            21 | 1856 Map of Danbury
            42 | 1840s? Map of Danbury
            43 | WCSU Centennial Interview Segments
            44 | Stambler, Leah
            46 | Veterans of Korea Oral Histories  
            47 | Veterans of Iraq War II Oral Histories  
            39 | Veterans of World War II Oral Histories
            67 | 1858 Map of Danbury
            69 | Plan of Danbury, 1867
            38 | Cohort 1
            70 | Stetson Hat, ca. 1910s
            71 | Charles D. Garlick Letters
            72 | Miscellaneous
            73 | Furman selections from: New American Choral Music--Vol. III
            74 | Furman Compilation
            75 | 78 rpm Audiodisc
            76 | Choir Festival 1967, 1967
            78 | June Goodman Papers
            77 | I Have a Dream - Microfilmed Scores
            79 | Marjorie Echols Local Artists Collection, MS 035
            82 | Stevens, Brian
            83 | 2008 History and Non-Western Cultures
            81 | Senior Writing Theses (2008-2)
            20 |  Senior Writing Theses (2007-1)
            45 | Senior Writing Theses (2008-1)
            84 | Walter Gordon Merritt Papers (MS 014)
            16 | Henry L. Pike Locomotive Sketchbook, 1866
            86 | Warner World War II Interviews
            91 | Senior Writing Theses (2009-1)
            88 | JUPR: Journal of Undergraduate Psychological Research, Vol. 3
            89 | Howard Barlow Collection
            90 | 2008 Social Sciences Journal
            92 | Masters Thesis
            12 | WCSU Photographs and Miscellanea, RG 008
            93 | Senior Writing Theses (2009-2)
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-03-03</dc:date>
</item>
<item>
<title>Content Types</title>
<link>http://kennison.name/work/notes/#%5B%5BContent%20Types%5D%5D</link>
<description>* Book 
* Book Item 
* Book Review 
* Conference Item 
* Conference Paper 
* Conference Poster 
* Journal Article 
* Journal Item 
* News Item 
* Patent 
* Report 
* Scholarly Text 
* Submitted Journal Article                                                  
* Thesis or Dissertation 
* Working or Discussion Paper </description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-25</dc:date>
</item>
<item>
<title>Peer Institutions</title>
<link>http://kennison.name/work/notes/#%5B%5BPeer%20Institutions%5D%5D</link>
<description>• Clarion University (PA) 
• Framingham State College (MA) 
• Indiana University at South Bend (IN) 
• Rutgers University at Camden (NJ) 
• Shippensburg University (PA) 
• SUNY-Fredonia (NY) 
• SUNY-Plattsburgh (NY) 
• Univeristy of Michigan at Flint (MI) 
• University of Wisconsin at River Falls (WI) 
• Worcester State College (MA) </description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-24</dc:date>
</item>
<item>
<title>Dublin Core with Qualifiers</title>
<link>http://kennison.name/work/notes/#%5B%5BDublin%20Core%20with%20Qualifiers%5D%5D</link>
<description>&lt;html&gt;
    &lt;h2&gt;Dublin Core with Qualifiers&lt;/h2&gt;
            &lt;table width=&quot;100%&quot; border=&quot;2&quot; cellspacing=&quot;0&quot; cellpadding=&quot;3&quot; bgcolor=&quot;#FFFFFF&quot;&gt;
              &lt;tr bgcolor=&quot;#CCCCCC&quot;&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Element&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Qualifier &lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&lt;b&gt;&lt;font color=&quot;#000000&quot;&gt;Scope Note&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; height=&quot;83&quot; valign=&quot;top&quot;&gt;contributor&lt;/td&gt;
                &lt;td width=&quot;24%&quot; height=&quot;83&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; height=&quot;83&quot; valign=&quot;top&quot;&gt; A person, organization,
                  or service responsible for the content of the resource. Catch-all
                  for unspecified contributors &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; height=&quot;46&quot; valign=&quot;top&quot;&gt;contributor &lt;/td&gt;
                &lt;td width=&quot;24%&quot; height=&quot;46&quot; valign=&quot;top&quot;&gt;advisor&lt;/td&gt;
                &lt;td width=&quot;50%&quot; height=&quot;46&quot; valign=&quot;top&quot;&gt;Use primarily for thesis
                  advisor&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;contributor&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;author&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;contributor&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;editor&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;contributor&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;illustrator&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;contributor&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;other&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;coverage&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;spatial&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Spatial characteristics of content&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;coverage &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;temporal&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt; Temporal characteristics of content&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;creator&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Do not use; for harvested metadata only &lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Use qualified form if possible&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;accessioned&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Date DSpace takes possession of
                  item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;available&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Date or date range item became available
                  to the public&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;copyright&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Date of copyright&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;created&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Date of creation or manufacture
                  of intellectual content if different from date.issued&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;issued&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Date of publication or distribution.&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;date&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;submitted&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Recommend for theses and dissertations&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; height=&quot;117&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; height=&quot;117&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; height=&quot;117&quot; valign=&quot;top&quot;&gt;Catch-all for unambiguous
                  identifiers not defined by qualified form; use identifier.other
                  for a known identifier common to a local collection instead
                  of unqualified form&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;citation&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt; Bibliographic citation for works
                  that have been published as a part of a larger work, e.g. journal
                  articles, book chapters&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;govdoc&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt; Government document number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isbn&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;International Standard Book Number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;issn&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;International Standard Serial Number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;sici&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Serial Item and Contribution Identifier&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;ismn&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;International Standard Music Number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;other&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;A known identifier type common to
                  a local collection&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;identifier&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;uri&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Uniform Resource Identifier&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Catch-all for any description not
                  defined by qualifiers&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;abstract&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Abstract or summary&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;provenance&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;The history of custody of the item
                  since its creation, including any changes successive custodians
                  made to it&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;sponsorship&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt; Information about sponsoring agencies,
                  individuals, or contractual arrangements for the item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;statementofresponsibility&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;To preserve statement of responsibility
                  from MARC records&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;tableofcontents&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;A table of contents for this item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; height=&quot;2&quot; valign=&quot;top&quot;&gt;description&lt;/td&gt;
                &lt;td width=&quot;24%&quot; height=&quot;2&quot; valign=&quot;top&quot;&gt;uri&lt;/td&gt;
                &lt;td width=&quot;50%&quot; height=&quot;2&quot; valign=&quot;top&quot;&gt;Uniform Resource Identifier
                  pointing to description of this item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;format&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Catch-all for any format information
                  not defined by qualifiers&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;format&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;extent&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Size or duration&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;format&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;medium&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Physical medium&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;format&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;mimetype&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Registered MIME type identifiers&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;language&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Catch-all for non-ISO forms of the
                  language of the item, accommodating harvested values&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;language&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;iso&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Current ISO standard for language
                  of intellectual content, including country codes (e.g., &amp;quot;en_US&amp;quot;)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;publisher&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt; Entity responsible for publication,
                  distribution, or imprint&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Catch-all for references to other
                  related items&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isformatof&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References additional physical form&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;ispartof&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References physically or logically
                  containing item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;ispartofseries&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Series name and number within that
                  series, if available&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;haspart&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References physically or logically
                  contained item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isversionof&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References earlier version&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;hasversion&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References later version&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isbasedon&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References source.&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isreferencedby&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Pointed to by referenced resource&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;requires&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Reference resource is required to
                  support function, delivery, or coherence of item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation &lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;replaces&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References preceeding item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;isreplacedby&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References succeeding item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;relation&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;uri&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References Uniform Resource Identifier
                  for related item&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;rights&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Terms governing use and reproduction&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;rights&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;uri&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;References terms governing use and
                  reproduction&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;source&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Do not use; for harvested metadata only&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;source&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;uri&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Do not use; for harvested metadata only&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Uncontrolled index term&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;classification&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Catch-all for value from local classification
                  system; global classification systems will receive specific
                  qualifier.&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;ddc&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Dewey Decimal Classification Number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;lcc&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Library of Congress Classification
                  Number&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;lcsh&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Library of Congress Subject Heading&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;mesh&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Medical Subject Headings&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;subject&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;other&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Local controlled vocabulary&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;title&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Title statement/title proper&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;title&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;alternative&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Varying (or substitute) form of
                  title proper appearing in item, e.g., abbreviation or translation&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td width=&quot;26%&quot; valign=&quot;top&quot;&gt;type&lt;/td&gt;
                &lt;td width=&quot;24%&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/td&gt;
                &lt;td width=&quot;50%&quot; valign=&quot;top&quot;&gt;Nature or genre of content&lt;/td&gt;
              &lt;/tr&gt;
            &lt;/table&gt;
&lt;/html&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-19</dc:date>
</item>
<item>
<title>Basic Energy Science</title>
<link>http://kennison.name/work/notes/#%5B%5BBasic%20Energy%20Science%5D%5D</link>
<description>http://www.sc.doe.gov/bes/BES.html

http://www.eere.energy.gov/

http://ec.europa.eu/research/index.cfm?lg=en&amp;pg=who&amp;cat=a&amp;tips=on
Can you do anything with this?</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-18</dc:date>
</item>
<item>
<title>Higher Educations and Students</title>
<link>http://kennison.name/work/notes/#%5B%5BHigher%20Educations%20and%20Students%5D%5D</link>
<description>  Well part of this relates to the key skills we expect our students to have/acquire. These include learning to learn (how to learn), teamwork (working in a group), self-management (managing time and tasks), communication (presentation, written), ICT (using computers/technology) and numeracy (working with numbers). These then feed in to intellectual skills (analysis, synthesis, evaluation, problem solving) and are assessed through essays, exams, MCQs, presentations, reports, projects, groupwork etc.</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-12</dc:date>
</item>
<item>
<title>Maki Script</title>
<link>http://kennison.name/work/notes/#%5B%5BMaki%20Script%5D%5D</link>
<description>{{{
BUFFERSIZE = 1024 * 512  # for file uploads

def saveFile(self, name, targetFilename):
        &quot;&quot;&quot;If &quot;name&quot; corresponds to an uploaded file, then open a
        file on the server specified by the fully-qualified filename
        &quot;targetFilename&quot; and write the file.
        Return 1 if file &quot;name&quot; existed and was saved successfully.
        Return 0 if no file existed for &quot;name&quot;.
        An exception may be raised if file I/O fails.
        &quot;&quot;&quot;
        if(not self.get(name)): return 0
        upfile = self.getFile(name)
        if(upfile):
            targetfile = open(targetFilename, &quot;w&quot;)
            try:
                while(1):
                    buffer = upfile.read(BUFFERSIZE)
                    if(buffer): targetfile.write(buffer)
                    else: break
            finally:
                targetfile.close()
                upfile.close()
            return 1
        else:
            return 0

}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-11</dc:date>
</item>
<item>
<title>Zope Script</title>
<link>http://kennison.name/work/notes/#%5B%5BZope%20Script%5D%5D</link>
<description>{{{
if context.REQUEST.has_key ( 'username' ) and context.REQUEST.has_key ( 'password' ) and context.REQUEST.has_key ( 'email' ):
   if hasattr ( container.users, context.REQUEST.username ):
      return 'Sorry, someone else has registered with your username.'
   password = container.hash ( context.REQUEST.password )
   container.users.manage_addProduct [ 'OFSP' ].manage_addFile ( context.REQUEST.username )
   userObject = getattr ( container.users,context.REQUEST.username )
   userObject.manage_addProperty ( 'password', password, 'string' )
   userObject.manage_addProperty ( 'email', context.REQUEST.email, 'string' )
   return 'Your account has been created.'
return False
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-11</dc:date>
</item>
<item>
<title>Error Messages from Zope Products Zope-2.12</title>
<link>http://kennison.name/work/notes/#%5B%5BError%20Messages%20from%20Zope%20Products%20Zope-2.12%5D%5D</link>
<description>http://svn.zope.org/Zope/tags/2.11.3/doc/ZOPE3.txt?rev=99667&amp;view=auto

{{{
/srv/Zope/Products/CookieCrumbler/CookieCrumbler.py:27: DeprecationWarning: 
HTMLFile is deprecated. import from App.special_dtml instead from Globals import HTMLFile

/srv/Zope/Products/CookieCrumbler/CookieCrumbler.py:374: DeprecationWarning: 
InitializeClass is deprecated. import from App.class_init instead Globals.InitializeClass(CookieCrumbler)

/srv/Zope/Products/Formulator/__init__.py:1: DeprecationWarning: 
DTMLFile is deprecated. import from App.special_dtml instead from Globals import DTMLFile

/srv/Zope/Products/Formulator/Form.py:4: DeprecationWarning: 
Persistent is deprecated. import from Persistence instead from Globals import DTMLFile, Persistent

/srv/Zope/Products/Formulator/FieldRegistry.py:3: DeprecationWarning: 
ImageFile is deprecated. import from App.ImageFile instead from Globals import ImageFile

/srv/Zope/lib/python/Products.OAICore-2.3-py2.6.egg/Products/OAICore/core.py:7: DeprecationWarning: 
PersistentMapping is deprecated. import from Persistence instead from Globals import PersistentMapping

/srv/Zope/Products/ParsedXML/DOM/Core.py:59: DeprecationWarning: 
The sre module is deprecated, please import re. import sre  # Note that Python 1.5.2's re module chokes.  Require sre.

/srv/Zope/Products/ZWiki/__init__.py:12: DeprecationWarning: 
package_home is deprecated. import from App.Common instead from Globals import package_home, MessageDialog, ImageFile

/srv/Zope/Products/ZWiki/__init__.py:12: DeprecationWarning: 
MessageDialog is deprecated. import from App.Dialogs instead from Globals import package_home, MessageDialog, ImageFile

/srv/Zope/Products/ZWiki/OutlineSupport.py:54: DeprecationWarning: 
REPLACEABLE is deprecated. import from OFS.ObjectManager instead from Globals import InitializeClass, REPLACEABLE

/srv/Zope/Products/ParsedXML/DOM/Core.py:59: DeprecationWarning: 
The sre module is deprecated, please import re.

/opt/Zope2-2.12.3/src/OFS/Application.py:697: DeprecationWarning: 
__init__.py of Products.ExternalFile has a long deprecated 'methods' attribute. 'methods' support might be removed in Zope 2.11 or a later feature release. Please use the 'legacy' argument of registerClass instead if the methods are constructors. Or refactor the product using adapters.

2010-02-09 17:04:14 WARNING 
Init Class Products.ZopeXMLMethods.DTDValidateMethod.DTDValidateMethod has a security declaration for nonexistent method 'dtdValidationResultsString'

2010-02-09 17:04:14 WARNING 
Init Class Products.ZopeXMLMethods.DTDValidateMethod.DTDValidateMethod has a security declaration for nonexistent method 'dtdValidationResultsString'

/srv/Zope/Products/ZopeXMLMethods/CacheManager.py:34: DeprecationWarning: 
HTML is deprecated. import from App.special_dtml instead
  from Globals import MessageDialog, HTML



}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-09</dc:date>
</item>
<item>
<title>MyFormTemplate</title>
<link>http://kennison.name/work/notes/#MyFormTemplate</link>
<description>&lt;html&gt;
&lt;style&gt;
.rolodex table {
border: 0px solid;
background-color:#FFFF99;
}

.rolodex tr, .rolodex td {
border: 0px solid;
}
&lt;/style&gt;
&lt;span class=&quot;rolodex&quot;&gt;
 &lt;table&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Firstname:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=firstname type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
&lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;FirstnameAgain:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=firstname type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Lastname:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=lastname type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Email:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=email type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Phone:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=phone type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Address:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;textarea name=address rows=&quot;2&quot; cols=&quot;40&quot; style=&quot;width:100%&quot; &gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;City:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=city type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;State/Province:&lt;/b&gt;&lt;/td&gt;
 &lt;td&gt;&lt;input name=state type=text size=&quot;5&quot; /&gt;&lt;/td&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b style=&quot;width:100%&quot; &gt;ZIP/Postal Code:&lt;/b&gt;&lt;/td&gt;
 &lt;td&gt;&lt;input name=zip type=text size=&quot;5&quot; style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Country:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=country type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td align=&quot;right&quot;&gt;&lt;b&gt;Webpage:&lt;/b&gt;&lt;/td&gt;
 &lt;td colspan=&quot;3&quot;&gt;&lt;input name=webpage type=text style=&quot;width:100%&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
 &lt;tr&gt;
 &lt;td colspan=&quot;4&quot;&gt;&lt;sub&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;/sub&gt;&lt;br&gt;
 &lt;textarea name=notes rows=&quot;4&quot; cols=&quot;40&quot; style=&quot;width:100%&quot; &gt;&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/span&gt;
&lt;/html&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-06</dc:date>
</item>
<item>
<title>MyForm2</title>
<link>http://kennison.name/work/notes/#MyForm2</link>
<description>&lt;&lt;formTiddler MyFormTemplate&gt;&gt;

&lt;test&gt;can you store brackets in here&lt;/test&gt;

&lt;&lt;ziddlyversion&gt;&gt;
&lt;&lt;showData&gt;&gt;

&lt;script label=&quot;Click Here&quot; show&gt;
   var tiddlerName = story.findContainingTiddler(place).id.substr(7);
  t = store.getTiddler(tiddlerName)
  var title = t.title
  var newTitle = t.title
  var newBody = t.text
  var modifier = t.modifier
  var modified = new Date()
  var tags = t.tags
 store.saveTiddler(title, newTitle, newBody, modifier, modified, tags)
&lt;/script&gt;&lt;data&gt;{&quot;firstname&quot;:&quot;Brian&quot;,&quot;lastname&quot;:&quot;Kennison&quot;,&quot;email&quot;:&quot;kennisonb@wcsu.edu&quot;,&quot;phone&quot;:&quot;(203) 835-8847&quot;,&quot;address&quot;:&quot;473 Weekeepeemee Road&quot;,&quot;city&quot;:&quot;Woodbury&quot;,&quot;state&quot;:&quot;CT&quot;,&quot;zip&quot;:&quot;06798&quot;,&quot;country&quot;:&quot;USA&quot;,&quot;webpage&quot;:&quot;http://kennison.name&quot;,&quot;notes&quot;:&quot;Can this be the end!&quot;}&lt;/data&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-03</dc:date>
</item>
<item>
<title>MyForm</title>
<link>http://kennison.name/work/notes/#MyForm</link>
<description>I'm testing this out
&lt;&lt;formTiddler &quot;MyFormTemplate&gt;&gt;
&lt;&lt;showData&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-03</dc:date>
</item>
<item>
<title>Contents</title>
<link>http://kennison.name/work/notes/#Contents</link>
<description>&lt;&lt;tagCloud protected systemConfig excludeSearch excludeLists excludeTimeline&gt;&gt;

{{floatLeft{[[Contents By Creation Date]] }}} {{floatLeft{[[Contents By Title]]}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-03</dc:date>
</item>
<item>
<title>ImportedTiddlers</title>
<link>http://kennison.name/work/notes/#ImportedTiddlers</link>
<description>On February 1, 2010 11:35:30 AM EST, brian imported 1 tiddler from
[[http://kennison.name/notes|http://kennison.name/notes]]:
&lt;&lt;&lt;
#[[Adding Value]] - added
&lt;&lt;&lt;

----
On August 18, 2009 4:36:16 PM EDT, brian imported 1 tiddler from
[[http://kennison.name/notes/|http://kennison.name/notes/]]:
&lt;&lt;&lt;
#[[Recursively chmod directories only]] - added
&lt;&lt;&lt;
</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-01</dc:date>
</item>
<item>
<title>Adding Value</title>
<link>http://kennison.name/work/notes/#%5B%5BAdding%20Value%5D%5D</link>
<description>If you can help someone understand something thats good. Pointing out what they need to understand isn't always helpful. They can't handle what information is coming their way now. But I think this is a little like the &quot;productivity paradox&quot;, you're too busy getting things done to learn how to do things better. </description>
<dc:creator>brian</dc:creator>
<dc:date>2010-02-01</dc:date>
</item>
<item>
<title>WCSU Colors</title>
<link>http://kennison.name/work/notes/#%5B%5BWCSU%20Colors%5D%5D</link>
<description>http://www.colorcombos.com/

00457a Dark Blue
5985a8 Light Blue
a37c5f Brown
f3f3f3 Grey
333333 Dark
fdfdfd different grey</description>
<dc:creator>brian</dc:creator>
<dc:date>2010-01-29</dc:date>
</item>
<item>
<title>FoXML</title>
<link>http://kennison.name/work/notes/#FoXML</link>
<description>{{{
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;!--*******************************************************************************************************************************************--&gt;
&lt;!-- FOXML REFERENCE EXAMPLE OBJECT:  --&gt; &lt;!-- This is an example
of a FOXML encoded digital object as it would appear in the Fedora
persistent storage area. --&gt;
&lt;!--*******************************************************************************************************************************************--&gt;
&lt;!-- The digitalObject root element contains the object PID, which
uniquely identifies the Fedora object  --&gt;
&lt;!--*******************************************************************************************************************************************--&gt;
&lt;foxml:digitalObject xmlns:foxml=&quot;info:fedora/fedora-system:def/foxml#&quot;
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; PID=&quot;demo:999&quot;
xsi:schemaLocation=&quot;info:fedora/fedora-system:def/foxml#
http://www.fedora.info/definitions/1/0/foxml1-0.xsd&quot;&gt;
  &lt;!---***************************************************************************************************************************************
    FEDORA OBJECT PROPERTIES : non-versionable properties of the
    digital object At ingest, the object MUST have these attributes:
	- type:(required) The object is classified as one of three
	primitive Fedora object types,
	  namely FedoraObject, FedoraBDefObject, or FedoraBMechObject
	- state:(required) The object state can be Active (A),
	Inactive (I), or Deleted (D)

    And at ingest, it may have these optional attributes:
	- label: (optional) The object is given a user-defined
	descriptive label.  - contentModel: (optional) The object
	is given user-defined content model identifier
				 (to classify the pattern of
				 datastreams and disseminations
				 found in this object).

    The system will automatically assign these attributes (they
    should not be put in the ingest files, but they appear in stored
    files):
	- createdDate: (system assigned) The object creation date
	is assigned to the millisecond.  - lastModifiedDate:(system
	assigned) The object creation date is assigned to the
	millisecond.
******************************************************************************************************************************************--&gt;
  &lt;foxml:objectProperties&gt;
    &lt;foxml:property NAME=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&quot;
    VALUE=&quot;FedoraObject&quot;/&gt; &lt;foxml:property
    NAME=&quot;info:fedora/fedora-system:def/model#state&quot; VALUE=&quot;A&quot;/&gt;
    &lt;foxml:property NAME=&quot;info:fedora/fedora-system:def/model#label&quot;
    VALUE=&quot;FOXML Reference Example&quot;/&gt; &lt;foxml:property
    NAME=&quot;info:fedora/fedora-system:def/model#contentModel&quot;
    VALUE=&quot;TEST_IMAGE&quot;/&gt; &lt;foxml:property
    NAME=&quot;info:fedora/fedora-system:def/model#createdDate&quot;
    VALUE=&quot;2004-12-10T00:21:58.000Z&quot;/&gt; &lt;foxml:property
    NAME=&quot;info:fedora/fedora-system:def/view#lastModifiedDate&quot;
    VALUE=&quot;2005-01-20T22:46:07.506Z&quot;/&gt; &lt;!-- EXTENSIBLE OBJECT
    PROPERTIES --&gt; &lt;!-- These are optional, user-defined object
    properties, for example an OAI identifier for the object. --&gt;
    &lt;!-- Fedora will store these, but it will not recognize them
    or operate on them. --&gt; &lt;foxml:extproperty
    NAME=&quot;http://www.openarchives.org/OAI/1.1/oai-identifier.xsd&quot;
    VALUE=&quot;oai:cornell.edu:demo:999&quot;/&gt;
  &lt;/foxml:objectProperties&gt;
  &lt;!--*******************************************************************************************************************************************
	FEDORA RESERVED DATASTREAM: DUBLIN CORE METADATA FOR OBJECT:
	This datastream is always recognized by Fedora by the
	reserved datastream identifier of &quot;DC&quot;.
	 Fedora will automatically index the DC datastream as part
	 of the default repository catalog search,
	and also as part of the new RDF-based Resource Index.
    *********************************************************************************************************************************************--&gt;
  &lt;foxml:datastream ID=&quot;DC&quot; STATE=&quot;A&quot; CONTROL_GROUP=&quot;X&quot; VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;DC.0&quot; MIMETYPE=&quot;text/xml&quot;
    LABEL=&quot;Default Dublin Core Record&quot; SIZE=&quot;488&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:xmlContent&gt;
	&lt;oai_dc:dc
	xmlns:oai_dc=&quot;http://www.openarchives.org/OAI/2.0/oai_dc/&quot;
	xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;&gt;
	  &lt;dc:title&gt;FOXML Reference Object&lt;/dc:title&gt; &lt;dc:creator&gt;Sandy
	  Payette&lt;/dc:creator&gt; &lt;dc:subject&gt;Fedora
	  documentation&lt;/dc:subject&gt; &lt;dc:description&gt;FOXML showing
	  how a digital object is encoded for persistent storage
	  in a Fedora repository&lt;/dc:description&gt; &lt;dc:publisher&gt;Cornell
	  CIS&lt;/dc:publisher&gt; &lt;dc:identifier&gt;demo:999&lt;/dc:identifier&gt;
	&lt;/oai_dc:dc&gt;
      &lt;/foxml:xmlContent&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	FEDORA RESERVED DATASTREAM: OBJECT-TO-OBJECT RELATIONSHIPS
	This datastream is always recognized by Fedora by the
	reserved datastream identifier of &quot;RELS-EXT&quot;.  The RELS-EXT
	datastream is used to make assertions about the relationship
	of this digital object to other digital objects. Assertions
	are made in RDF.  Relationships can be asserted from the
	default Fedora relationship namespace or other namespaces.
	Fedora will automatically index this datastream as part of
	the new RDF-based Resource Index.  The RELS-EXT datastream
	is validated by Fedora.
    *************************************************************************************************************************************************
	See the RDF Schema for the default Fedora relationships at:
	http://www.fedora.info/definitions/1/0/fedora-rels.rdfs See
	the &quot;Fedora Relationship Metadata Guide&quot; in the system
	documentation for specific constraints and syntax rules.
    *************************************************************************************************************************************************
	Below, the RDF &lt;Description&gt; element declares that the
	asserted relationships are about &quot;this&quot; digital object since
	its rdf:about attribute points to the Fedora URI for this
	object.  (Fedora URIs are PIDs prepended with &quot;info:fedora/&quot;).
	See system documentation for more information about Fedora
	URIs.  Below, there are two relationships from the fedora
	namespace to indicate that this object is a member of two
	different collections. For each relationship assertion, the
	rdf:resource attribute must contain the URI of another
	Fedora object that this object is related to.  For example,
	there exists a Fedora object known as
	&quot;info:fedora/test:collection1&quot; that represents a specific
	collection.
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream ID=&quot;RELS-EXT&quot; CONTROL_GROUP=&quot;X&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;RELS-EXT.0&quot; MIMETYPE=&quot;text/xml&quot;
    LABEL=&quot;Fedora Object-to-Object Relationship Metadata&quot; SIZE=&quot;752&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:xmlContent&gt;
	&lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
	xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot;
	xmlns:fedora=&quot;info:fedora/fedora-system:def/relations-external#&quot;
	xmlns:myns=&quot;http://www.nsdl.org/ontologies/relationships#&quot;
	xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
	xmlns:oai_dc=&quot;http://www.openarchives.org/OAI/2.0/oai_dc/&quot;&gt;
	  &lt;rdf:Description rdf:about=&quot;info:fedora/demo:999&quot;&gt;
	    &lt;!-- This object (&quot;info:fedora/demo:999&quot;) is a member
	    of Collection #1 (info:fedora/test:collection1) --&gt;
	    &lt;fedora:isMemberOfCollection
	    rdf:resource=&quot;info:fedora/test:collection1&quot;/&gt; &lt;!-- ...
	    and it is also a member of Collection #2
	    (info:fedora/test:collection2) --&gt; &lt;fedora:isMemberOfCollection
	    rdf:resource=&quot;info:fedora/test:collection2&quot;/&gt; &lt;!-- You
	    can also make your own relationship assertions in your
	    own namespace...--&gt; &lt;myns:isPartOf
	    rdf:resource=&quot;info:fedora/mystuff:100&quot;/&gt;
	  &lt;/rdf:Description&gt;
	&lt;/rdf:RDF&gt;
      &lt;/foxml:xmlContent&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--**************************************************************************************************************************************
	DATASTREAMS  (notice the four different kinds of datastreams
	supported by Fedora)
    *******************************************************************************************************************************************
	Notice that Fedora will automatically keep track of different
	versions of a datastream.  Datastreams are versioned whenever
	modifications are made via API-M

	At ingest, each datastream MUST have following attributes:
	    - ID                    (required) a unique identifier
	    for the datastream within this object.  User can provide
	    it,
				or if not provided, the system will
				assign one.
	    - STATE         (Required) The datastream state can be
	    Active (A), Inactive (I), or Deleted (D) - CONTROL_GROUP
	    (required) indicates the kind of datastream, either
	    Externally Referenced Content (E),
				Redirected Content (R), Managed
				Content (M) or Inline XML (X)
	    - MIME              (required per version) user-assigned
	    MIME type of the bytestream referred to by the
				contentLocation URL

	And at ingest, it may have these optional attributes:
	    - LABEL         (optional per version) user-assigned
	    descriptive label for the datastream - ALT_IDS
	    (optional per version) user-assigned set of alternative
	    identifiers for the datastream,
				with the identifiers separated by
				spaces
	    - FORMAT_URI        (optional per version) user-assigned
	    URI used to identify the media type of the bytestream
				referred to     by the contentLocation
				URL (more specific than MIME type)
	    - SIZE              (optional per version) size of the
	    bytestream referred to by the contentLocation.
				User can provide it, or Fedora can
				be configured to calculate it.

	The system will assign these attributes (they should not
	be put in the ingest file):
	    - VERSIONABLE       (system-assigned)  a true/false
	    indication as to whether the datastream should
				be versioned by the Fedora repository
				service.  In Fedora 2.0, all
				datastreams are set to VERSIONABLE=&quot;true&quot;.
				In a future release, selective
				datastream versioning will be enabled
				and this attribute can then be
				user-assigned.
	    - CREATED           (system-assigned per version)
	    creation date for the datastream version, to the
	    millisecond
    *******************************************************************************************************************************************
	DATASTREAM (E): This datastream demonstrates &quot;Externally
	Referenced Content&quot; (see attribute CONTROL_GROUP=E).  The
	contentLocation element points to content on a external web
	server (meaning the content is not under the custodianship
	of  the Fedora repository).  When repository access requests
	are made for this datastream, the content bytestream will
	be mediated by the Fedora repository service, meaning that
	Fedora will get the content and return it to the client.
	The client will not be aware of the true URL of the content.
	Notice that the datastream
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream CONTROL_GROUP=&quot;E&quot; ID=&quot;IMAGE&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;IMAGE.0&quot; MIMETYPE=&quot;image/x-mrsid-image&quot;
    LABEL=&quot;Image of Pavilion III, University of Virginia&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:contentLocation
      REF=&quot;http://iris.lib.virginia.edu/mrsid/mrsid_images/iva/archerp01.sid&quot;
      TYPE=&quot;URL&quot;/&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	DATASTREAM (R): This datastream demonstrates &quot;Redirected
	Referenced Content&quot;  (see attribute CONTROL_GROUP=R).  Like
	the E datastream above, the contentLocation points to content
	on a external web server.  However, in this case, when
	repository access requests are made for this datastream,
	the repository will redirect the client to this URL, and
	will not mediate the streaming of the content.  This is
	particularly useful when the content is a streaming media
	file, or for complex, animated web pages where streaming
	through the Fedora server may cause lossiness.  (The .jpg
	image is not a great motivating example of the &quot;R&quot; datastream,
	but it just used in this example.)
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream CONTROL_GROUP=&quot;R&quot; ID=&quot;DRAWING-BEST&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;DRAWING-BEST.0&quot; MIMETYPE=&quot;image/jpeg&quot;
    LABEL=&quot;Architectural Drawing Pavilion III (veryhigh res)&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:contentLocation
      REF=&quot;http://icarus.lib.virginia.edu/images/iva/archerd05high.jpg&quot;
      TYPE=&quot;URL&quot;/&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	DATASTREAM (M): This datastream demonstrates &quot;Managed
	Content&quot;  (see attribute CONTROL_GROUP=M).  This is an
	example of a datastream whose content bytestream is under
	the direct custodianship of the Fedora repository.  Notice
	that the contentLocation points to an internal identifier
	instead of a URL.  The content is actually stored in the
	repository's persistent storage area.  When Fedora access
	requests are made for this datastream, the repository service
	retrieves the content from its own persistent storage area.

	It is worth noting that prior to iingest into the repository,
	this datastream was specified with a contentLocation URL
	pointing to an external source.  You can see this contentLocation
	URLs commented out below.  Since this datastream is marked
	as CONTROL_GROUP=M, the repository service must store the
	bytestream inside the repository.  Therefore, when this
	object was ingested,  the Fedora repository service called
	back to this URL to obtain the content for local storage.
	Once the content was stored,  the orignial URL was replaced
	with the Fedora internal identifier depicted below.  See
	the &quot;Fedora Ingest and Export Guide&quot; in the system documentation
	for more details on encoding ingest files.
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream CONTROL_GROUP=&quot;M&quot; ID=&quot;DRAWING-BETTER&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;DRAWING-BETTER.0&quot; MIMETYPE=&quot;image/jpeg&quot;
    LABEL=&quot;Architectural Drawing Pavilion III (med res)&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:contentLocation
      REF=&quot;http://icarus.lib.virginia.edu/images/iva/archerd05medium1.jpg&quot;
      TYPE=&quot;URL&quot;/&gt; &lt;!-- &lt;foxml:contentLocation
      REF=&quot;demo:999+DRAWING-BETTER+DRAWING-BETTER.0&quot; TYPE=&quot;INTERNAL_ID&quot;/&gt;
      --&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	DATASTREAM (M): (with multiple versions) This datastream
	also demonstrates &quot;Managed Content&quot;  (see attribute
	CONTROL_GROUP=M).

	Notice in the example below the datastream has two versions.
	In the second version the datastream label was changed and
	an alternate identifier was added.   Fedora access requests
	can be given date-time stamps to retrieve the appropriate
	version.
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream CONTROL_GROUP=&quot;M&quot; ID=&quot;DRAWING-ICON&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;DRAWING-ICON.0&quot; MIMETYPE=&quot;image/jpeg&quot;
    LABEL=&quot;Architectural Drawing Pavilion III&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:contentLocation
      REF=&quot;http://icarus.lib.virginia.edu/images/iva/archerd05small.jpg&quot;
      TYPE=&quot;URL&quot;/&gt;
    &lt;/foxml:datastreamVersion&gt; &lt;foxml:datastreamVersion ID=&quot;DRAWING-ICON.1&quot;
    MIMETYPE=&quot;image/jpeg&quot; LABEL=&quot;Architectural Drawing Pavilion III
    (thumbnail icon)&quot; ALT_IDS=&quot;doi:10.1234/123&quot;
    CREATED=&quot;2005-01-20T22:46:07.428Z&quot;&gt;
      &lt;foxml:contentLocation
      REF=&quot;http://icarus.lib.virginia.edu/images/iva/archerd05small.jpg&quot;
      TYPE=&quot;URL&quot;/&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	DATASTREAM (X): This datastream demonstrates &quot;Inlined XML
	Content&quot; (see attribute CONTROL_GROUP=X).  This type of
	datastream is used when it is desirable to have XML content
	&quot;inlined&quot; within the digital object XML wrapper itself.
	Notice that there is no contentLocation element pointing
	to a content URL;  instead there is a block of XML wrapped
	by the &lt;xmlContent&gt; element.
    **********************************************************************************************************************************************--&gt;
  &lt;foxml:datastream ID=&quot;UVATECH&quot; STATE=&quot;A&quot; CONTROL_GROUP=&quot;X&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;UVATECH.0&quot; MIMETYPE=&quot;text/xml&quot;
    FORMAT_URI=&quot;info:fedora/format:xml:uvalibadmin&quot; LABEL=&quot;UVA
    Technical Metadata Record&quot; SIZE=&quot;556&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:xmlContent&gt;
	&lt;uvalibadmin:admin
	xmlns:uvalibadmin=&quot;http://virginia.lib.edu/uvalibadmin:tech&quot;&gt;
	  &lt;uvalibadmin:technical&gt;
	    &lt;uvalibadmin:format&gt;image/jpeg&lt;/uvalibadmin:format&gt;
	    &lt;uvalibadmin:compression&gt;LZW&lt;/uvalibadmin:compression&gt;
	    &lt;uvalibadmin:bitDepth BITS=&quot;&quot;/&gt; &lt;uvalibadmin:colorSpace/&gt;
	    &lt;uvalibadmin:colorProfile CPLOCAT=&quot;&quot; CPFILE=&quot;&quot;/&gt;
	    &lt;uvalibadmin:resolution&gt;600&lt;/uvalibadmin:resolution&gt;
	  &lt;/uvalibadmin:technical&gt;
	&lt;/uvalibadmin:admin&gt;
      &lt;/foxml:xmlContent&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	EXPERIMENTAL DATASTREAM: FEDORA RESERVED DATASTREAM FOR
	INNER OBJECT RELATIONSHIP METADATA This datastream demonstrates
	datastream-to-datastream relationships in this object,
	expressed as RDF.  The sample datastream shows how to assert
	that the &quot;UVATECH&quot; datastream is metadata about the &quot;DRAWING&quot;
	datastream. Unlike the RELS-EXT datastream, the RDF is NOT
	validated by Fedora (since RELS-INT is still experimental).
	Clients can provide a RELS-INT datastream if they want one,
	but the Fedora repository will not operate on it at this
	time.
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream ID=&quot;RELS-INT&quot; STATE=&quot;A&quot; CONTROL_GROUP=&quot;X&quot;
  VERSIONABLE=&quot;false&quot;&gt;
    &lt;foxml:datastreamVersion ID=&quot;RELS-INT.0&quot; MIMETYPE=&quot;text/xml&quot;
    LABEL=&quot;Fedora Internal Object Relationship Metadata&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:xmlContent&gt;
	&lt;!-- Note:  it is up to the object owner to ensure that
	these relationships are maintained as the object changes.--&gt;
	&lt;!-- Fedora does not ensure referential integrity of RELS-INT
	assertions at this time. --&gt; &lt;rdf:RDF
	xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
	xmlns:relsint=&quot;info:fedora/fedora-system:def/relations-internal#&quot;
	xmlns:rdfs=&quot;http://www.w3.org/2000/01/rdf-schema#&quot;&gt;
	  &lt;relsint:Datastream rdf:about=&quot;info:fedora/demo:999/UVATECH&quot;&gt;
	    &lt;relsint:adminMetadataFor
	    rdf:resource=&quot;info:fedora/demo:999/DRAWING&quot;/&gt;
	  &lt;/relsint:Datastream&gt;
	&lt;/rdf:RDF&gt;
      &lt;/foxml:xmlContent&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!--*******************************************************************************************************************************************
	SYSTEM-CONTROLLED AUDIT TRAIL DATASTREAM The Fedora repository
	system will automatically create an audit trail of changes
	made to the digital object.  An audit record will be added
	for each API-M operation that changes the object.
	 The system creates and updates this special audit trail
	 datastream and prevents any client from modifying it.
    *******************************************************************************************************************************************--&gt;
  &lt;foxml:datastream CONTROL_GROUP=&quot;X&quot; ID=&quot;AUDIT&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;false&quot;&gt;
    &lt;foxml:datastreamVersion CREATED=&quot;2004-12-10T00:21:58.000Z&quot;
    FORMAT_URI=&quot;info:fedora/fedora-system:format/xml.fedora.audit&quot;
    ID=&quot;AUDIT.0&quot; LABEL=&quot;Fedora Object Audit Trail&quot; MIMETYPE=&quot;text/xml&quot;&gt;
      &lt;foxml:xmlContent&gt;
	&lt;audit:auditTrail
	xmlns:audit=&quot;info:fedora/fedora-system:def/audit#&quot;&gt;
	  &lt;audit:record ID=&quot;AUDREC1&quot;&gt;&lt;audit:process type=&quot;Fedora
	  API-M&quot;/&gt;&lt;audit:action&gt;modifyDatastreamByReference&lt;/audit:action&gt;&lt;audit:componentID&gt;DRAWING-ICON&lt;/audit:componentID&gt;&lt;audit:responsibility&gt;fedoraAdmin&lt;/audit:responsibility&gt;&lt;audit:date&gt;2005-01-20T22:46:07.428Z&lt;/audit:date&gt;&lt;audit:justification&gt;changed
	  the datastream label and added an alternate
	  identifier.&lt;/audit:justification&gt;/&amp;gt;
		    &lt;/audit:record&gt;
	&lt;/audit:auditTrail&gt;
      &lt;/foxml:xmlContent&gt;
    &lt;/foxml:datastreamVersion&gt;
  &lt;/foxml:datastream&gt;
  &lt;!---******************************************************************************************************************************************
	CUSTOM DISSEMINATORS: Note that the Fedora repository system
	provides a default disseminator for each object.  The default
	disseminator is dynamically associated with every object,
	thus it does not appear explicitly in the FOXML encoding
	of the object.  The &lt;disseminator&gt; element is used to
	specifying special-purpose disseminators that extend the
	object's default access points.      See the Fedora system
	documenation for a full discussion of Disseminators and
	their utility.

	At ingest, each Disseminator MUST have following attributes:
	    - ID                        (required) a unique identifier
	    for the disseminatoar within this object.  User can
	    provide it,
				    or if not provided, the system
				    will assign one.
	    - BDEF_CONTRACT_PID (required) - STATE             (required)
	    The datastream state can be Active (A), Inactive (I),
	    or Deleted (D) - BMECH_SERVICE_PID     (required per
	    version)

	And, at ingest, it must have a serviceInputMap element to
	define one or more datastreams inputs to the BMECH service:
	    - DATASTREAM_ID (required)  the unique identifier of a
	    datastream that should be an input parm to the service
	    - KEY               (required)  the input parm name
	    that the datastream should be associated with.
				(The name of this key is defined
				in the object named by the
				BMECH_SERVICE_PID.)
	    - LABEL         (optional) a label to describe the
	    nature of the input binding - ORDER         (optional)
	    if there are multiple datastream inputs defined, and
	    they have an intrinsic order,
				then this contains an integer
				indicating sequence number.

	The system will assign these attributes (they should not
	be put in the ingest file):
	    - VERSIONABLE       (system-assigned)  true/false
	    indication as to whether the datastream should be
	    versioned by
				the Fedora repository service.  In
				Fedora 2.0, all datastreams are set
				to VERSIONABLE=&quot;true&quot;.  In a future
				release, selective datastream
				versioning will be enabled and this
				attribute can then be user-assigned.
	    - CREATED           (system-assigned per version)
	    creation date for the datastream version, to the
	    millisecond
	*******************************************************************************************************************************************

	DISSEMINATOR 1: Provides &quot;virtual representations&quot; of this
	object.  A virtual representation of an object is a view
	of the object that is created by a service operation.  In
	this case, different renditions of the IMAGE datastream of
	this object can be obtained at runtime by via the operations
	defined by this disseminator.

	Note that on the disseminator, the BDEF_CONTRACT_PID attribute
	is used to identify the desired set of extended operations
	to produce virtual representations of this object at runtime
	(requested via API-A and API-A-LITE).  These operations
	have abstract definitions that are stored in a special
	Fedora digital object (in this case a FedoraBDefObject known
	as demo:8). So, the set of extended operations that produce
	&quot;virtual representations&quot; get associated with this digital
	object in a by-reference manner.  Naming a BDEF_CONTRACT_PID
	on a disseminator is analogous to identifying a particular
	abstract service interface to be associated with this digital
	object.

	The BMECH_SERVICE_PID attribute (on the disseminatorVersion
	element) is used to identify a specific service that runs
	the abstract operations of the BDEF_CONTRACT_PID.  The
	service binding information is stored in a special Fedora
	digital object (in this case     a FedoraBMechObject know
	as demo:9).  The service binding information is specified
	using the Web Service Description Language (WSDL), which
	the Fedora repository services uses to figure out how to
	dispatch     requests to an external web service that will
	produce the dynamic views of this digital object.  The
	BMECH_SERVICE_PID is kind of like identifying a particular
	implementation of an abstract interface.

	Note that the BMECH_SERVICE_PID attribute is at the
	disseminatorVersion level.  This means you could modify a
	disseminator to point to a different service implementation
	(i.e., represented by a different BMECH_SERVICE_PID), and
	this information would be captured in a new version of this
	disseminator.  Both versions would implement the same BDEF
	contract.  A change to the BMECH_SERVICE_PID essentially
	means that the repository will use a &quot;new&quot; implementation
	of the service that implements the BDEF contract.  Below,
	a new disseminator version is depicted below, but it is
	commented out since the  new service implementation is
	hypothetical (&quot;i.e., newservice:100&quot;).
	 *******************************************************************************************************************************************--&gt;
  &lt;foxml:disseminator ID=&quot;DISS1&quot; BDEF_CONTRACT_PID=&quot;demo:8&quot; STATE=&quot;A&quot;
  VERSIONABLE=&quot;true&quot;&gt;
    &lt;foxml:disseminatorVersion ID=&quot;DISS1.0&quot; BMECH_SERVICE_PID=&quot;demo:9&quot;
    LABEL=&quot;Disseminator to provide dynamic views of a MRSID image&quot;
    CREATED=&quot;2004-12-10T00:21:58.000Z&quot;&gt;
      &lt;foxml:serviceInputMap&gt;
	&lt;foxml:datastreamBinding DATASTREAM_ID=&quot;IMAGE&quot; KEY=&quot;MRSID&quot;
	LABEL=&quot;The IMAGE datastream serves as input to the MRSID
	service&quot; ORDER=&quot;0&quot;/&gt;
      &lt;/foxml:serviceInputMap&gt;
    &lt;/foxml:disseminatorVersion&gt; &lt;!--
	&lt;foxml:disseminatorVersion ID=&quot;DISS1.1&quot;
	BMECH_SERVICE_PID=&quot;newservice:100&quot; LABEL=&quot;Disseminator with
	a better MRSID service&quot; CREATED=&quot;2005-01-20T22:46:08.001Z&quot;&gt;
	    &lt;foxml:serviceInputMap&gt;
		&lt;foxml:datastreamBinding DATASTREAM_ID=&quot;IMAGE&quot;
		KEY=&quot;MRSID&quot; LABEL=&quot;The IMAGE datastream serves as
		input to the MRSID service&quot; ORDER=&quot;0&quot;/&gt;
	    &lt;/foxml:serviceInputMap&gt;
	&lt;/foxml:disseminatorVersion&gt; --&gt;
  &lt;/foxml:disseminator&gt;
&lt;/foxml:digitalObject&gt;
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-12-18</dc:date>
</item>
<item>
<title>RDF Example</title>
<link>http://kennison.name/work/notes/#%5B%5BRDF%20Example%5D%5D</link>
<description>{{{
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;rdf:RDF
   xml:base=&quot;http://chroniclingamerica.loc.gov/lccn/sn83030214/1909-12-26/ed-1/seq-13&quot;
   xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
   xmlns:dcterms=&quot;http://purl.org/dc/terms/&quot;
   xmlns:exif=&quot;http://www.w3.org/2003/12/exif/ns#&quot;
   xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot;
   xmlns:ndnp=&quot;http://chroniclingamerica.loc.gov/terms#&quot;
   xmlns:ore=&quot;http://www.openarchives.org/ore/terms/&quot;
   xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;
&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.rdf&quot;&gt;
    &lt;dcterms:created rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#dateTime&quot;&gt;2009-07-10T12:19:24-04:00&lt;/dcterms:created&gt;
    &lt;rdf:type rdf:resource=&quot;http://www.openarchives.org/ore/terms/ResourceMap&quot;/&gt;
    &lt;dcterms:creator rdf:resource=&quot;http://chroniclingamerica.loc.gov/awardees/dlc#awardee&quot;/&gt;
    &lt;ore:describes rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13#page&quot;/&gt;
    &lt;dcterms:modified rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#dateTime&quot;&gt;2009-07-10T12:19:24-04:00&lt;/dcterms:modified&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.pdf&quot;&gt;
    &lt;dc:format&gt;application/pdf&lt;/dc:format&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13#page&quot;&gt;
    &lt;rdf:type rdf:resource=&quot;http://chroniclingamerica.loc.gov/terms#Page&quot;/&gt;
    &lt;foaf:depiction rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/thumbnail.jpg&quot;/&gt;
    &lt;ndnp:sequence rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#long&quot;&gt;13&lt;/ndnp:sequence&gt;
    &lt;ore:isDescribedBy rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.rdf&quot;/&gt;
    &lt;ore:isAggregatedBy rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1#issue&quot;/&gt;
    &lt;dcterms:issued rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#date&quot;&gt;1909-12-26&lt;/dcterms:issued&gt;
    &lt;ore:aggregates rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/ocr.xml&quot;/&gt;
    &lt;ore:aggregates rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/thumbnail.jpg&quot;/&gt;
    &lt;ore:aggregates rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/ocr.txt&quot;/&gt;
    &lt;ore:aggregates rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.jp2&quot;/&gt;
    &lt;ore:aggregates rdf:resource=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.pdf&quot;/&gt;
    &lt;dcterms:title&gt;New-York tribune. - 1909-12-26 - 13&lt;/dcterms:title&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/ocr.txt&quot;&gt;
    &lt;dc:format&gt;text/plain&lt;/dc:format&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13.jp2&quot;&gt;
    &lt;exif:height rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#long&quot;&gt;6347&lt;/exif:height&gt;
    &lt;dc:format&gt;image/jp2&lt;/dc:format&gt;
    &lt;exif:width rdf:datatype=&quot;http://www.w3.org/2001/XMLSchema#long&quot;&gt;4190&lt;/exif:width&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/ocr.xml&quot;&gt;
    &lt;dc:format&gt;text/xml&lt;/dc:format&gt;
  &lt;/rdf:Description&gt;
  &lt;rdf:Description rdf:about=&quot;/lccn/sn83030214/1909-12-26/ed-1/seq-13/thumbnail.jpg&quot;&gt;
    &lt;dc:format&gt;image/jpeg&lt;/dc:format&gt;
  &lt;/rdf:Description&gt;
&lt;/rdf:RDF&gt;
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-12-03</dc:date>
</item>
<item>
<title>Mets Record From Eprints</title>
<link>http://kennison.name/work/notes/#%5B%5BMets%20Record%20From%20Eprints%5D%5D</link>
<description>{{{
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;mets:mets xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; 
	xmlns:mods=&quot;http://www.loc.gov/mods/v3&quot; 
	xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; 
	xmlns:mets=&quot;http://www.loc.gov/METS/&quot; 
	OBJID=&quot;oai:eprints.rclis.org:15680&quot; 
	LABEL=&quot;Eprints Item&quot; 
	xsi:schemaLocation=&quot;http://www.loc.gov/METS/ http://www.loc.gov/standards/mets/mets.xsd http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd&quot;&gt;
  &lt;mets:metsHdr CREATEDATA=&quot;2009-02-14T12:20:01Z&quot;&gt;
    &lt;mets:agent TYPE=&quot;ORGANIZATION&quot; ROLE=&quot;CUSTODIAN&quot;&gt;
      &lt;mets:name&gt;E-LIS&lt;/mets:name&gt;
    &lt;/mets:agent&gt;
  &lt;/mets:metsHdr&gt;
  &lt;mets:dmdSec ID=&quot;DMD_oai:eprints.rclis.org:15680_mods&quot;&gt;
    &lt;mets:mdWrap MDTYPE=&quot;mods&quot;&gt;
      &lt;mets:xmlData&gt;
        &lt;mods:titleInfo&gt;
          &lt;mods:title&gt;Interview on Open Access with Dr. Stevan Harnad&lt;/mods:title&gt;
        &lt;/mods:titleInfo&gt;
        &lt;mods:name type=&quot;personal&quot;&gt;
          &lt;mods:namePart type=&quot;given&quot;&gt;Stephen Michael&lt;/mods:namePart&gt;
          &lt;mods:namePart type=&quot;family&quot;&gt;Kellat&lt;/mods:namePart&gt;
          &lt;mods:role&gt;
            &lt;mods:roleTerm type=&quot;text&quot;&gt;author&lt;/mods:roleTerm&gt;
          &lt;/mods:role&gt;
        &lt;/mods:name&gt;
        &lt;mods:name type=&quot;personal&quot;&gt;
          &lt;mods:namePart type=&quot;given&quot;&gt;Stevan&lt;/mods:namePart&gt;
          &lt;mods:namePart type=&quot;family&quot;&gt;Harnad&lt;/mods:namePart&gt;
          &lt;mods:role&gt;
            &lt;mods:roleTerm type=&quot;text&quot;&gt;author&lt;/mods:roleTerm&gt;
          &lt;/mods:role&gt;
        &lt;/mods:name&gt;
        &lt;mods:abstract&gt;In light of the recent Conyers bill that would remove the NIH mandate on Open Access, LISTen (LISNews.org) talked to Dr. Harnad about Open Access so that librarians may learn more about it.&lt;/mods:abstract&gt;
        &lt;mods:classification authority=&quot;lcc&quot;&gt;EB. Printing, electronic publishing, broadcasting.&lt;/mods:classification&gt;
        &lt;mods:classification authority=&quot;lcc&quot;&gt;BD. Information society.&lt;/mods:classification&gt;
        &lt;mods:originInfo&gt;
          &lt;mods:dateIssued encoding=&quot;iso8061&quot;&gt;2009-02-09&lt;/mods:dateIssued&gt;
        &lt;/mods:originInfo&gt;
        &lt;mods:genre&gt;Other&lt;/mods:genre&gt;
      &lt;/mets:xmlData&gt;
    &lt;/mets:mdWrap&gt;
  &lt;/mets:dmdSec&gt;
  &lt;mets:amdSec ID=&quot;TMD_oai:eprints.rclis.org:15680&quot;&gt;
    &lt;mets:rightsMD ID=&quot;rights_oai:eprints.rclis.org:15680_mods&quot;&gt;
      &lt;mets:mdWrap MDTYPE=&quot;mods&quot;&gt;
        &lt;mets:xmlData&gt;
          &lt;mods:useAndReproduction&gt;
            &lt;p&gt;&lt;strong&gt;For work being deposited by its own author:&lt;/strong&gt; 
In self-archiving this collection of files and associated bibliographic 
metadata, I grant E-LIS the right to store 
them and to make them permanently available publicly for free on-line. 
I declare that this material is my own intellectual property and I 
understand that E-LIS does not assume any 
responsibility if there is any breach of copyright in distributing these 
files or metadata. (All authors are urged to prominently assert their 
copyright on the title page of their work.)&lt;/p&gt;
            &lt;p&gt;&lt;strong&gt;For work being deposited by someone other than its 
author:&lt;/strong&gt; I hereby declare that the collection of files and 
associated bibliographic metadata that I am archiving at 
E-LIS) is in the public domain. If this is 
not the case, I accept full responsibility for any breach of copyright 
that distributing these files or metadata may entail.&lt;/p&gt;
            &lt;p&gt;Clicking on the deposit button indicates your agreement to these 
terms.&lt;/p&gt;
          &lt;/mods:useAndReproduction&gt;
        &lt;/mets:xmlData&gt;
      &lt;/mets:mdWrap&gt;
    &lt;/mets:rightsMD&gt;
  &lt;/mets:amdSec&gt;
  &lt;mets:fileSec&gt;
    &lt;mets:fileGrp USE=&quot;reference&quot;&gt;
      &lt;mets:file SIZE=&quot;21408105&quot; ID=&quot;oai:eprints.rclis.org:15680_11144_1&quot; MIMETYPE=&quot;application/octet-stream&quot; OWNERID=&quot;http://eprints.rclis.org/15680/1/Stevan_Harnad_Interview.mp3&quot;&gt;
        &lt;mets:FLocat LOCTYPE=&quot;URL&quot; xlink:href=&quot;http://eprints.rclis.org/15680/1/Stevan_Harnad_Interview.mp3&quot; xlink:type=&quot;simple&quot;/&gt;
      &lt;/mets:file&gt;
    &lt;/mets:fileGrp&gt;
  &lt;/mets:fileSec&gt;
  &lt;mets:structMap&gt;
    &lt;mets:div DMDID=&quot;DMD_oai:eprints.rclis.org:15680_mods&quot; AMDID=&quot;TMD_oai:eprints.rclis.org:15680&quot;&gt;
      &lt;mets:fptr FILEID=&quot;oai:eprints.rclis.org:15680_11144_1&quot;/&gt;
    &lt;/mets:div&gt;
  &lt;/mets:structMap&gt;
&lt;/mets:mets&gt;
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-12-01</dc:date>
</item>
<item>
<title>eScidDoc</title>
<link>http://kennison.name/work/notes/#eScidDoc</link>
<description>Cyber infrastructure
[img[/filestore/uploads/repositories/escidoc.png]]

!!!Architecture
* The Basic Layer implements a set of resource handlers. 
* Each resource handler is responsible for handling of a specific type of a resource. Each resource handler service implements the  four basic operations create, retrieve, update, and delete (CRUD). Additionally, filter methods and task-oriented methods (e.g., for changing the status of an object within a content repository) are provided.
* The most  important resources are Items, Containers, and Contexts. 

Items are basic objects that represent content entities within the repository, e.g. articles, 
images, or videos. 

Containers are aggregation objects that allow for arbitrary 
grouping of items and other containers. Whereas the general layout of Item 
and Container resources remains the same, they can be further specialized by 
content types. Content types impose constraints on objects (e.g. allowed 
metadata schemas, required metadata, allowed file types and mime types for 
the binary content and specify a set of content type specific properties).

Contexts represent units of administration for a set of Items and Containers. They 
are associated with an institutional body responsible for the management of 
the content.  


[[API's and Schemas|https://escidoc.org/JSPWiki/en/ObjectManager#section-ObjectManager-Item]]

[[Metadata Schemas|http://metadata.mpdl.mpg.de/escidoc/metadata/schemas/0.1/]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-21</dc:date>
</item>
<item>
<title>Dubline Core as Linked Data</title>
<link>http://kennison.name/work/notes/#%5B%5BDubline%20Core%20as%20Linked%20Data%5D%5D</link>
<description>Andy Powell has posted a [[piece|http://efoundations.typepad.com/efoundations/2009/10/a-couple-of-useful-dublin-core-rdf-usage-patterns.html#comments]] about how simple dublin core has progressed. It not as simple as it was but it is still not all that hard. The question is how to you produce it, using a stripped down model inside and then generating a full blown mode for exchange. You just have to make sure you have all the information there from the start. </description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-16</dc:date>
</item>
<item>
<title>ColorPalette</title>
<link>http://kennison.name/work/notes/#ColorPalette</link>
<description>Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-16</dc:date>
</item>
<item>
<title>Micro Curation</title>
<link>http://kennison.name/work/notes/#%5B%5BMicro%20Curation%5D%5D</link>
<description>[[Presentation at Stanford by the CDL people|/filestore/uploads/repositories/pasig-2009-pods.pdf</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-10</dc:date>
</item>
<item>
<title>OKI Interface Definitions</title>
<link>http://kennison.name/work/notes/#%5B%5BOKI%20Interface%20Definitions%5D%5D</link>
<description>[img[filestore/uploads/webservices/repository_OSID_interfaceDiagram.png]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-01</dc:date>
</item>
<item>
<title>Repository Exchange</title>
<link>http://kennison.name/work/notes/#%5B%5BRepository%20Exchange%5D%5D</link>
<description>[img[filestore/uploads/webservices/repositories_exchange.png]]

from Madison Digital Image Database </description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-01</dc:date>
</item>
<item>
<title>Australian Mets Records</title>
<link>http://kennison.name/work/notes/#%5B%5BAustralian%20Mets%20Records%5D%5D</link>
<description>[img[filestore/uploads/datamodels/pearce-annex1fig.png]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-01</dc:date>
</item>
<item>
<title>Data Modeling Notation Summary</title>
<link>http://kennison.name/work/notes/#%5B%5BData%20Modeling%20Notation%20Summary%5D%5D</link>
<description>[img[filestore/uploads/datamodels/dm101NotationSummary.gif]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-11-01</dc:date>
</item>
<item>
<title>EAD DAO</title>
<link>http://kennison.name/work/notes/#%5B%5BEAD%20DAO%5D%5D</link>
<description>Link to a collection: &lt;dao role=&quot;http://oac.cdlib.org/arcrole/link/search/&quot; href=&quot;http://content.cdlib.org/search?style=oac-img&amp;amp;sort=title&amp;amp;relation=ark:/13030/kt9290094p&quot; title=&quot;Online items&quot;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-10-29</dc:date>
</item>
<item>
<title>ViewTemplate</title>
<link>http://kennison.name/work/notes/#ViewTemplate</link>
<description>&lt;!--{{{--&gt;

&lt;div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references revisions jump fullscreen'&gt;&lt;/div&gt;

&lt;div class='title' macro='view title'&gt;&lt;/div&gt;

&lt;div class='subtitle'&gt;&lt;span macro='view modifier link'&gt;&lt;/span&gt;, &lt;span macro='view modified date [[DD MMM YYYY]]'&gt;&lt;/span&gt; (created &lt;span macro='view created date [[DD MMM YYYY]]'&gt;&lt;/span&gt;) &lt;span macro='view renamedSubTitle'&gt;&lt;/span&gt; &lt;span macro='view historicalSubTitle'&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div class='tagging' macro='tagging'&gt;&lt;/div&gt;

&lt;div class='tagged' macro='tags'&gt;&lt;/div&gt;

&lt;div class='viewer' macro='view text wikified'&gt;&lt;/div&gt;

&lt;div class='tagClear'&gt;&lt;/div&gt;

&lt;!--}}}--&gt;

</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-24</dc:date>
</item>
<item>
<title>Book Quiz</title>
<link>http://kennison.name/work/notes/#%5B%5BBook%20Quiz%5D%5D</link>
<description>&lt;&lt;quiz&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-22</dc:date>
</item>
<item>
<title>LightBox Example</title>
<link>http://kennison.name/work/notes/#%5B%5BLightBox%20Example%5D%5D</link>
<description>!Documentation for TiddlyLightBoxPlugin
''Credits:''
This lightbox implementation is a derivative of Bob Denny's [[DC3.LightBox|http://solo.dc3.com/tw/index.html]] library optimized for a ~TiddlyWiki environment, with an emphasis on ease of use. It also uses some code and ideas from [[LightBox Gone Wild|http://particletree.com/features/lightbox-gone-wild/]] and [[Ibox|http://www.ibegin.com/ibox/]]. For a more feature rich and versatile option, you can't beat the ~DC3 library.


''Concept:''
I needed a light weight lightbox implementation for [[TiddlyThemes|http://tiddlythemes.googlepages.com/index.html]] but none of the existing options fit the bill. The ~DC3 library came closest, so I set out to rewrite it. I believe the result is a quite versatile ~TW plugin. Some of the bells and whistles have been removed though since I find them annoying (animations), and there are some features yet to be implemented, as you can read further on this document. Almost the entire library has been rewritten.


''Installation:''
Copy the TiddlyLightBoxPlugin tiddler to your TW, tag it with systemConfig, save and reload your TW file. You will also need to save [[this|indicator.gif]] 'loading' image to the same folder as your TW. Or you can choose one of many [[here|http://www.ajaxload.info/]]. That's it, you are ready to create some lightboxes!


''Usage:''
There are 3 macros provide to facilitate setting up macros.
1. ''{{{&lt;&lt;imagebox&gt;&gt;}}}''
The imagebox macro is designed to display images in the lightbox. The usage is very easy. Simply create a text or image link to an image using standard TW syntax, and follow it with {{{&lt;&lt;imagebox&gt;&gt;}}}.
Eg: {{{[img[cactus-thumb.jpg]cactus.jpg]]}}}

[img[cactus-thumb.jpg][cactus.jpg]]&lt;&lt;imagebox&gt;&gt;

Let's try a text link: {{{[[click me|triad.jpg]]&lt;&lt;imagebox&gt;&gt;}}}

[[click me|triad.jpg]]&lt;&lt;imagebox&gt;&gt;

This macro also accepts some optional parameters in this order:
2. description text
3. width ( as a number, like 500)
4. height (as a number, like 300)
Also, if width is passed as a word, like &quot;bananas&quot;, then it is treated as a css class and the container for the image is given the class &quot;bananas&quot;.

Let's try one more, with a title and a custom size:
{{{[img[cubicles-thumb.jpg][cubicles.jpg]]&lt;&lt;imagebox 'Office space' 300 300&gt;&gt;}}}

[img[cubicles-thumb.jpg][cubicles.jpg]]&lt;&lt;imagebox 'Office space' 300 300&gt;&gt;

----

2. ''{{{&lt;&lt;divbox&gt;&gt;}}}''
The divbox macro lets you put the html content of any inline div into a lightbox, you just need the id of the div in question. The idea being to create a hidden div using &quot;display:none&quot; and then displaying it on the click of a link/button.
You can create such a div in any tiddler by wrapping it in html tags, but using the MarkupPostBody tiddler might be the better option.

The macro can create the button for you, or you can use an existing element to launch the lightbox. To create a button, pass the label for the button as the first parameter. To use an existing element, pass the first parameter as ' ' and place the macro immediately after the element. Eg: {{{&lt;&lt;tiddlerbox label&gt;&gt; or &lt;&lt;tiddlerbox ''&gt;&gt;}}}

The next parameter is the id of the div to display: {{{&lt;&lt;tiddlerbox label theID&gt;&gt;}}}
These two parameters are a must for the divbox macro. There are also 3 more optional parameters, just like the imagebox macro:
3. description text
4. width ( as a number, like 500) OR className
5. height (as a number, like 300)
As an example, lets display this hidden div which I have written inline:
{{{&lt;html&gt;&lt;div id=&quot;testDiv&quot; style=&quot;display:none;&quot;&gt;&lt;div style=&quot;text-align:center;&quot;&gt; Lightboxes have become very cliche, but they can still be useful!&lt;/div&gt;&lt;/div&gt;&lt;/html&gt;&lt;&lt;divbox &quot;Click to see it&quot; &quot;testDiv&quot; &quot;This is a test div&quot;&gt;&gt;}}}
&lt;html&gt;&lt;div id=&quot;testDiv&quot; style=&quot;display:none;&quot;&gt;&lt;div style=&quot;text-align:center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; Lightboxes have become very cliche, but they can still be useful!&lt;/div&gt;&lt;/div&gt;&lt;/html&gt;&lt;&lt;divbox &quot;Click to see it&quot; &quot;testDiv&quot; &quot;This is a test div&quot;&gt;&gt;

----

3.''{{{&lt;&lt;tiddlerbox&gt;&gt;}}}''
This macro lets you put the wikified contents of any tiddler into a lightbox! So you can put your MainMenu and Sidebar into a lightbox for example, and have handy links to bring them up whenever you need them. (like in say the hovering menu provided by HoverMenuPlugin). It's also very useful for when you are working on something and want to refer to some reference material without having to loose your place in your work.
The parameters for this macro are the same as for the divbox macro, except instead of the id for the div, you use the title of the tiddler.
Let's give it a go:
{{{&lt;&lt;tiddlerbox &quot;menu&quot; &quot;MainMenu&quot; &quot;Thats my main menu, and the links work!&quot;&gt;&gt;}}}
&lt;&lt;tiddlerbox &quot;menu&quot; &quot;MainMenu&quot; &quot;Thats my main menu, and the links work!&quot;&gt;&gt;
or
{{{&lt;&lt;tiddlerbox &quot;menu&quot; &quot;Sidebar&quot; &quot;Thats my sidebar!&quot; 300 500&gt;&gt;}}}
&lt;&lt;tiddlerbox &quot;sidebar&quot; &quot;Sidebar&quot; &quot;Thats my sidebar!&quot; 300 500&gt;&gt;

-----

''CSS Styling:''
The css rules for the lightbox and its contents are in the TiddlyLightBoxStyles folder. You can edit them to your liking, but I recommend not changing the rules for ~lightBoxOverlay and lightboxprogress. But don't worry, if you break anything, just delete the tiddler. It's a shadow tiddler!

I'll post a diagram showing the structure of the lightbox later, to faciliate css styling.

----

''Features comparison with ~DC3Lightbox:''
Missing:
* IE transparency filters
* ability to create own lightbox containers
*call back functions on closing lightbox

Added:
*macros for TW usage
*optimized for TW environment
*ability to display Tiddlers in lightboxes
*preloading of images, to avoid layout problems
*removed need for manually creating styles tiddler and adding html markup.
*fixed bug with regards to selects displaying over the lightbox!

----

''To Do''
* fixed positioning of lightbox so it scrolls with the page!
*possible light weight animation for images
* optional preloading of images
* resizing of images to fit the viewport when larger.
* optional automatic lightboxing of all links to images.
*grabbing description from image alt text.
* improved support for inline html content.
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-10</dc:date>
</item>
<item>
<title>Inline Slider Example</title>
<link>http://kennison.name/work/notes/#%5B%5BInline%20Slider%20Example%5D%5D</link>
<description>orignal tiddler: 
&lt;slider Slider1&gt; 
[ ] fake link 1 
[ ]fake link 2 
[ ] fake link 3 
&lt;/slider&gt; 
&lt;slider Slider2&gt; 
* fake link 1 
* fake link 2 
* fake link 3 
&lt;/slider&gt; </description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-10</dc:date>
</item>
<item>
<title>Python XMLSchema</title>
<link>http://kennison.name/work/notes/#%5B%5BPython%20XMLSchema%5D%5D</link>
<description>http://www.rexx.com/~dkuhlman/#generateds-py-generate-python-data-bindings-from-xml-schema</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-08</dc:date>
</item>
<item>
<title>Eprints Notes</title>
<link>http://kennison.name/work/notes/#%5B%5BEprints%20Notes%5D%5D</link>
<description>http://epsilon.slu.se/eindex.html</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-01</dc:date>
</item>
<item>
<title>Types of Metadata that we Need</title>
<link>http://kennison.name/work/notes/#%5B%5BTypes%20of%20Metadata%20that%20we%20Need%5D%5D</link>
<description>How do these thing go together?

!!!Types of Metadata
* Subject metadata (classification, keywords)
* Geospatial metadata (postcode, map references, place names)
* Person-related metadata (people, institutions, co-workers, projects)
* Usage-related metadata (course reading lists, comments, annotations, library borrowing records)
* File Format metadata (definitive for preservation)
* Factual metadata (date, time, user, software system, etc)
* Bibliographic metadata (including citation)
* Multilingual/translated metadata (automatic metadata translation)
* Integrating AMG into deposit workflows (web service orchestration)
* Useage Data (how often, by whom, etc. was this resource used)

[[Annotated Bibliography on Automated Metadata Generation|http://www.intrallect.com/wiki/index.php/AMG-UC_Annotated_Bibliography]]

[[Natural Language Text Processing with Python|http://www.acm.org/crossroads/xrds13-4/natural_language.html]]

* Technical and Structural about the Data object itself
* Descriptive, Administrative, Contextual

!!!Metadata Functions ```[[John's JISC CETIS blog|http://blogs.cetis.ac.uk/johnr/2009/08/31/comparing-metadata-requirements-part-2/]]```
* identify
* find
* select
* use
* cite
* manage 

[img[http://blogs.cetis.ac.uk/johnr/files/2009/08/oermetadata1.jpg]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-09-01</dc:date>
</item>
<item>
<title>AWK program to Report Video Use</title>
<link>http://kennison.name/work/notes/#%5B%5BAWK%20program%20to%20Report%20Video%20Use%5D%5D</link>
<description>&lt;html&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;&lt;font face=&quot;monospace&quot;&gt;
&lt;font color=&quot;#8080ff&quot;&gt;# video.awk&lt;/font&gt;&lt;br&gt;
&lt;font color=&quot;#8080ff&quot;&gt;# 2009-08-27&lt;/font&gt;&lt;br&gt;
&lt;font color=&quot;#8080ff&quot;&gt;# Takes dumped item data from III and formats it for the web&lt;/font&gt;&lt;br&gt;
&lt;font color=&quot;#8080ff&quot;&gt;# Part of a pipeline that starts with the data sorted by using sort command&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff40ff&quot;&gt;BEGIN&lt;/font&gt;&amp;nbsp;{ &lt;font color=&quot;#ff40ff&quot;&gt;FS&lt;/font&gt;&amp;nbsp;= &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\t&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff40ff&quot;&gt;OFS&lt;/font&gt;&amp;nbsp;= &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\t&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;indexes = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;count,circs,uses&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#00ffff&quot;&gt;split&lt;/font&gt;(indexes&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;cd&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;,&amp;quot;&lt;/font&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#00ffff&quot;&gt;split&lt;/font&gt;(indexes&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;dvd&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;,&amp;quot;&lt;/font&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#00ffff&quot;&gt;split&lt;/font&gt;(indexes&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;video&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;,&amp;quot;&lt;/font&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_cds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_cds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_dvds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_dvds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_videos.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_videos.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startHtml(title) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;html&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;head&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;title&amp;gt;&amp;quot;&lt;/font&gt;&amp;nbsp;title &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/title&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;link rel=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;stylesheet&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;type=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;text/css&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;href=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;/bk.css&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;/&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;link rel=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;stylesheet&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;type=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;text/css&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;href=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;style_sheet&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;/&amp;gt;&amp;quot;&lt;/font&gt;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/head&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;body&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;img src=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;/images/2rf.gif&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;align=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;middle&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;hspace=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;10&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;&amp;gt;&amp;lt;h1&amp;gt;&amp;quot;&lt;/font&gt;&amp;nbsp;title &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h1&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endHtml() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/body&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;/html&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startDtml(title) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;dtml-var standard_html_header&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;lt;img src=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;/images/2rf.gif&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;align=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;middle&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;hspace=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;10&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;nbsp;&amp;gt;&amp;lt;h1&amp;gt;&amp;quot;&lt;/font&gt;title&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h1&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endDtml() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;dtml-var standard_html_footer&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startTable() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;table&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endTable() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/table&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;printRow(count&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;title) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;quot;&lt;/font&gt;count&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;&lt;/font&gt;title&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;commas(n) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#00ffff&quot;&gt;gsub&lt;/font&gt;(&lt;font color=&quot;#ff6060&quot;&gt;/,/&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;n)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point = &lt;font color=&quot;#00ffff&quot;&gt;index&lt;/font&gt;(n&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;.&amp;quot;&lt;/font&gt;) - &lt;font color=&quot;#ff6060&quot;&gt;1&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;&amp;nbsp;(point &amp;lt; &lt;font color=&quot;#ff6060&quot;&gt;0&lt;/font&gt;) point = &lt;font color=&quot;#00ffff&quot;&gt;length&lt;/font&gt;(n)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;while&lt;/b&gt;&lt;/font&gt;&amp;nbsp;(point &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;3&lt;/font&gt;) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;point -= &lt;font color=&quot;#ff6060&quot;&gt;3&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n = &lt;font color=&quot;#00ffff&quot;&gt;substr&lt;/font&gt;(n&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;1&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;point)&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;,&amp;quot;&lt;/font&gt;&lt;font color=&quot;#00ffff&quot;&gt;substr&lt;/font&gt;(n&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;point + &lt;font color=&quot;#ff6060&quot;&gt;1&lt;/font&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;n&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;function&lt;/b&gt;&lt;/font&gt;&amp;nbsp;outputResults(type&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;counter) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalcnt = counter[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;count&amp;quot;&lt;/font&gt;]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tc = commas(totalcnt)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;circs = counter[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;circs&amp;quot;&lt;/font&gt;]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noncirccount = counter[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;count&amp;quot;&lt;/font&gt;] - counter[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;uses&amp;quot;&lt;/font&gt;]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;noncircpercent = (noncirccount / totalcnt) * &lt;font color=&quot;#ff6060&quot;&gt;100&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;h1&amp;gt;Report for &amp;quot;&lt;/font&gt;&amp;nbsp;type &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h1&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;h3&amp;gt;Total Item Count: &amp;quot;&lt;/font&gt;&amp;nbsp;commas(totalcnt) &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot; &amp;lt;/h3&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;h3&amp;gt;Count of Non Circulating Items: &amp;quot;&lt;/font&gt;&amp;nbsp;commas(noncirccount) &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h3&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;h3&amp;gt;Percent Non Circulating Items: &amp;quot;&lt;/font&gt;&amp;nbsp;noncircpercent &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h3&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = s &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;h3&amp;gt;Total Circs: &amp;quot;&lt;/font&gt;&amp;nbsp;commas(circs) &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;/h3&amp;gt;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;return&lt;/b&gt;&lt;/font&gt;&amp;nbsp;s&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff40ff&quot;&gt;$3&lt;/font&gt;&amp;nbsp;~ &lt;font color=&quot;#ff6060&quot;&gt;/whcd/&lt;/font&gt;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;count&amp;quot;&lt;/font&gt;]++&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;circs&amp;quot;&lt;/font&gt;]+=&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;&amp;nbsp;(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;0&lt;/font&gt;)&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;uses&amp;quot;&lt;/font&gt;]++ &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;printRow(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;$1&lt;/font&gt;) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_cds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff40ff&quot;&gt;$3&lt;/font&gt;&amp;nbsp;~ &lt;font color=&quot;#ff6060&quot;&gt;/whdvd/&lt;/font&gt;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dvd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;count&amp;quot;&lt;/font&gt;]++&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dvd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;circs&amp;quot;&lt;/font&gt;]+=&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;&amp;nbsp;(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;0&lt;/font&gt;)&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dvd[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;uses&amp;quot;&lt;/font&gt;]++ &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;printRow(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;$1&lt;/font&gt;) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_dvds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff40ff&quot;&gt;$3&lt;/font&gt;&amp;nbsp;~ &lt;font color=&quot;#ff6060&quot;&gt;/whv/&lt;/font&gt;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;video[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;count&amp;quot;&lt;/font&gt;]++&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;video[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;circs&amp;quot;&lt;/font&gt;]+=&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;if&lt;/b&gt;&lt;/font&gt;&amp;nbsp;(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;0&lt;/font&gt;)&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;video[&lt;font color=&quot;#ff40ff&quot;&gt;&amp;quot;uses&amp;quot;&lt;/font&gt;]++ &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;printRow(&lt;font color=&quot;#ff40ff&quot;&gt;$2&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;$1&lt;/font&gt;) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_videos.html&amp;quot;&lt;/font&gt;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font color=&quot;#ff40ff&quot;&gt;END&lt;/font&gt;&amp;nbsp;{ &lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;startDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;outputResults(&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;CDs&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;cd) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;a href=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;c_cds.html&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;gt;View CD Data&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;(in decending order)&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;outputResults(&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;DVDs&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;dvd) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;a href=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;c_dvds.html&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;gt;View DVD Data&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;(in decending order)&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;outputResults(&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;Videos&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;,&lt;/font&gt;&amp;nbsp;video) &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&amp;lt;a href=&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;c_videos.html&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\&amp;quot;&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;gt;View Video Tape Data&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;(in decending order)&lt;/font&gt;&lt;font color=&quot;#ff40ff&quot;&gt;\n\n&lt;/font&gt;&lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;&lt;/font&gt;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endDtml()&amp;nbsp;&amp;nbsp;&amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_summary.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_cds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_cds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_dvds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_dvds.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endTable() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_videos.html&amp;quot;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#ff6060&quot;&gt;&lt;b&gt;print&lt;/b&gt;&lt;/font&gt;&amp;nbsp;endDtml() &amp;gt; &lt;font color=&quot;#ff6060&quot;&gt;&amp;quot;c_videos.html&amp;quot;&lt;/font&gt;&lt;br&gt;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/body&gt;&lt;/html&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-08-31</dc:date>
</item>
<item>
<title>Recursively chmod directories only</title>
<link>http://kennison.name/work/notes/#%5B%5BRecursively%20chmod%20directories%20only%5D%5D</link>
<description>{{{find . -type d -exec chmod 755 {} \;}}}

This will recursively search your directory tree (starting at dir 'dot') and chmod 755 all directories only.

Similarly, the following will chmod all files only (and ignore the directories):

{{{find . -type f -exec chmod 644 {} \;}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-08-18</dc:date>
</item>
<item>
<title>Color Chart</title>
<link>http://kennison.name/work/notes/#%5B%5BColor%20Chart%5D%5D</link>
<description>/%RGB hexadecimal 216-color &quot;Web safe&quot; palette %/
Source: Paul Petterson, revised by Eric Shulman
{{menubox{
|bgcolor(#FFF):FFF |bgcolor(#CCC):CCC |bgcolor(#999):999 |bgcolor(#666):@@color(white):666@@ |bgcolor(#333):@@color(white):333@@ |bgcolor(#000):@@color(white):000@@ |bgcolor(#FC0):~FC0 |bgcolor(#F90):F90 |bgcolor(#F60):@@color(white):F60@@ |bgcolor(#F30):@@color(white):F30@@ |&gt;|&gt;|&gt;|&gt;|&gt;| |
|bgcolor(#9C0):9C0 |&gt;|&gt;|&gt;| |bgcolor(#C90):C90 |bgcolor(#FC3):~FC3 |bgcolor(#FC6):~FC6 |bgcolor(#F96):F96 |bgcolor(#F63):@@color(white):F63@@ |bgcolor(#C30):@@color(white):C30@@ |&gt;|&gt;|&gt;| |bgcolor(#C03):@@color(white):C03@@ |
|bgcolor(#CF0):~CF0 |bgcolor(#CF3):~CF3 |bgcolor(#330):@@color(white):330@@ |bgcolor(#660):@@color(white):660@@ |bgcolor(#990):990 |bgcolor(#CC0):~CC0 |bgcolor(#FF0):~FF0 |bgcolor(#C93):C93 |bgcolor(#C63):@@color(white):C63@@ |bgcolor(#300):@@color(white):300@@ |bgcolor(#600):@@color(white):600@@ |bgcolor(#900):@@color(white):900@@ |bgcolor(#C00):@@color(white):C00@@ |bgcolor(#F00):@@color(white):F00@@ |bgcolor(#F36):@@color(white):F36@@ |bgcolor(#F03):@@color(white):F03@@ |
|bgcolor(#9F0):9F0 |bgcolor(#CF6):~CF6 |bgcolor(#9C3):9C3 |bgcolor(#663):@@color(white):663@@ |bgcolor(#993):993 |bgcolor(#CC3):~CC3 |bgcolor(#FF3):~FF3 |bgcolor(#960):@@color(white):960@@ |bgcolor(#930):@@color(white):930@@ |bgcolor(#633):@@color(white):633@@ |bgcolor(#933):@@color(white):933@@ |bgcolor(#C33):@@color(white):C33@@ |bgcolor(#F33):@@color(white):F33@@ |bgcolor(#C36):@@color(white):C36@@ |bgcolor(#F69):@@color(white):F69@@ |bgcolor(#F06):@@color(white):F06@@ |
|bgcolor(#6F0):6F0 |bgcolor(#9F6):9F6 |bgcolor(#6C3):6C3 |bgcolor(#690):690 |bgcolor(#996):996 |bgcolor(#CC6):~CC6 |bgcolor(#FF6):~FF6 |bgcolor(#963):@@color(white):963@@ |bgcolor(#630):@@color(white):630@@ |bgcolor(#966):@@color(white):966@@ |bgcolor(#C66):@@color(white):C66@@ |bgcolor(#F66):@@color(white):F66@@ |bgcolor(#903):@@color(white):903@@ |bgcolor(#C39):@@color(white):C39@@ |bgcolor(#F6C):@@color(white):~F6C@@ |bgcolor(#F09):@@color(white):F09@@ |
|bgcolor(#3F0):3F0 |bgcolor(#6F3):6F3 |bgcolor(#390):390 |bgcolor(#6C0):6C0 |bgcolor(#9F3):9F3 |bgcolor(#CC9):~CC9 |bgcolor(#FF9):~FF9 |bgcolor(#C96):C96 |bgcolor(#C60):@@color(white):C60@@ |bgcolor(#C99):C99 |bgcolor(#F99):F99 |bgcolor(#F39):@@color(white):F39@@ |bgcolor(#C06):@@color(white):C06@@ |bgcolor(#906):@@color(white):906@@ |bgcolor(#F3C):@@color(white):~F3C@@ |bgcolor(#F0C):@@color(white):~F0C@@ |
|bgcolor(#0C0):0C0 |bgcolor(#3C0):3C0 |bgcolor(#360):@@color(white):360@@ |bgcolor(#693):693 |bgcolor(#9C6):9C6 |bgcolor(#CF9):~CF9 |bgcolor(#FFC):FFC |bgcolor(#FC9):~FC9 |bgcolor(#F93):F93 |bgcolor(#FCC):FCC |bgcolor(#F9C):~F9C |bgcolor(#C69):@@color(white):C69@@ |bgcolor(#936):@@color(white):936@@ |bgcolor(#603):@@color(white):603@@ |bgcolor(#C09):@@color(white):C09@@ |bgcolor(#303):@@color(white):303@@ |
|bgcolor(#3C3):3C3 |bgcolor(#6C6):6C6 |bgcolor(#0F0):0F0 |bgcolor(#3F3):3F3 |bgcolor(#6F6):6F6 |bgcolor(#9F9):9F9 |bgcolor(#CFC):CFC |&gt;|&gt;| |bgcolor(#C9C):~C9C |bgcolor(#969):@@color(white):969@@ |bgcolor(#939):@@color(white):939@@ |bgcolor(#909):@@color(white):909@@ |bgcolor(#636):@@color(white):636@@ |bgcolor(#606):@@color(white):606@@ |
|bgcolor(#060):@@color(white):060@@ |bgcolor(#363):@@color(white):363@@ |bgcolor(#090):090 |bgcolor(#393):393 |bgcolor(#696):696 |bgcolor(#9C9):9C9 |&gt;|&gt;| |bgcolor(#FCF):FCF |bgcolor(#F9F):~F9F |bgcolor(#F6F):@@color(white):~F6F@@ |bgcolor(#F3F):@@color(white):~F3F@@ |bgcolor(#F0F):@@color(white):~F0F@@ |bgcolor(#C6C):@@color(white):~C6C@@ |bgcolor(#C3C):@@color(white):~C3C@@ |
|bgcolor(#030):@@color(white):030@@ |bgcolor(#0C3):0C3 |bgcolor(#063):@@color(white):063@@ |bgcolor(#396):396 |bgcolor(#6C9):6C9 |bgcolor(#9FC):9FC |bgcolor(#CFF):CFF |bgcolor(#39F):39F |bgcolor(#9CF):9CF |bgcolor(#CCF):CCF |bgcolor(#C9F):~C9F |bgcolor(#96C):@@color(white):96C@@ |bgcolor(#639):@@color(white):639@@ |bgcolor(#306):@@color(white):306@@ |bgcolor(#90C):@@color(white):90C@@ |bgcolor(#C0C):@@color(white):~C0C@@ |
|bgcolor(#0F3):0F3 |bgcolor(#3F6):3F6 |bgcolor(#093):093 |bgcolor(#0C6):0C6 |bgcolor(#3F9):3F9 |bgcolor(#9FF):9FF |bgcolor(#9CC):9CC |bgcolor(#06C):@@color(white):06C@@ |bgcolor(#69C):69C |bgcolor(#99F):99F |bgcolor(#99C):99C |bgcolor(#93F):@@color(white):93F@@ |bgcolor(#60C):@@color(white):60C@@ |bgcolor(#609):@@color(white):609@@ |bgcolor(#C3F):@@color(white):~C3F@@ |bgcolor(#C0F):@@color(white):~C0F@@ |
|bgcolor(#0F6):0F6 |bgcolor(#6F9):6F9 |bgcolor(#3C6):3C6 |bgcolor(#096):096 |bgcolor(#6FF):6FF |bgcolor(#6CC):6CC |bgcolor(#699):699 |bgcolor(#036):@@color(white):036@@ |bgcolor(#369):@@color(white):369@@ |bgcolor(#66F):@@color(white):66F@@ |bgcolor(#66C):@@color(white):66C@@ |bgcolor(#669):@@color(white):669@@ |bgcolor(#309):@@color(white):309@@ |bgcolor(#93C):@@color(white):93C@@ |bgcolor(#C6F):@@color(white):~C6F@@ |bgcolor(#90F):@@color(white):90F@@ |
|bgcolor(#0F9):0F9 |bgcolor(#6FC):6FC |bgcolor(#3C9):3C9 |bgcolor(#3FF):3FF |bgcolor(#3CC):3CC |bgcolor(#399):399 |bgcolor(#366):@@color(white):366@@ |bgcolor(#069):@@color(white):069@@ |bgcolor(#039):@@color(white):039@@ |bgcolor(#33F):@@color(white):33F@@ |bgcolor(#33C):@@color(white):33C@@ |bgcolor(#339):@@color(white):339@@ |bgcolor(#336):@@color(white):336@@ |bgcolor(#63C):@@color(white):63C@@ |bgcolor(#96F):@@color(white):96F@@ |bgcolor(#60F):@@color(white):60F@@ |
|bgcolor(#0FC):0FC |bgcolor(#3FC):3FC |bgcolor(#0FF):0FF |bgcolor(#0CC):0CC |bgcolor(#099):099 |bgcolor(#066):@@color(white):066@@ |bgcolor(#033):@@color(white):033@@ |bgcolor(#39C):39C |bgcolor(#36C):@@color(white):36C@@ |bgcolor(#00F):@@color(white):00F@@ |bgcolor(#00C):@@color(white):00C@@ |bgcolor(#009):@@color(white):009@@ |bgcolor(#006):@@color(white):006@@ |bgcolor(#003):@@color(white):003@@ |bgcolor(#63F):@@color(white):63F@@ |bgcolor(#30F):@@color(white):30F@@ |
|bgcolor(#0C9):0C9 |&gt;|&gt;|&gt;| |bgcolor(#09C):09C |bgcolor(#3CF):3CF |bgcolor(#6CF):6CF |bgcolor(#69F):69F |bgcolor(#36F):@@color(white):36F@@ |bgcolor(#03C):@@color(white):03C@@ |&gt;|&gt;|&gt;| |bgcolor(#30C):@@color(white):30C@@ |
|&gt;|&gt;|&gt;|&gt;|&gt;| |bgcolor(#0CF):0CF |bgcolor(#09F):09F |bgcolor(#06F):@@color(white):06F@@ |bgcolor(#03F):@@color(white):03F@@ |&gt;|&gt;|&gt;|&gt;|&gt;| |
&lt;script&gt;place.lastChild.style.width=&quot;95%&quot;&lt;/script&gt;}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-08-18</dc:date>
</item>
<item>
<title>MainMenu</title>
<link>http://kennison.name/work/notes/#MainMenu</link>
<description>[[Home|/]] &lt;&lt;newTiddler label: &quot;Add Tiddler&quot;&gt;&gt;&lt;&lt;newJournal label: &quot;Add Dated Entry&quot;&gt;&gt;
[[Contents]]

</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-08-13</dc:date>
</item>
<item>
<title>PageTemplate</title>
<link>http://kennison.name/work/notes/#PageTemplate</link>
<description>&lt;!--{{{--&gt;
&lt;div id='header' class='header roundedCorners'&gt;
&lt;div class='headerShadow'&gt;
&lt;span class='searchBar roundedCorners' macro='search'&gt;&lt;/span&gt;
&lt;span class='siteTitle' refresh='content' tiddler='SiteTitle'&gt;&lt;/span&gt;&amp;nbsp;
&lt;span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='topMenu' refresh='content' tiddler='MainMenu'&gt;&lt;/div&gt;
&lt;div id='displayArea' class=&quot;roundedCorners&quot;&gt;
&lt;div id='messageArea' class=&quot;roundedCorners&quot;&gt;&lt;/div&gt;
&lt;div id='tiddlerDisplay' class=&quot;roundedCorners&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id='contentFooter' refresh='content' tiddler='contentFooter' class=&quot;roundedCorners&quot;&gt;&lt;/div&gt;
&lt;!--}}}--&gt;
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-07-11</dc:date>
</item>
<item>
<title>Fedora</title>
<link>http://kennison.name/work/notes/#Fedora</link>
<description>[[Fedora Notes from Indiana|https://wiki.dlib.indiana.edu/confluence/display/INF/Fedora]]. 

[[List of front ends for Fedora|http://fedora-commons.org/confluence/display/DEV/Fedora+Tools]]

[[Wisconsin Presentation|http://prezi.com/66109/]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-07-09</dc:date>
</item>
<item>
<title>IP Address Change</title>
<link>http://kennison.name/work/notes/#%5B%5BIP%20Address%20Change%5D%5D</link>
<description>96.32.1.163

changed from 24.151,33,52</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-06-29</dc:date>
</item>
<item>
<title>AccordionMenuPluginDemo</title>
<link>http://kennison.name/work/notes/#AccordionMenuPluginDemo</link>
<description>*Menu1
**MenuItem1
**MenuItem2
* Menu2
** Menu2Item1
** Menu2Item2
&lt;&lt;accordion&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-06-05</dc:date>
</item>
<item>
<title>Web Templates</title>
<link>http://kennison.name/work/notes/#%5B%5BWeb%20Templates%5D%5D</link>
<description>* http://www.freewebsitetemplates.com/preview/media/ (modern but not too busy)
* http://www.freewebsitetemplates.com/preview/architecture/
* http://www.freewebsitetemplates.com/preview/hardwarestore/
* http://www.freewebsitetemplates.com/preview/template28/ (interesting)
* http://www.soros.org/initiatives (not great but a possibility)

http://www.iriss.org.uk/ (steal this?)</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-06-04</dc:date>
</item>
<item>
<title>Drop Menu Test</title>
<link>http://kennison.name/work/notes/#%5B%5BDrop%20Menu%20Test%5D%5D</link>
<description>* MyMenu
** [[Let's go to MIT|http://mit.edu]]
** [[Or maybe just to Harvard|http://www.harvard.edu]]
&lt;&lt;dropMenu&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-31</dc:date>
</item>
<item>
<title>Tabbed Content</title>
<link>http://kennison.name/work/notes/#%5B%5BTabbed%20Content%5D%5D</link>
<description>&lt;tabs mytabs&gt;
&lt;tab Introduction&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc dolor elit, sollicitudin vel, suscipit vitae, pretium quis, ante. Fusce dapibus. Maecenas non eros. Fusce venenatis est ac eros. Integer vitae metus. In luctus dolor sed tortor. Nam leo. Ut dapibus vehicula tellus. Aenean laoreet pretium urna. Maecenas suscipit, velit sit amet laoreet varius, ligula mi lacinia ligula, sit amet semper ipsum nulla id arcu. Nam vel nisi. Integer at neque eget mi ullamcorper aliquet. Mauris dignissim orci. Vestibulum ornare iaculis elit. Duis eu orci nec nisl pulvinar lobortis. Nunc diam mi, porta quis, accumsan sed, dapibus id, nibh. Cras vel metus. 
&lt;/tab&gt;

&lt;tab Links&gt;
[[Let's Go to MIT|http://mit.edu]]
[[Let's Go to Harvard|http://harvard.edu]]
&lt;/tab&gt;
&lt;tab Databases for this topic&gt;
This is my third tab
with more than one line
&lt;/tab&gt;

&lt;tab Reference Works for this topic&gt;
[[CINAHL with Full Text|http://library.wcsu.edu/cgi-bin/go_db.py?db=Cinahl]]

 CINAHL is an acronym for Cumulated Index to Nursing and Allied Health Literature.  CINAHL with Full Text is the world's most comprehensive source of current full text (up-to-the-minute content with no embargo*) for nursing &amp; allied health journals, providing full text for more than 600 journals indexed in CINAHL.  The database is designed to meet the information needs of nursing and allied health professionals. This premier database is recommended as a first choice for nursing research.

CINAHL contains more than 1,000,000 item records dating back to 1982. It provides complete coverage of English-language nursing journals and publications from the National League for Nursing and the American Nurses' Association. CINAHL covers nursing, biomedicine, health sciences librarianship, alternative/complementary medicine, consumer health and 17 allied health disciplines. Examples of titles offered in CINAHL include: AANA Journal, Gastroenterology Nursing, Maternal and Child Health Journal, Paediatric Nursing, Parents, etc.

CINAHL with Full Text also includes the Pre-CINAHL dataset.  Pre-CINAHL is intended to provide current awareness of new journal articles, and is a collection of records that provide basic bibliographic information before they are indexed with CINAHL Headings.

In addition, this database offers access to health care books, nursing dissertations, selected conference proceedings, standards of practice, educational software, audiovisuals and book chapters. Searchable cited references for more than 1,150 journals are also included. Full text material includes more than 70 journals plus legal cases, clinical innovations, critical paths, drug records, research instruments and clinical trials.
&lt;/tab&gt;

&lt;/tabs&gt;
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-21</dc:date>
</item>
<item>
<title>Edit Tiddler Script</title>
<link>http://kennison.name/work/notes/#%5B%5BEdit%20Tiddler%20Script%5D%5D</link>
<description>&lt;script label=&quot;edit a tiddler&quot;&gt;
    var title=prompt(&quot;Enter a tiddler title&quot;);
    if (!title||!title.length) return; /* cancelled by user */
    story.displayTiddler(null,title,2);
&lt;/script&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-19</dc:date>
</item>
<item>
<title>GoogleGadget</title>
<link>http://kennison.name/work/notes/#GoogleGadget</link>
<description>config.macros.gadget = {};

config.macros.gadget .handler = function(place,macroName,params, wikifier, paramString) {
  var elem = createTiddlyElement(place,&quot;iframe&quot;,null,&quot;greeting&quot;,&quot;&quot;);
  var p = paramString.parseParams(null, null, true);

  elem.src= &quot;http://www.gmodules.com/ig/ifr?url=&quot; + params[0] + &quot;&amp;&quot; + getParam(p,&quot;prefs&quot;,&quot;&quot;);
  elem.height = getParam(p,&quot;height&quot;,&quot;200&quot;);
  elem.width= getParam(p,&quot;width&quot;,&quot;300&quot;);
  elem.style.border= getParam(p,&quot;border&quot;,&quot;1&quot;);
 
  place.appendChild(elem);
};</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-15</dc:date>
</item>
<item>
<title>BreadCrumbsPlugin</title>
<link>http://kennison.name/work/notes/#BreadCrumbsPlugin</link>
<description>/***
|''Name:''|BreadCrumbsPlugin|
|''Version:''|2.2.1 (05-July-2007)|
|''Author:''|AlanHecht|
|''Adapted By:''|[[Jack]]|
|''Type:''|Plugin|
!Description
This plugin creates an area at the top of the tiddler area that displays &quot;breadcrumbs&quot; of where you've been. This is especially useful for ~TWs using SinglePageMode by Eric Schulman.
!Usage
Just install the plugin and tag with systemConfig. Optionally position the following div in your PageTemplate to control the positioning of the breadcrumbs menu:
{{{
&lt;div id='breadCrumbs'&gt;&lt;/div&gt;
}}}
!Revision History
* Original by AlanHecht
* 2.0 Made 2.0.x compatible by [[Jack]]
* Made 2.0.10 compatible (onstart paramifier)
* Bugfix -&gt; return false in onClickTiddlerLink()
* 2.2 Made 2.2.x compatible
!Code
***/

// // Use the following line to set the number of breadcrumbs to display before rotating them off the list.
//{{{
version.extensions.breadCrumbs = {major: 2, minor: 2, revision: 1, date: new Date(&quot;Jul 5, 2007&quot;)};
var crumbsToShow = 7;
var breadCrumbs = [];

onClickTiddlerLink_orig_breadCrumbs = onClickTiddlerLink;
onClickTiddlerLink = function(e){
 onClickTiddlerLink_orig_breadCrumbs(e);
 breadcrumbsAdd(e);
 return false;
}

restart_orig_breadCrumbs = restart;
function restart() {
 invokeParamifier(params,&quot;onstart&quot;);
 var defaultParams = store.getTiddlerText(&quot;DefaultTiddlers&quot;).parseParams(&quot;open&quot;,null,false);
 invokeParamifier(defaultParams,&quot;onstart&quot;);
 breadCrumbs = [];
 breadcrumbsRefresh();
 window.scrollTo(0,0);
 return false;
}

function breadcrumbsAdd(e) {
 var uniqueCrumb = true;
 var crumbIndex = 0;
 if (!e) var e = window.event;
 var target = resolveTarget(e);
 var thisCrumb=&quot;[[&quot;+resolveTarget(e).getAttribute(&quot;tiddlyLink&quot;)+&quot;]]&quot;;
 var lastInactiveCrumb = breadCrumbs.length -(breadCrumbs.length &lt; crumbsToShow ? breadCrumbs.length : crumbsToShow);
 for(t=lastInactiveCrumb; t&lt;breadCrumbs.length; t++)
 if(breadCrumbs[t] == thisCrumb) {
 uniqueCrumb = false;
 crumbIndex = t+1;
 }
 if(uniqueCrumb)
 breadCrumbs.push(thisCrumb);
 else
 breadCrumbs = breadCrumbs.slice(0,crumbIndex);
 breadcrumbsRefresh(); 
}

function breadcrumbsRefresh() {
 
 if (!document.getElementById(&quot;breadCrumbs&quot;)) {
 // Create breadCrumbs div
 var ca = document.createElement(&quot;div&quot;);
 ca.id = &quot;breadCrumbs&quot;;
 ca.style.visibility= &quot;hidden&quot;;
 var targetArea = document.getElementById(&quot;tiddlerDisplay&quot;)||document.getElementById(&quot;storyDisplay&quot;);
 targetArea.parentNode.insertBefore(ca,targetArea);
 }

 var crumbArea = document.getElementById(&quot;breadCrumbs&quot;);
 crumbArea.style.visibility = &quot;visible&quot;;
 removeChildren(crumbArea);
 createTiddlyButton(crumbArea,&quot;Home&quot;,null,restart);
 crumbArea.appendChild(document.createTextNode(&quot; &gt; &quot;));
 
 var crumbLine = &quot;&quot;;
 var crumbCount = breadCrumbs.length;
 var firstCrumb = crumbCount -(crumbCount &lt; crumbsToShow ? crumbCount : crumbsToShow);
 for(t=firstCrumb; t&lt;crumbCount; t++) {
 if(t != firstCrumb)
 crumbLine += &quot; &gt; &quot;;
 crumbLine += breadCrumbs[t];
 }
 wikify(crumbLine,crumbArea)
}


//}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-15</dc:date>
</item>
<item>
<title>DefaultTiddlers</title>
<link>http://kennison.name/work/notes/#DefaultTiddlers</link>
<description>Contents</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-15</dc:date>
</item>
<item>
<title>contentFooter</title>
<link>http://kennison.name/work/notes/#contentFooter</link>
<description>Powered by [[TiddlyWiki|http://tiddlywiki.org]] and [[Zope|http://zope.org]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-11</dc:date>
</item>
<item>
<title>System Configuration</title>
<link>http://kennison.name/work/notes/#%5B%5BSystem%20Configuration%5D%5D</link>
<description>&lt;&lt;tabs tabsClass
Layout &quot;Layout Templates&quot; SystemLayout
System &quot;System Tiddlers&quot; SystemTiddlers
Style &quot;StyleSheets&quot; StyleSheet
Options &quot;Personal Preferences&quot; SystemOptions
Plugins &quot;Installed Plugins&quot; PluginManager
Shadows &quot;Hidden System Pages&quot; ShadowedPages
&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-11</dc:date>
</item>
<item>
<title>NestedSlidersPlugin</title>
<link>http://kennison.name/work/notes/#NestedSlidersPlugin</link>
<description>/***
''NestedSlidersPlugin for TiddlyWiki version 1.2.x and 2.0''
^^author: Eric Shulman
source: http://www.TiddlyTools.com/#NestedSlidersPlugin
license: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^

Quickly make any tiddler content into an expandable 'slider' panel, without needing to create a separate tiddler to contain the slider content.  Optional syntax allows ''default to open'', ''custom button label/tooltip'' and ''automatic blockquote formatting.''

You can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.  This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.

For more details, please click on a section headline below:
++++!!!!![Configuration]&gt;
Debugging messages for 'lazy sliders' deferred rendering:
&lt;&lt;option chkDebugLazySliderDefer&gt;&gt; show debugging alert when deferring slider rendering
&lt;&lt;option chkDebugLazySliderRender&gt;&gt; show debugging alert when deferred slider is actually rendered
===
++++!!!!![Usage]&gt;
When installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.  Use {{{+++}}} and {{{===}}} to delimit the slider content.  Additional optional syntax elements let you specify
*default to open
*cookiename
*heading level
*floater (with optional CSS width value)
*mouse auto rollover
*custom label/tooltip/accesskey
*automatic blockquote
*deferred rendering
The complete syntax, using all options, is:
//{{{
++++(cookiename)!!!!!^width^*[label=key|tooltip]&gt;...
content goes here
===
//}}}
where:
* {{{+++}}} (or {{{++++}}}) and {{{===}}}^^
marks the start and end of the slider definition, respectively.  When the extra {{{+}}} is used, the slider will be open when initially displayed.^^
* {{{(cookiename)}}}^^
saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.^^
* {{{!}}} through {{{!!!!!}}}^^
displays the slider label using a formatted headline (Hn) style instead of a button/link style^^
* {{{^width^}}} (or just {{{^}}})^^
makes the slider 'float' on top of other content rather than shifting that content downward.  'width' must be a valid CSS value (e.g., &quot;30em&quot;, &quot;180px&quot;, &quot;50%&quot;, etc.).  If omitted, the default width is &quot;auto&quot; (i.e., fit to content)^^
* {{{*}}}^^
automatically opens/closes slider on &quot;rollover&quot; as well as when clicked^^
* {{{[label=key|tooltip]}}}^^
uses custom label/tooltip/accesskey.  {{{=key}}} and {{{|tooltip}}} are optional.  'key' is must be a ''single letter only''.  Default labels/tootips are: &quot;&gt;&quot; (more) and &quot;&lt;&quot; (less), with no default access key assignment.^^
* {{{&quot;&gt;&quot;}}} //(without the quotes)//^^
automatically adds blockquote formatting to slider content^^
* {{{&quot;...&quot;}}} //(without the quotes)//^^
defers rendering of closed sliders until the first time they are opened.  //Note: deferred rendering may produce unexpected results in some cases.  Use with care.//^^

//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//
===
++++!!!!![Examples]&gt;
simple in-line slider: 
{{{
+++
   content
===
}}}
+++
   content
===
----
use a custom label and tooltip: 
{{{
+++[label|tooltip]
   content
===
}}}
+++[label|tooltip]
   content
===
----
content automatically blockquoted: 
{{{
+++&gt;
   content
===
}}}
+++&gt;
   content
===
----
all options combined //(default open, cookie, heading, sized floater, rollover, label/tooltip/key, blockquoted, deferred)//
{{{
++++(testcookie)!!!^30em^*[label=Z|click or press Alt-Z to open]&gt;...
   content
===
}}}
++++(testcookie)!!!^30em^*[label=Z|click or press Alt-Z to open]&gt;...
   content
===
----
complex nesting example:
{{{
+++^[get info...=I|click for information or press Alt-I]
   put some general information here, plus a floating slider with more specific info:
   +++^10em^[view details...|click for details]
      put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===
   ===
===
}}}
+++^[get info...=I|click for information or press Alt-I]
   put some general information here, plus a floating slider with more specific info:
   +++^10em^[view details...|click for details]
      put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===
   ===
===
----
nested floaters
&gt;menu: &lt;&lt;tiddler NestedSlidersExample&gt;&gt;
(see [[NestedSlidersExample]] for definition)
----
===
!!!!!Installation
&lt;&lt;&lt;
import (or copy/paste) the following tiddlers into your document:
''NestedSlidersPlugin'' (tagged with &lt;&lt;tag systemConfig&gt;&gt;)
&lt;&lt;&lt;
!!!!!Revision History
&lt;&lt;&lt;
''2006.05.11 - 1.9.0'' added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label
''2006.05.09 - 1.8.0'' in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element
''2006.04.24 - 1.7.8'' in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position
''2006.02.16 - 1.7.7'' corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
''2006.02.15 - 1.7.6'' in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)
''2006.02.04 - 1.7.5'' add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals
''2006.01.18 - 1.7.4'' only define adjustSliderPos() function if it has not already been provided by another plugin.  This lets other plugins 'hijack' the function even when they are loaded first.
''2006.01.16 - 1.7.3'' added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels.  While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels.  Short-term workaround is to only adjust the position for 'top-level' floaters.
''2006.01.16 - 1.7.2'' added button property to slider panel elements so that slider panel can tell which button it belongs to.  Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that &quot;overflow:hidden&quot; can be reset to &quot;overflow:visible&quot; after animation ends
''2006.01.14 - 1.7.1'' added optional &quot;^&quot; syntax for floating panels.  Defines new CSS class, &quot;.floatingPanel&quot;, as an alternative for standard in-line &quot;.sliderPanel&quot; styles.
''2006.01.14 - 1.7.0'' added optional &quot;*&quot; syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)
''2006.01.03 - 1.6.2'' When using optional &quot;!&quot; heading style, instead of creating a clickable &quot;Hn&quot; element, create an &quot;A&quot; element inside the &quot;Hn&quot; element.  (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)
''2005.12.15 - 1.6.1'' added optional &quot;...&quot; syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
''2005.11.25 - 1.6.0'' added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
''2005.11.21 - 1.5.1'' revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability.  Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.
''2005.11.20 - 1.5.0'' added (cookiename) syntax for optional tracking and restoring of slider open/close state
''2005.11.11 - 1.4.0'' added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
''2005.11.07 - 1.3.0'' removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other
formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
''2005.11.05 - 1.2.1'' changed name to NestedSlidersPlugin
more documentation
''2005.11.04 - 1.2.0'' added alternative character-mode syntax {{{(((}}} and {{{)))}}}
tweaked &quot;eat newlines&quot; logic for line-mode {{{+++}}} and {{{===}}} syntax
''2005.11.03 - 1.1.1'' fixed toggling of default tooltips (&quot;more...&quot; and &quot;less...&quot;) when a non-default button label is used
code cleanup, added documentation
''2005.11.03 - 1.1.0'' changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}
changed name to EasySlidersPlugin
''2005.11.03 - 1.0.0'' initial public release
&lt;&lt;&lt;
!!!!!Credits
&lt;&lt;&lt;
This feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.
&lt;&lt;&lt;
!!!!!Code
***/
//{{{
version.extensions.nestedSliders = {major: 1, minor: 9, revision: 0, date: new Date(2006,5,11)};
//}}}

//{{{
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;
if (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;

// default styles for 'floating' class
setStylesheet(&quot;.floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
	background-color:#eee; color:#000; border:1px solid #000; text-align:left; }&quot;,&quot;floatingPanelStylesheet&quot;);
//}}}

//{{{
config.formatters.push( {
	name: &quot;nestedSliders&quot;,
	match: &quot;\\n?\\+{3}&quot;,
	terminator: &quot;\\s*\\={3}\\n?&quot;,
	lookahead: &quot;\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\[\\&gt;]*\\^)?)?(\\*)?(\\[[^\\]]*\\])?(\\&gt;)?(\\.\\.\\.)?\\s*&quot;,
	handler: function(w)
		{
			var lookaheadRegExp = new RegExp(this.lookahead,&quot;mg&quot;);
			lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = lookaheadRegExp.exec(w.source)
			if(lookaheadMatch &amp;&amp; lookaheadMatch.index == w.matchStart)
			{
				// location for rendering button and panel
				var place=w.output;

				// default to closed, no cookie, no accesskey
				var show=&quot;none&quot;; var title=&quot;&gt;&quot;; var tooltip=&quot;show&quot;; var cookie=&quot;&quot;; var key=&quot;&quot;;

				// extra &quot;+&quot;, default to open
				if (lookaheadMatch[1])
					{ show=&quot;block&quot;; title=&quot;&lt;&quot;; tooltip=&quot;hide&quot;; }

				// cookie, use saved open/closed state
				if (lookaheadMatch[2]) {
					cookie=lookaheadMatch[2].trim().slice(1,-1);
					cookie=&quot;chkSlider&quot;+cookie;
					if (config.options[cookie]==undefined)
						{ config.options[cookie] = (show==&quot;block&quot;) }
					if (config.options[cookie])
						{ show=&quot;block&quot;; title=&quot;&lt;&quot;; tooltip=&quot;hide&quot;; }
					else
						{ show=&quot;none&quot;; title=&quot;&gt;&quot;; tooltip=&quot;show&quot;; }
				}

				// parse custom label/tooltip/accesskey: [label=X|tooltip]
				if (lookaheadMatch[6]) {
					title = lookaheadMatch[6].trim().slice(1,-1);
					var pos=title.indexOf(&quot;|&quot;);
					if (pos!=-1) { tooltip = title.substr(pos+1,title.length); title=title.substr(0,pos); }
					if (title.substr(title.length-2,1)==&quot;=&quot;) { key=title.substr(title.length-1,1); title=title.slice(0,-2); }
					if (pos==-1) tooltip += &quot; &quot;+title; // default tooltip: &quot;show/hide &lt;title&gt;&quot;
				}

				// create the button
				if (lookaheadMatch[3]) { // use &quot;Hn&quot; header format instead of button/link
					var lvl=(lookaheadMatch[3].length&gt;6)?6:lookaheadMatch[3].length;
					var btn = createTiddlyElement(createTiddlyElement(place,&quot;h&quot;+lvl,null,null,null),&quot;a&quot;,null,null,title);
					btn.onclick=onClickNestedSlider;
					btn.setAttribute(&quot;href&quot;,&quot;javascript:;&quot;);
					btn.setAttribute(&quot;title&quot;,tooltip);
				}
				else
					var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider);
				btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
				btn.keyparam=key; // save the access key letter (&quot;&quot; if none)
				if (key.length) {
					btn.setAttribute(&quot;accessKey&quot;,key); // init access key
					btn.onfocus=function(){this.setAttribute(&quot;accessKey&quot;,this.keyparam);}; // **reclaim** access key on focus
				}

				// &quot;non-click&quot; MouseOver open/close slider
				if (lookaheadMatch[5]) btn.onmouseover=onClickNestedSlider;

				// create slider panel
				var panelClass=lookaheadMatch[4]?&quot;floatingPanel&quot;:&quot;sliderPanel&quot;;
				var panel=createTiddlyElement(place,&quot;div&quot;,null,panelClass,null);
				panel.style.display = show;
				if (lookaheadMatch[4] &amp;&amp; lookaheadMatch[4].length&gt;2) panel.style.width=lookaheadMatch[4].slice(1,-1); // custom width
				panel.button = btn; // so the slider panel know which button it belongs to
				btn.sliderPanel=panel;

				// render slider (or defer until shown) 
				w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
				if ((show==&quot;block&quot;)||!lookaheadMatch[8]) {
					// render now if panel is supposed to be shown or NOT deferred rendering
					w.subWikify(lookaheadMatch[7]?createTiddlyElement(panel,&quot;blockquote&quot;):panel,this.terminator);
					// align slider/floater position with button
					adjustSliderPos(place,btn,panel,panelClass);
				}
				else {
					var src = w.source.substr(w.nextMatch);
					var endpos=findMatchingDelimiter(src,&quot;+++&quot;,&quot;===&quot;);
					panel.setAttribute(&quot;raw&quot;,src.substr(0,endpos));
					panel.setAttribute(&quot;blockquote&quot;,lookaheadMatch[7]?&quot;true&quot;:&quot;false&quot;);
					panel.setAttribute(&quot;rendered&quot;,&quot;false&quot;);
					w.nextMatch += endpos+3;
					if (w.source.substr(w.nextMatch,1)==&quot;\n&quot;) w.nextMatch++;
					if (config.options.chkDebugLazySliderDefer) alert(&quot;deferred '&quot;+title+&quot;':\n\n&quot;+panel.getAttribute(&quot;raw&quot;));
				}
			}
		}
	}
)

// TBD: ignore 'quoted' delimiters (e.g., &quot;{{{+++foo===}}}&quot; isn't really a slider)
function findMatchingDelimiter(src,starttext,endtext) {
	var startpos = 0;
	var endpos = src.indexOf(endtext);
	// check for nested delimiters
	while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
		// count number of nested 'starts'
		var startcount=0;
		var temp = src.substring(startpos,endpos-1);
		var pos=temp.indexOf(starttext);
		while (pos!=-1)  { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
		// set up to check for additional 'starts' after adjusting endpos
		startpos=endpos+endtext.length;
		// find endpos for corresponding number of matching 'ends'
		while (startcount &amp;&amp; endpos!=-1) {
			endpos = src.indexOf(endtext,endpos+endtext.length);
			startcount--;
		}
	}
	return (endpos==-1)?src.length:endpos;
}
//}}}

//{{{
window.onClickNestedSlider=function(e)
{
	if (!e) var e = window.event;
	var theTarget = resolveTarget(e);
	var theLabel = theTarget.firstChild.data;
	var theSlider = theTarget.sliderPanel
	var isOpen = theSlider.style.display!=&quot;none&quot;;
	// if using default button labels, toggle labels
	if (theLabel==&quot;&gt;&quot;) theTarget.firstChild.data = &quot;&lt;&quot;;
	else if (theLabel==&quot;&lt;&quot;) theTarget.firstChild.data = &quot;&gt;&quot;;
	// if using default tooltips, toggle tooltips
	if (theTarget.getAttribute(&quot;title&quot;)==&quot;show&quot;)
		theTarget.setAttribute(&quot;title&quot;,&quot;hide&quot;);
	else if (theTarget.getAttribute(&quot;title&quot;)==&quot;hide&quot;)
		theTarget.setAttribute(&quot;title&quot;,&quot;show&quot;);
	if (theTarget.getAttribute(&quot;title&quot;)==&quot;show &quot;+theLabel)
		theTarget.setAttribute(&quot;title&quot;,&quot;hide &quot;+theLabel);
	else if (theTarget.getAttribute(&quot;title&quot;)==&quot;hide &quot;+theLabel)
		theTarget.setAttribute(&quot;title&quot;,&quot;show &quot;+theLabel);
	// deferred rendering (if needed)
	if (theSlider.getAttribute(&quot;rendered&quot;)==&quot;false&quot;) {
		if (config.options.chkDebugLazySliderRender)
			alert(&quot;rendering '&quot;+theLabel+&quot;':\n\n&quot;+theSlider.getAttribute(&quot;raw&quot;));
		var place=theSlider;
		if (theSlider.getAttribute(&quot;blockquote&quot;)==&quot;true&quot;)
			place=createTiddlyElement(place,&quot;blockquote&quot;);
		wikify(theSlider.getAttribute(&quot;raw&quot;),place);
		theSlider.setAttribute(&quot;rendered&quot;,&quot;true&quot;);
	}
	// show/hide the slider
	if(config.options.chkAnimate)
		anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,&quot;none&quot;));
	else
		theSlider.style.display = isOpen ? &quot;none&quot; : &quot;block&quot;;
	// if showing panel, set focus to first 'focus-able' element in panel
	if (theSlider.style.display!=&quot;none&quot;) {
		var ctrls=theSlider.getElementsByTagName(&quot;*&quot;);
		for (var c=0; c&lt;ctrls.length; c++) {
			var t=ctrls[c].tagName.toLowerCase();
			if (t==&quot;input&quot; || t==&quot;textarea&quot; || t==&quot;select&quot;)
				{ ctrls[c].focus(); break; }
		}
	}
	if (this.sliderCookie &amp;&amp; this.sliderCookie.length)
		{ config.options[this.sliderCookie]=!isOpen; saveOptionCookie(this.sliderCookie); }
	// align slider/floater position with target button
	adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);
	return false;
}

// hijack animation handler 'stop' handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function() { this.coreStop(); this.element.style.overflow = &quot;visible&quot;; }

// adjust panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {
	if (panelClass==&quot;floatingPanel&quot;) {
		var left=0;
		var top=btn.offsetHeight; 
		if (place.style.position!=&quot;relative&quot;) {
			var left=findPosX(btn);
			var top=findPosY(btn)+btn.offsetHeight;
			var p=place; while (p &amp;&amp; p.className!='floatingPanel') p=p.parentNode;
			if (p) { left-=findPosX(p); top-=findPosY(p); }
		}
		if (left+panel.offsetWidth &gt; getWindowWidth()) left=getWindowWidth()-panel.offsetWidth-10;
		panel.style.left=left+&quot;px&quot;; panel.style.top=top+&quot;px&quot;;
	}
}

function getWindowWidth() {
	if(document.width!=undefined)
		return document.width; // moz (FF)
	if(document.documentElement &amp;&amp; ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
		return document.documentElement.clientWidth; // IE6
	if(document.body &amp;&amp; ( document.body.clientWidth || document.body.clientHeight ) )
		return document.body.clientWidth; // IE4
	if(window.innerWidth!=undefined)
		return window.innerWidth; // IE - general
	return 0; // unknown
}
//}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-11</dc:date>
</item>
<item>
<title>Table of Contents Example</title>
<link>http://kennison.name/work/notes/#%5B%5BTable%20of%20Contents%20Example%5D%5D</link>
<description>&lt;&lt;showtoc&gt;&gt;
!Heading One
and some text 

!!Heading Three 
But nested between them 

!!Heading Two
And some more text 
!Description
This macro will insert a table of contents reflecting the headings that are used in a tiddler and will be automatically updated when you make changes.  Each item in the table of contents can be clicked on to jump to that heading.  It can be used either inside of select tiddlers or inside a system wide template.

A parameter can be used to show the table of contents of a seperate tiddler, &amp;lt;&lt;showtoc tiddlerTitle&gt;&amp;gt;

It will also place a link beside each header which will jump the screen to the top of the current tiddler.  This will only be displayed if the current tiddler is using the &amp;lt;&lt;showtoc&gt;&amp;gt; macro.

The appearance of the table of contents and the link to jump to the top can be modified using CSS.  An example of this is given below.

!Usage
!!Only in select tiddlers
The table of contents above is an example of how to use this macro in a tiddler.  Just insert &amp;lt;&lt;showtoc&gt;&amp;gt; in a tiddler on a line by itself.

It can also display the table of contents of another tiddler by using the macro with a parameter, &amp;lt;&lt;showtoc tiddlerTitle&gt;&amp;gt;
!!On every tiddler
It can also be used in a template to have it show on every tiddler.  An example ViewTemplate is shown below.
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-05-11</dc:date>
</item>
<item>
<title>Dublin Core Generator</title>
<link>http://kennison.name/work/notes/#%5B%5BDublin%20Core%20Generator%5D%5D</link>
<description>http://www.ad.jyu.fi/users/a/ankarjal/ITKD50/Dublin%20Core%20Metadata%20Template.htm

http://alimanfoo.wordpress.com/2008/01/30/on-the-oais-information-model-as-a-platform-independent-model-pim-in-a-model-driven-software-architecture/

http://www.webarchiv.cz/generator/dc.php?lang=en

http://sourceforge.net/projects/dcmetatoolkit



</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-20</dc:date>
</item>
<item>
<title>Mets Records</title>
<link>http://kennison.name/work/notes/#%5B%5BMets%20Records%5D%5D</link>
<description>Six Major Sections 
*METS Header
* Descriptive Metadata*
* Administrative Metadata*
* File Groups
* Structural Map
* Behavior Section*
 
May be internal to METS document as XML Schema and/or external to METS document in any format.

 

</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-20</dc:date>
</item>
<item>
<title>Script Test</title>
<link>http://kennison.name/work/notes/#%5B%5BScript%20Test%5D%5D</link>
<description>&lt;script label=&quot;click here&quot; title=&quot;mouseover tooltip text&quot; key=&quot;X&quot;&gt;
	/* javascript code goes here... */
	alert('you clicked on the link!');
&lt;/script&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-20</dc:date>
</item>
<item>
<title>SiteSubtitle</title>
<link>http://kennison.name/work/notes/#SiteSubtitle</link>
<description>My Tiddly Wiki Notes Site</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-20</dc:date>
</item>
<item>
<title>SiteTitle</title>
<link>http://kennison.name/work/notes/#SiteTitle</link>
<description>Work Notes
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-20</dc:date>
</item>
<item>
<title>Formatting - Hyperlinks</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20-%20Hyperlinks%5D%5D</link>
<description>* [[WikiWords|WikiWord]] are automatically transformed to hyperlinks to the respective tiddler
** the automatic transformation can be suppressed by preceding the respective WikiWord with a tilde ({{{~}}}): {{{~WikiWord}}}
* [[PrettyLinks]] are enclosed in square brackets and contain the desired tiddler name: {{{[[tiddler name]]}}}
** optionally, a custom title or description can be added, separated by a pipe character ({{{|}}}): {{{[[title|target]]}}}&lt;br&gt;'''N.B.:''' In this case, the target can also be any website (i.e. URL).</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>SystemTiddlers</title>
<link>http://kennison.name/work/notes/#SystemTiddlers</link>
<description>* DefaultTiddlers
* MainMenu
* SiteSubtitle
* SiteTitle
* SiteUrl</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>SystemOptions</title>
<link>http://kennison.name/work/notes/#SystemOptions</link>
<description>* AdvancedOptions
* OptionsPanel</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>SystemLayout</title>
<link>http://kennison.name/work/notes/#SystemLayout</link>
<description>|&gt;|&gt;|!PageTemplate|
|&gt;|&gt;|[[SiteTitle]] - [[SiteSubtitle]]|
|[[MainMenu]]|[[DefaultTiddlers]]&lt;br&gt;&lt;br&gt;[[ViewTemplate]]&lt;br&gt;&lt;br&gt;[[EditTemplate]]|[[SideBarOptions]]|
|~|~|[[OptionsPanel]]&lt;br&gt;AdvancedOptions|
|~|~|SideBarTabs|
|&gt;|&gt;|[[SiteUrl]]|</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>ShadowedPages</title>
<link>http://kennison.name/work/notes/#ShadowedPages</link>
<description>&lt;&lt;list shadowed&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>Formatting Blockquotes</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20Blockquotes%5D%5D</link>
<description>{{{
&gt; blockquote, level 1
&gt;&gt; blockquote, level 2
&gt;&gt;&gt; blockquote, level 3

&lt;&lt;&lt;
blockquote
&lt;&lt;&lt;
}}}
&lt;&lt;&lt;
&gt; blockquote, level 1
&gt;&gt; blockquote, level 2
&gt;&gt;&gt; blockquote, level 3

&gt; blockquote
&lt;&lt;&lt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>Contents By Creation Date</title>
<link>http://kennison.name/work/notes/#%5B%5BContents%20By%20Creation%20Date%5D%5D</link>
<description>&lt;&lt;timeline created &gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-04</dc:date>
</item>
<item>
<title>Hawksworx</title>
<link>http://kennison.name/work/notes/#Hawksworx</link>
<description>http://www.hawksworx.com/journal/ 

Good idea about how to use Jquery plugin</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-03</dc:date>
</item>
<item>
<title>x_StyleSheet</title>
<link>http://kennison.name/work/notes/#x_StyleSheet</link>
<description>/*{{{*/
/*Haemoglobin Theme for TiddlyWiki*/
/*Design and CSS by Saq Imtiaz*/
/*Version 1.0*/
/*}}}*/
/*{{{*/

#sidebarTabs {font-family:arial,helvetica;}

body
{background:#fefefe;}

#contentWrapper {
	font-family: Verdana, Arial, Tahoma, Sans-Serif;
	color: #555555;
margin:1.9em auto 1em ; width:800px;}

#header {background:#fefefe;}

.headerShadow {	padding: 1.4em 0em 0.5em 1em; }

.siteTitle {
			font-family: 'Trebuchet MS' sans-serif;
			font-weight: bold;
			font-size: 36px;
			color: #FF4040;
			background-color: #FFF;
}

.siteSubtitle {
	font-size: 1.0em;
        display: block;
        margin: .5em 3em; color: #999;
}

.clearAll {clear:both;}
.tagClear {clear:none;}
#sidebar {position:relative; float:right; display:inline; right:0;}

a{
color:#A60000;
text-decoration: none; font-weight:normal;
}

a:hover{
color:#A60000;
background-color: #fefefe;
border-bottom:1px solid #A60000;
}

.viewer .button, .editorFooter .button{
color: #555;
border: 1px solid #A60000;
}

.viewer .button:hover,
.editorFooter .button:hover{
color: #fff;
background: #A60000;
border-color: #A60000;
}

.viewer .button:active, .viewer .highlight,.editorFooter .button:active,
.editorFooter .highlight{color:#fff;
background:#9F1313;border-color:#9F1313;}

#topMenu br {display:none;}

#topMenu {padding:0.45em 1em; background:DarkRed;}

#topMenu a, #topMenu .tiddlyLink, #topMenu .button {color:#f1f1f1;
padding:0.3em 0.45em; margin:0
4px;font-size:120%;font-weight:normal;font-variant: small-caps; border:none;
background:#A60000; text-decoration:none; }

#topMenu a:hover, #topMenu .tiddlyLink:hover, #topMenu .button:hover,
#topMenu .button:active, #topMenu .highlight
{color:#fff;text-decoration:none; background:#9F1313; }



#displayArea{margin:0 17em 2em 0.5em; width:90%;}

.tiddler {padding-left:0;}

.title {color:#A60000; border-bottom:1px solid#A60000; }
.subtitle, .subtitle a { color: #999999; font-size: 1.0em;margin:0.2em;}
.shadow .title{color:#999;}

.toolbar {font-size:85%;}
.selected .toolbar a {color:#999999;}
.selected .toolbar a:hover {color:#333; background:transparent;border:1px solid #fff;}

.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#333; background:transparent;border:1px solid #fff;}

    *  html .viewer pre {

margin-left: 0em;
}

    * html .editor textarea, * html .editor input {

width: 98%;
}

/***
!Sidebar
***/
#sidebar {position:relative;float:right; line-height: 1.4em; border-left:0px solid#000; display:inline; background:#fefefe; right:0; margin-bottom:2em !important; margin-bottom:1em;
width: 16em;display:none;}

/***
!SidebarOptions
***/
#sidebarOptions {padding-left:0.5em; padding-top:2em;}

#sidebarOptions a {
			color:#999;
			text-decoration: none;}

#sidebarOptions	a:hover, #sidebarOptions a:active {
			color:#CC0000;
			background-color:#f5f5f5;border:1px solid #f5f5f5;
		}

#sidebarOptions input {border:1px solid #999; }



 .listTitle {color:#888;}

#sidebarTabs .tabContents {background:#fefefe;}
#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#999;}
#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover{color:#CC0000;background:#fefefe; text-decoration:none;border:none;}

#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#CC0000;background:#fefefe}


.tabSelected{color:#fefefe; background:#999;}



 .tabSelected, .tabSelected:hover {
 color: #555;
 background: #fefefe;
 border: solid 1px #ccc;

}

#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#999;}

 .tabUnselected {
 color: #999;
 background: #eee;
 border: solid 1px #ccc;

}

.tabUnselected:hover {text-decoration:none; border:1px solid #ccc;}

#sidebarTabs .tabUnselected { border-bottom: none;padding-bottom:3px;}
#sidebarTabs .tabSelected{padding-bottom:3px;}

#sidebarOptions .sliderPanel {
	background: #eee; border:1px solid#ccc;
	font-size: .9em;
}

#sidebarOptions .sliderPanel input {border:1px solid #999;}
#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #999;width:9em;}

#sidebarOptions .sliderPanel a {font-weight:normal; color:#555;background-color: #eee; border-bottom:1px dotted #333;}


#sidebarOptions .sliderPanel a:hover {
color:#111;
background-color: #eee;
border:none;
border-bottom:1px dotted #111;
}

.tabContents {background:#fefefe;}




.tagging, .tagged {
border: 1px solid #eee;
background-color: #F7F7F7;
}

.selected .tagging, .selected .tagged {
background-color: #f7f7f7;
border: 1px solid #ccc;
}

.tagging .listTitle, .tagged .listTitle {
color: #bbb;
}

.selected .tagging .listTitle, .selected .tagged .listTitle {
color: #666;
}

.tagging .button, .tagged .button {
color:#ccc;
}
.selected .tagging .button, .selected .tagged .button {
color:#aaa;
}

.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}

.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
border: none; background:transparent; text-decoration:underline; color:#333;
}

.popup {
background: #A60000;
border: 1px solid #A60000;
}

.popup li.disabled {
color: #000;
}

.popup li a, .popup li a:visited {
color: #eee;
border: none;
}

.popup li a:hover {
background: #bf1717;
color: #fff;
border: none;
}



   #messageArea {

border: 4px solid #A60000;
background: #fefefe;
color: #555;
font-size:90%;
}

   #messageArea a:hover { background:#f5f5f5; border:none;}


   #messageArea .button{
color: #666;
border: 1px solid #A60000;
}

   #messageArea .button:hover {
color: #fff;
background: #A60000;
border-color: #A60000;
}

   #contentFooter {background:#A60000; color:#DF7D7D; clear: both; padding: 0.5em 1em; }


#contentFooter a {
color: #DF7D7D;
border-bottom: 1px dotted #DF7D7D; font-weight:normal;text-decoration:none;
}



#contentFooter a:hover {
color: #FFFFFF;
background-color:transparent;
border-bottom: 1px dotted #fff; text-decoration:none;
}




.searchBar {float:right;font-size: 1.0em;position:relative; margin-top:1.3em;}
.searchBar .button {color:#999;display:block;}
.searchBar .button:hover {border:1px solid #fefefe;color:#4F4B45;}
.searchBar input {			
                        background-color: #fefefe;
			color: #999999;
			border: 1px solid #CCC;		margin-right:3px;
}

.tiddler {padding-bottom:10px; width:100%%; 

.viewer blockquote {
border-left: 5px solid #A60000;
}

.viewer table, .viewer td {
border: 1px solid #A60000;
}

.viewer th, thead td {
background: #A60000;
border: 1px solid #A60000;
color: #fff;
}
.viewer pre {
	border: 1px solid #ccc;
	background: #f5f5f5;
}

.viewer code {
color: #111; background:#f5f5f5;
}

.viewer hr {
border-top: dashed 1px #555;
}

.editor input {
border: 1px solid #888; margin-top:5px;
}

.editor textarea {
border: 1px solid #888;
}

h1,h2,h3,h4,h5 { color: #A60000; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }
h1 {font-size:18px;}
h2 {font-size:16px;}
h3 {font-size: 14px;}
/*}}}*/
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-04-02</dc:date>
</item>
<item>
<title>Login</title>
<link>http://kennison.name/work/notes/#Login</link>
<description>&lt;&lt;login&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>OptionsPanel</title>
<link>http://kennison.name/work/notes/#OptionsPanel</link>
<description>&lt;&lt;option chkRegExpSearch&gt;&gt; ~RegExp Search
&lt;&lt;option chkCaseSensitiveSearch&gt;&gt; Case sensitive search
&lt;&lt;option chkAnimate&gt;&gt; Enable animations
&lt;&lt;option chkOpenInNewWindow&gt;&gt; Open links in new window
&lt;&lt;option chkToggleLinks&gt;&gt; Links close open tiddlers
&lt;&lt;option chkConfirmDelete&gt;&gt; Confirm before deleting
&lt;&lt;option chkForceMinorUpdate&gt;&gt; Preserve date/time on edit
&lt;&lt;option chkInsertTabs&gt;&gt; Insert tab characters
&lt;&lt;option txtMaxEditRows&gt;&gt; Maximum editor rows
----
PluginManager
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>Macros</title>
<link>http://kennison.name/work/notes/#Macros</link>
<description>[[Maco Reference|http://www.tiddlywiki.org/wiki/Category:Macros]]</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>GettingStarted</title>
<link>http://kennison.name/work/notes/#GettingStarted</link>
<description>To get started with this blank ZiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle &amp; SiteSubtitle: The title and subtitle of the site, as shown above
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the ZiddlyWiki is opened
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>TaggerPlugin</title>
<link>http://kennison.name/work/notes/#TaggerPlugin</link>
<description>/***
|''Name:''|~TaggerPlugin|
|''Version:''|1.0.1 (2006-06-01)|
|''Source:''|http://tw.lewcid.org//#TaggerPlugin|
|''Author:''|SaqImtiaz|
|''Description:''|Provides a drop down listing current tiddler tags, and allowing toggling of tags.|
|''Documentation:''|[[TaggerPluginDocumentation]]|
|''Source Code:''|[[TaggerPluginSource]]|
|''~TiddlyWiki:''|Version 2.0.8 or better|
***/
// /%
config.tagger={defaults:{label:&quot;Tags: &quot;,tooltip:&quot;Manage tiddler tags&quot;,taglist:&quot;true&quot;,excludeTags:&quot;&quot;,notags:&quot;tiddler has no tags&quot;,aretags:&quot;current tiddler tags:&quot;,toggletext:&quot;add tags:&quot;}};config.macros.tagger={};config.macros.tagger.arrow=(document.all?&quot;Ã¢ÂÅ&quot;:&quot;Ã¢ÂÅž&quot;);config.macros.tagger.handler=function(_1,_2,_3,_4,_5,_6){var _7=config.tagger.defaults;var _8=_5.parseParams(&quot;tagman&quot;,null,true);var _9=((_8[0].label)&amp;&amp;(_8[0].label[0])!=&quot;.&quot;)?_8[0].label[0]+this.arrow:_7.label+this.arrow;var _a=((_8[0].tooltip)&amp;&amp;(_8[0].tooltip[0])!=&quot;.&quot;)?_8[0].tooltip[0]:_7.tooltip;var _b=((_8[0].taglist)&amp;&amp;(_8[0].taglist[0])!=&quot;.&quot;)?_8[0].taglist[0]:_7.taglist;var _c=((_8[0].exclude)&amp;&amp;(_8[0].exclude[0])!=&quot;.&quot;)?(_8[0].exclude[0]).readBracketedList():_7.excludeTags.readBracketedList();if((_8[0].source)&amp;&amp;(_8[0].source[0])!=&quot;.&quot;){var _d=_8[0].source[0];}if(_d&amp;&amp;!store.getTiddler(_d)){return false;}var _e=function(e){if(!e){var e=window.event;}var _11=Popup.create(this);var _12=store.getTags();var _13=new Array();for(var i=0;i&lt;_12.length;i++){_13.push(_12[i][0]);}if(_d){var _15=store.getTiddler(_d);_13=_15.tags.sort();}var _16=_6.tags.sort();var _17=function(_18,_19,_1a){var sp=createTiddlyElement(createTiddlyElement(_11,&quot;li&quot;),&quot;span&quot;,null,&quot;tagger&quot;);var _1c=createTiddlyButton(sp,_18,_1a+&quot; '&quot;+_19+&quot;'&quot;,taggerOnToggle,&quot;button&quot;,&quot;toggleButton&quot;);_1c.setAttribute(&quot;tiddler&quot;,_6.title);_1c.setAttribute(&quot;tag&quot;,_19);insertSpacer(sp);if(window.createTagButton_orig_mptw){createTagButton_orig_mptw(sp,_19)}else{createTagButton(sp,_19);}};createTiddlyElement(_11,&quot;li&quot;,null,&quot;listTitle&quot;,(_6.tags.length==0?_7.notags:_7.aretags));for(var t=0;t&lt;_16.length;t++){_17(&quot;[x]&quot;,_16[t],&quot;remove tag &quot;);}createTiddlyElement(createTiddlyElement(_11,&quot;li&quot;),&quot;hr&quot;);if(_b!=&quot;false&quot;){createTiddlyElement(_11,&quot;li&quot;,null,&quot;listTitle&quot;,_7.toggletext);for(var i=0;i&lt;_13.length;i++){if(!_6.tags.contains(_13[i])&amp;&amp;!_c.contains(_13[i])){_17(&quot;[ ]&quot;,_13[i],&quot;add tag &quot;);}}createTiddlyElement(createTiddlyElement(_11,&quot;li&quot;),&quot;hr&quot;);}var _1f=createTiddlyButton(createTiddlyElement(_11,&quot;li&quot;),(&quot;Create new tag&quot;),null,taggerOnToggle);_1f.setAttribute(&quot;tiddler&quot;,_6.title);if(_d){_1f.setAttribute(&quot;source&quot;,_d);}Popup.show(_11,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};createTiddlyButton(_1,_9,_a,_e,&quot;button&quot;,&quot;taggerDrpBtn&quot;);};window.taggerOnToggle=function(e){var tag=this.getAttribute(&quot;tag&quot;);var _22=this.getAttribute(&quot;tiddler&quot;);var _23=store.getTiddler(_22);if(!tag){var _24=prompt(&quot;Enter new tag:&quot;,&quot;&quot;);if(_24!=&quot;&quot;&amp;&amp;_24!=null){var tag=_24;if(this.getAttribute(&quot;source&quot;)){var _26=store.getTiddler(this.getAttribute(&quot;source&quot;));_26.tags.pushUnique(_24);}}else{return false;}}if(!_23||!_23.tags){store.saveTiddler(_22,_22,&quot;&quot;,config.options.txtUserName,new Date(),tag);}else{if(_23.tags.find(tag)==null){_23.tags.push(tag);}else{if(!_24){_23.tags.splice(_23.tags.find(tag),1);}}store.saveTiddler(_23.title,_23.title,_23.text,_23.modifier,_23.modified,_23.tags);}story.refreshTiddler(_22,null,true);if(config.options.chkAutoSave){saveChanges();}return false;};setStylesheet(&quot;.tagger a.button {font-weight: bold;display:inline; padding:0px;}\n&quot;+&quot;.tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\n&quot;+&quot;#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\n&quot;+&quot;.popup .listTitle {color:#000;}\n&quot;+&quot;&quot;,&quot;TaggerStyles&quot;);window.lewcidTiddlerSwapTag=function(_27,_28,_29){for(var i=0;i&lt;_27.tags.length;i++){if(_27.tags[i]==_28){_27.tags[i]=_29;return true;}}return false;};window.lewcidRenameTag=function(e){var tag=this.getAttribute(&quot;tag&quot;);var _2d=prompt(&quot;Rename tag '&quot;+tag+&quot;' to:&quot;,tag);if((_2d==tag)||(_2d==null)){return false;}if(store.tiddlerExists(_2d)){if(confirm(config.messages.overwriteWarning.format([_2d.toString()]))){story.closeTiddler(_2d,false,false);}else{return null;}}tagged=store.getTaggedTiddlers(tag);if(tagged.length!=0){for(var j=0;j&lt;tagged.length;j++){lewcidTiddlerSwapTag(tagged[j],tag,_2d);}}if(store.tiddlerExists(tag)){store.saveTiddler(tag,_2d);}if(document.getElementById(&quot;tiddler&quot;+tag)){var _2f=document.getElementById(story.idPrefix+tag);var _30=story.positionTiddler(_2f);var _31=document.getElementById(story.container);story.closeTiddler(tag,false,false);story.createTiddler(_31,_30,_2d,null);story.saveTiddler(_2d);}if(config.options.chkAutoSave){saveChanges();}return false;};window.onClickTag=function(e){if(!e){var e=window.event;}var _34=resolveTarget(e);var _35=(!isNested(_34));if((Popup.stack.length&gt;1)&amp;&amp;(_35==true)){Popup.removeFrom(1);}else{if(Popup.stack.length&gt;0&amp;&amp;_35==false){Popup.removeFrom(0);}}var _36=(_35==false)?&quot;popup&quot;:&quot;nestedtagger&quot;;var _37=createTiddlyElement(document.body,&quot;ol&quot;,_36,&quot;popup&quot;,null);Popup.stack.push({root:this,popup:_37});var tag=this.getAttribute(&quot;tag&quot;);var _39=this.getAttribute(&quot;tiddler&quot;);if(_37&amp;&amp;tag){var _3a=store.getTaggedTiddlers(tag);var _3b=[];var li,r;for(r=0;r&lt;_3a.length;r++){if(_3a[r].title!=_39){_3b.push(_3a[r].title);}}var _3d=config.views.wikified.tag;if(_3b.length&gt;0){var _3e=createTiddlyButton(createTiddlyElement(_37,&quot;li&quot;),_3d.openAllText.format([tag]),_3d.openAllTooltip,onClickTagOpenAll);_3e.setAttribute(&quot;tag&quot;,tag);createTiddlyElement(createTiddlyElement(_37,&quot;li&quot;),&quot;hr&quot;);for(r=0;r&lt;_3b.length;r++){createTiddlyLink(createTiddlyElement(_37,&quot;li&quot;),_3b[r],true);}}else{createTiddlyText(createTiddlyElement(_37,&quot;li&quot;,null,&quot;disabled&quot;),_3d.popupNone.format([tag]));}createTiddlyElement(createTiddlyElement(_37,&quot;li&quot;),&quot;hr&quot;);var h=createTiddlyLink(createTiddlyElement(_37,&quot;li&quot;),tag,false);createTiddlyText(h,_3d.openTag.format([tag]));createTiddlyElement(createTiddlyElement(_37,&quot;li&quot;),&quot;hr&quot;);var _40=createTiddlyButton(createTiddlyElement(_37,&quot;li&quot;),(&quot;Rename tag '&quot;+tag+&quot;'&quot;),null,lewcidRenameTag);_40.setAttribute(&quot;tag&quot;,tag);}Popup.show(_37,false);e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}return (false);};if(!window.isNested){window.isNested=function(e){while(e!=null){var _42=document.getElementById(&quot;contentWrapper&quot;);if(_42==e){return true;}e=e.parentNode;}return false;};}config.shadowTiddlers.TaggerPluginDocumentation=&quot;The documentation is available [[here.|http://tw.lewcid.org/#TaggerPluginDocumentation]]&quot;;config.shadowTiddlers.TaggerPluginSource=&quot;The uncompressed source code is available [[here.|http://tw.lewcid.org/#TaggerPluginSource]]&quot;;
// %/</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>ToggleSideBarMacro</title>
<link>http://kennison.name/work/notes/#ToggleSideBarMacro</link>
<description>/***

|Name|ToggleSideBarMacro|
|Created by|SaqImtiaz|
|Location|http://tw.lewcid.org/#ToggleSideBarMacro|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Provides a button for toggling visibility of the SideBar. You can choose whether the SideBar should initially be hidden or displayed.

!Demo
&lt;&lt;toggleSideBar &quot;Toggle Sidebar&quot;&gt;&gt;

!Usage:
{{{&lt;&lt;toggleSideBar&gt;&gt;}}} &lt;&lt;toggleSideBar&gt;&gt;
additional options:
{{{&lt;&lt;toggleSideBar label tooltip show/hide&gt;&gt;}}} where:
label = custom label for the button,
tooltip = custom tooltip for the button,
show/hide = use one or the other, determines whether the sidebar is shown at first or not.
(default is to show the sidebar)

You can add it to your tiddler toolbar, your MainMenu, or where you like really.
If you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:
{{{ .HideSideBarButton {float:right;} }}}

!History
*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour. 
*20-07-06: version 0.11
*27-04-06: version 0.1: working.

!Code
***/
//{{{
config.macros.toggleSideBar={};

config.macros.toggleSideBar.settings={
         styleHide :  &quot;#sidebar { display: none;}\n&quot;+&quot;#contentWrapper #displayArea { margin-right: 1em;}\n&quot;+&quot;&quot;,
         styleShow : &quot; &quot;,
         arrow1: &quot;ÃÂ«&quot;,
         arrow2: &quot;ÃÂ»&quot;
};

config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
          var tooltip= params[1]||'toggle sidebar';
          var mode = (params[2] &amp;&amp; params[2]==&quot;hide&quot;)? &quot;hide&quot;:&quot;show&quot;;
          var arrow = (mode == &quot;hide&quot;)? this.settings.arrow1:this.settings.arrow2;
          var label= (params[0]&amp;&amp;params[0]!='.')?params[0]+&quot; &quot;+arrow:arrow;
          var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,&quot;button HideSideBarButton&quot;);
          if (mode == &quot;hide&quot;)
             { 
             (document.getElementById(&quot;sidebar&quot;)).setAttribute(&quot;toggle&quot;,&quot;hide&quot;);
              setStylesheet(this.settings.styleHide,&quot;ToggleSideBarStyles&quot;);
             }
};

config.macros.toggleSideBar.onToggleSideBar = function(){
          var sidebar = document.getElementById(&quot;sidebar&quot;);
          var settings = config.macros.toggleSideBar.settings;
          if (sidebar.getAttribute(&quot;toggle&quot;)=='hide')
             {
              setStylesheet(settings.styleShow,&quot;ToggleSideBarStyles&quot;);
              sidebar.setAttribute(&quot;toggle&quot;,&quot;show&quot;);
              this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
              }
          else
              {    
               setStylesheet(settings.styleHide,&quot;ToggleSideBarStyles&quot;);
               sidebar.setAttribute(&quot;toggle&quot;,&quot;hide&quot;);
               this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
              }

     return false;
}

setStylesheet(&quot;.HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n&quot;,&quot;ToggleSideBarButtonStyles&quot;);

//}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>Contents By Title</title>
<link>http://kennison.name/work/notes/#%5B%5BContents%20By%20Title%5D%5D</link>
<description>&lt;&lt;list all&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-30</dc:date>
</item>
<item>
<title>Grant Ideas</title>
<link>http://kennison.name/work/notes/#%5B%5BGrant%20Ideas%5D%5D</link>
<description>&gt;Engaging the broader library community in implementing leading-edge advances such as those described above and others re-sulting from programs offered by IMLS and private funders such as the Mellon Foundation. More than just a matter of disseminating information about these advances, this broader engagement will require systematic and systemic effort to help different audiences learn a new language, with faculty needing to understand issues of librarianship and librarians growing to appreciate faculty roles. Of particular interest is the challenge these changing roles will place on the future structure and content of graduate and professional school programs.

This is a interesting take on the subject</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-27</dc:date>
</item>
<item>
<title>Formatting Preformatted Text</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20Preformatted%20Text%5D%5D</link>
<description>{{{
 {{{
 preformatted (e.g. code)
 }}}
}}}
&lt;&lt;&lt;
{{{
preformatted (e.g. code)
}}}
&lt;&lt;&lt;
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formatting - Special Markers</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20-%20Special%20Markers%5D%5D</link>
<description>* {{{&lt;br&gt;}}} forces a manual line break
* {{{----}}} creates a horizontal ruler
* [http://www.tiddlywiki.com/#HtmlEntities HTML entities]
* {{{&lt;&lt;macroName&gt;&gt;}}} calls the respective [[macro|Macros]]
* To hide text within a tiddler so that it is not displayed, it can be wrapped in {{{/%}}} and {{{%/}}}.&lt;br/&gt;This can be a useful trick for hiding drafts or annotating complex markup.
* To prevent wiki markup from taking effect for a particular section, that section can be enclosed in three double quotes: e.g. {{{&quot;&quot;&quot;WikiWord&quot;&quot;&quot;}}}.</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formatting - Inserting Images</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20-%20Inserting%20Images%5D%5D</link>
<description>cf. [[TiddlyWiki.com|http://www.tiddlywiki.com/#EmbeddedImages]]
{{{
[img[title|filename]]
[img[filename]]
[img[title|filename][link]]
[img[filename][link]]
}}}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formatting Tables</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20Tables%5D%5D</link>
<description>{{{
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|&gt;|COLSPAN|
|ROWSPAN| ... |
|~| ... |
|CssProperty:value;...| ... |
|caption|c
}}}
''Annotation:''
* The {{{&gt;}}} marker creates a &quot;colspan&quot;, causing the current cell to merge with the one to the right.
* The {{{~}}} marker creates a &quot;rowspan&quot;, causing the current cell to merge with the one above.
&lt;&lt;&lt;
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|&gt;|COLSPAN|
|ROWSPAN| ... |
|~| ... |
|CssProperty:value;...| ... |
|caption|c
&lt;&lt;&lt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formatting Lists</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20Lists%5D%5D</link>
<description>{{{
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### unordered list, level 3

; definition list, term
: definition list, description
}}}
&lt;&lt;&lt;
* unordered list, level 1
** unordered list, level 2
*** unordered list, level 3

# ordered list, level 1
## ordered list, level 2
### unordered list, level 3

; definition list, term
: definition list, description
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formating Inline Text</title>
<link>http://kennison.name/work/notes/#%5B%5BFormating%20Inline%20Text%5D%5D</link>
<description>|!Option|!Syntax|!Output|
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|monospaced text|{{{{{{monospaced}}}}}}|{{{monospaced}}}|</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Formatting Headings</title>
<link>http://kennison.name/work/notes/#%5B%5BFormatting%20Headings%5D%5D</link>
<description>!!Headings
{{{
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
}}}
&lt;&lt;&lt;
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5

</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>StyleSheetLayout</title>
<link>http://kennison.name/work/notes/#StyleSheetLayout</link>
<description>* html .tiddler {height:1%;}

body {font-size: .85em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>StyleSheetColors</title>
<link>http://kennison.name/work/notes/#StyleSheetColors</link>
<description>body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background::[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';
#ZiddlyFormats,#ZiddlyPowered,#ZiddlyFormats a,#ZiddlyPowered a{color:#fff};}
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-23</dc:date>
</item>
<item>
<title>Tagcloud</title>
<link>http://kennison.name/work/notes/#Tagcloud</link>
<description>&lt;&lt;tagCloud&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-22</dc:date>
</item>
<item>
<title>TopMenu</title>
<link>http://kennison.name/work/notes/#TopMenu</link>
<description>PageTemplate
StyleSheet
MainMenu
DefaultTiddlers
&lt;&lt;toggleSideBar&gt;&gt; 
</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-20</dc:date>
</item>
<item>
<title>AdvancedOptions</title>
<link>http://kennison.name/work/notes/#AdvancedOptions</link>
<description>&lt;&lt;options&gt;&gt;</description>
<dc:creator>brian</dc:creator>
<dc:date>2009-03-20</dc:date>
</item>
</channel>
</rss>
