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
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<<importTiddlers>>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<!--{{{-->
<div class='header' role='banner' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/*{{{*/
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]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#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]];}

.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]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#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);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; 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 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.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:0 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 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

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

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

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding: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 0;}
.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 0 0 0.5em;}
.tab {margin:0 0 0 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 0 14em;}

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

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

.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:0 0.25em; padding:0 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:0 3px 0 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 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

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

.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;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
!@@color(#6C6F74):''Welcome!''@@
|bgcolor(yellow): This is an experimental version - in this experimental version new teams get a nearly empty manual with just information on how to use the manual, and the [[Core Features of AMBIT]]... They get this space included in their local space, but NOT the @ambit-content space (which is, however, available as it is another part of the AMBIT [[Community of Practice]]). They can then fill their manual via the [[Community of Practice]]/[[Comparing and Sharing functions]] that are built in.  Clicking on a [[Missing]] link like [[This one right here...]] opens a "missing link" - the [[Show references and info]] panel in this missing link will reveal whether there are ''Other versions''of this page and (soon to come...) there will be button options beside any other versions listed, to ''"Show"'' and/or to ''"Clone and Customise"'' one of these versions - just as you can use these buttons when browsing the community of practice in the panel below... |

This web based manual is built in layers, with core content from the AMBIT project (based at the [[AnnaFreudCentre]] charity) that local teams can then build upon in their own local versions - documenting and SHARING their own expertise and learning about what works for whom.  So it contains all you need to know about our team, support for implementing and using the [[AMBIT training]], and more.  Get signposted to the growing community of practice of AMBIT-influenced teams via the signposting site [[www.tiddlymanuals.com|http://www.tiddlymanuals.com]].

!!@@color(#557694):''Note to new users:''@@
|bgcolor(lightblue): Newly-opened pages (from clicking [[Links]]) can be found in your "Currently Open" list, in the lefthand margin, or you can keep scrolling down to find them at the bottom of your [[Desktop]]. And avoid using your browser's 'back' and 'forwards' buttons.  It is well worth taking a few minutes to learn [[how to use a tiddlymanual|Using the Manual]]! |

!!@@color(#A73853):''Browse our team's developing practice''@@
|bgcolor(pink): <br> <<slider chkOurTeamSlider [[OUR Team]] "Discover OUR team »" "Click here if you wish to read about OUR team">><br><br> If you are looking at a [[local version of the AMBIT manual|Community of Practice]], here you'll find a range of ways to learn about the local team which has adapted the ambit core content, and to browse the content that that team has authored locally.<br> |

!!@@color(#557694):''What's the AMBIT Community writing about?''@@
|bgcolor(lightblue): <br><<slider chkCoPSlider [[Community of Practice widget]] "Browse the Community of Practice »" "Click here if you wish to view recent edits from across the community" noRefresh>><br><br>When browsing the [[Community of Practice]] you'll see titles of the most recent pages edited by teams.  You can __click on a page you are interested in__ to see a preview snippet, or using the ''"Go To"'' button you can open that page in a separate tab in your web browser.  If you are [[logged in|Log in]] and switched to [[Edit mode]] in your own local manual, then clicking a page title will reveal not only the ''"Go To"'' button, but also the [[Clone and Customise]] button: if there is no version of that page already in your own manual, then clicking this button instantly clones a copy of that team's new page into your own manual, so you can build on their good work.<br>The original page will be marked to say that others have cloned it - praise indeed.<br> |

!!@@color(#A73853):''How is the AMBIT core content developing?''@@
|bgcolor(pink): <br><<slider chkCoPCoreSlider [[Community of Practice core changes widget]] "Browse changes to core AMBIT content »" "Click here if you wish to view recent changes to the core content of the manual" noRefresh>><br><br>Just as a local version develops with the learning of a local team, so the core content of AMBIT is constantly a "work in progress", with refinements in response to clinical realities or developing evidence of effectiveness.<br> |

!!@@color(#557694):''News from the AMBIT project based at the AFC''@@
|bgcolor(lightblue): <br><<slider chkCoPCoreSlider [[News from the AMBIT project at AFC]] "Browse News from the AMBIT project »" "Click here if you wish to view news of conferences, research, trainings, publications and staff from the AMBIT project administration based at the Anna Freud Centre.">><br><br> Stay in touch with news of conferences, research, forthcoming trainings, publications and staff from the AMBIT project administration based at the Anna Freud Centre.<br> |

!!''@@color(#6C6F74):Click on an icon below to access content:@@''
[img[AMBIT Manual Front Door|http://ambit-theme-v3-test.tiddlyspace.com/getting-started-icons.png]]<<imageMap MapFrontDoor-v3>>
No icons? See below for text links - [[your IT system may have blocked access to pictures|Organisational support for the technology to run TiddlyManuals]]

!!''@@color(#6C6F74):Explore AMBIT in a diagram@@''
Click on where you want to go (or scroll down for more content.)
[img[AMBIT Core Features|http://ambit-theme-v3-test.tiddlyspace.com/ambit_wheel.png]]<<imageMap MapWheel>><<imageMap MapWheel>><<imageMap MapWheel>>

!!''@@color(#6C6F74):Who is this manual for?@@''
This manual is primarily for WORKERS, but it is OPEN SOURCE so that if clients or other interested parties are interested they are welcome to look, too.  See [[Who is this manual for?]] and [[Current versions of the AMBIT manual]], which is just one of the [[Comparing and Sharing functions]] that support AMBIT as a [[Community of Practice]].

!!''@@color(#6C6F74):Specific tasks@@''
*''[[I want a brief introduction to AMBIT|AMBIT: an overview]]''
*''[[I want to learn about using this TiddlyManual|Using the Manual]]''
*''[[I am just starting work with a client|INITIAL PHASE]]''
*''[[I am already working with a client; where next?|INTERVENTION PHASE]]''
*''[[I want to look up a specific piece of information, or surf and browse|Find your way around]]''
*''[[I just want to fill an AIM questionnaire|AIM Form]]''
*''[[I am authorized to edit to our local team's manual]]''
*[[I want to find out about AMBIT training|AMBIT training]]
*''[[None of the above!]]''

!!''@@color(#6C6F74):Recent Changes@@''
The content of this manual is constantly updating - track recent changes here:
<<recentChanges 90>>
!!''@@color(#6C6F74):Important Legal stuff:@@''
There are important issues relating to [[Security and authorization]] to use this manual, and by going on into the manual you are agreeing to abide by the rules laid out.
!!''@@color(#6C6F74):Feedback:@@''
You are invited to give [[Feedback please!]]
!!''@@color(#6C6F74):Sponsors:@@''
The AMBIT project is grateful to Comic Relief and their other [[Sponsors]], without whom this manual would not be possible.
!description
Young person is involved in non-mandatory organized school or community activities, such as sports, clubs, church groups, etc.
!end of description

!breakdown
''0+'' = Actively engaged in range of social activities.<br>
''0 = No problem''. Regularly involved in at least one social activity e.g. club, sports team.<br>
''1 = Mild''. Periodic involvement but inconsistent, attendance, Actively, regularly involved in at least one social activity.<br>
''2 = Moderate''. Attends some activities sporadically, but not very involved in any one/does not maintain involvement.<br>
''3 = Severe''. Rare involvement or interest in organised activities, usually attends single occasion only.<br>
''4 = Very severe''. Has been repeatedly asked to leave social activities because of behaviour problems.<br>
!end of breakdown
!description
Attendance at School, Emplyoment or Training courses.  This is a measure of the extent of meaningful activity in the young person's life  Behaviour and attainment are coded separately. Rate the attendance by the young person in the most recent academic, training or work environment, during the most recent 3-month period for which information is available. 
!end of description

!breakdown
0+ = Attending at an above average level; e.g. particularly committed and working long hours productively.<br>
0  = No problem. Attending Education, Employment or a Training course for most or all of the working week.<br>
1 = Attending satisfactorily, but only part-time or on a reduced timetable on account of difficulties, so that some days during the working week are without meaningful activity.  Occasionally truants or refuses to attend scheduled activities.<br>
2 = Moderate problems with attendance - misses days or parts of days on most weeks, with or without the knowledge of parents or carers.<br>
3 = Severe. Missing more time than than attending, and very clear detrimental effect on progress at place of work.<br>
4 = Very severe. Rarely attends, if at all; at high risk of exclusion/dismissal, or has entirely dropped out of Education, Employment or Training.
!end of breakdown
!description
Functioning in school, employment or training; includes academic performance and behaviour.  Since intellectual ability is recorded elsewhere, do not adjust this rating for perceived ability. Rate how the young person is functioning in the most recent academic or work environment, during the most recent 3-month period for which information is available. 
!end of description

!breakdown
0+ = Working at above average level, areas of strength. Good reports from teachers or employers.<br>
0  = No problem. Working at least at an average level; may have some areas of weakness and/or strength.<br>
1 = Mild. Working below year level in at least one academic area, working satisfactorily in others.  Employer recognises certain problems (timekeeping, workrate, etc) but they do not threaten employment status.<br>
2 = Moderate. Significant academic problems in several areas (e.g. fails maths and science exams), receives formal warnings from employer.<br>
3 = Severe. Consistently working below year level in most areas e.g. D average if graded.  Threatened dismissal from work.<br>
4 = Very severe. Far below year expectations in most academic areas e.g. failing most academic classes, retained a year, dropped out of school, dismissed from employment or unemployed with little appreciable engagement with job-hunting.
!end of breakdown
!description
Skills/talents in activities such as athletics, art, music, mechanical, computers
!end of description

!breakdown
0+ = Very good. Young person excels in at least one area of interest, recognized by others as being talented or exceptionally skilled, e.g. wins art competitions, star basketball player, soloist in city-wide choir.<br>
0 = Good. Shows talent and persistent interest in at least one area, e.g. takes music lessons and plays in orchestra for several years,develops skills working on cars.<br>
1 = Average. Has some interests, and participates in individual or group hobbies or activities, but has not developed any one area where skills or abilities make him or her stand out.<br>
2 = Significant difficulties. Has few interests or activities, or moves quickly from one to another without persisting long enough to develop skills; e.g. joins soccer team and quits after a few weeks, tries an instrument but drops it when frustrated.<br>
3 = Major difficulties. No special interests or activities acknowledged by the young person.<br>
4 = Very severe difficulties - no one in the young person's network can identify interests or activities, even ones that were evident in the past.
!end of breakdown
!description
Includes major illnesses or injuries and chronic conditions such as diabetes, arthritis, side effects of medication, physical effects of  alcohol/substance abuse. Excludes transient conditions e.g. influenza, sprained wrist.
!end of description

!breakdown
0+ = In especially good physical condition, very fit, etc.<br>
0 = No problem. In good physical health, no obvious health problems.<br>
1 = Mild. Some health problems but well-controlled and/or unlikely to require significant adjustment of lifestyle.<br>
2 = Moderate. Significant health problems requiring medical intervention, monitoring, or adjustment of lifestyle to prevent deterioration, e.g. inadequately controlled diabetes, asthma, epilepsy.<br>
3 = Severe. In poor health.  Suffering from serious condition(s); physically frail.  Requires intensive medical intervention, major adaptation of lifestyle, and/or extensive monitoring, e.g. brittle diabetes, serious juvenile arthritis, cystic fibrosis.<br>
4 = Very severe. Very poor health.  Suffering from imminently life threatening condition, e.g. medically compromised anorectic, acute heart condition, active AIDS.<br>
!end of breakdown
!description
The extent to which the young person performs tasks such as hygiene, dressing, eating, and attention to personal health needs in age-appropriate manner; if the young person has not been given the opportunity to learn a particular skill (e.g. tie shoes because he has no shoes with ties), do not penalize, and rate on overall functioning.
!end of description

!breakdown
0+ = Good. Takes an active interest in maintaining good health and appearance; i.e. is aware of and maintains personal appearance, well turned out, good hygiene, healthy diet.<br>
0 = No problem. Maintains appearance, self-care to reasonable degree with little or no prompting.<br>
1 = Mild. Has skills but sometimes refuses or neglects self-care tasks, or has a circumscribed problem that does not affect social functioning seriously, e.g. compulsive hand washing.<br>
2 = Moderate. Substantive deficit in self-care in one area that impacts social functioning, e.g. daytime enuresis, unkempt appearance that leads to peer  teasing.<br>
3 = Severe. Significant deficits in self-care in more than one area, impacting social and/or family functioning, or deficits impact health, e.g. diabetic teen does not  monitor food and blood sugar.<br>
4 = Very severe. Significant deficits in most or all areas of self-care, cannot function independently to bathe, dress, and prepare for school, creating major family, social, and/or health problems.
!end of breakdown
!description
Rating of general impairment or disability from any cause that limits or prevents movement, or impairs sight or hearing, or otherwise interferes with personal functioning. Includes impairment resulting from congenital conditions, side effects of medication, physical disabilities resulting from accidents, etc.  DO NOT SELECT THIS AS A KEY PROBLEM if the disability is not amenable to change.
!end of description

!breakdown
0 = No physical impairment/disability.<br>
1 = Mild. Impairment/disability imposes mild restriction on activity/mobility, e.g. mild CP makes young person clumsy and impairs ability to compete in sports, hearing loss causes some problems in academic functioning.<br>
2 = Moderate. Restriction in significant areas of activity due to impairment/disability, severe seasonal asthma keeps the young person from participating in outdoor activities for several months each year.<br>
3 = Severe. Major restrictions in activity due to impairment/disability, e.g. confined to a wheelchair.<br>
4 = Very severe. Fully dependent. Activity/mobility severely restricted by impairment/disability e.g. quadriplegic, or confined to bed because of severe malnutrition related to anorexia.<br>
!end of breakdown
!description
Rate social development and maturity, in comparison with peers of the same culture and age. This item would cover (although is not limited to) the kinds of problems with social interaction that are commonly observed in pervasive developmental disorders such as the autistic spectrum.  DO NOT SELECT THIS AS A KEY PROBLEM IF A DEVELOPMENTAL DEFICIT IS NOT AMENABLE TO CHANGE.
!end of description

!breakdown
0+ = Good. Young person is mature for age, interacts like an older young person, gets along with older peers, seen as 'mature'.<br>
0 = No problem. Young person is typical for age, similar to peers.<br>
1 = Mild. Slightly immature, noticeably ‘younger’ in behaviour/attitudes/awareness e.g. less aware of dress/music other areas of interest shared by peer group.<br>
2 = Moderate. Young person is markedly immature, tends to fit in with younger peers, has regular lapses in social judgement. <br>
3 = Severe. Social deficit. Seen as immature or ‘out of tune’ socially, difficulty fitting in to a peer group, either because of overt immaturity or inappropriate responses to social cues.<br>
4= Very severe. Widespread social deficit. Grossly immature, no or minimal ability to respond appropriately, perceived as misfit, rejected by all groups, isolated.
!end of breakdown
!description
Young person is engaging, likeable, interested in interacting with people.  Social skills and interaction may be reduced for many reasons.  For (lilfe-long) developmental problems in managing reciprocal relationships (such as autistic spectrum difficulties) see also item 08 Young person daily life - Social development.
!end of description

!breakdown
0+ = Good. Young person is likeable, has good social skills, actively enjoys and seeks out interaction with people of all ages.<br>
0 = No problem. Interacts adequately with most people, adequate social skills in relation to people of all ages.<br>
1 = Mild. Engages adequately with most people, has adequate social skills but some difficulties in interaction e.g. shy, hard to engage, awkward with some adults.<br>
2 = Moderate. Noticeable difficulties in peer and/or adult interactions, is withdrawn or interacts inappropriately at times.<br>
3 = Severe. Widespread difficulties in interaction, frequently inappropriate social skills, poor understanding of social cues. <br>
4 = Very severe. Serious problems in social skills or interactions, e.g. is isolated, has no friends, consistently  misreads social cues or responds inappropriately, is consistently hostile and cannot maintain relationships
!end of breakdown
!description
Child or young person's ability to access stable, appropriate housing.  For older adolescents the assumption that the home is a //family// home may not be appropriate.
!end of description

!breakdown
0+ = Good. (Family) home is secure and young person stable within it.<br>
0 = No problem. (Family) home is stable, occasional conflicts are resolved without recourse to threats about eviction.<br>
1 = Mild. (Family's) tenure at home may be at risk, but not imminently so, or conflict at home results in occasional threats about the young person leaving, or having to leave home.<br>
2 = Moderate. Significant risk that the family/young person will lose tenure of the home, or that conflict will lead to permanent expulsion of the young person, who spends occasional nights with friends or relatives to avoid conflict.<br>
3 = Severe. Family/young person has no stable housing - accomodation may be temporary, and inappropriate, or young person may be spending significant periods out of the family home, either by choice or at the family's insistence, or is in temporary housing.<br>
4 = Very severe. Young person is homeless - staying with friends ('sofa-surfing'), or street homeless.
!end of breakdown
!description
Family's ability to provide concrete resources for the young person; e.g. financial stability, appropriate housing, clothing, etc.  In the case of older adolescents living independently, this may refer to their capacity to access the same independently, via work or appropriate benefits.
!end of description

!breakdown
0+ = Good. Family/young person is financially secure and can access funds/resources as required to help the young person.<br>
0 = No problem. Family/young person is financially stable, has access to funds and resources to meet the young person's basic needs.<br>
1 = Mild. Family/young person is financially stable but resources are stretched to meet all of the young person's significant needs.<br>
2 = Moderate. Family's/young person's limitations are such that some of the young person's needs cannot be met e.g. very limited funds for clothing or pocket money.<br>
3 = Severe. Family/young person has great difficulty making ends meet, precluding meeting of some of young person's needs.<br>
4 = Very severe. Family's/young person's resources are very limited and constitute a serious problem for the young person e.g. cannot afford clothes or school equipment, family/young person runs out of money each month, erratic or absent health care because of poor access.<br>
!end of breakdown
!description
The quality of interaction and affection __between members of the immediate family__ (parents and siblings and others living in the home). If variable, rate the best available relationship.
!end of description

!breakdown
0+ = Good. Relationships are warm, confiding, including planned sharing of activities and enjoyment of each others' company.<br>
0 = No problem. Generally positive relationships, family members spend time together, no major conflicts.<br>
1 = Mild. Relationships are generally positive but with limited contact or expressed affection OR mild over-involvement.<br>
2 = Moderate. Relationships are neutral or distant, with only occasional shared activities or conversation; OR significant over-involvement.<br>
3 = Severe. Distant relationships, with no positive interaction or affection expressed, and rarely shared activities or conversation OR severely over-involved or enmeshed relationships.<br>
4 = Very severe. Relationships characterised by hostility, actively destructive, undermining of young person and other family  members OR  highly destructive level of enmeshed relationships/over-involvement.
!end of breakdown
!description
The ways anger, conflict, and negative feelings are expressed and managed in the relationship; rate the relationship between the young person and the immediate family member in which there is the most problematic conflict.
!end of description

!breakdown
0+ = Family's conflict resolution skills are markedly strong - differences are recognised early, and can be explored honestly and effectively.<br>
0 = No problem. Anger and frustration are generally expressed and resolved with little or no long-term impact on the relationship.<br>
1 = Mild problem. Occasionally conflicts lead to residual feelings of frustration and tension that last several days, but most interaction is not coloured by effects of conflict.<br>
2 = Moderate problem. Persistent conflicts or periodic severe clashes; interaction is frequently coloured by conflict. Positive relationship undermined by impact of conflict.<br>
3 = Severe problem. Persistent serious conflict; the majority of interaction is characterized by hostility and conflict with minimal positive expression.<br>
4 = Very severe problem. Interaction with young person is dominated by conflict, e.g. cannot interact with ending up in a screaming fight.
!end of breakdown
!description
Parent or caregiver's typical patterns of discipline, limits, and rule-setting for the young person; too harsh, inconsistent, or inadequate discipline may be a problem.  If young person spends regular time in two households (e.g., divorced parents), and there are inconsistencies between discipline in the two, rate the effect of the combination of the two. If any indication of abuse, ensure that this is recorded in carefully in the history, and that Child Protection issues have been considered.
!end of description

!breakdown
0+ = A positive strength in the family.  Clear boundaries that are managed without recourse to coercion, and are respected by the youth.<br>
0  = No problem. Generally consistent, clearly expressed and age-appropriate discipline with only occasional impatience or inconsistency.<br>
1 = Mild. Generally adequate discipline, but with lapses such as inconsistency in some areas, ignoring when young person breaks a rule, yielding  to young person's persuasion against established policies, empty threats.<br>
2 = Moderate. Significant issues with discipline, such as frequent arguments between parents over discipline, frequent empty threats, frequent punishments inconsistent with the infraction, spanking for minor infractions, serious inconsistency, or very lax or inadequate discipline, where parent only responds when alerted by outside sources.<br>
3 = Severe. Frequent harsh, humiliating, or rejecting punishment, e.g., refusing  to speak to the young person for hours, beats young person with a belt, or no attempt at discipline at all.<br>
4 = Very severe. Sadistic, extreme, abusive discipline, e.g., tying young person to a bed all day, beatings which cause injury.
!end of breakdown
!description
Describes relationships with adults outside the family, such as teachers, coaches, neighbours, parents of friends, aunt or uncle, pastor, etc.
!end of description

!breakdown
0+ = Good. Has an enduring, close relationship with a helpful adult outside the family, to whom he or she turns for advice,
      comfort, and practical support on a regular basis.<br>
0 = No problem. Has relationship with a helpful adult outside the family; this person is available in times of crisis.<br>
1= Mild. Has relationship with helpful adult(s) outside the family but person may not be involved in the young person's day-to-day life or always available in times of crisis.<br>
2 = Moderate. Has generally supportive relationships with some adults, but does not identify any one in whom confides or relies on regularly.<br>
3 = Severe. Relationships with adults outside the family are neutral or distant, cannot envision asking for help or advice.<br>
4 = Very severe. So mistrustful of adults outside the family that he or she actively rejects offers of help.
!end of breakdown
!description
The extent to which the young person seeks out, relates to, and becomes attached to peers
!end of description

!breakdown
0+ = Good. Enjoys/seeks out peers, identifies peers as friends, interacts with a range of peers, admired within peer group.<br>
0 = No problem. Mixes with peers, seen as 'one of the gang', no obvious difficulties with peers.<br>
1 = Mild. Mixes with peers but slow to warm up and form relationships e.g. does not respond initially to friendly overtures from peers, but does interact and engage in some situations.<br>
2 = Moderate. Interacts socially at times, but does not form relationships that persist from one time to the next; or, extremely selective, will only interact with one or two individuals. Tends to be 'a loner'.<br>
3 = Severe. Rarely engages with peers; may watch peers, but does not interact.  Not perceived as part of peer group.<br>
4 = Very severe. Shows no interest in peers at all, ignores or treats them as objects. Rejected by peers.
!end of breakdown
!description
The extent to which the young person’s friendship group is identified as pro-social or antisocial.
!end of description

!breakdown
0+ = Good.  Positive links to socially responsible group, engages exclusively in prosocial activities (sports, clubs, community projects, etc) with these.<br>
0 = No problem.  Mixes with peers who are generally accepted as prosocial, may know antisocial peers, but is not unduly influenced by them, and does not engage in activities alongside them.<br>
1 = Mild. Has occasional contact with young people associated with antisocial groups/gangs, and occasionally witnesses antisocial activities carried out by these.<br>
2 = Moderate. Counts antisocial peers amongst friends.  Has regular exposure to antisocial activities in their presence, and occasionally takes part in these.<br>
3 = Severe. Majority of friendship group could be classified as antisocial, and most leisure time is spent in their company.  Regularly engaging in antisocial behaviours alongside this peergroup.<br>
4 = Very severe.  Strongly and almost exclusively identifies self as gang member.  Regularly engaged in gang-related activities including significant offending behaviours.
!end of breakdown
!description
Young person is bright, quick to learn, able to comprehend.
!end of description

!breakdown
0+ = Very good. Young person is well above average in intelligence, seen as 'gifted'.<br>
0 = Good. Young person is above average in intelligence, seen as 'bright', learns easily.<br>
1 = Average. Young person has average-range intellectual abilities.<br>
2 = Significant difficulties. Young person has below-average intellectual abilities, 'slow', struggles to learn.<br>
3 = Major difficulties. Has cognitive disabilities (not learning difficulty alone).<br>
4 = Severe difficulties.  Cognitive disability is apparent to anyone who meets the young person.
!end of breakdown
!description
Includes irrational fears and phobias, general anxiety, worries, and panic-like symptoms, repeatedly asking questions and seeking reassurance, or restless, agitated behaviour if clearly associated with anxiety.  These will often be provoked by new situations or people in milder forms, or more pervasive fears and inhibitions at higher levels of severity.
!end of description

!breakdown
0+ = A strength.  Recognised as someone who can remain calm under pressure, and yet mindful of risks.<br>
0 = No problem. Anxiety is transient and appropriate to the situation.<br>
1 = Mild. Often anxious, reluctant to try new things, but in familiar surroundings is comfortable; may worry or ruminate more than is typical.<br>
2 = Moderate. Often anxious such that s/he is inhibited and refuses to engage or try new activities, sometimes is anxious or inhibited even in familiar settings; worries, fears, or panic attacks restrict some activities.<br>
3 = Severe. Anxiety often interferes with functioning at school, home, or with peers, and is noticed with concern by teachers or other observers; e.g. anxiety and phobias lead to very limited activities outside of school, in spite of interest and desire to participate.<br>
4 = Very severe. Anxiety pervades daily functioning and interferes with normal tasks of development; e.g. refuses to go to school because of separation or social anxiety, frequent major panic attacks, etc.
!end of breakdown
!description
Obsessional ideas are recurrent, persistent thoughts, impulses, or images that enter the mind despite the person's efforts to exclude them, often recognized by the person as unrealistic. Compulsive behaviours are repetitive and purposeful behaviours associated with a subjective sense that they must be carried out, e.g. checking, washing.
!end of description

!breakdown
0 = No problem. No obsessive or compulsive symptoms, can tolerate changes in routine without anxiety.<br>
1 = Mild. Adherence to routines or habits, with some anxiety or anger when interfered with e.g. perfectionistic regarding homework and spends extra time each night checking and double-checking.<br>
2 = Moderate. Routines and fixed ideas impact functioning and cause conflict or require major adaptation by caregivers, e.g. family must rearrange schedule to accommodate hour-long showers twice a day, preoccupation with intrusive thoughts causes daily distress.<br>
3 = Severe. Obsessions or compulsions dominate daily functioning and interfere with social and cognitive development, e.g. compulsive counting/checking interferes with schoolwork, pervasive preoccupation with cleanliness leads  to isolation and restriction of activities.<br>
4 = Very severe. Incapacitated by rituals or compulsions, e.g. refuses to leave home because of fears of contamination, cannot speak or move because of indecision
!end of breakdown
!description
Recurrent trauma-related thoughts, images, feelings, or behaviours that have a highly charged, frightening, or overwhelming quality, are associated with emotional arousal, and which enter the person's mind in a manner that is beyond voluntary control. Includes intrusive memories, nightmares, flashbacks, reenactments. Excludes depressive ideation, obsessional ideas, or ideation associated with specific phobias.
!end of description

!breakdown
0 = No problem. No evidence of problem with post-traumatic intrusive experiences.<br>
1 = Mild. Thoughts, images, behaviours, or feelings that are transitory, voluntarily controlled, limited in intensity and do not interfere with normal functioning e.g. is reminded of an abuser by current stepfather, but maintains a distant yet congenial relationship.<br>
2 = Moderate. Thoughts, images, behaviours, or feelings that are intense and cause significant distress and disruption in functioning, but can be voluntarily contained e.g. young person listens to music for hours to block out intrusive ideation.<br>
3 = Severe. Thoughts, images, behaviours or feelings that are intense, easily triggered, cannot be voluntarily contained, and cause severe distress and major disruption in social and academic functioning, e.g. a boy has flashbacks to a traumatic beating when attending school, so is repeatedly truant and avoids school.<br>
4 = Very severe. Thoughts, images, behaviours, or feelings that are overwhelming and pervasive, causing intense personal distress and dominating daily functioning, e.g. after a rape, a girl panics whenever she sees a man, jumps at any sound, and so withdraws to her home, where she hides in her room and suffers intense anxiety.
!end of breakdown
!description
The extent to which the young person can focus on a task for appropriate periods of time without distraction or interruption of concentrated effort, without one-to-one supervision or other individual attention.  Rate typical behaviour, not lapses in attention due to fatigue or situation-specific factors.
!end of description

!breakdown
0+ = A noticeable strength.  Parents and teachers comment on powers of concentration and capacity to remain on task, even during undesired but necessary activities.<br>
0 = No problem.  Able to attend and concentrate on tasks for age-appropriate timespans - including tasks that are not immediately rewarding.<br>
1 = Mild. At times able to attend and persist at task for 45 minutes, but often (at least daily) is distracted, even from an activity s/he enjoys, unable to finish what s/he starts, or struggles to attend to tasks that are  frustrating or require rote practice.<br>
2 = Moderate. Is rarely able to attend to a task for more than 30 minutes, other than activities such as TV or video games, teacher notes distractibility at school, cannot persist with frustrating or boring tasks.<br>
3 = Severe. Unable to attend to most activities for more than 15 minutes without some interruption or distraction, even those s/he enjoys; distractibility interferes with acquiring skills and information in school.<br>
4 = Very severe. Unable to focus on any task or activity for more than a few minutes, constantly distracted, severe problems with learning at school or completing other sorts of work.
!end of breakdown
!description
General level of response to frustration, disappointment, criticisms, or provocation. Includes irritability associated with manic states.
!end of description

!breakdown
0+ = A strength.  Recognised by others as having a particularly even, placid temperament (without being passive, or timid.)<br>
0 = No problem. No unusual level of irritability; may respond irritably when tired, but generally even-tempered.<br>
1 = Mild. Responds more intensely than most, often seems crabby or irritable in response to mild frustration or disappointment.<br>
2 = Moderate. Often responds out of proportion to frustration or disappointment, yelling or crying; other people see the young person as hot-tempered or unpredictable.<br>
3 = Severe. Has major outbursts (e.g. yelling, crying, threatening) frequently, even to minor frustrations; these can significantly interfere with peer, family, and school functioning<br>
4 = Very severe. Has outbursts several times a day, and seems constantly angry or explosive; others avoid the young persons and may be afraid of his or her temper.
!end of breakdown
!description
Difficulties with sleep and arousal, including insomnia (difficulty initiating sleep), excessive daytime sleepiness, nightmares, night terrors, sleep apnoea, sleepwalking, and narcolepsy.  Rated on the basis of how much distress and functional disturbance is associated with the problem, regardless of whether sleep is the primary concern. 
!end of description

!breakdown
0 = No problem. May sometimes wake during the night, but sleeps again without difficulty, no persistent problems.<br>
1 = Mild. For example, consistent difficulty in going to sleep (up to 1 hr.), nightmares, or night waking causing daytime fatigue.<br>
2 = Moderate. Major difficulties that disrupt functioning, e.g. complains consistently of initial insomnia of more than an hour's duration; sleeping excessively during the day, sleepwalking that causes family disruption OR reversed sleep-wake cycle.<br>
3 = Severe. For example, nightly difficulties sleeping that leave them exhausted during the day and interfere with personal and/or family functioning, sleeping excessively during the day, narcolepsy symptoms interfere with school or social functioning, mania causes person to sleep only 3 hours per night.<br>
4 = Very severe. Nightly difficulties that constitute an acute risk to safety or development, e.g.  agitated sleepwalking or night terrors that lead to aggressive or uncontrollable behaviour, young person in psychotic break does not sleep for several days.
!end of breakdown
!description
Depression may be manifest in sadness, tearfulness, irritability, lethargy, boredom, etc.; one of the principal factors being an inability to take pleasure in normally pleasurable things.  Lack of activity or withdrawal associated with negative symptoms of psychosis are not rated unless there is clear evidence of dysphoric mood.
!end of description

!breakdown
0 = No problem. Is sad in response to normal stressors, appropriate range of affect.<br>
1 = Mild. Often sad, bored, or irritable, may cry often, is noticed by others as appearing sad, but also has periods of happiness and can engage in normal activities with pleasure.<br>
2 = Moderate. Seems sad, bored, or irritable much of the time, does not engage in normally enjoyable activities.<br>
3 = Severe. Appears sad, bored, irritable, or withdrawn almost all the time, cannot persist in normal activities, does not seem to derive pleasure from anything, may express morbid or suicidal ideation.<br>
4 = Very severe. Sad, tearful, or withdrawn almost all the time, is inactive and disengaged, cannot be cheered up by any intervention; sleep, appetite, and activity level may be affected; persistent morbid or  suicidal ideation.
!end of breakdown
!description
Includes purposeful and self-injurious behaviour; excludes suicidal behaviour, or unclearly motivated behaviours which can or do result in injury.  Ambiguous behaviours (e.g. punching a wall) may be considered self-injurious if repeated after causing pain or injury.  Self-tattooing/piercing are considered self-harm, but professional tattooing or piercing are not.
!end of description

!breakdown
0 = No problems - no self-injurious behaviours reported.<br>
1 = Mild. Habits such as nail-biting or skin-picking lead to mildly disfiguring or painful conditions.<br>
2 = Moderate. For example, self-tattooing or mild self-cutting; punches fist into wall or window.<br>
3 = Severe. Repeated self-cutting; self-injury that requires medical attention; burning self.<br>
4 = Very severe. Self-injury is repeated and severe so that health or bodily integrity is threatened (e.g. cutting leads to infection and severe scarring).
!end of breakdown
!description
Includes all forms of eating disorders, whether restricting calories, binge eating with or without purging, pica etc.  Increase or decrease in caloric intake as a result of depression or other problem is rated under Self Care (06). Includes not eating for reasons associated with delusional states e.g. belief that food is poisoned.
!end of description

!breakdown
0 = No problem. Normal eating habits for age.<br>
1 = Mild. Some concern with eating habits; e.g. restriction of eating to a few foods, chronic overeating in overweight person.<br>
2 = Moderate. Extreme restriction of type or quantity of food, or dramatic overeating (e.g. food must be locked up).<br>
3 = Severe. Food restriction or consumption constitutes a serious health problem e.g. over or under-weight so that physician recommends intervention, beyond dieting for overweight; binging and purging.<br>
4 = Very severe. Eating habits constitute an immediate threat to health, e.g. acute anorexia nervosa, purging from bulimia causes acute medical problems.
!end of breakdown
!description
Use of alcohol or illicit drugs (not cigarettes) without parental approval; culturally sanctioned use such as sips of parents' wine are not rated; in a restricted environment such as in young person unit or correctional facility, severity should be based on observations of attitude and interest expressed and apparent intentions regarding abstinence/treatment.
!end of description

!breakdown
0 = No problem. No use of alcohol or drugs, or only occasional (e.g. once a month) social use of alcohol.<br>
1 = Mild. Occasional use of alcohol or drugs, but with no adverse consequences or regular intoxication; while hospitalised or restricted, denies any problem with substance abuse and intends to continue social use.<br>
2 = Moderate. Use of alcohol or drugs to the point of intoxication at least once a week; while hospitalised or restricted, struggles with cravings, mixed motivation to abstain.<br>
3 = Severe. Frequent (more than twice a week) intoxication; substance use affects relationships, school, and/or work functioning; if hospitalised or restricted, craves substances, talks or thinks repeatedly about use, no plan to abstain.<br>
4 = Very severe. Substance use daily, in spite of adverse effects; while hospitalised or restricted, persistent cravings and attempts to obtain substances.<br>
!end of breakdown
!description
Suicidality is rated on the basis of both behaviour and ideation.  There must be clear evidence of intention to cause self-harm to rate behaviour as a suicide attempt; accidental self-injury is not rated.  Also, do not include injury or illness as a consequence of other symptomatic behaviour such as substance abuse or eating disorder, unless specific suicidal intent is expressed.  Use the Risk Assessment and Care Plan if this scores >1
!end of description

!breakdown
0 = No problem - no suicidal thoughts, plans or intentions.<br>
1 = Mild. Reports suicidal ideation, or persistent hopelessness.<br>
2 = Moderate. Talks about persistent suicidal ideation, with some thought about a method or plan.<br>
3 = Severe. Suicidal gestures e.g. taking 5 pills, cutting wrists superficially and/or significant preparations toward a suicide attempt.<br>
4 = Very severe. Suicide attempt or potentially lethal gesture, e.g. takes bottle of Prozac, or clear preparations for a serious suicide attempt that are interrupted against the young person's will.
!end of breakdown
!description
A style of opposition, noncompliance, and/or refusal to follow directives from authority figures (parents, teachers, social workers, police, etc); some degree of defiance is normally expected, and behaviour should be rated as problematic only if it deviates from age and cultural norms.
!end of description

!breakdown
0 = No problem. Occasional non-compliance, but usually responds to requests when limits and rules are clear.<br>
1 = Mild. Often ignores or argues with adult requests, but will usually comply after repeated demands and limits.<br>
2 = Moderate. Ignores or refuses to comply with adult requests often (e.g. half the time);often requires threats of punishment and ultimatums to comply.<br>
3 = Severe. Most of the time that requests or demands are made refuses and engages in a battle of wills; defiance is present in more than one setting or relationship.<br>
4 = Very severe. Most interactions with adults are characterized by opposition, defiance, and conflict, leading to major behavioural, academic, and social problems, and interfering with social and cognitive development.
!end of breakdown
!description
Refers to deliberate destruction of the young person's own or other people's property, whether in rage episodes or not, such as graffiti, breaking windows, throwing things, etc.
!end of description

!breakdown
0 = No problems - no destruction of property in any reports.<br>
1 = Mild . Occasional mild destruction of property e.g. throws own possessions when angry, draws on walls.<br>
2 = Moderate. Significant destructive behaviour either affecting many of his/her own possessions or deliberately breaking others' possessions more than once e.g. punches holes in wall, rips books.<br>
3 = Severe. Major repeated destructive behaviour e.g. rips up clothes, breaks parents' possessions.<br>
4 = Very severe. Destructive behaviour that has serious consequences for the family or community e.g. fire setting that causes property damage, repeated out of control rages where young person smashes and throws objects.
!end of breakdown
!description
Aggressive and/or sadistic behaviour that could or does result in harm to other people or animals; socially or culturally sanctioned forms of aggression (e.g. hunting, killing insects) are not considered, unless they are conducted in an unusually sadistic manner (e.g. taking pleasure in pulling the wings off butterflies).  Use the Risk Assessment and Care Plan if this scores >1.
!end of description

!breakdown
0 = No problem - has not precipitated any physical conflict with others.<br>
1 = Mild  Gets into physical fights with others more frequently than is typical for his/her peer group.<br>
2 = Moderate. Aggressive or belligerent frequently (several times per week), or shows severe aggression, so that injury is likely, or shows overt physical aggression toward an adult, or cruelty to animals that does not result in major injury but is intentional.<br>
3 = Severe. Repeatedly so aggressive that others are injured (e.g. bloody nose, black eye), cannot be contained by normal limits and structures, is seen as a danger to others, or has intentionally seriously injured or  killed an  animal.<br>
4 = Very severe. Has seriously injured another person (e.g. broken bones, required medical attention) and continues to be out of control so that further incidents are likely; or, repeated deliberate killing of animals; or sadistic behaviour in which overtly enjoys causing  pain.
!end of breakdown
!description
Rate preoccupations, anxieties and behaviours that cause distress, conflict, or risk to the young person or others.  These may include acting out, such as promiscuity, abuse, or exhibitionism, or inhibitions, such as obsessive worrying about sexual matters or anxieties that inhibit social interactions.  Gender identity issues are not rated here unless accompanied by problematic sexual anxieties or behaviours.  Use the Risk Assessment and Care Plan if this scores >1
!end of description

!breakdown
0 = No problems - no concerns reported from young person or others.<br>
1 = Mild. Disturbing worries or doubts regarding sexual issues, repeated inappropriate sexual comments.<br>
2 = Moderate. Sexual issues cause significant distress and/or social problems, for example, anxieties or obsessions with sexuality interfere with social relationships, public masturbation, inappropriate sex play with peers.<br>
3 = Severe. Sexual behaviour which creates social or physical risks, e.g. promiscuous unprotected sex, exhibitionism.<br>
4 = Very severe. Extremely inappropriate sexual behaviour, such as rape, molestation with coercion.
!end of breakdown
!description
Presence of psychotic symptoms, such as Delusions (firmly held false beliefs held without objective evidence, often impossible or highly improbable.  Delusions are not affected by rational argument or evidence to the contrary, and are not a conventional belief in the context of the person's social or cultural background) or Hallucinations (any experience of objectively unrealistic perceptions, such as hearing, seeing, hallucinations of touch or smelling things that others do not, when NOT under the influence of intoxicating substances. Rate descriptively only, not based on presumed cause. Rate flashbacks only if they are experienced as real, rather than as intense memory.)
!end of description

!breakdown
0 = No problems involving psychotic symptoms. Distortions and misperceptions just before or after sleep that are not persistent or repeatedly disturbing are counted as normal.<br>
1 = Mild. Circumscribed delusions that do not affect daily behaviour, e.g. believes that dead grandmother is actually alive, in spite of having attended the funeral and many attempts to convince otherwise. Repeatedly distorts perceptions in ways that cause or fuel anxiety, e.g. sees frightening figures at dusk, interprets sounds as voices.<br>
2 = Moderate. Delusional beliefs affect behaviour, but impact is confined to a specific arena  e.g. believes she may contract syphilis from eating utensils, and will  only use disposable tableware. Persistently claims to hear or see things others cannot, e.g. flashbacks to traumatic experiences, but does not react or respond to hallucinations.<br>
3 = Severe. Delusional beliefs play a major role in daily behaviour, influencing behaviour, attitudes, and communication e.g. believes is the son of God and talks about this constantly to peers and adults.  Can be observed to be responding to apparent hallucinations, which interfere with normal functioning.<br>
4 = Very severe. Behaviour dominated by response to delusional beliefs, e.g. cannot leave own room for fear of persecution by enemies.  Vivid apparent hallucinations that cause distress, or issue destructive commands (e.g. suicidal or homicidal).
!end of breakdown
!description
Mood which is unusually 'high', 'giddy', manic, unrealistically happy, out of proportion to real events. Irritability associated with manic states is rated separately.
!end of description

!breakdown
0 = No problem. Normal range of mood; may be giddy/silly at times, but settles down age-appropriately in a serious situation.<br>
1 = Mild. Often silly or giddy, and has trouble settling down in serious setting.<br>
2 = Moderate. Seems markedly 'high', unrealistically optimistic, hard to focus on realistic plans and goals; this interferes with functioning in some areas.<br>
3 = Severe. Elated mood clearly interferes with functioning (e.g. stays up late at night working on projects and cannot stop, makes grandiose plans).<br>
4 = Very severe. Elated mood dominates behaviour and severely disrupts judgment and functioning (e.g. wildly excessive ideas and plans, racing thoughts, promiscuity, dramatic overspending, does not sleep for several days).
!end of breakdown
!description
The capacity the young person has to show sensitive recognition of other people's changing mental states and the effect these have upon their actions, or to reflect thoughtfully upon affective states of their own. When present, the young person demonstrates 'mind-mindedness', but when absent there may be callous, unemotional traits or an incapacity to tolerate frustration and affective states without resorting to defensive or displacement activities.
!end of description

!breakdown
0 = No problem. Shows mentalizing capacity appropriate to age - generally reflective, sensitive and tolerates frustrations - it is normal for mentalizing capacity to diminish at times of high affect or conflict.<br>
1 = Mild. Occasional lapses in capacity, when young person 'misreads' people in ways that stand out, but can generally 'correct' such errors.<br>
2 = Moderate. Frequently misreads people, or appears to react without sensitivity to the people around him/her.<br>
3 = Severe. Major difficulty in empathising with people, frequently overwhelmed by situations, struggles to reflect on what makes people act the way they do, or to manage emotional states without "acting out", etc.<br>
4 = Very severe. May appear callous or unemotional, assume that own thoughts actually represent reality rather than representations of reality, frequently acts-out, chronic failure of confiding relationships.<br>
!end of breakdown
!description
The extent to which the young person demonstrates an age-appropriate awareness and understanding of his/her problems/difficulties.
!end of description

!breakdown
0+ = Good. Fully acknowledges presence and extent of problems/difficulties, actively seeks insight and uses it constructively to overcome difficulties.<br>
0 = No problem. Generally acknowledges difficulties/problems.<br>
1 = Mild difficulties. Able to acknowledge problems/difficulties but not to full extent. <br>
2 = Significant difficulties. Marked difficulty acknowledging presence of problems/difficulties, minimises extent. <br>
3 = Major difficulties. Disputes/actively minimises presence of problem/difficulties. <br>
4 = Very severe. Completely unable to acknowledge presence of problem/difficulties.
!end of breakdown
!description
The extent to which the young person is successfully engaged in the development and carrying out of his or her treatment and care.
!end of description

!breakdown
0 = Good. Fully involved in assessment, planning and implementation of care. Works towards realistic personal goals; co-operative with procedures and assessments.<br>
1 = Mild. With support involved in assessment, planning and implementation of care at a level appropriate to age, but some reluctance/resistance to comply with care plan.  Co-operative in most but not all areas. <br>
2 = Moderate. Significant difficulties in engaging with treatment plan and/or formulating realistic age-appropriate goals. <br>
3 = Severe. Refusal to engage or passive compliance with many aspects of care. Cannot agree realistic age-appropriate goals.<br>
4 = Very severe. Will not comply with most aspects of treatment/care plan.  Refuses to/unable to engage in age-appropriate discussion of goals.
!end of breakdown
!description
The length of time the young person has experienced significant behavioural or emotional problems (not limited to the presenting problem)
!end of description

!breakdown
0 = No significant problems.<br>
1 = Problems present for less than one month.<br>
2 = Problems present for one month to six months.<br>
3 = Problems present for six months to four years.<br>
4 = Problems present for more than four years.
!end of breakdown
!description
The extent to which the major problems the young person presents are evident in multiple settings or domains of functioning e.g. family, education, psychological, physical, social-environmental.
!end of description

!breakdown
0 = No significant problems.<br>
1 =Occasional problems, confined to one setting or domain of functioning e.g. argues with parents about once a week, or anxious at school exams.<br>
2 =Regular problems in one setting or domain e.g. behaviour problems at home with parents and caretakers, but not at school, or conflicts at school and over homework at home, but not in other areas at home, or aggressive outbursts occur in the household of one parent, but not the other.<br>
3 =Problems are present in more than one setting/domain e.g. anxiety affects schoolwork and relationships with peers, defiance is present at home and school, young person is defiant with mother and anxious at school.<br>
4 =Problems are present in all or almost all settings and domains e.g. failing in school, depressed at home, isolated with peers.
!end of breakdown
!This is content from AMASS!
>//This is an example of a page that has been [[cloned and customised|Clone and Customise]] from the original work by the AMASS team in Islington - to whom we are immensely grateful.//

We have been trialling the use of the cards which have been adapted from the [[AIM]] as an assessment tool as part of the direct work/outreach work with the young person. 

We would like these cards to become part of our assessment process within the [[AMASS Intervention Timeline]] and have started to integrate this into the core process for every young person working with AMASS.

Our Assistant Psychologist has identified a potential framework for incorporating it as a collaborative assessment tool and an outcome measure. It uses the Focal Ranking system followed by the Global Ranking system (please see [[AIM suggested interventions]]). 

!!!!!Suggested Framework:

* Have AIM card session in week 6. This enables parallel of ratings weeks and parent work (completion of [[Genogram]], [[End Goals]], [[Desired Changes]]) but also means time has been invested into developing trust between young person and worker.

* Explain to young person that these cards are strengths/challenges/difficulties that young people face as part of growing up. The session is aimed at trying to identify what particular strengths/challenges/difficulties are most relevant to them.

*See video produced by the AMASS team in Islington (@ambit-amass) showing how the cards can be used in a session with a young person:

<html><iframe width="420" height="315" src="//www.youtube.com/embed/wG9Of1PCHPI" frameborder="0" allowfullscreen></iframe></html>

!!!!!Incorporation of Outcomes:

*A follow up session can reflect on what three/four cards the young person chose and this allows the worker and the young person to collaboratively discuss how to focus on these cards.

*The young person can rate the severity of the problem indicated on the card, how much it affects them using the numbers on the card.

*At the end of the intervention the AIM card session can be repeated and the ratings of the three/four cards can be compared from the pre-intervention AIM card session. 

*Ratings can also be taken more frequently within the intervention and the ratings profile can be plotted on a graph which can be shared and reflected on with the young person at the rating points and/or the end of intervention.


!!!!!Helpful Hints:

*BE FLEXIBLE: The framework can be adapted according to what suits the young person - (i.e. some young people may need to be doing another activity whilst the worker reads the cards and puts them in piles according to what the young person wants or the way in which the ranking happens may change according to young person's choice).

*LISTEN: The session allows an exploration of what the young person feels about themselves and any challenges/difficulties they are facing. You can explore and ask questions about what the young person talks brings to the session.

*COLLABORATION: The cards enable a [[Thinking Together]] process with the young person to plan for future sessions together and for the young person to feel part of the intervention/outreach process. 
!What does this license apply to?

This license applies to all written material relating to the [[AIM]] questionnaire which remains the copyright of the [[Authors of the AIM]].  

!!!!If you're reading this in the AIM's ''__//own website//__''...

(E.g. in @ambit-aim or at the address {{{http://ambit-aim.tiddlyspace.com/}}}) ...then it applies to everything except the technical material about @tiddlywiki and @tiddlyspace which is licensed separately (and more openly, see at the bottom of the page.)  

!!!!If you're reading this in ''__//another wiki//__'' 

(E.g. in which the AIM questionnaire has been embedded or "included") ...then this license __only relates to material connected with the AIM__ (the content in whatever other wiki this has been embedded in may be licensed separately!)  

Complicated, but simpler than it sounds...

!Released under license:

<html><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dct:title" rel="dct:type">AMBIT AIM - Adolescent Integrative Measure</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://ambit-aim.tiddlyspace.com" property="cc:attributionName" rel="cc:attributionURL">Schneider, Fonagy, Target, Bevington, Fuggle</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License</a>.<br />Permissions beyond the scope of this license may be available at <a xmlns:cc="http://creativecommons.org/ns#" href="http://annafreud.org" rel="cc:morePermissions">http://annafreud.org</a></html>.

!Summary of terms:

''You are free:''

* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work

''Under the following conditions:''

* ''Attribution'' — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
* ''Noncommercial'' — You may not use this work for commercial purposes.
* ''Share Alike'' — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

''With the understanding that:''

* ''Waiver'' — Any of the above conditions can be waived if you get permission from the copyright holder.
* ''Public Domain'' — Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license.
* ''Other Rights'' — In no way are any of the following rights affected by the license:
** Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations;
** The author's moral rights;
** Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights.

''Notice'' — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to the Creative Commons webpage defining this licence, [[here|http://creativecommons.org/licenses/by-nc-sa/3.0/]].

!@@color(red):Software licensed separately@@

The software in which the AIM is recorded ([[TiddlyWiki]] and [[TiddlySpace]]) is a freely available 'Open Source' development, licensed separately under slightly different (more open) terms.  We gratefully acknowledge that its modification for this manual has been kindly supported in a non-commercial open-source collaboration by its inventor Jeremy Ruston and his colleagues (particularly Jonathon Lister) at [[BT Osmosoft|http://www.osmosoft.com/]].
<<AIMForm AIMFormViewTemplate AIM>>
!Welcome to the AIM
This is an interactive assessment (your results generate relevant links to material in the manual), that can be filled in on your computer and then the results can be exported and saved.

!!Learn
There are instructions below, or watch videos.  See [[AIM]] for more description.

A short rather low-fi clip demonstrating the AIM questionnaire in the AMBIT manual:
<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/Tmpd98rXznE?hl=en_US&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/Tmpd98rXznE?hl=en_US&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>  
This video, from an AMBIT Train the Trainer training, describes the [[AIM Cards]] first (a self-report version), but discusses the AMBIT AIM and demonstrates it from 8min:45sec:
<html><iframe width="640" height="360" src="//www.youtube.com/embed/aqgImbhoyOE" frameborder="0" allowfullscreen></iframe></html>


!!Confidentiality
''ALTHOUGH THE ASSESSMENT IS CONDUCTED IN YOUR WEB BROWSER, YOUR ANSWERS TO THE AIM QUESTIONS DO NOT LEAVE YOUR LOCAL COMPUTER'' (this is because the whole website is effectively downloaded and runs from within your local computer when you open the site.)

|bgcolor(pink):''As additional (non-mandatory) precautions (a) You may wish to check that you are NOT in the "Edit mode" (see explanation of how to do this this [[here|Edit mode]]) and (b) Do NOT use an identifiable NAME for the Unique ID''|

A 'paper' version of the AIM is also available to download [[Here|https://docs.google.com/Doc?docid=0AZh_CVBdhJPYZDZoMmdiNF80OTRnaHIzdDdnNA&hl=en_GB]].  

You can see [[Topics covered by the AIM - a checklist]] to help guide the assessment interview.
!What to do:
!! Please fill in these details:
|Unique ID (//not// name): |<<option txtAIM_ID>> |
|Date of assessment: |<<option txtAIM_date>> |
|Name of assessor: |<<option txtAIM_assessor>> |
#The PRACTITIONER SCORES this questionnaire, not the young person, though it can be done collaboratively.  (''NOTE:'' A self-report version presented as playing cards ([[AIM Cards]]) for use by a young person and their keyworker is under development.)
##During the initial assessment, score all 40 items.
##You may need to go back to the young person to gather more information.
##Aim to complete this within one week of first contact.
#"KEY PROBLEMS": These are limited to a maximum of SIX - this may require careful consideration.  
##Key problems are those that appear to be the most important TARGETS for intervention.
##They can act as your [[Goals-based outcome measures]].  
##These are things that the young person and family should help you identify.  Ultimately it is the practitioner's decision (a young person with psychosis may not agree that this is the case, for instance - which does not mean that treating this is not an important treatment goal to measure your outcomes against.)
#ONCE COMPLETED:
##At the end of this form (see "AIM Results") there are instructions on how to:
###Export the results to a database
###List and rank [[AIM suggested interventions]] according to the results of the specific AIM assessment.  These are useful, in addition to your SupervisoryStructures, to help you develop your [[Care Plan]], or as a problem/solution-focused pathway into the manual.  This function only works if your AIM is embedded in a treatment manual, not if you are accessing the AIM site as a separate resource. 
#Use for OUTCOMES
##When you start a specific intervention directed at a specific problem, use the relevant item(s) on the AIM to measure progress with the problem(s).
##When you end a complete treatment episode, re-score the KEY PROBLEMS to act as [[Goals-based outcome measures]].
Well done! You have completed the AIM, now...

!!1. Save and date this set of AIM results
Clicking on the "Export AIM" button, just below.  There are instructions on how to [[Get AIM data into a spreadsheet]]:

<<exportAIM>>

!!2. Sort and rank suggested interventions 
If you are using the AIM embedded within a treatment manual (such as AMBIT) then at the bottom of this page you will find the [[AIM suggested interventions]] function, which helps you to sort and rank suggested interventions in different ways, relating directly to your client's AIM scores.  This works if you complete and ENTIRE AIM assessment, or even if you only answer a handful of questions (or just one!) so it is a good way to get prompts for //what interventions does this young person need// rather than //"what interventions do I like doing"//.  If you are using the AIM as a standalone assessment (outside of it being embedded in a treatment TiddlyManual), then this is not available.

Many of the young people AMBIT is designed for have high levels of [[Complexity]] and [[Comorbidities]].  The AMBIT [[AIM]] assessment can help you sort and rank potentially useful interventions for problems identified.  See also WhichInterventionWhen for other advice on how to sequence what to do, or [[I'm stuck: what next?]] if you are at a more general impasse.

!!!NOT a mechanical "tick box" operation!
There are different ways to sort these suggestions, depending on whether you want to look at the whole spread of a young person's difficulties (''GLOBAL ranking''), or to focus on the most severe ones (''FOCAL ranking''), and whether you want to limit your attention just to the [[KeyProblems]].  There is more explanation of this at [[AIM suggested interventions]]. 

<<AIMResults tag:'AIM' type:'weighted'>>
You have selected more than six key problems, which is not allowed. Please go back and remove some if you want this to be a key problem.
/*{{{*/
var $ = jQuery;
config.macros.AIMForm = {
	categories: null,
	$activeItem: null,
	parseItemTitleRegex: new RegExp('(\\d\\d) (.*) - (.*)'),
	parseItemTitle: function(item) {
		// item.title is like "04 Young person daily life - Other talents and abilities"
		var regex = config.macros.AIMForm.parseItemTitleRegex,
			matches = regex.exec(item),
			tiddlerTitle = matches[0],
			number = matches[1],
			category = matches[2],
			label = matches[3],
			itemData = {
				tiddlerTitle: tiddlerTitle,
				number: number,
				category: category,
				label: label
			};
			return itemData;
	},
	loadItems: function(tag) {
		var items = store.getTaggedTiddlers(tag),
			aimIntro = store.getTaggedTiddlers('AIM-intro')[0],
			aimResults = store.getTaggedTiddlers('AIM-results')[0],
			$aimForm = $('#aimForm'),
			$aimMenu = $aimForm.children('ul'),
			htmlToAdd = ['<li class="category"><a href="#">'+aimIntro.title+'</a></li>\n'],
			itemData,
			category,
			categories = config.macros.AIMForm.categories;
		if(!categories) {
			categories = {};
			$.each(items, function(i, item) {
				itemData = config.macros.AIMForm.parseItemTitle(item.title);
				category = itemData.category;
				if(!categories[category]) {
					categories[category] = [];
				}
				categories[category].push(itemData);
			});
			config.macros.AIMForm.categories = categories;
		}
		$.each(categories, function(category, categoryItems) {
			categoryItems.done = true;
			$.each(categoryItems, function(j, item) {
				if(!item.value) {
					delete categoryItems.done;
				}
			});
		});
		$.each(categories, function(category, categoryItems) {
			var categoryClass = categoryItems.done ? ' class="category done"' : ' class="category"';
			htmlToAdd.push('<li'+categoryClass+'><a href="#">'+category+'</a>\n<ul>');
			$.each(categoryItems, function(i, item) {
				var itemClass = item.value ? (item.isKeyProblem ? ' class="done keyProblem"' : ' class="done"') : "";
				htmlToAdd.push('<li'+itemClass+'><a href="#">'+item.label+'</a></li>');
			});
			htmlToAdd.push('</ul>\n</li>');
		});
		htmlToAdd.push('<li><a href="#">'+aimResults.title+'</a></li>'),
		$aimMenu.html(htmlToAdd.join('\n'));
	},
	displayItem: function(tiddler, item) {
		var heading = item.number+" - "+item.label,
			description = store.getTiddlerText(tiddler.title+"##description"),
			breakdown = store.getTiddlerText(tiddler.title+"##breakdown"),
			bits = breakdown.split("<br>\n"),
			bitsRegex = new RegExp(/(\d\+?)/),
			content = wikifyStatic('!'+heading+"\n",null,tiddler) +
				"<p>" + wikifyStatic(description,null,tiddler) + 
				"</p>\n",
			breakdownPieces = [],
			existingValue = item.value,
			isKeyProblem = item.isKeyProblem,
			$item;
		$.each(bits, function(i, bit) {
			var matches = bitsRegex.exec(bit),
				value = matches && matches[1];
			if(value) {
				breakdownPieces.push('<div class="choice">\n' +
					'<input type="radio" value="'+value+'" name="question" class="choice" id="'+value+'" />\n' +
					'<label for="'+value+'">'+wikifyStatic(bit,null,tiddler)+'</label>\n' +
					'</div>');
			}
		});
		// add key problem checkbox
		breakdownPieces.push('<div class="choice">\n' +
			'<input type="checkbox" value="yes" name="key_problem" class="choice" id="key_problem" />\n' +
			'<label for="key_problem">Key problem?</label>\n' +
			'</div>');
		content += breakdownPieces.join('\n');
		$item = $('#aimForm div.question div.item');
		$item.next('div.error').remove();
		$item.html(content);
		if(existingValue) {
			$item.find('input[value="'+existingValue+'"]').attr('checked','checked');
		}
		if(isKeyProblem) {
			$item.find('input[type=checkbox]').attr('checked','checked');
		}
		$item.find('input[type=checkbox]').change(function(e) {
			var plugin = config.macros.AIMForm,
				keyProblemCount = plugin.keyProblemCount || 0;
			$item.next('div.error').remove();
			if(!$('#aimForm').find('div.item input[type=radio]:checked').length) {
				$('<div class="error">Please choose an option first</div>').insertAfter($item);
				this.checked = false;
				return true; // don't pay attention if there is no item selected
			}
			if(this.checked) {
				if(keyProblemCount>=6) { // this allows six to be selected
					$('<div class="error">'+store.getRecursiveTiddlerText('AIMFormKeyProblemErrorMessage', 'too many key problems selected', 0)+'</div>').insertAfter($item);
					this.checked = false;
				} else {
					plugin.keyProblemCount = ++keyProblemCount;
					// make the item active
					config.macros.AIMForm.$activeItem.addClass("keyProblem");
				}
			} else {
				plugin.keyProblemCount = --keyProblemCount;
				// make the item inactive
				config.macros.AIMForm.$activeItem.removeClass("keyProblem");
			}
		});
	},
	closeItem: function($activeItem) {
		if(!$activeItem || $activeItem.hasClass('category')) {
			return false;
		}
		var $openItem = $('#aimForm').find('div.item'),
			$selected = $openItem.find('input[type=radio]:checked'),
			value = $selected.val(),
			isKeyProblem = !!$openItem.find('input[type=checkbox]:checked').length,
			$uncheckedItems,
			item = config.macros.AIMForm.getItemFromElement($activeItem);
		if(value && item) {
			$activeItem.addClass("done");
			$uncheckedItems = $activeItem.siblings().filter(function() {
				return !$(this).hasClass("done");
			});
			if($uncheckedItems.length===0) {
				$activeItem.parent().parent().addClass("done");
			}
			item.value = value;
			item.isKeyProblem = isKeyProblem;
			// setOption("AIM_"+item.tiddlerTitle,value); - Do this if I want to save between sessions in cookies
		}
	},
	getItemFromElement: function($item) {
		var categories = config.macros.AIMForm.categories,
			category = $item.parent().parent().children('a').text(),
			items = categories[category],
			label = $item.children('a').text(),
			matchingItem;
		if(items) {		
			$.each(items, function(i, item) {
				if(item.label===label) {
					matchingItem = item;
					return false;
				}
			});
		}
		return matchingItem;
	},
	getAllItems: function() {
		var items = {};
		$.each(config.macros.AIMForm.categories, function(i, category) {
			$.each(category, function(j, item) {
				items[item.tiddlerTitle] = item;
			});
		});
		return items;
	},
	addBehaviour: function() {
		var $container = $('#aimForm'),
			$navArrows = $container.find('.navigation').find('a'),
			$categories = $container.children('ul').children('li'),
			$items = $categories.children('ul').children('li'),
			plugin = config.macros.AIMForm,
			$itemHolder = $container.find('div.question'),
			clickedPrev,
			openAimItem = function($item) {
				var item = config.macros.AIMForm.getItemFromElement($item),
					tiddler = store.getTiddler(item.tiddlerTitle);
				config.macros.AIMForm.displayItem(tiddler,item);
			},
			findToOpen = function(selector) {
				var move = $(selector).hasClass('next') ? 'next' : 'prev',
					$toOpen = plugin.$activeItem[move](),
					$newCategory;
				if($toOpen.length) {
					return $toOpen;
				} else {
					if(plugin.$activeItem.hasClass('category')) {
						$newCategory = plugin.$activeItem[move]();
					} else {
						$newCategory = plugin.$activeItem.parent().parent()[move](); // assumes a li inside a ul inside a li
					}
					if($newCategory.length) {
						return $newCategory;
					}
				}
			},
			toggleNavArrows = function() {
				$navArrows.each(function(i, arrow) {
					if(!findToOpen(arrow)) {
						$(arrow).css('visibility','hidden');
					} else {
						$(arrow).css('visibility','visible');
					}
				});
			};
	
		$navArrows.click(function() {
			if(!plugin.$activeItem) {
				return false;
			}
			var $toOpen = findToOpen(this);
			if($toOpen.length) {
				$toOpen.click();
			}
			return false;
		});
	
		$categories.click(function(e) {
			var openLast = false,
				$items = $(this).children('ul').children('li'),
				clickIndex = openLast ? $items.length-1 : 0,
				title,
				tiddler,
				content,
				$nextButton,
				$place = $('#aimForm div.question div.item');
			if($items.length) {
				$(this)
					.addClass('active')
					.children('ul')
					.show()
					.end()
					.siblings()
					.removeClass('active')
					.children('ul')
					.hide();
				$items.eq(clickIndex).click();
			} else {
				// it has no children, so it's probably the intro or results
				config.macros.AIMForm.closeItem(plugin.$activeItem);
				title = $(this).find('a').text();
				tiddler = store.getTiddler(title);
				plugin.$activeItem = $(this).addClass('active');
				plugin.$activeItem
					.siblings()
					.removeClass('active');
				/*content = wikifyStatic('!~'+tiddler.title+"\n",null,tiddler) +
					"<p>" + wikifyStatic(tiddler.text,null,tiddler) + 
					"</p>\n";*/
				//$('#aimForm div.question div.item').html(content);
				wikify('!~'+tiddler.title+"\n",$place.empty().get(0));
				wikify(tiddler.text, $place.get(0));
				/*if($('#aimForm input[option]').length) {
					$('#aimForm input[option]').change(function(e) {
						config.macros.option.genericOnChange.apply(this,arguments);
					});
				}*/
				toggleNavArrows();
			}
			return false;
		});
		
		$items.click(function(e) {
			config.macros.AIMForm.closeItem(plugin.$activeItem);
			plugin.$activeItem = $(this).addClass('active');
			plugin.$activeItem
				.siblings()
				.removeClass('active');
			openAimItem(plugin.$activeItem);
			toggleNavArrows();
			return false;
		});
		$categories.eq(0).click();
	},
	handler: function(place,macroName,params) {
		var template = params[0],
			tag = params[1];
		$(place).append(store.getTiddler(template).text);
		config.macros.AIMForm.loadItems(tag);
		config.macros.AIMForm.addBehaviour();
	}
};

/*}}}*/
<!--{{{-->
<div id="aimForm">
	<div class="navigation left">
		<a class="previous">Prev<span></span></a>
		<a class="next">Next<span></span></a>
	</div>
	<ul class="AIMmenu">
	</ul>
	<div class="question">
		<div class="item"></div>
		<div class="navigation">
			<a class="next">Next<span></span></a>
		</div>
	</div>
</div>
<!--}}}-->
/*{{{*/
var $ = jQuery;

config.macros.AIMResults = {
	setup: false,
	createResults: function(keyOnly) {
		var interventions = store.getTaggedTiddlers('Specific interventions'),
			relatedAIMitems,
			aimFormItems = config.macros.AIMForm.getAllItems(),
			interventionObj,
			results = [];
		$.each(interventions, function(i, intervention) {
			relatedAIMitems = store.getTaggedTiddlers(intervention.title);
			relatedAIMitems = $(relatedAIMitems).filter(function() {
				return aimFormItems[this.title];
			});
			relatedAIMitems.sort(function(a,b) {
				return aimFormItems[a.title].value < aimFormItems[b.title].value ? +1 : (aimFormItems[a.title].value === aimFormItems[b.title].value ? 0 : -1);
			});
			interventionObj = {
				name: intervention.title,
				AIMitems: []
			};
			$.each(relatedAIMitems, function(j, item) {
				var aimFormItem = aimFormItems[item.title];
				if(aimFormItem.value >= 2) {
					if(!keyOnly || aimFormItem.isKeyProblem) {
						interventionObj.AIMitems.push(item);
					}
				}
			});
			if(interventionObj.AIMitems.length>0) {
				results.push(interventionObj);
			}
		});
		return results;
	},
	onChange: function(e) {
		if(!$(e.target).hasClass('resultsRadio')) {
			return true;
		}
		var keyOnly = $('#AIMResultsContainer').find('input[type=checkbox]').attr('checked'),
			label = $('#AIMResultsContainer').find('input[type=radio]:checked').attr('id'),
			aimFormItems = config.macros.AIMForm.getAllItems(),
			$resultsContainer = $("#AIMResults").empty(),
			place = $resultsContainer.get(0),
			results = [],
			interventionLabel;
		results = config.macros.AIMResults.createResults(keyOnly);
		if(results.length===0) {
			$resultsContainer.append('no AIM items to show');
		} else {
			wikify('!!Intervention suggestions:', place);
			interventionLabel = config.macros.AIMResults.analyseResults(results, label);
			$.each(results, function(i, intervention) {
				var intCount = (intervention.count === Math.floor(intervention.count)) ? Math.floor(intervention.count) : intervention.count.toFixed(1),
					label = intervention.count === 1 ? interventionLabel.single : interventionLabel.multi,
					toWikify = '* [['+intervention.name+']] ('+intCount+' '+label+') <html><a class="revealItems" href="#" title="Click to view matching AIM items">View AIM items</a></html>\n';
				$.each(intervention.AIMitems, function(j, AIMitem) {
					toWikify += "** [["+AIMitem.title+"]] (rating "+aimFormItems[AIMitem.title].value+")\n";
				});
				wikify(toWikify, place);
			});
			$(place).find('a.revealItems').click(function() {
				$(this).closest('li').children('ul').toggle();
				return false;
			});
		}
	},
	analyseResults: function(results, label) {
		var interventionLabel,
			aimFormItems = config.macros.AIMForm.getAllItems();
		switch(label) {
			case "global_ranking":
				interventionLabel = {
					single:"AIM item",
					multi:"AIM items"
				};
				$.each(results, function(i, interventionObj) {
					interventionObj.count = interventionObj.AIMitems.length;
				});
				results.sort(function(a,b) {
					return a.AIMitems.length < b.AIMitems.length ? +1 : (a.AIMitems.length === b.AIMitems.length ? 0 : -1);
				});
				break;
			case "focal_ranking": // weighted algorithm
				interventionLabel = {
					single:"average score",
					multi:"average score"
				};
				$.each(results, function(i, interventionObj) {
					var AIMitems = interventionObj.AIMitems,
						count = 0;
					$.each(AIMitems, function(j, AIMitem) {
						var score = aimFormItems[AIMitem.title].value;
						count += parseInt(score,10);
					});
					interventionObj.count = count / AIMitems.length;
				});
				results.sort(function(a,b) {
					return a.count < b.count ? +1 : (a.count === b.count ? 0 : -1);
				});
				break;
			default:
				// do nothing
				break;
		}
		this.results = results;
		return interventionLabel;
	},
	setBehaviours: function() {
		if(this.setup) {
			return;
		}
		$("#aimForm").live('change',this.onChange);
		this.setup = true;
	},
	handler: function(place, macroName, params) {
		$("<p>Display the AIM's suggested interventions, sorted according to:</p>").appendTo(place);
		var $container = $('<div id="AIMResultsContainer"></div>').appendTo(place),
			createChoiceHtml = function(label, name, text, type) {
				return '<div class="choice"><input class="resultsRadio" type="'+type+'" name="'+name+'" id="'+label+'" /><label for="'+label+'">'+text+'</label></div>';
			};
		$(createChoiceHtml('global_ranking', 'algorithm_choice', '<strong>GLOBAL RANKING</strong> - each suggested intervention is ranked according to how many different problems (that is AIM items scoring greater than 2) the young person has which that particular intervention is relevant for. This is good for COVERING THE WHOLE SET OF PROBLEMS AND CAUSES.', 'radio'))
				.appendTo($container)
				.find('input')
				.get(0);
		$(createChoiceHtml('focal_ranking', 'algorithm_choice', '<strong>FOCAL RANKING</strong> - each suggested intervention is ranked in order of how SEVERE the set of problems are (their averaged AIM scores) that indicate that particular intervention. This is good for FOCUSING ON THE MOST SEVERE PROBLEMS.', 'radio'))
				.appendTo($container)
				.find('input')
				.get(0);
		$(createChoiceHtml('limit_ranking', 'limit', '<strong>LIMIT</strong> suggested interventions only to those relevant for items identified as KEY PROBLEMS.', 'checkbox'))
				.appendTo($container)
				.find('input')
				.get(0);
		$container.append('<br class="clearboth" /><div id="AIMResults"></div>');
		this.setBehaviours();
	}
};


/*}}}*/
/*{{{*/

/* =========================================== AIM Form */

#aimForm {
	background-color: #f4f4f4;
	position: relative;
	left: -160px;
	width: 694px;
	padding: 0px;
	font-family: 'PT Sans Caption', lucida sans, helvetica, arial, serif;
	font-size: 0.8em;
	line-height: 1.5em;
	overflow: hidden;
	position: relative;
}

#aimForm p, #aimForm ul {
	font-size: 1em;
}

#aimForm ul.AIMmenu a {
	border-bottom: none;
}

#aimForm ul.AIMmenu {
	margin:40px 0px 0px 0px;
	padding: 0px;
	font-weight: bold;
	width: 150px;
	float: left;
}

#aimForm ul.AIMmenu li ul {
	font-weight: normal;
	float: none;
	line-height: 1.3em;
	width: 145px;
	margin: 0px;
	padding: 5px 0px 10px 5px;
	border-left: 2px #e4e4e4 solid;
	border-bottom: 2px #e4e4e4 solid;
}

#aimForm ul.AIMmenu li {
	list-style: none;
	list-style-image: none;
}

#aimForm ul.AIMmenu li a {
	display: block;
	zoom: 1;
	padding: 3px 0px 3px 10px;
}

#aimForm ul.AIMmenu li.active a {
	background-color: #e4e4e4;
}

#aimForm ul.AIMmenu li ul {
	display: none;
}

#aimForm ul.AIMmenu li.active ul {
	display: block;
}

#aimForm ul.AIMmenu li.active ul a {
	background-color: transparent;
}

#aimForm ul.AIMmenu li ul li.active a {
	font-weight: bold;
}

#aimForm ul.AIMmenu li.done a {
	color:#3ABB00;
}

#aimForm .question {
	float: left;
	width: 464px;
	padding: 0px 60px 20px 20px;
	background-color: #e4e4e4;
}

#aimForm h3 {
	float: none;
	width: auto;
	text-align: left;
	padding: 0px;
	font-weight: normal;
	margin: 15px 0 20px;
	font-size: 1.4em;
}

#aimForm h4 {
	margin-left: 0px;
	font-weight: normal;
	margin-bottom: 20px;
	font-size: 1.2em;
	letter-spacing: 0.02em;
}

#aimForm .navigation {
	width: 150px;
	position: absolute;
	left: 10px;
	top: 15px;
	overflow: hidden;
}

#aimForm .question .navigation {
	position: relative;
	float: left;
	margin-bottom: 20px;
}

#aimForm .question input[type=radio], #aimForm .question input[type=checkbox] {
	float: left;
	width: 30px;
	clear:both;
}

#aimForm .question label {
	margin-bottom: 20px;
	float: left;
	width: 400px;
}

#aimForm .navigation a {
	background-color: #949494;
	display: block;
	position: relative;
	padding: 3px;
	/*width: 40px;*/
	width: auto;
	height: 10px;
	font-weight: bold;
	border: none;
	color: white;
	line-height: 11px;		
	cursor: pointer;
	float: left;
	margin-left: 10px;
}

#aimForm a.export {
	background-color: #949494;
	display: block;
	position: relative;
	padding: 3px;
	height: 10px;
	font-weight: bold;
	border: none;
	color: white;
	line-height: 11px;		
	cursor: pointer;
	float: left;
	margin-left: 0px;
	-moz-border-radius: 3px 0px 0px 3px;
	border-radius: 3px 0px 0px 3px;
}

#aimForm a.export span {
	position: absolute;
	top: 0px;
	width: 0px;
	height: 0px;
	display: block;
	line-height:0em;
	border-top: #e4e4e4 solid 8px;
	border-bottom: #e4e4e4 solid 8px;
	border-left: #949494 solid 8px;
	right: -8px;
}

#aimForm .navigation a.next {
	-moz-border-radius: 3px 0px 0px 3px;
	border-radius: 3px 0px 0px 3px;
	width: 36px;
}

#aimForm .navigation a.previous {
	-moz-border-radius: 0px 3px 3px 0px;
	border-radius: 0px 3px 3px 0px;
	text-align: right;
	padding-right: 4px;
	width: 36px;
}

#aimForm .navigation a span {
	position: absolute;
	top: 0px;
	width: 0px;
	height: 0px;
	display: block;
	line-height:0em;
	border-top: #f4f4f4 solid 8px;
	border-bottom: #f4f4f4 solid 8px;
}

#aimForm .navigation a.next span {
	border-left: #949494 solid 8px;
	right: -8px;
}

#aimForm .navigation a.previous span {
	border-right: #949494 solid 8px;
	left: -8px;
}

#aimForm .question .navigation a span {
	border-top: #e4e4e4 solid 8px;
	border-bottom: #e4e4e4 solid 8px;
}

#aimForm .question .navigation {
	top: 0px;
}

#aimForm .navigation a:hover {
	background-color: #333;
}

#aimForm .navigation a:hover span{
	border-left-color: #333;
	border-right-color: #333;
}

#aimForm .question ul {
	padding-left: 0px;
}

#aimForm .question ul li {
	margin-top: 5px;
}
#aimForm .question ul li ul {
	font-style: italic;
	font-size: 0.9em;
}
#aimForm .question ul li ul li {
	list-style-type: circle;
}

#AIMResults ul li ul {
	display: none; /* so it can be revealed */
}

#AIMResultsContainer .choice {
	clear: both;
}

/*}}}*/
ambit:http://ambit.tiddlyspace.com | core
ambit-content:http://ambit-content.tiddlyspace.com | core
ambit-help:http://ambit-help.tiddlyspace.com | core
ambit-howto:http://ambit-howto.tiddlyspace.com | core
ambit-derry-omagh:http://ambit-derry-omagh.tiddlyspace.com
ambit-casus:http://ambit-casus.tiddlyspace.com
ambit-kidsco:http://ambit-kidsco.tiddlyspace.com
ambit-islington-aot:http://ambit-islington-aot.tiddlyspace.com
ambit-islington-exemplar:http://ambit-islington-exemplar.tiddlyspace.com
ambit-plymouth:http://ambit-plymouth.tiddlyspace.com
ambit-mac:http://ambit-mac.tiddlyspace.com
ambit-edinburgh:http://ambit-edinburgh.tiddlyspace.com
ambit-amass:http://ambit-amass.tiddlyspace.com
ambit-dasl:http://ambit-dasl.tiddlyspace.com
ambit-brathay:http://ambit-brathay.tiddlyspace.com
ambit-caldecott:http://ambit-caldecott.tiddlyspace.com
ambit-offcentre:http://ambit-offcentre.tiddlyspace.com
ambit-youngminds:http://ambit-youngminds.tiddlyspace.com
ambit-winch:http://ambit-winch.tiddlyspace.com
ambit-bexley:http://ambit-bexley.tiddlyspace.com
ambit-offtherecord:http://ambit-offtherecord.tiddlyspace.com
ambit-guernsey:http://ambit-guernsey.tiddlyspace.com
ambit-onlyconnect:http://ambit-onlyconnect.tiddlyspace.com
ambit-benjamin:http://ambit-benjamin.tiddlyspace.com
ambit-hackneymind:http://ambit-hackneymind.tiddlyspace.com
ambit-righthere:http://ambit-righthere.tiddlyspace.com
ambit-starproject:http://ambit-starproject.tiddlyspace.com
qcproject:http://qcproject.tiddlyspace.com
ambit-ymhcentralnorfolk:http://ambit-ymhcentralnorfolk.tiddlyspace.com
ambit-ymheastnorfolk:http://ambit-ymheastnorfolk.tiddlyspace.com
ambit-ymhwestnorfolk:http://ambit-ymhwestnorfolk.tiddlyspace.com
southwarkintegrate:http://southwarkintegrate.tiddlyspace.com
ambit-cambsist:http://ambit-cambsist.tiddlyspace.com
ambit-darwin:http://ambit-darwin.tiddlyspace.com
ambit-camden:http://ambit-camden.tiddlyspace.com
ambit-belfastcfc:http://ambit-belfastcfc.tiddlyspace.com
ambit-belfastypc:http://ambit-belfastypc.tiddlyspace.com
ambit-belfastdamhs:http://ambit-belfastdamhs.tiddlyspace.com
ambit-lisburndownpatrickcamhs:http://ambit-lisburndownpatrickcamhs.tiddlyspace.com
ambit-northdownandardscamhs:http://ambit-northdownandardscamhs.tiddlyspace.com
ambit-cait:http://ambit-cait.tiddlyspace.com
ambit-beechcroft:http://ambit-beechcroft.tiddlyspace.com
ambit-southeasternbess-step2team:http://ambit-southeasternbess-step2team.tiddlyspace.com
ambit-set-connects:http://ambit-set-connects.tiddlyspace.com
ambit-familytraumacentre:http://ambit-familytraumacentre.tiddlyspace.com
ambit-northerntrust:http://ambit-northerntrust.tiddlyspace.com
ambit-flaxfieldunit:http://ambit-flaxfieldunit.tiddlyspace.com
ambit-therapeuticsupportservices:http://ambit-therapeuticsupportservices.tiddlyspace.com
ambit-communitypsychologicalservices:http://ambit-communitypsychologicalservices.tiddlyspace.com
ambit-familyandchildcare:http://ambit-familyandchildcare.tiddlyspace.com
ambit-southerntrustcamhs:http://ambit-southerntrustcamhs.tiddlyspace.com
ambit-juvenilejusticecentre:http://ambit-juvenilejusticecentre.tiddlyspace.com
ambit-lakewoodcentre:http://ambit-lakewoodcentre.tiddlyspace.com
ambit-selfharmteam:http://ambit-selfharmteam.tiddlyspace.com
ambit-alot:http://ambit-alot.tiddlyspace.com
ambit-mulberry:http://ambit-mulberry.tiddlyspace.com
ambit-hackneyyouth:http://ambit-hackneyyouth.tiddlyspace.com
ambit-camdenieys:http://ambit-camdenieys.tiddlyspace.com
ambit-camdenfif:http://ambit-camdenfif.tiddlyspace.com
ambit-camdeniys:http://ambit-camdeniys.tiddlyspace.com
ambit-camdenedpsychs:http://ambit-camdenedpsychs.tiddlyspace.com
ambit-camdenprobationteam:http://ambit-camdenprobationteam.tiddlyspace.com
ambit-camdenjcp:http://ambit-camdenjcp.tiddlyspace.com
ambit-camdeneducationwelfareservice:http://ambit-camdeneducationwelfareservice.tiddlyspace.com
ambit-camdensit:http://ambit-camdensit.tiddlyspace.com
ambit-camdencin:http://ambit-camdencin.tiddlyspace.com
ambit-camdenlac:http://ambit-camdenlac.tiddlyspace.com
ambit-camdendutyassessment:http://ambit-camdendutyassessment.tiddlyspace.com
ambit-camdencommunitysafety:http://ambit-camdencommunitysafety.tiddlyspace.com
ambit-ious-share:http://ambit-ious-share.tiddlyspace.com
http://ambitioustester:http://ambitioustester.tiddlyspace.com/

Here you will find (as sub-topics in the [[Show references and info]] panel) explanations of the various [[Tabs]] that make up the [[Index]] allowing you to sort and sift the many pages in the manual in different ways
* [[Licensed]] content
** Information about the way this manual is released under the Creative Commons to maximise sharing and wide dissemination.
* Information on [[Using the Manual]]
** How to navigate around it easily
** How find content you seek
** How to compare what is in this version, and those of other teams
* [[Recent changes]] in the manual (it is [[always improving|Dynamic, adaptive Manualization]]!)
* [[List LOCAL EDITS to the manual]] - if this is LOCAL TEAM's version, check to see their own local edits. 
* [[Authors]]
* [[Sponsors]]
* [[Feedback please!]]
!Only if you are using [[ICR]] (ignore in 2013 - not functioning yet!)
If you are using the manual in its most interactive mode [[ICR]], some CheckLists are automatically on your ToDo list (such as [[Starting a NEW CASE - CheckLists]]), others, such as the [[SPECIFIC INTERVENTIONS - CheckLists]] can be added if you decide, as part of your [[Care Plan]], that a particular kind of work ([[Specific interventions]]) is required.

Each separate checklist can (and should) be added to the ToDo list if the [[Care Plan]] suggests that it is required.  
Adding CheckLists to your ToDo list is easy:
#Assuming you have editing rights, click [[Edit]] on the checklist.
#Add the phrase ToDo (make sure you get the case for each letter right) to any other [[Tags]] in the box for these.
#Click "done" to switch the tiddler back from edit-mode - Bingo!
Now, as long as there are still unchecked boxes in your list it will show up in your ToDo list... once they are all checked off, however, it will automatically be tagged with "done".
!What's here?
# The purpose of the page explained
# Groundrules for embedding material
# Link to material on embedding IMAGES
# A video introduction to embedding VIDEO
#Where to store (or "host") material for embedding
!1. Purpose of this page?
Your TiddlyManual is a "multimedia" site - that means there are [[Videos]] and [[Slides]] and [[Audio clips]] embedded in the pages.  We assume this material enriches the content and improves the likelihood that it will influence practice in positive ways.

We want local teams to [[Manualize|Manualization]] their own work - adding documentation of local adaptations, improvements and attunements that will better support their local team to do the work it does.  There is more basic information on how to [[Edit]] these [[Wiki]]s.  The point of //this// page is to show you how to add "the fancy stuff" like video clips, audio clips, pictures, or downloadable documents.  

This is very easy... honest... try it!  

!2. Groundrules:
|bgcolor(red): ''N.B. - NO CONFIDENTIAL CLIENT VIDEO MATERIAL SHOULD EVER BE UPLOADED TO AN ONLINE SOURCE, AND THE STREAMING VIDEO USED IN THE AMBIT MANUAL INVOLVING ~ROLE-PLAYS SHOULD ONLY BE DISPLAYED WITH APROPRIATE CONSENT.  TEAMS ARE RESPONSIBLE FOR THE MATERIAL THAT THEY UPLOAD THEMSELVES, NOT THE AMBIT PROJECT!'' |


!3. EMBEDDING IMAGES
See [[Embedding Images in your TiddlyManual]]

<<image [[New AMBIT WHEEL]] width:100 height:100>> 

!4.Video introducing "how to embed VIDEO":
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/I_5Cqd3gvkA?rel=0" frameborder="0" allowfullscreen></iframe></html>

!5. Understanding how it works
First, this is called a //~Mash-Up// - what is that?!

This is what --geeks-- programmers refer to when a single website actually uses functions and pieces of information that are drawn from different places across the internet - the //mash-up// brings these disparate elements together to produce something quite specific and 'fit-for-purpose'.  [[TiddlyManual]]s work like this.  Video, audio, pictures and documents can all be stored in different online places, but can be accessed through (or "embedded within") the one tiddlymanual.

!6.Where/how to store (or "host") material for embedding?
Where can you upload material online, so that you can embed it and display it in your manual?

Here are a few examples of ''"hosting resources"'' that are in use in the manual - all of them are FREE - you just have to register to set up an account:

!!!(a) Video
We mainly use [[YouTube|http://www.youtube.com/]] but another good hosting site is [[Vimeo|http://vimeo.com/]].   You will need to find the "EMBED" code from the website, and use that pasted into place within this extra bit of code:

|bgcolor(beige): {{{<html>}}}~ADD_YOUR_EMBED_CODE_HERE{{{</html>}}} |

!!!(b) Audio
A good site is [[Soundcloud|http://soundcloud.com]] - you can upload Mp3 tracks (lots of musicians use this site, but it works equally well for the spoken voice) and then "embed" the player for that track in your page (as above).
!!!(c) Pictures
See [[Embedding Images in your TiddlyManual]].  The easiest place to upload to is to TiddlySpace itself.  We also use [[Google Picasa|http://picasaweb.google.com/]]  or [[Flickr|http://www.flickr.com/]] to host pictures (but increasingly the IT red tape in NHS or Social care settings blocks these).
!!!(d) Documents
We use [[Google Docs|http://www.google.com/google-d-s/b1.html]] or the more recent [[Google Drive|https://drive.google.com]].  Annoyingly, some dinosaur organisations (mentioning no names) still block Google Documents via their IT departments - this kind of problem will surely die off eventually... See [[Organisational support for the technology to run TiddlyManuals]] for advice on how to tackle this nuisance.

In Google docs you open the document, look for the "Share" button (top right of the screen) and then select Publish/Embed, and that will offer you a range of options so for slides you can choose to automatically start a slide show running and looping every time the site is accessed, etc (see [[Thinking Together]] for an example of this).  Google docs offers a bit of code, which you copy.
!!!(e) For PowerPoint slides
You can display slides so that others can see them as a slideshow, or can DOWNLOAD them from your page in your manual

* You can do this via Google Docs, Google Drive, or one of many other "web-hosting" services for PowerPoint slides
* Alternatively, you can actually save individual PowerPoint slides as JPEG files (essentially these are just digital photos) and then upload these to a photo hosting site (see just above for examples) and mount them in your page as a straightforwards picture (simpler, nicer "feel", but a bit fiddlier if you have loads of pictures! - the photo above is actually taken from a PowerPoint slide that was saved as a JPEG.)  
** By the way, ancient versions of PowerPoint make it a bit more complicated to save slides as JPEGs, but modern versions make it easy... (open the slide, click "Save as", then select what kind of file (JPEG) you want to save it as from the drop-down list that appears beneath all the file locations you could save it into...

!!!EMBEDDING CODE
* Find the "Embed code" from the site where you are hosting the image/document/etc
* Slap this embed code INSIDE the code given below (cut and paste it from here):

|bgcolor(beige): {{{<html>}}}~ADD_YOUR_EMBED_CODE_HERE{{{</html>}}} |

|bgcolor(red): ''Do note'' the little //forwards slash// that must sit before the second "html"... it is fiddly, but once you know it, simple! |

!! iFRAMES - a whole "web-page-within-a-page"!

An iFrame simply opens a "port-hole" onto another part of the web from within a [[Tiddler]].  If you want to 'embed' a ''whole web-page'' inside a page of your manual, you can easily make one of these 'windows', using a similar little bit of code (called an "iFrame").  Here is the code that you need to this... you can __cut and paste the code for this from here__:

|bgcolor(beige): {{{<html><div align="center"><iframe src="PASTE_YOUR_WEBPAGE_URL_HERE" frameborder="0" width="100%" height="600"></iframe></div></html>}}} |

## Now go to the web-page you want to embed in your manual page
## Copy the web address ("URL") for that web-page
## Go back to the [[Tiddler]] you are editing, and paste the web-page URL just where the code says "~PASTE_YOUR_WEBPAGE_URL_HERE" (''//be sure to leave the speech marks in place so that they bracket your URL//'')
## Done!  Click "Done" (or the tick) on your [[Tiddler]] page - top right, and the page will switch back to ordinary viewing mode... if you got it right, you'll see your other web-page within that one.  Here is an example (probably the most boring blog in the blogosphere):

<html><div align="center"><iframe src="http://dickonb.blogspot.co.uk/" frameborder="0" width="100%" height="600"></iframe></div></html>
 
!!Notes:

#If you are viewing a downloaded //copy// of the manual then it will still fish out the web-based content //so long as your computer is hooked up to the internet//, but if you are not online, obviously no image will show. 
#If you are wanting to put a bit of YouTube video up, you will see on the You Tube page that there are actually two bits of code displayed that can be cut and pasted - one is titled "URL" - this is what you would use for the iFrame technique, the other is titled "Embed" and is a neater way of doing things (see "embedding code" above - but essentially, just sandwich the Youtube embed code in between these two extra bits of code: {{{<html>}}} and {{{</html>}}} (again, do note that there is an extra "forward slash" in the second of these.)  If you use an "Embed" code then you will ONLY get the video image in its own little "player", rather than the whole You Tube page - much neater.
!What is it and where is it?
* This is one of the options on the [[Mode and Login panel]].  
* You can only access this option if you are [[logged in|Log in]] as a member of the space.

Via an extra set of [[Menus]] on the black [[Top menu bar]] that appears right across the top of your desktop screen (you may need to scroll to the top of the page to reveal this) you can find:
* Extra information about the site
* How to add or subtract members (given that you have the appropriate permissions), etc.  
* Additional ways to [[Index]] and [[Search]] material, or to make changes to "batches" of pages.
* Etc
!It //is// only for advanced users!
As the name suggests, most team members or visitors will either not have access to this menu, or would have no use for it.







!Purpose
To find ways around large organisations' bans on staff accessing to the ~YouTube video clips.

!The easy way:
The ''best'' way to do this is to persuade your organisation to make an exception so that members of your team are given permission to access Youtube, Vimeo, Google Docs and Picasa (where most of the multimedia content is hosted, and then accessed by the manual.)

The problem that you //may// have is that your IT Dept is mixing its technical/facilitating role with a MANAGEMENT role.  (Most definitions of the role of an IT dept is that it is there to make IT work for the benefit of the organisation.)  If members of your team were to access //inappropriate material// or to //waste the hours they are being paid to work// by watching tedious or crass videos instead, then this would be a //management// issue, and should be dealt with accordingly by line management.  Asking for a technological fix for human behaviour is not great management, and not very 21st century!  

!The harder way: permissions for each //individual// ~YouTube clip
This is a bit fiddly, so you I suggest that you ask your IT dept to do this for you if this is what is being asked for!

Note that everytime a new videoclip is added to the manual (and we hope that lots of new video will be being added!) they will have to go and make a new exception - which is a drag.  Many large organisations, including in the NHS, are now beginning to grant blanket permission for certain users to access Youtube, etc, and then managing infringements in more grown up ways.

There is some good material in the manual about marshalling this kind of argument for senior managers in an organisation: see [[Organisational support for the technology to run TiddlyManuals]].

If in spite of all this the organisation still insists on approving each individual video clip then this is how to find the URL's (that is the web address that the IT system will have to enter into their system to "Allow" it):

1. Go to [[Videos]] - this page has all the video content listed as sub-topics find this when you click the "[[Show references and info]]" panel.

2. Open each page with video embedded in it, and then get the URL for that filmclip as follows:

3. Within each embedded youtube screen on the page there are buttons that will appear when you mouse over the screen.  These allow you :

(a) to minimise the film screen and reveal beside this the "URL" for that bit of film (select and copy it!), or 
(b) to "watch this film in ~YouTube" which opens the youtube page in a separate tab or window (which also gives you the URL - select and copy it.)

4. Give a list of the ~YouTube clip URL's to your IT department.  Warn them that you will be supplying them with a regular supply of new URL's as new video continues to be added.

!But...
Obviously if you were to try to do this yourself at work you would struggle as you can't get the films to show!  But there is still a way...

5. You need to [[Log in]] and then switch the manual to [[Edit mode]].

6. Open up a page that has video in it, and click the Edit button to "open the hood" of that page to look at the workings...

>(tip: NB - IF YOU DO THIS, THEN WHEN YOU CLOSE THE PAGE UP AGAIN, USE THE X, RATHER THAN THE TICK, SO THAT YOU "UNDO CHANGES TO THIS TIDDLER" - that way the system doesn't assume you have been busily editing your content and log all the pages you do this with as different versions from the core manual)....

7. Once you are inside the workings of the page, what you then look for is a bit of gobbledegook code that will be placed where the video window occurs in the page.  This is what we call an iFrame - it consists of two lumps of code that sandwich the URL and tell the page to make a window and to show the URL inside it.  It will look something like this:

>{{{<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>}}}

8.  All you have to do now (I warned you it was fiddly!) is find the URL and copy it out of this - it will always start with {{{http://}}} and will always be bracketted with speech marks - I have highlighted this one:

>{{{<html><object width="425" height="344"><param name="movie" value="}}}http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1{{{"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/jlmDRbXttcw?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>}}}

I hope that is helpful.  Many large organisations are now making ~YouTube and Facebook, etc, open to all their staff, which is felt to be more respectful, and does not change the fact that if there is evidence of misuse then this is may be evidenced easily enough with help from the IT dept, and then managed through line management.  That way IT gets to do what it is good at, and managers too...
This button/heading is found on one of the Tabs, in the [[Index]].  It lists all the [[Tiddler]]s in the whole manual, in alphabetical order. You can also use the [[Search]] facility to look for the information you want.
/***
|''Name''|AmbitSearchPlugin|
|''Description''|based on SimpleSearchPlugin by FND|
|''Authors''|Jonathan Lister|
|''Version''|0.1|
|''Status''|stable|
|''Source''|http://ambit-plugins.tiddlyspace.com/AmbitSearchPlugin|
|''License''|[[MIT|http://www.opensource.org/licenses/mit-license.php]]|
|''Keywords''|search|

Note: this does not add styles - there are sample styles in http://ambit-theme.tiddlyspace.com/Stylesheet

!Code
***/
//{{{
if(!version.extensions.AmbitSearchPlugin) { //# ensure that the plugin is only installed once
version.extensions.AmbitSearchPlugin = { installed: true };

if(!config.extensions) { config.extensions = {}; }

var $ = jQuery;

config.extensions.AmbitSearchPlugin = {
	heading: "Search Results",
	containerId: "searchResults",
	btnCloseLabel: "close",
	btnCloseTooltip: "dismiss search results",
	btnCloseId: "search_close",
	btnOpenLabel: "Open all",
	btnOpenTooltip: "open all search results",
	btnOpenId: "search_open",

	displayResults: function(matches, query) {
		story.refreshAllTiddlers(true); // update highlighting within story tiddlers
		window.scrollTo(0,0);
		query = '"""' + query + '"""'; // prevent WikiLinks
		var $container = $('<div id="'+this.containerId+'"><div class="jbasewrap"><div class="overlay"></div></div></div>').insertAfter('#header'),
			el = $container.find('.overlay').get(0),
			msg = "!" + this.heading + "\n";
		if(matches.length > 0) {
			msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\n";
			this.results = [];
			for(var i = 0 ; i < matches.length; i++) {
				this.results.push(matches[i].title);
				msg += "* [[" + matches[i].title + "]]\n";
			}
		} else {
			msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?
		}
		createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, config.extensions.AmbitSearchPlugin.closeResults, "button", this.btnCloseId);
		createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.AmbitSearchPlugin.openAll, "button", this.btnOpenId);
		wikify(msg, el);
		createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, config.extensions.AmbitSearchPlugin.closeResults, "button", this.btnCloseId);
		createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.AmbitSearchPlugin.openAll, "button", this.btnOpenId);
		$container.click(function(e) {
			if($(e.target).hasClass('tiddlyLink')) {
				config.extensions.AmbitSearchPlugin.closeResults();
			}
			return false;
		});
	},

	closeResults: function() {
		var el = document.getElementById(config.extensions.AmbitSearchPlugin.containerId);
		removeNode(el);
		config.extensions.AmbitSearchPlugin.results = null;
		highlightHack = null;
	},

	openAll: function(ev) {
		story.displayTiddlers(null, config.extensions.AmbitSearchPlugin.results);
		return false;
	}
};

// override Story.search()
Story.prototype.search = function(text, useCaseSensitive, useRegExp) {
	highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");
	var matches = store.search(highlightHack, null, "excludeSearch"),
		q = useRegExp ? "/" : "'";
	config.extensions.AmbitSearchPlugin.displayResults(matches, q + text + q);
};

// override TiddlyWiki.search() to sort by relevance
TiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {
	var candidates = this.reverseLookup("tags", excludeTag, !!match),
		primary = [],
		secondary = [],
		tertiary = [],
		t,
		results;
	for(t = 0; t < candidates.length; t++) {
		if(candidates[t].title.search(searchRegExp) != -1) {
			primary.push(candidates[t]);
		} else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {
			secondary.push(candidates[t]);
		} else if(candidates[t].text.search(searchRegExp) != -1) {
			tertiary.push(candidates[t]);
		}
	}
	results = primary.concat(secondary).concat(tertiary);
	if(sortField) {
		results.sort(function(a, b) {
			return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);
		});
	}
	return results;
};

} //# end of "install only once"
//}}}
tracker: UA-5027473-8
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
The NHS [[Armchair Involvement project]], is an official NHS site called the Armchair Involvement project describes itself as "Helping you to use new technology to engage people in service improvement" which ticks a lot of boxes.  the direct weblink is [[here|http://www.institute.nhs.uk/building_capability/armchair_no_comment/armchair_involvement.html]]

It references a site called [[Social Strategy - breaking down the barriers]], which lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.

<html><div align="center"><iframe src="http://webarchive.nationalarchives.gov.uk/20100809193706/https://www.institute.nhs.uk/images//documents/BuildingCapability/Armchair/armchair%20involvement%20report.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
The AIM is derived from the Hampstead Child Adaptation Measure, which was originally authored by: 
*Tiffany Schneider
*Mary Target
*Peter Fonagy 

It was subsequently adapted (significantly shortened, minor alterations to questions) by:
*Dickon Bevington and 
*Peter Fuggle.

All the authors can be contacted via the [[Anna Freud Centre|http://annafreud.org]].
!SpaceUnplugged
{{unpluggedSpaceTab{
{{wizard{
<<image unsyncedIcon width:48>> Sync is currently unavailable in ~TiddlyWiki due to security constraints in modern browsers. Research is being done to build a suitable alternative. In the meantime if you have changed content in an offline ~TiddlyWiki, you can get your content back into ~TiddlySpace by using the ''import'' functionality from the backstage of the online wiki.
}}}
}}}

!Menu
<<message messages.memberStatus>> <<homeLink>>
{{unsyncedList{<<message messages.syncListHeading>> <<list filter [is[unsynced]]>>}}}

running TiddlySpace@glossary version <<message extensions.tiddlyweb.status.tiddlyspace_version>>
{{autotable{
<<tiddler Backstage##Resources>>
}}}

!Resources
[[blog|@@blog]] [[documentation|@@docs]] [[featured spaces|@@featured]] 

!ImportExport
<<fileImport>>
You can download this TiddlySpace as an offline TiddlyWiki:

{{chunkyButton{<<exportSpace>>}}}

!BackstageTiddlers
|upload a <<message messages.privacySetting>> file: <<binaryUpload>>|<<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>>|
|>|<<search>>|
|>|<<tiddler Backstage##Tiddlers>>|

!Tiddlers
<<tabs
	txtMainTab
	"Recent" "Recently edited tiddlers" TabTimeline
	"All" "All tiddlers" TabAll
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
	"Tags" "All tags" TabTags
	"Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
	"Missing" "Missing tiddlers" TabMoreMissing
	"Orphans" "Orphaned tiddlers" TabMoreOrphans
	"Shadows" "Shadowed tiddlers" TabMoreShadowed
>>

!BatchOps
<<tabs
	txtPublisherTab
	"Private" "Move tiddlers from private to public" Backstage##BatchPrivate
	"Public" "Move tiddlers from public to private" Backstage##BatchPublic
>>

!BatchPrivate
<<TiddlySpacePublisher type:private>>

!BatchPublic
<<TiddlySpacePublisher type:public>>

!Plugins
''Note:'' Many of these plugins are core TiddlySpace plugins and cannot be changed unless first cloned.

<<tiddler PluginManager>>

!Tweaks
These options change behavior in TiddlyWiki //only// and may be ineffective in TiddlySpace.

<<tiddler AdvancedOptions>>
/***
|''Name''|BinaryTiddlersPlugin|
|''Description''|renders base64-encoded binary tiddlers as images or links|
|''Author''|FND|
|''Version''|0.3.2|
|''Status''|@@beta@@|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/BinaryTiddlersPlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5|
!Code
***/
//{{{
(function($) {

"use strict";

var ctfield = "server.content-type";

var plugin = config.extensions.BinaryTiddlersPlugin = {
	isWikiText: function(tiddler) {
		var ctype = tiddler.fields[ctfield];
		if(ctype) {
			if (ctype === 'text/x-tiddlywiki') {
				return true;
			}
			return !this.isBinary(tiddler) && !this.isTextual(ctype);
		} else {
			return true;
		}
	},
	// NB: pseudo-binaries are considered non-binary here
	isBinary: function(tiddler) {
		var ctype = tiddler.fields[ctfield];
		return ctype ? !this.isTextual(ctype) : false;
	},
	isTextual: function(ctype) {
		return ctype.indexOf("text/") === 0
			|| this.endsWith(ctype, "+xml")
			|| ctype === 'application/json'
			|| ctype === 'application/javascript';
	},
	endsWith: function(str, suffix) {
		return str.length >= suffix.length &&
			str.substr(str.length - suffix.length) === suffix;
	},
	isLink: function(tiddler) {
		return this.isBinary(tiddler) && tiddler.text.indexOf("<html>") !== -1;
	}
};

// Disable edit for linked tiddlers (for now)
// This will be changed to a GET then PUT
config.commands.editTiddler.isEnabled = function(tiddler) {
    var existingTest = config.commands.editTiddler.isEnabled;
    if (existingTest) {
        return existingTest && !plugin.isLink(tiddler);
    } else {
        return !plugin.isLink(tiddler);
    }
};

// hijack text viewer to add special handling for binary tiddlers
var _view = config.macros.view.views.wikified;
config.macros.view.views.wikified = function(value, place, params, wikifier,
		paramString, tiddler) {
	var ctype = tiddler.fields["server.content-type"];
	if(params[0] === "text" && ctype && ctype !== 'text/x-tiddlywiki' &&
			!tiddler.tags.contains("systemConfig") && !plugin.isLink(tiddler)) {
		var el;
		if(plugin.isBinary(tiddler)) {
			var uri = "data:%0;base64,%1".format([ctype, tiddler.text]); // TODO: fallback for legacy browsers
			if(ctype.indexOf("image/") === 0) {
				el = $("<img />").attr("alt", tiddler.title).attr("src", uri);
			} else {
				el = $("<a />").attr("href", uri).text(tiddler.title);
			}
		} else {
			el = $("<pre />").text(tiddler.text);
		}
		el.appendTo(place);
	} else {
		_view.apply(this, arguments);
	}
};

// hijack edit macro to disable editing of binary tiddlers' body
var _editHandler = config.macros.edit.handler;
config.macros.edit.handler = function(place, macroName, params, wikifier,
		paramString, tiddler) {
	if(params[0] === "text" && plugin.isBinary(tiddler)) {
		return false;
	} else {
		_editHandler.apply(this, arguments);
	}
};

// hijack autoLinkWikiWords to ignore binary tiddlers
var _autoLink = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function() {
	return plugin.isWikiText(this) ? _autoLink.apply(this, arguments) : false;
};

}(jQuery));
//}}}
/***
|''Name''|BinaryUploadPlugin|
|''Version''|0.3.16|
|''Author''|Ben Gillies and Jon Robson|
|''Type''|plugin|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/BinaryUploadPlugin.js|
|''Description''|Upload a binary file to TiddlyWeb|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig TiddlyWebConfig|
!Usage
{{{
<<binaryUpload bag:<name> edit:tags edit:title tags:<default tags> title:<title> >>
}}}
* {{{bag:<name>}}}: optional; if left out, the file will be saved to the current workspace
* {{{edit:tags}}}: specifies that you want to tag the file being uploaded
* {{{edit:title}}}: specifies that you want to set the title to something other than the filename
* {{{tags:<default tags>}}}: specifies a default set of tags to apply to the file (requires {{{edit:tags}}} to be set)
* {{{title:<title>}}}: predefines the title of the binary tiddler
!Requires
TiddlyWeb
tiddlywebplugins.form
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;

var macro = config.macros.binaryUpload = {
	locale: {
		titleDefaultValue: "Please enter a title...",
		tagsDefaultValue: "Please enter some tags...",
		titlePrefix: "title: ",
		tagsPrefix: "tags: ",
		loadSuccess: 'Tiddler %0 successfully uploaded',
		loadError: "An error occurred when uploading the tiddler %0",
		uploadInProgress: "Please wait while the file is uploaded...",
		membersOnly: "Only members can upload."
	},
	renderInputFields: function(container, options) {
		var locale = macro.locale;
		var editableFields = options.edit;
		var includeFields = {
			tags:  editableFields && editableFields.contains("tags") ? true : false,
			title: editableFields && editableFields.contains("title") ? true : false
		};
		var fields = ["title", "tags"];
		for(var i = 0; i < fields.length; i++) {
			var fieldName = fields[i];
			var userDefault = options[fieldName];
			var defaultValue = userDefault ? userDefault[0] : false;
			if(includeFields[fieldName] || defaultValue) {
				var localeDefault = locale["%0DefaultValue".format(fieldName)];
				var className = defaultValue ? "userInput" : "userInput notEdited";
				var inputEl;
				var val = defaultValue || localeDefault || "";
				var iContainer = $("<div />").addClass("binaryUpload%0".format(fieldName)).
					appendTo(container);
				if(defaultValue && !includeFields[fieldName]) {
					var label = locale["%0Prefix".format(fieldName)];
					$("<span />").text(label).appendTo(iContainer);
					$("<span />").addClass("disabledInput").text(val).appendTo(iContainer);
					inputEl = $("<input />").attr("type", "hidden");
				} else {
					inputEl = $("<input />").attr("type", "text");
				}
				inputEl.attr("name", fieldName).
					addClass("%0Edit".format(fieldName)).
					val(val).addClass(className).appendTo(iContainer);
			}
		}
	},
	getTiddlerName: function(fileName) {
		var fStart = fileName.lastIndexOf("\\");
		var fStart2 = fileName.lastIndexOf("/");
		fStart = fStart < fStart2 ? fStart2 : fStart;
		fileName = fileName.substr(fStart+1);
		return fileName;
	},
	errorHandler: function(fileName) {
		displayMessage("upload of file %0 failed".format(fileName));
	},
	uploadFile: function(place, baseURL, workspace, options) {
		var pleaseWait = $(".uploadProgress", place);
		var iframeName = options.target;
		var form = $("form", place);
		var existingVal = $("input[name=title]", form).val();
		var fileName = existingVal || $('input:file', form).val();
		if(!fileName) {
			return false; // the user hasn't selected a file yet
		}
		fileName = macro.getTiddlerName(fileName);
		$("input[name=title]", place).val(fileName);
		// we need to go somewhere afterwards to ensure the onload event triggers
		var redirectTo = "/%0/tiddlers.txt?select=title:%1".
			format(workspace, fileName);
		var token = tiddlyspace ? tiddlyspace.getCSRFToken() : "";
		var action = "%0?csrf_token=%1&redirect=%2"
			.format(baseURL, token, redirectTo);
		form[0].action = action; // dont use jquery to work with ie
		form[0].target = iframeName;
		// do not refactor following line... won't work in IE6 otherwise
		$(place).append($('<iframe name="' + iframeName + '" id="' + iframeName + '"/>').css('display','none'));
		macro.iFrameLoader(iframeName, function() {
			var content = document.getElementById(iframeName).contentWindow.document.documentElement;
			if($(content).text().indexOf(fileName) > -1) {
				options.callback(place, fileName, workspace, baseURL);
			} else {
				macro.errorHandler(fileName);
			}
			form.show(1000);
			pleaseWait.hide(1000);
		});
		form.hide(1000);
		pleaseWait.show(1000);
		return true;
	},
	createUploadForm: function(place, options) {
		var locale = macro.locale;
		if(readOnly) {
			$('<div class="annotation" />').text(locale.membersOnly).
				appendTo(place);
			return;
		}
		var bag = options.bag;
		options.callback = options.callback ? options.callback :
			function(place, fileName, workspace, baseurl) {
				macro.displayFile(place, fileName, workspace);
				displayMessage(locale.loadSuccess.format(fileName));
				$("input[type=text]", place).val("");
			};
		var defaults = config.defaultCustomFields;
		place = $("<div />").addClass("container").appendTo(place)[0];
		var workspace = bag ? "bags/%0".format(bag) : config.defaultCustomFields["server.workspace"];
		var baseURL = defaults["server.host"];
		baseURL += (baseURL[baseURL.length - 1] !== "/") ? "/" : "";
		baseURL = "%0%1/tiddlers".format(baseURL, workspace);
		//create the upload form, complete with invisible iframe
		var iframeName = "binaryUploadiframe%0".format(Math.random());
		// do not refactor following line of code to work in IE6.
		var form = $('<form action="%0" method="POST" enctype="multipart/form-data" />'.
					format(baseURL)).addClass("binaryUploadForm").
			appendTo(place)[0];
		macro.renderInputFields(form, options);
		$(form).
			append('<div class="binaryUploadFile"><input type="file" name="file" /></div>').
			append('<div class="binaryUploadSubmit"><input type="submit" value="Upload" disabled /></div>').
			submit(function(ev) {
				this.target = iframeName;
				options.target = iframeName;
				macro.uploadFile(place, baseURL, workspace, options);
			})
			.find('[type="file"]').bind('change', function() {
				$(form).find('[type="submit"]').prop('disabled', false);
			}).end();
		$('<div />').addClass("uploadProgress").text(locale.uploadInProgress).hide().appendTo(place);
		$("input[name=file]", place).change(function(ev) {
			var target = $(ev.target);
			var fileName = target.val();
			var title = $("input[type=text][name=title]", place);
			if(!title.val()) {
				title.val(fileName);
			}
		});
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		params = paramString.parseParams(null, null, true);
		macro.createUploadForm(place, params[0]);
	},
	iFrameLoader: function(iframeName, callback) {
		var iframe = document.getElementById(iframeName); //jQuery doesn't seem to want to do this!?
		var locale = macro.locale;
		$(".userInput").addClass("notEdited"); // reset editing
		var finishedLoading = function() {
			callback();
		};
		var iFrameLoadHandler = function() {
			finishedLoading.apply();
			return;
		};

		iframe.onload = iFrameLoadHandler;
		//IE
		completeReadyStateChanges = 0;
		iframe.onreadystatechange = function() {
			if (++(completeReadyStateChanges) == 3) {
				iFrameLoadHandler();
			}
		};
	},
	displayFile: function(place, title, workspace) {
		var adaptor = store.getTiddlers()[0].getAdaptor();
		var context = {
			workspace: workspace,
			host: config.defaultCustomFields['server.host']
		};
		adaptor.getTiddler(title, context, null, function(context) {
			if(context.status) {
				store.addTiddler(context.tiddler);
				story.displayTiddler(place, title);
				var image = config.macros.image;
				if(image && image.refreshImage) {
					image.refreshImage("/%0/tiddlers/%1".format(workspace, title));
					image.refreshImage(title);
					image.refreshImage("/%0".format(title));
					image.refreshImage("%0/%1/tiddlers/%2".format(config.extensions.tiddlyweb.host, workspace, title));
				}
			} else {
				displayMessage(macro.locale.loadError.format(title));
			}
		});
	}
};

if(tiddlyspace) {
	config.macros.binaryUploadPublic = {
		handler: function(place, macroName, params, wikifier, paramString, tiddler) {
			var options = paramString.parseParams(null, null, true)[0];
			var bag = tiddlyspace.getCurrentBag("public");
			options.bag = bag;
			macro.createUploadForm(place, options);
		}
	};
	config.messages.privacySetting = config.options.chkPrivateMode ?
		"private" : "public";
	config.macros.binaryUpload.defaultWorkspace = tiddlyspace.
		getCurrentWorkspace(config.messages.privacySetting);
}

})(jQuery);
//}}}
!!!What you type in the edit box...
{{{
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

<<<
blockquote
<<<
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3

> blockquote
<<<
If you do not want to be tracked by google analytics across any servers anywhere on the internet, then you can control that, per computer, by making it so the host to which the analytics software sends it data cannot be reached. The easiest way to do this is by editing your host file or equivalent as follows:
{{{
127.0.0.1 www.google-analytics.com ssl.google-analytics.com
}}}
Another option is to block those hosts in a firewall configuration.
Overwriting BreadcrumbsPlugin in @ambit-plugins
/9j/4AAQSkZJRgABAQEAYABgAAD/4QBKRXhpZgAATU0AKgAAAAgAAwEaAAUAAAABAAAAMgEbAAUAAAABAAAAOgEoAAMAAAABAAJAQAAAAAA5OHAAAJiWgDk4cAAAmJaA/+EGCWh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPjxkYzpjcmVhdG9yPjxyZGY6U2VxIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpsaT4oQykgQnJpdGlzaCBCcm9hZGNhc3RpbmcgQ29ycG9yYXRpb248L3JkZjpsaT48L3JkZjpTZXE+DQoJCQk8L2RjOmNyZWF0b3I+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9J3cnPz7/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAFoAoADASIAAhEBAxEB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
If you are not [[logged in|Log in]] then you only have access to the ''BROWSING'' mode.  

This is the simplest way to use the manual.  It is just a website to all intents and puposes - you can open and close pages, and that is it.
!!@@color(blue):Lists@@
!!!What you type in the edit box...
{{{
* 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
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
* 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
<<<
!To make more space:

On your browser (different browsers all phrase this slightly differently, but they all do it) click on the "View" menu, and then select "Full screen" - this will get rid of the whole top browser menu, which tends to take up a lot of screen, and does very little once you are working in the TiddlyManual itself.  

Many (Windows PC) computers do this if you just press F11.

!To make typeface bigger.

if you press CTRL and the (+) sign together, the typeface will get larger, if you press CTRL and the (-) sign together, the typeface will get smaller

!Change Titles, Icons, etc
You can make changes to the following things:

* ''__Upload a SiteIcon__''. A SiteIcon gives your manual an identity to make it recognisable to others. ''Try to keep your SiteIcon 40px or less in height.''

<<binaryUploadPublic title:SiteIcon>>

If you can't make this work, you can also do this via the [[Space menu]] which you will find in the [[Top menu bar]].

* ''__Change Titles__'': The [[SiteTitle]] & [[SiteSubtitle]] can both be changed. After saving and refreshing your browser, they will appear in the browser title bar.
* ''__Change the main menu:__'' - click and then edit the [[MainMenu]]: this is the menu that appears in the [[Sidebar]].
* ''__Change which Tiddlers automatically open on start-up:__'' You can decide which tiddlers you want 'ready-opened' (if any) on start-up by going to [[DefaultTiddlers]] - Whichever titles of other tiddlers are recorded in the text of that tiddler, those are the ones that will be automatically opened when you first open the TiddlyManual.

----

* Many other features of TiddlySpace are accessed via the [[Top menu bar]] located at the top of the page, accessed when you are in the [[Advanced mode]].


<!--{{{-->
<h2><!--<<view title>>--></h2>
<!--<<view text wikified>>-->
<hr/>
<!--}}}-->
<!--{{{-->
<h1 style="page-break-before:always"><!--<<view title>>--></h1>
<!--<<view text wikified>>-->
<!--}}}-->
!What is it?
This "Button" is one of the [[Comparing and Sharing functions]] of a TiddlyManual.  It is at the heart of the ideas about [[Community of Practice]] that support AMBIT; 

It enables you to make a copy of a page that //another local team// have developed, that would have value for //your local team// - in other words, to [[Go shopping for freely shared material]] that other members of the AMBIT Community of Practice have created.

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

!Where is it?
Look at the [[+ Getting started]] page, and click the ''"Browse the Community of Practice"'' button.  This will reveal a list of all the local pages that have been authored recently.

* [[Log in]] to your own local manual
* Get your manual switched to [[Edit mode]]

* Click on a page you are interested in 
** You will open a panel that has a ''"Go To"'' button, and beside that (''//only// visible if you are in [[Edit mode]]'') you will see the Clone and Customise button
This is one of the options you have on the individual [[Tiddler]] menu; unless you are using a very old browser it is usually represented by the symbol 'X'. 

Clicking this option on a specific [[Tiddler]] menu will close that specific Tiddler: for instance, click the (X) button on this tiddler and it will be gone!

!Other ways to close

You can ALSO close individual tiddlers by clicking the little X that you will see beside them in the [[Currently Open]] list on the [[Sidebar]] in the left hand margin.
/***
|Name:|CloseOnCancelPlugin|
|Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.commands.cancelTiddler,{

	handler_mptw_orig_closeUnsaved: config.commands.cancelTiddler.handler,

	handler: function(event,src,title) {
		this.handler_mptw_orig_closeUnsaved(event,src,title);
		if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))
			story.closeTiddler(title,true);
	 	return false;
	}

});

//}}}
/*{{{*/
Background: #f8efdc
Foreground: #221906
PrimaryPale: #fefdfa
PrimaryLight: #ede0c4
PrimaryMid: #b69348
PrimaryDark: #53504a
SecondaryPale: #fefafe
SecondaryLight: #edc4ed
SecondaryMid: #b648b6
SecondaryDark: #534a53
TertiaryPale: #fafefb
TertiaryLight: #c4edd3
TertiaryMid: #48b670
TertiaryDark: #4a534d
Error: #f88
ColorPaletteParameters: HSL([41|79], [0.67|0.53|0.43|0.06],[0.31|0.5|0.85|0.99])
/*}}}*/
!What is this?
This is a way of describing how groups of practitioners (from many, even any, fields) can function in collaborative ways - to compare and share ways of working so as to sustain and grow knowledge about "what works, for which situations".

AMBIT and the [[TiddlyManual]]s that support it are significantly influenced by this simple idea, that practitioners like to get better at what they are doing, and, given the chance, they like to share their expertise with other practitioners.  ''Every team trained in AMBIT gets its own local version of the AMBIT manual which it is encouraged to use as a 'practice scrapbook' to document and share its present expertise and ongoing learning about "//what works for whom, __here__//."''

|bgcolor(pink): The [[AMBIT community of practice - members]] <br> lists the current membership of this group, which is all teams that have received [[AMBIT training]]. |

The phrase ''"Community of Practice"'' is most closely associated with the anthropologist, Jean Lave, and Etienne Wenger whose work began in the field of Artificial Intelligence.   They described communities of practice following an examination of the learning processes that they observed from a close investigation of //''Apprenticeships''//.

See this [[external link|http://en.wikipedia.org/wiki/Community_of_practice]] to the wikipedia page about Communities of Practice for a good starting point for study if you are interested, though we have summarised the subject below.

!Features of a Community of Practice

Quoting from Wenger:

* ''__Mutual Engagement:__''
Firstly, through participation in the community, members establish norms and build collaborative relationships; this is termed mutual engagement. These relationships are the ties that bind the members of the community together as a social entity.
* ''__Joint Enterprise:__''
Secondly, through their interactions, they create a shared understanding of what binds them together; this is termed the joint enterprise. The joint enterprise is (re)negotiated by its members and is sometimes referred to as the 'domain' of the community.
* ''__Shared Repertoire:__''
Finally, as part of its practice, the community produces a set of communal resources, which is termed their shared repertoire; this is used in the pursuit of their joint enterprise and can include both literal and symbolic meanings.

Other ways of describing a Community of Practice are that they ''share the following features'':

* ''__Domain:__''
A domain of knowledge creates common ground, inspires members to participate, guides their learning and gives meaning to their actions.
* ''__Community__''
The notion of a community that creates the social fabric for that learning. A strong community fosters interactions and encourages a willingness to share ideas.
* ''__Practice__''
While the domain provides the general area of interest for the community, the practice is the specific focus around which the community develops, shares and maintains its core of knowledge.

!Where does this fit with Mentalizing, ~TiddlyManuals and AMBIT?

AMBIT, increasingly explicitly, sees one of its aims as the development of a Community of Practice for teams working with chaotic, distressed, hard to reach young people.

The [[TiddlyManual]]s that support AMBIT, function as “windows” upon the work of other teams (we refer to a range of [[Comparing and Sharing functions]]), encouraging ''//curiosity//'' and the ''//sharing of emerging expertise//'' between services that, although geographically remote, frequently address similar clinical quandaries.  

This aspect of [[Manualization]] builds on themes opened by [[Lave and Wenger (1991)|Lave and Wenger (1991). Situated Learning: Legitimate Peripheral Participation]] in their landmark study of ''apprenticeship'' that has led to the theory of ‘Communities of Practice’ - the establishment of which is an explicit goal for AMBIT.

We believe that [[Mentalization]] theory supports, and to some extent explains, the  phenomenon whereby ''much apprenticed learning does not come from “top down” expert authorities, but from //apprentice peers//'' who, we suggest, are more able than lofty experts [[implicitly|Implicit mentalization]] to mentalize the hopeful learner’s particular dilemma ("why it is hard to understand or cope with //this, right here, right now//").  Being mentalized accurately by another person triggers the [[Epistemic Trust]] that Csibra and Gergely (2006) have shown facilitates and frequently precedes effective social learning from that person.  

In seeking to provide a structured environment to host such relationships, AMBIT aims to capitalise on the learning potential that Communities of Practice offer.

Recently the development of the //world wide web//, and the ease with which expertise can be shared through text, video, etc, via this medium, has pushed these ideas further forwards.  The online [[Wiki]] is one way in which communities of practice may collaborate to share and build knowledge.  The authors of AMBIT and [[TiddlyManual]]s believe that the particular (and really unique) [[Comparing and Sharing functions]] that are built into the AMBIT manual offer a powerful way to support and enact this. 
There are a number of different ways that [[TiddlyManual]]s help and encourage workers who consult them to //compare// and //share// their local expertise with that of others...  getting curious about how other teams are solving problems and sharing our own learning with them is key to AMBIT's goal to support the development and dissemination of best practice for excluded and disadvantaged youth. 

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

* This is part of the effort to build and sustain what has been referred to as a [[Community of Practice]].

* Sub-topics of this page give explanations for all of these functions.
** See the [[Show references and info]] panel... 
See also [[What material to share in team reflection and manualization?]]. 

!!!!(a) Keep to //real// issues
Ideally the material a team manualizes should be related to real dilemmas or challenges that have arisen in the course of recent work - about which the team agree:

>//"Are there any specific matters that have arisen today that could have been addressed better, or which we are particularly pleased with, which should be recorded by customising our manual?"//

>//"We could do with a plan for how to deal with that kind of scenario if and when it crops up again..."//

Concentrate on keeping manualization of material as "close to the ground" as possible, looking for the areas of team working where there is perhaps some friction over what to do (//"Under what circumstances would we choose to do X rather than Y?"//, or //"Is this a situation where we are agreeing that there are range of options, and some common pitfalls to avoid?//"), or where having a shared protocol would really make a difference. 

!!!!(b) Include mentalizing as part of this process
Often with live issues for a team, it is likely that this may evoke strong feelings and beliefs in the team. As part of developing ideas around a particular clinical dilemma or practice, it may be helpful to explicitly acknowledge team states of mind linked to the issue. For example, it may be helpful to acknowledge that the situation being manualized may often make people feel quite anxious or that it easily results in very different individual viewpoints and possible team conflict. The intention is that the manual is not just a dry statement of procedures but that it acts as guide to enable people to anticipate what to do and how they might feel. This is rather different from the usual protocol documents that are drawn up. 

!!!!(c) Consider new staff
Think abouut the way that te team would like to ''INDUCT a NEW TEAM MEMBER into the work'' - what would we like them to understand about the way we do things round here?

!!!!(d) Highlighting local excellence:
Also, look around for excellent snippets of practice that one or other worker in the team does

>//"I noticed X has a really neat, sensitive way of asking young people about risky sexual behaviour/ introducing themselves/ managing boundary-pushing behaviour... do you think she could be persuaded to let us video her demonstrating it in a very short roleplay?"//

> Then whack this video into the manual (see [[Adding IMAGES, DOCUMENTS or VIDEO clips]].)

!!!!(e) Showing off and sharing
Consider what skills and experience the team has developed that might be of interest and use to other teams working with similar groups (see [[Community of Practice]]).
!Purpose
To provide an overall map of the manual.  
!Where is it?
The sitemap is most easily found in the [[Sidebar]], under the heading ''"Contents"''.  It is also included below here on this page.
!What is it?
It consists of a series of major topics - ''clicking on the + sign'' by these will 'unfold' further sub-topics within these larger headings:

<<tree "Introduction">>
 
<<tree "[[Team working]]">>

<<tree "[[What's the problem?]]">>

<<tree "[[What to do?]]">>

<<tree "[[Who does what?]]">>

<<tree "[[Why do this?]]">>

See also the [[Index]]
If you are online, there is video and a click-able picture illustrating this important core of the AMBIT approach.  Below these, you will find text and links to sub-topics (see also 'Related Information'.) To get a clear picture of [[AMBIT]] you should also read the [[AMBIT: an overview]], one of the key sub-topics of the [[Introduction]]. 
!A Very Brief Overview of the Core Features
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/cW1h4e-eyww?hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/cW1h4e-eyww?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!A half hour on the Core Features
!!!Part 1
<html><object width="480" height="360"><param name="movie" value="http://www.youtube.com/v/4__BIMG-G3k?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4__BIMG-G3k?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>
!!!Part 2
<html><object width="480" height="360"><param name="movie" value="http://www.youtube.com/v/8-MudcizKO8?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/8-MudcizKO8?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

!Click the picture:
To open links that expand on the core features click on the sections of the diagram.  Alternatively (if you are offline) you can find descriptions and links below the picture.

[img[AMBIT Core Features|http://ambit-theme-v3-test.tiddlyspace.com/ambit_wheel.png]]<<imageMap MapWheel>><<imageMap MapWheel>>

!Download a PDF
You can download this diagram as a PDF [[here|https://docs.google.com/file/d/0B5h_CVBdhJPYUjFXUk9MOVJfQ0E/edit?usp=sharing]]

!Stance and Practice
Eight features define the core "stance" of an AMBIT practitioner in the work - the stance describes the "way of being-with", or the main areas that attention is balanced between.  The basic stance features are sometimes conceptualized as "grab-rails" that help to keep an individual or team 'on track' - particularly at times of high anxiety or confusion; //at any time we can ask a colleague, or ourselves, ''"am I holding the basic stance?"''//.  From the eight features of the stance, flow five elements that are core to the "practice" or [[Service Delivery]] of AMBIT - these pervade all of the [[Phases of AMBIT work]] - and it is emphasised that different teams using this basic material in different ways will adapt timings, or the [[Specific interventions]] that they deliver for the young people and families in their care.

!AMBIT Basic Stance
The stance is best understood as a framework for keeping one's bearings, "handrails" to steady oneself with, when the experience of the work is chaotic and destabilising, ways of working with clients and other professionals:

1.	[[Individual keyworker relationship|KeyWorker]]
2.	[[Keyworker well-connected to wider team]]
3.	[[Intervening in multiple domains]]
4.	[[Taking Responsibility for integration]]
5.	[[Scaffolding existing relationships]]
6.	[[Clinical Governance]]
7.	[[Respect local practice and expertise]]
8.	[[Respect for Evidence]]

!AMBIT Practice
Core features of practice, which, if they were missing, would imply that what is being delivered is not AMBIT (these features are summarised at [[Service Delivery]] and in the [[Phases of AMBIT work]]).

1. [[Mentalization]]
2. [[Active Planning]]
3. [[SupervisoryStructures]]
4. [[Addressing Dis-integration]]
5. Wiki [[Manualization]]

!Practise makes perfect
There is an [[AMBIT Practice Audit Tool (APrAT)]] and a set of [[AMBIT Stance Exercises]] to help practise these.
Core Templates refer to the broader templates that are made available for new teams planning to work to AMBIT principles to download and start off with.  

At this early stage there is only one Core Template.

In due course, a differentiated array of Core Templates should be available - with basic adaptations attuned for:
*Different target groups
*Different geographic settings
*Different cultural milieux.
These differentiated Core Templates will be [[TeamTemplate]]s that have been adapted and evaluated so that their target group, and local details will be available alongside the outcome data.
This is a bit more complex, and fiddly, but it works!...
!!!What you type in the edit box...
{{{
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
}}}
''Annotation:''
* The {{{>}}} marker creates a "colspan", causing the current cell to merge with the one to the right.
* The {{{~}}} marker creates a "rowspan", causing the current cell to merge with the one above.
!!!...and what you see in the ordinary "viewing mode"...
<<<
|CssClass|k
|!heading column 1|!heading column 2|
|row 1, column 1|row 1, column 2|
|row 2, column 1|row 2, column 2|
|>|COLSPAN|
|ROWSPAN| … |
|~| … |
|CssProperty:value;…| … |
|caption|c
<<<
This is a key place in the manual - you find it on the lefthand [[Sidebar]], and it shows you the titles of all the pages ([[Tiddler]]s) that are currently opened on your desktop.

!"Self-service" chapters
When you are reading content in a tiddler, if you click on an interesting [[link|Links]], you will NOT immediately flick from the material you are reading into this new material...  Instead, you will see that the links you click ''open at the bottom of your "Currently Open" list'': it is as if you are "ordering up" the chapter that you want to read //as you read.//  We have set the manual to behave in this way as [[Feedback|Feedback please!]] suggested that readers struggled to stay on task if they were clicking on lots of links.
!Navigating with the Currently Open List
Sometimes you may find you have opened lots of tiddlers (like having loads of 'flashcards' spread around your desk), and the "Currently Open" list helps you manage and navigate around them.
*''You can click on any title in this list to jump straight to that tiddler.''
*''You can close any tiddler in the list by clicking the X next to it.''
//{{{

(function() {

try {
    var pageTracker = _gat._getTracker(store.getTiddlerText("AnalyticsConfig::tracker"));
    pageTracker._trackPageview();
} catch(err) {}

// CustomTracker as a namespace for tracking related functions
var CustomTracker = {};

CustomTracker.track = function() {
   // if (readOnly) {
        try {
            pageTracker._trackPageview(arguments);
        } catch(err) {}
   // }
};

// hijack displayTiddler to trigger tracking
var _displayTiddler = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement, tiddler, template,
        animate, unused, customFields, toggle, animationSrc) {
    // log with the tracker
    CustomTracker.track("/" + tiddler);
    // call the original displayTiddler function
    return _displayTiddler.apply(this,arguments);
};

// Call once for the initial page load
CustomTracker.track();

})();

//}}}
!Purpose
To explain how a team member goes about making customised edits to the local team's version (their TeamTemplate) of the TiddlyManual.

!Who customises?
It is important to be clear that editing a team's version of this manual is carried out according to the [[Rituals and Disciplines]] laid out in [[Manualization Boundaries]]. The TeamTemplate is expected to be edited regularly by the team.

!When to customise?
Following team discussion the team may agree to make edits to the TeamTemplate.  Note that this is NOT an individual responsibility, but requires team collaboration (see [[Reflective Quorum]], and consider your team's [[Manualization Boundaries]].)  The purpose is to ''//make explicit// ''and ''//share//'' our own:

!!!(A) [[Local Protocols]]
Clarify and share our current 'best practice' advice about how we have agreed we should try to respond to locally-identified situations or circumstances.  //How we do what we do//.

!!!(B) [[Our Resources]]
Record all the local resources available to our team (which could be anything ranging from worksheets and leaflets, local clinics and drop-ins, new services in the voluntary and statutory sector, sports and leisure facilities, etc).  //What we have available to support or supplement our work; our local service ecology.//

!!!(C) Our improvements to the core
Local teams have expertise about what works in their ecosystem.  They may choose to over-write the current material that the AMBIT project curates in the core (as opposed to their TeamTemplate) - //Everything is a "best working draft" in ambit, and all are responsible for improving it.//

!How to customise

There is technical help on how to [[Edit]] and a [[Video introduction to editing a tiddlymanual]].

Broadly you can edit in two ways:

!!!1. Customising existing [[Tiddler]]s

Simply click on the [[Edit]] button of the tiddler, and start editing!  

* Be reassured, that whatever you write will not change the //core// manual; 
* Your edits will simply //overwrite// that particular tiddler in your TeamTemplate.  
**If you then deleted 'your' local version of a tiddler, the original version from the //core// manual would pop back in its place.

...Your edits will now be part of your local Team Template (that is, assuming you have the correct permissions to make such edits attached to your username and password!)

!!!2. Writing new (custom made) material.

* If you are authoring brand new material be careful about how you 'file' it in amongst the existing material.
** Mainly this is about thinking carefully about what [[Tags]] it should have.
** Preferably not too many!  Keep things simple. 
** [[Tags]] function like ''__Topic headings__''
* ''__Simple way:__'' 
**We have tried to help with this, using the "[[+ Manualize our work]]" function:
*** Click [[+ Manualize our work]] - so long as you are logged on and a member of the space and the manual is switched to Edit mode you'll see choices for what kind of material you are adding.
*** Decide which category the new material best fits under - click that button, to generate a ready-to-edit [[Tiddler]] that is already tagged appropriately.
*** [[Edit]] the new tiddler that has opened - add any additional [[Tags]] or [[Links]] that will help to integrate this into the main body of the manual.
* ''__More advanced, 'free-form' editing:__'' 
** Open a blank 'new [[Tiddler]]' via the special link in the [[Edit]] page.
** Add your own [[Tags]] to taste.
** But best get an understanding of how we have used [[Tags]] to organise the material into meaningful hierarchies.

...Your edits will now be part of your local TeamTemplate, and you will see that this Tiddler now varies from the Core content from the References and Info panel.
!Confidentiality

[[TiddlyManual]]s that are edited, stored and accessed online are never to be used for the collection or publication of patient-specific data, which always needs to be stored according to rigorous local protocols and procedures.

When a team is manualizing its own practice, it must limit descriptions of protocols to //general// rather than //specific// situations, and if referring to scenarios must always ensure that these are appropriately anonymised.

''@@color(orange):Teams remain responsible for any content that they add to their online version of the AMBIT manual, and the AMBIT project accepts no responsibility for content that is authored by others, whether or not it is added to content included from the AMBIT core content site.@@''

!Interactive Case Recording (ICR)

[[ICR]] is a ''@@color(orange):currently non-functional@@'' aspect of tiddlymanuals, that relies on the fact that you can download an entire tiddlymanual and run it in a browser that is completely disconnected from the internet.  A downloaded tiddlymanual is just an "html" file, and it is possible to edit this, just as one might edit, say, a "Word" document - storing it safely in a secure setting

The following notes relate to [[ICR]], which is not yet (2012, February) recommended for use.

Recording patient-specific data in a TiddlyManual is technically no different to storing the same data in the form of, say, a "Word" document.  You must consider:

!(a) WHERE the file is stored
This should be on a secure server, and NEVER on a personal laptop/USB memory stick etc, unless this is for a very specific reason and for a limited time-period, and the data is held in an encrypted format.  If that were so, then a locally-stored file should only ever be a COPY of the original file, and NOT the original file itself.  Any such copy held would be the responsibility of the holder.  Local I.T. rules will apply to the level of encryption required for transporting data in this way.  Copies transported thus should be deleted as soon as the reason for transporting them is no longer valid. 

!(b) HOW the file is stored
Save the file as an anonymised name (for instance the child's first name and initial, rather than their surname).  Do not keep personal identifiers such as Date of Birth/Address in the file - these will be stored in the paper notes.

!(c) BACKUPS
The file will //automatically// back itself up each time you save it.  This allows you to keep track of older versions of the manual, and you can (and should) specify where these backups are stored, according to the [[Set up a new patient TiddlyManual]] instructions (this is a very simple procedure, in which you just define a name for the backups folder for this specific file.)  If the file is stored on your main secure server, then it will //also// be backed up alongside all other data on that server (this is not the practitioner's responsibility to do this but is done by the I.T. department), to prevent against catastrophic loss of data in the event of a computer crash.  Remember that the //local// back-ups that your manual makes (as referred just above)each time you save are still vulnerable to being lost if the whole computer crashes without back-ups in a separate place, so if you are using the manual outside the main server (even though this would only be in exceptional circumstances) you should keep a back-up copy on a separate (equally secure) device.
[[+ Getting started]]
To DELETE a [[Tiddler]]:

First open your tiddler in [[Edit]]ing mode by clicking the "edit" button ('pencil' icon).

You will now see a "delete" option in the Tiddler menu - in most browsers this is represented by an icon of a wastebin.

!What happens if I delete?

It depends what you are deleting!

If you have edited content in a tiddler that exists in the "core" manual then you have effectively been "over-writing" material that is independently curated by the originators.  When you delete YOUR local manualized content, the //original material// under that same tiddler title will 'pop back' in its place (this happens once you reload the manual, by clicking the refresh button on your browser.) 

If you have written entirely NEW material (tiddlers with titles that do not exist in the original core manual) then this material is YOURS and will be deleted for ever.

You can look back at REVISIONS (i.e. past versions) of any tiddler, by looking at [[Show references and info]] - so that past versions can be recovered, so long as you don't delete the whole tiddler.

, If you delete content from a TiddlyManual that was a LOCAL VERSION of core content (i.e. if a tiddler from the core AMBIT manual had previously been edited to 

See [[Menus]] if you need more information.
This is the main area on your screen: to the left is the [[Sidebar]], to the right at the top is the [[Mode and Login panel]] and if you switch in [[Advanced mode]] you reveal the [[Top menu bar]] across the top. 

The [[Desktop]] is the main space on your screen - where you open [[Tiddler]]s, the 'pages' within this document.  A TiddlyManual is just a large collection of these 'notes' (pieces of '[[MicroContent]]'), that can be used, and sorted, in many different ways.  

As you open [[Tiddler]]s you will notice that their titles appear in the [[Currently Open]] list in the [[Sidebar]].  If you have clicked on [[Links]] to open those tiddlers then they will have opened at the ''bottom of your list''  - this is so that you do not lose the page you are currently reading.  Instead of jumping from page to page, this way the reader selects and 'lines up' the "chapter" that she requires.

Each Tiddler has its own [[menu|Menus]] that allows you to edit it, close it, etc.

Each Tiddler also has a section that slides open called "[[Show references and info]]" - and this is important as it helps the reader place this material in a wider context (//"How does THIS piece of information fit alongside all of THAT information?... and what related areas to this content might also be of interest and value to me.//)
[[AIM Form]]
[[AIMFormViewTemplate]]
[[AIMResultsMacro]]
[[AIMFormMacro]]
[[ExportAIMMacro]]
[[AIMStyleSheet]]

!AIM links
click me: <<tag AIM>>
Intro: [[AIM-Introduction]]
Results: [[AIM-Results]]
Export instructions: [[ExportAIMInstructions]]

<<newTiddler>>
/***
|''Name''|DiffFormatter|
|''Description''|highlighting of text comparisons|
|''Author''|FND|
|''Version''|0.9.0|
|''Status''|beta|
|''Source''|http://svn.tiddlywiki.org/Trunk/contributors/FND/formatters/DiffFormatter.js|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Keywords''|formatting|
!Description
Highlights changes in a unified [[diff|http://en.wikipedia.org/wiki/Diff#Unified_format]].
!Notes
Based on Martin Budden's [[DiffFormatterPlugin|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/formatters/DiffFormatterPlugin.js]].
!Usage
The formatter is applied to blocks wrapped in <html><code>{{{diff{..}}}</code></html> within tiddlers tagged with "diff".
!Revision History
!!v0.9 (2010-04-07)
* initial release; fork of DiffFormatterPlugin
!StyleSheet
.diff { white-space: pre; font-family: monospace; }
.diff ins, .diff del { display: block; text-decoration: none; }
.diff ins { background-color: #dfd; }
.diff del { background-color: #fdd; }
.diff .highlight { background-color: [[ColorPalette::SecondaryPale]]; }
!Code
***/
//{{{
(function() {

config.shadowTiddlers.StyleSheetDiffFormatter = store.getTiddlerText(tiddler.title + "##StyleSheet");
store.addNotification("StyleSheetDiffFormatter", refreshStyles);

var formatters = [{
		name: "diffWrapper",
		match: "^\\{\\{diff\\{\n", // XXX: suboptimal
		termRegExp: /(.*\}\}\})$/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "div", null, "diff");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}, {
		name: "diffRange",
		match: "^(?:@@|[+\\-]{3}) ",
		lookaheadRegExp: /^(?:@@|[+\-]{3}) .*\n/mg,
		handler: function(w) {
			createTiddlyElement(w.output, "div", null, "highlight").
				innerHTML = "&#8230;";
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	}, {
		name: "diffAdded",
		match: "^\\+",
		termRegExp: /(\n)/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "ins", null, "added");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}, {
		name: "diffRemoved",
		match: "^-",
		termRegExp: /(\n)/mg,
		handler: function(w) {
			var el = createTiddlyElement(w.output, "del", null, "removed");
			w.subWikifyTerm(el, this.termRegExp);
		}
	}
];

config.parsers.diffFormatter = new Formatter(formatters);
config.parsers.diffFormatter.format = "diff";
config.parsers.diffFormatter.formatTag = "diff";

})();
//}}}
!Downloading is not fully functional at present (spring 2012)

We are working on other aspects for now - so although you can download a copy, it is not as fully functional as it will be in due course.

!What are you downloading?

Unlike ordinary Websites, this manual is what is known as a "TiddlyWiki". It is easy to download and save a copy of the whole manual so you can run it from your computer, a secure server, or even from a USB stick - without having to be connected to the internet at all.

!How do I download a copy?

#Go to the [[TiddlySpace menu]] (found via the [[Top menu bar]] when you have switched the menu to [[Advanced mode]]).
#Find your way to the ''Export'' tab
*Having opened the Export tab, click the big "download" button.
*When you click the "download" link, a copy of the whole manual (manual.html) will automatically be downloaded to your computer to wherever your computer usually saves downloads (sometimes this is to a "Downloads" folder, sometimes the desktop).  
*Be patient as it is a file of about 2Mb - not huge, but not instantaneous.
*You may get an automatic warning sign asking you if you are sure you want to download this - click ''Yes'' to allow the download to proceed.

!Using a downloaded manual to record notes:

See [[Start a new patient file]] for additional advice.

You will need to:
*Rename the downloaded file to mark it out as that particular client's file.''N.B. Do not change the extension at the end of the file name from ".html"'' as this is how the computer knows to use your browser to open and read it.
*Store it in a way that conforms to DataSecurity policies in your workplace.
*Note the [[Licensed]] nature of this manual and the restrictions that this places upon its use without prior agreement from the authors.

!Problems

Downloaded copies of the manual do not require any additional software in your computer to run - they work from inside your web-browser.  They work best in [[Firefox|http://www.mozilla-europe.org/en/firefox/]] a freely downloadeable internet browser, but they also work fine in Internet Explorer and Safari as well as others.  

Sometimes these browsers need a little extra setting up, especially to allow you to edit and save content in your manual - once you have done this once, it doesn't need repeating.  There is guidance for this available at: [[TiddlyWiki installation instructions|http://www.tiddlywiki.com/#Installation]]
!A different, //Learning// approach to manuals

Treatment manuals that are written in stone, or even on paper, are liable to be out of date very quickly, and risk being rather "concrete" - examples of [[Teleological thinking]] rather than [[mentalizing|Mentalization]]. 

<<image [[Tablet of Stone]] width:295 height:450>>

A TiddlyManual expects some ''//co-authorship//'' of a manual: balancing ''centrally-curated'' evidence-based practice with ''locally-curated'' practice-based evidence.  

In this way a local team's version of the manual has authors at different "levels" - a __foundation__ of material from the AMBIT project at the [[Anna Freud National Centre for Children and Families]], but locally authored material that sits above, adds to, or improves upon that common core.

!!!A modern palimpsest
This is like a modern version of a ''"palimpsest"'' - a document that has multiple layers of written on top of each other.  Because the different layers in //our// palimpsest link up, and are easily navigable, we think ours works better than Archimedes' one (which was created when someone just wrote over the great mathematician's works) even if it may not look as beautiful:

<<image [[ArchimedesPalimpsest]] width:435 height:435>> 

The [[Core Features of AMBIT]] includes the practice [[LEARNING at work]], and the key element of this is what we call Wiki-[[Manualization]].  This helps to straddle two (potentially contradictory) markers of the AMBIT stance, namely:

* [[Respect for Evidence]] 
* [[Respect local practice and expertise]]

A local team's [[Manualization]] of ''//"how we are implementing these interventions"//'' is not a static, immutable thing - instead it is a ''dynamic'' and ''adaptive'' document that the local team takes responsibility for continuously adjusting, shaping, and editing in what are generally small week-by-week "tweaks" - ''trying to document the kinds of specific problems //"...that tend to recur in OUR specific setting, with OUR specific client group."//''

!The Accumulation of Marginal Gains
!!!!Learning from British Olympic Cyclists
<<image [[British Olympic Cyclists]] width:640 height:360>>
The British Olympic Cycling team dominated the sport in the London 2012 Olympics.  A key part of their strategy was what the principle coach, Dave Brailsford, has referred to as the ''accumulation of marginal gains'' (see a newspaper article about this [[here|http://www.independent.co.uk/sport/olympics/cycling/head-of-marginal-gains-helps-gb-gold-machine-stay-in-front-8010110.html]]).  The point of this is that performance of a team functioning at the highest level is unlikely to be affected dramatically by a single "lightning bolt" inspiration - but that instead there may be lots and lots of elements of the complex practices, behaviours and machinery that could be "tweaked" in ways that save, perhaps 0.02 seconds each.  Find 50 of these, and you have gained a second, and that is almost certainly (another) victory.

In the same way the "tweaking" of a TiddlyManual by a team that is engaged in learning about what works for whom, seeks to add multiple marginal gains to performance as a whole

!Co-construction and the Learning Team
The balance between the "top-down" imposition of a structure and forms of working, and the "bottom-up" addition of a local team's expertise and creativity (and feedback from local patients/clients) is what distinguishes the [[AMBIT]] model of manualization from other approaches to treatment manualization.  

We envisage tiddymanuals as functioning rather similar to a "Blog"; the "blogger" adds to his or her blog, which is presented as a "work in progress".  Similarly, a local version of the AMBIT manual that builds on, bends, adds to, and adapts the Core material in pursuit of marginal gains //in that setting// is part of the AMBIT-influenced culture of continuous [[ServiceDevelopment]].  

!An example from general medicine:
<html><div align="center"><iframe src="http://www.newstatesman.com/2014/05/how-mistakes-can-save-lives" frameborder="0" width="100%" height="600"></iframe></div></html>

!Some slides and video:

Below is some video explaining the way a tiddlymanual attempts to:

* Integrate centrally-curated ''evidence-based practice'' in the same place as locally-curated ''practice-based evidence'' that a local team gathers [[Iterative]]ly
* Encourage multiple teams to [[Compare and share|Comparing and Sharing functions]] what they are each doing to support the development of a [[Community of Practice]]:

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/02QyMFIQRNY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

*A [[Wiki]] is just a collection of web-pages, linked around a common theme, //that can be edited by users// - a sort of 'work in progress'. 
*TiddlyWiki are like this, except that all the "pages" (we call them "[[Tiddler]]s") are held in a single file that your regular browser reads - so you don't need any special software on your PC or tablet to make them work.
*When they are hosted online in TiddlySpace, one Wiki can ''[[include|Inclusion]]'' all the public parts of another.
*In this way, content from a useful wiki (we hope the [[ambit|http://ambit.tiddlyspace.com]] or the [[mbtf|http//:mbtf.tiddlyspace.com]] wikis, etc, are good examples) can be //included// in lots of other wikis - for instance the ''"local treatment manuals"'' of ''local services''.
* See [[Set up your own Local Version of the AMBIT manual]] for advice on this, if you haven't already got your own version.
*Local teams can use the 'core' material provided by the AMBIT project at the [[Anna Freud National Centre for Children and Families]], but //they can also add their own material, or overwrite and improve upon our basic platform// - manualizing their own practice as they apply ambit principles in //their unique setting//.
* If they over-write ambit material (to customise it for their local setting) they can always delete their //"customised version"//, so that the original ambit version 'pops back' in its place.  
* ''Previous versions of pages are all stored'', so reverting to earlier versions is easy.
* Using the [[Show references and info]] panel, you will see some of [[Comparing and Sharing functions]]: it is easy to compare one local version to other versions, and any customised material is marked as such.
* Excellent local innovations may gain sufficient evidence of effectiveness to warrant being included in the core manual - so this is a [[Community of Practice]]. 
* The ethos is about //sharing best practice//, and //filtering the most effective innovations// through attention to outcomes evaluation.

!Presentation

Dickon Bevington addressing a conference at UCL back in 2008, explaining the notion of TiddlyManuals.  Apologies for the video quality (these particular videos may only play on on modern browsers)

<html><object width="400" height="297"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3922545&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3922545&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="297"></embed></object></html>
<html><object width="400" height="297"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3922602&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3922602&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="297"></embed></object></html>
<html><object width="400" height="297"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3922712&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=3922712&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="297"></embed></object></html>





!What about research?

It is possible to freeze further editing of a manual, so that in formal research (RCT's etc) the team can deliver robust outcomes measurements on a known quantity.  

The local team's version of this manual should constantly develop and adapt to the local needs (determined from practitioners' experience and service user feedback) and in response to developing evidence of "What works for Whom" in the wider scientific community.

!Editing a local version

This is is one of the [[Core Features of AMBIT]] - covered in [[Manualization]].

In order to achieve this, the team needs to place active interaction with, and ownership of, their own "[[TeamTemplate]]" manualization at the centre of what they do.  Ultimately, their local adaptations of this manualization should move their version towards becoming a statement of their own collective understanding, and of their local team's //identity:// 
>//"This is who we are and what we do...".//

!How to edit our manual?

See [[Customising your local TeamTemplate]]
!Purpose
To help the user understand the basics of editing content in a TiddlyManual.
!Video introductions

*[[Video introduction to editing a tiddlymanual]] - basics of how to do it.
*[[Video introduction to editing conventions ("Mark-up")]] - how to lay out text and //make it look nice//.
*[[Adding IMAGES, DOCUMENTS or VIDEO clips]] - including adding DOCUMENTS that you can view and download from within a page of the manual.
!Other material

See [[Customising your local TeamTemplate]] and [[Understanding TiddlyManual format]] for more technical knowledge and skills (simple, honest!) on how to add new material to your team's local version of the AMBIT manual (your "TeamTemplate")
!Authority?

To edit your team's local version of the manual (your "TeamTemplate") online, you must have the right permissions and passwords (see [[I am authorized to edit to our local team's manual]] and [[Manualization Boundaries]]).  Your manual must be switched to [[Edit mode]], rather than the browsing mode.
!Start editing

Once your manual is in [[Edit mode]], rather than just seeing the X that closes the page (top right) you also get an icon of a little page with a + sign which stands for //"edit the content of this page"// (or you can understand this as //"write a local version of this page which will sit on top of the inherited version from the original AMBIT manual"//).  Click this to start editing content of an existing tiddler.

You can open a brand new blank new page ([[Tiddler]]) by clicking: ''@@color(red):|<<newTiddler>>|@@''  (button only visible if you are in Edit mode.)

!Editing the online version ("Customising")

This is called [[Manualization]].  Instructions on how to do this are at [[Customising your local TeamTemplate]], or:

Mostly you see tiddlers in their standard ''"viewing"'' mode.  When you click on [[Edit]] in the Tiddler menu (the pen icon) this opens the Tiddler up in its ''"editing mode"''; what you see in that situation is three boxes, where you can add text:
 
*The __''//top box//''__ is narrow and whatever you type in here will give you the ''Title'' of your Tiddler.
*The __''//middle box//''__ is fatter, and is where the ''Text or other Content'' for your Tiddler goes. Certain simple EditingConventions allow you to place links, or [[Tags]], or other stylistic additions like headings, sub headings, italics, bold, etc.  It is worth understanding these to make the text you type look pleasant on teh page.
*The __''//bottom box//''__ is narrow (like the top one) and you can add [[Tags]] (think of these as "Topic headings" under which the content of this page should sit.) You may type as many ''tag words'' in as you want, each one separated by a space.  Alternatively, you can click the button ''"tags"'' which is found right underneath this tags editing box: this opens a drop-down 'pick-list' of all the existing tags in the manual; click on any of these tags and it will automatically be added to the tag box.

When you have finished editing, click 'done' on the Tiddler menu to return to the normal view.

![[ICR]]

Using the manual as an [[ICR]] is an advanced use of editing //@@color(red):(not in use at present - September 2011)@@// - using downloaded copies of the manual as wiki-based workbooks to record thinking about a case.  The [[ICR]] function will need to be negotiated and agreed locally.

Whenever you ''Make a client note'' you are effectively editing.  Or, for instance, you might wish to add additional content in the form of [[Our Resources]] [[Local Contacts]], [[Local Protocols]], etc, etc, or to modify the suggested interventions if the developing evidence base changes.  You may wish to form new [[Tags]] to link Tiddlers around a new theme of your choosing.
This is one of the modes which you can switch the manual into via the [[Mode and Login panel]], assuming you have the authority to do so and are logged in.

Unsurprisingly, it allows you to [[Edit]] content in your version of the manual.
<!--{{{-->
<div class='toolbar'
	macro='toolbar [[ToolbarCommands::EditToolbar]] icons:yes'>
</div>
<div class='heading editorHeading'>
	<div class='editor title' macro='edit title'></div>
	<div class='tagClear'></div>
</div>
<div class='annotationsBox' macro='annotations'>
	<div class='editSpaceSiteIcon'
		macro='tiddlerOrigin height:16 width:16 label:no interactive:no'>
	</div>
	<div class="privacyEdit" macro='setPrivacy label:no interactive:no'></div>
	<div class='tagClear'></div>
</div>
<div class='editor' macro='edit text'></div>
<div class='editorFooter'>
	<div class='tagTitle'>tags</div>
	<div class='editor' macro='edit tags'></div>
	<div class='tagAnnotation'>
		<span macro='message views.editor.tagPrompt'></span>
		<span macro='tagChooser excludeLists'></span>
	</div>
</div>
<!--}}}-->
!What's this page about?
Mostly this helps you use simple tricks to make text and pictures you want in your wiki look nice an shiny.

There is also a page of [[Top tips for editing content]] that is more about style, using links and tags constructively, etc... so that your wiki hangs together well and (more important) so other people can find stuff you have written about!

!Making new text look smart on the page

If you do write in a TiddlyWiki then it is worth knowing some of this stuff.  Learning a few of these very simple "conventions" (the programmers call these conventions //"Mark-up"//) means you can turn text in tiddlers into something much easier on the eye and easier to read! 

!Introductory video:

Rather than reading all the notes below, there is a quick [[Video introduction to editing conventions ("Mark-up")]] that you might find simpler...

!Formating

Tiddlers use a very simple "language" (known as the 'syntax'.)   This language tells your browser how to display text when the page (or [[Tiddler]]) is switched from its [[Edit]]ing mode (what I describe as "having the bonnet/hood up, so you can see the workings") back to the standard 'viewing' mode.

The ''"syntax"'' is just "what you type in the Content box of a tiddler" that is switched to [[Edit]] mode.  The ''"Output"'' is what you see when the tiddler is switched back into the ordinary viewing mode.

!Basic syntax
By ''"syntax"'' we just mean //"what you type into the page in order to make it display the way you want it to"//
|!Option|!Syntax|!Output|
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|coloured text|{{{@@color(blue):text in blue@@}}}|@@color(blue):text in blue@@|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|preformatted text|<html><code>{{{preformatted}}}</code></html>|{{{preformatted}}}|

!Other stuff you might like to use:
[[Headings and Sub-headings]]
[[Bullet points and Numbered Lists]]
[[Adding IMAGES, DOCUMENTS or VIDEO clips]]
[[Links and Shortcuts to making them]]
[[BlockQuotes]]
[[Creating Tables]]
[[Special Markers and clever tricks]]



!The easy way
1. Use the Uploader, which uploads your image to the TiddySpace server; this creates a page (a "[[Tiddler]]") that is a picture.  
2. You can then embed that picture in as many other pages, or in as many different sizes, as you wish.

|bgcolor(lightblue): Clear the existing text (Please enter a title... ''Think about your title!'' - make it clear, easy to search, and check there isn't already a page with the same title in existence!) and type the name of your image (to be the IMAGE TITLE) here:<br><<binaryUploadPublic edit:title>>Then select the image file you want to upload, click Upload, and you will create a tiddler which is an IMAGE |
|bgcolor(pink): Note you will only see the uploader if you are a [[member|Making someone a member of a space]] of this space, are [[logged in|Log in]] and are in [[Edit mode]] |

|bgcolor(lightblue): Now, to EMBED that image in any OTHER page, you just use this code: <br> {{{<<image [[Paste the IMAGE TITLE here]] width:48 height:48>>}}} <br> You can set the ''Width'' and ''Height'' according to how big you want the photo to display (48x48 is quite small, 480x480 is middle sized, 600x600 is large, for instance) |

EXAMPLES (different sizes to give you an idea of the pixels you might want to set the size you want for your image)...
!!!The OLD AMBIT wheel
__height=100, width=100__
<<image [[Old AMBIT wheel]] width:100 height:100>>
!!!The NEW AMBIT Wheel
__height=48, width=48__
<<image [[New AMBIT WHEEL]] width:48 height:48>>

__height=200, width=200__
<<image [[New AMBIT WHEEL]] width:200 height:200>>

__height=400, width=400__
<<image [[New AMBIT WHEEL]] width:400 height:400>>

!2. Another way - embedding pictures hosted elsewhere:
!!!Understanding how it works
First, this manual is called a //~Mash-Up// - what is that?!

This is what --geeks-- programmers refer to when a single website actually uses functions and pieces of information that are drawn from different places across the internet - the //mash-up// brings these disparate elements together to produce something quite specific and 'fit-for-purpose'.  [[TiddlyManual]]s work like this.  Video, audio, pictures and documents can all be stored in different online places, but can be accessed through (or "embedded within") the one tiddlymanual.
!How to embed a picture that is hosted elsewhere:
## Open the photo you want to embed in the hosting site where you have uploaded it.
## Right click the photo, and select "COPY PICTURE URL" to copy the URL (web address) of that picture
## Go to your "[[Tiddler]]" and make sure it is in [[Edit]]ing mode...
## Select where you want to post the photo and then type the following code in to your page and paste that URL in just where it says so:

|{{{[img[paste_your_photo_URL_right_here]]}}}|
 - it will work like a dream... see here:

[img[https://lh4.googleusercontent.com/-ovJdn_fOy8c/UQYmZLMRQBI/AAAAAAAAGlY/1OfohPedcBM/s960/Outreach%2520-%2520mountain%2520ridge.jpg]]
/***
|''Name''|ErrorHandlerPlugin|
|''Version''|0.4.3|
|''Author''|Jon Robson|
|''Description''|Localised tiddler save errors including edit conflict resolution.|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig|
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace.name;
tiddlyspace.getLocalTitle = function(title, workspace, suffix) {
	var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
	if(!suffix) {
		var isPublic = endsWith(workspace, "_public");
		suffix = tiddlyspace.resolveSpaceName(workspace);
		if(currentSpace == suffix) {
			suffix = isPublic ? "public" : "private";
		} else {
			suffix = "@%0".format(suffix);
		}
	}
	return "%0 *(%1)*".format(title, suffix);
};

var sssp = config.extensions.ServerSideSavingPlugin;

var msgs = config.messages.editConflict = {
	loading: "Loading..",
	resolve: "[[Edit Conflict]]@glossary: this tiddler may have been changed by someone else.",
	reviewDiff: "review (recommended)",
	reviewDiffTooltip: "review changes made to this tiddler",
	reviewDiffError: "error retrieving revision.",
	save: "overwrite",
	saveTooltip: "make this revision the top revision of this tiddler",
	discard: "cancel",
	discardTooltip: "undo changes to this tiddler and get most recent version",
	diffTitle: "%0",
	diffFieldTitle: "%0 - fields",
	diffTextTitle: "%0 - text",
	updating: "updating your version...",
	diffHeader: ["Review the changes that have been made whilst you were editing this tiddler. ",
		"Fold relevant changes back into your version.\n",
		"{{removed{Red}}} highlight shows content removed. ",
		"{{added{Green}}} highlight shows content added.\n"].join(""),
	diffTextHeader: "View changes in text",
	diffFieldsHeader: "View changes in fields"
};

var plugin = config.extensions.errorHandler = {
	diffTags: ["excludeLists", "excludeMissing", "excludeSearch"],
	displayMessage: function(message, tiddler, context) {
		var desc = context && context.httpStatus ? context.statusText :
			sssp.locale.connectionError;
		var reportArea = plugin.reportError(tiddler.title);
		var msg = $("<div />").appendTo(reportArea);
		if(message == "saveConflict") {
			wikify(msgs.resolve, msg[0]);
			var choiceArea = $("<div />").appendTo(reportArea)[0];
			plugin.editConflictHandler(choiceArea, tiddler);
		} else {
			msg.text(sssp.locale[message].format(tiddler.title, desc));
		}
	},
	editConflictHandler: function(container, tiddler) {
		var title = tiddler.title;
		var myrev = tiddler.fields["server.page.revision"];
		// note user now needs to edit, fix problem and save. 
		// TODO: make sure this gets reset in save callback
		store.getTiddler(title).fields["server.page.revision"] = "false";

		var diffBtn = createTiddlyButton(container, msgs.reviewDiff, msgs.reviewDiffTooltip, function(ev) {
			var title = $(ev.target).data("title");
			plugin.displayDiff(ev.target, store.getTiddler(title), myrev);
		});
		var saveBtn = createTiddlyButton(container, msgs.save, msgs.saveTooltip, function(ev) {
				var title = $(ev.target).data("title");
				var tid = store.saveTiddler(store.getTiddler(title));
				autoSaveChanges(null, [tid]);
			});
		var ignoreBtn = createTiddlyButton(container, msgs.discard, msgs.discardTooltip, function(ev) {
			var title = $(ev.target).text(msgs.updating).data("title");
			plugin.resetToServerVersion(store.getTiddler(title));
		});
		$([diffBtn, ignoreBtn, saveBtn]).data("title", title);
	},
	getDiffTiddlerTexts: function(diffText) {
		var chunks = diffText.split("\n  \n");
		if(chunks.length < 2) {
			return [chunks[0], ""];
		} else {
			var diffFieldsText = "{{diff{\n%0\n}}}".format(chunks[0]);
			diffText = '{{diff{\n%0\n}}}'.format(chunks.splice(1, chunks.length).join("\n"));
			return [diffText, diffFieldsText];
		}
	},
	makeDiffTiddler: function(title, diff) {
		var newTiddler = new Tiddler(title);
		var tags = plugin.diffTags;
		newTiddler.text = msgs.loading;
		newTiddler.fields.doNotSave = true;
		newTiddler.tags = diff ? tags.concat(["diff"]) : tags;
		newTiddler = store.saveTiddler(newTiddler);
		$.extend(store.getTiddler(title).fields,
			config.defaultCustomFields); // allow option to save it
		return newTiddler;
	},
	displayDiff: function(src, tiddler, latestRevision) {
		var adaptor = tiddler.getAdaptor();
		var title = tiddler.title;
		var ts = new Date().formatString("0hh:0mm:0ss");
		var suffix = "edit conflict %0".format(ts);
		var diffTitle = tiddlyspace.getLocalTitle(msgs.diffTitle.format(title), "", suffix);
		var diffTextTitle = tiddlyspace.getLocalTitle(msgs.diffTextTitle.format(title), "", suffix);
		var diffFieldsTitle = tiddlyspace.getLocalTitle(msgs.diffFieldTitle.format(title), "", suffix);
		plugin.makeDiffTiddler(diffTextTitle, true);
		plugin.makeDiffTiddler(diffFieldsTitle, true);
		var newTiddler = plugin.makeDiffTiddler(diffTitle, false);
		newTiddler.text = ['%0\n<<slider chkViewDiffText "%1" "%2">>\n',
			'<<slider chkViewDiffField "%3" "%4">>'].join("").
			format(msgs.diffHeader, diffTextTitle, msgs.diffTextHeader,
				diffFieldsTitle, msgs.diffFieldsHeader);
		store.saveTiddler(newTiddler);

		var callback = function(r) {
			var text = plugin.getDiffTiddlerTexts(r);
			store.getTiddler(diffTextTitle).text = text[0];
			store.getTiddler(diffFieldsTitle).text = text[1];
			story.refreshTiddler(diffTitle, null, true);
		};
		var workspace = "bags/%0".format(tiddler.fields["server.bag"]);
		ajaxReq({
			type: "get",
			dataType: "text",
			url: "/diff?format=unified&rev1=%0/%1/%2&rev2=%0/%1".format(workspace, title, latestRevision),
			success: callback,
			error: function() {
				displayMessage(msgs.reviewDiffError);
			}
		});
		story.displayTiddler(src, diffTitle);
	},
	resetToServerVersion: function(tiddler) {
		var adaptor = tiddler.getAdaptor();
		var ctx = { 
			host: tiddler.fields["server.host"],
			workspace: "bags/" + tiddler.fields["server.bag"]
		};
		adaptor.getTiddler(tiddler.title, ctx, null, function(context) {
			store.saveTiddler(context.tiddler);
			story.refreshTiddler(tiddler.title);
			store.setDirty(false);
		});
	},
	reportError: function(title) {
		var el = story.getTiddler(title);
		if(!el) {
			el = story.displayTiddler(null, title);
		}
		return $("<div />").addClass("error annotation").prependTo(el)[0];
	}
};

sssp.reportFailure = function(message, tiddler, context) {
	config.options.chkViewDiffText = config.options.chkViewDiffText === undefined ?
		true : config.options.chkViewDiffText;
	config.options.chkViewDiffFields = config.options.chkViewDiffFields || false;
	plugin.displayMessage(message, tiddler, context);
};

})(jQuery);
//}}}
follow the instructions at the end of the [[AIM Form]] once you have completed the assessment - click the "EXPORT" button, and you will see the results open in a separate window that can be saved (copy and paste) and then the daa can easily be dropped into an EXcel or SPSS spreadsheet as it is recorded in "CSV" format.
!Purpose
Here we explain in simple steps how to export the data from a completed AIM questionnaire so that you can enter it into a database such as Excel or SPSS, etc.  The instructions are broken down into a totally simple copy-and-paste, or 12 steps that gets the data into a database format (don't be fooled into thinking this means it is complicated!)  

If you have reached this page by clicking the button at the end of a completed [[AIM Form]], and have jsut seen a new window open with this text on, then congratulations, your AIM results (in csv format) are laid out at the bottom of this page!

!How to do it:


!Simplest way:
Just copy all the text on this page, paste into a word document, and file, so that someone else can do the (very simple, honest) conversion into a database file.
!Most helpful way:
1. Ensure that you have filled in the ''Name/Unique ID'' of the young person, the ''Date of Assessment'', and your ''own Name'' as the Assessor (see the bottom of the AIM Introduction on the [[AIM Form]].
2. Copy all of the results (see below these instructions).
3. Open your 'Notepad' (this is the simplest word processor, and every operating system will have one - look under "Accessories" to find it in your "programs")
4. Paste the results there.
5. click "Save as..." 
6. If you have a drop-down menu for "Save as file type" and can select .csv out of the menu that this reveals, then select this option.  if .csv is NOT available, then in the box above ("File Name", give a name to your file, and END THE NAME WITH .csv - e.g ''{{{JohnSmith_AIMresults.csv}}}''
7. Save this file now - to a location that you will be able to find again (set up a folder titled "AIM csv results" for instance.)
8. Open your Database program (Excel, SPSS, etc)
9. click on the File menu, and select the "Open..." - then select the csv file you have just created to open.
10. You should see all the data open, with each bit of data in its own appropriate box/column.
11. Save the Excel or SPSS (etc) file, naming the file appropriately to ensure you label it with the unique ID of the young person whose data it is.
12. You are done.

YOUR AIM SCORES ARE BELOW
----
//{{{
var $ = jQuery;

config.macros.exportAIM = {
	tag: 'AIM',
	csv: "",
	setup: false,
	handler: function(place) {
		$(place).append('<a href="#" class="export marginbottomsmall" title="Export AIM to CSV">Export AIM</a>');
		this.setBehaviour();
	},
	setBehaviour: function() {
		if(this.setup) {
			return;
		}
		$('#aimForm').live('click', function(e) {
			if($(e.target).hasClass('export')) {
				config.macros.exportAIM.exportCSV();
			}
		});
		this.setup = true;
	},
	exportCSV: function() {
		var aimFormItems = config.macros.AIMForm.getAllItems(),
			csv = "",
			fields,
			score,
			keyOnly,
			newWindow,
			newDocument,
			interventionLabel,
			interventions,
			writeInterventionsList = function(newDocument, interventions) {
				newDocument.write("<ul>");
				$.each(interventions, function(i, intervention) {
					newDocument.write("<li>"+intervention.name+"<ul>");
					$.each(intervention.AIMitems, function(j, AIMitem) {
						newDocument.write("<li>"+AIMitem.title+" (rating "+aimFormItems[AIMitem.title].value+")</li>");
					});
					newDocument.write("</ul></li>");
				});
				newDocument.write("</ul>");	
			};
		$.each(aimFormItems, function(i, AIMitem) {
			if(AIMitem.value) {
				csv += '"'+AIMitem.tiddlerTitle+'","'+AIMitem.value+'","'+(AIMitem.isKeyProblem ? 'key problem' : '')+'"\n';
			}
		});
		if(!csv) {
			csv = "the AIM has not been filled in yet";
		}
		config.macros.exportAIM.csv = csv;
		newWindow = window.open("", "sourceWindow", "width=700,height=600,scrollbars=yes");
		newWindow.focus();
		newDocument = newWindow.document;
		newDocument.write("<html><head><title>AIM export to CSV</title>" +
			'<style type="text/css">textarea { border: 2px inset #B5B5B5; width: 100%; }</style>' +
			"</head><body onload=\"var exp = function() { window.opener.config.macros.exportAIM.save(); window.close(); }; var button = document.getElementsByTagName('button')[0]; if(button) { button.onclick=exp; } document.getElementsByTagName('textarea')[0].select();  \">" +
			"<h1>AIM export to CSV</h1>" +
			"<h2>Form information:</h2>" +
			"<dl><dt>Name/Unique ID:</dt><dd>"+(config.options.txtAIM_ID || "not filled in")+"</dd>" +
			"<dt>Date of assessment</dt><dd>"+(config.options.txtAIM_date || "not filled in")+"</dd>" +
			"<dt>Name of assessor</dt><dd>"+(config.options.txtAIM_assessor || "not filled in")+"</dd></dl>" +
			"<hr />");
		if(!config.options.txtAIM_ID || !config.options.txtAIM_date || !config.options.txtAIM_assessor) {
			newDocument.write("<p>Please go back and fill in the undefined details above</p><hr/>");
		}
		newDocument.write(wikifyStatic("<<tiddler ExportAIMInstructions>>") +
			"<textarea>" +
			csv +
			"</textarea>");
		newDocument.write("<h2>List of specific interventions:</h2>");
		// now show the list of interventions, if there are any
		keyOnly = true;
		interventions = config.macros.AIMResults.createResults(keyOnly);
		config.macros.AIMResults.analyseResults(interventions, "global_ranking");
		newDocument.write("<h3>Global ranking (key problems only):</h3>");
		writeInterventionsList(newDocument, interventions);
		config.macros.AIMResults.analyseResults(interventions, "focal_ranking");
		newDocument.write("<h3>Focal ranking (key problems only):</h3>");
		writeInterventionsList(newDocument, interventions);
		keyOnly = false;
		interventions = config.macros.AIMResults.createResults(keyOnly);
		config.macros.AIMResults.analyseResults(interventions, "global_ranking");
		newDocument.write("<h3>Global ranking (all results):</h3>");
		writeInterventionsList(newDocument, interventions);
		config.macros.AIMResults.analyseResults(interventions, "focal_ranking");
		newDocument.write("<h3>Focal ranking (all results):</h3>");
		writeInterventionsList(newDocument, interventions);
		newDocument.write("</body></html>");
		newDocument.close();
	},
	save: function() {
		// TiddlyTemplating.saveFile - http://svn.tiddlywiki.org/Trunk/contributors/JonathanLister/plugins/TiddlyTemplatingMacro.js
		var filename = (config.options.txtAIM_ID+"_"+config.options.txtAIM_date+"_"+config.options.txtAIM_assessor+".csv").replace(/ /g," "),
			content = config.macros.exportAIM.csv.replace(/<br\/>/g,"\n"),
			localPath = getLocalPath(document.location.toString()),
			savePath,
			p,
			fileSave;

		config.messages.fileSaved = "file successfully saved";
		config.messages.fileFailed = "file save failed";
		if((p = localPath.lastIndexOf("/")) != -1) {
			savePath = localPath.substr(0,p) + "/" + filename;
		} else {
			if((p = localPath.lastIndexOf("\\")) != -1) {
				savePath = localPath.substr(0,p) + "\\" + filename;
			} else {
				savePath = localPath + "." + filename;
			}
		}
		alert("saving AIM to file: "+savePath);
		fileSave = saveFile(savePath,convertUnicodeToUTF8(content));
		if(fileSave) {
			displayMessage("saved... click here to load","file://"+savePath);
		} else {
			displayMessage(config.messages.fileFailed,"file://"+savePath);
		}
	}
};
//}}}
/***
|Name:|ExtentTagButtonPlugin|
|Description:|Adds a New tiddler button in the tag drop down|
|Version:|3.2 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#ExtendTagButtonPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{

window.onClickTag_mptw_orig = window.onClickTag;
window.onClickTag = function(e) {
	window.onClickTag_mptw_orig.apply(this,arguments);
	var tag = this.getAttribute("tag");
	var title = this.getAttribute("tiddler");
	// Thanks Saq, you're a genius :)
	var popup = Popup.stack[Popup.stack.length-1].popup;
	createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");
	wikify("<<newTiddler label:'Create new page as a sub topic of this one' tag:'"+tag+"'>>",createTiddlyElement(popup,"li"));
	return false;
}

//}}}
/*!**
|''Name''|ExtraFilters|
|''Author''|Jon Robson|
|''Version''|0.6.8|
|''Status''|@@experimental@@|
|''Requires''|TiddlySpaceFilters ImageMacroPlugin|
|''CodeRepository''|<...>|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Notes
* Updates shadow tiddlers to known TiddlySpace shadow tiddlers
* adds the following filters 
{{{
[is[tiddler]] - allows you to match all tiddlers - useful for applying the isnot filter (see later)
[is[image]] - returns only image tiddlers (e.g. png, jpeg, gif etc..)
[is[shadow]] - returns if the tiddler is a known shadow tiddler
[is[svg]] - returns only svg tiddlers
[is[tagged]] - returns tiddlers with tags
[isnot[image]] - filters result of previous filters for ones that are not images
[notag[<tag>]] - filters result of previous filters for ones without a tag
[nofield[<field>]] - check for absence of field or field value in previous filters
[has[<field or attribute>]] - match tiddlers which have a field or attribute set.
[and[<filter expression>]] - e.g.[and[tag:foo]] checks all tiddlers from previous filters for a tag foo.
[nobag[foo]] - removes any tiddlers previously returned by a previous filter that belong to the given bag
[is[open]]
[startsWith[title,Foo]] returns all tiddlers who's titles start with Foo.

}}}
***/
//{{{
(function($) {
var _display = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function() {
	var res =  _display.apply(this, arguments);
	$("[macroName=list]").each(function(i, el) {
		config.macros.list.refresh(el);
	});
	return res;
};
var _close = Story.prototype.closeTiddler;
Story.prototype.closeTiddler = function() {
	var res =  _close.apply(this, arguments);
	$("[macroName=list]").each(function(i, el) {
		config.macros.list.refresh(el);
	});
	return res;
};

config.shadowTiddlers.SiteIcon = "";
config.shadowTiddlers.SiteInfo = "";
config.shadowTiddlers.SystemSettings = "";
config.shadowTiddlers[config.extensions.tiddlyspace.currentSpace.name + "SetupFlag"] = "";

config.filterHelpers["is"].image = config.macros.image.isImageTiddler;
config.filterHelpers["is"].svg = config.macros.image.isSVGTiddler;
config.filterHelpers["is"].tiddler = function(tiddler) {
	return tiddler ? true : false;
}
config.filterHelpers["is"].open = function(tiddler) {
	return story.getTiddler(tiddler.title) ? true : false;
}
config.filterHelpers["is"].shadow = function(tiddler) {
	return tiddler && tiddler.title && tiddler.title in config.shadowTiddlers ? true : false;
}
config.filterHelpers["is"].tagged = function(tiddler) {
	return tiddler && tiddler.tags.length > 0 ? true : false;
};
config.filterHelpers["is"].external = function(tiddler) {
	var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
	var fields = tiddler.fields;
	var bag = fields["server.bag"] || "";
	var local = config.filterHelpers["is"].local(tiddler);
	if(!local && endsWith(bag, "_public") || bag.indexOf("_") === -1) {
		return true;
	} else {
		return false;
	}
};

config.filterHelpers["is"].privateAndExternal = function(tiddler) {
	var endsWith = config.extensions.BinaryTiddlersPlugin.endsWith;
	var fields = tiddler.fields;
	var bag = fields["server.bag"] || "";
	return !config.filterHelpers["is"].local(tiddler) && endsWith(bag, "_private");
};

config.filters.isnot = function(candidates, match) {
	var type = match[3];
	var results = [];
	for (var i = 0; i < candidates.length; i++) {
		var tiddler = candidates[i];
		var helper = config.filterHelpers.is[type];
		if(helper && !helper(tiddler)) {
			results.pushUnique(tiddler);
		}
	}
	return results;
};

config.filters.nobag = function(results, match) {
	var bag = match[3];
	var newResults = [];
  for(var i = 0; i < results.length; i++) {
    var tiddler = results[i];
    if(tiddler.fields["server.bag"] !== bag) {
      newResults.push(tiddler);
    }
  }
  return newResults;
};

config.filters.linksTo = function(results, match) {
	var name = match[3];
	results = this.getTiddlers();
  var newResults = [];
  for(var i = 0; i < results.length; i++) {
    var tiddler = results[i];
    var links = tiddler.getLinks("title", "excludeLists");
    if(links.contains(name)) {
      newResults.push(tiddler);
    }
  }
  return newResults;
};

config.filters.notag = function(results, match) {
  var tag = match[3];
  var newResults = [];
  for(var i = 0; i < results.length; i++) {
    var tiddler = results[i];
    if(!tiddler.tags.contains(tag)) {
      newResults.push(tiddler);
    }
  }
  return newResults;
};
config.filters.nofield = function(results, match) {
  var fieldname = match[3];
  var newResults = [];
  for(var i = 0; i < results.length; i++) {
    var tiddler = results[i];
    if(!tiddler.fields[fieldname]) {
      newResults.push(tiddler);
    }
  }
  return newResults;
};

config.filters.and = function(results, match) {
	var args = match[3].split(":");
	var negationMode = false;
	var handler = args[0];
	if(handler.indexOf("!") === 0) {
		handler = handler.substr(1);
		negationMode = true;
	}
	var value = args[1];
	if(config.filters[handler]) {
		var titles = [];
		var matches = config.filters[handler].call(this, [], [null, null, handler, value]); // note some filters require second argument :(
		for(var i = 0; i < matches.length; i++) {
			titles.push(matches[i].title);
		}
		var newResults = [];
		for(var i = 0; i < results.length; i++) {
			var tid = results[i];
			if(!negationMode && titles.contains(tid.title)) {
				newResults.push(tid);
			} else if(negationMode && !titles.contains(tid.title)) {
				newResults.push(tid);
			}
		}
		return newResults;
	} else {
		return results;
	}
};

config.filters.has = function(results, match) {
	var field = match[3];
	var results = [];
	this.forEachTiddler(function(title, tid) {
		if(tid[field] || tid.fields[field]) {
			results.push(tid);
		}
	});
	return results;
};

config.filters.startsWith = function(results, match) {
	var args = match[3].split(",");
	var field, str;
	if(args.length === 1) {
		field = "title";
		str = args[0]
	} else {
		field = args[0];
		str = args[1];
	}
	var newResults = [];
	// use this to keep the current store context
	this.forEachTiddler(function(i, tid) {
		var val = this.getValue(tid, field);
		if(val && val.indexOf(str) === 0) {
			newResults.push(tid);
		}
	})
	return newResults;
}

var scanMacro = config.macros.tsScan;
config.filterHelpers.loadingTiddler = new Tiddler("Loading...");
config.filterHelpers.loadingTiddler.text = "loading...";
config.filterHelpers.loadingTiddler.fields["msg.loading"] = "loading...";
config.filterHelpers.url = {};
config.filters.url = function(results, match) {
	var url = match[3];
	var tiddlers = config.filterHelpers.url[url];
	if(tiddlers) {
		return tiddlers;
	} else if(!status) {
		config.filterHelpers.url[url] = [ config.filterHelpers.loadingTiddler ];
		$.ajax({type:"get", url: url, dataType: "json", success: function(jstiddlers) {
			var tiddlers = scanMacro._tiddlerfy(jstiddlers, {});
			config.filterHelpers.url[url] = tiddlers;
			refreshDisplay();
		}, error: function() {
			displayMessage("unable to connect to %0".format(url));
		}
		});
	}
	return config.filterHelpers.url[url];
};

}(jQuery));
//}}}
/***
|''Name:''|FilterTiddlersPlugin|
|''Description:''|Filter the tiddlers in a TiddlyWiki|
|''Author''|JonathanLister|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/JonathanLister/plugins/FilterTiddlersPlugin.js |
|''Version:''|0.4|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |
|''~CoreVersion:''|2.4|

! Usage
{{{
store.filterTiddlers(filter)
}}}
where "filter" is a filter expression, as explained below

Returns an array of Tiddler() objects that match the filter expression

! Filter expressions
Filter expressions are of the form:
{{{
filterStep | filterStep | ... // only one filterStep is required
}}}
where filterStep is of the form:
{{{
[filterElements]
}}}
where filterElements is one or more of the following:
* [TiddlerName]
* tag[TagName]
* sort[SortField]
* limit[NoOfResults]

***/

//{{{
if(!version.extensions.FilterTiddlersPlugin) {
version.extensions.FilterTiddlersPlugin = {installed:true};

TiddlyWiki.prototype.filterTiddlers = function(filter) {
	var makeStore = function(tiddlers) {
		if(tiddlers && tiddlers.length===0) {
			return store;
		}
		var TW = new TiddlyWiki();
		for(var i=0;i<tiddlers.length;i++) {
			TW.addTiddler(tiddlers[i]);
		}
		return TW;
	};
	var findRawDelimiter = function(delimiter,text,start)
	{
		var d = text.indexOf(delimiter,start);
		if(d==-1)
			return -1;
		var b = {start:-1,end:-1};
		var bs = text.indexOf('[',start);
		if(bs==-1 || bs >d)
			return d;
		var s1 = -1;
		if(bs!=-1 && bs <d) {
			var be = text.indexOf(']',bs);
			if(be!=-1) {
				b.start = bs;
				b.end = be;
			}
		}
		if(b.start!=-1 && d>b.start)
			s1 = b.end+2;
		return s1==-1 ? d : findRawDelimiter(delimiter,text,s1);
	};
	var filterTiddlers = function(filter,tiddlers)
	{
		var store = makeStore(tiddlers);
		var results = [];
		var accumulator = [];
		var addToResults = function(results,tiddlers) {
			for(var i=0;i<tiddlers.length;i++) {
				results.pushUnique(tiddlers[i]);
			}
		};
		var addAllToResults = function(results,toExclude) {
			if(toExclude && toExclude.length) {
				var titles = [];
				for(var i=0;i<toExclude.length;i++) {
					titles.push(toExclude[i].title);
				}
				store.forEachTiddler(function(title,tiddler) {
					if(titles && !titles.contains(title)) {
						results.pushUnique(tiddler);
					}
				});
			} else {
				store.forEachTiddler(function(title,tiddler) {
					results.pushUnique(tiddler);
				});
			}
		};
		var removeFromResults = function(results,tiddlers) {
			for(var i=0;i<tiddlers.length;i++) {
				var n = results.indexOf(tiddler[i]);
				if(n!=-1)
					results.splice(n,1);
			}
		};
		var tiddlerSort = function(field) {
			// if the accumulator is empty, sort the results array
			if(accumulator.length==0)
				results = store.sortTiddlers(results,field);
			else
				accumulator = store.sortTiddlers(accumulator,field);
		};
		var limitResults = function(limit) {
			// if the accumulator is empty, limit the results array
			var arrayToSplice = accumulator.length==0 ? results : accumulator;
			if(arrayToSplice.length>limit) {
				arrayToSplice.splice(limit,arrayToSplice.length-limit);
			}
		};
		if(filter) {
			var tiddler, tiddlers;
			var re = /([^ \[\]]+)|(?:\[((?:[ \w-+!]+\[[^\]]+\])+)\])|(?:\[\[([^\]]+)\]\])/mg;
			var re_inner = /([ \w-+!]+)\[([^\]]+)]/mg;
			var match = re.exec(filter);
			while(match) {
				if(match[1] || match[3]) {
					var title = match[1] ? match[1] : match[3];
					if(title=="*") {
						addAllToResults(results);
					} else {
						tiddler = store.fetchTiddler(title);
						if(tiddler) {
							addToResults(results,[tiddler]);
						} else if(store.isShadowTiddler(title)) {
							tiddler = new Tiddler();
							tiddler.set(title,store.getTiddlerText(title));
							addToResults(results,[tiddler]);
						}
					}
				} else if(match[2]) {
					// loop through the nested matches of the form 'tag[word]'
					var match_inner = re_inner.exec(match[2]);
					while(match_inner) {
						switch(match_inner[1]) {
						// Note: all 'tag' case fall-through are intentional
						case "-tag":
							tiddlers = store.getTaggedTiddlers(match_inner[2]);
							removeFromResults(accumulator,tiddlers);
							break;
						case "tag":
						case "+tag":
							tiddlers = store.getTaggedTiddlers(match_inner[2]);
							addToResults(accumulator,tiddlers);
							break;
						case "!tag":
							tiddlers = store.getTaggedTiddlers(match_inner[2]);
							addAllToResults(accumulator,tiddlers);
							break;
						case "-sort":
							// this is a syntax error
							displayError(config.messages.filterSortError);
							break;
						case "+sort":
							// this fall-through is intentional
						case "sort":
							tiddlerSort(match_inner[2]);
							break;
						case "limit":
							limitResults(match_inner[2]);
							break;
						}
						match_inner = re_inner.exec(match[2]);
					}
				}
				// push accumulator onto results stack
				for (var i=0; i<accumulator.length; i++) {
					results.pushUnique(accumulator[i]);
				}
				accumulator = [];
				match = re.exec(filter);
			}
		}
		return results;
	};
	var results = [];
	if(filter) {
		var delimiter = "|";
		var inc = delimiter.length;
		var start = 0;
		var end = findRawDelimiter(delimiter,filter,start);
		while(end!=-1) {
			results = filterTiddlers(filter.substr(start,end),results);
			start = end+inc;
			end = findRawDelimiter(delimiter,filter,start);
		}
		results = filterTiddlers(filter.substr(start),results);
	}
	return results;
};

// Move this to config.messages once approved
merge(config.messages,{
	filterSortError:"Error in tiddler filter expression: '[-sort[field]]' is invalid; use '[sort[-field]]' instead"
});

} //# end of 'install only once'
//}}}
!Purpose
For more general learning about this manual see [[Using the Manual]].  This page is to explain how to find your way around the manual (the AMBIT theme) so you can locate what you want quickly, and share it with others ([[SNAPSHOT]].)

!Finding what you want: the [[Sidebar]]
Most of what you need is located on the [[Sidebar]] to the left of the screen... Learn how to use this!

* There is a [[Search]] function.
* There is a [[History recorder]] that tracks content you have previously opened in a session.
* There is a [[Currently Open]] list, that records all the pages open on your [[Desktop]] right now
** Beside this is the [[SNAPSHOT]] button to record these, so they can be reopened at a later date.
* There is a [[Contents/Sitemap]] 
* FIND YOUR OWN STUFF - for a local team writing in their local version of this manual, look at [[OUR Team]] where there are a series of useful "front doors" into finding content that might be of practical use (you can find that page in the [[+ Getting Started]] page, too), or go to [[List LOCAL EDITS to the manual]] to find just the pages that you have written listed out.
!Other useful contents and functions:

* There is an [[Index]] to sort and list content in different ways
* There is a [[Glossary]] to list and explain jargon
* There are [[Comparing and Sharing functions]] to help you see how OTHER teams are adapting this manual.
* There are [[Academic references]]

!Common questions that help locate what you need

*''[[I want a brief introduction to AMBIT|AMBIT: an overview]]''
*''[[I want to learn about using this TiddlyManual|Using the Manual]]''
*''[[I am just starting work with a client|INITIAL PHASE]]''
*''[[I am already working with a client; where next?|INTERVENTION PHASE]]''
*''[[I want to look up a specific piece of information, or surf and browse|Find your way around]]''
*''[[I just want to fill an AIM questionnaire|AIM Form]]''
*''[[I am authorized to edit to our local team's manual]]''
*''[[None of the above!]]''
!!(a) Think about how you title your offerings
* Do think about using a very clear title for the page you author, which is likley to be a phrase people would search for... this is like [[Marking the Task]] for that page.
* Alternatively, use a memorable title!
* Make sure that a page with the same title does not already exist:
** Your local page will cover up that version if it is part of the core content
** This may be just what you want, for instance if you are just editing and localising the content that is there, or if you have produced better content.  You won't delete original content, and it is easy to find it again via the [[Show references and info]] panel on the page
!!(b) Think about how you Tag your offerings
* [[Tags]] allow people to explore the wider topic areas that this page forms a part of.
* Aim to have enough, //but not too many// tags - a Tag is like a "chapter heading" - how many "chapters" does this page you are writing need to sit in? 
* If you are opening a new page using the [[+ Manualize our work]] buttons these will automatically place the new material into some order with [[Tags]] that actually act as "topic headings", but you can add more tags as you see fit.
!!(c) Add appropriate Links
* Adding [[Link]]s encourages rapid and direct connections from your content to explain in more depth some specific element that you are referring to.
ColorPalette
StyleSheet
SiteSubtitle
GettingStarted
SiteTitle
MainMenu
SiteIcon
DefaultTiddlers
ViewTemplate
PageTemplate
SideBarOptions
EditTemplate
SiteInfo
SideBarTabs
ToolbarCommands
!To get AIM data saved fast

1. Fill in the AIM questionnaire online - ''NB: NO private data will be saved online when you do this'' - as the information all remains wihtin your computer.) 

2. Click the ''"Export AIM"'' button at the end of the questionnaire -> a new window pops up with all the data in it.

3. Right click on this pop-up window and then "''Select all''" -> then ''Copy'' and ''Paste'' this into a new Word document.  ''__Done!__''  File this safely...  

You will see this document has all the actual data in a little window (with sliders to move around it) plus multiple long lists of all the "suggested treatments" that are sorted and ranked in different ways (you can ignore these for now if you are just after the data, or you can play with them online in the manual at [[AIM-Results]])

!To get AIM data into an Excel or SPSS file

1. Select and copy all the actual scores (that are all listed in the little window embedded in the results page) - you can do this from the Word document you just created, or you can do it directly from the window in the pop-up referred to in (2) above...

2. Open up your computer's "''Notepad''" text editor (which is the simplest text editor, versions of which are included in all computers: in a PC go to ''All Programmes'' -> select ''Accessories'' -> select ''Notepad'') and paste the data you just copied into there.

3. click ''File'' on the Notepad, and then select "''Save as...''".  When you save the file with all your data, save it //in a safe place// with the suffix ''.csv'' at the end (this is a data format that tells Excel and other statistics programs how to organise the data)

    eg: ''JohnSmith_AIM_Jan2012.csv''


4. Now open ''Excel'', go to the ''File'' menu, and click ''Open File...''

5. Now select the csv file that you have just created and saved... and all the data will open up, sorted and loaded into the right Excel boxes and columns.

6. Save this Excel file with the client's name or ID, in a clearly labelled central folder for our team's AIM RESULTS, as well as a copy in the young person's letters folder.  

Done!
/%

Hello,

If you choose to change this GettingStarted tiddler, you may wish to add the following to your new content if you expect you space to be included:

<<<
----
Hello,
''This ~GettingStarted tiddler has been customized.''
If you want to see the original system tiddler just click the following link: GettingStarted@system-info at system-info.
<<<
%/

Welcome to your brand new [[TiddlySpace|http://docs.tiddlyspace.com/TiddlySpace]].

You're almost ready to go, there are just a couple of things left to do.

!Customise your space
Go to [[SpaceSettings]] to finish customising  your space. When you're done, come back here (just scroll up). Don't worry though, this will still be open when you've finished.

!Further Customisation

The [[ServerSettings]] tiddler is used to provide the following space configuration options:

#index: The value is the name of a tiddler that will be presented when loading the space.  For example, when set to Hello for the space hello.tiddlyspace.com, navigating to that URL will present the Hello tiddler.
#editor: The name of an [[editor application|http://docs.tiddlyspace.com/Example%20Tiddler%20Editors]] to edit tiddlers with.  Applications are [[included spaces|http://docs.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F]]

To edit these options, click [[here|ServerSettings]] to open the [[ServerSettings]] tiddler then click on the edit button (the pencil icon).  Then add the options you wish to set and then click on the save button (the tick icon).

An example [[ServerSettings]] tiddler:
{{{
index: HelloThere
editor: /edit#{tiddler}
}}}

The additional text after /edit allows a tiddler to be opened in edit mode e.g:
{{{http://hello.tiddlyspace.com/edit#MyTiddler}}}

!!See Also

* [[ServerSettings shadow tiddler|http://docs.tiddlyspace.com/ServerSettings%20shadow%20tiddler]]
* [[Choosing a non-TiddlyWiki Default Application for your Space|http://docs.tiddlyspace.com/Choosing%20a%20non-TiddlyWiki%20Default%20Application%20for%20your%20Space]]

!Finished customising?
You can [[Start writing]] some [[tiddlers|http://docs.tiddlyspace.com/Tiddler]].
If you're not done tweaking yet though, you can always [[Customise this space|SpaceSettings]] a bit more.

You can also [[access and read other tiddlers in various ways|http://docs.tiddlyspace.com/Viewing%20Tiddlers]].

!Administration
If you'd like to change your password or create another space, visit "Your Account" from the [[Universal Backstage|http://docs.tiddlyspace.com/UniversalBackstage]] (the blue dot in the upper right of the page). If you'd like to add a member or [[include a space|http://docs.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F]] visit "This Space" from the [[Universal Backstage|http://docs.tiddlyspace.com/UniversalBackstage]].

You can have as many spaces as you like and each space can have as many members as you or your group need.

!Stuck?
If you're stuck, and would like some help, please visit the [[help|http://help.tiddlyspace.com]] space, which can point you in the right direction.
!What is this?
This describes how the AMBIT Community of Practice "browsing panel" in the openeing page ([[+ Getting started]]) works to allow a editing member of //one// version of the AMBIT manual to browse what //other teams// have been writing about in //their// versions, and to copy pages that they have created so as to avoid "re-inventing the wheel".

<html><object width="480" height="360"><param name="movie" value="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="//www.youtube.com/v/xGoXRgCkddY?hl=en_GB&amp;version=3&amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

!Notes on Browsing the Community of Practice
* At [[+ Getting started]] you will find a button that slides open a panel titled ''"Browse the Community of Practice"''.  
* This lists out the most recent edits made by teams who have had AMBIT training and are part of the AMBIT [[Community of Practice]].  

* You can __click on the heading of any page you are interested in__ to see a preview snippet.
* Using the ''"Go To"'' button you can then open that page within that team's local version of the manual (this opens in a separate tab in your web browser.)

* If you are [[logged in|Log in]] ''and switched to [[Edit mode]] in the local manual you are looking at'', then by clicking on a page title (so long as you don't already have a page of the same title) you will reveal:
** ''Not only'' the ''"Go To"'' button
** ''But also'' the [[Clone and Customise]] button...
!!"Go To" button:
This button opens a copy of the page you are interested in a separate browsing tab so you can have a proper look at what is there.
!!"Clone and Customise" button:
If there is no version of a page already in your own manual, then clicking [[this button|Clone and Customise]] instantly "clones" a copy of that team's new page into your own manual
** In this way you can start to build upon their good work.
** The original page that you have now cloned will be marked to say how many others have cloned it - praise indeed.
** Your cloned version will be marked as "cloned from xxxxx"
/***
|''Name''|GroupByPlugin|
|''Description''|Mimics allTags macro to provide ways of creating lists grouping tiddlers by any field|
|''Version''|0.6.1|
|''Author''|Jon Robson|
|''Status''|beta|
!Usage
{{{<<groupBy tags>>}}}
mimics allTags macro

{{{<<groupBy server.bag>>}}}
groups by the server.bag field (this version contains TiddlySpace specific code for turning a bag into a space name)

{{{groupBy modified dateFormat:"YYYY"}}}
group tiddlers by year.

{{{<<groupBy tags exclude:excludeLists exclude:systemConfig>>}}}
group tiddlers by tag but exclude the tags with values excludeLists and systemConfig

Within that group you can also exclude things by filter
{{{groupBy modifier filter:[tag[film]]}}}
will group tiddlers tagged with film by modifier.
***/
//{{{
(function($) {
var taglocale = config.views.wikified.tag;
var macro = config.macros.groupBy = {
	locale: {
		tooltip: "all tiddlers in group %0",
		noTiddlers: "no tiddlers",
		openAllText: taglocale.openAllText,
		openAllTooltip: taglocale.openAllTooltip,
		openTiddler: "open tiddler with title %0"
	},
	morpher: {
		// TODO: note currently the following 2 morphers are TiddlySpace specific and probably should be in separate plugin
		"server.workspace": function(value, options) {
			return macro.morpher["server.bag"](value.replace("bags/", "").replace("recipes/", ""));
		},
		"server.bag": function(value, options) {
			if(typeof(value) !== "string") {
				return false;
			} else if(value.indexOf("_public") === -1 && value.indexOf("_private") === -1) {
				value = "*%0".format(value); // add star for non-space bags.
			}
			return value.replace("_public", "").replace("_private", "");
		},
		created: function(value, options) {
			return value.formatString(options.dateFormat || "DD MMM YYYY");
		},
		modified: function(value, options) {
			return macro.morpher.created(value, options);
		}
	},

	handler: function(place, macroName, params, wikifier, paramString) {
		var field = params[0] || "server.workspace";
		var dateFormat = params[1] || "DD MMM YYYY";
		var container = $("<div />").attr("macroName", macroName).addClass("groupBy").
			attr("refresh", "macro").attr("fieldName", field).
			attr("paramString", paramString).
			attr("dateFormat", dateFormat).appendTo(place)[0];
		macro.refresh(container);
	},
	isTypeArray: function(value) {
		var valueType = typeof value;
		if(valueType === "object" && typeof value.length === "number" &&
			!(value.propertyIsEnumerable("length")) &&
			typeof value.splice === "function") { //is Array
			return true;
		} else {
			return false;
		}
	},
	_onClickGroup: function(ev, options) {
		var i, target = ev.target, locale = macro.locale;
		var tiddlers = $(target).closest(".templateContainer").data("tiddlers");
		var popup = $(Popup.create(target)).addClass("taggedTiddlerList")[0];
		var value = $(target).attr("value");
		var openAll = createTiddlyButton($("<li />").appendTo(popup)[0],
			locale.openAllText.format(value), locale.openAllTooltip);
		$(openAll).click(function(ev) {
			story.displayTiddlers(ev.target, tiddlers);
			return false;
		});
		var listBreak = $("<li />").addClass("listBreak").html("<div />").appendTo(popup);
		for(i = 0; i < tiddlers.length; i++) {
			var item = $("<li />").appendTo(popup)[0];
			var template = store.getTiddlerText(options.template) || macro.template;
			wikify(template, item, null, tiddlers[i]);
		}
		listBreak.clone().appendTo(popup);
		$(createTiddlyLink($("<li />").appendTo(popup)[0], value, false)).
			text(locale.openTiddler.format(value));
		Popup.show();
		ev.stopPropagation();
		return false;
	},
	_refresh: function(container, tiddlers, options) {
		var totalGroups = 0, locale = macro.locale, i, j;
		var excludeValues = options.exclude;
		var values = {}, value_ids = [];
		var field = options.field;
		var morpher = macro.morpher[field] || function(value) {
			return value;
		};
		for(i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var value = tiddler[field] || tiddler.fields[field];
			value = macro.isTypeArray(value) ? value : [ value ];
			for(j = 0; j < value.length; j++) {
				var v = morpher(value[j], options);
				if(v && $.inArray(v, excludeValues) === -1) {
					totalGroups += 1;
					if(!values[v]) {
						values[v] = [];
					}
					values[v].push(tiddler);
					value_ids.pushUnique(v);
				}
			}
		}
		var ul = $("<ul />").appendTo(container)[0];
		if(totalGroups === 0) {
			$("<li />").addClass("listTitle").text(locale.noTiddlers);
		}
		value_ids = value_ids.sort();
		var groupTemplate = store.getTiddlerText(options.groupTemplate);
		var onClick = function(ev) {
			macro._onClickGroup(ev, options);
		};
		for(i = 0; i < value_ids.length; i++) {
			var title = value_ids[i];
			var info = getTiddlyLinkInfo(title);
			tiddlers = values[title];
			var btn = createTiddlyButton($("<li />").appendTo(ul)[0],
				"%0 (%1)".format(title, tiddlers.length), locale.tooltip.format(title), null, info.classes);
			if(groupTemplate) {
				$(btn).empty();
				wikify(groupTemplate, btn, null, tiddlers[0]);
			}
			$(btn).click(onClick).attr("value", title).attr("refresh", "link").attr("tiddlyLink", title);
			$(btn).addClass("templateContainer").data("tiddlers", tiddlers);
		}
	},
	refresh: function(container) {
		container = $(container).empty();
		var paramString = container.attr("paramString");
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = { field: container.attr("fieldName"), dateFormat: container.attr("dateFormat"), exclude: args.exclude || [],
			template: args.template ? args.template[0] : false, groupTemplate: args.groupTemplate ? args.groupTemplate[0] : "" };
		var tiddlers = args.filter ? store.filterTiddlers(args.filter[0]) : store.getTiddlers("title");
		macro._refresh(container, tiddlers, options);
	},
	template: "<<view title link>>"
};

}(jQuery));
//}}}
!!@@color(blue):Headings@@
!!!What you type in the edit box...
{{{
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
}}}
!!!...and what you see in the ordinary "viewing mode"...
<<<
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
<<<
!What is help?!
Delivering therapy is all about //finding ways to help//, and for our clients to find ways to //be helped//.  In the @ambit manual there is a lot of material relating to the [[Relationship to help]] that you can explore.

!Help with this *!?$&*%ing web manual!

There is lots of help for the user of a TiddlyManual at [[Using the Manual]] - have a look there first.

Give us [[Feedback please!]] if you are still stuck; we will try to respond asap but bear with us, the AMBIT project is not resourced to be a full scale IT support service!

!SOURCES OF TECHNICAL HELP

!!!Tiddlymanuals discussion group

There is a (currently not much used, but the more the merrier) Google Group for discussion of tiddlymanuals and ambit.  You will need to request an invitation to join this group when you first go there.  Click on the link below, and you will be able to do this.

[[Visit the ambit-tiddlymanuals Google Group|http://groups.google.com/group/ambit-tiddlymanuals]]

!NOT a helpline!

The ambit project does not have the resources to run a technical helpline, although we will try to be helpful wherever we can - contact us at the [[Anna Freud Centre]].  If you get stuck with a technical problem you can generally find the solution inside the manual under [[Using the Manual]] or [[Understanding TiddlyManual format]], and we'd prefer you to try first with these other sources of help:

!!!Answers to Technical problems - Tiddlyspace Google Group:

TiddlyWiki is driven by a large and extremely helpful community of programmers, who are generally very happy to share their expertise and via the [[TiddlyWiki Google group|http://groups.google.com/group/tiddlywiki]] they are usually quick to respond to even the simplest and least technically-adept questions!  If you are not a "techie" don't worry, just say so; the tiddlyspace project is trying very hard to simplify things so that more non-technical users can use it with ease, so your experience is extremely valuable feedback for the community.

If you post to this group:

* ''Title'' your help request as clearly as you can (it's like [[Marking the Task]] for @ambit!)
* Tell them ''who you are'' and that ''this relates to the AMBIT project'' (the AMBIT community is an important group of "end-users"for the Tiddlyspace community.) 
* Remember that ''the TiddlySpace community is a voluntary group'', and will mostly be helping you fix things just because they are being helpful - so hold back if you are frustrated!
* Tell them briefly what you are stuck with, and give them the website URL (the address in your browser bar) so they can have a look.
*  If you can, tell them what browser you are using (Internet Explorer, Firefox, Safari, etc) and better still which VERSION you are using (look under the Help in your browser, and select "About Windows Explorer" etc, to find this.
* Tell them whether you are on a Mac or a PC and if you can what operating system (eg windows XP, or Windows 7, etc) this will all be helpful.
* in general questions get answered amazingly quickly as the Tiddlyspace community is worldwide, and lots of the common glitches are well understood.

!More technical advice:

You can also go to the [[TiddlyWiki website|http://www.tiddlywiki.com]] which has lots of links to other sources of help, as an open source project.

Well done! You now see how quickly and easily a new chunk of MicroContent (known In TiddlyWiki language as a [[Tiddler]]) appears, and how easy it is to get rid of it once you have read it. As you pass your computer cursor over this Tiddler, its own one of a set of different [[Menus]] appears on the right hand side, just above it.  Click on "[[Close]]" and this Tiddler will disappear.
Remember that all the pages ([[Tiddler]]s) in this manual are actually part of ONE single web-page, so the "Backwards", "Forwards" and "History" buttons on your BROWSER are of no use to you in a tiddlymanual.  (Incidentally, clicking F11, or selecting View > Full Screen to hide the browser and make more room for the manual is a useful trick.)  
So, instead of accessing the History via the browser you do it from the the left hand [[Sidebar]], where you will see a panel titled "History": this records and lists the title of each [[Tiddler]] you open during a session in the manual.  
Think of this as //the piece of thread that you unravel as you go into the labyrinth// - it can be useful to remember where you have been during a session, and to re-trace your steps or revisit any content you have closed earlier.  When you click on any title stored in the history widget, you will re-open that tiddler.
!Use [[SNAPSHOT]] to remember/share history
When you close the whole manual (or click "refresh" on your browser) the history will be lost, so if you want to share a page or collection of pages that you have opened, use the [[SNAPSHOT]] button (in the [[Currently Open]] panel, just beneath the History recorder.)
!Why do it?

*[[Manualization]] is one of the [[Core Features of AMBIT]].  
*This can be considered as an exercise in which the team //mentalizes together// about ''"what, how and why we are doing what we are doing?"''.  [[Manualization]] refers to the systematic way in which the team then agrees to //record the results of these discussions//.  Many team discussions result in unanimous agreement about how to deal with an issue, but this solution is then forgotten and has to be 'reinvented' again the next time the same issue arises. 
*This process promotes sharing of information and knowledge about individual practitioners' and the team's practice.
*We hypothesise that repeated efforts to manualize the team's practice means that the whole manual gradually comes to represent more and more accurately the work of the team, but also increasingly //guides// and //influences// the work of the team.
*It is a pleasant coincidence that the words //mentalization// and //manualization// are so similar: our hypothesis is that a team that is manualizing itself is probably mentalizing! 
>//"Why do we do that in this particular way, and not like that?"//
*The process of manualization can mean that [[Individual Differences]] are brought to light, and teams should avoid being disheartened by this, which is evidence of proper engagement in the shared task.

!Practical aspects:
1. [[Organisational aspects of Manualizing]]
2. [[Content: What to focus on in Manualizing]]
3. [[Fitting what you ADD into what is ALREADY THERE in your manual]]
4. [[Technical Aspects: How to edit a TiddlyManual|Edit]]

It is worth spending a little time to familiarise yourself with this material.  

!Video tour

[[Video tour of the AMBIT manual]] gives you a quick look around the main features of the manual.

Beginners will particularly want to check they understand the [[Sidebar]], how to use [[Links]], and to open and close [[pages|Tiddler]] in this [[TiddlyManual]], and how to use the various [[Menus]] that are available.

!Links don't open pages?!

You will notice that if you click a link the page you are after doesn't automatically open straight away: instead the link appears to fly off towards the sidebar, and nothing else much happens:
>//Grrrrrr! Where's my page?!//
This is the most obvious difference between a TiddlyManual and a conventional website.  Your page HAS opened, but it hasn't immediately flipped you out of the page you are reading - instead it has joined an orderly queue - your 'reading list', if you like, or your //Chapter-for-today//...
>//So where IS it?!//
The link you clicked actually //has// already opened on your [[Desktop]], but it has opened at the //bottom of the list// of pages that you have opened so far... If you scroll down to the bottom of this [[page|Tiddler]] you'll find it there waiting for you, or if you click its title in the '[[Currently Open]]' list in the [[Sidebar]], you'll jump straight there.
>//What is the POINT of that?!  It's irritating!//
We found that people reported getting less sense out of what they were reading if clicking a link immediately "threw" them out of the page they were reading and onto a completely new page... 

Arranging things the way we have means that you can focus on what you are currently reading, and //simply 'line up' what you want further detail on for later...//  It is as though you generate the chapter you are interested in reading //as you go//.  

You can jump direct from page to page in 'your' individually-selected chapter by clicking the links to pages in your [[Currently Open]] list.  It takes a bit of getting used to but we hope that once you have got used to it, you actually find the reading experience less 'dizzying', and that it is easier to absorb material.

!Show me round!

Have a quick look at the screen you are faced with.  There are three main bits - the ''Title bar'' at the top, the [[Sidebar]], and the main area, the [[Desktop]]. It is worth spending a little time to understand how these work if you plan to spend any time referring to tiddlymanuals.

!To the LEFT: the Sidebar
The [[Sidebar]] is the right hand border of your screen, it is there to help you [[Find your way around]], and //share useful material// that you find in the manual.  working down from the top, you will find:
*The [[SNAPSHOT]] helps you share content you've opened here with other people.
*The [[Search]] box - one of of the key ways to [[Find your way around]]
*The [[History recorder]] to track and revisit where you have been.
*The [[Currently Open]] list shows what pages (or "[[Tiddler]]s") you currently have open.
*The [[Contents/Sitemap]] lays out the content - click the [+] to show sub-topics.

!The [[Desktop]]
The [[Desktop]] is the main space on your screen - where you open [[Tiddler]]s, the 'pages' within this document.  It behaves in ways that are worth understanding.

!TOP: the Top Menu bar

The [[Top menu bar]] offers extra [[Menus]] for functions that are mostly for more advanced users, for instance if you want to [[Download a copy!]] or to [[Switch the "status" of tiddlers from Private to Public, or vice versa]]
There are a lot of interesting people using ~TiddlySpace that you might like to keep track of and interact with. There are a number of ways of doing this.

If you see a number in the speech bubble in one of your tiddlers, it means that someone is writing about the same thing as you. You can find out what they're saying by clicking on it. Likewise, if you see something interesting in someone else's space, you can respond to it and write up your own thoughts on the subject by clicking "Reply to this tiddler".

Additionally, if you find anyone interesting, or you find an interesting looking space and you'd like to know when it's changed, you can "follow" that space. To do this, simply create a tiddler with the title: {{{@space-name}}} and tag it {{{follow}}}. If you want, you can store some notes about that space in the body of the tiddler.

If you then want to know what happening, simply [[include|How do I include/exclude spaces?]]@docs the @tivity space and then visit your activity stream at [[/activity|/activity]], or just visit the @tapas space directly.

!Not sure who to follow?
Here's a few suggestions:
* @fnd
* @cdent
* @pmario
* @bengillies
* @dickon
A hyperlink is a link that you can click on which points your browser at another web page outside the manual itself - most browsers nowadays open hyperlinks in a separate window, or a separate "tab" on your browser.

To place a hyperlink in a [[Tiddler]] you are [[Edit]]ing just follow these directions:

The simplest way is just to copy the URL (the "address") of the page you want to hyperlink to from the address bar at the top of your browser, and paste it into your Tiddler!

To do it in a slightly fancier way (good if the URL is very long and doesn't really describe what the page is that it refers to) you can open double square brackets with the name or your own description of the page you are linking to, followed by a vertical line ( | ) and then paste in the URL, and close the double square brackets.  So in the [[Edit]] mode of the tiddler it would look like this:

@@{{{[[The website of the Royal College of Psychiatrists|http://www.rcpsych.ac.uk/]]}}}@@ 

Once you have clicked "done" it will look (and work) like this:

[[The website of the Royal College of Psychiatrists|http://www.rcpsych.ac.uk/]]
!If you already know about Manualization
If you know how to do [[Manualization]] (one of the [[Core Features of AMBIT]]), and just want to get on with it, go straight to [[+ Manualize our work]]!

!If you want to learn more about it:
See [[Learning about Manualization]]

>//"As an ~AMBIT-influenced team we want to [[+ Manualize our work]]; to build, develop and share our own local expertise in doing __//this//__ work, with __//these//__ clients, in __//these//__ streets."//

!What practical things do you need to get started:
In order to edit a local team's version of the manual ''you need:''

# Your own local team's __''locally-adaptable version of the manual.''__
## If you don't have one and are reading this in someone else's version, or in the ambit 'core content' version that is curated from the [[Anna Freud National Centre for Children and Families]], then you can find how to get one for yourself at the @tiddlymanuals signposting site.
## Or go direct to [[Install a local, adaptable, version of ambit for me|http://ambit-install.tiddlyspace.com]] to get started.
# __''To be a [[Registered|Register on TiddlySpace]] with TiddlySpace''__ (you will have a username and a password.)
# __''To be [[a Member|Making someone a member of a space]]''__ of your local team's manual.
# __To be [[Logged in|Log in]].__
#__''Your manual switched to [[Edit mode]]''__ (use the little panel, top right to select this option.)

!What to do next
* To start editing just go to [[+ Manualize our work]] 
* So long as you are logged on and have the correct permissions (see above) you will see a list of buttons, that will allow you to generate new content.
* NOTE: If you open the [[+ Manualize our work]] page //before// you have switched to the [[Edit]] mode, you won't see the editing buttons - sorry!  If so, just close the page, and then reopen it and you'll see the editing buttons!

!When to do [[Manualization]]?
* See [[How to do team manualization]] for more detail on this highly ''//interactive and team-based//'' aspect to AMBIT, using the TiddlyManual as the way to achieve this.  (Wiki-[[Manualization]] is one of the [[Core Features of AMBIT]].)
* Teams are expected to engage in regular bouts of [[Manualization]] of their practice - recording how they agree to try to manage the specifics of implementing this work in their local setting.  
* This does not need to take ADDITIONAL TIME, but rather should be done as part of ordinary team meetings, much as minute-taking might be a part of day to day practice. 

!How? Why? 
* There should be a SCRIBE and a CHAIR to facilitate discussion - it is best if these two roles are not taken by the same person.
* There are [[Manualization Boundaries]] to help clarify the rules - essentially, the team's version of the manual aspires to be representative of the working practices of that specific group of workers; recording material and practices that define their team culture, and which they would want a new worker joining the team to understand.  (//"The totem pole, or maypole, around which we dance"//)

!How to do editing
See [[Understanding TiddlyManual format]] and [[Using the Manual]], as well as specific instructions at [[Edit]] and the [[Video introduction to editing a tiddlymanual]].
!@@color(orange):Not currently functioning (February 2012)@@

This is a function that we would like to introduce in due course, but as at Spring 2012 we do not yet recommend it; further work is required to optimise the way downloads using the ambit "theme" behave and to guard against accidental re-uploads if patient-sensitive data has been added to a downloaded version of the manual.  (See also DataSecurity).

!Interactive Case Recording

This refers to the use of a downloaded version of your local AMBIT manual as a part of the clinical record - one which can act as a "thinking scratchpad", which can also export any notes you make within it to the formal medical record.  This occurs either by printing out the Client notes, or via data export in the form of a "csv" file (this is a particular kind of simple file that allows data to be filed away in the appropriate places within a larger database.)

!Why bother?

The advantage of using the manual for interactive case recording is that the worker is constantly placed very close to manualized material, and, because of the nature of the software, notes can be very easily integrated, sorted, searched, tagged etc... so that the information they contain is much more likely to be accessed in relation to salient concerns/facts.

!Trying it out

Go to [[Download a copy!]] and start by practising with a downloaded copy of the manual.  Teams need to make a formal decision to use the manual in this way, and this will include attention to the [[Rituals and Disciplines]] that govern [[DataSecurity]].

!The ICR tag

This tag collects the most interactive parts of the manual together, which may or may not be relevant for a team member.  Because this is an experimental technology using the manual in this is an 'optional extra' at this stage.  

!Technical bit...

It is expected that a personalised TiddlyManual would live "within" the secure access areas of digital records systems in the NHS (secure server, or even in the National 'digital spine'; it is just a single html file, after all - see DataSecurity) and so could integrate with these large 'top-down' I.T. systems and yet allow room for sensitive //local// attunements.  Planned developments will allow "one-click" transfer of client-specific data into digital recording systems, similar to the 'print out Client notes' facility that already exists.
/***
|''Name''|ImageMacroPlugin|
|''Version''|0.9.4|
|''Description''|Allows the rendering of svg images in a TiddlyWiki|
|''Author''|Osmosoft|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''Notes''|Currently only works in modern browsers (not IE)|
|''Requires''|BinaryTiddlersPlugin|
!Usage
{{{<<image SVG>>}}} will render the text of the tiddler with title SVG as an SVG image (but not in ie where it will fail silently)
!!Parameters
width/height: specify width/height parameters
link: make the image link to a given location
tiddlyLink: link to a tiddler

!Notes
Binary tiddlers in TiddlyWeb when passed through the wikifier will be shown as images.
eg. {{{<<view text wikified>>}}} on a binary tiddler will show the image.
{{{<<view fieldname image>>}}}
will render the value of the tiddler field 'fieldname' as an image. This field can contain a tid
{{{<<image SiteIcon>>}}}
will create an image tag where the tiddler has content type beginning image and not ending +xml
will attempt to create svg object in other scenarios
{{{<<image /photos/x.jpg>>}}}
will create an image tag with src /photos/x.jpg as long as there is not a tiddler called /photos/x.jpg in 
which case it will render that tiddler as an image. Note for the case of svg files it will attempt to render as an svg if possible via the image
tag. It doesn't embed the svg in the dom for security reasons as svg code can contain javascript.
!Code
***/
//{{{
(function($) {

var macro = config.macros.image = {
	shim: "/bags/common/tiddlers/shim",
	ieVersion: config.browser.isIE ? parseInt(config.browser.ieVersion[1], 10) : false,
	svgns: "http://www.w3.org/2000/svg",
	xlinkns: "http://www.w3.org/1999/xlink", 
	svgAvailable: document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"),
	_fixPrefix: 1,
	_external_cache: {},
	_image_tag_cache: {},
	_image_dimensions: {},
	locale: {
		badImage: "This image cannot be displayed."
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler){
		var imageSource = params[0];
		// collect named arguments
		var args = macro.getArguments(paramString, params);
		this.renderImage(place, imageSource, args);
	},
	init: function() {
		var startupImages = store.getTaggedTiddlers("systemImage");
		var place = $("<div />").attr("id", "systemImageArea").appendTo("body").hide()[0];
		for(var i = 0; i < startupImages.length; i++) {
			var image = startupImages[i];
			macro.renderImage(place, image.title, { idPrefix: "" });
		}
		var data = new Image();
		data.onload = function() {
			// note ie 8 only supports data uris up to 32k so cannot be relied on
			macro.supportsDataUris = this.width != 1 || this.height != 1 ? false : true;
			macro.supportsDataUris = macro.ieVersion && macro.ieVersion < 9 ? false : macro.supportsDataUris;
		};
		data.onerror = data.onload;
		data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
	},
	refreshImage: function(src) {
		var elements = macro._image_tag_cache[src] ? macro._image_tag_cache[src] : [];
		if(macro._image_dimensions[src]) {
			macro._image_dimensions[src] = false;
		}
		for(var i = 0; i < elements.length; i++) {
			var el = $(elements[i]);
			var newSrc = "%0?nocache=%1".format(src, Math.random());
			el.attr("src", newSrc); // force reload
		}
	},
	isBinaryImageType: function(contentType) {
		return (contentType && contentType.indexOf("image") === 0 &&
			contentType.indexOf("+xml") != contentType.length - 4) ? true : false;
	},
	isImageTiddler: function(tiddler) {
		return macro.isSVGTiddler(tiddler) || macro.isBinaryImageTiddler(tiddler);
	},
	isSVGTiddler: function(tiddler) {
		var type = tiddler ? tiddler.fields['server.content-type'] : false;
		return type == "image/svg+xml";
	},
	isBinaryImageTiddler: function(tiddler) {
		return macro.isBinaryImageType(tiddler.fields['server.content-type']);
	},
	renderImage: function(place, imageSource, options) {
		var imageTiddler = store.getTiddler(imageSource);
		var container;
		var classes = ["image"];
		if(options.link) {
			classes = classes.concat(["imageLink", "externalLink"]);
			container = $("<a />").attr("href", options.link).appendTo(place)[0];
		} else if(options.tiddlyLink) {
			classes.push("imageLink");
			container = createTiddlyLink(place, options.tiddlyLink, false);
		} else {
			container = $("<span />").appendTo(place)[0];
		}
		$(container).addClass(classes.join(" "));

		options = options ? options : {};
		if(imageTiddler && macro.isBinaryImageTiddler(imageTiddler)) { // handle the case where we have an image url
			return macro._renderBinaryImageTiddler(container, imageTiddler, options);
		} else if(imageTiddler){ // handle the case where we have a tiddler
			return macro._renderSVGTiddler(container, imageTiddler, options);
		} else { // we have a string representing a url
			return macro._renderBinaryImageUrl(container, imageSource, options);
		}
	},
	_renderAlternateText: function(container, options) {
		var img;
		var src = options.src || "";
		if(options.width && options.height) {
			img = $("<img />").attr("src", src).addClass("svgImageText").attr("width", options.width).
				attr("height", options.height).appendTo(container);
		}
		var alt = options.alt;
		if(img && alt) {
			img.attr("alt", alt).attr("title", alt);
		} else if(alt) {
			$(container).addClass("svgImageText").text(alt);
		}
		macro._image_tag_cache[src] = img;
	},
	_renderSVGTiddler: function(place, tiddler, options) {
		if(!options) {
			options = {};
		}
		merge(options, { tiddler: tiddler, fix: true});

		if(macro.svgAvailable) {
			this._importSVG(place, options); // display the svg
		} else if(options.altImage) {
			var image = options.altImage;
			delete options.altImage;
			this._renderBinaryImageUrl(place, image, options);
		} else {
			this._renderAlternateText(place, options); // instead of showing the image show the alternate text.
		}
	},
	_renderBinaryImageTiddler: function(place, tiddler, options) {
		var resourceURI;
		var fields = tiddler.fields;
		if(fields["server.type"] == "tiddlyweb") { // construct an accurate url for the resource
			resourceURI = "%0/%1/tiddlers/%2".format(config.defaultCustomFields["server.host"],
				fields["server.workspace"], encodeURI(fields["server.title"]));
		} else { // guess the url for the resource
			resourceURI = tiddler.title;
		}
		var ctype = fields["server.content-type"] || tiddler.type;
		var text = tiddler.text;
		if(macro.supportsDataUris && ctype && text.indexOf("<html") == -1) {
			var uri = "data:%0;base64,%1".format(ctype, text);
			options.src = resourceURI;
			return macro._renderBinaryImageUrl(place, uri, options);
		} else if(options.src) {
			return macro._renderBinaryImageUrl(place, options.src, options);
		} else {
			return macro._renderBinaryImageUrl(place, resourceURI, options);
		}
	},
	_renderImageTag: function(container, src, width, height, options) {
		var img;
		img = $("<img />").appendTo(container);
		if(height) {
			img.attr("height", height);
		}
		if(width) {
			img.attr("width", width);
		}
		if(macro.ieVersion && macro.ieVersion < 7 && macro.shim && options.ie6png) {
			$(img).css({width: userW, height: userH,
					filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='%0', sizingMethod='scale')".format(src)
				}).attr("src", macro.shim);
		} else {
			img.attr("src", src);
		}
		if(!macro._image_tag_cache[options.srcUrl]) {
			macro._image_tag_cache[options.srcUrl] = [];
		}
		img = $(img).addClass(options.imageClass)[0];
		macro._image_tag_cache[options.srcUrl].push(img);
		return img;
	},
	_getDimensions: function(realDimensions, reqDimensions, preserve) {
		var w = realDimensions.width;
		var h = realDimensions.height;
		var reqh = reqDimensions.height;
		var reqw = reqDimensions.width;
		var finalw = w, finalh = h;
		var ratiow = reqw / w, ratioh = reqh / h;
		var scaledw = ratioh * w;
		var scaledh = ratiow * h;
		if(!reqw && reqh) {
			finalw = scaledw;
			finalh = reqh;
		} else if(reqw && !reqh) {
			finalw = reqw;
			finalh = scaledh;
		} else if(reqh && reqw) {
			var preserveWidth = w > h ? true : false;
			if(preserve) {
				if(preserveWidth && scaledh < reqh) {
					finalh = scaledh;
					finalw = reqw;
				} else {
					finalh = reqh;
					finalw = scaledw;
				}
			} else {
				finalw = reqw;
				finalh = reqh;
			}
		}
		return { width: parseInt(finalw, 10), height: parseInt(finalh, 10) };
	},
	_renderBinaryImageUrl: function(container, src, options) {
		var srcUrl = options.src ? options.src : src;
		srcUrl = srcUrl.indexOf("/") === -1 ? "/%0".format(srcUrl) : srcUrl; // for IE. 
		var image_dimensions = macro._image_dimensions[srcUrl];
		var image = new Image(); // due to weird scaling issues where you use just a width or just a height
		var createImageTag = function(dimensions, error) {
			if(error) {
				var altImage = options.altImage;
				if(altImage) {
					delete options.altImage;
					macro._renderBinaryImageUrl(container, altImage, options);
				} else {
					options.src = src;
					macro._renderAlternateText(container, options);
				}
			} else {
				var dim = macro._getDimensions(dimensions, { 
					width: options.width, height: options.height }, options.preserveAspectRatio);
				options.srcUrl = srcUrl;
				macro._renderImageTag(container, src, dim.width, dim.height, options);
			}
		};

		if(!image_dimensions) {
			image.onload = function() {
				var dimensions = { width: image.width, height: image.height};
				macro._image_dimensions[srcUrl] = dimensions;
				createImageTag(dimensions);
			};
			image.onerror = function() {
				createImageTag(null, true);
			};
			image.src = src;
		} else {
			createImageTag(image_dimensions);
		}
	},
	_generateIdPrefix: function(){
		return "twsvgfix_" + (this._fixPrefix++).toString() + "_";
	},
	_fixSVG: function(childNodes, idPrefix) {
		var urlPattern = /url\(\#([^\)]*)\)*/ig;
		var fixes = [
		{ attr: "id", pattern: /^(.*)$/ig },
		{ attr: "href", namespace: macro.xlinkns, pattern: /^#(.*)$/ig }
		];
		var url_fixes = ["filter", "fill", "mask", "stroke", "style"];
		for(var i = 0; i < url_fixes.length; i++) {
			fixes.push({ attr: url_fixes[i], pattern: urlPattern });
		}
		for(var t = 0; t < childNodes.length; t++) {
			var node = childNodes[t];
			for(var a = 0; a < fixes.length; a++) {
				var fix = fixes[a];
				var attr = fix.attr;
				var ns = fix.namespace || "";
				if(node.hasAttributeNS && node.hasAttributeNS(ns, attr)) {
					var v = node.getAttributeNS(ns, attr);
					fix.pattern.lastIndex = 0;
					var match = fix.pattern.exec(v);
					if(match) {
						// Make sure replacement string doesn't contain any single dollar signs
						var toReplace = match[1];
						if(toReplace.indexOf(idPrefix) !== 0 && toReplace.indexOf("twglobal_") !== 0) {
							var replacement = (idPrefix + toReplace).replace("$", "$$$$"); 
							v = v.replace(match[1], replacement);
						}
						node.setAttributeNS(ns, attr,v);
					}
				}
			}
			var children = node.childNodes;
			if(children.length > 0) {
				this._fixSVG(children, idPrefix);
			}
		}
	},
	_importSVG: function(place, options){
		options = options ? options : {};
		var svgDoc, tiddlerText = options.tiddler.text;
		if (window.DOMParser) {
			svgDoc = new DOMParser().parseFromString(tiddlerText, "application/xml").documentElement;
			var idPrefix = options.idPrefix || this._generateIdPrefix();
			this._fixSVG([svgDoc], idPrefix);
			var el = document.importNode(svgDoc, true);
			var svgHolder = document.createElementNS(macro.svgns,"svg");
			var width = options.width;
			var height = options.height;
			if(width || height) {
				if(width && height) { // set view box of containing svg element based on the svg viewbox and width and height.
					var viewBox = el.getAttribute("viewBox");
					var topLeft = "0 0";
					if(viewBox) {
						topLeft = viewBox.replace(/([0-9]*) +([0-9]*) +([0-9]*) +([0-9]*) */gi,"$1 $2");
					}
					svgHolder.setAttributeNS(macro.svgns, "viewBox", "0 0 %0 %1".format(width, height));
				} else {
					if(!width) {
						width = el.getAttribute("width");
					}
					if(!height) {
						height = el.getAttribute("height");
					}
				}
				svgHolder.setAttribute("width", width);
				svgHolder.setAttribute("height", height);

				el.setAttribute("width", "100%");
				el.setAttribute("height", "100%");
				svgHolder.setAttribute("class", "svgImage svgIcon %0".format(options.imageClass || ""));
				svgHolder.appendChild(el);
				place.appendChild(svgHolder);
			}
			else {
				var existing = el.className ? el.className.baseVal : "";
				el.setAttribute("class","svgImage %0".format(existing));
				place.appendChild(el);
			}
			// if a tiddler attribute is set this is read as a link
			$("[tiddler], [tiddlyLink]", place).attr("refresh", "link").click(function(ev) {
				var tiddler = $(ev.target).attr("tiddlyLink");
				if(tiddler) {
					story.displayTiddler(ev.target, tiddler);
				}
			});
		}
	},
	getArguments: function(paramString, params) {
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = {};
		for(var id in args) {
			if(true) {
				var p = args[id];
				if(id == "def") {
					options[id] = p;
				} else {
					options[id] = p[0];
				}
			}
		}
		var width = isNaN(params[1]) ? false : parseInt(params[1], 10);
		var height = isNaN(params[2]) ? false : parseInt(params[2], 10);

		options.width = macro.lookupArgument(options, "width", width);
		options.height = macro.lookupArgument(options, "height", height);
		options.preserveAspectRatio = args.preserveAspectRatio && 
			args.preserveAspectRatio[0] == "yes" ? true : false;
		options.tiddlyLink = macro.lookupArgument(options, "tiddlyLink", false);
		options.link = macro.lookupArgument(options, "link", false);
		return options;
	},
	lookupArgument: function(args, id, ifEmpty) {
		return args[id] ? args[id] : ifEmpty;
	}
};

// update views
var _oldwikifiedview = config.macros.view.views.wikified;
// update wikifier to check tiddler type before rendering
merge(config.macros.view.views, {
	wikified: function(value, place, params, wikifier, paramString, tiddler) {
		if(macro.isImageTiddler(tiddler) && params[0] == "text") {
			var newplace = $("<div />").addClass("wikifiedImage").appendTo(place)[0];
			macro.renderImage(newplace, tiddler.title, { alt: macro.locale.badImage });
		} else {
			_oldwikifiedview.apply(this, arguments);
		}
	},
	image: function(value, place, params, wikifier, paramString, tiddler) {
		// a field can point to another tiddler whereas text is the current tiddler.
		var title = params[0] == "text" ? tiddler.title : value;
		var args = macro.getArguments(paramString, params);
		macro.renderImage(place, title, args);
	}
});
config.shadowTiddlers.StyleSheetImageMacro = [".wikifiedImage svg, .wikifiedImage .image { width: 80%; }",
	".svgImageText { background-color:[[ColorPalette::Error]]; color:#ddd; display: inline-block; }",
	"span.svgImageText { display: inline-block; overflow: hidden; }"
].join("");
store.addNotification("StyleSheetImageMacro", refreshStyles);

})(jQuery);
//}}}
/***
|Name|ImageMapPlugin|
|Source|http://www.TiddlyTools.com/#ImageMapPlugin|
|Documentation|http://www.TiddlyTools.com/#ImageMapPluginInfo|
|Version|1.2.2|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|apply image maps ('hotspots') with links to tiddlers|
!!!!!Documentation
>see [[ImageMapPluginInfo]]
!!!!!Revisions
<<<
2009.05.27 [1.2.2] improved autoscroll for {{{<<mapMaker>>}}} textarea
2009.05.14 [1.2.1] added cursor changes
see [[ImageMapPluginInfo]] for additional revision details
2009.05.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ImageMapPlugin= {major: 1, minor: 2, revision: 2, date: new Date(2009,5,27)};
//}}}
//{{{
config.macros.imageMap = {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		// image element must immediately precede macro
		var img=place.lastChild; if (!img||img.nodeName!='IMG') return;
		var map=params[0]; var items=store.getTiddlerText(map,'').split('\n----\n'); if (!items) return;
		var out=['<MAP NAME="'+map+'">'];
		var fmt='<AREA SHAPE="POLY" TIDDLER="%0" COORDS="%1" TITLE="%2" ALT="%2" ONCLICK="%3" STYLE="%4">';
		var click="story.displayTiddler(story.findContainingTiddler(this),this.getAttribute('tiddler'));";
		var style='cursor:pointer';
		for (var i=0; i<items.length; i++) {
			var lines=items[i].split('\n'); var tid=lines.shift(); var coords=lines.join('');
			var tip=store.tiddlerExists(tid)?store.getTiddler(tid).getSubtitle():tid;
			out.push(fmt.format([tid,coords,tip,click,style]));
		}
		out.push('</MAP>');
		createTiddlyElement(place,'span').innerHTML=out.join('');
		img.setAttribute('isMap',true);
		img.setAttribute('useMap','#'+map);
		img.style.border=0;
	}
}
//}}}
//{{{
config.macros.mapMaker= {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var img=place.lastChild; // image element must immediately precede macro
		if (!img||img.nodeName!='IMG') return;
		img.onmousemove=function(ev){ ev=ev||window.event;
			var mX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var mY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			var vals=lines[last].split(','); vals.pop(); vals.pop(); lines[last]=vals.join(',');
			lines[last]+=(lines[last].length?',':'')+(mX-findPosX(this))+','+(mY-findPosY(this));
			ta.value=lines.join('\n');
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
			ta.focus();
		};
		img.onmouseout=function(ev){ ev=ev||window.event;
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			var vals=lines[last].split(','); vals.pop(); vals.pop(); lines[last]=vals.join(',');
			ta.value=lines.join('\n');
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
		};
		img.onmouseover=img.onclick=function(ev) { ev=ev||window.event;
			var mX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
			var mY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
			var ta=this.nextSibling.getElementsByTagName('textarea')[0];
			ta.value+=(ta.value.length?',':'')+(mX-findPosX(this))+','+(mY-findPosY(this));
			var lines=ta.value.split('\n'); var last=lines.length?lines.length-1:0;
			ta.scrollTop=ta.scrollHeight-ta.offsetHeight+this.emH*2;
			ta.scrollLeft=lines[last].length*this.emW-ta.offsetWidth;
			ta.focus();
		}
		img.style.border='1px solid #999';
		img.style.cursor='crosshair';
		var map=params[0]||'';
		var s=createTiddlyElement(place,'div');
		s.style.height=s.style.width='1em';
		img.emW=s.offsetWidth; img.emH=s.offsetHeight; // get font metrics (for auto scrolling)
		s.style.height=s.style.width='';
		s.innerHTML+='<div class="toolbar">'
			+'<a href="javascript:;" '
			+'onclick="config.macros.mapMaker.load(this.parentNode.nextSibling)">load map</a>'
			+'<a href="javascript:;" '
			+'onclick="config.macros.mapMaker.save(this.parentNode.nextSibling)">save map</a>'
			+'</div>'
			+'<textarea rows="8" style="display:block;clear:both;width:100%;" tiddler="'+map+'">'
			+store.getTiddlerText(map,'')
			+'</textarea>';
	},
	load: function(ta) {
		var tid=prompt('Enter a tiddler title:',ta.getAttribute('tiddler')||'');
		if (!tid||!tid.length) return; // cancelled by user
		ta.value=store.getTiddlerText(tid,''); ta.setAttribute('tiddler',tid);
		return false;
	},
	save: function(ta) {
		var tid=prompt('Enter a tiddler title:',ta.getAttribute('tiddler')||'NewImageMap');
		while (tid && tid.length && store.tiddlerExists(tid)) {
			if(confirm(config.messages.overwriteWarning.format([tid]))) break;
			var tid=prompt('Enter a different tiddler title:',tid);
		}
		if (!tid||!tid.length) return; // cancelled by user
		store.saveTiddler(tid,tid,ta.value,config.options.txtUserName,new Date(),['imageMap'],{});
		story.displayTiddler(null,tid);
		displayMessage('image map saved to: '+tid);
		ta.setAttribute('tiddler',tid);
		return false;
	}
}
//}}}
/***
|Name|ImageMapPluginInfo|
|Source|http://www.TiddlyTools.com/#ImageMapPlugin|
|Documentation|http://www.TiddlyTools.com/#ImageMapPluginInfo|
|Version|1.2.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Description|documentation for ImageMapPlugin|
!!!Usage
<<<
{{{
[img[...]]<<imageMap MapName>>
}}}
applies an image map to the embedded image immediately preceding the macro.   ''~MapName'' is the title of a tiddler (or a tiddler section) that contains an ''~HR-separated list'' of items, where the first line of each item is the ''tiddler to link to'' and the second line is a ''list of polygon coordinates'' using standard HTML <AREA COORDS="..."> syntax (e.g., a ''comma-separated series of X,Y pairs'': "x1,y1,x2,y2,x3,y3,...", that trace out the desired shape).
{{{
[img[...]]<<mapMaker MapName>>
}}}
adds interactive point-and-click calculation of X,Y map coordinates that are automatically entered into a text input field that you can then edit and save to a tiddler to create an ~HR-separated map definition.
<<<
!!!imageMap Example
<<<
{{{
[img[images/california.gif]]<<imageMap ImageMapPluginInfo##county_map>>
}}}
~~//(click a county to open a tiddler)//~~
[img[images/california.gif]]<<imageMap ImageMapPluginInfo##county_map>>
<<<
!!!mapMaker example
<<<
{{{
[img[images/california.gif]]<<mapMaker ImageMapPluginInfo##county_map>>
}}}
~~//(click anywhere inside image to record x,y coordinates)//~~
[img[images/california.gif]]<<mapMaker ImageMapPluginInfo##county_map>>
<<<
!!!Revisions
<<<
2009.05.14 1.2.1 added cursor changes
2009.05.13 1.2.0 add MAP/AREA elements using innerHTML
2009.05.12 1.1.1 fixed mapMaker event handling for IE
2009.05.10 1.1.0 added {{{<<mapMaker>>}}}
2009.05.10 1.0.1 open tiddlers following current tiddler instead of at top of story column
2009.05.09 1.0.0 initial release
<<<
!!!Sample Map
<<<
{{{
!county_map
San Francisco
50,231,51,225,54,222,55,226,55,231,50,231,50,231
----
San Mateo
59,252,60,242,58,239,55,238,54,232,49,233,50,240,50,244,50,249,54,253,59,252,59,252
----
Santa Clara
94,242,90,244,80,243,75,242,66,243,60,243,58,251,63,255,70,258,75,270,79,268,95,268,97,260,97,254,94,254,93,252,97,250,94,248,95,246,94,242,94,242
----
Alameda
94,223,95,242,90,243,80,242,75,241,65,242,66,235,63,225,70,224,80,226,94,221,94,224,95,225,95,231,94,223,94,223
----
Contra Costa
97,213,97,221,83,226,69,224,63,224,62,220,67,214,73,217,79,214,98,214,96,214,97,213,97,213
----
Santa Cruz
53,254,59,251,63,255,70,258,75,268,73,273,68,273,67,266,53,254,53,254
----
San Benito
117,292,116,302,114,304,110,302,111,307,104,304,101,306,91,292,91,288,87,288,87,285,73,273,75,271,78,269,96,270,116,292,117,292,117,292
----
Monterey
128,325,86,325,83,319,83,313,78,309,78,305,64,286,64,283,67,282,67,273,73,273,87,284,86,288,90,287,91,292,101,305,104,303,110,306,113,303,126,318,128,325,128,325
----
Fresno
123,266,133,278,149,271,164,269,170,261,176,261,176,257,181,258,182,254,190,252,194,245,203,237,211,243,213,248,211,253,218,267,221,276,215,276,214,278,195,278,195,282,179,282,177,285,166,285,162,289,154,291,152,294,146,294,146,302,126,318,116,304,118,302,116,299,117,290,106,278,123,265,123,266,123,266
----
Merced
114,249,117,245,142,238,145,245,148,249,153,251,152,256,143,256,136,258,130,262,125,263,106,278,96,269,97,261,99,255,113,250,114,249,114,249
----
Madera
167,243,173,243,174,239,178,238,179,234,192,227,194,228,193,235,198,232,203,236,192,245,188,252,180,254,180,258,172,257,175,261,168,260,163,269,146,270,132,278,122,266,124,263,130,262,135,258,142,256,151,256,152,252,167,243,167,243
----
Kings
162,324,161,303,164,302,164,295,162,294,162,289,153,291,151,295,146,295,146,303,128,318,128,325,161,324,162,324,162,324
----
Tulare
232,324,233,316,234,314,229,310,229,303,228,299,230,296,219,276,213,276,212,279,193,278,193,282,177,282,176,286,164,285,161,289,163,295,164,303,160,304,161,325,232,324,232,324
----
Mono
183,182,183,188,185,194,181,200,181,209,185,211,185,213,191,218,191,224,196,227,194,235,198,233,203,236,211,243,243,243,183,182,183,182
----
Inyo
241,243,320,324,233,324,233,317,235,314,229,310,229,303,228,299,231,295,220,276,217,267,211,253,213,247,211,242,242,244,241,243,241,243
----
San Luis Obispo
111,348,97,340,86,325,127,325,129,332,139,341,144,343,145,346,150,348,156,354,156,358,159,360,161,368,157,371,153,364,136,358,133,354,131,360,126,362,126,366,120,363,112,364,111,356,106,353,112,348,111,348,111,348
----
Santa Barbara
121,387,117,383,111,381,111,365,121,362,127,367,125,362,132,360,135,353,137,359,154,365,157,372,161,368,164,372,163,394,143,390,126,384,121,387,121,387
----
Ventura
186,402,175,401,163,395,163,372,166,369,172,371,177,376,186,376,193,397,186,402,186,402
----
Los Angeles
205,409,184,402,193,397,186,376,234,376,236,388,238,408,232,416,222,420,217,424,211,420,205,409,205,409
----
Kern
240,325,128,325,130,334,139,342,150,348,159,359,162,370,167,368,176,377,235,375,237,374,239,343,241,341,241,325,240,325,240,325
----
San Bernardino
392,401,320,324,240,325,241,342,238,345,236,374,234,377,237,407,256,422,264,413,290,414,303,417,386,414,390,409,392,401,392,401
----
Riverside
379,441,388,429,387,412,303,417,289,414,263,413,255,421,260,424,260,428,265,428,265,436,271,438,275,443,352,444,379,442,379,441,379,441
----
Orange
258,441,221,421,232,415,237,407,255,421,259,424,260,428,266,428,265,438,258,443,258,441,258,441
----
San Diego
322,482,284,484,280,475,276,464,270,451,258,440,264,437,272,438,275,443,283,445,321,444,321,483,322,482,322,482
----
Imperial
378,480,321,482,322,445,378,443,382,451,378,461,383,468,382,475,378,480,378,480
----
Stanislaus
113,229,95,240,98,257,113,249,118,244,141,237,132,228,127,214,124,230,112,229,113,229,113,229
----
Mariposa
168,228,154,225,151,228,148,227,147,231,144,231,145,236,141,237,143,245,151,254,165,242,172,243,172,238,177,238,177,234,191,227,194,226,189,224,184,221,181,223,178,220,169,229,157,226,153,226,151,229,152,229,168,228,168,228
----
Alpine
173,172,172,176,164,180,164,192,179,201,185,194,183,181,173,173,173,172,173,172
----
Calaveras
125,203,127,214,132,223,144,220,165,195,163,191,158,194,150,194,135,203,125,203,125,203
----
San Joaquin
108,205,97,213,97,222,94,225,95,240,113,229,124,229,127,215,125,203,120,206,107,206,108,205,108,205
----
Amador
125,189,126,194,125,203,135,203,150,194,158,194,163,191,164,179,154,186,142,189,124,189,125,189,125,189
----
Sacramento
83,212,96,213,107,205,118,205,124,203,125,195,123,188,120,180,104,180,106,189,103,197,102,203,94,206,93,210,79,212,83,212,83,212
----
Yolo
102,174,98,174,97,170,92,165,68,164,74,178,79,181,81,189,91,190,93,187,97,187,99,197,104,197,106,189,104,180,102,174,102,174
----
Solano
79,197,72,204,73,209,82,211,94,210,95,205,103,203,104,196,98,196,97,186,91,187,90,190,80,189,78,193,79,197,79,197
----
Napa
58,177,59,183,65,192,65,205,71,204,79,197,77,192,80,188,78,181,73,178,67,164,64,166,64,173,58,177,58,177
----
Sonoma
24,168,48,165,56,175,57,182,64,192,64,203,45,198,43,191,32,180,31,176,23,168,24,168,24,168
----
Marin
44,210,50,212,52,216,57,218,60,217,59,212,62,210,64,203,46,199,43,209,44,210,44,210
----
Tuolumne
165,195,144,219,131,223,132,227,142,237,146,236,145,230,149,230,149,226,154,228,155,225,169,228,178,220,182,222,185,221,190,225,190,218,185,213,185,210,180,209,180,200,165,193,164,196,165,195,165,195
----
Mendocino
10,107,16,116,16,126,15,132,20,151,21,161,24,169,50,165,43,158,46,155,46,150,43,145,45,137,53,132,53,114,56,109,11,108,10,107,10,107
----
Humboldt
21,38,17,50,19,59,12,70,9,70,1,85,2,92,10,107,31,108,33,73,32,65,39,65,39,59,45,53,43,51,44,42,33,43,30,37,21,37,21,38,21,38
----
Del Norte
24,14,19,24,20,37,29,37,32,43,37,42,38,37,35,34,42,31,43,21,50,15,24,14,24,14
----
Siskiyou
130,19,51,15,44,21,43,31,36,33,39,37,38,43,43,42,42,50,45,53,54,57,55,61,59,61,59,65,64,61,69,63,67,54,71,52,76,54,80,48,90,46,90,55,131,57,132,31,129,30,130,19,130,19
----
Modoc
183,22,130,19,131,57,179,60,182,22,183,22,183,22
----
Trinity
56,98,57,102,55,105,55,109,31,108,33,72,31,65,39,65,40,58,44,52,54,57,55,61,58,61,58,65,65,61,69,63,67,53,71,52,76,55,79,47,90,46,90,55,90,59,75,70,70,84,56,98,56,98
----
Shasta
124,95,120,96,115,94,111,96,94,96,83,97,78,95,71,98,67,96,57,98,69,84,74,70,90,59,89,54,131,57,132,93,124,95,124,95
----
Tehama
130,105,125,110,109,116,104,122,93,122,93,124,53,122,53,114,57,108,55,106,56,101,56,97,65,96,71,98,77,95,84,98,94,97,112,96,116,94,120,96,123,95,126,98,126,101,130,105,130,105
----
Lake
64,150,67,162,64,167,64,173,58,178,50,164,42,159,46,154,46,149,43,145,45,137,52,133,55,131,61,132,61,141,55,141,54,143,57,149,63,151,64,151,64,150,64,150
----
Colusa
95,143,92,149,92,156,94,164,67,163,64,151,57,149,53,143,56,141,83,142,84,140,87,141,89,143,95,143,95,143
----
Glenn
99,131,97,133,97,137,101,139,96,143,89,143,86,141,82,140,82,142,60,142,61,132,55,131,53,123,92,123,99,131,99,131
----
Sutter
113,166,111,170,111,179,103,180,102,174,97,173,97,169,93,164,92,156,91,149,108,151,108,157,113,166,113,166
----
Butte
120,143,115,144,115,146,107,151,91,149,95,143,101,139,96,137,96,132,99,131,92,123,102,122,109,116,125,109,128,117,126,124,130,128,132,135,126,140,121,138,120,143,120,143
----
El Dorado
170,160,163,160,157,164,149,164,148,167,131,166,122,177,126,188,143,188,155,185,162,180,172,176,173,172,170,169,170,160,170,160
----
Placer
171,152,146,151,138,158,135,158,129,163,121,161,113,165,111,170,111,179,120,179,122,177,131,166,146,168,150,164,157,164,163,161,171,160,171,153,171,152,171,152
----
Yuba
135,145,131,145,129,148,124,150,122,159,113,166,108,157,108,151,115,146,115,143,122,143,120,139,127,140,133,135,135,134,135,145,135,145
----
Nevada
172,143,150,142,146,139,136,144,131,144,129,148,124,150,122,161,130,164,136,157,138,158,146,151,170,152,171,143,171,144,172,143,172,143
----
Sierra
172,131,145,130,139,126,134,134,134,145,145,139,150,143,172,144,173,131,172,131,172,131
----
Plumas
141,94,124,94,126,102,130,105,125,110,128,117,126,124,130,129,132,134,140,126,145,130,168,131,171,124,169,117,154,102,149,103,148,106,141,102,141,93,141,94,141,94
----
Lassen
177,93,174,130,167,131,170,124,169,115,153,101,148,104,148,106,141,103,141,93,132,93,131,59,179,60,176,94,177,93,177,93
!end county_map
}}}
<<<
***/
 
This is for advanced users only.

!!!If you want to include a separate space in your space:
*Ensure you are [[logged in|Log in]]
*You can only include a separate space into one that you are a [[member|Making someone a member of a space]] of. 
*Go to the [[Space menu]]
*Select the tab ''"Includes"''
*Write the name of the space that you want to //include// in the textbox there:
**You need to stick to lower case text
**preface the name of the space with an @ sign (so for instance {{{@ambit}}})
*click the button ''"Include space"'' - the wiki will need to reload (refresh) for the new space to appear.
!!!If you want to remove a previously included space
*You will see the list of included spaces (usually these are just 'systems' spaces, to make the wiki behave in predictable ways, so beware un-including these!) - click the red X beside the space you want to remove.  Done.
!!About the Index
Learn [[About the Index]]
!!As well as the Index...
There is a [[Glossary]] of technical terms that we use, and because all the pages have [[Links]] (or "references") to one another, we can list out the 30 ''most-referenced pages'' here (the bigger the page title, the more references to it).  Click on any of the page titles to see a drop-down list of all the references to it in the manual:
|bgcolor(lightblue): <<cloud references action:popup limit:30>> |
!Now here's the Index:
Pages listed as "Public" are the ones YOUR TEAM has authored in ''this local version'' of the manual
<<tabs
	txtMainTab
	"Recent" "Recently edited tiddlers" TabTimeline
	"All" "All tiddlers" TabAll
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
	"Tags" "All tags" TabTags
	"Spaces" "Tiddlers grouped by space" [[TiddlySpaceTabs##Spaces]]
	"Missing" "Missing tiddlers" TabMoreMissing
	"Orphans" "Orphaned tiddlers" TabMoreOrphans
	"Shadows" "Shadowed tiddlers" TabMoreShadowed
>>
!Welcome to the AIM - Instructions
Welcome to the AMBIT AIM (Adolescent Integrative Measure), which is a [[Licensed|AIM Creative Commons Licence]] resource, freely available for general use subject to the terms of its Creative Commons License.  [stuff on Authors, etc, here]

!How to use this:
Instructions for completing the assessment are included at the top of the [[AIM Form]]. Once you have completed the [[AIM Form]] you can [[Export data from the AIM]] so that it can easily be pasted into a local database.
 
!@@color(red):Confidentiality:@@
Please note that filling in an AIM questionnaire @@color(red):WILL NOT SAVE ANY DETAILS ABOUT YOUR CLIENT ONLINE@@ - all of the data that you input is only //ever// held on your local computer - this is because of the way that the software that this runs on ([[Tiddlywiki|www.tiddlywiki.com]]) works.

!Additional functions:
*''__Exporting data__'' - Using the AIM in the:{{{http://ambit-aim.tiddlyspace.com}}} space will give you scores that can be [[exported|Export data from the AIM]] to your local database.

*''__Ranking suggested interventions:__'' You will also see a link to generate a list of [[AIM suggested interventions]], but this will ''not'' generate any suggestions //''unless you are viewing the AIM when it is included as part of a __treatment manual__''//.  
**Because of the way that TiddlySpace works, the whole AIM questionnaire can very easily be [[included]] within another 'space' (or wiki); 
**indeed, it is //designed to be included// as part of wiki-based TREATMENT MANUALS (see @tiddlymanuals  or {{{www.tiddlymanuals.com}}}) such as the @ambit manual, or its local adaptations. 
**If you visit, say, the @ambit manual, you will find this same AIM questionnaire embedded within a rich mentalization-based framework for managing high risk, multi-problem, complex youth.  
**In these treatment manual(s), the individual items in the AIM are each '[[tagged|Tags]]' with what the AMBIT project's authorial team has considered to be the best evidence-based approach(es) to work in that specific problem area.  
**Clicking on [[AIM suggested interventions]] ''in a tiddlymanual'' once you have completed an AIM ''will generate ranked lists of these suggested interventions, as direct links to manualized content''.
**These ranked lists are not "therapy by numbers" - they can be sorted in different ways, for instance according to whether you want to address the MOST SEVERE PROBLEMS as a priority, or focus on the intervention(s) that are the MOST FREQUENTLY INDICATED across the range of difficulties that you have just mapped out.  You can limit your suggestions to just those problems identified as "Key Problems".  The idea is to offer a more or less objective prompt for the practitioner along the lines of ''"Are you offering the interventions that this set of problems requires, or your //favourite ones//?"''

!!Developing new evidence and new treatments
Because @tiddlymanuals are designed to be flexible, and adaptable to different settings and to the developing evidence base, new treatments (or adaptations of the core AMBIT content) are invited to include the {{{@ambit-AIM}}} space, and to edit the tags on individual AIM items, to suit the range of treatments that they are offering.
When you select "Jump" in the [[menu|Menus]] for a tiddler, a drop down list will appear - of all of the //other tiddlers// that you currently have open on your desktop.  Selecting one of these titles will immediately jump you to that tiddler.

A Link is what has opened this new [[Tiddler]] from within the last one; Links take the form of HighlightedWords, and anyone familiar with the internet will know what they are.  A single click on the word opens the linked Tiddler ( think of it as a 'page' or 'note').

In general a Link denotes an immediate and specific association between material in one Tiddler and material in the other one, whereas [[Tags]] denote thematic connections under which a whole range of sub-topics may sit (think of Tags as chapter-headings, and Links as footnotes, if you like.)

You can check which other Tiddlers have Links to the one you are reading by clicking on the [[References]] section of the individual Tiddler menu (see the additional or related information section.)
!More about links
There is a bit more detail on making links and cleverer ways of making links at [[Links and Shortcuts to making them]]
* A WikiWord (with a capital in the middle of it) is automatically transformed into a [[Link|Links]] to a tiddler with the same title.  
** We used these quite a lot in the early stages of writing content, but it makes for an odd reading experience (words apparently jammed together) so we are slowly removing them and using ordinary language links...
** this automatic transformation can be //suppressed// by preceding the respective WikiWord with a "tilde" (i.e. one of these: ~ ): so if I type the letters: {{{~WikiWord}}} ...then it WON'T become an automatic link in the page (look: ~WikiWord.)
* [[Pretty Links]] that can include spaces and look like "ordinary" text are just ''text that is enclosed in double square brackets'' which contain the desired tiddler name
**e.g.: {{{[[Pretty Links]]}}}
** That makes a link to [[Pretty Links]]...
* Optionally, a custom title or description can be added, separated by a "pipe character" ( the vertical line - {{{|}}})): {{{[[page title that shows in the text|target page that opens when you click]]}}}<br>'''N.B.:''' In this case, the target can also be any website (i.e. URL) - i.e. you can make an external link to the tiddlymanuals site like [[this|http://www.tiddlymanuals.com]] by using this code: {{{[[this|http://www.tiddlymanuals.com]]}}}.
!What's here?
|bgcolor(lightgray):''1.'' NEW local content sorted by TOPICS |
|bgcolor(lightgray):''2.'' ALL local material (including pre-existing pages that have been edited locally) listed alphabetically |
|bgcolor(lightgray):''3.'' Notes on how to edit this page |
!!!1. New local content sorted by topics
Below (for AMBIT services using these manuals - others will want to edit this) is a colour-coded list of some of the main topic headings under which your team "files" its new entries if you work from the [[+ Manualize our work]] page. 
<<image [[AMBIT wheel 2014_SMALL]] width:350 height:300>> Of course there are already pre-existing pages [[tagged|Tags]] with these topic headings, but this still makes it easier to find a page you have previously authored. At the bottom of this page you can find instructions if you want to change the topic headings to suit you needs better.
|bgcolor(pink):<<tag [[Manage RISK]]>> Notes on how we do ''RISK management'' |
|bgcolor(pink):<<tag [[Manage CLIENT RELATIONSHIP]]>> Notes on how we ''manage relationships with clients'' |
|bgcolor(pink):<<tag [[Manage CLINICAL PROBLEM]]>> Notes on how we do ''"field-work" with our clients'' |
|bgcolor(lightgreen):<<tag [[Manage NETWORK PROBLEM]]>> Notes on how we ''work effectively with the network'' |
|bgcolor(lightgreen):<<tag [[Our Resources]]>> Log of ''local resources'' available (sports centres, agencies...) |
|bgcolor(yellow):<<tag [[OUR LOCAL Teamwork and Governance]]>> Notes on ''"How this Team conducts itself"'' |
|bgcolor(yellow):<<tag [[SUSTAIN best practice]]>> Notes on how we ''maintain quality in our work'' |
|bgcolor(yellow):<<tag [[Local AMBIT training session plans]]>> Notes about local training/practice sessions |
|bgcolor(lightblue):<<tag [[Local Manualization Homework Tasks]]>> A ''"To Do list"'' of material we want to manualize |
|bgcolor(lightblue):<<tag [[Supervision Notes]]>> Notes on ''key learning points from team supervision sessions'' |
|bgcolor(lightblue):<<tag [[Local Protocols]]>> Lists all topics defining local best practice. |
!!!2. List ALL local edits, alphabetically
Listed below are all the local Edits that YOUR team has made so far.  @@color(green):Note that local edits may be ''__PUBLIC__'' (visible to all) or ''__PRIVATE__'' (only visible if you are MEMBER of the space, and are logged in).  If you have editing rights (are a [[member|Making someone a member of a space]] of this [[Space|Spaces]]), then it is easy to [[Switch the "status" of tiddlers from Private to Public, or vice versa]].  We advise that teams just publish publicly ("private" is just "out of sight" and NOT encrypted.) You can toggle between the lists of PUBLIC and PRIVATE pages by clicking on the two tabs below.@@
<<tabs
	txtMainTab
	"Public" "All public tiddlers" [[TiddlySpaceTabs##Public]]
	"Private" "All private tiddlers" [[TiddlySpaceTabs##Private]]
>>
!!!3. How to edit the content on this page
If you open his page to [[Edit]] it, it does look rather "scary" - don't panic!
* If it all goes wrong, just DELETE your version of this page, and our original one will pop back in its place once you "refresh" the whole manual - you can't break it!
* Don't fiddle with no. ''2. List ALL local edits, alphabetically'' unless you are very clever with coding!
* You can add/delete the topic headings ([[Tags]]) that you want in section ''1. New local content sorted by topics'' quite easily.
** To create a clickable button that generates a "drop down list" of all the pages that are [[Sub-topic]]s of a Particular page (let's call it ''Title of Topic'' - you will have [[tagged|Tags]] all the subtopics with this code: ''{{{[[Title of Topic]]}}}'')  ...you use a simple bit of code:
|bgcolor(pink): <br>''{{{<<tag [[Title of Topic]]>>}}}''<br> |
** Once you finish editing, you will see you have created a new drop down list button!
** ''The other stuff you see'' (stuff like ''|bgcolor(pink):'' and an upright stroke | at the end of the line) is just layout code, to make the pretty pink boxes - //just copy the way this is done in the existing table, but replace the button code as described above.
If you are part of a team that has its own TeamTemplate online (for instance as part of the AMBIT project run from the [[Anna Freud Centre|http://www.annafreud.org/]]), and are [[authorised|Making someone a member of a space]] to make edits to your local version of the manual, then you will have a username and password for TiddlySpace, which allows you to log in and make [[Edit]]s to your online version.

To get a username and password you need to [[Register on TiddlySpace]]

!Logging in

To log on go to the [[Mode and Login panel]], add your user name and password, and click log in
The whole manual will "reload" when you log in.

Once you have logged in, you can access the [[Edit mode]] and [[Advanced mode]] via the [[Mode and Login panel]].
[[GettingStarted]]
[[AIM Form]]
This is for advanced users and is not required for day to day use of [[TiddlyManual]]s.

It involves starting an an entirely separate wiki - that you can use for lots of different things (see @dickon for an example) but which are separate from //this// wiki!

*Ensure you are [[Logged in|Log in]] as a user.
*Go to your [[User menu]]
*You will see a button saying ''"Create Space"'' and a box above to give your new space a name.  If the name you choose is already taken then you'll need to choose a new one!

*If you want to work on the current space that you have opened //with someone else//, but you //don't want to make them a member// (which would give them completely equal rights over the content with you) then check the box that says ''"Include the current space in the new space"'' - this will make a new space that [[includes|Including spaces]] the original - you can then make your colleague a member of that space and while your original material remains untouched, the two of you can hack away at the new version to your heart's content.
All [[Web browser]]s allow you to set the homepage - that is the page(s) that open when you first open your browser.  Below we show you how to set which page(s) your browser will automatically open on starting up.
!!!Getting round the corporate homepage
If you are in a corporate system (eg most NHS Trusts, or most organisations, full stop!) it is not uncommon that your web browser will already be set to open with the corporate homepage as your "starting point", and that this will be fixed.

This is fine, and we wouldn't wish to alter this, but most modern browsers can have a number of different "Tabs" open, so that you can have several websites open simultaneously.  What we suggest is that you add your AMBIT manual as an additional tab that will open automatically on start-up.  If your browser has a ''//corporate//'' homepage, then you will probably find it is "locked", and that you have to request permission to add another tab to your homepage from your I.T. department.  If this is awkward, then there is advice on getting [[Organisational support for the technology to run TiddlyManuals]] which might help you argue your case, though in most cases I.T. departments are only too happy to be able to help.

!How to set the homepage

This is slightly different according to what browser you are using, but the principles are the same.
* __First__:  Open up exactly the page(s) that you want to open //automatically// on starting up your browser.
* __Second__:  Look for a menu that is to do with "Settings" or "Options" in one of the drop-down menus on your browser's menu bar.  It may also be signified by a little spanner or cogwheel or list icon. 
* __Third__:  Look for options in that menu to do with //"on start up"// or //"set home page"// etc and select the item about setting new homepages, or "pages to open on start-up"
* __Fourth__:  Find the option "use //current// pages" and select it!
* __Fifth__:  ''Sit back and relax''.  Perhaps close your browser, and then re-open it to check that your work is done.
* __Sixth__:  Offer to show your colleague how to do this, avoiding all outward signs of smug satisfaction, but knowing inwardly that you have achieved yet another of many steps towards mastery.

You can only make changes to a [[Space|Spaces]] if you are member of that space.

!If you are a member of a Space, then you can:

* Make [[Edit]]s to the content of that space
* Add or remove OTHER members to/from that Space
* Do more advanced things such as [[Include|Including spaces]] the public content from other [[Spaces]] in this space, or remove previously included spaces. 

!Adding a new member:

To make someone a member of a space, ensure you are a member of that space yourself, and that you are [[logged in|Log in]].

Obviously, to add a member to your space, they must FIRST have a username to add, which means they have to [[Register on TiddlySpace]].

Then go to the [[Space menu]] (which you find by selecting the [[Advanced mode]] from the [[Mode and Login panel]].)

The [[Space menu]] reveals simple instructions for how to add a member - type their username into the box and click "ADD MEMBER"! 
!What is Manualization?

Manualization means recording what we do (in text, through video file plays) in ways that would help others to do the same thing (and get the same results.)   It is really another way of addressing the idea of ''team learning'' - and in this way it relates to ideas about [[Developing learning organisations]] by Peter Senge

!A bit of video discussion
<html><iframe width="640" height="360" src="//www.youtube.com/embed/C1Le4eCa2JA" frameborder="0" allowfullscreen></iframe></html>

Manualization is one of the [[Core Features of AMBIT]] - AMBIT workers don't just read their treatment manual, they are expected to //co-author// it.  

Above all, Manualization is about promoting [[LEARNING at work]] - particularly ''learning from mistakes'', or ''recognising a piece of local expertise''.  Recording it (especially so in a public facing website) creates a kind of ''"ratchet effect"'' so that learning in a team is less likely to slip backwards and get lost (//because workers forget those team discussions when 'all came clear', or they leave the team to take up other posts, taking all their expertise with them... //):

<<image [[ratchet]] width:280 height:150>> 

!!!AMBIT training
Part of the [[AMBIT training]] involves [[Learning about Manualization]].

!Balancing act

What you are reading now is a TiddlyManual, which is a different kind of manual from books or conventional websites.  In keeping with two other [[Core Features of AMBIT]] ([[Respect for Evidence]] and to [[Respect local practice and expertise]]) it is concerned with the difficult (but as we see it, crucial) task of balancing two potentially contradictory principles: 

|bgcolor(pink): ''Systematic'' <br>''Evidence-based'' <br>''Practice''<br> |bgcolor(lightblue): <br>''...&...''<br> |bgcolor(pink): ''Locally-derived'' <br>''Practitioner-based'' <br>''Expertise''<br> |

...The approach to "manualizing" practice in a TiddlyManual allows for a marriage of 'top-down' evidence-based information and instruction, alongside 'bottom up' local expertise in ''//how we apply these techniques and methods here, with these particular young people...//'' or ''//what we learned from a recent near miss/mess/serious incident that would minimise the likelihood of this happening again//''. 

<html><object width="480" height="360"><param name="movie" value="http://www.youtube.com/v/wT-3b227ZXE?hl=en_GB&amp;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wT-3b227ZXE?hl=en_GB&amp;version=3" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object></html>

!How to do it? 

We emphasise that this is a [[Dynamic, adaptive Manualization]] - something that teams can (and should) continue to do as part of their day to day practice. 

There are tips and suggestions on [[How to do team manualization]].

The best place to start is:
(a) to [[check you are logged in|Log in]] 
(b) check the manual is switched to [[Edit mode]]
(c) open up [[+ Manualize our work]], select the category for what you are going to manualize (you won't see the buttons if you aren't logged in and switched to Edit mode) and get going...

!Benefits of Manualization?

There are a number of key benefits to having teams engage in manualizing their own practice:

!!!(a) Promoting Service Development

#Developing a //shared understanding// of the nature and value of this [[Dynamic, adaptive Manualization]]...
#Fully //integrating// and //interacting// with this document in day-to-day clinical practice (increasing //fidelity// to AMBIT-influenced and evidence-based practices)...
#Engaging in continual, small, iterative and incremental "tweaks" and changes to ensure that there is [[LEARNING at work]] (see [[Manualization Boundaries]] where we emphasise the fact that manualizing is a //team//-based activity)... 

!!!(b) Fostering a distinct LOCAL team culture

#A local team develops "our own unique manual" that is: 
##//"Bespoke"// to our own local needs - attuned to the local population and geographical constraints (transport, culture, common clinical problems, etc) - see [[Customising your local TeamTemplate]].
##A record of the ongoing [[Mentalization]] efforts (the [[LEARNING at work]]) of our team, //about our team// as a whole (why we behave in the ways we do).
##A powerful tool for [[Inducting new team members]].
#We sustain a practice that is both //integrative// and //multimodal//, according to our [[Core Features of AMBIT]].
#It is hoped that the implicit sense that this method working constantly tries to [[Respect local practice and expertise]] will also support positive team morale.

!!!(c) Comparing and Sharing our work

In AMBIT there are already multiple teams beginning to adapt their own local versions, and via the [[Show references and info]] panel on each page ("[[Tiddler]]") a user can easily see if alternative versions exist, and compare what other teams have come up with.  You can see:
* [[Comparing and Sharing functions]] of the manual
* An explanation of how the manual supports the development of AMBIT as a [[Community of Practice]]
* [[Current versions of the AMBIT manual]] listed out here, or in the central [[tiddlymanuals.com|http://www.tiddlymanuals.com]] signposting site.


!!!(d) Research 

There is as yet little research into the use of wikis in learning organisations, but a helpful paper exists for those who are interested: [[Cole, M (2009) Using Wiki technology to support student engagement: Lessons from the trenches]]

[[Research]] into specific treatment modules, or major manual reconfigurations, will obviously need to adhere to tighter protocols so that the rest of the manual is unchanged and "like can be compared to like". It is possible (easy) to "lock" the manual and prevent further editing for the period of a research project.
<!--{{{-->
<link href="/bags/ambit-ious-share_public/tiddlers.atom" rel="alternate"
	type="application/atom+xml" title="ambit-ious-share's public feed" />
<link rel="canonical" href="http://ambit-ious-share.tiddlyspace.com/" />
<!--}}}-->
There are a variety of different menus on the computer screen to help the user navigate around and manage the material in the manual. 

!Individual Tiddler Menus

Each page ([[Tiddler]]) has two of its own menus:

!!!1. Related Information
The [[Show references and info]] menu is accessed by clicking the black box beside the page title, and helps you see how this tiddler fits in to the wider context, listing revisions, references, sub-topics, headings, etc.

!!!2. Tiddler Menu
You find this on the top right corner of each tiddler: 
*[[Edit]] (usually a page with a + sign on it, or a 'pen logo') is only visible if you are logged in, and have the manual switched to "[[Edit]] @@color(red):''mode''@@"
*[[Close]] (an ''X'')

!Menus on the Sidebar

See [[Sidebar]] - these are the functions that help you find your way around, and organise contnet , as well as links to content.

!Menus on the [[Top menu bar]]

The [[Top menu bar]] is only revealed when you switch to [[Advanced mode]] via the [[Mode and Login panel]] - it reveals extra menus that help you organise your wiki, which are rarely required for everyday use: for instance if you wanted to [[Download a copy!]] of your manual, or to [[Switch the "status" of tiddlers from Private to Public, or vice versa]].


MicroContent is a collection of meaningful information delivered in a chunk of about a paragraph's length: It is argued that if an IDEA takes more space than this to explain 'in a nutshell' ...then it is unlikely to be of much practical use to the clinician on the ground. 

The TiddlyWiki format refers to one of these these chunks of MicroContent as a [[Tiddler]].

In the digital world of the web, a collection of 'pages' that are interlinked and which cover a specific area is known as a 'Wiki'- for instance see the online encyclopaedia www.wikipedia.com . Hence the term 'TiddlyWiki'.
This [[Tab|Tabs]] within the [[Index]] lists [[Tiddler]]s that //have links to them, but have not got any content written//.  

For instance [[This one right here...]] - if you click that link it will offer the philosophical conundrum, telling you that "this tiddler does not exist - in that nobody has given it any content - it is 'just a link'!!

Being able to list "missing" tiddlers is quite useful for authors/editors.

|bgcolor(pink): ''NOTE: when you open a "missing" page (tiddler) you will see a message saying //"double click this page to open it for editing"// - THIS WONT WORK in the AMBIT or MBTF manuals, as we have "switched off" the "double-click to edit" function (people got confused when they double clicked by accident and found themselves looking at an editing page!) - INSTEAD switch to [[Edit mode]] and click the "edit icon" in the right hand corner of your page... |
!Where is it?
This is the panel at the top right of your screen.  You will see it as you first open the manual and then it will fold itself away leaving just a small icon:
* a ''@@color(lightgreen):Green reading book@@'' - to denote BROWSING MODE
* a ''@@color(red):Red pen@@'' - to denote EDITING or ADVANCED modes
Tapping on that icon (top right corner of your screen) will make the hidden panel unfold and reveal itself again.
<html><iframe width="640" height="480" src="http://www.youtube.com/embed/BNE2EnOTYPU?rel=0" frameborder="0" allowfullscreen></iframe></html>
!What is it for?
It is where you can [[Log in]] as a member of a particular manual (or "[[space|Spaces]]") and you can set the "mode" to determine how the manual behaves (how much you want to interact with the content).  It is also one place from which you can open a page to give [[Feedback please!]]
!Logging in
See [[Log in]]
!Modes
There are three "modes".
* 1. [[Browsing mode]]: 
If you are not [[logged in|Log in]] then you only have access to the ''BROWSING'' mode.  This is the simplest way to use the manual.  It is just a website to all intents and puposes - you can open and close pages, and that is it.
* 2. [[Edit mode]]: 
If you have logged in then this option will appear.  When you select it you will see that each page ([[Tiddler]]) that opens now has an "edit" icon in the top right corner; clicking this will allow you to start to [[Edit]] content in your manual.
** ''__NOTE__'': Some pages have buttons embedded in the middle of their content to start you off on [[Edit]]ing brand new material (for instance [[+ Manualize our work]], which will generate new pages ready for you to edit...)
**  if you //already// have a page (such as [[+ Manualize our work]]) open when you switch to EDIT MODE, then these buttons won't appear until you have CLOSED that page, and then reopen it (you can look in the [[History recorder]] to find it again.) 
* 3. [[Advanced mode]]: 
This mode opens the [[Top menu bar]] across the very top of the page (//you may have to scroll up to see it.//) for more advanced actions.
** The [[Top menu bar]] gives access to additional menus that allow you to:
*** make other people [[members|Making someone a member of a space]] of this space
*** manipulate content in more complex ways
*** browse content in the wider TiddlySpace (beyond just [[TiddlyManual]]s), etc...

* 4. [[Feedback please!]]:
We also include this link, as we do want you to see it often and think of giving us feedback often!  We rely on this to shape and improve the manual.  Feedback can be very quick to give:
** From very quick reports of broken links, or glitches (if you can use the [[SNAPSHOT]] to send us a link to the broken bit, that would be fantastic!)
** To spending just a few minutes to fill in a short questionnaire.
** Or you can tell us we are doing OK, and make our day.
iVBORw0KGgoAAAANSUhEUgAAAp4AAAJbCAMAAAB6jWSmAAAAYFBMVEWqqqptbW0wLzCa9ajz84+sx4f0oKD8/Py+vr6bm4ya1fnU1NR6rIGJiIBQVlLBiYn///+Jss/l5eVbgmDy8vJ+flV5k6VnZ2hQTEhaYFp7fXuWaGhESUVzdHNAQT44ODgZa0Q3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QwOADYg9SmO3gAAIABJREFUeNrtnYuSojoQhkFlIItxGIqaSMro+7/lppMAARLkEm4O1Dm7s47jrvr59zXdXnhcx7XZyzteguM68Dyu4zrwPK4Dz+M6rgPP4zquA8/jOvA8ruM68DyuA8/jOq4Dz+M6rgPP4zrw/NwrqV3t245X6MBzRSjDMMvS8pLfLf6UZVl4gHrguTCUHMk0juMo8jyEEMYULsYYQYLBxCNM3IQxRsjzoojfOc30nz+uA0/nZIJOxpGHMLDo+z7RL/hziWfrW/wHKEZeBJxmB6MHnk4FM5RYYupXxLUvDU/DN9XFMGAapdkhpQeeU9EEMx55XC79Dix74VnH1OdiyrU0lc7p8VofeA7WzEwoJnuP5SA8a5j6FAx+Gh46euDZn01hy7FUTL//NQjPClKfYaQYPV79A883qpnGHqJkIJlj8ayEFHQ0PUz9gaedzSwtRNMfc43Fs2CUO6RIxkzHu3Hg2ZDNLPako+mPvSbhWZp6HjKlh4geeNZlE0HSyJ90TcZTMcqdUS8+RPTAU8gmWPRJqukWT6WiYOePaMn723By2RQW3XdxOcNTIXqI6N/FE9527m36rth0jacS0T9OqPdndTP2pnub8+KpPFEqCD3w/Fu6OVw2Gf3+JgvjKUWUE/o3/VDv78EZcn9zhG6y7y9+seXxLDQUIqUDz0/PIUVolE0n31/f9PsLkzXwlIQikRA98Pxoh3MAm8U9RXfn1zf/ya8vV+rZ+Ug2Qin6Y26o94eEkxv1YQ4n/haMcqv+DXgKCe2Qz4F4fo1yQ7H3lyTU+zvCidhAo85hBJeTW3Xuc/I/cOH9Bkhd4Pk1Ck9BKMPRn5FQ7xDOrnAI+/SLY0m5ZWdcQ4FUui6eKpL/IxL6B/CENBIdzCbmriYXS1BN7nnCFxzUL0o5rA7w/CrwHEcpl1AU/4VA3vt45QzjUaE69zKxUE3K3U3xBUfWZ12ppUF4+l8TbTz5Czbe+3A4M8hxjnn/ZTwE3qcAiP+BYIAJu/A9AcqvL01ExxFKPx5Q76PhTEdYdZFIAk+T6yQn8pv/z6N1CqL5/f3NiBs8FZ3+eDqljQcn9MDzj8BJqSoPffOoSOSQBEXfWke7i7yn1GNJ5xQ84e/8bEC9D4aTDVZOASIPz7+5KRcQcemkhLluCansuvpqYjUp/tgw3vtUOBEbYdW5eoI99+k3hpAdMy6irD8pg9PyksyviRoKgIbJgeeOlHNMsM4Y9y6F1/klzDskkoY8zDA8/a+qsjnZxAsFPfDcjVkf9N6qTCeHEUpDDHPFhEQn/sbz9nsWuU8lpRMB/UQf1PtIOIdIHgMkeWQOJUyZ36SUYRkOkbnxVD7odBdU+KCfB6j3YXBmHh3EFIUwnXHl/MIi8w6Jzm9h25folv/yq+Do62uyD/p5Ubz3WXBGw1JJIockPAFIuXM8ZXUdf1OyCJ5+ReXXdDxFHvSzEvUfhGcSQt/HoLeTQisSgcyRbJtjKp205JSQryJ89/3paVD+lKJPCuK9z5HOGA3HSoRC30I3Rd/ct4+/2Wg0xnbLlzF8IaOTFBR/UBDvfQqckEsa/mZiaJL7EkRyr5N9f09SrtGHOb508XSQBv0YF/Qz8OROJxtnkb8K59P/+vanGtYJZ42+9PSng0rnh7ig3kdIZ4zHuosiXic+xuybGpWILIOnXxPPwwX9GDyhgDk0QVmZcQYkYNsZDfY9xNxPx1NZ9qJlRBPW4S7oR1j43ePJ4/XBWSBcnVhXEZG5PERFgydZCk8N0YLTCaZeWPgDz93ZdTDoWETrSj65WSeGbnQBBqHUXxbPL43Ooug5tl159zH8vvFMsr7xOqllk3wijxDJLiVSbwuBO9Nv2Ss/qIDkZgxD2ansTy7F7z+G9/YtnX2LRBRyRwSOY6gTGjImMiVC4d7C+n8TgJTrLF4UT1/Hc3I36M5DJO8PSCeRXcU8PAc1xGKWAv/F+LZTLGpJAmLudTK4I10Yz/K4x9eXxupYC79rAfV2LZ09C+sUpssJL5MwMfDjC3xPY9BDvsX3uSozcczoe3HjXnmgWpg0wcQTtmMB9T5dOiH4+SbiPJtSTSpOrH+zunWn0kEVdyqOGYl657KhkX4YqRLPaalQENADz6UD9t7vjiisS+UkvqRStHfiWjQPfchUwAxAMHW0fUjPp1P1rOeYplWS9hvC7xLPJOwlnVL3GAQ4UjUhWifFwI+60eYwUpnkhDtCCPX1RQerlDPfs7LtVTFpUhl+pzlQb4/SmfbKdUr5EyQqMaSAJAXR/P5uGG0ikvNfqmFezFNi/np46lDWu0XGArrPPiZvh9IZ9TxKpN5R6iv5ZDJtVGbdK5CpEFRfOp1qsBLxV8XTyOnX+CCJC+gOI6Td4Zmkfds6BWwiLvKLY0SUWVrmv3yZpxfy+U1lgL8NPH0tTPrSuu2GYsrDw/1FSDvDM0neVdhJ8assSjLVagyqSA1vmahqUoxlnr4aL/u9HTybpfiaqg5MMe3NwO8LTx4TvZNOMdEYfEvsF+EQqKeZNhi7AEERBlcU3m42petzZjzrRaQxySZC0M4ipF3hCYb9TXnou5xDozJJVE6NxeajHLI8JOJ06Xgyf5N4FnKpi+eYvvq9Gfgd4fm2TsS+xRwFVkQ4tMzBmyJ9mMqNv9X0OTGne+DUhYXx/KoJ5tfXuGa7nRl4b0d0Rt3JTnAiRX5IRjkqEe/bFFHc3ZfdyPR7+lGOmfGUQXtNPMu4aZiB31MEvxs8k+xNxA5OJBNjOYui5Lc1wmFUFZOUe/rlgs651VO37V9fX/XC54fWOPeCJ6Ti39bWuRWnsoL5BYM/2j+Bv8sBnip5xGSmnpE94FnzPMdX4ndU4/T2YtjZu3ySsOs+UQ0gBkEkAk8xqAarVTCyxulvcWG2BdB6qn5kMz3x99LEtAs83+eTKA9rKFabsbjNpt+tOIcKNxQzucsAyxonke3xI1spi8uMZ+v7zvNMo48i7SbDtAc8we1809Epmttl57Aw16R1Ahgy7lRYfNGaTEBpx05dkMxRijFGyPOiKI5TcUk84as4jqPI8xDCGEqmrinVwPz6GqOgO8kw7QDP924n9MZB+p2VQ+YsrikVTZxAMhGO5wgsRUc98gSRGWz00q/CFdFvyoBVjirCrADbbS1JN/v9pRQc0ANPB3R2ZjshBvdFX3spnybqRN39C/uqLfndbmEzmUxwmWZZRWAft7nkNEvjiKspc4Wo3tM0vOuOsB3wuXU8zUERKWrrckAShXhdtn00PE7lWUKXh2j7lKZ/2PlLgIlhBHoZ9qbSDipA6mHmO4D066txonOQH8oDpM0H8BvH09J4TNX0DlG8hArRtwjcWUs4BYXCNcWkiNRhFnLfhQagmVwy40IwnXzg4GEyEFLmhNDRUdIOMvTe1uk0n/YV8qfOW4hTa3AqyNBArBpCsC+7Ob8HNH0Ic465k5l1g5l0XN0/lKXcI51o6lVcpM1fHJYK23gAv2k8zSG7OCXEvpUj6fsYC16xrWOeiTIn3FXci7J+cHI04yy0Q1YLfkSoLqJ1+TvckmVvXFT5w7GH6TQVra1AHKagWw/gt4ynJWQnoITC/ZS9xiCH5qGxKoznruk3FWr73efcpUga8RDIiGYFJbiQCGHqk/z2uD9ecJ34Jb7gN9xzcCIQBPlpaNVT+VDcGfXHI6pVOIcnmLYdwG8YT1vITsTati/ZAAJWnUOsv7Xqa/b9rZqMIbInfd86QiiKZMrIYpFFZJM/ngLGPtfr+cyFmxCnZi2Vhh7RCYD6Y/fHQgvTgecYOm11THnOUoRCrRiccCEVBaPiMCZ/x6jVNTUEQpzNNkJS+VLB5fM0+nrefFzIsuFvSMXeeTI1jh9e4dxuAL9ZPDvb5yBfJA9eYExrUiCq7bLdsxypICCmvXRTeJttcCDOZrf+etmtpXcfq4CrLaKxN3LB98jqkXje2+Vzo3i+ae5kEO8ahh9hMQ1RnBcWqXcumEwM+3iXSBK6KZBpW3OuabkTMGuQ3qjS6aRN6GgN/Ro5qtbbKp/eVunsen/geJCxg1gcZxP1dF+cVOcREwGj/ubdhjA9auqmjFlw/nSOZqWjuZLRJqERGjcqf+wx+M0mQDeJpyXd2Uh8YvP7Iw++qcOZX70Cdeo1Vk4L1YwweZ5mv14c0aa3K/xcPEer09749PZIJ3RlUN+cEv0uej3F7Fjcz+Fs6hc3sP4CaJYhE2k5FoWRX4xPtEk+vV3S2dkx/01Fsol9v81ycn2S0lU36dyinxa/bty9qImoEvClCN1mAWmTxj0a/ZYQMa9Gjpgj76bLwRb0rMFmGtH7aaXrwVqflTBGjCxl3g/17JtUGq0ZqqSO35aHYD1q3Far1dhUhFIva/yj0kVs/Dbp3CieyXj97Ddrm1v1+nJp8PXWZrMgNGpIOv/U+OQIjbbF58g1b9S80qAJZw2BBPbF5qfNXDfc0PVw9Nq7vnSqv25r+c+N4ZlM18+3HUltOLPIf502db1ITdwFoPMpaKmdSbax+GhbeCZpmEy372/h1EQChHMbRr1l5GsSKqKkmRRUoxNvLL+0KTyTmHrz8gnbzmtwbk84dQmtqzwHdA4FrSx7hrfWQO9tSjup9vLMwGddOSFU926nTV93pKWahIvsXEFrdGp/PPBs06nHkK75JPUVaWDVH6fNX8/aUHj3QZJu2YnC9cDTRGfx8szCJyFMM5UgRPR12scFMw+rfzhsYCZzaae4aUP9dZvBU3t55uCTMD0U3hOccOkzkcAlcVZJqrSzOjgD/ckHnk06q1Nv7vkkBMV15Tzt7PJrCpp6bmIkg3Zui8+N4JmE+plMLXx0wacM1zXlZK/T/i5SU1AnMZJJOyWfWzkf522EznqTklP9FDtPEw3O004voitoGFEyi3bKl2wjfG4Ez2YLnTv9rG2M5maRvk77vXwtih+w9LZnzF6rDW/j/Psm8DQQ6Eo/CY00ODP0PO36emH9szYpyWTXTjmfYRPlzS3gmcQGGXCin7VVp1xu7qfdX0+kpccmxPBd2rmd9mRvC3QaX+Pp+kn0Paf8QfLTR1x3L6wmiaYjQ6Ru7dzM8Y718ZTFou4exFF86tLJDaF/+pgrj/QQaYyA2mL2BsEHntZP71T91KQTnM7X6ZOuygUdJaDvtVNc66c/18aznvB0p5916Yxupw+77tpLM1hA+2jnNtJLK+OZdG9ZGa2f2uoeSCadPvDytWcYD5pE3lM7t5BeWhvPN9CN0099L0oSeo/TR14v7UkOyYH21M5NpJfWxdOYUpqsn1qukwsLOX3slevPs28Rqbd2buGI3Kp4WoP2SfqpTfzl0vk6ffKFNQFFxLF2qu66v4pnn4/vYP0kpIyJuNfpnz78yisPNIx6GPhB2imuVcOjVfH0hn3e++intq+ch13P08dfLxQOMPADtdNfe/r8inj29yX76yfREoLjAvavr/KLr+ZNlnva7vDuL/ka9bPtRqZKQN8xN1w7V64erYcnD4tGzLDo5FOL2DnI4wrsy+H55QjP09OrDHznbtzh2rl29chbz/GkZASfXfqpTUnn6jD2zVa8iCHgnfBNBcsZnqdTmZ/s3CzeXzvrzbcrup9r4dlZLRqnn3oqPiWnyXie9oPn6dbDwPfVTuLT4LqR7Ly3dcezt35WPjy/x/PkHM+anH6V3y6/krfWXIOme1B7ZPV49R8bHyFVBt6SYeqpncTHwfkcbCQ7763meA5sY3inn7rbiaaLWgtPtXKt+rKA8qt0Jb90grU/aA9hwrN2TwcpUPP43n7aSdj1zOHEW3E/18HTnI8nE/RT+27KHBjdxi8KLf3XgrHqfuZfbXgaHnhyCtQeIPXTTgHn1XCOfq3svLchxzPAY/WT+KU2JPHU7iQTnpoq1vX1qxGIa9C2YvuK5Xbk7sIFfUblGMRmgNRTO7GCk7VVdR3309uO48kueKR+Vrn4JJlexTTjqX3THNvX8DSlnkqjPheep1OVoq9n6PvG7Ax2eIPz2eYTr5L99FZxPI0jOOkFk1H+Z7W2NAnx9Pd4EJ5f/fA8aXie5sPzRDNTAN8/30mkfT9Tso3s5wp4Wj7B7HK5vJseZNRPLWTPnJxhr0VFjfRPHc9Tfzy/qv9mxPOUV69FNZVmQK1IOp8G+Vyn+L48ntYOZMT5fON+mvRTozN1c9itN56N0OgdnqcF8IQMaCPBNKRWRK4BrO5m52tbPukK2SVvI46nGCEnAB2Y/6xyckns6JywEU9jaGSw/1poVAvHW0H/THhqAZLkc2idHbaPXw14rrK8Y/G/0tbjSSh3y30UoEH+Z1Vln5aLb+D5ZYh+6rF3LRo33Kp+eAU8T6eSxxARMrjOLvPyxjdp+ezS0nhai5kBV85es6nr+lnR6bl7f7+MfSH1SEjHywRtM9luwrMpxa6uIoCHBOjgHiXhfTKGCdvA0SNvG6adoEuALugyrD85DOOSTnSaF892j0i7qNkogdaZa99pNjxPtOQzHtyjFHA4CcFng4En6MPxtB7fCIIcBewS9PKONPueuEsoub/cMjfk8rP6nqIB/Z0MUp80MJQ2Vygeedsw7RxPyMr3w7N1QCsJ6RaxXI/O04nUwuxB/Z2+cD6N7ufi5t3bgmkXxv0S8Mi9Z5ddnU9H6U6nzoGjPg8HCdBh2qm8T+58BtTcOv+5eHadzISk0ruskpnPLR54WxvOGp8DtZN7n9y+2zZ1L5uc9zZh2jElhAYBGtJfVx2h9U7HZYrfRw4AIleOp4+v1Jz/WzQ5vyiese1lAqNu/bxaGhM144UOFg39n5r/4w3ikwdHFJzP6/onjxbE03K6CKAMAogWMRtAZ6wv0Dr47KQzSYbxKeikxtLRwuZ9STzNrxFCIusZiI6Q3vPnoiKjdPD5ls7hJ7u4eQ+uJAhWn7vkLWjafVu5CFERF6HhdCYHn910avXNIcFRQPCZnYPV59oshmcSWsJH0QhyubC8v+tZvEBJWtj4JfnUovLaeTfjfdemM00Hz10Q6olJcD6bf2TJzvnl8LSmPBnFAbTSscF0ZuT0WJrPWk7zHZ4rJZc0Ou/3MXz6wTkA15OQleeGLIUnFzobnhAXAaC4/wRA9YJDvnNhPpsdTFusamp03k6nW8FnOmRP1/XK4Njm1fwOxJ+Gp933ATxhmTXqqZ7FZ7eoZC7KZ+Pw5SbxrNN5OuVF/T0eMOObCyeF6hFZNzpaCM+OgUo8ahd9dH21U7XQJUnRBbIkn/X+90ZrfO0E55fupS5ZRGrSWdXfB0y1KurultMLi0VHy+DZ5fiIRs/en+vyg6uxuByfTcZaB+Pq8xgat6xE5+nEigRc//IRE12f3Aelq0ZHC+HZ9bpgCWjPhHGatLuPF+PTjme9zbjezLlkA5OJTn5r0Vjn9ZcBDMc6GF53ap23jHjavXKoZVIOKOuX8CxAjGpvylJ8WvE0ZJpaeJ5WoxPOd6g3on9umUg5uK46NHkZPO0fWh6zc8tOaM9zMEVKKW4MW1iIzw48dZPewnMpQG10nk7RmPSSqG6uOpR2CTyTtCPBBil51LMbpEwppa1dMMvwOQ7P01Kup53O06uqZAwI3/HZ7HsuFh0tgqc9qcTDdoouPbuQy5RSZjjPvgifb417w9VsHKRbj07t9RmwHorTyWzCsUxyaQE8O/IZJLjA+faeR4xUq2ESGpvjl+bTMC/JjufJzRC68XRq6fne4RE+B4xRSleUz/nx7OpG4HhyW5MHlz4HNMv6ugW/Jfg0pOUbE+yseM4dIb2hs0wv9e8OOZ9l7rNbLfaOZ4c1Ecad4V7qWYZFke0NWpDPr8YwxM5pNoaZISvQCemlt3mUxpmj4Hq9Yuqvl1yaHc/OWJEQ1a40ICyK7cNAFuLT2BKip+U1PJdKy/egs0ovxX1zS+rqcWBht3h2bNJAASSWgj4p+cITN4ZFK/DZbqgzTmlYqqjZi87Ta3h4xMSxzdXk05tdPDsy8ty0s35HjIpP6rsT7Y/4T/Yn96OzDI/6u59wquNqy33688unt6bnCaa9PsXX1hlSOp7vTmX+ST770nk6+So86tlcR4LzNeCMXslK8umtJ54+Zjmt8cmtfWDsDimOtbeqRQefg+gsTxf33IwCcz6Dq2/Fc3b59NbzPDGcL9LbkFWc1A6lSscz7THB88/xOYTOqrrZL/t5DiA4OK8WvHvreZ5Y0lniCOl5gSiz9B8kYa9xIH+Mz2F0nh7K/ey3rPx6DmgApzps95hZPmfGs+szCnxivypKEAqGnrSnKJaOZ0/c/hSfA+nU3M9exffr+QrtOnSl4N1bzfOk/HsBdINo7SH8T3kLz7LUHvd9y/4Qn4PprNzPqN8obxj2GazlfXoreZ4+C6RtD8r2QiZWH+DmHLAyp5T136f1Z/gcQWeR/eydXbpaB9rML5/eWuLJEA/Tg7JZSTRni775oBFTKtM+bIbnH+FzDJ2n0y0bYN5F5pNiG58zy6e3mniinH+XKc+TR0UU+7k4UFwfVFdMlLSX2v8un+PorIrvfcw7C66cYhhrs4Z8enOKJ+607Ug/n4lpAFy2DnaUpr3dgfzn+RxLZ5Fdsg5uaVfeuYayNRqXvHXEUwVC+osAbckXRGGDjMm0Dx6A/PF8jqfzdE+HRO/iUPH1XSfZzvB806pESJNPIiYkQ27JELWPGDH74XxOoPN0ot3J+VojBKxBgD3F3POiS8vnjHjGXX2eCAlzrkVKAfc9fYyMTQeDTfvn8zmJztK8myWE1tSSCjjZ9Yoth96jXeLZkbcQAxNrw+RFzI58QszPfNzmjQ/mcyKdpXmPjaUiaJPXMp0AJ7/N5n3iHRr3zp5XRjG/EFL2nRHGvc6gVW8va+3RyDfxY/mcSmcVvbfNOzuDEQ/OfrkXzrLlaIEz7/OpZ2c9U13iEBzBsBGOiZWvDcVVCeRs9C7XD+VzOp2nU2xprRPDPeGUJi2TSQEHtqMvd8Yz73PhyYPCrlwvgv2uACbwSFU2njTWOKodedWwr4NPd3QWg+va+RXM8SSiVlSYc0rB68LBlSzdGDIbnl7nAThYsgXPnargzzQHrJynFE95Kz+Qz3Ji0hQ6i9q7IfkZnK9XMOe04XzaCu8zpubnwrO7ky7gslkbJS93uSNzXJSfDj5daye/nrElOmLBWaaSaieOOLOWad4z5pZmwrPzDEdwyfGFx+qNPBuqnycmeHzK85P5dKSdp2quIjLIZ+0MGKEQGRESnJdOzc+DZ2c3DLftUHHX8GRCSYm5Bzl9ng4+3WsnXJ6ldsT4DddAP6FJYZoix5MtPNFmJjzjzmE0UBzSZi8wbtZxENTdgbIVxMEq7A/i0512QvJTRUeGOCEQuU+9+QFKm9adp3NNm/cWD4woFaeMLmWWF/rjaXvfa9r38Ntf4tOldlbRUWZILnHp1E9oSu+T2S3ijvDsPGIkFhQivWuO33Lh9r52xkgFg0lInLytH8KnU+08VZ3JzUiBnM/gbZ1LAwfD6q7+8hNDvGUDIwKBUfNZyn2FtRV5ZR9d5OiN/Qg+HWtn2RrSKr1zL1N00WnqiZlILl2XDY68WQIjW68SxUTUiAK9Wwmynpg1+pe8wQc4Pp9P19qptYY09ASMO77WZs8SuaXYeuhonuDIWzIwIqLlOJCeJ6kEVWhqYBrl6XBVe8FnuFc+3Wsnv4h40JagEHHAiFZmjqvn+Yzh4BFbMjjyFg2MZPmyln4Xk0G4ptZen6IJeVQf3Yfq5xzaWclns/uR0CskkzCuCvEgnATbRjLMUznyFg6MGNKDdqjwisY6VMt6luLplqNd6+cs2smvm80fU110pEg0UTGN4XoOlqwceUsGRvLAMA60YfIwvpuhxi73Ujyfp1n43KF+zqSdVW6+1TwuUkmF+8nVEyYyXM8LB0feDIHRm/PTcCqg+qwGQQ6aqgvqTOK5Z/2cSztPxbHi9rtWrIVjRVlTluLZom11M+D5/nyVVs1F0ILcSDTNJZ771c/5tFOTz+b0Baiyc18TV7FScPU7hrHOkfr0lrPthFiCpUYjdtkjPwdBu9TPGbVTk89m8E6k96m8LkLFpIwew/837nvakp7YFDHJg+2LeJ671c9ZtbPD+6TC+yzaPt9OsZ7jzJHn3rbbtJ/LJG0+RSJPuGu+6Iye5071c17ttMsngwNGjBn6QIhvXnbk3rq7x9Oa9MTSjjfrmU1mZ8l57lg/59bOSj6bXhlkPg1ddACnsXg0Q+rTNZ4dwxcIkaux61WkoHE8szzCMR87u+Jzdu0Uuc/EWHkn7S466Y9i47KjGQqbzvGMO89nMuFoVsfdEYHuT8NHcD7x3BefC2hnJZ9Nw8fgyFEtlUTotSu7FG8ez45OTwj99BQnQWocci1mml0898TnEtp5Kk5tJhlrFd45iYzWJzRcfcLYQoVNb6m4XZ7PrG/Ygo55mLVUW84ROm5V2jOfy2hnVXlvaAvDPsXcmFc1E8qDWDDv14Vid28p286NeIAujaZ46GBqnICLnbcq7ZfPhbSTX0Tlllh7ZTaMY6jeIaLM+0LzQrylbDsXT+5nwzYOooqZEAMGjQaR8vOXnw4+F9POUj6blU0etuMg4Cad6pX4ANuGJTu37m7x7BhoCruxgyAve+IDrqWIezEYm7JK0fxv/ub5XE47T2XbfNxq++Rv3BWf9R4J6AK9WobVua67O8Yz7VoTA50glSVXvmhee0GoyhCz05/nc0ntLE4dteSFcpkEY87qB3J820QG13V3x3h2LIEj2IdWZPW0oEO+1ftZZpWcHM/cN5+LauepPLTZPNWBz8XEkLJQJPtAl6m7O8bTZtsJRkxseA2KabMMIdn7SQ0H4Prhcimvz+NzWe2E10LarebAOiZyS3qhiHU2faIN42kfS0dk9bJIocl9mqCghLZHLyTZYxidl4/Tz6W1s0rNN9s+A9kjf8ZXWtj7oKN1ibktHHkL2XYf1TrnpF3HpD6smwzJKk2gcvN8Lq44g2ROAAAgAElEQVSdp/JQXHvkuprAUJ2K6+yrizaMJ7LX2+UhDqpFgMBrvaBZBEZ+Pzy36H++dqqdJzWPtnVQjBRw9lsh5zi15BJPezsIQ+JMqh4HUSY6PTEZGxi5wdMBn687rGzwoiiK4zSNY/6Fh7Cf31870s5TMc67mbmGkzegLpT2w9NtW4hTPM27OERZHSw501a3U/GcWe05s3hYYLSB+P3poyhO+c+2rzCNI+Q/9qKdVXDU7PcAYaFB64QmWaJw5M3velJl2IOqV6msvxsGevaeJL82n3eC4kySaXw1xDey2GP3DWnn+fwmODJUVhis3TrXlxrBWxrMn1py6nual+SAcMozG6VrqurvQT3pOaxidHEQuY/n84Gj1Epmg9E0wrctaKc4GNyBp9z03hYZsXaL1duSxTmP+VNLDvG0pJVooDYWMaYVjPgnEjVmJsqkZ+/Nw+7wHMzng0XZWzJrjGYxvq+qnefzOzjLylHWfBuvIjKiWqFIhEsW+XSaWnKJZ9Qxbra22KBZf68lPefsQ3bCZ+6lA9gsCU09spJ29kFTS322TrzL/HRwrrojruJIMTVXNuON4mnrVgouCNU66YjcfNCYJR8t00o3jc+XH4XJqNef/1RMn8trZ080xQfPGkLQ5uxEWXif/cSROzxtaSWxvAha5wIt5pP199rIxOKMETltmE8aJ8noV5//aIxfK2jnwNRnaxOX9D7ru3ittU2nXUueS9eTWBo9sX5kI5B5tKbnWezYSvtkC8HbdOh79uUT4Jz4IiWpHdB5/M4B6lmkPturOsD7xMG1HhpdjW2fhc5sDc+IWNcYMTiyoTxupCIlik0Jib4FTed4vueT/wuT6S88V1C2cMze2/cszhy130lCKauppRQZY9uny0mf3ryup8i7Q+geVI5msQKOGAI+V7Pk3fN591zZrCSJbivkO3shaondff8cUBhQp58KIz49G/H0toinMevJhZNyQx7ULLlq9KSmuD1+njbJJ04TZy96kmTotUKtqAegyLKIi7PJuPtZi4Ww2PpOTM7n9vA0Zz0RnHTDes5TBH05lJHw1LjdrXHv4vMWJU47HbiFz1eps7/D82bJzHM2SRDoPfJUtin71JT53CCekX0yCACqt9ZJ35OZZoP4Y+i8zKyfM4z15wK6eJ29h3qqzHy77s7tenBmV73aAsMYrmfTrHl3zqc3q+tpGkEnNh+IVvl2NiLJnkPoXMa+Px1LZ+mB3hfUzr7hEbLV3dtLOeRSbcMqLodld1d4WmYiE+CQsKB0NAm9oDzgzmj981n00nlDxHMZ/zOPk1lW9iRJ6i+jnf0j97IpuaU1hF2vhsXFJt/TZdndGZ6ped+BzL3r4xEvjP+HLo3Pp7LtdG08W3zOtgtafKQXoHNI3rO07vH76cEECzgNA20c9nw6w9Pc6+k31mnxZ3MJgiBvzFVS0xcGvT0z4dngEyWz0Ql/hfdaQjuH3N1TPfPvO4/Fqg4YcTPjBkNneBqT8kRUM3U+qUjLB/Vye9UnP+SFXIDPlzcnneJle87tdw5TzxNLuo/l1JrqLKs63CXmneFpfD4YYcr0hW+Ms4qD1vZhEg8bS3dpXDPxGcYz0wlMLpXv7Inow1Y4MlzQpIyFgaczJeadRe7tpLxYRSgvVuEJOaamu1KWafNN4KnN9w5nv1xp57lxjUY0SsKuI+E1+QyogLNp4N0l5j1XItB6OhQx2OaARJqzzHmK0+2GwXtJ73aQJetHy12TtfMNnv3NPE7CziHXTe/NNLGOuvpgu8IzNgxeAEBJbWkRu5j2H5SuZ3Q6/VE+3Vr2Dgjf46lSS6jfwWEaSANP5lmC4ApPQ6IM4zaLVI5fMJcZEjwuMpojRnouyqfzDropz1yeqYn6wClSnxTGXtN5hjG4wrP1YePCyWRBkzV2vjbD9rJbKcu3g+cpWhDPgc98sHQOC96V89kLTzEdjASNGXbuYiPP0evbdFVYIM5n1ta7Fu4KosaZzwO6lWYOjU7lsZul+PTmtOuDIvfC+QzpMOeTzVI3coRnq2bE1BIjQhFuh/STXc+56cQLh0au+LTQOSg9L08chUOcz+aMBmd1I0d4xoae/uIA8ftP4BjXc7asvMhNh0vj6WTEk5HA8sa+fL7S/plPsTqOEswjd8ZmONDhCE9D+z8SK7UauziMdLKBWc/Zr1u6dF7JxUBoazqpf9SuO59xP/GEyiYMMai3KruqGznCsx24U5HhDLSU/JupUUOa6ea9XotnPR0lPt+kkvriiYyj6myp+ascwUSveIaeOkeRe8tREceHxUD5t0+yOKMZDTPs8zmf3gp0Tp5Ybk3LD8dTDrPp63wSeaqjfnbMVejuCE9qWmMkxnW//wwW5zjQRvBc3PF0Eh514DnQ9zzdU3PPp8X2qeHzZI6yphM8TUf7iDqf2eMZqsiIbcO0P9J16OSXP8sTGhq5Fz2fkd8TT1BOWu9WJnRLeMa2JYVBj86CUUn5mQ5zLJyPb7qfz7n4HNZU5/VPzFeb4uq5JUeDwNzgGRlSm8S2lN6fmpTXUp9z5JTWu+aaLzWQziLrSwf4nkHQOIoUbwhPr9XoH4hyex/vZUI/iI3Qi/re5mvtrewSWZLCjsR8/9hIzFo609bEkGhDeDafCBPgBL0+ftMm05kIvVzGiytakc6J0ftgG27/jGa9YyOIjMTxd4Jr4xTJdvBsnTsVU78M5XaHNaM6oEY6x3in92xVPMe/Cir04f83+XzTBNoVG/VST+yzM5ZrNonzzJITPFsNIfjCRD9Ij57Wsv5FxmqnBc9RdU9vXTonDN+V8ClEJ+KpYqO4p+/pBzAqWbQkE8dNIU7wbDSEwDjkwCc9Xc/RNSNbznMCnvnK4jks+2soDhnwHNCJ3GhaSmnPxDwVizd9Pb3kqCnECZ5x4+PEUK9i+/C5np1GvZGzH4NntDad/feSDMdzAJ/+kAMdwsJjJtNLV7dNIW7wJHonnehSEoDOG7jbCkYSzzFNTXm4Op6jk0tO8RRWJOlb1pRtnyK9RB2fdXeCp+ZDi2WuYngnDvrhObyk+cb3LIP2HYrnhNaQwveccs6oXjnrWdaspiVTfRxMvBk8a08DIvbeSc+qpElH+lwnY2bpUqQ/9+V5TvE+VeTuJLM0JHQv00uNppDN4Fk3AtAgbzzvZnFb0klTkV3WjtAW6JxQ2jx3HDQaGL0PafmUosQa8wvcJD6d4NlMe0rXs19oRCeYNLd1zWe6CTyn5D4HtTK9b/lMWW88iU+u4Hwyt4lPJ3hSw4QQhHqahXEV9042x3Xa4W3QObXx89R5omNQZinrj6dYrH3VxoW4aalzgKf5WfTd/13MlB8jnad3dA7CM9oKnuMcnW6NHMgnselO16mOa6AV3reD5wAb4LIhxHGn3TYCo9G5pU4bPrgYfx/UMC+DI+qfKa7wxFvBM/Yn4Dklr3SypuV3GxiNDo46zmxINgfx+cqGZpa4eubQ9dkIKvaO58SGEGd4vuLN4Dnq4IAVz1I4h/CpMksD8OR2PcD6niMnDcku8Iwm4DnHSY5xtj3cEJ4u25IrKofIZzQs8amm0erbVpyUjZzgScaLZ5H2dHnGfZR8bse2T1wa3vI7jV/27Fka8s4SnzlfH+MCT28CnlTheT855XN45B5tCM9B651OZlPuokQxyW3bDJ5oAp5FO91rFjr743lPN4UncsdmPZwftJvYtmS63xV9AJ5o9Fxk6xCwUYkltiU6R2Xmu2ciD8WTDer47MjJrI3nkL4ra7dnfJqGp07k7l3PUV2fjox6mZeHmfcDOj5nWkzsAs/pz2FUVl5heKn6OyfgGW8KzxGZDHcH4bSOz0/A08FzGJVJuejGXGNyDJ7PbGN4euOdTyeE3oY2JH8mnuNPEdeHd0+UTxJu6xpf5LUUNIeCq+YsTffbVsdziv/sj69pWvEcMxsMJxvDM36OFs/pB4lPxTiKA8/RNc0KPgd4elvDc/AyhPcEDrL6w6ualqTM+nhOSY5NOMpRHNkYeaR9u0l5eEEGJ+Z7iOOgnpDpeOJt4Bk7wHNUyV3TyIl0PjcWuI+xJ++t9yD5jKbjmW0DzwmFL9U3MLKIVxlw25H3ETWjJEksfxgmf9Wv9dv7Pd74nk+neEYHnvCeTZrMNr3mrrUiJzFCpamv/cFOYhvCFHn8dv5r4y3iDxjNGrp3EHr+o3iSyXiGZFU6T35FGCQRbmGxMZs7HfTdi+yhVr0+iWHxNP+1mU/lokh6uWTjDxx1JJaGPIw3YELy5+KZTeins2Aoh9MNCpe0irvIcRUL3aFt/Q2eUH+MDXjeOJ5p7jfxjO79IgZ325nH0ekATxdjbFbHc1wapasxacQQG1zD81H8mWvdvcAzqdxQUY4u/gi9gGnhaZY3xrLsUjmwSdOlDWu3yD/o98hGNoW4qmp6UzvqtoJndCNjr9wPR+PZcYz4NHRCXR1PelNDXJLbCys8kzCOIoVhlnJxi6JYyGCW3l9xmhV3kfcp8MwyeX91ia8z+WuS8UcoEE7SGB5OfK+4HmNl0g2e6EPwDPk7NfqKFZ63MXienOGJangiXEzJODFP4pnE8AF6CXcqYXmKuba9KLffGeH2//HkWsOtCAjeE2vG/ebDXfzng1/3252jGz24cU+8ZxQBfrnMLiYe/IFERN9Zcxvnc9b5LG8bjG2BJ9k7nsmUaxY8L/oUxRF4xnLzVMIxjQSeSfQ6UQ/dT+BLJveX/8Ieep4w7E7LX6db7nEW7yfieZxbgarAUwZI/C78Ig9YVsndBSYWaPpPfudcdV6g0wvxn3zoHsFQd9y8vqicuzSYT7UaLh59VbZhXTxdlPBc4lnwOa6myVnByY27k/xf9XhkQj0h/IkS0EHB3g1qKlwIRboUPAAw6Jxllohb/QrPlxgGLj6H3H/hklziyR8ogacNt8Uv8Xg8Vs+n4GlIb6qpdYMPapaf2OnS8wl4jpywdOo275fTWDw9eHc4afAVVV/BlcI2aY4nEs2Q95eA+C4KgAm6AWMczBaewi/15Q8VeMLB0IQj7QmwpVThGp7EEZ7aQc3zYDzXvvaLp8ulhU080xfHJ2GnWOFJT0j6ykAkxzNWeMYVniIaTyPvZsIzCXmIFep4YqGqgCckfdW8wnnxPB14Lmrc58OTa13MGb2FCk9fb6u34RnR5+n1fBjx9E5Ezd1o41k+QDwNT4PveeC5Gp5vk06XUe+FQIdTJC18qZ7YU1camvGE+AZ7UWoy7lwX1abOTjyjKb6n0cU810Z+jvA9w937nknM6OgLz4Fn2cV0GY1n9rynOQQsEk8kIhkIZtLQjGeSPl8231PGPqENTy7Vqj1oEp7GvKfO55jQKEzHX9k28Izy0Wl5tbh2XNWoK2YaWNTETePOwcEnkhTGPYZKOYRGD85bG89UROy5ANhr4QmedaT0xICnKASI7+Y1PIcPprCOphuTWlJ5TzpBevZf1ByJZ+c+9xFFTdrCM5YeqcIz80+U62ZKxfcaeHL4sgwUMgrDLHqd/LCGJ/wwzuRlxjN9nLwsTLHeOZWEjrYTT8STTJCeD6i5q/eCrIsna+HJPzDQbSTx5ATxPxLyEgFOiecTfk9CenrdvSSjnC5yP5EnxOgxrD9UaXnvdLrf4OL3AnHV8KQiKIOk/w1+7qHh6XRuyuia+59vCXHf7zkCT63JLfFuAhnvjsAYRzdVPvFuz2cu2jcTepd4MpIKdOntBi4kEvcI0dMHnKnoWOLPjz9EfpOXB39Aoogp/o4E3VT1lD34j6bPakze4Ia6kSJ5NNT1wXNEt/zF1hRf4tk/NtKLiUnZfqT3GoPjmbVv03qZIO2ZifBJZNyT8g61WFb/hv4IGXCsqfjgdmTXeB7d8tMOc1wuttYlFRoNiNwffezQ+0xJ0WI3NLZ8ydCIafnX8SM+HbUsHXhqeNIxeF60LJIxY9/7sVYdjQxNzzROY1rrER0/zdylen7ESc0JeE6Y3a1WtpvXag6sJa16kFh263EPWD+QRw88w82ccx81Wt62y31s8+16fIaRh7xYezunnL5ygmffc+723ZQEJR+D5zhTZjLr494Num6FuVUEhO5R19ccQ2zY9Ur/wBCbkYGAKSoadd3CjU2oG3xQ891uwoEhvQgWkzd4EgoPStnH4llMqIvGmHVDWn4snq90Y3hGJ5d4Dk833QSe70a3cjavwfXMPn2+59p4bm3I0sg9T2fLPs3h7miv8bP0jMkZ47PxXp+EZ+yohGfldkBTyCau3Jl/OS5PL+po7wwjE3s0qQXP6AOGd6sjLaNWH7jEk2zK+Rw5hMHodY4rJflvN3MQtYWYBuctrz5wMaMU2isc4TlSdrc1o27CALCu9RxDUxkdFRcCITvxr/CwFnnaJp6EDM/dJuFtZTw3tnYLj4SzI380jE/0biscrHfFPHbnmJJtr93Sc7fEp3hAHrQszJKTEz7H40m3tLRwRHt25+rM4fbde1typ6Cc1w41SreHJ8Hg8fV3RoumwBE1PLeRO3RmbijrOcK0G78c7Xu+7wghhAlAaXc7xfp4Vk8C6AzQ5dI/E1r0hKC18dySdXe53X5k5P6+pgkN8T62ep6bXJgdXBj/VF36B0vFPneXK6L3bt3HeOKFaE6vF+llio73keAguHI3jrLOczobwFOL7y4Bf0JM/Dpr2WiG67GZwtEY214NrHGSmVdjc+1eGsHnjqBdBr0bwTNtqCcaop7RhLy8mxkMtWhgtyWjImy3dSwNI1SdKrG2exD/fGZg2lnH3piN4Jmxmu/JKBpeNkofp9HepyM8t5KZH9etVE37cjFbXi0ktsDHAsxAOLmEXsmcOwud4Kl9yMAjYeIYaf/lTGNTKbW9Ri6ujWTmx/nhCk9H/Z64MysvGpWucFa4A89oMxPqNA8EyMTBJeibW1KDGEacNiqxdMbnNoKjkZ3IVjxH7XPvPqdZpJRo0GHct4NnzdUkATfwlwsedFZzhL9V36np4tpGYXNklFgVNF3g2XmUg2Kf+DgQvZ7kTUpmA3jWy0aYe59Dgvd0ZGbJPZ7baFsatyGvin1c2PbuXvngDIASej13vcnbwVMvLhAI3v08uAzsl482gOdzA7mlcVklLf/u4qRRdzMyxdCpBAluOu+MkDnwRBcKmfkLGRi6v1b3PTchn2PFs3fuyUG355typrNT7o7wrDW20EuA0KV36rNoqRu+KMV55L4F+Rwvnm+6QAeV3mlnXknkPcH3xGTeY8SO8Kx1rXL5vACdPXNL5fMYHq86zntuQT5h2OesdPbj8107HQNCcZd8EjdHs93gWbMChCHwnDEyfuqsPUsjSiXO6Vw99zlDcXfM8O7ufiVu2qlPuxt73WTl3eDZPG0ktP9yYa32fxwE1qPu6zeFrF86cjyHdyyesiHEFriTK3c7z+egT7F6E3nP5hNhwr5fUANOBBlRZutZigfJ5mx8rlp5d9pJN/66h10NIVAq4nSeuysv8YbwrOdvITGPqI/0tmQikA0ws4fu91Wt+hYal5L4uQk8WaOVotmrhLl1Z/Z6prNmZFd4NrwU7nYSSC5VWVsWXASdJucTjanlzRAWFVHrJ8VF40Ij9Lbifs3B/+w6Ap9tCM+45WUSQoMquQSdTAjcUVBVW9V9RFlzFkRXM+/zuN8j8OyOjHjIjnl01Cmebro9XeHZzpDhup/JECM5glr8JXBW1pzJzK+V/JzbtPeOjDpLmlAqIhAd1U68zxS4O1q7lTU1MZCWnOh6Si8XgW3LpY6mTQpxrp/+KtH7lJmJbvnsGmAjuuSvIvOpTakjMwXurrbCNZ8KEl2fXDNrARMCo98q1BaxUXjfhnquNO1z/qi9L56qZmQsaTIOJwDKarfg4Mpm6FdyhWe79YoI51MrbRJ0CawdycmoavN84dEKpzYXOG3VF0/PXjMi7EwJuwaV58ntPBXBEjFMvd4Knm03GstYXbf32NxGX9aNvE2guU7n5wI5pb4F987ByFdo8SQ+Lk0gEVlQvz5oyVG/kjM8mx81cegIM1zllkgQiFpSwKx1o2hdk15LTC8cHo3baD80cu+Z+c06DhFDC3ItFiLwwIzUWz8dNYQ4w7M1yowFlCtlHlSVTcp82UfPbKc1+yfm52Wz7HhcsJhJTvPj2Tcpn3Qk5WF0Tc3RhFiJskYW1FXg7grPdpgnoqCavwne54ULautjWSbm/c2o59LZT3razuV1JeXl6JpKKomQ0qbr6Spwd7bP3WAKKGqMWwqCnFv49jGPMjGPtuJ7nk54WduONoRnh+tJKIZe82uV9LwGMKHuimepuDvD0xC6Ixi3VOu64nhy7TQ1KqfDu0LmRRQvnPrcEJ+3DtcTckqQMqzPCgnwLPOVXOIZGWbwwPhHhEqvFIw75bGRb0vijsl8zgMoThaO3JPt8GnPepIrdzuv+mQQwgN24Y3OU9J0h2dq7D0O6uMU4fw7//C16u5Fa/W4VWju8Sy1cwFKy+WvW+GzI+vJXTNSmwxCAv51zdi7jYyc4ZkZ+lfEiXdRyqxcFw5tu6xZnJsaUXafQz1L7YQlxLPH7Om2+FStyEbXU4ZEtZS8SIOSmUqa7kIjY2x0Qfji4xqNQKe9Y35Ybnom37PSzvRGZs4vJRl7xJvi82auUisawV/T1BPOwxlOHJF4a3gaPm4EwIRTm1Q/aRSYBjSUzidZGc26dt7mzn8mKX/C2+ITdRzSZNzLDGq+pwC0WWlxVjNyiKfJWeEkQvxefAchYqaz9KX7vkEzJpV07RQ1lGg2BzRJYhELbopPe68nFKSvtW4Q2B0Dw0LYLIeIneJp+LwBmygoI3Uw6+CNBobp88WkpbgvnrPlO5OkUWZ8oZmSTEniqRbCDfF5s5+Co9dr/W1jEMkb9ly4i4zc4WlqDyQYMp8+k4BCw6doE+EXtfR8hvd1352mdspUyywBEn/FqjL3ZviUaaXMkFaSKU6dxuAciBL8LBuNHIdGxg8c9HzKzmT1eeOXrIwxS2oJr0tnkphaNO7uDTw37PrfsBk+I2taSZbWA73YfoXdB8Fcx+Dc4mk+mkKlNa+bAK6jDZjL1FK0Oe2U38ncApqEqH42YCN8ypnyprSSHId8rY4P86+ZuMV2eGxbeBp7CESSk9PYaLdqO5/FaffstjntlD6ZSwHl0tkat7ANPuUqzRCb6pnX+rRuOG9EiAlPh9007vA0+Stqzmd92icUN1kzlVs8pxWtu107pVeWOgI0SVLTk9wEn7JklBpzSnDEqDYOOThfseHEJok2iKfF+QwuMG6pZsuBTtqawKTgWM+6d2mnNHzIiYVPMs88jG8DfD7tJSMxM7EYh8yCKxzsgMgomGdboXs8jbky6Jr3acDKypfIhJo2GxbW/b5J7ZQW3ptahec/7lnHKK3PJ7MmYSDJeS1rRBzPK/SbU8O+V0eTPZ3jaT47hQBEaF9SbVdyr2FwCeimrPtb7SwAnaKgSZJFXTO+VufT2olMgythsohJaxuJyVyjE53jaXQ+4QkQImZ+FgZeLOYKmofiytg93qp2KkAR90GTUWxys/5mAN3KfNridkLPMFdJ6iVT5SLaOFA8h+vpEk/bBkbCkCgUVU82uCCGkbnDeo4Zgq60U72JOB4uofwHYvx+APS6fFIVt5N22M7/C8DPFKLCqH/F8lgHmzPr6RJP61Ae2KGNtHF1JFDtHBbrjjasneoiQkKT/rqZpB7pNQRlVT4jm22HgZ5BmUMiV7l1Cwru/pxZT7d4mk9PwXQQRvyqTkRQEAQI0VafSzZtmM0y2qmuF/FAQ5NeNj3uyebKfN6sOXkI0bVGT7n5gBGMZy24u8UzDM3Op1gDS0h1hoMUl7lLMCEb186C0BxHQkTNlKrvpBEmgz5v6/GJrfV2FgSMh0XFdwgTjXXGvUYk3iqelsESsAEWvE9U80dFJz0x1t29zWtn5YfeqBenWcGifoVZGns4Hz78Yy0+1XSQdgKGqBXEWgKemz4RxZOZ9hnNgqfF+RRnjoJAz80XpXjjMJv0vgPtrDHKP4JeFEVxHKf8f/6Vh6ifjx1LsxKfJDEHuLDGl1tyWvVNEAozNviv9oFZW8QzZeaRkJiziIi2KA5K8T5pTmQoUhJLpj4naWdLf16v55P/MvVx1uHTM/fJy8PC+Fo/TxzgWVcezIKnJbUEYOIL0QbakEuQi1+JcVTdcsGRA+2c41qDz7utoBnwmD3AWqsSj+IB0MA4HzneLJ425xP2GOaBfoyDiLR8eyJDunBwtFE6V+FTBUatYBx2HJwxq7UqccfzejaN7yaOp6u4xdMymIeJxKfmaULZCLWngZWpz+iP07kCn0VgZLB952ugn88EPK9XYlpR5Tit5BhPS2pJ1IkwYloqSVQ5xRA7Y+pzma5Pp37n3vn0E3PbGYGKZqDXh2BzDI/ZjbsPSLxlPG0L6qG8AAEg0icywMZlZAmO0N/WzhX4jCwHiDEW1fUqCciuDAvv05STd30syzGe1i2hRG420mjkyOqnjGtHUJP0+be1c3E+bRUjMTVYK/mBdjLokT9f51v0Ohue9hXg0ELHRAGpPt0bGwO/hP5x7VyaT88SGJHm2g1u6yF9SM2JpWjTeNrXhGIRq9MLperYJhM7uCh005uCo/igc0k+5cBuQ13l2iwNUdBNYllHzLKN4xlZxJOKDe/4Um3rQGKzIUUMBZi0KkchO+hckE9kb6VrTFGiMLXmOusS9xnxzCzWHepEauurPnFJboLVV8NGS+SWdkLnYnyqsXSxbzljpB1tkGOVjJ6n65KRezyt1t2nMjTSj2jK1UcBMsd+M3Ylbz4qWppP+YKY3ztxxohpgbwYq2TMKtF083jG9tjoguo1ebkD1s+Nn8AZ5XM32rkUnyolb2mZEGOIqhy9OGHElrHt7vG0xe4E4+bUbjUSDBnHm813qGNH2rkQnzTpSlo3l2XL2GiJuN09nnbr3o71KBW9TM2RivG8bZ+70s5F+CzFs7OYmxEAACAASURBVJ1UYs36e0Blq7wx/M12gGf07hNYVTIJu1y4XCLzis3wdtC5CJ80saTkr0HzNK2Y1Q2n4q5kCdvuHs/QFrtXza203H0gxsy3ZDWe0fvcIZ1z82n3PFt4UjlWKWDzH+OYC89uF6Z25F3MXmodOlJL4mbxPndJ58x82jxPUblsMCvHKgW+QT2dTgeZEc/YjieR0TouXBqEReIzWEo+d0rnrHzaPE+5P7Oek5djlc7U1A9C5ljzOAOe5hE9yrBDpH4pzT8RE5ObuzoK+XSe+9xZzL4MnzS0HR+Wgxa0oiZhMBzkyhm9zt4nPxeeXdYdyuxcQRvJJYKa88Dmkc/dauecfBbi2Y4YGMaMA1rt3QDpBN+ztWZrjj75+fA0bx2RMPr1A+6Mu6EX5DfPxBXep9PK+461c0Y+sc3zFCfgarvbxcl20cFElihozoRnR+oTyyPvWm/rJchREFimKTo9FLdr7dT5dNqsrSZ6thUFUpwwJrGWVfL5bWdLP2+6GzwjYo+NAjHek2nLZChE8sR8Wtpd3+fOtXMu/US2ghE+M3bmvifVZ8lfYdASNRc0w3AveNpTn3A6k9VmzcMaWK62jYlL5UAbV23zu9fOefTzntlynvSMJYykuiXgAbtFPWcJjObBsys4Ci4wbUk75UcYhem0Te+zSKI5eiM+QDtn0U/ZJG/0xsQoZH1RDHij/Ebz6ORZAqO58Iytxh3wbG7qEOM/m5tkCk/byaHNj9DOGfSThNY+T1+lOMuFVDDHhodG5qzhPIHRTHiGCbYGRxdYAquFQjDMWxx6R8YzxU46Qz5EO93rp4Kq/W4xiM/xtRwdDwvgmGGq4LyB0Wx4Rh3Opz4pWQIrtrwHlpEMoX9o50z6qcqZ7TeLiDWuGoxY1I9aIcLMgdFseHYERxQ1Gz+NH8nyAzk5ufRB2ulWP1VSqfVeifVaXFEZxhqv4oyRsUt+tsBoLjw7+0LI+67XenIJHdo5i3565qQSvVLRFX/WpyjRqyzBm9vkZwqM5sPTXjnqfxUyMSk6+jDtdKifeWhMKokAHcsRdKy+YIVdqb9kYDQbnvbKUeV9+y2bYvlMTim9f5x2utPP2DJuVsqkqK5rN2FmLmbO1CY/N55xN56EXVDzjGYzaVF+KMfXjj5QO13pJ06sQaw6sEH1vUbt3s95W+lmxtPeVqcaPy/1Pk9IMFFiPpiapI9DOx3rp6oXZaatg1AqwkFtZCIWGwuXzSrNiGdX4Z3DiRrzwETCqfVKladXRiY/P1Q7nehnZD2dCVOURCsu1Q8dCWDZwuI5I54dZ46omK8UIO1QHKwphm1jtoSFf2inU/2k9noRDcROrZqcBpBt8pm/aFZpTjy7U/NIhoJYTUcRa4qhtMks51fGtIZ8sHZO1k85SD40emDgaAZVbloczYSxSuRNAnBneKbMXtmEUSii1i5fHzksObgEzGY4hpv3j9bOqfoZJR0KIscq4TILqg51XJcXzxnx7ErNwykBcWKzsObcrIN9byeXWDwyep+inf/+jaClzw/9+zfqoZ3rp4razclpQrTACFrqYL2rmKS4bEp+bjyt8imGzUNbMiL69GQEg0Paz74w7/fFtHMuPP+5xXO0ft6Uy4SMc7yuVzDktJrloky7JSU/p3jOiWeHfEKTPPb1I3BMdtFfWsf7q+RntJB2jsRzjccdp5+v2G7aZYrzTPXYqNjwahbPbLd4ptbUEswDI7W1cGKvYdBa8q5l1QYsi5vod+4Gz3F8oi7TztGEqlHjPTBvMZq1njk7nmForWyKlYxBbfCsyLXluX36RP+pIVNj9jpGmkWurDP/7Z/4v/y2+FX7s7y79mD/1E+rHzU83L/yh+bkU/Ygm6P2YkzNGbfKKCt4njPjae+al+NoG3sPeLgUNMYp1qP3nq11k2P2GiD//v37p+Okf1nc8q/C85/O3L9/Tbb/Vb8bHvnf6d9Q/3Qwn4VpN3peCk9a4fmmNj2veM6snvbGEAZwkryW/oVsvcH7rFIX/bJL0zNKOh81aWz+qv/Bchcdtro8Gu/7b3b9VG10NuXgITvVTwtT1jnPLds1nvZDRwgTAmLJGhNDAkNtszzYEeIl6Dy1iJK/V4a4/rX23dqf/5kfrEZn3QNo/4hzPlVOydISwdQUpSpktTUgLyKeM+PZ6X36crGRPjHEv2B6QfbpUj3cTxfZ+BpRBhPdE8/TGzxPZvIHh1BD+CSyE8SSVBEwakeM4JaO1p65Pc/Z8ezwPiG5BIu0UTUxBOU8eL8YavVVdil+LlArsuLZ8DQ3gucAPh9pV7kITmde6+fdro36+7LiObt62r1PWJodIG2nO+cViYkh7eaDaufDm+ynm0qmwbhryrk9PPvzGSWdBRPiN4bPsXr9fWHPcwE8rblPIsYr6TvdoXCEYJ4Nbk38rPoOOt8AR3V2C55Dfc/l8OzLJ+p0PKFmR64NPq/WLUYLiOf8eIYe6Zhn0xg9i3kwL5dz2d3Pjt46V10gdeM+LTT6N3to1J9PFnav4AAS4UBmq/4ekFU8z/nx7Kq8BzB+gTUGngaX1v6jRnbJWnx31qNUl8x/5sTSOzxPeq7IgOebh5uBz1u34yk2FF5reLLr9cr0xuTlqu0L4dlVeadNr4YqOA17nTT30xIeueugs4RDrST8Ozz/NZLsdTzrjzwVz/d8PuPkTaMjnGZnmt/PzjLJRBbv81wQz5T2O9heTQwBDW1nP0tHPIle8/Z3/msVf1qxUQ881d3teNaLmlPxfMtn1O14+gwzOESszeq+njG1NdLN2+e5HJ6dp47KM9TV6WIxr85w8Ii7n5Ug76j7eK7+kqF8qrDImokmogk50PlUBU5jYn7OE0bL4vlm05GPkV/u6pC7OwLcGSkm7eal7dE5SQnd80nDd5sJKb5eOZ6BPiAZLJl5veuMxzOXxfOdfBJ9fqLcqW3LBJfhUUg3r51t13NNPv1MhUXWd4HS1oKp6/kKR97pauK5DJ6hvTAm++ou2p44RIk9lirDo4xs37IvDWcHn7miM7YfYKjvKmIBVIuC84L7M9fCE0qbpKuvLihnzfuMdU0I08IjncOPP/U2lU91MLMzSqX6okweI12vov7+xs/6BDw7SpvClDPUd2CYVj2q0ksHnW/4LFJKnZNbREGT6GtjRPndPN1yiaTSgnhaB9ZdxKz5vG/qCcL3ZnrpoPMNn6/oTdBeHFbQx3eqgbPmlOciSaXl8LQGjAQFcGwz6C2fmk+uukMOOt/wWdLZNXMVq6xSpZ8B/NFi2r2F6FwMT6tdkSuKq01H76/S7RHpz4POd3wWU9A78yei8+OsT5ylYtWBcXH7QnHRcnjaBypCpehC8SXoXVqqJjNwPteks37krSvLuXAAX+MTJUmf7J64GKuP+SLUNHB2qbhoSTxtjg+skgmCPAh6D02u0kthGGcraudm8dT5RMm75Inq/aDVzoOOmcALdSotjae1EwHwpJcB6lnjc90pX/qJzE4Ml8ZT47Ogs8t5krMXKGSdrtfeQ9U/Ck+bdQHjDl10tD+e7TbtlfxO/ZD6tvCs5tsoOrtf3gDWZV7PbFhs+ll42qIjmMYQUELG87lWVGTD0zSt4TT0gLBDPt81jcF5twDTMyZ9TFf2kXhaj8URCtM+MWJj+VwtZrfgaZrWsDSdOp9J+oY7dr5eA8J64bmkaV8UT3vyk6CAotH2PQnz02lFPhu/mKc1LE5nWckUbpX9lYWJ1NBLd6XnPsZ9sXrRCnhaOutE5hMPio5q4XvovTaEp+UM0eJ0nrS31p5UItdAHeM4n/HAl/3D8LRGR1w4gyBHF0xG0Wlpn18NT+2bLWd0sevlJeUrlNj1U21sJ0yfvbDiWJA18bS0hhDoWIJFxb3xbH6Ik+i5fTwX5fNV4yixJ+VlM3zPwHRh0744nuYQkl0C0Vg3XDtL/zNejc9mfGTBc9nkUkFnmRe28xmciU+hT55tzrQvjafFvKud7r2XwWqvUsXnfdN4LhsaPQs6yxfIxicRR4xqxfbtmPbF8TSbd0IvYlcH7tW4VC2LSyJUxe9pvhU8LeMVlsPzVtSMQs/r5hNqmWK5K6YbNO0r4GmO3gOUM9SvdqTPWyJ6filja+D5z5CKN49XWEw+SVrSSUg3n4EYvMB6uZ7Lm/bl8bQk5+UeGbGcY4B2kkb+E6/Cp+kr43iFhfCspqGCpermkxXLh31/g6Z9BTzNyXk4rYlYbRdCDzqJ8Fu1/hBvE3jaxissI5+FBU4y+Vp28ylGKNlXaq1Va18RT1PtXRY2CXuXmm9op9/kc60E6GauMt1Z0PmOTzgrez2/r2cuMC1xE3hamruINPDdeLa0U95YlYFXCuA3cz3LSRVanb3i05Y5oT0KRvEKdK6Bp+U1ai2K66WdRf98FcCTP0xnXo3x04PMN/r5dv/GSo7nWngaO+el94kudCid8OJGFZ8Z/rN0lr1uzf7Ot/q5wZzSaniai0cY1rsTZJdPK53gP2mvf+K9/rjbmURNOXyvn5vLKa2HZ2h20eX4LzqcTvHxzjQH9C+e2byXbmfo+cQ+H2CEfpJ1HM/V8DRnlyAvH9gS89101gJ4yP3/OTr9avyUue9mgn6uklNaFU9Ddol1wFmj03YPLYAP0R8z8NVwH1tr/Hj9XMvxXA9Po/uJGSH+OO2UAbwWICXRX8owPaLS7bQfehurn6s5niviaSpukl4xe9cogUog/pSBr3aKt4MiB/oZr0bnenh2zekdo53KDKV6i/jjb6Tiy774JPM6q+ej9HOljOfqeIaIDKfz7V1j7QxDyv4AnaT/icwx+skdz/Av4tl7ZUdv7VQZes3Af34K9FXFRN2TQEbq5zql9i3gGfZ5PRva2ef+egY0ifOPpjMvjYUx2zlZP9cMi9bGc9gL1Ntdqhv4ED0/WDrLKuZ7wz5OP+NV6VwXzzB8Gx4N8Ds1A69H8Ensf67XWUpn1HvGyhD9XDUsWh/Pt+HRcO2UGSac6qe8vU/MgT40zFI0YEJVf/0k2ln5P6me3dP4R9IpU/ShPoTp87qY9CGSER324vTUT92L/5t4dofvo+kUc5s0p57//GeFSDe9g9Ajg2voffRz5aB9E3h2je2dQKf46UgzTUn2QSHSUzs/ncR4xGvTQz8XWku4cTw7Xp9JdCoB1TzQFL8+xq5r0umPem169M/H69O5ATxt1c2pdEoB1T3QJP6EKpKvnVwZJZ09zx9FG6BzE3ga00u1aQv+yKsuoAL0vefho6SamzRSOnud39wEnVvA09hA60A7lQfl6Q4+/yjsuZP+oT2ZJBwYsA/RT7IFLjaCpyG95EQ7ixxoXBPQDO01C/rgEZFm1xGZ+MrY9XPFBuQN4tlKL7nSTuXkNyx8uss0/UN7FmDX2fQXxqafW0gpbQnPRnfIcO0k7y18TUF3Z+LvmnJKuz6ZTqt+bofOreBZS38O1k7y+0O7CSVYj+EFoPedKqeM1x3AadPPtbuUtoinxucIv/Pn37+f305AGy7orhT0VlPOJEW+GzjN+rklOreDZ1h0c47ooPv990N/+P9DXFAAdBdpptyrw+nA6ezSz2qj7oGnoXxUny7bVzx5ZEX//bxvtGsAGkZs26XOF7S2NOB0SWdLP7dF55bwFOWjMTE7gEkI+fn3dkglj5FqgIr8zHad0EczJzYt09lHP7dF57bw5HyO0E7O5b9/v4z++9cnC9oGNPPIFovxLwJWPanDOaq+7nfHjTX93Badm8ITEiYj8p1UeJ786vfuEdoCdIMSyoUzbCnnKOkkmLvlv6Snfm6Lzm3hGVb15N7aCYHRLyFcO3nI8MvfCTZGQfm7z7ZzKv7p14RT+JyjE53808tflr58hgeePSi1aCcxB0ZMQMoggv99GyBJHxTFYZPQ1CMbCdXjOptj4STK9RGpjb7+54Fnnxje/G5QU1KF/kpIfcbte07/iQTouzNexMdxVjdl/E8xWtkNfeWNz434R/njlBP/QDKYKyf//Zfuks9N4mnzOxlXR0vsyqkEjeBvBHzBf+th43FUM6HSt4jXC5QUm43cLB6bhIeXQ74qlLB/v+/i9+zAs2f9yCIW/JWGGN2M5w+8EQy8T+rD+/LDeoXxDRsv6Eg9f3k/9OF7adj8tIx1OeGHGBh0HrPz3yl9n3TbSIPnPtSTmMXzH2XCyzfujRX5TwZW7N8Pod3BgFZKakooMJKkEV6y5HnDUZo0dBOs+rgcPKG/v0y+AoRSiBr5C+cf6ukuMjIBKEN0LgaE+6B2daXCrNFfTNgP7SOhtCWhhZlntwXs/N1HcfsTwiWcjnQ5GbwMP/KF8n/4L+z3ratz+J7T+QQLxbVASCOlFtmg3PPkph6SoPxt+vnps8rUl+LVIjTJYo/OqaJ35jVlU6W50OjiJWSRGDx/+J8KRodUjg48e/mfLT6BNsEcFWWiH+OeUn6TEFmQDvAD+M/0WnJMGDIQKhHlhp7cncvonWAvzcLm3yk+E2PZJIyJDLBfPP+f91Z9G9NAdoanaXodvNqQd+evvVBPHp9TSyJUhawiXS99UNLDyKO2kklCwRf1MHEVLz05mfKvMrAZjYmGqHwlfsWnVhgZkE722yOBAc882iqdm8WzzSckNH/E6/8rnP7OMP7nV6XrAU+Qkd8+b5PQUGNhT5DEdRTR/D6+x+l5z/nfEGdh+1Mg0+/88Uc5nMKGF1UJ8YkU/Vuk10hFf7t0bhfP1mazX1AIKjIlwmAz/kdZMDLuSJJlTvAFfCG6vz0zMopQC6LAUBx5CPu3IZQ+bz5FXhSnoUEzy2QBomSkUQfFhNwmUU4nf1V+fnv+rB9tFs4t42mbRS3FU1jwX3hXOLLGBl1QWgpqIow8RLD9hIkTir04TWySogDLMskp/7zkt/vj/njBBcn1J//9eb/fbzf+GcGcyijNsgJu8wNmcYQZGd3J+SuK6hSqEj+Yqheor7sab5jOLeNp45NyhwreAiocUXWQA26vB/EcTtnGJGpJP/84K7/KWSXvzTwFI2wDqpJShWqaprG4oiiSX/BbstqdEtujhFw28Ug0qUhMCF/7R/zOIG/h90lXFC/TpuncNJ7WBWdSQqX/z3UD0kiQtNc1Q0T4MuEnqpwcZFw6q7+0lyMKiFoMvRXVt0Q2swIenSCbFHIZohv7V8aCrF9LTNVsl26azm3jaZlvU4Xnsjok3qAfmeosa5mMquKeOOpBfynUnHwBbc+KkvRgkWf1GEdndaVoxlw1fTLtbAb7hUgRjIyUz399irnatIVs23RuHM+udQfStgNv4HzBW/Pra3hWP8ZEN31RcxL3pAOiDuJLGTXH2yPQDIXXitlUNKFVCwufU/riEK//0iHaudk2z73gCXzaTiYSTqXCU2ZVfoRbapIYqEHLKB/ypZXE9OQDZLQeeg8DtfoZGU6BOZ96ok08ZaZEUxTWf4g/pLmptmLnwNNVgqnuhDIRnkOO6Ue03hoTTUQWkzABiw8y+luGvIN0FIQUe0BpLe55TyWPnXjU5CHK/Olgqn+5dK9/hXz+g2PUbBjebMPpzh3h2b3sjNAqVS8rzBik0qShssYn6n2k7J34GSpaUvgoRpAxiiBEz+qUllBC6glieU+mnwhxRKZ4GJlJUs8GyhADT79vPWTfD55dAZJsoS/aRaSc8Asb5UIUj6qsIIgOpeMREbAxRimwijAS73eSefA1/5/fzpjvEEuttZVbCwjT4SMJdYdhVl0GReke6NwFnn32wUG4w0Qk/8OYbL412nhx6qNK3P+SyQNhSHFJPFNKqst3f4GT/U8UGv6JDxrr15PU+Cd72S7o3AeenWvKy3M1Qhd/ZCXTXkzyq/ompEy5O8ocgVPi6c95CRzFsVT56fLx4H//PtzOHeH5ftsulxERHYneCJ8H8OBXGtObPI5Xs5ykbRzuf66EZ/GvxlQdperbSLBPt3NXePZZ30NFk4g4wCCKnj/m/GYxCA+EFg6By0IL2TiehMmkGXjMvwxKl7LyMPyBduJ27gvPrgxovdQO9WdoCW2UOQ33JOSn6HCmv5MBnRVPWn7Y+O/5GIez+GxuPxe/SzwhA4p78AkpQILhcHfnbAxZlFd9kqJ0/0s3jGc1H1JkOf+NzTjQONkRnbvCU7SI9Gh758RhEMSym54Yy0PwDoscqJzg8PMjFYn90K3gWf7rRbxeTufl/9KR4VxtFe6Bp/sMaM/F0NCWWxagqbVbXrmov3LKCytu2giewtuURzKKHuyiYesvGPb94SlWD/Z6b0QxiSoGO2Zg/cgmO5GpUbf8bMS4S29TVizZoB7jzzDsO8RzwBZJWiQ0GUTykIxnxglNcD5EM53yIBNZH0/RvinLYb8y2JuUoCW7ith3i2ePFH29Gwnkh8snHKz9oYafVC2hlZwyaGMeAZlr9QR/mMrg7UeM38OT8lJRuD86d4gnIDBgIZooSiv/0pqCp79VuulXTn35XQ1PptVc5ZgPlfqaoJ6NvSQHnqunQLUaNeXCCQ2fWE5oks6BeQ4O2NJylNMaeFYn839/ZVnrtziROiEDsJca+0fgOUxA5YH44tgHtMxT2d1kktF/P9oop2E+qCv1/PlReQZ5PFgNlfD/nnTuF8/+KSZwu6hqFpGH57Aw3cZIQ2Xoma/6KAf5oI7wpKVnoT5MPz8/UwoG+5XOHeMpU0x9AfV/qWhVlvPD/v3+2gSJqiZ06e0N80Fd4MmYPFVaxWm2osIfkM494zlIQGG2Aqzd/BH9ynJ4HesoIBajnMAHpcvhWTZMUy2sm1h32rF07htPsV5yQAiveiVVKNzhzcHRzh+lonJgkWod7e6tn4wnE58LferhxGZUsm/p3DmeIoQfRMMvVXiKNYdFhd5EMlHn6mBkw49qHX3TJzQFT0KU4+sz8TerntRpXVQ7zXV+Dp6AgzfgPVTzRVhVJfq1xh1yBiGcYfuVdfl3dcUJeEIdQKx4kR8h6qJFWpSJdk7n7vEcvt2c/Wiz1ruyNnJfFfPFKXnpFszke8oYTBx1LryJ6XTS3UvnJ+AJVfiBm1ApVaCJWjuBP5h8PHFGWa2jKcbZzoIn6DTUVcWYndLt+NMh0QfhKUKkQfMxSFEyUlMYKYGqkuURgGAmh3Ew5+opDyP/+5WjnkdWU012PU4+gc6PwHOEha+a5yCHJDM40B5KjEXR399ylJFTPKGX80cckIJuFf4JoZNb9mW8/gl2/YPwhIHbYzb2ygnsWATlYlOXabU05PD/MfI2AzoYT0bV4BJOfy4DIwdn43m8niUfQuen4ClcUI8NfW9FmASJJllJFOOXWngR0Xv//vTZEDxF6kqcihK7wqbX1TWnM/0YOD8JT7Hjb2iiUFlX6BphpCOQp8XyC0d4ir9WnCCRR/LKNpCpcH6K0/l5eAoXFA0EVIyYhVqiPDjB7fvPv/mPwoFR/ykHQ4mUv4OD9lAkCj8Jzg/DUwI62H3jAYlsDvopy5hjfMB+eBaLwaBQ+qv+UjeHP0RE9Fl0fhqe0CgyPIgnpBgfpg4bgc1nTvFUvMttrGKVtUxyyqUFLuCkUZZ82pv5eXiKIH5ElklMWv6ndiWpiNoZnjDI+ddXS2l/xEI7mJ0jk1bO4Pw8Oj8QT1lHGq6gKrlU1oc0VSPT8AQxlsecqFja9sNvkUN0qlG4B5x/B89RCirmL8ihhCJNDrVOHk5D8PI7Dc9fceRS9ZqKhYoQqUMYRhyUMD8Yzk/FU/mgg6JhudUDzsJT6GmSaz9+RDkHdPR956UVzx+1A1TW7/ljixqmOHhJf+gB51/EExR0cJqpqnXCJiRQ0d9fMYCe9NiFZMNTBuiyQvXvn5+LmdsuJjbKaP2D4bTgmSx6zaqgY1ajw2E5taRSZkVFLE/Hh0Y8zJIj7+XS4H9u5jETSMJnH8ymBc8khqUTC13enPkQWPQ7Yj+6WnUhHEPQTcrYz/uSoz00kvH6r+g9EZVMJ3AyL06Sz6bTjKeXk8WunM07+gc2UePBllQsh5FTk9WEWi6gmI7Ek0KWiigjz9zAST+qtj4Mz3mn9zfeu7knUyXSxg/vYa8OGMmk/ZuFlXbjDgNK4KF+HE2xJ/6Hu5x/CU8poSNsfBXXqH2/3et+O9Ly1NV6hcKqh38Czr+CJwCaRaPCpF/Z6ym2JPi/5qWI76tGrgrrQjjT5I/A+XfwlDYeJHR4wwgkQn043vkPZoFSW+9bV8190ni5vymcfwxPEcePkFAit8T/+8lhAqxs5zCG8d0tIS7YROBx/iE4/xaeKtMEgfwYI88VVDTN22bLzLmZgwijHv4tNv8entLIp94IQuX+OFGWNB8png1Prt9YGPW/Buc4PIvexWqtqelX/U5bwlPGSbEgdFBNnsIO9Z8f0X60nHpCAtaLsz+I5kg8CcWYEdgoIC7h+Yu0olyiJ24hDGPxPsn7sG3hKYw8aOgwP1Q2utPcN7cwzYAn2PQ/qpuj8fTSLEsxQSlcWcx8grIYXssohR+MY/4uivt4sOZJXJhsDM/CyotIaeAIHNvWK9ebOYS/GYd/Fs1ReBKURAynGcOeFyeeh4DLJOQAkjjJ+HuTpoR4SURplHg5TiKPX9TfIJ5KQyM0LNv0OyaxNIJNKmOhvwznGDy9BOc5hqEHJAqFp0kzL4s4nlEY8t/ilLA0hnc8jghOUJ7nW/M9m7H8IEeUjEjLD6/3e38p+e4STxxm4LQJax4yAWxG44zb+Dj1EsR/zXEoH4FxPD3Mrw3jWYko9qcdrHCCJ6CJuGt0sDnS9xTjpYSXqfD00zhHnEsOJo1TxvGEP6mESJLxKyabxlMSyqN5bud9MnqOzEQ8xV/MUBSnycHmeDx5GE45oYgoPLmcxl4UxoCnj8NIqKfAEyNQT9YZuG8Ez0JEAVFMyeJLC/nfyDBHMwsPNKcZ9zj2SU7DqMSToxnHaYZzLp38D1mcU+F7Mv4V+J7derQdPAsVDdNxMjoOTyWaXiwM+oHm9NDI41F5WKonVOSuRQAACl5JREFUE2ERDb2cO6A8Kko4ml4o7oO5ekaIX3QveJaIZmnkYcqGMDpigCJ4mqVoHmg6yXtGYZpmpe9JECSVIC4ioJ78jyLvmaUZvw83/OI4kUd2hGdNRj34aL0tfQ3Ds3g4HgNxVyhMDjTdVo2Qaj4XZSImPUv+tfxKeJqEqftstGrUG1GuoxlAimHRYTekPfCUj8C4YgKY2UHmDHhqmT9i6BUjZYZkszX34ZByJQUp9TBmZbNB85mZ8KzflQGWUazczIPMefDcd8fSJEi5lqYxcIoQxtwqMA3AEk+NSMYoxRghD7Dk/k54cHngOTelBapcUTmrcBoaLvE8ksxD4k9wM2Q00jQLFznUf+B54GkmtUHegoMmDjwPPI/rwPO4juvA87gOPA88j+vA87gOPA88j2tzeLLFLv/A87iG4YlPr+Wu+4HncQ3Ec8HreeB5XNvF83HgeVwHnsf1N/B8elF5BwL9D/guvmZI/P5EUYRfp1OOHvxPuRdH7MDzuBbDM0q9sLgHSqIoSlPg8pUmCH6LUuSF0euEw9vpRMMIRYl34HlcC+H5StEpjQo8Q66TJKEgnmkciz9wscRpfsLZ7ZRnQKaX5AeeO75abVftTqz6Ld2tXIZ7WPu6Rqinl6LML/EEMDPAL4pYyG/Ok4gb9edL4IkyMPBPdj/w3DGdqehfrTbFyxs8beVPeYv8o+x/VTfF5QaRJBPf4D+VxF7rihzhiROulq/KuMchSOQtY6eMi+qLP2IMXijgGaVHaLR/PGXsEFd4KmftFZVqSVVYIim81aztk6kfTWJBDX+/hRvYuPwwcYEnCrl80qjAEyHkpWDPw/zphU+IhlAUZvmB58eI50upUhPP8qYku9vxFAY3WQrPO3cnWZZ5mnE/RTH/cIUxl3F88uGHcy6olXHPY//Ac794KpSq6l6J501Z96QIRWx4vuRBl/g5O563jD90VNxF4hnHHEic5zn/AkEc9FJ43gTGUfg48NwtnWFek0Adz8Lgl8DoeObiCDkprGwDz+cDLqGmL/kldWPco9CL0jj01T8ZTnxxtzMSJoAm5BVnHoJUEwZOcRahOMOHcd8vnnFL3io8pXWv5FLHUzimSRiLP/h1POEUoRhLLHLn8uvMUWIJRV7+RLRKy6Pb6YWp/B4RaXkIjYq0PL/34XvuGE+A4fkoLXQNz7uw7qVtb+ApL3Fn0sBTfU/YeOY2sXQUNf8SnSLq8b3SQpd4viqJBF5eL5N6FuzSBp66W8s63v8Dz+PqxFOg6GUiJZPptzG4CZc4+jeLeqLSb50ZT9GeWfui+BAJYX+W34JvvvRbTy/9Rw48dxQY+dKsMy3PKfFETFl34Z2+hAun4+mBf5mlHrzrfjY/nneYehHz7+XiC0/8XSyWdyZRlkbc8fRgbEYc50/RCOLDrTl8F34iehx47i4wArqYIhLreHqeMuECl3vaVM/nncfjd/jxF85U3nNOPG9ZRLHHH5LAhE8knYpIZm1JGBESh/kJe14SI+9+h7+ahVFOYv6vpUnEYyj0PPDcZdLTSxLR9fNQmEk806dwKhNo/RFpRFve8+ktgyfcHmUcz1z887gY3lIP5P8lekSeKfy77/LTFGJ16yNFJ9rO1B547uK6qYS8LFtGGp4o8eVZh+glsLh1pOXzNFkATyra6TieRJSK+D8LpQ9gMJd12QdY71uJpy+To/xWmvmv57O379locjH6RGOkoHPg0TEKyZb0pPCyRWX6ssRTWXck2GjhyZC4ZF4+B/2c3bhjbtwxxzPyvCglsrnOy+4cvyq3WeGJy48RDcW05H54wqKhEpYsMy5RyXrTpRGZZdb0r/jugWPrxROa6UHgINB6yiGRCk9p3UVVCSeZLXKPnkXoPjeeMNoSnySeMTTV+QkiiN+dhaQM0ys8FbSPJ/8K54TceuGZxLAQCUmBTNDjdsvzuHGXtM00R9qcGLndouLL541fkeXVoN4hn80XL5XnH8SlFScVngLeu7TtJjxrDIbJIr6nKAFAWT2NocDJP1ZZzP9Z4i8S+ljheRO3vvitA3zPJLp7kRf5soSW4EcUebd7pmRQSGGSZDgtLbX8PUF+Un5dGXH+CcdYlTv4vwuGbqbqp8q7qd8JTo5h2qakZ82JFEa6wFMYfJCgW9iBZ1R0jyyGJ5F9II8MvZ4vkHcP5FM6yxWe/NYc+j9zjid7Fh0A3Xjy5+ahnOYRkZlcnENdjAMmNnkmMQ8CEy8OoyyJIsw8eM6YRlES5Q8PvmYe9MZGlErB5XhGUYnnQ+CX8cfIYFgsf8Qo4nfBLIrixOevdwz7RI6rfDNI692KdTzTR3mmZ30887CGZxQ+cALi/8wigJDLKNJ8T/irX1xdU4CaSoXKe+AZkeiWJp7nyTItvnGHImecySf2H2n68viTjNJXnOQvxvhrEL8YfrxC7/5EYXTy8Yvymx40V8fnE/p8euoAAXqBD8W/nSbZi7v0L+yfSJjeb/jGH4jjGT/4z6NDPmtJz2ext+JWpD4LPCtQ4sTue8r4OJ/duL9y9WF5Evhr7uR1l7zd4LccY2nAX+RR/noiWBzjfMpR633U02MRB5NLGzwh+Kfcbk/uWGdPL8xymhCWePdQ4MmZveGEEeg6yBLEnyXxweCkqbi/LAfHt9M9i2VeA/HHuvlJCng+4+zBP/N5zqWZKzGnnuPJ8izE9+zgU+cA11RQJJlKPKPS5Lfx9GQjkjqni5KPqLmDevKXICrVkxOTec845R+C/M54HJgynAg8OV08LrtzbYyfmfA9QSfTR5Q+uAl6AJ78laLxzX+ozgX56ik8Y34vHtkl2Ieks8Azf+X57XbkYUs/SymjksGbCsErPFVIUX5py3vKN/kTWkKyW4RynMcEVb5n9vIy+DRyHzO7o3tc4sn/zzFXzJdUT9DDmFvwe4lnzF+MuOj7ws+kwDM9xdwrTbheJugGfAs8YRl95B3qqctlXuaYJUw8ZC3xVKTwN+MNnq9otx1LT2PkTkkVuUc+fwF8EkeAH+buYoUn5i9VFN04ntxJ5d5kFJN7CLoYCuPOIyMae6+i70vhecIx5aJA7pHH/ej4hSKf34N/HrxnFPu3A0896Vm54qoxOdbxFN5pnhSNdxY886hx1qgO/HA8V5xQl8QEFsFnRTjzeDxvXOdS8nj6mRQ6boxTEWnz/0N0v/lPcB9ZGOLnPeexD+RJZX6Tw36/e0jaFq6T4m9Ar5sPEsweuc9Zj253evMSyh8LPx7WvOgftO3P5/OhHdDMCJT+PMi0i9/hxvwlv0oy/tXzpu73rK5HjosDx/xtg1t0POEB6VA8Vav9Qle7YJnGWePYv6glqQPTDbH1IKrPVDIzSxt5S/5gcHPz+cGdEIeeB1Mxgo91XPx8eNA5hOE+95mQSvZshcDlrrBngdJcfI9ePquSQYb72B6f23pKnlxrHzl9sPIczYHcli5v/8k5hKNRn0/Y5Q1pktTD3oHlgedMfI42HlpV9ADhwPO4juvA87gOPI/ruA48j+vA87iO68DzuI7rwPO4DjyP67gOPI/rj1//AaZMhGDpRjyyAAAAAElFTkSuQmCC
/***
|Name:|NewHerePlugin|
|Description:|Creates the new here and new journal macros|
|Version:|3.0 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
merge(config.macros, {
	newHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	},
	newJournalHere: {
		handler: function(place,macroName,params,wikifier,paramString,tiddler) {
			wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);
		}
	}
});

//}}}
/***
|Name:|NewMeansNewPlugin|
|Description:|If 'New Tiddler' already exists then create 'New Tiddler (1)' and so on|
|Version:|1.1 ($Rev: 2263 $)|
|Date:|$Date: 2007-06-13 04:22:32 +1000 (Wed, 13 Jun 2007) $|
|Source:|http://mptw.tiddlyspot.com/empty.html#NewMeansNewPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Note: I think this should be in the core
***/
//{{{

String.prototype.getNextFreeName = function() {
       var numberRegExp = / \(([0-9]+)\)$/;
       var match = numberRegExp.exec(this);
       if (match) {
               var num = parseInt(match[1]) + 1;
               return this.replace(numberRegExp," ("+num+")");
       }
       else {
               return this + " (1)";
       }
}

config.macros.newTiddler.checkForUnsaved = function(newName) {
	var r = false;
	story.forEachTiddler(function(title,element) {
		if (title == newName)
			r = true;
	});
	return r;
}

config.macros.newTiddler.getName = function(newName) {
       while (store.getTiddler(newName) || config.macros.newTiddler.checkForUnsaved(newName))
               newName = newName.getNextFreeName();
       return newName;
}


config.macros.newTiddler.onClickNewTiddler = function()
{
	var title = this.getAttribute("newTitle");
	if(this.getAttribute("isJournal") == "true") {
		var now = new Date();
		title = now.formatString(title.trim());
	}

	title = config.macros.newTiddler.getName(title); // <--- only changed bit

	var params = this.getAttribute("params");
	var tags = params ? params.split("|") : [];
	var focus = this.getAttribute("newFocus");
	var template = this.getAttribute("newTemplate");
	var customFields = this.getAttribute("customFields");
	story.displayTiddler(null,title,template,false,null,null);
	var tiddlerElem = document.getElementById(story.idPrefix + title);
	if(customFields)
		story.addCustomFields(tiddlerElem,customFields);
	var text = this.getAttribute("newText");
	if(typeof text == "string")
		story.getTiddlerField(title,"text").value = text.format([title]);
	for(var t=0;t<tags.length;t++)
		story.setTiddlerTag(title,tags[t],+1);
	story.focusTiddler(title,focus);
	return false;
};

//}}}
|bgcolor(pink):  Take a few minutes to learn about [[Using the Manual]]... this is //similar but different// to other websites.  Pages you open by clicking [[Links]] will appear in your "Currently Open" list in the left hand margin (or scroll down to find them at the bottom of your desktop, where they will have already opened.  You can see how many pages you have opened on the left hand margin - a little number on the pages icon for your "Currently open" list.)<br><html><iframe width="480" height="360" src="http://www.youtube.com/embed/TJ4WFQ1ov7g?rel=0" frameborder="0" allowfullscreen></iframe></html> |
//{{{
config.filters.numbersort = function(results,match) {
	var field = match[3];
	results = results.sort(function(a, b) {
		var val1 = a[field] || a.fields[field];
		var val2 = b[field] || b.fields[field];
		return parseFloat(val1, 10) < parseFloat(val2, 10) ? -1 : 1;
	});
	return results;
};
//}}}
iVBORw0KGgoAAAANSUhEUgAAAp4AAAJbCAMAAAB6jWSmAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpGRTdGMTE3NDA3MjA2ODExOTEwOUY5OTBCQ0YxRjM1MCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEMkE2OTFFOTRBMTYxMUUxQkI0ODgzMDJGMDFGM0M0OCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEMkE2OTFFODRBMTYxMUUxQkI0ODgzMDJGMDFGM0M0OCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNGODRBODgyNjAyMDY4MTE5MTA5Rjk5MEJDRjFGMzUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFN0YxMTc0MDcyMDY4MTE5MTA5Rjk5MEJDRjFGMzUwIi8+IDwvcmRmOkRlc2NyaXB0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
!!!!(a) Boundaries and shared responsibility
There are [[Rituals and Disciplines]] that dictate how a team does this, documented at [[Manualization Boundaries]].

It is important that this process is not driven and controlled by a single authority figure in the team, or by one enthusiast, but that it is seen as the responsibility of ''All team members''.  As one of the [[Core Features of AMBIT]] everyone in the team should understand the nature of the [[Dynamic, adaptive Manualization]] and be prepared to offer up material for the team as one of the [[Rituals and Disciplines]] of working in this way.

!!!!(b) Making time for Manualizing 
We recommend there should be a ''Manualization'' slot in [[Team Meetings]], where the team attends to the //ongoing task// of manualizing itself.

Alternatively, teams might wish to set aside a regular (say monthly) meeting specifically for this purpose - collecting an "agenda" for this from the business that has preoccupied the team in the past weeks.

!!!!(c) Allocating Roles
We recommend that there are three SEPARATE roles in the team meeting where manualizing is part of the agenda, and these should not held by the same person:
 
* ''The Chair''
** Chairing is a skill that requires practice and some authority in the team - having a "rotating chair" may feel democratic and inclusive, but risks ineffective chairing, and loss of task.  
** See [[Role of the Chair]]
* ''The Learning Support Worker''
** All teams are vulnerable to becoming "learning disabled" (see [[Senge: Discipline 5 - Team Learning]]) and should be prepared to accept support in learning from their experiences.  The role of the learning support worker is to maintain a "meta-perspective" on their team's live discussion, keeping in mind //"What are the learning points about practice that might be generalisable from this discussion?"//.
** See [[Role of the Team Learning Support Worker]]
* ''The Scribe'' 
** Some teams might prefer to scribe on paper, and then delegate someone to load the material into the manual later, others may want to manualize "live" into the manual, via an LCD projector.
** See [[Role of the team Scribe]]

!!!!(d) Equipment and permissions
It is helpful for an AMBIT team to have regular access to computers and to internet access.

An ''LCD Projector'' is useful, so that the manual can be projected during team meetings, and clinical discussions minuted //"in vivo"//. 

[[TiddlyManual]]s run on any modern browser, but especially in accessing the other web-based materials that are embedded in the the manual, we recognise that there may be teething troubles in getting [[Organisational support for the technology to run TiddlyManuals]] and we provide pointers and resources for this.
It can be difficult to persuade large organisations such as the NHS or Social Services to make the I.T. changes to allow the full use of [[TiddlyManual]]s.

We have worked hard to ensure the manuals will work even in quite old (ancient) versions of not-particularly-great browsers such as internet explorer (many NHS organisations still use Internet Explorer 6 in 2011!)

!Simple fixes

!!!Use a better browser
It may be possible to make a specific case for a team using tiddlymanuals to be allowed to download and use the freely available [[Firefox browser|http://www.mozilla.org/en-US/firefox/new/]], which is a much better browser than Internet Explorer, especially in its earlier versions, and which works much better with the simple technology that [[TiddlyManual]]s use.  [[Google Chrome|http://www.google.com/chrome]] would be another free option.

!!!Permit streaming video
Apply for an exception for a team using Tiddlymanuals so that they are allowed to access Youtube or other streaming video content.  Many large organisations are anxious about "everyone" using streaming video resources, as these are demanding on "bandwidth", but in reality, staff in a tiddlymanual are not going to be spending all day watching the [[Videos]]!  There is further [[Advice on getting permissions to view YouTube clips]].

!!!Upgrade Flash player
Some Trusts do not update the Flash Player that they supply, and this can make it hard to access video content in the manual.

!Strategic approaches

Find a friendly senior member of the I.T. department in your organisation - many of these people are only too aware of the limitations of the systems they are paid to maintain, and are looking for interesting, creative ways to improve the organisation's use of IT, in wayys that are not too expensive.  It is important to emhasise the fact that this is a "future-facing" approach, and that it is free.  The UK government has recently published [[guidelines|http://www.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit]] advising offices to look at open source solutions as a first port of call.

Ideally, broker a meeting between senior managers in your organisation with a more strategic outlook, and the IT department, to consider how the organisation wishes to move forwards using IT to support its aims.  Suggest that your team might be seen as a small test case for this kind of approach.

See also some of the external resources laid out below.

!External resources

There are some helpful online resources to show to managers in the NHS, that may help to allay concerns or overcome common barriers to change that occur:

An official NHS site called the [[Armchair Involvement project]] describes itself as //"Helping you to use new technology to engage people in service improvement"// which ticks a lot of boxes.

A site, referenced from the above site, called [[Social Strategy - breaking down the barriers]] lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.

!Keep up, the world is changing!
Finally, the [[UK government|http://www.cabinetoffice.gov.uk/resource-library/open-source-procurement-toolkit]] itself is recommending that opensource solutions are looked at by its various offices before they commit to old-style 'closed-source' resources - See [[UK Government support for Open Source]]
This is a description of a phrase used in the technical workings of the manual, rather than (in this instance) referring to children whose parents have died.

The [[tab|Tabs]] that you will find in the [[Index]] lists any Tiddlers ''that are not [[linked|Links]] to from any other Tiddlers.  This is quite useful to know if you are an author/editor, but otherwise quite boring.
<!--{{{-->
<div class='header'>
	<div id='sidebarSearch'>
		<span macro='search'></span>
	</div>
	<div class='headerForeground'>
		<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
		<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
	</div>
	<div class='clearFloat'></div>
</div>

<div id='menuBar'>
	<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
	<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
</div>
<div id='displayArea'>
	<div id='messageArea'></div>
	<div id='tiddlerDisplay'></div>
	<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<!--}}}-->
List of plugins used by ambit, and the reason for their inclusion.

!!Other
SyncPlugin
JStorage
CloseOnCancelPlugin
ExtendTagButtonPlugin
ExtraFiltersPlugin
hijackCreateTagButton
NewHerePlugin
NewMeansNewPlugin
PrettyDatesPlugin
PrintClientNotesPlugin
QuickOpenTagPlugin
RecentChangesPlugin
RenameTagsPlugin
resetPlugin
SelectThemePlugin
SimpleSearchPlugin
StorySaverPlugin
TagglyTaggingPlugin
TemplateFormatterPlugin
TemplatePlugin
ValueSwitcherPlugin
zAutoUpdater
zConfigTweaks


!!Standard TiddlySpace plugins
BinaryTiddlersPlugin
BinaryUploadPlugin
BreadcrumbsPlugin
chrjs
chrjs.space
chrjs.users
DiffFormatter
ErrorHandler
GroupByPlugin
ImageMacroPlugin
LazyTiddlersPlugin
RandomColorPalettePlugin
RevisionsCommandPlugin
ServerSideSavingPlugin
TiddlyFileImporter
TiddlySpaceBackstage
TiddlySpaceChangePassword
TiddlySpaceCloneCommand
TiddlySpaceConfig
TiddlySpaceFilters
TiddlySpaceFollowingPlugin
TiddlySpaceIdentities
TiddlySpaceInclusion
TiddlySpaceInit
TiddlySpaceLinkPlugin
TiddlySpaceMembers
TiddlySpacePublishingCommands
TiddlySpaceRevertRevision
TiddlySpaceRevisionView
TiddlySpaceSpaces
TiddlySpaceTiddlerIconsPlugin
TiddlySpaceToolbar
TiddlySpaceUserControls
TiddlySpaceViewTypes
TiddlyWebAdaptor
TiddlyWebConfig
ToggleTiddlerPrivacyPlugin
Well known Microsoft Slide program.  As in "death by power point".

Consider other ways of organizing your information to speak about it - why not a TiddlyManual!
It may have been a Pretty Link that you clicked to find your way here, but the content is pretty boring.

* [[Pretty Links]] allow you to include spaces and can look like "ordinary" text; they are just ''text that is enclosed in double square brackets'' which contain the desired tiddler name:
** e.g.: {{{[[Pretty Links]]}}} makes a link to [[Pretty Links]]...

* Optionally, a custom title or description can be added, separated by a "pipe character" ( the vertical line - {{{|}}})):
** {{{[[page title that shows in the text|target page that opens when you click]]}}}
** '''N.B.:''' In this case, the target can also be any website (i.e. URL) - i.e. you can make an external link to the tiddlymanuals site like [[this|http://www.tiddlymanuals.com]] by using this code: {{{[[this|http://www.tiddlymanuals.com]]}}}.
/***
|Name:|PrettyDatesPlugin|
|Description:|Provides a new date format ('pppp') that displays times such as '2 days ago'|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#PrettyDatesPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Notes
* If you want to you can rename this plugin. :) Some suggestions: LastUpdatedPlugin, RelativeDatesPlugin, SmartDatesPlugin, SexyDatesPlugin.
* Inspired by http://ejohn.org/files/pretty.js
***/
//{{{
Date.prototype.prettyDate = function() {
	var diff = (((new Date()).getTime() - this.getTime()) / 1000);
	var day_diff = Math.floor(diff / 86400);

	if (isNaN(day_diff))      return "";
	else if (diff < 0)        return "in the future";
	else if (diff < 60)       return "just now";
	else if (diff < 120)      return "1 minute ago";
	else if (diff < 3600)     return Math.floor(diff/60) + " minutes ago";
	else if (diff < 7200)     return "1 hour ago";
	else if (diff < 86400)    return Math.floor(diff/3600) + " hours ago";
	else if (day_diff == 1)   return "Yesterday";
	else if (day_diff < 7)    return day_diff + " days ago";
	else if (day_diff < 14)   return  "a week ago";
	else if (day_diff < 31)   return Math.ceil(day_diff/7) + " weeks ago";
	else if (day_diff < 62)   return "a month ago";
	else if (day_diff < 365)  return "about " + Math.ceil(day_diff/31) + " months ago";
	else if (day_diff < 730)  return "a year ago";
	else                      return Math.ceil(day_diff/365) + " years ago";
}

Date.prototype.formatString_orig_mptw = Date.prototype.formatString;

Date.prototype.formatString = function(template) {
	return this.formatString_orig_mptw(template).replace(/pppp/,this.prettyDate());
}

// for MPTW. otherwise edit your ViewTemplate as required.
// config.mptwDateFormat = 'pppp (DD/MM/YY)'; 
config.mptwDateFormat = 'pppp'; 

//}}}
This is easy.

If you press the Print button on your Browser then all [[Tiddler]]s //that are currently open on your desktop// will print out.

!!!!NB the following content NOT yet working (as at Oct 2012):
If you are using downloaded copies of the manual in its most interactive mode - as workbooks to keep notes on client work ([[ICR]]) - then in order to print out all notes related to your client, you should use the [[Print ClientNotes]] function.
PrintClientNotes = {
	tiddlers: {},
	getSince: function() {
		var t = store.getTiddler("Print ClientNotes");
		var since = t.fields.since;
		return since || "";
	},
	storeSince: function(since) {
		if(typeof since!=="string") {
			since = since.convertToYYYYMMDDHHMM();
		}
		var t = store.getTiddler("Print ClientNotes");
		t.fields.since = since;
		return since;
	},
	addToLog: function() {
		var now = new Date();
		var head = "| !date | !type | !print since |\n";
		var tiddler = store.getTiddler("PrintHistory");
		if (!tiddler) {
			tiddler = new Tiddler();
			tiddler.title = "PrintHistory";
			tiddler.text = head;
			tiddler.created = now;
		}
		if(tiddler.text.indexOf(head)===-1) {
			tiddler.text = head + tiddler.text;
		}
		var since = this.getSince();
		if(!since) {
			type = "Print all";
		} else {
			type = since;
		}
		var text ="| "+now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") + " (" + now.convertToYYYYMMDDHHMM() + ")"+" | "+type+" | <<chkPrintSince>> |\n";
		tiddler.text = tiddler.text + text;
		tiddler.modifier = config.options.txtUserName;
		tiddler.modified = now;
		store.addTiddler(tiddler);
		// refresh and notify for immediate update
		// goal is to get the Print ClientNotes tiddler to update
		//story.refreshTiddler(tiddler.title);
		//store.notify(tiddler.title, true);
	},
	print: function(str) {
		var srcWindow = window.open("", "sourceWindow", "width=700,height=600");
		var srcDocument = srcWindow.document;
		srcDocument.write("<html><head></head><body>" + str + "</body></html>");
		srcDocument.close();
		//srcDocument.print(); - there is a command for this, but it's not this
	}
};

config.macros.printClientNotes = {
	onclick: function() {
		PrintClientNotes.addToLog();
		if(PrintClientNotes.tiddlers) {
			// this only gets section tiddlers, change later to deal with all tiddlers - probably shape the templates somehow
			var str = "";
			var section, notes, note;
			for(var i in PrintClientNotes.tiddlers) {
				section = store.getTiddler(i);
				notes = PrintClientNotes.tiddlers[i];
				str += expandTemplate("ClientNotesSectionTemplate",[section]);
				for(var j=0;j<notes.length;j++) {
					note = store.getTiddler(notes[j]);
					str += expandTemplate("ClientNotesNoteTemplate",[note]);
				}
			}
			PrintClientNotes.print(str);
		} else {
			displayMessage('no tiddlers to print');
		}
	},
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		createTiddlyButton(place, "Print", "Print ClientNotes", config.macros.printClientNotes.onclick, "button");
	}
};

config.macros.chkPrintSince = {
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var dateField = place.parentNode.getElementsByTagName('td')[0];
		var start = dateField.innerHTML.indexOf('(');
		var end = dateField.innerHTML.indexOf(')',start);
		var mySince;
		if(start && end) {
			// assumes dateField has (YYYYMMDDHHMM) after the human-readable date
			mySince = dateField.innerHTML.substring(start+1,end);
		}
		if(!mySince) {
			throw new Error('could not find date field for this row');
		}
		var change = function() {
			// update since and refresh Print ClientNotes tiddler
			return true;
		};
		var c = document.createElement("input");
		c.setAttribute("type","checkbox");
		c.className = "chkPrintSince";
		c.onclick = change;
		var since = PrintClientNotes.getSince();
		if(since === mySince) {
			c.checked = true;
		} else {
			c.checked = false;
		}
		place.appendChild(c);
		return c;
	}
};

config.macros.createTagGroup = {

	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var title = params[0];
		var list = store.getTaggedTiddlers(title);
		var sortBy = "title";
		var sortOrder = "asc";

		var leftOvers = [];
		for (var i=0;i<list.length;i++) {
			leftOvers.push(list[i].title);
		}

		PrintClientNotes.tiddlers = {};
		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (!allTagsHolder[list[i].tags[j]]) {
						allTagsHolder[list[i].tags[j]] = "";
						PrintClientNotes.tiddlers[list[i].tags[j]] = [];
					}

					allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]\n";
					PrintClientNotes.tiddlers[list[i].tags[j]].push(list[i].title);

					leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder) {
			allTags.push(t);
		}

		var sortHelper = function(a,b) {
			if (a == b) { return 0; }
			if (a < b) { return -1; }
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") { return sortHelper(a,b); }
			else if (!tidA && !tidB) { return 0; }
			else if (!tidA) { return -1; }
			else if (!tidB) { return +1; }
			else { return sortHelper(tidA[sortBy],tidB[sortBy]); }
		});

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++) {
			leftOverOutput += "*[["+leftOvers[i]+"]]\n";
		}

		var output = "";

		if (sortOrder == "desc") {
			allTags.reverse();
		} else if (leftOverOutput != "") {
			// leftovers first...
			output += leftOverOutput;
		}

		for (var i=0;i<allTags.length;i++) {
			if (allTagsHolder[allTags[i]] != "") {
				output += "*[["+allTags[i]+"]]\n" + allTagsHolder[allTags[i]];
			}
		}

		if (sortOrder == "desc" && leftOverOutput != "") {
			// leftovers last...
			output += leftOverOutput;
		}

		wikify(output,place);
	}
};
One of the [[Tabs]] from the [[Index]] lists [[Tiddler]]s, that are ''Private'' as opposed to [[Public]].

In TiddlySpace [[Tiddler]]s can exist in one of two states - you can see the state indicated when you are in the [[Edit]] mode for a particular tiddler. A blue circle, with white in the centre, signifies "Public", a pink centre, with white around the circumference, signifies "private".

You can [[Switch the "status" of tiddlers from Private to Public, or vice versa]] very easily.

You will see that you (or at least anyone who is a MEMBER of the SPACE - see [[Space menu]]) can [[Switch the "status" of tiddlers from Private to Public, or vice versa]].
One of the [[Tabs]] from the [[Index]] lists [[Tiddler]]s that are ''Public'' as opposed to [[Private]].

In TiddlySpace [[Tiddler]]s can exist in one of two states - you can see the state indicated when you are in the [[Edit]] mode for a particular tiddler.  A blue circle, with white in the centre, signifies "Public", a pink centre, with white around the circumference, signifies "private".

You can [[Switch the "status" of tiddlers from Private to Public, or vice versa]] very easily.

You (or at least anyone who is a MEMBER of the SPACE - see [[Space menu]]) can [[Switch the "status" of tiddlers from Private to Public, or vice versa]].
/***
|Name:|QuickOpenTagPlugin|
|Description:|Changes tag links to make it easier to open tags as tiddlers|
|Version:|3.0.1 ($Rev: 3861 $)|
|Date:|$Date: 2008-03-08 10:53:09 +1000 (Sat, 08 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
***/
//{{{
config.quickOpenTag = {

	dropdownChar: (document.all ? "\u25bc" : "\u25be"), // the little one doesn't work in IE?

	createTagButton: function(place,tag,excludeTiddler) {
		// little hack so we can do this: <<tag PrettyTagName|RealTagName>>
		var splitTag = tag.split("|");
		var pretty = tag;
		if (splitTag.length == 2) {
			tag = splitTag[1];
			pretty = splitTag[0];
		}
		
		var sp = createTiddlyElement(place,"span",null,"quickopentag");
		createTiddlyText(createTiddlyLink(sp,tag,false),pretty);
		
		var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,
                        config.views.wikified.tag.tooltip.format([tag]),onClickTag);
		theTag.setAttribute("tag",tag);
		if (excludeTiddler)
			theTag.setAttribute("tiddler",excludeTiddler);
    		return(theTag);
	},

	miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tagged = store.getTaggedTiddlers(tiddler.title);
		if (tagged.length > 0) {
			var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,
                        	config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);
			theTag.setAttribute("tag",tiddler.title);
			theTag.className = "miniTag";
		}
	},

	allTagsHandler: function(place,macroName,params) {
		var tags = store.getTags(params[0]);
		var filter = params[1]; // new feature
		var ul = createTiddlyElement(place,"ul");
		if(tags.length == 0)
			createTiddlyElement(ul,"li",null,"listTitle",this.noTags);
		for(var t=0; t<tags.length; t++) {
			var title = tags[t][0];
			if (!filter || (title.match(new RegExp('^'+filter)))) {
				var info = getTiddlyLinkInfo(title);
				var theListItem =createTiddlyElement(ul,"li");
				var theLink = createTiddlyLink(theListItem,tags[t][0],true);
				var theCount = " (" + tags[t][1] + ")";
				theLink.appendChild(document.createTextNode(theCount));
				var theDropDownBtn = createTiddlyButton(theListItem," " +
					config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);
				theDropDownBtn.setAttribute("tag",tags[t][0]);
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by QuickOpenTagPlugin */",
".tagglyTagged .quickopentag, .tagged .quickopentag ",
"	{ margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",
".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",
".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",
"/* extra specificity to make it work right */",
"#displayArea .viewer .quickopentag a.button, ",
"#displayArea .viewer .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink, ",
"#mainMenu .quickopentag a.tiddyLink ",
"	{ border:0px solid black; }",
"#displayArea .viewer .quickopentag a.button, ",
"#mainMenu .quickopentag a.button ",
"	{ margin-left:0px; padding-left:2px; }",
"#displayArea .viewer .quickopentag a.tiddlyLink, ",
"#mainMenu .quickopentag a.tiddlyLink ",
"	{ margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",
"a.miniTag {font-size:150%;} ",
"#mainMenu .quickopentag a.button ",
"	/* looks better in right justified main menus */",
"	{ margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", 
"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",
"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",
"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		// we fully replace these builtins. can't hijack them easily
		window.createTagButton = this.createTagButton;
		config.macros.allTags.handler = this.allTagsHandler;
		config.macros.miniTag = { handler: this.miniTagHandler };
		config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;
		store.addNotification("QuickOpenTagStyles",refreshStyles);
	}
}

config.quickOpenTag.init();

//}}}
/***
|''Name''|RandomColorPalettePlugin|
|''Description''|Adds a random color palette to TiddlyWiki|
|''Author''|Jon Robson|
|''Version''|1.4.0|
|''Status''|stable|
|''Source''|https://github.com/jdlrobson/TiddlyWikiPlugins/raw/master/plugins/RandomColorPalettePlugin/RandomColorPalettePlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
{{{
<<RandomColorPalette>>
}}}
Sets and saves a random color palette on execution

{{{
<<RandomColorPaletteButton>>
}}}
Creates a button, which when clicked will change the color palette
More information at http://macros.tiddlyspace.com/#%5B%5BRandomColorPaletteButton%20macro%5D%5D
!Code
***/
//{{{
RGB.prototype.toRGBString = function() {
	return "rgb(%0,%1,%2)".format(parseInt(this.r * 255, 10),
		parseInt(this.g * 255, 10), parseInt(this.b * 255, 10))
}
function HSL_TO_RGB(h, s, l) { // h (hue) between 0 and 360, s (saturation) & l (lightness) between 0 and 1
	var c = l <= 0.5 ? 2 * l * s : ( 2 - (2 * l)) * s;
	var h1 = h / 60;
	var x = c * (1 - Math.abs((h1 % 2) - 1)); 
	var r, g, b;
	if(typeof(h) == 'undefined') {
		r = 0;
		g = 0;
		b = 0;
	} else if(0 <= h1 && h1 < 1) {
		r = c;
		g = x;
		b = 0;
	} else if(1 <= h1 && h1 < 2) {
		r = x;
		g = c;
		b = 0;
	} else if(2 <= h1 && h1 < 3) {
		r = 0;
		g = c;
		b = x;
	} else if(3 <= h1 && h1 < 4) {
		r = 0;
		g = x;
		b = c;
	} else if(4 <= h1 && h1 < 5) {
		r = x;
		g = 0;
		b = c;
	} else if(5 <= h1 && h1 < 6) {
		r = c;
		g = 0;
		b = x;
	}
	m = l - (0.5 * c);
	return new RGB(r + m, g + m, b + m);
}

(function($){
	var macro = config.macros.RandomColorPalette = {
		messagesOn: false, 
		changedPaletteText: "We have assigned you a random theme by adjusting the [[ColorPalette]] tiddler.\nDon't like it? Click <<RandomColorPalette>> for another one.", 
		handler: function(place, macroName, params, wikifier, paramString, tiddler) {
			paramString = paramString || "";
			var options = macro.getOptions(paramString);
			macro.generatePalette(options, true);
		},
		optionTypes: {
			floats: ["hue", "saturation", "darkest", "lightness", "huevariance", "dark", "pale", "light", "mid",
				"saturation_light", "saturation_pale", "saturation_mid", "saturation_dark"
			]
		},
		getOptions: function(paramString) {
			var args = paramString.parseParams("name", null, true, false, true)[0];
			var options = {};
			var numbers = macro.optionTypes.floats;
			for(var i in args) {
				options[i] = numbers.indexOf(i) > -1 ? parseFloat(args[i][0], 10) : args[i][0];
			}
			return options;
		},
		generateRandomNumber: function(min, max, info) {
			var num = (Math.random() * 1);
			info = !info ? { attempts:0 } : info;
			info.attempts += 1;
			var good = true;
			if(min == max) {
				return max;
			}
			if(min && num < min) {
				good = false;
			} else if(max && num > max) {
				good = false;
			}
			if(!good) {
				if(info.attempts < 5) {
					return macro.generateRandomNumber(min, max, info);
				} else {
					if(max) {
						return max;
					} else if(min) {
						return min;
					} else {
						return 1;
					}
				}
			}
			return num;
		},
		getExistingPalette: function(asJSON) {
			var title = "ColorPalette";
			var tiddlerText;
			if(store.tiddlerExists(title)) {
				tiddlerText = store.getTiddlerText(title);
			} else if(store.isShadowTiddler(title)){
				tiddlerText = config.shadowTiddlers[title];
			}
			if(asJSON) {
				var json = {};
				if(tiddlerText) {
					var lines = tiddlerText.split("\n");
					for(var i = 0; i < lines.length; i++) {
						var definition = lines[i].split(":");
						if(definition.length == 2) {
							var name = definition[0].trim();
							var value = definition[1].trim();
							json[name] = value;
						}
					}
				}
				return json;
			} else {
				return tiddlerText;
			}
		},
		generatePalette: function(options, save) {
			var outputRGB = options.rgb;
			var palette = macro.getExistingPalette(true);
			var hue = options.hue || Math.floor(Math.random() * 359);
			var saturation = options.saturation || macro.generateRandomNumber(0.3, 0.7);
			var dark = options.dark || options.darkest || macro.generateRandomNumber(0, 0.10);
			var pale = options.pale || options.lightness || macro.generateRandomNumber(0.90, 1);
			var delta = ( ( pale - dark ) / 3 );
			var mid = options.mid || dark + delta;
			var light = options.light || dark + (delta * 2);
			var lightness_values = {Dark: dark, Mid: mid, Light: light, Pale: pale};
			var saturation_values = {};
			for(i in lightness_values) {
				if(true) {
					saturation_values[i] = options["saturation_" + i.toLowerCase()] || saturation;
				}
			}

			var opposite_hue = (hue + 180) % 360;
			var seed = options.huevariance || Math.floor((85 * Math.random()) + 5); // we want it to be at least 5 degrees
			var huetwo = (opposite_hue + seed) % 360;
			var huethree = (opposite_hue - seed) % 360;
			if(huetwo < 0) {
				huetwo = 360 + huetwo;
			}
			if(huethree < 0) {
				huethree = 360 + huethree;
			}
			for(var j in lightness_values) {
				if(true) {
					var saturation = saturation_values[j];
					palette["Primary" + j] = HSL_TO_RGB(hue, saturation, lightness_values[j]);
					palette["Secondary" + j] = HSL_TO_RGB(huetwo, saturation, lightness_values[j]);
					palette["Tertiary" + j] = HSL_TO_RGB(huethree, saturation, lightness_values[j]);
				}
			}
			palette.Background = HSL_TO_RGB(hue, saturation, 0.92);
			palette.Foreground = HSL_TO_RGB(hue, saturation, 0.08);
			palette.ColorPaletteParameters = ["HSL([", hue, "|", seed, "], [", saturation_values.Pale, "|",
				saturation_values.Light, "|", saturation_values.Mid, "|", saturation_values.Dark, "],",
				"[", dark, "|", mid, "|", light, "|", pale, "])"].join("");
			// construct new ColorPalette
			var text = ["/*{{{*/\n"];
			var colorcode;
			for(var id in palette) {
				if(true) {
					var color = palette[id];
					colorcode = outputRGB ? color.toRGBString() : color.toString();
					text.push("%0: %1\n".format(id, colorcode));
				}
			}
			text.push("/*}}}*/");
			text = text.join("");
			if(save) {
				macro.saveColorPalette(text);
			}
			return text;
		},
		saveColorPalette: function(text) {
			var tid = store.getTiddler("ColorPalette");
			if(!tid) {
				tid = new Tiddler("ColorPalette");
				tid.fields = merge({}, config.defaultCustomFields);
			} // TODO: detect that the ColorPalette in the space comes from outside recipe
			tid.fields["server.page.revision"] = "false"; // edit conflicts dont matter

			// save the color palette in tid
			tid = store.saveTiddler(tid.title, tid.title, text, tid.modifier, tid.modified,
				tid.tags, tid.fields, false, tid.created, tid.creator);
			// an interval is used to cope with users clicking on the palette button quickly.
			if(macro._nextSave) {
				window.clearTimeout(macro._nextSave);
			}
			macro._nextSave = window.setTimeout(function() {
					autoSaveChanges(null, [tid]);
				}, 2000);
			// temporary workaround for IE.
			$.twStylesheet.remove({ id: "StyleSheetColors" });
			$.twStylesheet.remove({ id: "StyleSheet" });
			refreshAll();
			macro.reportChange();
			return tid;
		},
		reportChange: function() {
			if(macro.messagesOn) { // only display message once..
				var msgPlace = getMessageDiv();
				if(!$(".changedPalette", msgPlace)[0]) {
					var tempPlace = document.createElement("div");
					wikify("{{changedPalette{" + macro.changedPaletteText + "}}}", tempPlace);
					msgPlace.appendChild(tempPlace);
				}
			}
		}
	};
	var btnMacro = config.macros.RandomColorPaletteButton = {
			text: "New ColorPalette",
			tooltip: "Generate a random colour scheme for your TiddlyWiki",
			makeButton: function(place, options) {
				var btnHandler = function(ev) {
					var t = $(ev.target);
					var options = t.data("options");
					macro.generatePalette(options, true);
					ev.preventDefault();
					return false;
				};
				var btn = createTiddlyButton(place, this.text, this.tooltip, btnHandler);
				$(btn).data("options", options);
				return btn;
			},
			handler: function(place, macroName, params, wikifier, paramString, tiddler) {
				var options = macro.getOptions(paramString);
				btnMacro.makeButton(place, options);
			}
	};
})(jQuery);
//}}}
/***
|''Name''|RandomSortFilter|
|''Version''|0.1.2|
!Description
Updates the sort filter to take a keyword *random
!Usage
{{{
[sort[*random]]
}}}
***/
//{{{
(function() {
var _sort = config.filters.sort;
config.filters.sort = function(results,match) {
	if(match[3] === "*random") {
		results = results.sort(function(a, b) {
			var r = Math.random();
			return r < 0.5 ? -1 : 1;
		});
		return results;
	} else {
		return _sort.apply(this, arguments);
	}
};
})();
//}}}
This is the title of one of the [[Tabs]] in the [[Index]].

It is of particular use if material is being added frequently, as it lists all the [[Tiddler]]s in date order ''according to which ones have been most recently edited/worked upon'' (N.B. NOT in the order in which they have most recently been opened for reading.)
!Work in Progress

The content of this [[Dynamic, adaptive Manualization]] and its layout is ''continually being updated and improved'' by the [[Authors]], as well as by the [[Manualizing|Manualization]] efforts by local teams in the many [[local versions|http://tiddlymanuals.tiddlyspace.com/#AMBIT]] that are now being adapted.  (Your [[Feedback please!]] helps to improve things.)   If needed (e.g. for formal intervention trials) it is possible to separate out a 'fixed' version.  

|bgcolor(lightblue): Keep a track of recent changes (last 100 days) in content here (select from the drop-down list, and then click "go to"): <br> <br> <<recentChanges 100>> <br> |

<<tabs
	txtMainTab
	"Pages listed in order of recent changes" "Recently edited tiddlers" TabTimeline
        "All pages listed alphabetically" "All tiddlers" TabAll
>>
/***
|Name|RecentChangesPlugin|
|Source|http://www.TiddlyTools.com/#RecentChangesPlugin|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|display droplist of recently changed tiddlers with goto, edit, and preview buttons|
!!!!!Usage
<<<
The {{{<<recentChanges>>}}} macro displays a droplist of all tiddlers that have been changed within the last N days (default=10 days).  
<<<
!!!!!Examples
<<<
{{{<<recentChanges>>}}}
<<recentChanges>>
or
{{{<<recentChanges #ofdays previewheight previewclass>>}}}
where:
* #ofdays specifies the time limit for list changed tiddlers.  Use 0 (zero) to list all tiddlers in the document
* previewheight is a CSS height measurement and sets the FIXED height of the tiddler preview area (default is 15em)
* previewclass is any CSS classname, and can be used to apply custom styles to the preview area (default is to use the standard 'viewer' class)
<<recentChanges 14 10em groupbox>>
<<<
!!!!!Revisions
<<<
2008.05.01 [2.0.1] fixup for titles with double-quotes
2007.07.26 [2.0.0] re-written as plugin
2006.10.02 [1.0.0] initial release (as inline script ShowRecentChanges)
<<<
!!!!!Code
***/
//{{{
version.extensions.recentChanges= {major: 2, minor: 0, revision: 1, date: new Date(2008,5,1)};

config.shadowTiddlers.RecentChanges="<<recentChanges>>";

config.macros.recentChanges = {
	layout: '<form><!--\
		--><select size=1 name="list" style="width:69.5%" \
			onchange=" \
				this.form.goto.disabled=this.form.edit.disabled=this.form.preview.disabled=!this.value.length; \
				var target=this.parentNode.parentNode.nextSibling; removeChildren(target); \
				if (!this.value.length) \
					{ target.style.display=\'none\'; this.form.preview.value=\'preview\'; } \
				else if (target.style.display==\'block\') { \
					wikify(\'<\'+\'<tiddler [[\'+this.value+\']]>\'+\'>\',target); \
					target.style.display=\'block\'; \
					this.form.preview.value=\'done\'; \
				} \
			"><!--\
		-->%options%<!--\
		--></select><!--\
		--><input type="button" name="goto" value="goto" disabled title="view selected tiddler" style="width:10%" \
			onclick="var target=this.parentNode.parentNode.nextSibling; removeChildren(target); \
				target.style.display=\'none\'; this.form.preview.value=\'preview\'; \
				story.displayTiddler(story.findContainingTiddler(this),this.form.list.value); \
			"><!--\
		--><input type="button" name="edit" value="edit" disabled title="edit selected tiddler" style="width:10%" \
			onclick="var target=this.parentNode.parentNode.nextSibling; removeChildren(target); \
				target.style.display=\'none\'; this.form.preview.value=\'preview\'; \
				story.displayTiddler(story.findContainingTiddler(this),this.form.list.value,DEFAULT_EDIT_TEMPLATE); \
			"><!--\
		--><input type="button" name="preview" value="preview" disabled title="show/hide tiddler preview" style="width:10%" \
			onclick="var target=this.parentNode.parentNode.nextSibling; \
				if (this.value==\'preview\') { \
					removeChildren(target); \
					wikify(\'<\'+\'<tiddler [[\'+this.form.list.value+\']]>\'+\'>\',target); \
					target.style.display=this.form.list.value.length?\'block\':\'none\'; this.value=\'done\'; \
				} else { \
					removeChildren(target); \
					target.style.display=\'none\'; this.value=\'preview\'; \
				} \
			"><!--\
		--></form>',
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var days=10; if (!isNaN(params[0])) days=parseInt(params[0]); // time limit in days (use 0 for all tiddlers)
		var height='15em'; if (params[1]) height=params[1]; // preview area fixed height
		var previewclass='viewer'; if (params[2]) previewclass=params[2]; // preview area CSS class
		var tiddlers=store.getTiddlers('modified','excludeLists').reverse();
		var count=tiddlers.length;
		if (days) {
			var timelimit=(new Date()).getTime()-86400000*days;
			for (var count=0; count<tiddlers.length && tiddlers[count].modified>timelimit; count++);
		}
		var opts="";
		opts+='<option value="">';
		opts+=count+' tiddlers have changed since ';
		opts+=new Date(timelimit).formatString("DDD, MMM DDth YYYY 0hh:0mm");
		opts+=' ('+days+' days ago)';
		opts+='</option>';
		for (var i=0; i<count; i++) { var t=tiddlers[i];
			opts+='<option value="'+t.title.replace(/"/g,"&#x22;")+'">';
			opts+=t.modified.formatString('YYYY.0MM.0DD 0hh:0mm')+' - '+t.title;
			opts+='</option>';
		}
		createTiddlyElement(place,"div").innerHTML=this.layout.replace(/%options%/,opts);
		var preview=createTiddlyElement(place,"div",null,previewclass);
		preview.style.display='none';
		preview.style.whiteSpace='normal';
		preview.style.overflow='auto';
		preview.style.height=height;
	}
}
//}}}
This is one of the options contained in the [[Show references and info]] panel that is accessible for every page ([[Tiddler]].)

This menu option opens a drop down pick-list of all/any  related Tiddlers that link to (or 'reference') the one you are currently studying.

For example, clicking on the [[References]] option from menu for //this// Tiddler right here will show a list of all the other Tiddlers that have [[Links]] to this one. 

!Why?

This is more obviously useful in a clinical/learning framework.  A worker might read a Tiddler about a particular subject, and use the [[References]] button to locate //associated// material from a wide variety of areas. 

Sometimes, referenced associations discovered in this way will be //unexpected//, or will have been //overlooked//, so that fostering a habit of checking for [[Integrative]] links in this way is a helpful KeyWorker practice.
/***
|''Name''|RefreshTiddlerCommand|
|''Version''|0.3.0|
***/
//{{{
(function($) {

var cmd = config.commands.refreshTiddler = {
	text: "refresh",
	locale: {
		refreshing: "Refreshing tiddler..."
	},
	tooltip: "refresh this tiddler to be the one on the server",
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(!tiddler) {
			tiddler = new Tiddler(title);
			merge(tiddler.fields, config.defaultCustomFields);
		}
		$(story.getTiddler(title)).find(".viewer").
			empty().text(cmd.locale.refreshing);
		var dirtyStatus = store.isDirty();
		story.loadMissingTiddler(title, {
			"server.workspace": tiddler.fields["server.recipe"]  ? "recipes/" + tiddler.fields["server.recipe"] :
				tiddler.fields["server.workspace"] || "bags/"+tiddler.fields["server.bag"],
			"server.host": tiddler.fields["server.host"],
			"server.type": tiddler.fields["server.type"]
		}, function() {
			store.setDirty(dirtyStatus);
		});
	}
};

})(jQuery);
//}}}
If you are not yet registered, go to http://tiddlyspace.com, and follow the instructions there.

This will give you a username and a password.  

In addition you get a TiddlySpace of your own.

>//NB: You don't have to do anything with that space (wiki) at all if you don't want to (just leave it blank) - it is just a personal wiki that you could use if you want one.  Some people use TiddlyWiki's as blogs, or personal websites, or - indeed - treatment manuals!//

Once you are registered, you can:
 
(a) Open/create new spaces (see the [[User menu]] for instructions on how to do this, or go straight to [[Make a new space]].) 
(b) Make other people members of spaces (if you are a member yourself!)

!Getting editing rights

If you want to be able to edit your team's local tiddlymanual, then you need to give your username (just your username, not your password!) to another person who is already a member of that space, who can add you as a member, using the [[Space menu]] for that manual.  See [[Making someone a member of a space]].
/***
|Name:|RenameTagsPlugin|
|Description:|Allows you to easily rename or delete tags across multiple tiddlers|
|Version:|3.0 ($Rev: 5501 $)|
|Date:|$Date: 2008-06-10 23:11:55 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#RenameTagsPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License|http://mptw.tiddlyspot.com/#TheBSDLicense|
Rename a tag and you will be prompted to rename it in all its tagged tiddlers.
***/
//{{{
config.renameTags = {

	prompts: {
		rename: "Rename the tag '%0' to '%1' in %2 tidder%3?",
		remove: "Remove the tag '%0' from %1 tidder%2?"
	},

	removeTag: function(tag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,tag);
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	renameTag: function(oldTag,newTag,tiddlers) {
		store.suspendNotifications();
		for (var i=0;i<tiddlers.length;i++) {
			store.setTiddlerTag(tiddlers[i].title,false,oldTag); // remove old
			store.setTiddlerTag(tiddlers[i].title,true,newTag);  // add new
		}
		store.resumeNotifications();
		store.notifyAll();
	},

	storeMethods: {

		saveTiddler_orig_renameTags: TiddlyWiki.prototype.saveTiddler,

		saveTiddler: function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
			if (title != newTitle) {
				var tagged = this.getTaggedTiddlers(title);
				if (tagged.length > 0) {
					// then we are renaming a tag
					if (confirm(config.renameTags.prompts.rename.format([title,newTitle,tagged.length,tagged.length>1?"s":""])))
						config.renameTags.renameTag(title,newTitle,tagged);

					if (!this.tiddlerExists(title) && newBody == "")
						// dont create unwanted tiddler
						return null;
				}
			}
			return this.saveTiddler_orig_renameTags(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
		},

		removeTiddler_orig_renameTags: TiddlyWiki.prototype.removeTiddler,

		removeTiddler: function(title) {
			var tagged = this.getTaggedTiddlers(title);
			if (tagged.length > 0)
				if (confirm(config.renameTags.prompts.remove.format([title,tagged.length,tagged.length>1?"s":""])))
					config.renameTags.removeTag(title,tagged);
			return this.removeTiddler_orig_renameTags(title);
		}

	},

	init: function() {
		merge(TiddlyWiki.prototype,this.storeMethods);
	}
}

config.renameTags.init();

//}}}
<!--{{{-->
<div macro='slideRevision'></div>
<div class='heading'>
	<span class="titleBar">
		<div class='title' macro='view title text'></div>
	</span>
	<span class='modifierIcon'
		macro='view modifier SiteIcon label:no height:48 width:48 preserveAspectRatio:yes'>
	</span>
	<div class='toolbar'
		macro='toolbar [[ToolbarCommands::RevisionToolbar]] icons:yes height:48 width:48 more:popup'>
	</div>
	<div class='tagClear'></div>
</div>
<div class='content'>
	<div class='viewer' macro='view text wikified'></div>
</div>
<div class='tagInfo'>
	<div class='tidTags' macro='tags'></div>
	<div class='tagging' macro='tagging'></div>
</div>
<!--}}}-->
/***
|''Name''|RevisionsCommandPlugin|
|''Description''|provides access to tiddler revisions|
|''Author''|FND|
|''Contributors''|Martin Budden|
|''Version''|0.3.3|
|''Status''|@@beta@@|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/RevisionsCommandPlugin.js|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/association/plugins/|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Keywords''|serverSide|
!Usage
Extend [[ToolbarCommands]] with {{{revisions}}}.
!Revision History
!!v0.1 (2009-07-23)
* initial release (renamed from experimental ServerCommandsPlugin)
!!v0.2 (2010-03-04)
* suppressed wikification in diff view
!!v0.3 (2010-04-07)
* restored wikification in diff view
* added link to side-by-side diff view
!To Do
* strip server.* fields from revision tiddlers
* resolve naming conflicts
* i18n, l10n
* code sanitizing
* documentation
!Code
***/
//{{{
(function($) {

jQuery.twStylesheet(".diff { white-space: pre, font-family: monospace }",
	{ id: "diff" });

var cmd = config.commands.revisions = {
	type: "popup",
	hideShadow: true,
	text: "revisions",
	tooltip: "display tiddler revisions",
	revTooltip: "", // TODO: populate dynamically?
	loadLabel: "loading...",
	loadTooltip: "loading revision list",
	selectLabel: "select",
	selectTooltip: "select revision for comparison",
	selectedLabel: "selected",
	compareLabel: "compare",
	linkLabel: "side-by-side view",
	revSuffix: " [rev. #%0]",
	diffSuffix: " [diff: #%0 #%1]",
	dateFormat: "YYYY-0MM-0DD 0hh:0mm",
	listError: "revisions could not be retrieved",

	handlePopup: function(popup, title) {
		title = this.stripSuffix("rev", title);
		title = this.stripSuffix("diff", title);
		var tiddler = store.getTiddler(title);
		var type = _getField("server.type", tiddler);
		var adaptor = new config.adaptors[type]();
		var limit = null; // TODO: customizable
		var context = {
			host: _getField("server.host", tiddler),
			workspace: _getField("server.workspace", tiddler)
		};
		var loading = createTiddlyButton(popup, cmd.loadLabel, cmd.loadTooltip);
		var params = { popup: popup, loading: loading, origin: title };
		adaptor.getTiddlerRevisionList(title, limit, context, params, this.displayRevisions);
	},

	displayRevisions: function(context, userParams) {
		removeNode(userParams.loading);
		if(context.status) {
			var callback = function(ev) {
				var e = ev || window.event;
				var revision = resolveTarget(e).getAttribute("revision");
				context.adaptor.getTiddlerRevision(tiddler.title, revision, context,
					userParams, cmd.displayTiddlerRevision);
			};
			var table = createTiddlyElement(userParams.popup, "table");
			for(var i = 0; i < context.revisions.length; i++) {
				var tiddler = context.revisions[i];
				var row = createTiddlyElement(table, "tr");
				var timestamp = tiddler.modified.formatString(cmd.dateFormat);
				var revision = tiddler.fields["server.page.revision"];
				var cell = createTiddlyElement(row, "td");
				createTiddlyButton(cell, timestamp, cmd.revTooltip, callback, null,
					null, null, { revision: revision });
				cell = createTiddlyElement(row, "td", null, null, tiddler.modifier);
				cell = createTiddlyElement(row, "td");
				createTiddlyButton(cell, cmd.selectLabel, cmd.selectTooltip,
					cmd.revisionSelected, null, null, null,
					{ index:i, revision: revision, col: 2 });
				cmd.context = context; // XXX: unsafe (singleton)!?
			}
		} else {
			$("<li />").text(cmd.listError).appendTo(userParams.popup);
		}
	},

	revisionSelected: function(ev) {
		var e = ev || window.event;
		e.cancelBubble = true;
		if(e.stopPropagation) {
			e.stopPropagation();
		}
		var n = resolveTarget(e);
		var index = n.getAttribute("index");
		var col = n.getAttribute("col");
		while(!index || !col) {
			n = n.parentNode;
			index = n.getAttribute("index");
			col = n.getAttribute("col");
		}
		cmd.revision = n.getAttribute("revision");
		var table = n.parentNode.parentNode.parentNode;
		var rows = table.childNodes;
		for(var i = 0; i < rows.length; i++) {
			var c = rows[i].childNodes[col].firstChild;
			if(i == index) {
				if(c.textContent) {
					c.textContent = cmd.selectedLabel;
				} else {
					c.text = cmd.selectedLabel;
				}
			} else {
				if(c.textContent) {
					c.textContent = cmd.compareLabel;
				} else {
					c.text = cmd.compareLabel;
				}
				c.onclick = cmd.compareSelected;
			}
		}
	},

	compareSelected: function(ev) {
		var e = ev || window.event;
		var n = resolveTarget(e);
		var context = cmd.context;
		context.rev1 = n.getAttribute("revision");
		context.rev2 = cmd.revision;
		context.tiddler = context.revisions[n.getAttribute("index")];
		context.format = "unified";
		context.adaptor.getTiddlerDiff(context.tiddler.title, context,
			context.userParams, cmd.displayTiddlerDiffs);
	},

	displayTiddlerDiffs: function(context, userParams) {
		var tiddler = context.tiddler;
		tiddler.title += cmd.diffSuffix.format([context.rev1, context.rev2]);
		tiddler.text = "{{diff{\n" + context.diff + "\n}}}";
		tiddler.tags = ["diff"];
		tiddler.fields.doNotSave = "true"; // XXX: correct?
		if(!store.getTiddler(tiddler.title)) {
			store.addTiddler(tiddler);
		}
		var src = story.getTiddler(userParams.origin);
		var tiddlerEl = story.displayTiddler(src, tiddler);
		var uri = context.uri.replace("format=unified", "format=horizontal");
		var link = $('<a target="_blank" />').attr("href", uri).text(cmd.linkLabel);
		$(".viewer", tiddlerEl).prepend(link);
	},

	displayTiddlerRevision: function(context, userParams) {
		var tiddler = context.tiddler;
		tiddler.title += cmd.revSuffix.format([tiddler.fields["server.page.revision"]]);
		tiddler.fields.doNotSave = "true"; // XXX: correct?
		if(!store.getTiddler(tiddler.title)) {
			store.addTiddler(tiddler);
		}
		var src = story.getTiddler(userParams.origin);
		story.displayTiddler(src, tiddler);
	},

	stripSuffix: function(type, title) {
		var str = cmd[type + "Suffix"];
		var i = str.indexOf("%0");
		i = title.indexOf(str.substr(0, i));
		if(i != -1) {
			title = title.substr(0, i);
		}
		return title;
	}
};

var _getField = function(name, tiddler) {
	return tiddler.fields[name] || config.defaultCustomFields[name];
};

})(jQuery);
//}}}
!What is this for?
The Snapshot is a simple and immediate way to make a record of a page or a set of pages that you have opened and want to be able to share...   It allows you to generate a link (a "URL") that you can email to anyone, which will open just those pages that you have got opened on your [[Desktop]] at this time.   

This is one of a number of [[Comparing and Sharing functions]] that [[TiddlyManual]]s contain.

!What do I do?
1. Get the page or pages that you are interested in opened up on your [[Desktop]].
2. Open the [[Sidebar]] and find the little Camera icon beside the [[Currently Open]] list:

<html><a href="https://picasaweb.google.com/lh/photo/wScWtP2SLM_Y_qQpeqI5t9MTjNZETYmyPJy0liipFm0?feat=embedwebsite"><img src="https://lh3.googleusercontent.com/-7DBn-KiG2js/T2DZuajleJI/AAAAAAAAEC0/rrx_sX9DYZ4/s800/SnapshotButton.jpg" height="414" width="575" /></a></html>

3. Click the SNAPSHOT button 
4. Have a look at your browser's Address box (where the web address or "URL" goes that sends the browser to the right web page.)
5. Copy the new URL (web address) that is in the browser's address box.
6. Paste that address into the body of an email (or anywhere you want to save it).
7. Next time you or the person who receives the email click that link, it will open the manual with exactly those same pages already opened up.

!Why?
This can be very helpful in [[Team Meetings]] or in supervision sessions: case discussion may involve looking at content from the manual and this can be emailed directly to the worker.
This function is also known as "permaview" - clicking here <<permaview>> does exactly the same thing (try it!)
When you are editing your ''online'' version of the manual saving of any changes you make is AUTOMATIC - this will happen as long as you are;

(a) ''__REGISTERED__'' as a user of Tiddlyspace (you will need to define a username and a password to do this - [[Register on TiddlySpace]].)
(b) ''__A MEMBER__'' of the space you are editing (this will require someone who is ALREADY a member of the space to make you a member.  See the [[Space menu]] for more details. 
(c) ''__LOGGED__'' in as a user (see [[Log in]].)

!Saving in downloaded versions

If you are playing with a DOWNLOADED version of the manual, then at present you will not be able to edit and save content - this is because the developers are working to make local saving of a downloaded copy robust and simple enough to support the use of downloaded copies of the manual as "workbooks".  When this is done (later in 2011) working notes on the client will be able to be made within the wiki, stored securely on a local server (not online!) and will easily export notes to other settings such as paper (print-outs) or other secure databases.  This will bring manualized content into direct proximity with day-to-day notekeeping (we refer to this //developing// function as [[ICR]] - interactive case recording.)


!What?
The Search facility is simple, but cleverer than it looks at first.  In particular it lets you search for a word or phrase either just in your OWN manual, or //across all the different versions// of (the AMBIT or other) [[TiddlyManual]]s that are included in the "[[Community of Practice]]" that AMBIT in particular seeks to foster.  It is one of the ways that the AMBIT manual encourages workers and separate teams with [[Comparing and Sharing functions]].

<html><iframe width="480" height="360" src="http://www.youtube.com/embed/1fkROEXtaI8?rel=0" frameborder="0" allowfullscreen></iframe></html>
!Where?
Find the search box at the top of the [[Sidebar]] on the left of your screen (you may need to toggle the sidebar into view if it has been tucked away.) 
!How?
Just type in the word or phrase you are looking for and it will automatically open up a list of all the [[Tiddler]]s which contain it, with the word highlighted in each one - if it is a long list, then there will be a little scroll bar to help to scan up and down the list to select the title tat you are interested in.
//''NB'' - It searches only for the precise phrase you type in, not the same words but in different combinations (if you search for "red apples" you won't turn up "green apples and red tomatoes".)
!!Searching across OTHER team's versions
If you click the little checkbox just above the main search box that is labelled ''//"search all manuals"//'' you will see additional titles of other versions of the manual listed.
!Why?
This makes it easy to search for content in your own manual, but is also designed to foster curiosity in workers from //one// team, about the ways that workers from //another// team manage particular areas of practice
/***
|Name:|SelectThemePlugin|
|Description:|Lets you easily switch theme and palette|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SelectThemePlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
* Borrows largely from ThemeSwitcherPlugin by Martin Budden http://www.martinswiki.com/#ThemeSwitcherPlugin
* Theme is cookie based. But set a default by setting config.options.txtTheme in MptwConfigPlugin (for example)
* Palette is not cookie based. It actually overwrites your ColorPalette tiddler when you select a palette, so beware. 
!Usage
* {{{<<selectTheme>>}}} makes a dropdown selector
* {{{<<selectPalette>>}}} makes a dropdown selector
* {{{<<applyTheme>>}}} applies the current tiddler as a theme
* {{{<<applyPalette>>}}} applies the current tiddler as a palette
* {{{<<applyTheme TiddlerName>>}}} applies TiddlerName as a theme
* {{{<<applyPalette TiddlerName>>}}} applies TiddlerName as a palette
***/
//{{{

config.macros.selectTheme = {
	label: {
      		selectTheme:"select theme",
      		selectPalette:"select palette"
	},
	prompt: {
		selectTheme:"Select the current theme",
		selectPalette:"Select the current palette"
	},
	tags: {
		selectTheme:'systemTheme',
		selectPalette:'systemPalette'
	}
};

config.macros.selectTheme.handler = function(place,macroName)
{
	var btn = createTiddlyButton(place,this.label[macroName],this.prompt[macroName],this.onClick);
	// want to handle palettes and themes with same code. use mode attribute to distinguish
	btn.setAttribute('mode',macroName);
};

config.macros.selectTheme.onClick = function(ev)
{
	var e = ev ? ev : window.event;
	var popup = Popup.create(this);
	var mode = this.getAttribute('mode');
	var tiddlers = store.getTaggedTiddlers(config.macros.selectTheme.tags[mode]);
	// for default
	if (mode == "selectPalette") {
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),"(default)","default color palette",config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',"(default)");
		btn.setAttribute('mode',mode);
	}
	for(var i=0; i<tiddlers.length; i++) {
		var t = tiddlers[i].title;
		var name = store.getTiddlerSlice(t,'Name');
		var desc = store.getTiddlerSlice(t,'Description');
		var btn = createTiddlyButton(createTiddlyElement(popup,'li'),name ? name : title,desc ? desc : config.macros.selectTheme.label['mode'],config.macros.selectTheme.onClickTheme);
		btn.setAttribute('theme',t);
		btn.setAttribute('mode',mode);
	}
	Popup.show();
	return stopEvent(e);
};

config.macros.selectTheme.onClickTheme = function(ev)
{
	var mode = this.getAttribute('mode');
	var theme = this.getAttribute('theme');
	if (mode == 'selectTheme')
		story.switchTheme(theme);
	else // selectPalette
		config.macros.selectTheme.updatePalette(theme);
	return false;
};

config.macros.selectTheme.updatePalette = function(title)
{
	if (title != "") {
		store.deleteTiddler("ColorPalette");
		if (title != "(default)")
			store.saveTiddler("ColorPalette","ColorPalette",store.getTiddlerText(title),
					config.options.txtUserName,undefined,"");
		refreshAll();
		if(config.options.chkAutoSave)
			saveChanges(true);
	}
};

config.macros.applyTheme = {
	label: "apply",
	prompt: "apply this theme or palette" // i'm lazy
};

config.macros.applyTheme.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
	var useTiddler = params[0] ? params[0] : tiddler.title;
	var btn = createTiddlyButton(place,this.label,this.prompt,config.macros.selectTheme.onClickTheme);
	btn.setAttribute('theme',useTiddler);
	btn.setAttribute('mode',macroName=="applyTheme"?"selectTheme":"selectPalette"); // a bit untidy here
}

config.macros.selectPalette = config.macros.selectTheme;
config.macros.applyPalette = config.macros.applyTheme;

config.macros.refreshAll = { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
	createTiddlyButton(place,"refresh","refresh layout and styles",function() { refreshAll(); });
}};

//}}}
/***
|''Name''|ServerSideSavingPlugin|
|''Description''|server-side saving|
|''Author''|FND|
|''Version''|0.6.5|
|''Status''|stable|
|''Source''|http://svn.tiddlywiki.org/Trunk/association/plugins/ServerSideSavingPlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.5.3|
|''Keywords''|serverSide|
!Notes
This plugin relies on a dedicated adaptor to be present.
The specific nature of this plugin depends on the respective server.
!Revision History
!!v0.1 (2008-11-24)
* initial release
!!v0.2 (2008-12-01)
* added support for local saving
!!v0.3 (2008-12-03)
* added Save to Web macro for manual synchronization
!!v0.4 (2009-01-15)
* removed ServerConfig dependency by detecting server type from the respective tiddlers
!!v0.5 (2009-08-25)
* raised CoreVersion to 2.5.3 to take advantage of core fixes
!!v0.6 (2010-04-21)
* added notification about cross-domain restrictions to ImportTiddlers
!To Do
* conflict detection/resolution
* rename to ServerLinkPlugin?
* document deletion/renaming convention
!Code
***/
//{{{
(function($) {

readOnly = false; //# enable editing over HTTP

var plugin = config.extensions.ServerSideSavingPlugin = {};

plugin.locale = {
	saved: "%0 saved successfully",
	saveError: "Error saving %0: %1",
	saveConflict: "Error saving %0: edit conflict",
	deleted: "Removed %0",
	deleteError: "Error removing %0: %1",
	deleteLocalError: "Error removing %0 locally",
	removedNotice: "This tiddler has been deleted.",
	connectionError: "connection could not be established",
	hostError: "Unable to import from this location due to cross-domain restrictions."
};

plugin.sync = function(tiddlers) {
	tiddlers = tiddlers && tiddlers[0] ? tiddlers : store.getTiddlers();
	$.each(tiddlers, function(i, tiddler) {
		var changecount = parseInt(tiddler.fields.changecount, 10);
		if(tiddler.fields.deleted === "true" && changecount === 1) {
			plugin.removeTiddler(tiddler);
		} else if(tiddler.isTouched() && !tiddler.doNotSave() &&
				tiddler.getServerType() && tiddler.fields["server.host"]) { // XXX: server.host could be empty string
			delete tiddler.fields.deleted;
			plugin.saveTiddler(tiddler);
		}
	});
};

plugin.saveTiddler = function(tiddler) {
	try {
		var adaptor = this.getTiddlerServerAdaptor(tiddler);
	} catch(ex) {
		return false;
	}
	var context = {
		tiddler: tiddler,
		changecount: tiddler.fields.changecount,
		workspace: tiddler.fields["server.workspace"]
	};
	var serverTitle = tiddler.fields["server.title"]; // indicates renames
	if(!serverTitle) {
		tiddler.fields["server.title"] = tiddler.title;
	} else if(tiddler.title != serverTitle) {
		return adaptor.moveTiddler({ title: serverTitle },
			{ title: tiddler.title }, context, null, this.saveTiddlerCallback);
	}
	var req = adaptor.putTiddler(tiddler, context, {}, this.saveTiddlerCallback);
	return req ? tiddler : false;
};

plugin.saveTiddlerCallback = function(context, userParams) {
	var tiddler = context.tiddler;
	if(context.status) {
		if(tiddler.fields.changecount == context.changecount) { //# check for changes since save was triggered
			tiddler.clearChangeCount();
		} else if(tiddler.fields.changecount > 0) {
			tiddler.fields.changecount -= context.changecount;
		}
		plugin.reportSuccess("saved", tiddler);
		store.setDirty(false);
	} else {
		if(context.httpStatus == 412) {
			plugin.reportFailure("saveConflict", tiddler);
		} else {
			plugin.reportFailure("saveError", tiddler, context);
		}
	}
};

plugin.removeTiddler = function(tiddler) {
	try {
		var adaptor = this.getTiddlerServerAdaptor(tiddler);
	} catch(ex) {
		return false;
	}
	var context = {
		host: tiddler.fields["server.host"],
		workspace: tiddler.fields["server.workspace"],
		tiddler: tiddler
	};
	var req = adaptor.deleteTiddler(tiddler, context, {}, this.removeTiddlerCallback);
	return req ? tiddler : false;
};

plugin.removeTiddlerCallback = function(context, userParams) {
	var tiddler = context.tiddler;
	if(context.status) {
		if(tiddler.fields.deleted === "true") {
			store.deleteTiddler(tiddler.title);
		} else {
			plugin.reportFailure("deleteLocalError", tiddler);
		}
		plugin.reportSuccess("deleted", tiddler);
		store.setDirty(false);
	} else {
		plugin.reportFailure("deleteError", tiddler, context);
	}
};

plugin.getTiddlerServerAdaptor = function(tiddler) { // XXX: rename?
	var type = tiddler.fields["server.type"] || config.defaultCustomFields["server.type"];
	return new config.adaptors[type]();
};

plugin.reportSuccess = function(msg, tiddler) {
	displayMessage(plugin.locale[msg].format([tiddler.title]));
};

plugin.reportFailure = function(msg, tiddler, context) {
	var desc = (context && context.httpStatus) ? context.statusText :
		plugin.locale.connectionError;
	displayMessage(plugin.locale[msg].format([tiddler.title, desc]));
};

config.macros.saveToWeb = { // XXX: hijack existing sync macro?
	locale: { // TODO: merge with plugin.locale?
		btnLabel: "save to web",
		btnTooltip: "synchronize changes",
		btnAccessKey: null
	},

	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		createTiddlyButton(place, this.locale.btnLabel, this.locale.btnTooltip,
			plugin.sync, null, null, this.locale.btnAccessKey);
	}
};

// hijack saveChanges to trigger remote saving
var _saveChanges = saveChanges;
saveChanges = function(onlyIfDirty, tiddlers) {
	if(window.location.protocol == "file:") {
		_saveChanges.apply(this, arguments);
	} else {
		plugin.sync(tiddlers);
	}
};

// override removeTiddler to flag tiddler as deleted -- XXX: use hijack to preserve compatibility?
TiddlyWiki.prototype.removeTiddler = function(title) { // XXX: should override deleteTiddler instance method?
	var tiddler = this.fetchTiddler(title);
	if(tiddler) {
		tiddler.tags = ["excludeLists", "excludeSearch", "excludeMissing"];
		tiddler.text = plugin.locale.removedNotice;
		tiddler.fields.deleted = "true"; // XXX: rename to removed/tiddlerRemoved?
		tiddler.fields.changecount = "1";
		this.notify(title, true);
		this.setDirty(true);
	}
};

// hijack ImportTiddlers wizard to handle cross-domain restrictions
var _onOpen = config.macros.importTiddlers.onOpen;
config.macros.importTiddlers.onOpen = function(ev) {
	var btn = $(resolveTarget(ev));
	var url = btn.closest(".wizard").find("input[name=txtPath]").val();
	if(window.location.protocol != "file:" && url.indexOf("://") != -1) {
		var host = url.split("/")[2];
		var macro = config.macros.importTiddlers;
		if(host != window.location.host) {
			btn.text(macro.cancelLabel).attr("title", macro.cancelPrompt);
			btn[0].onclick = macro.onCancel;
			$('<span class="status" />').text(plugin.locale.hostError).insertAfter(btn);
			return false;
		}
	}
	return _onOpen.apply(this, arguments);
};

})(jQuery);
//}}}
!What to do:
Go to the [[Ambit Install|http://ambit-install.tiddlyspace.com]] website and follow the instructions from there.
!Note:  
Only teams trained by the AMBIT project will be included in the [[Comparing and Sharing functions]]  of the manual, that allows teams to look across at and share the benefits of each other's work.
!Note:
The content of the AMBIT manual is [[Licensed]] under a Creative commons License, so it is freely available under certain terms and conditions.
If you're done setting up, click <<completeSetup>>.

------

Welcome to your brand new manual!

To get started with this blank manual, you'll probably want to set up the following things:
* Upload a SiteIcon. A SiteIcon gives your manual an identity to make it recognisable to others. Try to keep your SiteIcon 40px or less in height.
<<binaryUploadPublic title:SiteIcon>>
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu that appears in the sidebar
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlySpace is opened
* Many features of TiddlySpace are accessed via the backstage bar located at the top of the page. You can toggle it on or off using the button in the top right corner of the screen.
Knowing about these is of little use to the everyday Tiddlymanual user.

The "Shadows" [[tab|Tabs]] in the [[Index]] lists all of the [[Tiddler]]s that are '''built in''', to make the TiddlyWiki format run properly - you can write over them but this will generally break stuff, so it is not recommended!  (If you do by accident, then you can always just delete your local version and "our" original version which yours had overwritten will just "pop back" into place - so you can't break anything permanently!)  

Mostly shadow tiddlers do the boring but necessary work of making the tiddlywiki run properly - but an example that you can (and generally do) change is, say, the SiteTitle.  
!A //"Mentalize this!"// function for each page...
Here you can look at "what lies beneath" a page; its "meta-data" - i.e.  its ''context'' (how it fits in to the whole), its ''connections'' (''references'' to this page from others in the form of [[Links]], and its [[Topic]]s and [[Sub-topic]]s), and its history -  how it has been developed over time, other versions, etc...  This kind of musing about the content has lots in common with our core theory of [[Mentalization]].

!How do I find this on a page?
You will find that every page ([[Tiddler]]) has an additional panel that you reveal by clicking in the black box (titled "Show references and info") just to the right of the main title.  When you click on this, the panel slides open up to reveal a number of headings, that give you information about this page and how it fits together with the rest of what is in the manual:

!Headings in the "Show references and info" panel:

!!!@@color(blue):Information@@
Under this heading you can look at:
* Who has ''Edited'' the content of the tiddler
* ''When'' it was edited last
* You can browse the history of ''revisions'' that led to it arriving in its present form (note that [[TiddlyManual]]s emphasise the fact that all treatments are "works in progress".)
* Any ''References'' to this tiddler in the form of [[Links]] to it from other tiddlers - ''this is a useful way to look for other material that is likely to be covering similar or neighbouring territory.''

!!!@@color(blue):Elsewhere - Comparing@@
[[TiddlyManual]]s are designed to provide a platform //for teams to work out their own implementation of best practice//, and they provide a number of [[Comparing and Sharing functions]] so that workers from one team can easily compare/contrast their methods of working with those of other teams, and can //share best practice// among a geographically and culturally diverse [[Community of Practice]]. 

You can see also [[Manualization]], which explains how a //locally-adapted// [[TeamTemplate]] is produced, that describes how //THIS team, working with THESE problems, in THIS setting// is working.  This adds up to a [[Dynamic, adaptive Manualization]] that grows and differentiates over time, as experience and evidence accumulates, while best new practices can be shared more widely and more quickly as required.

Using the buttons in the ''__Elsewhere__'' menu, content that diverges between different versions of the manual (different [[TeamTemplate]]s) can be ''compared'':
  
*If there are different versions available, you can click on the 'Compare' button, and you will see a drop-down list of other versions of the same tiddler in different "spaces" (tiddlymanuals).  
*Click on any item within this list that you want to compare to your own page.
*A new tab will immediately open in your browser, that shows //both versions of the page// you are comparing, side-by-side, with changes (deletions, additions, etc) highlighted in colours (the user interface of this comparing is due to improve in late 2012.)
 
!!!@@color(blue):Sub-topics@@
[[Tiddler]]s in a TiddlyManual are arranged in flexible hierarchies.  Under ''"This topic contains these sub-topics:"'' you will find links to any tiddlers that are classified as "[[Sub-topic]]s" of the tiddler you are looking at.  For instance, if the tiddler you were looking at was titled "Birds" you might find as sub-topics "Sparrows", "Hawks", "Crows".  

However, "Hawks" might //itself// have sub-topics, too.  If you looked at its own "Show Related Information" menu these would show up ("Kestrels", Sparrowhawks", etc).  

If you are [[Edit]]ing content, it is worth knowing that to produce [[Sub-topic]]s of Tiddler "A" you would [[tag|Tags]] them with the title of the [[Topic]] ("A", in this case.)  The same tiddler can thus be a Sub-topic, as well as being a Topic heading itself (with its own sub-topics.)

!!!@@color(blue):Topics@@
The heading ''"This topic is a sub-topic of:"'' shows you which other tiddlers are [[tagging|Tags]] //this particular Tiddler// - these are the 'Topic headlines' that this tiddler stands beneath.
<<closeAll>><<permaview>><<newTiddler>>
<<tiddler Backstage##Tiddlers>>
This is to the left of your screen.  You can make it appear or slide out of view by clicking the triangle on the little tab at the top.

The Sidebar is where you can navigate and order the material in the manual so that on your [[Desktop]] you have gathered only what you are interested in, and you can jump from page to page.  The following tools are here:

!SEARCH

[[Search]] box

!HISTORY

[[History recorder]]

!CURRENTLY OPEN

The [[Currently Open]] list shows you the pages you have opened on your [[Desktop]], and includes the camera icon button for the [[SNAPSHOT]] function.

!CONTENT

Here you will see an unfolding 'tree' view of all the contents of the manual.  Click on the + sign by a heading, and the sub-headings under that topic will open out - click on the words and the page will open on your [[Desktop]].  You can also look at this on a separate page ([[Contents/Sitemap]].)

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
Space ambit-ious-share
a TiddlySpace
ambit-ious-share
this website site, referenced by the NHS [[Armchair Involvement project]] site, lists 50 hurdles or barriers to large public organisations making best use of web 2.0 technology.  It is a helpful resource in negotiating for large organisations to allow for simple changes to I.T. systems to support the best use of the unfolding capabilities of the web.

<html><div align="center"><iframe src="http://web.archive.org/web/20091107041114/http://www.practicalparticipation.co.uk/socialstrategy/barriers:start" frameborder="0" width="100%" height="600"></iframe></div></html>

Most of what is here is ''only useful to advanced users'', and it is only available if you are using the manual in [[Advanced mode]].  

!Finding the Space menu

The Space menu is found on the [[Top menu bar]], that you can access in [[Advanced mode]] (click the little "target" symbol, and select ''"THIS SPACE"'').

!Menu contents

In the panel that opens, you can see:
* ''//information about the space//'', 
* information about ''//members of the space//'' (and you can [[add or subtract members|Making someone a member of a space]] if you are a member yourself).
* you can ''//[[include|Including spaces]] (or exclude) other spaces//'' here, too (but this is definitely a "high level" interaction, not for beginners, and is likely to interfere with the functioning of other bits of the manual, even though it is perfectly reversible!)

!To GET OUT of SPACE Menu

Click the button (top right) in the menu panel that says "HOME".

!Upload an icon
<<tiddler spaceIcon>>
!Describe your space
If you haven't already done so, you should provide a brief decscription of yourself and what you're using this space for. To do this, just edit the [[SiteInfo]] tiddler (keeping the title the same of course).

!Change the title
<<tiddler spaceTitle>>
!Change the theme
<<tiddler colorScheme>>
!Change the menu
If you'd like to change the menu items along the top, you can edit the [[MainMenu]] tiddler.

!Change the default tiddlers
<<tiddler setDefaultTiddlers>>
!More Advanced customisations
If you know HTML and CSS, you can edit some or all of the following tiddlers to customise your space further:
* PageTemplate
* EditTemplate
* ViewTemplate
* StyleSheet
A Space is what the web-based 'TiddlySpace' provides to host your [[Wiki]].

Read about TiddlySpace to understand the broader picture.
A Space can belong to a single member, or that member can make other people members (see [[Making someone a member of a space]]). 
If there is more than one person as members of a particular Space this is what the TiddlySpace developers call a 'small trusted group' - all of whom have equal rights (just as giving someone a key to the door of the office or your home would entail some trust.)

!Spaces can include other spaces!
What is neat about TiddlySpace is that ''one Space can include OTHER spaces'' (that is, the [[Public]] content from wikis that are curated by other people.)
These included Spaces might add //content//, //themes// (which determine how the wiki looks and behaves), or extra //functions//.
In the [[Index]], one of the [[Tabs]] you will see is Spaces, adn this lists all the Spaces that are INCLUDED in the present one to give you the nd reulst you are looking at.
If you are an advanced user, you may want to know about [[Including spaces]] to add further content/functions to your own wiki.
* To prevent the wiki 'markup syntax' (what we are calling the "EditingConventions") from taking effect for a particular section, that section can be enclosed in three double curly brackets: e.g. {{{"""WikiWord"""}}}.
* {{{<br>}}} forces a manual line break in a block of text
* {{{----}}} at the beginning of a line creates a horizontal ruler across the whole page - like this:
----
* [[HTML entities|http://www.tiddlywiki.com/#HtmlEntities]]
* {{{<<macroName>>}}} calls the respective [[macro|Macros]]
* ''To hide text within a tiddler so that it is not displayed'', it can be wrapped in {{{/%}}} and {{{%/}}}.<br/>This can be a useful trick for hiding drafts or annotating complex markup.
----
CSS programming for really fancy formating (complicated!)
* {{{@@CssProperty:value;CssProperty:value;…@@}}}<br>''N.B.:'' CSS color definitions should use lowercase letters to prevent the inadvertent creation of WikiWords.
* <html><code>{{customCssClass{…}}}</code></html>
* raw HTML can be inserted by enclosing the respective code in HTML tags: {{{<html> … </html>}}}
!This is only for [[ICR]]
This advice is only relevant if you are using the [[ICR]] capability of the manual - which is not active at Jan 2013
!What am I doing?
When opening a new case, it is important to recognise that this is a [[Dynamic, adaptive Manualization]] which is constantly changing and adapting (except in special circumstances such as a formal treatment trial, when the editing of it may be curtailed.)

Hence it is vital that each new patient/client starts with the most up-to-date version of the Manualization.  The TeamTemplate is the most up-to-date version of the team's manual, so that you (and your client!) get the benefit of the most recent work on the manual.  Your TeamTemplate is either Web-based or on a specific server - your team will know how to reach it.
!Setting up a new file:
1. Use your browser to go to the TeamTemplate.  Log on with your password.
2. Follow the instructions at [[Download a copy!]] after which you will end up with an "html" file that has your client's name or other identifying code as its name - for instance: ''johnsmith.html''
*__''Note:''__ - although this file will look and 'feel' just like a website, it is now functioning as a //document// and is NOT online, but is held entirely within your computer.  
*You can always check that you are //not// on the web by looking in your browser's address bar (the box at the tiop of your browser which displays the web "url": it will start with the word ''file:/'' rather than ''http:/'' or ''www.''
3. Now prepare this file to be used as a workbook for your specific client.
*Open the file in your browser (just double click on it) 
*Log in via the [[Backstage]] menu.  You will need your password and username.
*So that your own edits are recorded, you may need to add your own name either here : <<option txtUserName>> or via the ''Options'' button on the right hand margin (the [[Sidebar]]).  Once you are logged in this should occur automatically.
*Change the SiteTitle by editing it to your client's name - this is important as you need to be very clear WHOSE file you are recording in!
**see [[Edit]] if you are not sure how to do this - you can just click on the existing title to open the [[Tiddler]] that defines the title of the document, and then edit the text in that to the name of your client.
*Now you are ready to start using the manual as an interactive workbook for recording and thinking about the work with your new client.  
!Where next?
See [[Starting a NEW CASE - CheckLists]] for prompts on what needs doing.
Click the "new tiddler" button towards the top right of the screen to write something in your space. You'll need to give it a title, some content and, optionally, some tags that will help you identify it later.

!Stuck for ideas?
Not sure what to write about? Not sure what to keep in your space? Other people use ~TiddlySpace for almost anything. How about some of the following:

* [[Save interesting sites|http://bookmarks.tiddlyspace.com]], images or articles from around the web so that you can refer back to them.
* [[Record your family tree|http://familytree.tiddlyspace.com]], store notes on long lost relatives or ancestors and map their relationship to you.
* [[Make up a pocketbook|http://pocketbook.tiddlyspace.com]] to store some useful information in, then print it out, [[fold it up|http://www.pocketmod.com/]], and take it with you.
* [[Plan your holiday|http://the-web-is-your-oyster.tiddlyspace.com/]], record where you're planning to go, note down places of interest and refer back to it later.
* [[Create a mindmap|http://mindmaps.tiddlyspace.com/]] to visualise your inner thoughts and see how they relate to each other.
* [[Set up a questionnaire|http://questionnaire.tiddlyspace.com/]] and get all your friends to answer it.

If you don't like any of those ideas, you can still use this space directly to keep notes and link them together, make a todo list and keep track of everything you're doing, or any one of a hundred million other things.

Still stuck? Check out the @featured space for more suggestions.

You can also [[socialise with others|How to socialise]].
/***
|''Name''|StoryFilters|
|''Author''|Jon Robson|
|''Version''|0.6.7|
|''Status''|@@experimental@@|
|''Source''|https://raw.github.com/jdlrobson/TiddlyWikiPlugins/master/plugins/Filters/StoryFiltersPlugin.js|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Notes
Adds the following filters
{{{
[story[open]]
[story[sort]]
}}}
***/
//{{{
(function($) {
var _display = Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function() {
	var res =  _display.apply(this, arguments);
	$("[macroName=list]").each(function(i, el) {
		config.macros.list.refresh(el);
	});
	return res;
};
var _close = Story.prototype.closeTiddler;
Story.prototype.closeTiddler = function() {
	var res =  _close.apply(this, arguments);
	$("[macroName=list]").each(function(i, el) {
		config.macros.list.refresh(el);
	});
	return res;
};

config.storyFilters = {
	open: function(tiddler) {
		return story.getTiddler(tiddler.title) ? true : false;
	},
	sort: function(a, b) {
		var i = $(story.getTiddler(a.title)).index();
		var j = $(story.getTiddler(b.title)).index();
		return i < j ? -1 : 1;
	}
};
config.filters.story = function(results, match) {
	var arg = match[3];
	var newresults = [];
	var handler = config.storyFilters[arg];
	if(arg == "sort") {
		return results.sort(handler);
	} else {
		var tiddlers = store.getTiddlers();
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			if(handler && handler(tiddler)) {
				newresults.push(tiddler);
			}
		}
	}
	return newresults;
}

}(jQuery));
//}}}
/***
|Name|StorySaverPlugin|
|Source|http://www.TiddlyTools.com/#StorySaverPlugin|
|Documentation|http://www.TiddlyTools.com/#StorySaverPluginInfo|
|Version|1.4.3|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|MarkupPostBody|
|Overrides|confirmExit(), getParameters()|
|Description|save/restore current tiddler view between browser sessions|
This plugin automatically saves a list of the currently viewed tiddlers (the "story") in a local cookie, {{{txtSavedStory}}} and then opens those tiddlers when the document is subsequently reloaded... the tiddlers you were viewing in the last browser session are automatically redisplayed in the next session, allowing you to quickly resume working with the document from the same place you left off!!

In addition to automatic cookie-based story tracking, the plugin also provides {{{<<saveStory>>}}} and {{{<<openStory>>}}} macros that allow you to quickly save the current story definition to a tiddler, and then re-display saved stories using simple, one-click command links or droplists.
!!!!!Documentation
>see [[StorySaverPluginInfo]]
!!!!!Revisions
<<<
2008.09.07 [1.4.3] added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.07.11 [1.4.2] in confirmExit(), corrected bracketing for titles containing spaces
2008.03.10 [*.*.*] plugin size reduction: documentation moved to [[StorySaverPluginInfo]]
|please see [[StorySaverPluginInfo]] for additional revision details|
2007.10.05 [1.0.0] initial release.   Moved [[SetDefaultTiddlers]] inline script and rewrote as a {{{<<saveStory>>}}} macro.
<<<
!!!!!Code
***/
//{{{
version.extensions.StorySaverPlugin= {major: 1, minor: 4, revision: 3, date: new Date(2008,9,7)};
//}}}
// // ''save or clear story cookie on exit:''
//{{{
// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
	window.removeCookie=function(name) {
		document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;'; 
	}
}

if (config.options.chkSaveStory==undefined) config.options.chkSaveStory=false; 
if (window.coreTweaks_confirmExit==undefined) {
	window.coreTweaks_confirmExit=window.confirmExit;
	window.confirmExit=function() {
		if (config.options.chkSaveStory) { // save cookie
			var links=[];
			story.forEachTiddler(function(title,element){links.push('[['+title+']]');});
			config.options.txtSavedStory=links.join(" ");
			saveOptionCookie("txtSavedStory");
		} else removeCookie("txtSavedStory");
		return window.coreTweaks_confirmExit.apply(this,arguments);
	}
}
//}}}
/***
''apply saved story on startup:'' //important note: the following code is actually located in [[MarkupPostBody]].  This is because it needs to supercede the core's getParameters() function, which is called BEFORE plugins are loaded, preventing the normal plugin-based hijack method from working, while code loaded into [[MarkupPostBody]] will be processed as soon as the document is read, even before the TW main() function is invoked.//
<<tiddler MarkupPostBody>>
***/
// // MACRO definitions
//{{{
config.macros.saveStory = {
	label: "set default tiddlers",
	defaultTiddler: "DefaultTiddlers",
	prompt: "store a list of currently displayed tiddlers in another tiddler",
	askMsg: "Enter the name of a tiddler in which to save the current story:",
	tag: "story",
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		var tid=params[0]?params[0]:"DefaultTiddlers";
		var label=params[1]?params[1]:this.label;
		var tip=params[2]?params[2]:this.prompt;
		var btn=createTiddlyButton(place,label,tip,this.setTiddler,"button");
		btn.setAttribute("tid",tid);
	},
	setTiddler: function() {
		// get list of current open tiddlers
		var tids=[];
		story.forEachTiddler(function(title,element){tids.push("[["+title+"]]")}); // always put titles in brackets
		// get target tiddler
		var tid=this.getAttribute("tid");
		if (!tid || tid=="ask") {
			tid=prompt(config.macros.saveStory.askMsg,config.macros.saveStory.defaultTiddler);
			if (!tid || !tid.length) return; // cancelled by user
		}
		if(store.tiddlerExists(tid) && !confirm(config.messages.overwriteWarning.format([tid]))) return;
		tids=tids.join("\n"); // separate tiddler links by newlines for easier reading
		var t=store.getTiddler(tid); var tags=t?t.tags:[]; tags.push(config.macros.saveStory.tag);
		store.saveTiddler(tid,tid,tids,config.options.txtUserName,new Date(),tags,t?t.fields:null);
		story.displayTiddler(null,tid); story.refreshTiddler(tid,null,true);
		displayMessage(tid+" has been "+(t?"updated":"created"));
	}
}
//}}}

//{{{
if (config.options.chkStoryFold==undefined) config.options.chkStoryFold=true;
if (config.options.chkStoryClose==undefined) config.options.chkStoryClose=true;
config.macros.openStory = {
	label: "open story: %0",
	prompt: "open the set of tiddlers listed in: '%0'",
	popuplabel: "stories",
	popupprompt: "view a set of tiddlers",
	tag: "story",
	selectprompt: "select a story...",
	optionsprompt: "viewing options...",
	foldcmd: "[%0] fold story",
	foldprompt: "fold story tiddlers when opening a story",
	closecmd: "[%0] close others",
	closeprompt: "close other tiddlers when opening a story",
	addcmd: "add a story...",
	addprompt: "create a new story",
	handler: function(place,macroName,params,wikifier,paramString,tiddler) {
		if (params[0].toLowerCase()=="list") return this.createList(place,params);
		else if (params[0].toLowerCase()=="popup") return this.createPopup(place,params);
		else this.createButton(place,params);
	},
	showStory: function(tid) {
		var tids=[];
		var tagged=store.getTaggedTiddlers(tid,"title");
		if (tagged.length) // if tiddler IS a tag, use tagged tiddlers as story
			for (var t=0; t<tagged.length; t++) tids.push(tagged[t].title);
		else { // get tiddler list from content
			var t=store.getTiddler(tid);
			if (t) { if (!t.linksUpdated) t.changed(); tids=t.links; }
		}
		// see [[CollapseTiddlersPlugin]] for more info, re: folding tiddlers
		var template=null;
		if (config.options.chkStoryFold) template="CollapsedTemplate";
		if (!store.tiddlerExists("CollapsedTemplate")) template=null;
		if (config.options.chkStoryClose) story.closeAllTiddlers();
		story.displayTiddlers(null,tids,template);
	},
	createButton: function(place,params) {
		var tid=params[0]?params[0]:"";
		var label=params[1]?params[1]:this.label; label=label.format([tid]);
		var tip=params[2]?params[2]:this.prompt; tip=tip.format([tid]);
		var fn=function(){config.macros.openStory.showStory(this.getAttribute("tid"))};
		var btn=createTiddlyButton(place,label,tip,fn,"button");
		btn.setAttribute("tid",tid);
	},
	createPopup: function(place,params) {
		var label=params[1]?params[1]:this.popuplabel;
		var tip=params[2]?params[2]:this.popupprompt;
		var btn=createTiddlyButton(place,label,tip,this.showPopup,"button");
	},
	showPopup: function(ev) { var e=ev||window.event;
		var indent="\xa0\xa0";
		var p=Popup.create(this); if (!p) return false;
		createTiddlyText(createTiddlyElement(p,"li"),config.macros.openStory.selectprompt);
		var stories=store.getTaggedTiddlers("story","title");
		for (var s=0; s<stories.length; s++) {
			var label=indent+stories[s].title;
			var tip=config.macros.openStory.prompt.format([stories[s].title]);
			var fn=function(){config.macros.openStory.showStory(this.getAttribute("tid"))};
			var btn=createTiddlyButton(createTiddlyElement(p,"li"),label,tip,fn,"button");
			btn.setAttribute("tid",stories[s].title);
		}
		createTiddlyText(createTiddlyElement(p,"li"),config.macros.openStory.optionsprompt);
		if (store.tiddlerExists("CollapsedTemplate")) {
			var label=indent+config.macros.openStory.foldcmd.format([config.options.chkStoryFold?"x":"\xa0\xa0"]);
			var tip=config.macros.openStory.foldprompt;
			var fn=function(){config.options.chkStoryFold=!config.options.chkStoryFold;saveOptionCookie('chkStoryFold')};
			var btn=createTiddlyButton(createTiddlyElement(p,"li"),label,tip,fn,"button");
		}
		var label=indent+config.macros.openStory.closecmd.format([config.options.chkStoryClose?"x":"\xa0\xa0"]);
		var tip=indent+config.macros.openStory.closeprompt;
		var fn=function(){config.options.chkStoryClose=!config.options.chkStoryClose;saveOptionCookie('chkStoryClose')};
		var btn=createTiddlyButton(createTiddlyElement(p,"li"),label,tip,fn,"button");
		if (!readOnly) {
			var label=config.macros.openStory.addcmd;
			var tip=config.macros.openStory.addprompt;
			var fn=config.macros.saveStory.setTiddler;
			createTiddlyElement(createTiddlyElement(p,"li"),"hr");
			var btn=createTiddlyButton(createTiddlyElement(p,"li"),label,tip,fn,"button");
		}
		Popup.show(p,false);
		e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();
		return false;
	},
	createList: function(place,params) {
		var s=createTiddlyElement(place,"select",null,"storyListbox");
		s.size=1;
		s.onchange=function() {
			if (this.value=="_fold") {
				config.options.chkStoryFold=!config.options.chkStoryFold; saveOptionCookie('chkStoryFold');
				config.macros.openStory.refreshList();
			} else if (this.value=="_close") {
				config.options.chkStoryClose=!config.options.chkStoryClose; saveOptionCookie('chkStoryClose');
				config.macros.openStory.refreshList();
			} else if (this.value=="_add")
				config.macros.saveStory.setTiddler.apply(this,arguments);
			else config.macros.openStory.showStory(this.value);
		}
		setStylesheet(".storyListbox { width:100%; }", "StorySaverStyles");
		store.addNotification(null,this.refreshList); this.refreshList();
		return;
	},
	refreshList: function() {
		var indent="\xa0\xa0\xa0\xa0";
		var lists=document.getElementsByTagName("select");
		for (var i=0; i<lists.length; i++) { if (lists[i].className!="storyListbox") continue;
			var here=lists[i];
			while (here.length) here.options[0]=null; // remove current list items
			here.options[here.length]=new Option(config.macros.openStory.selectprompt,"",true,true);
			var stories=store.getTaggedTiddlers("story","title");
			for (var s=0; s<stories.length; s++)
				here.options[here.length]=new Option(indent+stories[s].title,stories[s].title,false,false);
			if (!readOnly)
				here.options[here.length]=new Option(config.macros.openStory.addcmd,"_add",false,false);
			here.options[here.length]=new Option(config.macros.openStory.optionsprompt,"",false,false);
			if (store.tiddlerExists("CollapsedTemplate")) {
				var msg=config.macros.openStory.foldcmd.format([config.options.chkStoryFold?"x":"\xa0\xa0"]);
				here.options[here.length]=new Option(indent+msg,"_fold",false,false);
			}
			var msg=config.macros.openStory.closecmd.format([config.options.chkStoryClose?"x":"\xa0\xa0"]);
			here.options[here.length]=new Option(indent+msg,"_close",false,false);
		}
	}
}
//}}}
[[StyleSheetTiddlySpace]]
/*{{{*/
.tiddler .originButton div {
	display: inline-block;
}

.tiddler .spaceSiteIcon .siteIcon {
	_display: inline; /* IE doesn't like inline-block */
}

.tiddler .originButton {
	display: block;
}

.selected .tagging,
.selected .tagging:hover {
	border: none;
	background: none;
}

.tagging {
	float: none;
	background: none;
	border: none;
}

.tagging li.listTitle {
	margin-left: 0px;
}
.tagging li {
	margin: 0 8px;
}

.tagging .tiddlyLink {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
	padding: 1px 2px;
	line-height: 1.2em;
}

/* for following */
#popup .siteIcon {
	float: left;
	height: 25px;
}

.content {
	width: 100%; /* IE */
	font-size: 0.9em;
}

.editorHeading {
	height: 48px;
}

.heading {
	left: 0;
	margin-bottom: 40px;
	position: relative;
	top: 32px;
}

.followButton a {
	display: block;
	margin-top: -20px;
}

.tiddler .followPlaceHolder {
	display: block;
	position: absolute;
	top: 16px;
	right: 64px;
	_right: 138px; // add width of modifierIcon
}

.tiddler .followButton {
	position: relative;
	height: 24px;
	text-align: left;
	color: #fff;
	background: [[ColorPalette::PrimaryMid]];
	padding: 10px 0px 0px 10px;
	width: 38px;
	margin: -16px -8px 24px 0;
}

/* creates the larger triangle */
.followButton:before {
	content: "\00a0";
	display: block; /* reduce the damage in FF3.0 */
	position: relative;
	bottom: -20px;
	right: 0;
	width: 0;
	height: 0;
	border-width: 0 0 20px 20px;
	border-style: solid;
	border-color: transparent [[ColorPalette::PrimaryMid]];
}

.toolbar svg {
	height: 16px;
	width: 16px;
}

.toolbar svg .glyph {
	fill: #ccc;
}

.toolbar a:hover .glyph {
	fill: black;
}

.toolbar a:active .glyph {
	fill: [[ColorPalette::Background]];
}

.originButton,
.followPlaceHolder,
.tiddler .subtitle {
	cursor: pointer;
}

.editSpaceSiteIcon .originButton {
	cursor: auto;
}

.tiddler .subtitle:hover {
	font-weight: bold;
	background: none;
}

.originButton img,
.originButton svg {
	margin-left: 0px;
}

.modifierIcon {
	position: absolute;
	width: 74px;
	top: 0px;
	right: 0px;
	_right: 74px; /* in IE6 positioning works incorrectly so use -width instead */
	text-align: right;
}

.modifierIcon img,
.modifierIcon svg {
	margin-right: 8px;
}

.tiddler .viewer {
	padding-bottom: 16px;
	margin: 0 0 0 56px;
	line-height: 1.4em;
}

.viewer pre {
	margin-left: 0;
}

.siteIcon .label {
	color: [[ColorPalette::TertiaryDark]];
}

.tiddler .spaceSiteIcon {
	float: left;
	margin-right: 0;
	margin-top: 0;
	position: relative;
	display: block;
}

.tiddler .titleBar {
	display: block;
	margin-right: 136px;
	margin-left: 56px;
}

.followButton a {
	color: [[ColorPalette::Background]];
}

.tiddler {
	position: relative;
	padding: 0;
	margin-bottom: 3em;
	border-top: 3px solid [[ColorPalette::PrimaryMid]];
	background: #fff;
}

.tiddler .editor {
	padding: 0px 8px;
}

.tiddler .heading .title {
	position: relative;
	display: block;
	word-wrap: break-word;
	font-size: 32px;
	line-height: 32px;
}
.tiddler .heading .editor.title {
	font-size: 1.7em;
	line-height: normal;
}

.tiddler .headingClear {
	clear: both;
}

.tiddler .subtitle {
	font-style: italic;
	font-size: 0.9em;
	color: #a6a59e;
	margin-top: 0;
}

.toolbar {
	position: absolute;
	padding: 0;
	top: 8px;
	right: -8px;
}

.toolbar .moreCommand.highlight {
	background: none;
}

.tiddler .toolbar .button {
	border: none;
	display: inline;
	padding: 0px;
	margin-right: 16px;
}

.tiddler .toolbar a:hover {
	background: none;
}

.tiddler .tagged .listTitle {
	display: none;
}

.revButton {
	float: right;
}

/*! EditTemplate specific*/
.tiddler .privacySettings {
	text-align: center;
}
.tiddler .privacySettings .originButton {
	display: inline;
}

.editSpaceSiteIcon, .privacyEdit {
	float: left;
}

.editSpaceSiteIcon svg,
.editSpaceSiteIcon img,
.editSpaceSiteIcon .roundelLabel {
	float: left;
}

.tagTitle {
	position: absolute;
	text-align: center;
	width: 48px;
	top: 0px;
	left: -56px;
}

.editSpaceSiteIcon .originButton img,
.editSpaceSiteIcon .originButton svg {
	height: 16px;
	margin-left: 24px;
	margin-right: 32px;
	width: 16px;
}

.tagAnnotation {
	margin-top: 8px;
	padding-bottom: 8px;
}
.annotationsBox {
	margin-top: 8px;
}

.editorFooter {
	position: relative;
	padding: 0;
	margin-top: 16px;
	margin-left: 64px;
}

.tiddler .editorFooter .editor {
	padding-left: 0px;
}

.heading .editor input {
	width: 100%;
	font-size: 1.5em;
}

.spaceSiteIcon .externalImage .image a:hover,
.modifierIcon .externalImage .image a:hover {
	background: none;
}

div.toolbar {
	visibility:hidden;
	right:-16px;
}

.selected div.toolbar {
	visibility: visible;
}

.followButton a:hover {
	background: [[ColorPalette::PrimaryMid]];
	text-decoration: underline;
}

a.image:hover {
	background: transparent;
}

@media all and (max-device-width: 480px) {
	div.toolbar {
		visibility:visible;
	}
}
@media only screen and (device-width: 768px) {
	div.toolbar {
		visibility:visible;
	}
}
@media all and (max-width: 960px) {
	.tiddler .titleBar {
		margin-left: 36px;
		margin-right: 80px;
	}

	.tiddler .heading {
		margin-bottom: 48px;
	}

	.tiddler .heading .title {
		font-size: 32px;
		line-height: 32px;
	}

	.tiddler .modifierIcon img,
	.tiddler .modifierIcon svg,
	.tiddler .spaceSiteIcon .originButton img,
	.originButton svg {
		width: 32px;
		height: 32px;
		margin-left: 0px;
		margin-right: 0px;
	}

	.tiddler .followPlaceHolder {
		right: 48px;
	}

	.tiddler .followButton {
		width: 24px;
	}

	.tiddler .viewer {
		margin: 0px 0px 0px 36px;
		padding-top: 0;
	}

	br {
		line-height: 0.5em;
	}
}
/*}}}*/
/*{{{*/
body {
	font-size: 1em;
	font-family: helvetica, arial, sans-serif;
	background-color: #fff;
	color: [[ColorPalette::Foreground]];
}

body ul { margin: 0; }

#popup {
	background-color: [[ColorPalette::TertiaryPale]];
}

#popup.confirmationPopup, .followList {
	font-size: 0.8em;
	padding: 1em;
	border: solid 1px [[ColorPalette::SecondaryMid]];
	background-color: [[ColorPalette::SecondaryPale]];
}

.followList .listTitle {
	text-decoration: underline;
}

#popup .followTiddlersList a {
	display: inline;
	padding: 0;
}

#popup li a {
	color: [[ColorPalette::PrimaryMid]];
	font-weight: bold;
}

#popup li a:hover {
	color: [[ColorPalette::PrimaryPale]];
	background: [[ColorPalette::PrimaryMid]];
}

#popup li.listTitle {
	border-bottom: 1px solid #000;
	font-weight: bold;
	margin-bottom: 10px;
}

#popup.followList {
	margin-left: 50px;
	margin-top: -30px;
}

.followTiddlersList .label {
	display: block;
	left: 10px;
	top: 0px;
	line-height: 16px;
	position: relative;
}

#popup .followTiddlersList .siteIcon{
	height: auto;
}

#popup .followTiddlersList li{
	clear: both;
	display: block;
	height: 48px;
	margin-bottom: 8px;
	position: relative;
}

#popup .followTiddlersList a{
	display: inline;
}

#displayArea {
	margin: 0;
	top: 0px;
	left: 0px;
	width: 100%;
	position: relative;
}

.revisionCloak {
	position: absolute;
	position: fixed !important;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	border: 0;
	margin: 0;
	padding: 0;
	opacity: 0.5;
	filter: alpha(opacity=50);
	background-color: #000;
}

/* *** Header *** */
.header {
	position: relative;
	background-color: [[ColorPalette::PrimaryMid]];
	_width: 100%; /* ie 6 demands */
}

.headerForeground {
	background-color: [[ColorPalette::PrimaryMid]];
	float: left;
	margin: 24px 16px 0px 72px;
	padding: 0;
	position: relative;
	top: 0;
	_width: 70%; /*ie6: needed for the background to actually be transparent*/
	_background-color: transparent; /*ie6: needed to show the search box*/
}

.clearFloat {
	clear: both;
}

#contentWrapper {
	position: relative;
	padding-top: 1px;
	top: -1px;
}

#tiddlerDisplay {
	_position: relative; /* ie 6*/
}

.siteTitle {
	clear: both;
	display: block;
	font-size: 32px;
	font-weight: bold;
	line-height: 32px;
}

.siteSubtitle {
	display: block;
	font-size: 14px;
	height: 16px;
	margin-bottom: 8px;
}

#sidebarSearch {
	padding: 0;
	position: absolute;
	right: 80px;
	top: 8px;
	width: 176px;
}

#sidebarSearch .txtOptionInput {
	width: 100%;
	margin-top: 5px;
	_color: #bbb; /* ie6 danger */
}

#sidebarSearch .txtOptionInput:focus {
	color: #000;
}

#sidebarSearch .searchButton {
	display: none;
}

/* *** Menu Bar *** */

#mainMenu {
	position: static;
	text-align: left;
	margin-left: 72px;
	float: left;
	width: auto;
	padding: 0;
	font-size: 1em;
	line-height: normal;
}

#mainMenu a {
	color: #fff;
	padding: 8px;
	font-size: 0.9em;
	margin-right: 16px;
}

#mainMenu a:hover {
	background-color: [[ColorPalette::PrimaryMid]];
	color: [[ColorPalette::Background]]
}

#sidebarOptions {
	margin-right: 72px;
	float: right;
	font-size: 1.1em;
	line-height: 1.6em;
	min-height: 1em;
	padding-top: 0;
}

#sidebarOptions a {
	margin-right: 8px;
}

.confirmationPopup .button,
#sidebarOptions .button {
	cursor: pointer;
	line-height: 1.4em;
	text-align: center;
	margin-right: 8px;
	margin-left:-2px;
}

.confirmationPopup .button {
	font-size: 0.9em;
	padding: 2px;
}

#sidebarOptions .button {
	font-size: 0.7em;
	float: left;
	width: 80px;
	padding: 0px;
        color: #fff;
}

.confirmationPopup a.button,
#sidebarOptions a {
	border: none;
	margin: 0 0.2em;
	padding: 0.6em 0.25em;
	display: inline;
	color: #666;
}

.confirmationPopup a.button:hover,
#sidebarOptions a:hover {
	color: #000;
}

.confirmationPopup a.button:active,
#sidebarOptions a:active {
	border: solid 1px [[ColorPalette::PrimaryMid]];
	background-color: #fff;
	background: -webkit-gradient( linear, left bottom, left top, color-stop(0.1,rgb(200,200,200)), color-stop(1, rgb(100,100,100)));
	background: -moz-linear-gradient(center bottom , rgb(200,200,200) 10%,rgb(100,100,100) 100%) repeat scroll 0 0 transparent;
}
/* *** Sidebar *** */

#sidebar .wizard table {
	margin: 0px;
}

.tabContents .listTitle:first-child {
	margin-top: 0px;
}

#menuBar {
	background: [[ColorPalette::PrimaryLight]];
	left: 0;
	right: 0;
	position: relative;
	margin: 0;
	padding: 0.5em 0 0.5em 0;
	min-height: 1em;
	overflow: hidden;
	_width: 100%; /* for ie 6 */
}

#sidebarOptions a.button:hover {
	color: [[ColorPalette::PrimaryPale]];
    background: [[ColorPalette::PrimaryMid]];
}

#tiddlerDisplay, #searchResults {
	margin: 16px 448px 0 72px;
}

#sidebarTabs {
	position: absolute;
	right: 72px;
	width: 352px;
	top: 0;
}

#sidebarTabs .tabsetWrapper .tabset {
	width: 87px;
	border-top: 1px solid [[ColorPalette::PrimaryPale]];
	border-left: 1px solid [[ColorPalette::PrimaryPale]];
	border-bottom: 1px solid [[ColorPalette::PrimaryPale]];
	height: auto;
	float: left;
	word-wrap: break-word;
	top: 0;
	padding: 0;
}

#sidebarTabs .tabsetWrapper .tabContents {
	background-color: [[ColorPalette::PrimaryPale]];
	border: 3px solid [[ColorPalette::PrimaryMid]];
	width: 242px;
	_width: 238px;
	left: -3px;
	_left: -5px;
	position: relative;
	min-height: 34em;
	padding: 8px;
	font-size: 0.8em;
}

/* ---- Side style --- */

#sidebarTabs .tabsetWrapper .tabset .tab {
	font-size: 0.9em;
	padding: 0.7em 8px 0.5em;
	color: #fff;
	background: [[ColorPalette::PrimaryLight]];
	border: none;
	line-height: 16px;
	position: relative;
	display: block;
	margin: 0;
}

#sidebarTabs .tabsetWrapper .tabset .tabSelected {
	color: [[ColorPalette::PrimaryMid]];
	background: [[ColorPalette::PrimaryPale]];
	border-top: 3px solid [[ColorPalette::PrimaryMid]];
	border-bottom: 3px solid [[ColorPalette::PrimaryMid]];
	border-left: 3px solid [[ColorPalette::PrimaryMid]];
	z-index: 10;
	margin-top: -1px;
	font-weight: bold;
}

#sidebarTabs .tabContents li {
	border: none;
	margin-left: 0;
	word-wrap: break-word;
}

.tabContents .timeline {
	background: [[ColorPalette::PrimaryPale]];
	margin-bottom: 8px;
}

#sidebarTabs .timeline li.listTitle {
	color: #132E43;
	margin-left: 8px 0;
	padding: 0.3em 0.11em;
	font-size: 1em;
	border-bottom: none;
}

#sidebarTabs .tabContents li a {
	display: block;
	text-align: left;
	margin: 0 0 1px 0;
	padding: 0.3em 1em;
	background: [[ColorPalette::PrimaryPale]];
}

#sidebarTabs .tabsetWrapper .tabset a:hover,
#sidebarTabs .tabContents li a:hover {
	color: [[ColorPalette::PrimaryPale]];
	background: [[ColorPalette::PrimaryMid]];
}

/* Activity Stream */
#sidebarTabs .tabContents .activityStream .feedItem a {
	display: inline-block;
	padding: 0;
	background: none;
}

/* ---- Tagging box --- */
.tagInfo {
	border: 1px solid #cccccc;
	padding: 10px 15px;
	-moz-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	box-shadow: 0 2px 2px rgba(0,0,0,0.2);
	color: [[ColorPalette::TertiaryMid]];
	background: -moz-linear-gradient(100% 100% 90deg, #f4f4f4, #e5e5e5);
	background: -webkit-gradient(linear, left top, right top, from(#e5e5e5), to(#f4f4f4));
	margin-top: 1em;
	font-size: 13px;
	margin: 0 0 0 56px;
}

.tagInfo ul {
	list-style: none;
	padding-left: 2.2em;
}

.tagInfo ul li {
	display: inline;
}

.tagInfo ul li.listTitle,
.tagInfo .tagging ul li.listTitle {
	color: [[ColorPalette::PrimaryMid]];
	font-size: 13px;
}

.tagInfo ul li a {
	border: none;
}

.tagInfo .tagging ul li {
	float: none;
	display: inline-block;
}

.tagInfo .tagging {
	padding: 0;
}

.viewRevision .toolbar {
	right: 48px;
	top: 8px;
}

.viewRevision .modifierIcon img,
.viewRevision .modifierIcon svg {
	margin-right: 8px;
}

.viewRevision .toolbar svg {
	width: 32px;
	height: 32px;
}

/* --- IE hacks from lattice --- */

/* ie hacks */
* html #menuBar {
	margin-bottom: 8px;
}
.toolbar .svgIconText {
	*display: inline;
}

div.tiddler .toolbar a {
	cursor: pointer;
	float: left\9;
	display: inline\9;
}

* html .toolbar {
	right: 8px;
}
* html .followButton a {
	margin-top: 0px;
	margin-right: 8px;
}
* html #tiddlerDisplay {
	margin-top: 0px;
}

/* for printing purposes */
@media print {
	#mainMenu,
	#sidebar,
	#messageArea,
	.toolbar,
	.followPlaceHolder,
	#backstageButton,
	#backstageArea,
	#sidebarTabs,
	#sidebarSearch .txtOptionInput,
	#sidebarOptions {
		display: none !important;
	}
	#displayArea {
		margin: 1em 1em 0em;
	}
	noscript {
		display:none; /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
	}
	#tiddlerDisplay {
		margin: 16px 16px;
	}
}

@media all and (max-width: 960px){
	#tiddlerDisplay,
	#searchResults {
		margin: 16px 366px 0 16px;
	}

	#mainMenu {
		margin-left: 16px;
	}

	.headerForeground {
		margin-left: 16px;
	}

	#sidebarSearch {
		right: 16px;
	}

	#sidebarOptions {
		margin-right: 16px;
	}

	#sidebarTabs {
		right: 16px;
		width: 326px;
	}

	#sidebarTabs .tabsetWrapper .tabset {
		font-size: 0.9em;
		width: 77px;
	}

	#sidebarTabs .tabsetWrapper .tabContents {
		width: 226px;
		_width: 222px;
	}

	#sidebarTabs .tabContents li a {
		font-size: 0.9em;
	}
}
/*}}}*/
[[StyleSheetTiddler]]
A Sub-topic is what we call a page ([[Tiddler]]) that has been [[tagged|Tags]] with the title of another tiddler; being tagged by 'A' denotes 'B' as standing //underneath// Topic A in the hierarchy 

That other tiddler (if you are [[Edit]]ing it is the title you type in the "tags" box) is known as the [[Topic]], and is the 'headline' over any other tiddlers that it tags.

See the [[Show references and info]] panel to reveal lists of topics and sub topics.
Scroll to the top of your page, and look for the menu bar that runs right across the top of the page.  If it is hidden, select the "Advanced" mode in the right hand corner.  (In the original version of the manual, click the blue and pink 'target' that is in the topmost right corner of the page - this should "toggle" the top menu in and out of view.)

Once you have the top menu in view, click on the CENTRAL word, "TiddlySpace".

This reveals a drop-down menu that looks like a set of "tabs" in a file (Search, tiddlers, Batch, Tweaks, Import/Export) - click on the ''"Batch"'' tab...

This reveals two more "tabs" titled ''"Public"'' and ''"Private"'' - clicking on either one will list all your locally authored material that is either Public or private.

If you want to change the status of any of these tiddlers, just tick the box beside it, and click the command that you find right below the list.  (So if you want to make a //private// tiddler become //public//, go to the ''"Private"'' tab, select the tiddler you want to change, and then click "make public" at the bottom of that list.
<html>
<input name=TIDscore type=radio value="1" />bad
<input name=TIDscore type=radio value="2" />ok
<input name=TIDscore type=radio value="3" />ace
</html>
/9j/4AAQSkZJRgABAgAAZABkAAD/7ANnRHVja3kAAQAEAAAAKAACAzoAAAGbAFAAaABvAHQAbwAgAHQAYQBrAGUAbgAgADAAMgAgAE4AbwB2AGUAbQBiAGUAcgAgADIAMAAwADcAIABzAGgAbwB3AHMAIABhACAAUABoAG8AZQBuAGkAYwBpAGEAbgAgAHcAcgBpAHQAdABlAG4AIAB0AGUAeAB0ACAAbwBuACAAYQAgAHMAdABvAG4AZQAgAHAAcgBlAHMAZQBuAHQAZQBkACAAZAB1AHIAaQBuAGcAIAB0AGgAZQAgAGUAeABoAGkAYgBpAHQAaQBvAG4AIAAiAEwAYQAgAE0AZQBkAGkAdABlAHIAcgBhAG4AZQBlACAAZABlAHMAIABQAGgAZQBuAGkAYwBpAGUAbgBzACwAIABkAGUAIABUAHkAcgAgAGEAIABDAGEAcgB0AGgAYQBnAGUAIgAgACgATQBlAGQAaQB0AGUAcgByAGEAbgBlAGEAbgAgAFAAaABvAGUAbgBpAGMAaQBhAG4AcwAsACAARgByAG8AbQAgAFQAeQByACAAdABvACAAQwBhAHIAdABoAGEAZwBlACkAIABhAHQAIAB0AGgAZQAgAEkAbgBzAHQAaQB0AHUAdAAgAGQAdQAgAE0AbwBuAGQAZQAgAEEAcgBhAGIAZQAgACgAVABoAGUAIABBAHIAYQBiACAAVwBvAHIAbABkACAASQBuAHMAdABpAHQAdQB0AGUAKQAgAGkAbgAgAFAAYQByAGkAcwAsACAAdABoAGEAdAAgAHMAdABhAHIAdABzACAAMAA2ACAATgBvAHYAZQBtAGIAZQByACAAMgAwADAANwAgAHUAbgB0AGkAbAAgADIAMAAgAEEAcAByAGkAbAAgADIAMAAwADgALgAgAEEARgBQACAAUABIAE8AVABPACAARgBSAEEATgBDAE8ASQBTACAARwBVAEkATABMAE8AVAAgACgAUABoAG8AdABvACAAYwByAGUAZABpAHQAIABzAGgAbwB1AGwAZAAgAHIAZQBhAGQAIABGAFIAQQBOAEMATwBJAFMAIABHAFUASQBMAEwATwBUAC8AQQBGAFAALwBHAGUAdAB0AHkAIABJAG0AYQBnAGUAcwApAAMAFAAAAAgAMgAwADAANwAgAEEARgBQAAD/7gAOQWRv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
The following headings are found on each of the 'tabs' in the [[Index]]: 

[[Recent]], [[All]], [[Public]], [[Private]], [[Tags]], [[Spaces]], [[Missing]], [[Orphans]], [[Shadows]].
/***
|Name|TagCloudPlugin|
|Source|http://www.TiddlyTools.com/#TagCloudPlugin|
|Version|1.7.0|
|Author|Eric Shulman|
|Original Author|Clint Checketts|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|present a 'cloud' of tags (or links) using proportional font display|
!Usage
<<<
{{{
<<cloud type action:... limit:... tag tag tag ...>>
<<cloud type action:... limit:... +TiddlerName>>
<<cloud type action:... limit:... -TiddlerName>>
<<cloud type action:... limit:... =tagvalue>>
}}}
where:
* //type// is a keyword, one of:
** ''tags'' (default) - displays a cloud of tags, based on frequency of use
** ''links'' - displays a cloud of tiddlers, based on number of links //from// each tiddler
** ''references'' - displays a cloud of tiddlers, based on number of links //to// each tiddler
* ''action:popup'' (default) - clicking a cloud item shows a popup with links to related tiddlers<br>//or//<br> ''action:goto'' - clicking a cloud item immediately opens the tiddler corresponding to that item
* ''limit:N'' (optional) - restricts the cloud display to only show the N most popular tags/links
* ''tag tag tag...'' (or ''title title title'' if ''links''/''references'' is used)<br>shows all tags/links in the document //except// for those listed as macro parameters
* ''+TiddlerName''<br>show only tags/links read from a space-separated, bracketed list stored in a separate tiddler.
* ''-TiddlerName''<br>show all tags/links //except// those read from a space-separated, bracketed list stored in a separate tiddler.
* ''=tagvalue'' (//only if type=''tags''//)<br>shows only tags that are themselves tagged with the indicated tag value (i.e., ~TagglyTagging usage)
//note: for backward-compatibility, you can also use the macro {{{<<tagCloud ...>>}}} in place of {{{<<cloud ...>>}}}//
<<<
!Examples
<<<
//all tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud systemConfig excludeMissing script>>}}}
//top 10 tags excluding<<tag systemConfig>>, <<tag excludeMissing>> and <<tag script>>//
{{{<<cloud limit:10 systemConfig excludeMissing script>>}}}
{{groupbox{<<cloud limit:10 systemConfig excludeMissing script>>}}}
//tags listed in// [[FavoriteTags]]
{{{<<cloud +FavoriteTags>>}}}
{{groupbox{<<cloud +FavoriteTags>>}}}
//tags NOT listed in// [[FavoriteTags]]
{{{<<cloud -FavoriteTags>>}}}
{{groupbox{<<cloud -FavoriteTags>>}}}
//links to tiddlers tagged with 'package'//
{{{<<cloud action:goto =package>>}}}
{{groupbox{<<cloud action:goto =package>>}}}
//top 20 most referenced tiddlers//
{{{<<cloud references limit:20>>}}}
{{groupbox{<<cloud references limit:20>>}}}
//top 20 tiddlers that contain the most links//
{{{<<cloud links limit:20>>}}}
{{groupbox{<<cloud links limit:20>>}}}
<<<
!Revisions
<<<
2009.07.17 [1.7.0] added {{{-TiddlerName}}} parameter to exclude tags that are listed in the indicated tiddler
2009.02.26 [1.6.0] added {{{action:...}}} parameter to apply popup vs. goto action when clicking cloud items
2009.02.05 [1.5.0] added ability to show links or back-links (references) instead of tags and renamed macro to {{{<<cloud>>}}} to reflect more generalized usage.
2008.12.16 [1.4.2] corrected group calculation to prevent 'group=0' error
2008.12.16 [1.4.1] revised tag filtering so excluded tags don't affect calculations
2008.12.15 [1.4.0] added {{{limit:...}}} parameter to restrict the number of tags displayed to the top N most popular
2008.11.15 [1.3.0] added {{{+TiddlerName}}} parameter to include only tags that are listed in the indicated tiddler
2008.09.05 [1.2.0] added '=tagname' parameter to include only tags that are themselves tagged with the specified value (i.e., ~TagglyTagging usage)
2008.07.03 [1.1.0] added 'segments' property to macro object.  Extensive code cleanup
<<<
!Code
***/
//{{{
version.extensions.TagCloudPlugin= {major: 1, minor: 7 , revision: 0, date: new Date(2009,7,17)};
//Originally created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
//Currently maintained and enhanced by Eric Shulman
//}}}
//{{{
config.macros.cloud = {
	tagstip: "%1 tiddlers tagged with '%0'",
	refslabel: " (%0 references)",
	refstip: "%1 tiddlers have links to '%0'",
	linkslabel: " (%0 links)",
	linkstip: "'%0' has links to %1 other tiddlers",
	groups: 9,
	init: function() {
		config.macros.tagCloud=config.macros.cloud; // for backward-compatibility
		config.shadowTiddlers.TagCloud='<<cloud>>';
		config.shadowTiddlers.StyleSheetTagCloud=
			'/*{{{*/\n'
			+'.tagCloud span {line-height: 3.5em; margin:3px;}\n'
			+'.tagCloud1{font-size: 80%;}\n'
			+'.tagCloud2{font-size: 100%;}\n'
			+'.tagCloud3{font-size: 120%;}\n'
			+'.tagCloud4{font-size: 140%;}\n'
			+'.tagCloud5{font-size: 160%;}\n'
			+'.tagCloud6{font-size: 180%;}\n'
			+'.tagCloud7{font-size: 200%;}\n'
			+'.tagCloud8{font-size: 220%;}\n'
			+'.tagCloud9{font-size: 240%;}\n'
			+'/*}}}*/\n';
		setStylesheet(store.getTiddlerText('StyleSheetTagCloud'),'tagCloudsStyles');
	},
	getLinks: function(tiddler) { // get list of links to existing tiddlers and shadows
		if (!tiddler.linksUpdated) tiddler.changed();
		var list=[]; for (var i=0; i<tiddler.links.length; i++) {
			var title=tiddler.links[i];
			if (store.isShadowTiddler(title)||store.tiddlerExists(title))
				list.push(title);
		}
		return list;
	},
	handler: function(place,macroName,params) {
		// unpack params
		var inc=[]; var ex=[]; var limit=0; var action='popup';
		var links=(params[0]&&params[0].toLowerCase()=='links'); if (links) params.shift();
		var refs=(params[0]&&params[0].toLowerCase()=='references'); if (refs) params.shift();
		if (params[0]&&params[0].substr(0,7).toLowerCase()=='action:')
			action=params.shift().substr(7).toLowerCase();
		if (params[0]&&params[0].substr(0,6).toLowerCase()=='limit:')
			limit=parseInt(params.shift().substr(6));
		while (params.length) {
			if (params[0].substr(0,1)=='+') { // read taglist from tiddler
				inc=inc.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='-') { // exclude taglist from tiddler
				ex=ex.concat(store.getTiddlerText(params[0].substr(1),'').readBracketedList());
			} else if (params[0].substr(0,1)=='=') { // get tag list using tagged tags
				var tagged=store.getTaggedTiddlers(params[0].substr(1));
				for (var t=0; t<tagged.length; t++) inc.push(tagged[t].title);
			} else ex.push(params[0]); // exclude params
			params.shift();
		}
		// get all items, include/exclude specific items
		var items=[];
		var list=(links||refs)?store.getTiddlers('title','excludeLists'):store.getTags();
		for (var t=0; t<list.length; t++) {
			var title=(links||refs)?list[t].title:list[t][0];
			if (links)	var count=this.getLinks(list[t]).length;
			else if (refs)	var count=store.getReferringTiddlers(title).length;
			else 		var count=list[t][1];
			if ((!inc.length||inc.contains(title))&&(!ex.length||!ex.contains(title)))
				items.push({ title:title, count:count });
		}
		if(!items.length) return;
		// sort by decending count, limit results (optional)
		items=items.sort(function(a,b){return(a.count==b.count)?0:(a.count>b.count?-1:1);});
		while (limit && items.length>limit) items.pop();
		// find min/max and group size
		var most=items[0].count;
		var least=items[items.length-1].count;
		var groupSize=(most-least+1)/this.groups;
		// sort by title and draw the cloud of items
		items=items.sort(function(a,b){return(a.title==b.title)?0:(a.title>b.title?1:-1);});
		var cloudWrapper = createTiddlyElement(place,'div',null,'tagCloud',null);
		for (var t=0; t<items.length; t++) {
			cloudWrapper.appendChild(document.createTextNode(' '));
			var group=Math.ceil((items[t].count-least)/groupSize)||1;
			var className='tagCloudtag tagCloud'+group;
			var tip=refs?this.refstip:links?this.linkstip:this.tagstip;
			tip=tip.format([items[t].title,items[t].count]);
			if (action=='goto') { // TAG/LINK/REFERENCES GOTO
				var btn=createTiddlyLink(cloudWrapper,items[t].title,true,className);
				btn.title=tip;
				btn.style.fontWeight='normal';
			} else if (!links&&!refs) { // TAG POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,onClickTag,className);
				btn.setAttribute('tag',items[t].title);
			} else { // LINK/REFERENCES POPUP
				var btn=createTiddlyButton(cloudWrapper,items[t].title,tip,
					function(ev) { var e=ev||window.event; var cmt=config.macros.cloud;
						var popup = Popup.create(this);
						var title = this.getAttribute('tiddler');
						var count = this.getAttribute('count');
						var refs  = this.getAttribute('refs')=='T';
						var links = this.getAttribute('links')=='T';
						var label = (refs?cmt.refslabel:cmt.linkslabel).format([count]);
						createTiddlyLink(popup,title,true);
						createTiddlyText(popup,label);
						createTiddlyElement(popup,'hr');
						if (refs) {
							popup.setAttribute('tiddler',title);
							config.commands.references.handlePopup(popup,title);
						}
						if (links) {
							var tiddler = store.fetchTiddler(title);
							var links=config.macros.cloud.getLinks(tiddler);
							for(var i=0;i<links.length;i++)
								createTiddlyLink(createTiddlyElement(popup,'li'),
									links[i],true);
						}
						Popup.show();
						e.cancelBubble=true; if(e.stopPropagation) e.stopPropagation();
						return false;
					}, className);
				btn.setAttribute('tiddler',items[t].title);
				btn.setAttribute('count',items[t].count);
				btn.setAttribute('refs',refs?'T':'F');
				btn.setAttribute('links',links?'T':'F');
				btn.title=tip;
			}
		}
	}
};
//}}}
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.6.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|use alternative ViewTemplate/EditTemplate for specific tiddlers|
This plugin extends the core function, story.chooseTemplateForTiddler(), so that any given tiddler can be viewed and/or edited using alternatives to the standard tiddler templates.
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2009.09.02 [1.6.1] apply field-based template (if any) *before* tag-based template
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TaggedTemplateTweak= {major: 1, minor: 6, revision: 1, date: new Date(2009,9,2)};

if (!config.options.txtTemplateTweakFieldname)	
	config.options.txtTemplateTweakFieldname='template';

Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
	// get core template and split into theme and template name
	var coreTemplate=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
	var theme=""; var template=coreTemplate;
	var parts=template.split(config.textPrimitives.sectionSeparator);
	if (parts[1]) { theme=parts[0]; template=parts[1]; }
	else theme=config.options.txtTheme||""; // if theme is not specified
	theme+=config.textPrimitives.sectionSeparator;

	// look for template using title as prefix
	if (!store.getTaggedTiddlers(title).length) { // if tiddler is not a tag
		if (store.getTiddlerText(theme+title+template))
			{ return theme+title+template; } // theme##TitleTemplate
		if (store.getTiddlerText(title+template))
			{ return title+template; }	 // TitleTemplate
	}

	// look for templates using custom field value as prefix
	var v=store.getValue(title,config.options.txtTemplateTweakFieldname);
	if (store.getTiddlerText(theme+v+template))
		{ return theme+v+template; }	// theme##valueTemplate
	if (store.getTiddlerText(v+template))
		{ return v+template; }		// valueTemplate

	// look for template using tags as prefix
	var tiddler=store.getTiddler(title);
	if (!tiddler) return coreTemplate; // tiddler doesn't exist... use core result
	for (i=0; i<tiddler.tags.length; i++) {
		var t=tiddler.tags[i]+template; // add tag prefix to template
		var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
		if (store.getTiddlerText(theme+t))	{ return theme+t; } // theme##tagTemplate
		if (store.getTiddlerText(theme+c))	{ return theme+c; } // theme##TagTemplate
		if (store.getTiddlerText(t)) 		{ return t; }	    // tagTemplate
		if (store.getTiddlerText(c))		{ return c; }	    // TagTemplate
	}
	
	// no match... use core result
	return coreTemplate;
}
//}}}
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.1 ($Rev: 4092 $)|
|Date:|$Date: 2008-03-24 12:32:33 +1000 (Mon, 24 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{
config.taggly = {

	// for translations
	lingo: {
		labels: {
			asc:        "\u2191", // down arrow
			desc:       "\u2193", // up arrow
			title:      "title",
			modified:   "modified",
			created:    "created",
			show:       "+",
			hide:       "-",
			normal:     "normal",
			group:      "group",
			commas:     "commas",
			numCols:    "cols\u00b1", // plus minus sign
			label:      "Tagged as '%0':",
			excerpts:   "excerpts",
			descr:      "descr",
			slices:     "slices",
			contents:   "contents",
			sliders:    "sliders",
			noexcerpts: "title only"
		},

		tooltips: {
			title:    "Click to sort by title",
			modified: "Click to sort by modified date",
			created:  "Click to sort by created date",
			show:     "Click to show tagging list",
			hide:     "Click to hide tagging list",
			normal:   "Click to show a normal ungrouped list",
			group:    "Click to show list grouped by tag",
			commas:   "Click to show a comma separated list",
			numCols:  "Click to change number of columns",
			excerpts: "Click to show excerpts",
			descr:    "Click to show the description slice",
			slices:    "Click to show all slices",
			contents: "Click to show entire tiddler contents",
			sliders:  "Click to show tiddler contents in sliders",
			noexcerpts: "Click to show entire title only"
		}
	},

	config: {
		showTaggingCounts: true,
		listOpts: {
			// the first one will be the default
			sortBy:     ["title","modified","created"],
			sortOrder:  ["asc","desc"],
			hideState:  ["show","hide"],
			listMode:   ["normal","group","commas"],
			numCols:    ["1","2","3","4","5","6"],
			excerpts:   ["noexcerpts","excerpts","descr","slices","contents","sliders"]
		},
		valuePrefix: "taggly.",
		excludeTags: ["excludeLists","excludeTagging"],
		excerptSize: 50,
		excerptMarker: "/%"+"%/"
	},

	getTagglyOpt: function(title,opt) {
		var val = store.getValue(title,this.config.valuePrefix+opt);
		return val ? val : this.config.listOpts[opt][0];
	},

	setTagglyOpt: function(title,opt,value) {
		if (!store.tiddlerExists(title))
			// create it silently
			store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");
		// if value is default then remove it to save space
		return store.setValue(title,
			this.config.valuePrefix+opt,
			value == this.config.listOpts[opt][0] ? null : value);
	},

	getNextValue: function(title,opt) {
		var current = this.getTagglyOpt(title,opt);
		var pos = this.config.listOpts[opt].indexOf(current);
		// a little usability enhancement. actually it doesn't work right for grouped or sitemap
		var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);
		var newPos = (pos + 1) % limit;
		return this.config.listOpts[opt][newPos];
	},

	toggleTagglyOpt: function(title,opt) {
		var newVal = this.getNextValue(title,opt);
		this.setTagglyOpt(title,opt,newVal);
	}, 

	createListControl: function(place,title,type) {
		var lingo = config.taggly.lingo;
		var label;
		var tooltip;
		var onclick;

		if ((type == "title" || type == "modified" || type == "created")) {
			// "special" controls. a little tricky. derived from sortOrder and sortBy
			label = lingo.labels[type];
			tooltip = lingo.tooltips[type];

			if (this.getTagglyOpt(title,"sortBy") == type) {
				label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
				onclick = function() {
					config.taggly.toggleTagglyOpt(title,"sortOrder");
					return false;
				}
			}
			else {
				onclick = function() {
					config.taggly.setTagglyOpt(title,"sortBy",type);
					config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
					return false;
				}
			}
		}
		else {
			// "regular" controls, nice and simple
			label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
			tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
			onclick = function() {
				config.taggly.toggleTagglyOpt(title,type);
				return false;
			}
		}

		// hide button because commas don't have columns
		if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
			createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
	},

	makeColumns: function(orig,numCols) {
		var listSize = orig.length;
		var colSize = listSize/numCols;
		var remainder = listSize % numCols;

		var upperColsize = colSize;
		var lowerColsize = colSize;

		if (colSize != Math.floor(colSize)) {
			// it's not an exact fit so..
			upperColsize = Math.floor(colSize) + 1;
			lowerColsize = Math.floor(colSize);
		}

		var output = [];
		var c = 0;
		for (var j=0;j<numCols;j++) {
			var singleCol = [];
			var thisSize = j < remainder ? upperColsize : lowerColsize;
			for (var i=0;i<thisSize;i++) 
				singleCol.push(orig[c++]);
			output.push(singleCol);
		}

		return output;
	},

	drawTable: function(place,columns,theClass) {
		var newTable = createTiddlyElement(place,"table",null,theClass);
		var newTbody = createTiddlyElement(newTable,"tbody");
		var newTr = createTiddlyElement(newTbody,"tr");
		for (var j=0;j<columns.length;j++) {
			var colOutput = "";
			for (var i=0;i<columns[j].length;i++) 
				colOutput += columns[j][i];
			var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
			wikify(colOutput,newTd);
		}
		return newTable;
	},

	createTagglyList: function(place,title) {
		switch(this.getTagglyOpt(title,"listMode")) {
			case "group":  return this.createTagglyListGrouped(place,title); break;
			case "normal": return this.createTagglyListNormal(place,title,false); break;
			case "commas": return this.createTagglyListNormal(place,title,true); break;
			case "sitemap":return this.createTagglyListSiteMap(place,title); break;
		}
	},

	getTaggingCount: function(title) {
		// thanks to Doug Edmunds
		if (this.config.showTaggingCounts) {
			var tagCount = store.getTaggedTiddlers(title).length;
			if (tagCount > 0)
				return " ("+tagCount+")";
		}
		return "";
	},

	getExcerpt: function(inTiddlerTitle,title,indent) {
		if (!indent)
			indent = 1;

		var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
		var t = store.getTiddler(title);

		if (t && displayMode == "excerpts") {
			var text = t.text.replace(/\n/," ");
			var marker = text.indexOf(this.config.excerptMarker);
			if (marker != -1) {
				return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
			}
			else if (text.length < this.config.excerptSize) {
				return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
			}
			else {
				return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
			}
		}
		else if (t && displayMode == "contents") {
			return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
		}
		else if (t && displayMode == "sliders") {
			return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
		}
		else if (t && displayMode == "descr") {
			var descr = store.getTiddlerSlice(title,'Description');
			return descr ? " {{excerpt{" + descr  + "}}}" : "";
		}
		else if (t && displayMode == "slices") {
			var result = "";
			var slices = store.calcAllSlices(title);
			for (var s in slices)
				result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
			return result ? "\n{{excerpt excerptIndent{\n" + result  + "}}}" : "";
		}
		return "";
	},

	notHidden: function(t,inTiddler) {
		if (typeof t == "string") 
			t = store.getTiddler(t);
		return (!t || !t.tags.containsAny(this.config.excludeTags) ||
				(inTiddler && this.config.excludeTags.contains(inTiddler)));
	},

	// this is for normal and commas mode
	createTagglyListNormal: function(place,title,useCommas) {

		var list = store.getTaggedTiddlers(title,this.getTagglyOpt(title,"sortBy"));

		if (this.getTagglyOpt(title,"sortOrder") == "desc")
			list = list.reverse();

		var output = [];
		var first = true;
		for (var i=0;i<list.length;i++) {
			if (this.notHidden(list[i],title)) {
				var countString = this.getTaggingCount(list[i].title);
				var excerpt = this.getExcerpt(title,list[i].title);
				if (useCommas)
					output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
				else
					output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");

				first = false;
			}
		}

		return this.drawTable(place,
			this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
			useCommas ? "commas" : "normal");
	},

	// this is for the "grouped" mode
	createTagglyListGrouped: function(place,title) {
		var sortBy = this.getTagglyOpt(title,"sortBy");
		var sortOrder = this.getTagglyOpt(title,"sortOrder");

		var list = store.getTaggedTiddlers(title,sortBy);

		if (sortOrder == "desc")
			list = list.reverse();

		var leftOvers = []
		for (var i=0;i<list.length;i++)
			leftOvers.push(list[i].title);

		var allTagsHolder = {};
		for (var i=0;i<list.length;i++) {
			for (var j=0;j<list[i].tags.length;j++) {

				if (list[i].tags[j] != title) { // not this tiddler

					if (this.notHidden(list[i].tags[j],title)) {

						if (!allTagsHolder[list[i].tags[j]])
							allTagsHolder[list[i].tags[j]] = "";

						if (this.notHidden(list[i],title)) {
							allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
										+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";

							leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers

						}
					}
				}
			}
		}

		var allTags = [];
		for (var t in allTagsHolder)
			allTags.push(t);

		var sortHelper = function(a,b) {
			if (a == b) return 0;
			if (a < b) return -1;
			return 1;
		};

		allTags.sort(function(a,b) {
			var tidA = store.getTiddler(a);
			var tidB = store.getTiddler(b);
			if (sortBy == "title") return sortHelper(a,b);
			else if (!tidA && !tidB) return 0;
			else if (!tidA) return -1;
			else if (!tidB) return +1;
			else return sortHelper(tidA[sortBy],tidB[sortBy]);
		});

		var leftOverOutput = "";
		for (var i=0;i<leftOvers.length;i++)
			if (this.notHidden(leftOvers[i],title))
				leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";

		var output = [];

		if (sortOrder == "desc")
			allTags.reverse();
		else if (leftOverOutput != "")
			// leftovers first...
			output.push(leftOverOutput);

		for (var i=0;i<allTags.length;i++)
			if (allTagsHolder[allTags[i]] != "")
				output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);

		if (sortOrder == "desc" && leftOverOutput != "")
			// leftovers last...
			output.push(leftOverOutput);

		return this.drawTable(place,
				this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
				"grouped");

	},

	// used to build site map
	treeTraverse: function(title,depth,sortBy,sortOrder) {

		var list = store.getTaggedTiddlers(title,sortBy);
		if (sortOrder == "desc")
			list.reverse();

		var indent = "";
		for (var j=0;j<depth;j++)
			indent += "*"

		var childOutput = "";
		for (var i=0;i<list.length;i++)
			if (list[i].title != title)
				if (this.notHidden(list[i].title,this.config.inTiddler))
					childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder);

		if (depth == 0)
			return childOutput;
		else
			return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
	},

	// this if for the site map mode
	createTagglyListSiteMap: function(place,title) {
		this.config.inTiddler = title; // nasty. should pass it in to traverse probably
		var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"));
		return this.drawTable(place,
				this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
				"sitemap"
				);
	},

	macros: {
		tagglyTagging: {
			handler: function (place,macroName,params,wikifier,paramString,tiddler) {
				var refreshContainer = createTiddlyElement(place,"div");
				// do some refresh magic to make it keep the list fresh - thanks Saq
				refreshContainer.setAttribute("refresh","macro");
				refreshContainer.setAttribute("macroName",macroName);
				if (params[0])
					refreshContainer.setAttribute("title",params[0]);
				else {
        			refreshContainer.setAttribute("title",tiddler.title);
				}
				this.refresh(refreshContainer);
			},

			refresh: function(place) {
				var title = place.getAttribute("title");
				removeChildren(place);
				addClass(place,"tagglyTagging");
				if (store.getTaggedTiddlers(title).length > 0) {
					var lingo = config.taggly.lingo;
					config.taggly.createListControl(place,title,"hideState");
					if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
						createTiddlyElement(place,"span",null,"tagglyLabel",lingo.labels.label.format([title]));
						config.taggly.createListControl(place,title,"title");
						config.taggly.createListControl(place,title,"modified");
						config.taggly.createListControl(place,title,"created");
						config.taggly.createListControl(place,title,"listMode");
						config.taggly.createListControl(place,title,"excerpts");
						config.taggly.createListControl(place,title,"numCols");
						config.taggly.createTagglyList(place,title);
					}
				}
			}
		}
	},

	// todo fix these up a bit
	styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
"	margin-top:0px; padding-top:0.5em; padding-left:2em;",
"	margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
"	color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
"	border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active  {",
"	border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
"  margin-bottom:0.5em; }",
".tagglyTagging .indent1  { margin-left:3em;  }",
".tagglyTagging .indent2  { margin-left:4em;  }",
".tagglyTagging .indent3  { margin-left:5em;  }",
".tagglyTagging .indent4  { margin-left:6em;  }",
".tagglyTagging .indent5  { margin-left:7em;  }",
".tagglyTagging .indent6  { margin-left:8em;  }",
".tagglyTagging .indent7  { margin-left:9em;  }",
".tagglyTagging .indent8  { margin-left:10em; }",
".tagglyTagging .indent9  { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
"/*}}}*/",
		""].join("\n"),

	init: function() {
		merge(config.macros,this.macros);
		config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
		store.addNotification("TagglyTaggingStyles",refreshStyles);
	}
};

config.taggly.init();

//}}}

/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin

// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed

***/
//{{{
config.formatters.unshift( {
	name: "inlinesliders",
	// match: "\\+\\+\\+\\+|\\<slider",
	match: "\\<slider",
	// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
	lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
	handler: function(w) {
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
			var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
			var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
			panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
			wikify(lookaheadMatch[3],panel);
			w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
		}
   },
   onClickSlider : function(e) {
		if(!e) var e = window.event;
		var n = this.nextSibling;
		n.style.display = (n.style.display=="none") ? "block" : "none";
		return false;
	}
});

//}}}
!What are they?
If you are editing a page, you will see a box underneath the main content box titled "tags".  If there is the title of any other page ([[Tiddler]]) in that box then it will act as a "tag" for that page.  Think of Tags as pieces of string that connect all the pages that are related to a particular subject area.

So a tag is really just a [[Topic]] heading, and any pages ([[Tiddler]]s) that are //tagged// with say "Birds" would be [[Sub-topic]]s under that heading heading (so pages on Sparrows, Eagles, Seagulls and Dodo's might all be tagged with "Birds".)

Many individual tiddlers will be tagged with a //variety// of tags, allowing for multiple links across different areas and different themes - Dodo's might __also__ be tagged with "Extinct" or "Dead", for instance. 

One of the interesting features of this format is that a page can be both a chunk of MicroContent in its own right __and also__ a [[Tag|Tags]] gathering up other pages under its heading.

!What's the big deal?

There isn't one, really.  Tags = subject headings and pages in their own right.

However, because pages can be tagged with multiple other headings, a single page can be a [[Sub-topic]] under a whole variety of different headings - as if you could have a page in a book that could fit in a range of different chapters simultaneously.

This fosters [[Integrative]] practice...

!How do I USE this stuff?
Click on the [[Show references and info]] panel for this page (or any page in the manual.)  Look at the Topics and Sub-topics.

This [[Tiddler]] is ''tagged'' as a sub-topic of [[Understanding TiddlyManual format]], i.e. it is one of a set of thematically-connected tiddlers that collectively explain the TiddlyWiki format of the manual.  If you click on the 'understanding tiddlymanual format' title in the "Topics" list, you can see all the other [[Sub-topic]]s listed out.  Clicking on any item in this drop-down 'pick-list' opens that specific tiddler.  This way you can quickly see how any single page in the manual relates to other material here.


!To Add or change a tag

If you are editing a tiddlywiki, it is important to think not aonly about the content of the tiddler, but also how it integrates with (fits into) the wider whole - you can help this by adding the right tags.  You can add tags when you [[Edit]] a Tiddler - it is very easy, and is described in the section on how to [[Edit]].  If you click on the ''edit'' button on this tiddler, you will see the tiddler in [[Edit]] mode, and any tag(s) in the bottom box.  When adding tags it is important to get the spelling and capitalisation correct.  For existing tags you can use the button "tags" right underneath the tags box - it will list off all the tags in the document - select the one you want to add, and it will automatically be added.
''Core manualized content'' is managed centrally, using best available evidence, and where evidence is lacking aiming to be 'evidence-oriented'.  

For instance, there is an AMBIT editorial team at the [[Anna Freud Centre|http://www.annafreud.org/]], which curates the content at @@{{{http://ambit.tiddlyspace.com}}}@@.

!Not just 'top-down'
However... tiddlymanuals explicitly move away from being a "top-down" resource that dictates methods from a setting (and often an evidence base) that may be remote from the site of implementation.  
*A local team can [[Set up your own Local Version of the AMBIT manual]] which will automatically [[include|Inclusion]] all the public content from the Core into that space, but allow the local team to adapt, edit or add this themselves.
*After setting up their own TeamTemplate, teams can (indeed, //should//!) alter or add to that material within its own space, developing their own adapted or //customised// versions of this material.  This is a unique blend of Core content (that is curated by the Core editorial team) and Local Customisations (see [[Dynamic, adaptive Manualization]] and [[Customising your local TeamTemplate]]).
*Local teams are encouraged to browse each others' ~TeamTemplates.
*Using the [[Show references and info]] button, they can easily compare and contrast what other teams are doing (each time a team adds their own material that veers away from, or adds to the Core AMBIT content this is clearly marked in their version) and SHARE BEST PRACTICE.   
*Adding new tiddlers to a ~TeamTemplate, or editing the content of existing tiddlers, does not alter the Core AMBIT content - it simply 'over-writes' it in the local version.
*Deleting any tiddlers that have 'overwritten' Core AMBIT content team means that the core content that lies 'behind' it just pops back into view.

!So what?
#This is a customised version of the Core therapeutic approach that is "attuned" for use in your neighbourhood, with your clients.
#Evidence suggests that working faithfully to a manualized treatment offering a clearly structured approach ''improves treatment outcomes'' for our clients.
##Work as a team to edit it, bit by bit, in brief regular sessions for [[Manualization]]
##Your ~TeamTemplate should come more and more closely to represent //"our way of working"// (see [[Customising your local TeamTemplate]], a process explained in [[Dynamic, adaptive Manualization]].)
#Commissioners of services prefer to know what they are getting for their money.
#"OUR ~TeamTemplate" increasingly comes to define OUR team, as a record of our sense of (story of) ''who we are''.  
##We use it to help induct new team members
##To remind each other how to "stay on course"
#You can also download fresh copies of the whole manual (which will run without being attached to the internet, and can be stored on a USB stick, a laptop, or a secure server).
#You can rename and file this copy of the manual, editing separate copies as "work-books" for each new client.  (This is using the manual in its [[ICR]] capacity; see [[Start a new patient file]] on how to do this).
/***
|''Name:''|TemplateFormatterPlugin|
|''Author:''|Martin Budden ( mjbudden [at] gmail [dot] com)|
|''Description:''|Plug to demonstrate template formatter|
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/MartinBudden/experimental/TemplateFormatterPlugin.js |
|''Version:''|0.0.3|
|''Date:''|Mar 19, 2008|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
|''~CoreVersion:''|2.3.0|

!!Description
Provides a formatter that can be used to expand templates

!!Usage
Then include this plugin and tag it systemConfig in the normal way. Templates can include:
{{{
<!--<<macroname macroparameters>>--> : macro that is expanded into the template
<!--comment--> : comment that is included in the output
<!--@@comment@@-->> : comment that is not included in the output (can be used to document the template itself)
}}}

***/

//{{{
//# Ensure that the plugin is only installed once.
if(!version.extensions.TemplateFormatterPlugin) {
version.extensions.TemplateFormatterPlugin = {installed:true};

config.templateFormatters = [
{
	name: 'templateElement',
	match: '<!--(?:<<|@@)',
	lookaheadRegExp: /<!--<<([^>\s]+)(?:\s*)((?:[^>]|(?:>(?!>)))*)>>-->|<!--@@([^@]*)@@-->/mg,
	handler: function(w)
	{
		this.lookaheadRegExp.lastIndex = w.matchStart;
		var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
		if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
			w.nextMatch = this.lookaheadRegExp.lastIndex;
			if(lookaheadMatch[1]) {
				invokeMacro(w.output,lookaheadMatch[1],lookaheadMatch[2],w,w.tiddler);
			}
		}
	}
}
];

config.parsers.templateFormatter = new Formatter(config.templateFormatters);
config.parsers.templateFormatter.format = 'template';
config.parsers.templateFormatter.formatTag = 'TemplateFormat';
} //# end of 'install only once'
//}}}
/***
|''Name:''|TemplatePlugin |
|''Description:''|Collection of functions to support rendering of tiddlers through HTML templates |
|''Author:''|JonathanLister |
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/contributors/JonathanLister/plugins/TemplatePlugin.js |
|''Version:''|0.0.4 |
|''Date:''|25/3/08 |
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License:''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |
|''~CoreVersion:''|2.3|

The templateTiddlers macro finds a set of tiddlers and renders them once each through a template. The template can contain additional
calls to the macro to allow for e.g. looping inside a template (think RSS items). It needs to be able to support recursion, so that sub-templates make sense.

Usage:
{{{
<<templateTiddlers template:RssTemplate filter:"[tag[!excludeLists]]" [wikitext:true]>>
<<templateTiddlers RssTemplate filter:"[tag[!excludeLists]]">> // template qualification is optional
}}}

Parameters can be:
template - the name of the template
filter - a tiddler filter
wikitext - if true, renders the target tiddler's text as wikitext instead of using the special template formatter

If a parameter does not have a qualifier, it is assumed to be the template name

|''Name:''|templateTagsMacro |
|''Description:''|Renders a tiddler's tags through a template |

Usage:
{{{
<<templateTags template:RssItemCategoryTemplate>>
<<templateTiddlers RssTemplate>> // template qualification is optional
}}}

The templateTags macro renders a tiddler's tags through a template in an analagous way to how templateTiddlers renders a set of tiddlers. Future development might offer support for other data items other than tags, but this is what is needed for RSS, the use-case driving the development.

|''Name:''|PermalinkMacro |
|''Description:''|Creates a permalink to the tiddler |

Usage:
{{{
<<permalink>>
}}}
***/

//{{{
if(!version.extensions.templatePlugin) {
version.extensions.templatePlugin = {installed:true};

expandTemplate = function(template,tiddlers,wikitext)
{
	var defaultTemplate = "<<view text>>";
	var t = template;
	template = template ? store.getTiddlerText(template,template) : defaultTemplate;
	if(!tiddlers) {
		// no tiddlers provided, so create a temporary tiddler
		tiddlers = [];
		tiddlers.push(new Tiddler("temp"));
	}
	var output = "";
	// decide whether to parse as wikitext or simple template
	var format = wikitext ? null : 'template';
	for(var i=0; i<tiddlers.length; i++) {
		output += wikifyStatic(template,null,tiddlers[i],format).htmlDecode();
		// wikifyStatic returns html; htmlDecode is used so that nesting of templates doesn't cause encoded characters to be wikified
	}
	return output;
};

config.macros.templateTiddlers = {};
config.macros.templateTiddlers.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	p = paramString.parseParams("anon",null,true,false,false);
	var template = getParam(p,"template",null);
	if(!template)
		template = getParam(p,"anon",null);
	var filter = getParam(p,"filter",null);
	var wikitext = getParam(p,"wikitext",null);
	var tiddlers = [];
	if(filter) {
		tiddlers = store.filterTiddlers(filter);
	} else {
		// no filter provided, so inherit or create temp tiddler
		tiddlers.push(tiddler ? tiddler : new Tiddler("temp"));
	}
	var output = expandTemplate(template,tiddlers,wikitext);
	// NOTE: the line below is contentious - should the .htmlEncode() be used?
	// if you don't use it, it seems that output is not always added in a format suitable for innerHTML
	// this is only an apparent problem when templateTiddlers is nested inside other templates (at two levels deep!)
	// this requires tests writing to iron this out once and for all
	// ALSO: HTMLPreviewTemplate uses the output of expandTemplate directly, but hasn't hit this problem yet (possibly because the nesting only goes one level deep on templates tested so far)
	//place.innerHTML += output;
	var newcontent = document.createElement('div');
	newcontent.innerHTML = output;
	while (newcontent.firstChild) {
        	place.appendChild(newcontent.firstChild);
	}
};

config.macros.templateTags = {};
config.macros.templateTags.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	p = paramString.parseParams("anon",null,true,false,false);
	var template = getParam(p,"template",null);
	var tiddlers = [];
	if(!template)
		template = getParam(p,"anon",null);
	for(var i=0;i<tiddler.tags.length;i++) {
		var t = new Tiddler(tiddler.title);
		t.tags = [tiddler.tags[i]];
		tiddlers.push(t);
	}
	var output = expandTemplate(template,tiddlers);
	place.innerHTML += output;
};

config.macros.permalink = {};
config.macros.permalink.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	var t = encodeURIComponent(String.encodeTiddlyLink(tiddler.title));
	createTiddlyText(place,window.location+"#"+t);
};

config.macros.view.views.slice = function(value,place,params,wikifier,paramString,tiddler) {
	var slice = "";
	if(params && params[2]) {
		slice = store.getTiddlerSlice(tiddler.title,params[2]);
		if(slice) {
			createTiddlyText(place,slice);
		}
	}
};

config.macros.view.views.section = function(value,place,params,wikifier,paramString,tiddler) {
	var section = "";
	if(params && params[2]) {
		section = store.getTiddlerText(tiddler.title+"##"+params[2]);
		if(section) {
			createTiddlyText(place,section);
		}
	}
};

} //# end of 'install only once'
//}}}
You are reading a Tiddler right now.  

Tiddlers contain the content in a Tiddlywiki - they are like pages, only they are much more flexible than paper.  They are like paragraphs, only they can be longer, they can contain video clips, or pictures.  They are like 'notes' or cards in a card-index... but again, they are slightly different from these, too.  if you are puzzled about the name there is a bit of explanation/apology below!
!Integrating information
Tiddlers are where you display information in your [[Wiki]], but they are also concerned with //linking// or //integrating// information with other relevant content.  They can be [[tagged|Tags]], linking them together as [[Sub-topic]]s under a particular heading.  The same tiddler can be a sub-topic under multiple different topic headings (like a page that belongs in multiple chapters), and a tiddler can itself act as a topic heading (which is what a [[tag|Tags]] is.)  Confused?  Please don't be - it is simpler than it sounds, and really its just a database of content that can be organised in masses of different ways.
!Tiddler menus
Tiddlers have their own [[Menus]] that allow you to do all kinds of things like compare them, sort them, edit them, etc

!Show references and info
Tiddlers are where you read or watch information, but they are also grouped in lots of ways that help you read around a subject.  An important menu that you find (top right, beside the title) on every tiddler is the [[Show references and info]] menu - clicking the black sign opens a panel that helps you see how //this material// relates to the wider content.  Try it with this tiddler.

!About Tiddlers
!!!What you can do with them:
You can [[Edit]] Tiddlers very easily, as well as write your own ones to add to your local version of this Manual.
In general we find it helps to use the [[+ Manualize our work]] page to generate brand new content, as it helps ensure that your new tiddler has some appropriate [[Tags]] that will help others locate it, but you can also start from scratch!
''__To generate a new [[Tiddler]] click here:__'' 
<<newTiddler>>

!Tiddlers - just web-pages?
Unlike other web - based '[[Wiki]]s' the TiddlyWiki consists not of multiple //web pages// (that each have to "load" separately via your internet connection) but instead it is formed of multiple [[Tiddler]]s, that can be manipulated ''within a single web page'' - so as you read a tiddlywiki you are opening and closing series of separate Tiddlers that are part of a single file, a 'non-linear document'.  This is generally quicker than having to load whole new web-pages with each click on the many [[Links]] between different parts of the text. It also means that you actually download the whole thing into your local computer when you open the manual, so if you disconnect the internet after you have opened the manual, you can still keep reading and flicking through pages (though you wont get streaming video and pretty pictures!)

!Opening Tiddlers on my [[Desktop]]
The manual allows you to open as many tiddlers as you want on your [[Desktop]], and you can see what you have opened at any one time using your [[Currently Open]] list.

!About that name:
The [[designer of the software|JeremyRuston]] that powers Tiddlymanuals (called TiddlyWiki) refer to the chunks of MicroContent that make up a larger wiki document as "Tiddlers".  

In developing the manual we first tried to minimise the 'shock of the new' and stick to naturalistic language where possible.  We thought about 'pages', notes' 'cards' but found that none of these names quite captured the more dynamic quality of tiddlers.  So for a while we referred to tiddlers as "Thoughts".  A "Thought" and a "Tiddler" were synonymous.  We have since 'recanted' from this, and find that the neologism 'Tiddler' is more effective and less confusing.

[[JeremyRuston]], the original author of tiddlywiki described some deliberate intention behind the playfulness in his naming; "as though leaving the door open for purposeful renaming/reclaiming of this very plastic software form".  It was in this spirit that we originally decided to change the name "Tiddlers" to "Thoughts" for this manual; on the basis that it avoided the neologising that frightens/repels many non-technologically minded users.  In the end, though, we have returned to Tiddlers, as we decided our use of the word Thought was equally uncomfortable and forced.  Let us know what you think at [[Feedback please!]]
/***
|''Name''|TiddlyFileImporter|
|''Version''|0.3.8|
|''Author''|Ben Gillies|
|''Type''|plugin|
|''Description''|Upload a TiddlyWiki file to TiddlyWeb, and import the tiddlers.|
!Usage
Upload a TiddlyWiki file to TiddlyWeb, and import the tiddlers.
!Requires
tiddlyweb
tiddlywebplugins.reflector
!Code
***/
//{{{
(function($){
if(!version.extensions.TiddlyFileImporter)
{ //# ensure that the plugin is only installed once
	version.extensions.TiddlyFileImporter = { installed: true };
}

config.macros.fileImport = {
	reflectorURI: '/reflector?csrf_token=%0',
	incorrectTypeError: 'Incorrect File Type. You must upload a TiddlyWiki',
	uploadLabel: 'Upload',
	uploadLabelPrompt: 'Import tiddlers from this TiddlyWiki',
	step1FileText: 'File:',
	step1PostText: 'In the next screen you will select the tiddlers to import.',
	step1Title: 'Step 1: Pick a TiddlyWiki to import',
	step1TypeChooser: 'Import From:',
	step3Html: ['<input type="hidden" name="markList" />',
		'<input type="hidden" checked="true" name="chkSync" />',
		'<input type="hidden" name="chkSave" />',
		'<input type="hidden" name="txtSaveTiddler" />'].join(),

	handler: function(place, macroName, params, wikifier, paramString) {
		var wizard = new Wizard();
		wizard.createWizard(place, 'Import a TiddlyWiki');
		this.restart(wizard);
	},

	restart: function(wizard) {
		var me = config.macros.fileImport;
		wizard.addStep(me.step1Title, ['<input type="hidden" ',
			'name="markList" />'].join(""));
		var markList = wizard.getElement('markList');
		var uploadWrapper = document.createElement('div');
		markList.parentNode.insertBefore(uploadWrapper, markList);
		uploadWrapper.setAttribute('refresh', 'macro');
		uploadWrapper.getAttribute('macroName', 'fileImport');
		var iframeName = 'reflectorImporter' + Math.random().toString();
		me.createForm(uploadWrapper, wizard, iframeName);
		$(uploadWrapper).append('<p>' + me.step1PostText + '</p>');
		wizard.setValue('serverType', 'tiddlyweb');
		wizard.setValue('adaptor', new config.adaptors.file());
		wizard.setValue('host', config.defaultCustomFields['server.host']);
		wizard.setValue('context', {});
		var iframe = $(['<iframe name="' + iframeName + '" ',
			'style="display: none" />'].join("")).appendTo(uploadWrapper);
		var onSubmit = function(ev) {
			var uploadType = $('select[name=uploadtype]', wizard.formElem).val();
			if (uploadType == "file") {
				// set an onload ready to hijack the form
				me.setOnLoad(uploadWrapper, wizard, iframe[0]);
				wizard.importType = 'file';
				wizard.formElem.submit();
			} else {
				var csrf_token = config.extensions.tiddlyspace.getCSRFToken();
				$.ajax({
					url: "%0/reflector?csrf_token=%1".format(
						config.defaultCustomFields["server.host"], csrf_token),
					type: "POST",
					dataType: "text",
					data: {
						uri: $("input", ".importFrom", wizard.formElem).val()
					},
					success: function(data, txtStatus, xhr) {
						wizard.POSTResponse = data;
						me.importTiddlers(uploadWrapper, wizard);
					},
					error: function(xhr, txtStatus, error) {
						displayMessage(["There was an error fetching the ",
							'url: ', txtStatus].join(""));
						me.restart(wizard);
					}
				});
				return false;
			}
		};
		wizard.setButtons([{
			caption: me.uploadLabel,
			tooltip: me.uploadLabelPrompt,
			onClick: onSubmit
		}]);
		$(wizard.formElem).submit(function(ev) {
			onSubmit(ev);
			ev.preventDefault();
		});
	},

	createForm: function(place, wizard, iframeName) {
		var form = wizard.formElem;
		var me = config.macros.fileImport;
		form.action = me.reflectorURI.format(
			config.extensions.tiddlyspace.getCSRFToken());
		form.enctype = 'multipart/form-data';
		form.encoding = 'multipart/form-data';
		form.method = 'POST';
		form.target = iframeName;
		onSelectChange = function(e) {
			var changeTo = $(this).val();
			if (changeTo == "file") {
				$(".importFrom").html('%0 <input type="file" name="file" />'.
					format(me.step1FileText));
			} else {
				$(".importFrom").html('URL: <input type="text" name="uri" />'
					+ ' Do you want <a target="_blank" href="http://faq.tiddlyspace.com/How%20do%20I%20include%2Fexclude%20spaces%3F">inclusion</a> instead?');
			}
		};
		$(place).append('<span>%0</span>'.format(me.step1TypeChooser)).
			append($(['<select name="uploadtype"><option value="file" selected="selected">file',
				'<option value="uri">url</select>'].join("")).change(onSelectChange)).
			append('<div class="importFrom">%0<input type="file" name="file" /></div>'.
					format(me.step1FileText));
	},

	setOnLoad: function(place, wizard, iframe) {
		var me = config.macros.fileImport;
		var loadHandler = function() {
			me.importTiddlers.apply(this, [place, wizard, iframe]);
		};
		iframe.onload = loadHandler;
		completeReadyStateChanges = 0;
		iframe.onreadystatechange = function() {
			if (++(completeReadyStateChanges) == 5) {
				loadHandler();
			}
		};
	},

	importTiddlers: function(place, wizard, iframe) {
		var tmpStore = new TiddlyWiki();
		var POSTedWiki = "";
		if (wizard.importType == "file") {
			try {
				POSTedWiki= iframe.contentWindow
					.document.documentElement.innerHTML;
			} catch(e) {
				displayMessage(config.macros.fileImport.incorrectTypeError);
				config.macros.fileImport.restart(wizard);
				return;
			}
			// now we are done, so remove the iframe
			$(iframe).remove();
		} else {
			POSTedWiki = wizard.POSTResponse;
		}

		tmpStore.importTiddlyWiki(POSTedWiki);
		var newTiddlers = tmpStore.getTiddlers();
		var workspace = config.defaultCustomFields['server.workspace'];
		var context = {
			status: true,
			statusText: 'OK',
			httpStatus: 200,
			adaptor: wizard.getValue('adaptor'),
			tiddlers: newTiddlers
		};
		context.adaptor.store = tmpStore;
		wizard.setValue('context', context);
		wizard.setValue('workspace', workspace);
		wizard.setValue('inFileImport', true);
		config.macros.importTiddlers.onGetTiddlerList(context, wizard);
	}
};

var _onGetTiddler = config.macros.importTiddlers.onGetTiddler;
config.macros.importTiddlers.onGetTiddler = function(context, wizard) {
	if (wizard.getValue('inFileImport')) {
		var me = config.macros.importTiddlers;
		if(!context.status)
			displayMessage("Error in importTiddlers.onGetTiddler: " + context.statusText);
		var tiddler = context.tiddler;
		var fields = tiddler.fields;
		merge(fields, config.defaultCustomFields);
		fields["server.workspace"] = wizard.getValue('workspace');
		delete fields['server.permissions'];
		delete fields['server.bag'];
		fields['server.page.revision'] = 'false';
		delete fields['server.recipe'];
		fields.changecount = 1;
		store.suspendNotifications();
		store.saveTiddler(tiddler.title, tiddler.title, tiddler.text,
			tiddler.modifier, tiddler.modified, tiddler.tags, tiddler.fields,
			false, tiddler.created);
		store.resumeNotifications();
		var remainingImports = wizard.getValue("remainingImports")-1;
		wizard.setValue("remainingImports",remainingImports);
		if(remainingImports === 0) {
			if(context.isSynchronous) {
				store.notifyAll();
				refreshDisplay();
			}
			wizard.setButtons([
					{caption: me.doneLabel, tooltip: me.donePrompt, onClick: me.onClose}
				],me.statusDoneImport);
			autoSaveChanges();
		}
	} else {
		_onGetTiddler.apply(this, arguments);
	}
};

var _onCancel = config.macros.importTiddlers.onCancel;
config.macros.importTiddlers.onCancel = function(e)
{
	var wizard = new Wizard(this);
	if (!wizard.getValue('inFileImport')) {
		return _onCancel.apply(this, arguments);
	}
	var place = wizard.clear();
	config.macros.fileImport.restart(wizard);
	return false;
};

var _step3Html = config.macros.importTiddlers.step3Html;
var _onGetTiddlerList = config.macros.importTiddlers.onGetTiddlerList;
config.macros.importTiddlers.onGetTiddlerList = function(context, wizard) {
	var fileImport = config.macros.fileImport;
	var importTiddlers = config.macros.importTiddlers;
	if (wizard.getValue('inFileImport')) {
		importTiddlers.step3Html = fileImport.step3Html;
	} else {
		importTiddlers.step3Html = _step3Html;
	}
	_onGetTiddlerList.apply(this, arguments);
};
})(jQuery);
//}}}
What you are reading is a TiddlyManual.  It is a way of manualizing complex interventions that offers multiple additional functions over paper "how-to-do-it" guides, and a lot more than other web-based treatment manuals that do not use the  highly innovative opensource software called TiddlyWiki (hence the name.)

!14 min introduction to the AMBIT Tiddlymanual
By DickonBevington
<html><iframe width="640" height="360" src="//www.youtube.com/embed/-RksN42-G6k" frameborder="0" allowfullscreen></iframe></html>
!Brief narration and animation to explain "Why use Wikis?"
By DickonBevington
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/EZ_yHJ1WLTE?rel=0" frameborder="0" allowfullscreen></iframe></html>
!A tour of the AMBIT "theme" - how to read and navigate in <9 mins
<html><iframe width="480" height="360" src="http://www.youtube.com/embed/TJ4WFQ1ov7g?rel=0" frameborder="0" allowfullscreen></iframe></html>

Tiddlymanuals take much inspiration from the 'OpenSource' movement in computer software development.  They are freely available (though released under a Creative commons [[License|Licensed]]), as the notion of closely guarded, and expensively-marketed, intellectual property in respect of best psychotherapeutic practice seems contradictory in the helping professions.  We acknowledge the support of the [[Anna Freud Centre]] and our [[Sponsors]] in allowing this development.

''@@color(red):Practitioners using Tiddlymanuals remain responsible for their own professional practice.@@''

~TiddlyManuals take the form of [[Wiki]]s, but they function as completely self-contained and easily editable documents, too; they can be downloaded, saved locally, and run from a USB stick, or a local computer without any access to the internet.
 
See [[Using the Manual]] for more details, and go to @tiddlymanuals to see other versions of tiddlymanuals that are available.
~TiddlySpace is the web-based environment that hosts ~TiddlyWiki and [[TiddlyManual]]s, including this manual that you are reading.  

~TiddlySpace uses cunning software in the web-based servers that you link to when you type in the address http://tiddlyspace.com.  Like tiddlymanuals, it is based on [[TiddlyWiki]].  In common with other tiddlywiki, a copy of all public-facing parts of any ~TiddlySpace can be downloaded, and can be run (completely independent from the internet) using no extra software (it runs inside a normal browser) on a desktop computer, laptop, iphone, etc - where it can be edited, stored, and from which it can be emailed, etc.  

Tiddlywiki is an open source software resource that is freely available and supported by a large international community of programmers, most of whom give their time and expertise for free.  

~TiddlySpace is also supported by ~BT-Osmosoft and the original author of ~TiddlyWiki, Jeremy Ruston, and we acknowledge the support of all of these people.

!What's special about ~TiddlySpace?

@@N.B. YOU DO NOT NEED TO UNDERSTAND THIS TO USE THE MANUAL!@@

~TiddlySpace is a place to host and share tiddlywikis - but the way it is set up also allows some pretty unique things to happen that should encourage a respectful and generous sharing and development of ideas between individuals, and small-trusted-groups of people.  

There is a growing body of documentation about ~TiddlySpace, but below are some key points to help the curious understand it:

!!!A "Space"
*A [[Space|Spaces]] is really just a [[Wiki]], that is //hosted// online in the TiddlySpace server.
*It can be run ('hosted' or 'curated') by an individual or by a "small-trusted-group"
*A TiddlySpace can hosts a collection of [[Tiddler]]s in a Wiki.
*There's an emphasis on the wiki as a //clearly-boundaried// collection of information that I (or my group) "curate" in order to share and develop this over time.
!!!Ownership and control
*Any tiddlers held within in my space can be changed by me, ''or by anyone else who I allow to become a member of my Space''.
**''[[Making someone a member of a space]]'' is the equivalent to 'giving them the keys to the door' - not unlike allowing someone access to your office.  
**Do not make people that you do not know and trust well into members of a precious space that carries valuable material.
**If you want to collaborate with them, you can always (at the click of a button) [[Make a new space]] specifically to share with that other person, and by [[Including spaces]] you can still work on material without risking anything.
!!!Public and Private
*Tiddlers have two states: either [[Private]] or [[Public]].  They show their status with the concentric circles icon, which you can see if you look at the tiddler in [[Edit]] mode:
**The pink inner circle denotes "THIS TIDDLER IS PRIVATE"
**The blue outer circle denotes "THIS TIDDLER IS PUBLIC".
*__Changing the status of a tiddler between PUBLIC and PRIVATE__
**Any member of the space that //hosts// these tiddlers can toggle them between 'private' or 'public' status - .
**This is very useful if a team is working on a draft of material that they are yet to all agree upon:
*DRAFTS to FINAL versions: 
**'Unfinished' tiddlers (ones that a team is still working on) can remain 'private' 
**When the group agrees on the content they are ready to 'publish' that tiddler.
!!!Security
**N.B. Although the security levels for private tiddlers are robust, they are certainly NOT sufficient to store any personal data about third parties (clients, etc).
!!!Inclusion
*[[Including spaces]] is easy - I can "include" the public tiddlers from anyone else's space in my own space.
**Once a separately-curated space is included in mine I can [[Edit]] those tiddlers - which is really just over-writing them in my space.  If I then delete my edited version of "their" tiddler, the original tiddler will 'pop back' as their site is still included in mine.  
**It is important to note that when I edit //included material// I am NOT altering the original in any way.
**This is how a local team setting up, say, an AMBIT manual manages to share the common 'Core content' from the Anna Freud Centre, but to be able to add their own material or make edits to the included (copied) tiddlers that have originated from the AFC.
!!!Inclusion to add functions
*A wide range of other spaces exist already that, if you include them, do not add content, but instead add different //functions//, or different //styles and themes//.
**For instance you can include the separate space @simplesearchplugin and this adds a really nice search engine to your wiki.
!!!From Facebook to Mindbook?
*There is a developing social networking function within ~TiddlySpace that makes use of these curious and quite unique capabilities.
**Interacting with other users of tiddlyspace is very different from the //''breadth''// of coverage of, say, Facebook, and is more focussed on the //''depth''// of exchange... Less about the Face, perhaps; more about exploring the mind behind.
!!!Boundaries
*Being a member of a Space means I can see both public and private tiddlers, but if I visit someone else's space, I can only see what they have made public.
Most of the other functions in this area are only for advanced users.

!Finding it:

You find the [[Top menu bar]] by switching the manual to [[Advanced mode]].  On this bar (across the very top of your desktop, soo you may need to scroll up to find it) you'll see a small blue/pink "Target" icon to the right.  Click it.  A drop-down menu is revealed.  Most of this is not relevant to you as a [[TiddlyManual]]s user.

!What's there?

This is a menu provided by the web-based "hosting" site (in [[BT Osmosoft|http://osmosoft.com/#TiddlySpace]]).

Included in this is: 
**The [[Space menu]] - Referred to as "THIS SPACE" - about your wiki (members, content, etc)
**The [[User menu]] - Referred to as "YOUR ACCOUNT" - about YOU as a member of TiddlySpace.









/***
|''Name''|TiddlySpaceBackstage|
|''Version''|0.8.0|
|''Description''|Provides a TiddlySpace version of the backstage and a homeLink macro|
|''Status''|@@beta@@|
|''Contributors''|Jon Lister, Jon Robson, Colm Britton|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceBackstage.js|
|''Requires''|TiddlySpaceConfig ImageMacroPlugin TiddlySpaceViewTypes|
!StyleSheet
.tiddler .error.annotation .button{
	display: inline-block;
}

#backstageArea {
	z-index: 49;
	color: white;
	background-color: black;
	background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #222),color-stop(0.5, #333),color-stop(1, #555));
	background: -moz-linear-gradient(center bottom,#222 0%, #333 50%, #555 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222);
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555, endColorstr=#ff222222)";
	height: 25px;
	padding: 0;
}

#backstageButton {
	overflow: hidden;
}

#backstageButton #backstageShow,
#backstageButton #backstageHide {
	margin: 0px;
	padding: 0px;
}

#backstageButton #backstageShow:hover,
#backstageButton #backstageHide:hover {
	background: none;
	color: none;
}

#backstageButton img,
#backstageButton svg {
	width: 24px;
	height: 24px;
}

#messageArea {
	top: 50px;
}

#backstageToolbar {
	position: relative;
}

#backstageArea a {
	padding: 0px;
	margin-left: 0px;
	color: white;
	background: none;
}

#backstageArea a:hover {
	background-color: white;
}

#backstage ol,
#backstage ul {
	padding: auto;
}

#backstageButton a {
	margin: 0;
}

.backstagePanelBody ul {
	padding: 5px;
	margin: 5px;
}

#backstage #backstagePanel {
	margin-left: 5%;
	padding: 0em;
	margin-right: 5%;
}

#backstageToolbar a {
	position: relative;
}

#backstageArea a.backstageSelTab,
#backstageToolbar .backstageTask {
	line-height: 25px;
	color: #767676;
}

.backstageTask .externalImage,
.backstageTask .image {
	display: inline;
}

#backstageToolbar a span {
	z-index: 2;
}

a.backstageTask {
	display: inline;
        margin-left: 1em !important;
}

.backstagePanelBody .button {
	display: inline-block;
	margin-right: 10px;
}

.backstagePanelBody {
	margin: 0 0 0 0.6em;
	padding: 0.4em 0.5em 1px 0.5em;
}

#backstage table {
	margin: auto;
}

#backstage .wizard table {
	border: 0px;
	margin: 0;
}

#backstage div  li.listLink {
	border: 0px;
	width: 78%;
	font-size: 0.7em;
}

#backstage div li.listTitle {
	font-weight: bold;
	text-decoration: underline;
	font-size: 1em;
	background: #ccc;
	width: 100%;
}

#backstage fieldset {
	border: solid 1px [[ColorPalette::Background]];
}

#backstage .viewer table,#backstage table.twtable {
	border: 0px;
}

#backstageToolbar img {
	padding: 0;
}

#backstage .wizard,
#backstage .wizardFooter {
	background: none;
}

.viewer td, .viewer tr, .twtable td, .twtable tr {
	border: 1px solid #eee;
}

#backstage .inlineList ul li {
	background-color: [[ColorPalette::Background]];
	border: solid 1px [[ColorPalette::TertiaryMid]];
	display: block;
	float: left;
	list-style: none;
	margin-right: 1em;
	padding: 0.5em;
}

.backstageClear, .inlineList form {
	clear: both;
	display: block;
	margin-top: 3em;
}

.tiddlyspaceMenu {
	text-align: center;
}

span.chunkyButton {
	display: inline-block;
	padding: 0;
	margin: 0;
	border: solid 2px #000;
	background-color: #04b;
}

span.chunkyButton a.button, span.chunkyButton a:active.button {
	white-space: nowrap;
	font-weight: bold;
	font-size: 1.8em;
	color: #fff;
	text-align: center;
	padding: 0.5em 0.5em;
	margin: 0;
	border-style: none;
	display: block;
}

span.chunkyButton:hover {
	background-color: #014;
}

span.chunkyButton a.button:hover {
	border-style: none;
	background: none;
	color: #fff;
}

#backstage .unpluggedSpaceTab .wizard,
.unpluggedSpaceTab .wizard {
	background: white;
	border: 2px solid #CCC;
	padding: 5px;
}

.syncKey .keyItem {
	border: 1px solid black;
	display: inline-block;
	margin: 0.2em;
	padding: 0.1em 0.1em 0.1em 0.1em;
}

.keyHeading {
	font-size: 2em;
	font-weight: bold;
	margin: 0.4em 0em -0.2em;
}

.unpluggedSpaceTab .putToServer,
.unpluggedSpaceTab .notChanged {
	display: none;
}

.tiddlyspaceMenu ul {
	margin: 0;
	padding: 0;
}

.tiddlyspaceMenu ul li {
	list-style: none;
}

.unsyncedChanges .unsyncedList {
	display: block;
}

.unsyncedList {
	display: none;
}
!Code
***/
//{{{
(function ($) {
    var name = "StyleSheet" + tiddler.title;
    config.shadowTiddlers[name] = "/*{{{*/\n%0\n/*}}}*/".
        format(store.getTiddlerText(tiddler.title + "##StyleSheet")); // this accesses the StyleSheet section of the current tiddler (the plugin that contains it)
    store.addNotification(name, refreshStyles);

    if (!config.extensions.tiddlyweb.status.tiddlyspace_version) { // unplugged
        config.extensions.tiddlyweb.status.tiddlyspace_version = "<unknown>";
        config.extensions.tiddlyweb.status.server_host = {
            url:config.extensions.tiddlyweb.host }; // TiddlySpaceLinkPlugin expects this
    }
    var disabled_tasks_for_nonmembers = ["tiddlers", "plugins", "batch", "sync"];

    var tweb = config.extensions.tiddlyweb;
    var tiddlyspace = config.extensions.tiddlyspace;
    var currentSpace = tiddlyspace.currentSpace.name;
    var imageMacro = config.macros.image;

    if (config.options.chkBackstage === undefined) {
        config.options.chkBackstage = false;
    }

// Set up Backstage
    config.tasks = {};
    config.tasks.status = {
        text:"status",
        tooltip:"TiddlySpace Info",
        content:"<<tiddler Backstage##Menu>>"
    };
    config.tasks.tiddlers = {
        text:"tiddlers",
        tooltip:"tiddlers control panel",
        content:"<<tiddler Backstage##BackstageTiddlers>>"
    };
    config.tasks.plugins = {
        text:"plugins",
        tooltip:"Manage installed plugins",
        content:"<<tiddler Backstage##Plugins>>"
    };
    config.tasks.batch = {
        text:"batch",
        tooltip:"Batch manage public/private tiddlers",
        content:"<<tiddler Backstage##BatchOps>>"
    };
    config.tasks.tweaks = {
        text:"tweaks",
        tooltip:"Tweak TiddlyWiki behaviors",
        content:"<<tiddler Backstage##Tweaks>>"
    };
    config.tasks.exportTiddlers = {
        text:"import/export",
        tooltip:"Import/export tiddlers from/to a TiddlyWiki",
        content:"<<tiddler Backstage##ImportExport>>"
    };
    config.tasks.sync = {
        text:"sync",
        tooltip:"Check Sync status",
        content:"<<tiddler Backstage##SpaceUnplugged>>"
    };

    if (window.location.protocol === "file:") {
        config.unplugged = true;
    }

    config.backstageTasks = ["status", "tiddlers", "plugins",
        "batch", "tweaks", "exportTiddlers", "sync"];

    config.messages.backstage.prompt = "";
// initialize state
    var _show = backstage.show;
    backstage.show = function () {
        // selectively hide backstage tasks and tabs based on user status
        var tasks = $("#backstageToolbar .backstageTask").show();
        var bs = backstage.tiddlyspace;
        if (!config.unplugged) {
            tweb.getUserInfo(function (user) {
                if (user.anon) {
                    jQuery.each(disabled_tasks_for_nonmembers, function (i, task) {
                        var taskIndex = config.backstageTasks.indexOf(task);
                        if (taskIndex !== -1) {
                            config.backstageTasks.splice(taskIndex, 1);
                        }
                    });
                    config.messages.memberStatus = bs.locale.loggedout;
                } else {
                    config.messages.memberStatus = readOnly ?
                        bs.locale.nonmember : bs.locale.member;
                }
            });
        } else {
            config.messages.memberStatus = bs.locale.unplugged;
        }

        // display backstage
        return _show.apply(this, arguments);
    };
    if (readOnly) {
        jQuery.each(disabled_tasks_for_nonmembers, function (i, task) {
            var taskIndex = config.backstageTasks.indexOf(task);
            if (taskIndex !== -1) {
                config.backstageTasks.splice(taskIndex, 1);
            }
        });
    }

    var tasks = config.tasks;
    var commonUrl = "/bags/common/tiddlers/%0";

    backstage.tiddlyspace = {
        locale:{
            member:"You are a member of this space.",
            nonmember:"You are not a member of this space.",
            loggedout:"You are currently logged out of TiddlySpace.",
            unplugged:"You are unplugged."
        },
        showButton:function () {
            var showBtn = $("#backstageShow")[0];
            var altText = $(showBtn).text();
            $(showBtn).empty();
            imageMacro.renderImage(showBtn, "backstage.svg",
                { altImage:commonUrl.format("backstage.png"), alt:altText});
        },
        hideButton:function () {
            var hideBtn = $("#backstageHide")[0];
            var altText = $(hideBtn).text();
            $(hideBtn).empty();
            imageMacro.renderImage(hideBtn, "close.svg",
                { altImage:commonUrl.format("close.png"), alt:altText, width:24, height:24 });
        }
    };

    var _init = backstage.init;
    backstage.init = function () {
        _init.apply(this, arguments);
        var init = function (user) {
            var bs = backstage.tiddlyspace;
            bs.showButton();
            bs.hideButton();
        };
        tweb.getUserInfo(init);
    };

    var home = config.macros.homeLink = {
        locale:{
            linkText:"your home space"
        },
        handler:function (place) {
            var container = $("<span />").appendTo(place)[0];
            tweb.getUserInfo(function (user) {
                if (!user.anon && user.name !== currentSpace) {
                    createSpaceLink(container, user.name, null, home.locale.linkText);
                }
            });
        }
    };

    config.macros.exportSpace = {
        handler:function (place, macroName, params) {
            var filename = params[0] ||
                "/tiddlers.wiki?download=%0.html".format(currentSpace);
            $('<a class="button">download</a>').// XXX: i18n
                attr("href", filename).appendTo(place);
        }
    };

}(jQuery));
//}}}
(function() {
var getCSRFToken = function(window) {
	// XXX: should not use RegEx - cf.
	// http://www.quirksmode.org/js/cookies.html
	// https://github.com/TiddlySpace/tiddlyspace/commit/5f4adbe009ed4bda3ce39058a3fb07de1420358d
	var regex = /^(?:.*; )?csrf_token=([^(;|$)]*)(?:;|$)/;
	var match = regex.exec(document.cookie);
	var csrf_token = null;
	if (match && (match.length === 2)) {
		csrf_token = match[1];
	}

	return csrf_token;
};

if (typeof config !== 'undefined' && config.extensions &&
		config.extensions.tiddlyspace &&
		config.extensions.tiddlyspace.getCSRFToken === null) {
	config.extensions.tiddlyspace.getCSRFToken = getCSRFToken;
} else {
	window.getCSRFToken = getCSRFToken;
}
})(window);
/***
|''Name''|TiddlySpaceCloneCommand|
|''Version''|0.5.8|
|''Description''|provides a toolbar command for cloning external tiddlers|
|''Status''|stable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceCloneCommand.js|
|''Requires''|TiddlySpaceConfig TiddlySpaceFilters|
!Code
***/
//{{{
(function($) {

var cmd = config.commands;
var tiddlyspace = config.extensions.tiddlyspace;

var fieldsCache = {};

cmd.cloneTiddler = {
	text: cmd.editTiddler.text,
	tooltip: "Create a copy of this tiddler in the current space",
	errorMsg: "Error publishing %0: %1",

	isEnabled: function(tiddler) {
		return !config.filterHelpers.is.local(tiddler) && !readOnly;
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(tiddler) {
			fieldsCache[title] = $.extend({}, tiddler.fields);
			tiddler.fields["server.workspace"] = tiddlyspace.getCurrentWorkspace(config.options.chkPrivateMode ?
		"private" : "public");
			tiddler.fields["server.permissions"] = "read, write, create"; // no delete
			delete tiddler.fields["server.page.revision"];
			delete tiddler.fields["server.title"];
			delete tiddler.fields["server.etag"];
			// special handling for pseudo-shadow tiddlers
			if(tiddlyspace.coreBags.contains(tiddler.fields["server.bag"])) {
				tiddler.tags.remove("excludeLists");
			}
		} else { // ensure workspace is the current space
			var el = story.findContainingTiddler(src);
			el = $(el);
			var fields = el.attr("tiddlyfields");
			if(fields) { // inherited via TiddlyLink
				fields = fields.decodeHashMap();
				fields["server.workspace"] = config.
					defaultCustomFields["server.workspace"];
			} else {
				fields = config.defaultCustomFields;
			}
			fields = String.encodeHashMap(fields);
			el.attr("tiddlyfields", fields);
		}
		cmd.editTiddler.handler.apply(this, arguments);
		if(tiddler) {
			tiddler.fields["server.permissions"] += ", delete";
		}
		return false;
	}
};

cmd.editTiddler.isEnabled = function(tiddler) {
	return !cmd.cloneTiddler.isEnabled.apply(this, arguments);
};

// hijack cancelTiddler to restore original fields
var _cancelHandler = cmd.cancelTiddler.handler;
cmd.cancelTiddler.handler = function(ev, src, title) {
	var tiddler = store.getTiddler(title);
	if(tiddler) {
		tiddler.fields = fieldsCache[title] || tiddler.fields;
		delete fieldsCache[title];
	}
	return _cancelHandler.apply(this, arguments);
};

// hijack saveTiddler to clear unused fields stash
var _saveHandler = cmd.saveTiddler.handler;
cmd.saveTiddler.handler =  function(ev, src, title) {
	delete fieldsCache[title];
	return _saveHandler.apply(this, arguments);
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceConfig|
|''Version''|0.7.7|
|''Description''|TiddlySpace configuration|
|''Status''|stable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceConfig.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlyWebConfig ServerSideSavingPlugin TiddlyFileImporter|
!Code
***/
//{{{
(function($) {

var tweb = config.extensions.tiddlyweb;

var recipe = config.defaultCustomFields["server.workspace"].split("recipes/")[1];
var currentSpace; // assigned later

var disabledTabs = [];

var coreBags = ["system", "tiddlyspace"];
var systemSpaces = ["plugins", "info", "images", "theme"];
systemSpaces = $.map(systemSpaces, function(item, i) {
	return "system-%0_public".format(item);
});

// hijack search macro to add custom attributes for mobile devices
var _search = config.macros.search.handler;
config.macros.search.handler = function(place, macroName, params) {
	_search.apply(this, arguments);
	$(".searchField:input", place).
		attr({ autocapitalize: "off", autocorrect: "off" });
};

// arg is either a container name or a tiddler object
// if fuzzy is truthy, space may be inferred from workspace (for new tiddlers)
// returns space object or false
var determineSpace = function(arg, fuzzy) {
	if(typeof arg == "string") { // container name
		var space = split(arg, "_", "r");
		return ["public", "private"].contains(space.type) ? space : false;
	} else if(arg) { // tiddler
		var container = determineContainer(arg, fuzzy);
		return container ? determineSpace(container.name, fuzzy) : false;
	} else {
		return false;
	}
};

// if fuzzy is truthy, container may be inferred from workspace for new tiddlers
// returns container object or false
var determineContainer = function(tiddler, fuzzy) { // TODO: expose?
	var bag = tiddler.fields["server.bag"];
	var recipe = tiddler.fields["server.recipe"]; // XXX: unused/irrelevant/redundant!?
	if(bag) {
		return { type: "bag", name: bag };
	} else if(recipe) {
		return { type: "recipe", name: recipe };
	} else if(fuzzy) { // new tiddler
		var workspace = tiddler.fields["server.workspace"];
		if(workspace) {
			var container = split(workspace, "/", "l");
			return ["bags", "recipes"].contains(container.type) ? container : false;
		} else {
			return false;
		}
	} else {
		return false;
	}
};

// hijack removeTiddlerCallback to restore tiddler from recipe cascade -- TODO: move into TiddlyWebWiki?
var sssp = config.extensions.ServerSideSavingPlugin;
var _removeTiddlerCallback = sssp.removeTiddlerCallback;
sssp.removeTiddlerCallback = function(context, userParams) {
	var title = context.tiddler.title;
	var recipe = context.tiddler.fields["server.recipe"];
	_removeTiddlerCallback.apply(this, arguments);
	if(recipe) {
		context.workspace = "recipes/" + recipe;
		var callback = function(context, userParams) {
			if(context.status) {
				var dirty = store.isDirty();
				store.saveTiddler(context.tiddler).clearChangeCount();
				store.setDirty(dirty);
			} else {
				store.notify(title, true);
			}
		};
		context.adaptor.getTiddler(title, context, null, callback);
	}
};

// splits a string once using delimiter
// mode "l" splits at the first, "r" at the last occurrence
// returns an object with members type and name
var split = function(str, sep, mode) {
	mode = mode == "r" ? "pop" : "shift"; // TODO: use +/-1 instead of "l"/"r"?
	var arr = str.split(sep);
	var type = arr.length > 1 ? arr[mode]() : null;
	return { type: type, name: arr.join(sep) };
};

var plugin = config.extensions.tiddlyspace = {
	currentSpace: determineSpace(recipe),
	coreBags: coreBags.concat(systemSpaces),

	determineSpace: determineSpace,
	isValidSpaceName: function(name) {
		return name.match(/^[a-z][0-9a-z\-]*[0-9a-z]$/) ? true : false;
	},
	getCurrentBag: function(type) {
		return "%0_%1".format(currentSpace, type);
	},
	getCurrentWorkspace: function(type) {
		return "bags/" + this.getCurrentBag(type);
	},
	// returns the URL for a space's avatar (SiteIcon) based on a server_host
	// object and an optional space name
	// optional nocors argument prevents cross-domain URLs from being generated
	getAvatar: function(host, space, nocors) {
		if(space && typeof space != "string") { // backwards compatibility -- XXX: deprecated
			space = space.name;
		}
		var subdomain = nocors ? currentSpace : space;
		host = host ? this.getHost(host, subdomain) : "";
		var bag = space ? "%0_public".format(space) : "tiddlyspace";
		return "%0/bags/%1/tiddlers/SiteIcon".format(host, bag);
	},
	// returns the URL based on a server_host object (scheme, host, port) and an
	// optional subdomain
	getHost: function(host, subdomain) {
		if(host === undefined) { // offline
			tweb.status.server_host = {}; // prevents exceptions further down the stack -- XXX: hacky workaround, breaks encapsulation
			return null;
		}
		subdomain = subdomain ? subdomain + "." : "";
		var url = "%0://%1%2".format(host.scheme, subdomain, host.host);
		var port = host.port;
		if(port && !["80", "443"].contains(port)) {
			url += ":" + port;
		}
		return url;
	},
	disableTab: function(tabTiddler) {
		if(typeof(tabTiddler) == "string") {
			disabledTabs.push(tabTiddler);
		} else {
			for(var i = 0; i < tabTiddler.length; i++) {
				plugin.disableTab(tabTiddler[i]);
			}
		}
	},
    checkSyncStatus: function(tiddler) {
		if(tiddler) {
			var title = typeof(tiddler) === "string" ? tiddler : tiddler.title;
			var el = story.getTiddler(title) || false;
			if(el) {
				refreshElements(el);
			}
		}
	},
	isDisabledTab: function(tabTitle) {
		var match = new RegExp("(?:\\[\\[([^\\]]+)\\]\\])", "mg").exec(tabTitle);
		var tabIdentifier = match ? match[1] : tabTitle;
		return disabledTabs.contains(tabIdentifier);
	},
	getCSRFToken: window.getCSRFToken || null // this may not have been processed yet
};

currentSpace = plugin.currentSpace.name;

tweb.serverPrefix = tweb.host.split("/")[3] || ""; // XXX: assumes root handler
tweb.getStatus(function(status) {
	var url = plugin.getHost(status.server_host);
	tweb.status.server_host.url = url;
	config.messages.tsVersion = status.version;
});

if(window.location.protocol == "file:") {
	// enable AutoSave by default
	config.options.chkAutoSave = config.options.chkAutoSave === undefined ?
		true : config.options.chkAutoSave;
} else {
	// set global read-only mode based on membership heuristics
	var indicator = store.getTiddler("SiteTitle") || tiddler;
	readOnly = !(recipe.split("_").pop() == "private" ||
		tweb.hasPermission("write", indicator));
	// replace TiddlyWiki's ImportTiddlers due to cross-domain restrictions
	if(config.macros.fileImport) {
		$.extend(config.macros.importTiddlers, config.macros.fileImport);
	}
}

// hijack saveChanges to ensure SystemSettings is private by default
var _saveChanges = saveChanges;
saveChanges = function(onlyIfDirty, tiddlers) {
	if(tiddlers && tiddlers.length == 1 &&
			tiddlers[0] && tiddlers[0].title == "SystemSettings") {
		var fields = tiddlers[0].fields;
		delete fields["server.recipe"];
		fields["server.bag"] = plugin.getCurrentBag("private");
		fields["server.workspace"] = plugin.getCurrentWorkspace("private");
	}
	return _saveChanges.apply(this, arguments);
};

// ensure backstage is always initialized
// required to circumvent TiddlyWiki's read-only based handling
config.macros.backstageInit = {
	init: function() {
		showBackstage = true;
	}
};

// disable evaluated macro parameters for security reasons
config.evaluateMacroParameters = "none";
var _parseParams = String.prototype.parseParams;
String.prototype.parseParams = function(defaultName, defaultValue, allowEval,
		noNames, cascadeDefaults) {
	if(config.evaluateMacroParameters == "none") {
		arguments[2] = false;
	}
	return _parseParams.apply(this, arguments);
};

var _tabsMacro = config.macros.tabs.handler;
config.macros.tabs.handler = function(place, macroName, params) {
	var newParams = [params[0]]; // keep cookie name
	for(var i = 1; i < params.length; i += 3) {
		var tabTitle = params[i + 2];
		if(!plugin.isDisabledTab(tabTitle)){
			newParams = newParams.concat(params[i], params[i + 1], tabTitle);
		}
	}
	_tabsMacro.apply(this, [place, macroName, newParams]);
};

// disable ControlView for XHRs by default
$.ajaxSetup({
	beforeSend: function(xhr) {
		xhr.setRequestHeader("X-ControlView", "false");
	}
});
// TiddlyWeb adaptor currently still uses httpReq, which needs extra magic -- XXX: obsolete this!
var _httpReq = httpReq;
httpReq = function(type, url, callback, params, headers, data, contentType,
		username, password, allowCache) {
	headers = headers || {};
	headers["X-ControlView"] = "false";
	_httpReq.apply(this, arguments);
};

// register style sheet for backstage separately (important)
store.addNotification("StyleSheetBackstage", refreshStyles);

// option for default privacy setting
config.optionsDesc.chkPrivateMode = "Set your default privacy mode to private";
config.optionsSource.chkPrivateMode = "setting";
config.options.chkPrivateMode = config.options.chkPrivateMode || false;
saveSystemSetting("chkPrivateMode", true);
config.defaultCustomFields["server.workspace"] = plugin.
	getCurrentWorkspace(config.options.chkPrivateMode ? "private" : "public");

config.paramifiers.follow = {
	onstart: function(v) {
		if(!readOnly) {
			var bag = "%0_public".format(currentSpace);
			story.displayTiddler(null, v, DEFAULT_EDIT_TEMPLATE, null, null,
				"server.bag:%0 server.workspace:bags/%0".format(bag));
			story.setTiddlerTag(v, "follow", 1);
			story.focusTiddler(v, "text");
		}
	}
};

var fImport = config.macros.fileImport;
if(fImport) {
	fImport.uploadTo = "Upload to: ";
	var _createForm = config.macros.fileImport.createForm;
	config.macros.fileImport.createForm = function(place, wizard, iframeName) {
		var container = $("<div />").text(fImport.uploadTo).appendTo(place);
		var select = $('<select name="mode" />').appendTo(container)[0];
		$('<option value="private" selected>private</a>').appendTo(select);
		$('<option value="public">public</a>').appendTo(select);
		wizard.setValue("importmode", select);
		_createForm.apply(this, [place, wizard, iframeName]);
	};

	var _onGet = config.macros.importTiddlers.onGetTiddler;
	config.macros.importTiddlers.onGetTiddler = function(context, wizard) {
		var type = $(wizard.getValue("importmode")).val();
		var ws =  plugin.getCurrentWorkspace(type);
		wizard.setValue("workspace", ws);
		_onGet.apply(this, [context, wizard]);
	};
}

config.extensions.ServerSideSavingPlugin.reportSuccess = function(msg, tiddler) {
	plugin.checkSyncStatus(tiddler);
	msg = config.extensions.ServerSideSavingPlugin.locale[msg];
	var link = "/" + encodeURIComponent(tiddler.title);
	displayMessage(msg.format([tiddler.title]), link);
};


})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceFilters|
|''Description''|provide TiddlySpace-specific filter extensions|
|''Author''|Jon Robson|
|''Version''|0.6.1|
|''Status''|@@beta@@|
|''CoreVersion''|2.6.2|
|''Requires''|TiddlySpaceConfig|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
{{{
<<tsList Private>>
<<tsList Public>>
<<tsList Draft>>
}}}
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var privateBag = tiddlyspace.getCurrentBag("private");
var publicBag = tiddlyspace.getCurrentBag("public");

config.filterHelpers = {
	is: {
		"private": function(tiddler) {
			var bag = tiddler.fields["server.bag"];
			return bag == privateBag;
		},
		"public": function(tiddler) {
			var bag = tiddler.fields["server.bag"];
			return bag == publicBag;
		},
		draft: function(tiddler) {
			var fields = tiddler.fields;
			var bag = fields["server.bag"];
			return (privateBag == bag && fields["publish.name"]) ? true : false;
		},
		local: function(tiddler) {
			return config.filterHelpers.is["public"](tiddler) ||
				config.filterHelpers.is["private"](tiddler);
		},
		unsynced: function(tiddler) {
			return tiddler ? tiddler.isTouched() : false;
		}
	}
};

config.filters.is = function(results, match) {
	var candidates = store.getTiddlers("title");
	var type = match[3];
	for (var i = 0; i < candidates.length; i++) {
		var tiddler = candidates[i];
		var helper = config.filterHelpers.is[type];
		if(helper && helper(tiddler)) {
			results.pushUnique(tiddler);
		}
	}
	return results;
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceFollowingPlugin|
|''Version''|0.7.1|
|''Description''|Provides a following macro|
|''Author''|Jon Robson|
|''Requires''|TiddlySpaceConfig TiddlySpaceTiddlerIconsPlugin ErrorHandler|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
!Usage
Tag a tiddler with "follow" to express a list of followers.
Using the {{{<<followTiddlers X>>}}}
will reveal the number of tiddlers with name X in the set of spaces the *current* user viewing your space follows.
{{{<<following jon>>}}} will list all the users following Jon.
{{{<<followers jon>>}}} will list all the followers of jon.
{{{<linkedTiddlers>>}}} will list all tiddlers across TiddlySpace linked to the current tiddler
{{{<linkedTiddlers follow:yes>>}}} will list all tiddlers across TiddlySpace that come from your list of followers
adds spaceLink view type {{{<<view server.bag spaceLink>>}}} creates a link to the space described in server.bag
{{{<<view server.bag spaceLink title>>}}} makes a link to the tiddler with title expressed in the field title in space server.bag
If no name is given eg. {{{<<following>>}}} or {{{<<follow>>}}} it will default the current user.
!StyleSheet
.followTiddlersList li {
	list-style:none;
}

.followButton {
	width: 2em;
}

.followTiddlersList li .siteIcon {
	height:48px;
	width: 48px;
}

#sidebarTabs .followers li a,
.followers .siteIcon,
.followers .siteIcon div {
	display: inline;
}

.followTiddlersList li .externalImage, .followTiddlersList li .image {
	display: inline;
}

.scanResults li {
	list-style: none;
}
!Code
***/
//{{{
(function($) {
var LIMIT_FOLLOWING = 100;

var tweb = config.extensions.tiddlyweb;
var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace.name;

var shadows = config.shadowTiddlers;
config.annotations.ScanTemplate = "This tiddler is the default template used in the display of tiddlers founding using the tsScan macro. To access attributes use the view macro e.g. {{{<<view title text>>}}}";
shadows.ScanTemplate = "<<view modifier SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view title link>>";
shadows.FollowersTemplate = "<<view server.bag SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view server.bag spaceLink>>";
shadows.FollowingTemplate = "<<view title SiteIcon width:24 height:24 spaceLink:yes label:no>> <<view title spaceLink>>";
shadows.FollowTiddlersBlackList = "";
shadows.FollowTiddlersHeading = "There are tiddlers in spaces you follow using the follow tag which use the title <<view title text>>";
shadows.FollowTiddlersTemplate = ["* <<view server.space SiteIcon width:24 height:24 spaceLink:yes label:no>> ",
	"<<view server.space spaceLink title external:no>> modified by <<view modifier spaceLink>> ",
	"in the <<view server.space spaceLink>> space (<<view modified date>> @ <<view modified date 0hh:0mm>>).\n"].join("");

var name = "StyleSheetFollowing";
shadows[name] = "/*{{{*/\n%0\n/*}}}*/".
	format(store.getTiddlerText(tiddler.title + "##StyleSheet"));
store.addNotification(name, refreshStyles);

// provide support for sucking in tiddlers from the server
tiddlyspace.displayServerTiddler = function(src, title, workspace, callback) {
	var adaptor = store.getTiddlers()[0].getAdaptor();
	var localTitle = tiddlyspace.getLocalTitle(title, workspace);
	var tiddler = new Tiddler(localTitle);
	tiddler.text = "Please wait while this tiddler is retrieved...";
	tiddler.fields.doNotSave = "true";
	store.addTiddler(tiddler);
	src = story.displayTiddler(src || null, tiddler.title);
	tweb.getStatus(function(status) {
		var context = {
			host: tweb.host, // TODO: inherit from source tiddler?
			workspace: workspace,
			headers: { "X-ControlView": "false" }
		};
		var getCallback = function(context, userParams) {
			var tiddler = context.tiddler;
			tiddler.title = localTitle;
			store.addTiddler(tiddler);
			story.refreshTiddler(localTitle, null, true); // overriding existing allows updating
			if(callback) {
				callback(src, tiddler);
			}
		};
		adaptor.getTiddler(title, context, null, getCallback);
	});
};

tiddlyspace.scroller = {
	runHandler: function(title, top, bottom, height) {
		var i;
		var handlers = tiddlyspace.scroller.handlers;
		var tidEl = story.getTiddler(title);
		if(tidEl) {
			var topEl = $(tidEl).offset().top + 20;
			if(top === false || (topEl > top && topEl < bottom)) {
				var h = handlers[title];
				for(i = 0; i < h.length; i++) {
					h[i]();
				}
				tiddlyspace.scroller.clearHandlers(title);
			}
		} else {
			tiddlyspace.scroller.clearHandlers(title);
		}
	},
	clearHandlers: function(title) {
		tiddlyspace.scroller.handlers[title] = [];
	},
	registerIsVisibleEvent: function(title, handler) {
		tiddlyspace.scroller.handlers[title] = tiddlyspace.scroller.handlers[title] || [];
		tiddlyspace.scroller.handlers[title].push(handler);
	},
	init: function() {
		this.handlers = {};
		this.interval = window.setInterval(function() {
			var top = $(window).scrollTop();
			var height = $(window).height();
			var bottom = top + height;
			var title;
			for(title in tiddlyspace.scroller.handlers) {
				if(title) {
					tiddlyspace.scroller.runHandler(title, top, bottom, height);
				}
			}
		}, 2000); // every 2 seconds check scroll position
	}
};
tiddlyspace.scroller.init();

var followMacro = config.macros.followTiddlers = {
	locale: {
		followListHeader: "Here are tiddlers from spaces you follow using the follow tag which use this title.",
		noTiddlersFromFollowers: "None of the spaces you follow contain a tiddler with this name.",
		errorMessage: "There was a problem retrieving tiddlers from the server. Please try again later."
	},
	init: function() {
		followMacro.lookup = {};
	},
	followTag: "follow",
	getHosts: function(callback) {
		tweb.getStatus(function(status) {
			callback(tweb.host, tiddlyspace.getHost(status.server_host, "%0"));
		});
	},
	getBlacklist: function() {
		return store.getTiddlerText("FollowTiddlersBlackList").split("\n");
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var args = paramString.parseParams("anon")[0];
		var containingTiddler = story.findContainingTiddler(place).getAttribute('tiddler');
		var title = (args.anon && args.anon[0]) || tiddler.fields["server.title"] || tiddler.title;
		var tid = store.getTiddler(title);
		var user = params[1] || false;
		if(tid) {
			followMacro.makeButton(place, {
				url: "/search?q=title:%22" + encodeURIComponent(title) + "%22",
				containingTiddler: containingTiddler,
				blacklisted: followMacro.getBlacklist(), title: title, user: user,
				consultFollowRelationship: (args.follow &&
					args.follow[0] === 'false') ? false : true });
		}
	},
	makeButton: function(place, options) { // this is essentially the same code in TiddlySpaceFollowingPlugin
		var title = options.title;
		var blacklisted = options.blacklisted;
		var tiddler = store.getTiddler(title);
		var btn = $('<div class="followButton" />').addClass("notLoaded").appendTo(place)[0];
		if(blacklisted.contains(title)) {
			$(btn).remove();
			return;
		} else {
			var user = options.user;
			window.setTimeout(function() { // prevent multiple calls due to refresh
				tiddlyspace.scroller.registerIsVisibleEvent(options.containingTiddler, function() {
					var mkButton = function(followers, ignore) {
						if(!followers && !ignore) {
							$(btn).remove();
						} else {
							$("<a />").appendTo(btn);
							var scanOptions = { url: options.url,
								spaceField: options.spaceField || "bag", template: null, sort: "-modified",
								callback: function(tiddlers) {
									$(btn).removeClass("notLoaded");
									followMacro.constructInterface(btn, tiddlers);
								}
							};
							if(!ignore) {
								scanOptions.showBags = followMacro._getFollowerBags(followers);
							}
							scanOptions.hideBags = [tiddler.fields["server.bag"]];
							scanMacro.scan(null, scanOptions, user);
						}
					};
					if(options.consultFollowRelationship) {
						followMacro.getFollowers(mkButton);
					} else {
						mkButton([], true);
					}
				});
			}, 1000);
		}
	},
	constructInterface: function(container, tiddlers) {
		var txt = tiddlers.length;
		var className = txt > 0 ? "hasReplies" : "noReplies";
		var el = $(story.findContainingTiddler(container));
		$(container).empty().addClass(className);
		var btn = $("<a />").addClass("followedTiddlers").text(txt).
			click(function(ev) {
				followMacro.followingOnClick(ev);
			}).appendTo('<div class="followedTiddlers" />').appendTo(container)[0];
		$.data(btn, "tiddlers", tiddlers);
	},
	followingOnClick: function(ev) {
		var target = ev.target;
		var locale = followMacro.locale;
		var el = $('<div class="followTiddlersList" />')[0];
		var popup = Popup.create(target,"div");
		$(popup).addClass("taggedTiddlerList followList").click(function(ev) { // make it so only clicking on the document outside the popup removes the popup
			if(ev.target.parentNode != document) {
				ev.stopPropagation();
			}
		}).append(el);
		var tiddlers = $.data(target, "tiddlers") || [];
		scanMacro.template(el, tiddlers.slice(0,1), "FollowTiddlersHeading");
		scanMacro.template(el, tiddlers, "FollowTiddlersTemplate");
		if(tiddlers.length === 0) {
			$("<li />").text(locale.noTiddlersFromFollowers).appendTo(el);
		}
		Popup.show();
		ev.stopPropagation();
		return popup;
	},
	_getFollowerBags: function(followers) { // XXX: private or not?
		return $.map(followers, function(name, i) {
			return name != currentSpace ? "%0_public".format(name) : null;
		});
	},
	getFollowers: function(callback, username) {
		// returns a list of spaces being followed by the existing space
		var followersCallback = function(user) {
			if(!user.anon) {
				scanMacro.scan(null, { 
					url: "/search?q=bag:%0_public tag:%1 _limit:%2".format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "title", template: null, cache: true,
					callback: function(tiddlers) {
						var followers = [];
						for(var i = 0; i < tiddlers.length; i++) {
							followers.push(tiddlyspace.resolveSpaceName(tiddlers[i].title));
						}
						callback(followers);
					}
				});
			} else {
				callback(false);
			}
		};
		return !username ? tweb.getUserInfo(followersCallback) : followersCallback({ name: username });
	}
};

var scanMacro = config.macros.tsScan = {
	init: function () {
		this.scanned = {};
	},
	_tiddlerfy: function(jsontiddlers, options) {
		var tiddlers = [];
		var spaceField = options.spaceField || "bag"; // TODO: phase out use view types instead
		$.each(jsontiddlers, function(i, t) {
			var use = false;
			if(!options.showBags || (options.showBags && options.showBags.contains(t.bag))) {
				use = true;
			}
			if(options.hideBags && options.hideBags.contains(t.bag)) {
				use = false;
			}
			if(use) {
				var spaceName = t[spaceField];
				var tiddler = config.adaptors.tiddlyweb.toTiddler(t, tweb.host);
				tiddler.fields["server.space"] = tiddlyspace.resolveSpaceName(spaceName);
				tiddlers.push(tiddler);
			}
		});
		return tiddlers;
	},
	_scanCallback: function(place, jsontiddlers, options) {
		var locale = followersMacro.locale;
		var tiddlers = scanMacro._tiddlerfy(jsontiddlers, options);
		
		if(options.sort) {
			tiddlers = store.sortTiddlers(tiddlers, options.sort);
		}
		if(options.filter) {
			var _store = new TiddlyWiki();
			config.lastStore = _store;
			for(var i = 0; i < tiddlers.length; i++) {
				var clone = tiddlers[i];
				clone.title = tiddlyspace.getLocalTitle(clone.title, clone.fields['server.workspace']);
				_store.addTiddler(clone);
			}
			tiddlers = _store.filterTiddlers(options.filter);
		}
		if(place) {
			$(place).empty();
			var list = $("<ul />").appendTo(place)[0];
			scanMacro.template(list, tiddlers, options.template);
			if(tiddlers.length === 0) {
				$("<li />").text(options.emptyMessage || locale.noone).appendTo(list);
				$(list).addClass("emptyList");
			}
		}
		if(options.callback) {
			options.callback(tiddlers);
		}
	},
	constructSearchUrl: function(host, options) {
		if(options.url) {
			return options.url;
		}
		var inputs = options.searchValues;
		var tag = options.tag;
		var searchField = options.searchField || "title";
		var searchQuery = [];
		for(var i = 0; i < inputs.length; i++) {
			searchQuery.push('%0:"%1"'.format(searchField, inputs[i]));
		}
		var query = searchQuery.join(" OR ");
		query = tag ? "(%0) AND tag:%1".format(query, tag) : query;
		query = options.query ? "%0;%1;".format(query, options.query) : query;
		query = options.fat ? "%0&fat=1".format(query) : query;
		return '%0/search?q=%1'.format(host, query);
	},
	scan: function(place, options) { // TODO: make use of list macro with url filter
		var locale = followersMacro.locale;
		options.template = options.template ? options.template : "ScanTemplate";
		followMacro.getHosts(function(host, tsHost) {
			$(place).text(followersMacro.locale.pleaseWait);
			options = options ? options: {};
			var url = scanMacro.constructSearchUrl(host, options);
			if(options.cache && scanMacro.scanned[url]) {
				var tiddlers = scanMacro.scanned[url].tiddlers;
				var run = function(tiddlers) {
					scanMacro._scanCallback(place, tiddlers, options);
				};
				if(tiddlers) {
					run(tiddlers);
				} else {
					scanMacro.scanned[url].callbacks.push(run);
				}
			} else {
				var callback = function(tiddlers) {
					scanMacro._scanCallback(place, tiddlers, options);
				};
				if(scanMacro.scanned[url] && scanMacro.scanned[url].callbacks) {
					scanMacro.scanned[url].callbacks.push(callback);
				} else {
					scanMacro.scanned[url] = {
						callbacks: [callback]
					};
				}
				ajaxReq({
					url: url,
					dataType: "json",
					success: function(tiddlers) {
						scanMacro.scanned[url].tiddlers = tiddlers;
						var callbacks = scanMacro.scanned[url].callbacks;
						while(callbacks.length > 0) {
							callbacks.pop()(tiddlers);
						}
					},
					error: function(xhr) {
						$(place).empty();
						$("<span />").addClass("annotation error").text(locale.error.format(xhr.status)).appendTo(place);
					}
				});
			}
		});
	},
	template: function(place, tiddlers, template) { // TODO: make use of list macro.
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var item = $('<li class="spaceName" />').appendTo(place)[0];
			var spaceName = tiddler.fields["server.space"] || "";
			var templateText = store.getTiddlerText(template).replace(/\$1/mg, spaceName);
			wikify(templateText, item, null, tiddler);
		}
	},
	getOptions: function(paramString, tiddler) {
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var options = { query: false, sort: false, tag: false, template: false, showBags: args.show || false,
			hideBags: args.hide || false, filter: false, spaceField: "bag", searchField: "title", fat: false,
			emptyMessage: false };
		for(var name in args) {
			if(name != "name") {
				if(name == "fat") {
					options[name] = true;
				} else {
					options[name] = args[name][0];
				}
			}
		}
		// if user has set searchField to modifier, then use the modifiers value if available otherwise use searchValues.
		var searchField = options.searchField;
		var searchValues = args[searchField] ? args[searchField] : args.searchValues;
		// if neither of those were used use the first parameter
		var defaultValues = tiddler ? [ tiddler.title ] : [];
		options.searchValues = searchValues ? searchValues : ( args.name ? [args.name[0]] : defaultValues);
		return options;
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var container = $("<div />").addClass("scanResults resultsArea").appendTo(place)[0];
		var options = scanMacro.getOptions(paramString, tiddler);
		scanMacro.scan(container, options);
	}
};

var followersMacro = config.macros.followers = {
	locale: {
		loggedOut: "Please login to see the list of followers",
		noSupport: "We were unable to retrieve followers as your browser does not support following.",
		pleaseWait: "Please wait while we look this up...",
		error: "Error %0 occurred whilst retrieving data from server",
		noone: "None."
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var locale = followersMacro.locale;
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var username = args.name ? args.name[0] : false;
		var container = $('<div class="followers" />').text(locale.pleaseWait).
			appendTo(place)[0];
		var followersCallback = function(user) {
			if(user.anon) {
				$("<span />").text(locale.loggedOut).appendTo(container);
			} else {
				var options = scanMacro.getOptions(paramString);
				$.extend(options, {
					url: "/search?q=title:@%0 OR title:%0 tag:%1 _limit:%2".
						format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "bag",
					template: options.template ? options.template : "FollowersTemplate"
				});
				scanMacro.scan(container, options);
			}
		};
		return !username ? followersCallback({ name: currentSpace }) : followersCallback({ name: username });
	}
};

var followingMacro = config.macros.following = {
	locale: {
		pleaseWait: followersMacro.locale.pleaseWait,
		loggedOut: "Please login to see who you are following",
		noSupport: followersMacro.locale.noSupport,
		error: followersMacro.locale.error,
		noone: followersMacro.locale.noone
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var locale = followingMacro.locale;
		var args = paramString.parseParams("name", null, true, false, true)[0];
		var fat = args.fat ? true : false;
		var username = args.name ? args.name[0] : false;
		var container = $('<div class="following" />').text(locale.pleaseWait).
			appendTo(place)[0];
		var followingCallback = function(user) {
			if(user.anon) {
				$("<span />").text(locale.loggedOut).appendTo(container);
			} else {
				var options = scanMacro.getOptions(paramString);
				$.extend(options, {
					url: "/search?q=bag:%0_public tag:%1 _limit:%2".format(user.name, followMacro.followTag, LIMIT_FOLLOWING),
					spaceField: "title",
					template: options.template ? options.template : "FollowingTemplate"
				});
				scanMacro.scan(container, options);
			}
		};
		return !username ? followingCallback({ name: currentSpace }) : followingCallback({ name: username });
	}
};

var linkedMacro = config.macros.linkedTiddlers = {
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var args = paramString.parseParams("anon")[0];
		var title = params[0] || tiddler.fields["server.title"] || tiddler.title;
		var tid = store.getTiddler(title);
		var containingTiddler = story.findContainingTiddler(place).getAttribute('tiddler');
		if(tid) {
			followMacro.makeButton(place, {
				spaceField: "recipe",
				url: "/bags/%0/tiddlers/%1/backlinks".format(tid.fields['server.bag'],
					encodeURIComponent(tid.title)),
				blacklisted: followMacro.getBlacklist(),
				title: title,
				containingTiddler: containingTiddler,
				user: params[1] || false,
				consultFollowRelationship: args.follow ? true : false });
		}
	}
};

if(config.options.chkFollowTiddlersIsLinkedTiddlers) {
	merge(config.macros.followTiddlers, config.macros.linkedTiddlers);
	config.shadowTiddlers.FollowTiddlersHeading = "These are the other tiddlers that link to this tiddler.";
}

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceInitialization|
|''Version''|0.7.3|
|''Description''|Initializes new TiddlySpaces the first time they are created|
|''Status''|@@beta@@|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/blob/master/src/plugins/TiddlySpaceInit.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig RandomColorPalettePlugin chrjs ImageMacroPlugin|
!TODO
* robust error notification and recovery
!MarkupPreHead
<!--{{{-->
<link href="/bags/%0_public/tiddlers.atom" rel="alternate"
	type="application/atom+xml" title="%0's public feed" />
<link rel="canonical" href="%1/" />
<!--}}}-->
!Code
***/
//{{{
(function($) {

var versionField = "tiddlyspaceinit_version";
var markupPreHead = store.getTiddlerText(tiddler.title + "##MarkupPreHead", "");
var tiddlyspace = config.extensions.tiddlyspace;
var currentSpace = tiddlyspace.currentSpace;
var tweb = config.extensions.tiddlyweb;

var plugin = config.extensions.TiddlySpaceInit = {
	version: "0.6",
	SiteTitle: "%0",
	SiteSubtitle: "a TiddlySpace",
	flagTitle: "%0SetupFlag",
	flagWarning: "Please do not modify this tiddler; it was created " +
		"automatically upon space creation.",

	dispatch: function(ev) {
		var title = plugin.flagTitle.format([currentSpace.name]);
		config.annotations[title] = plugin.flagWarning;
		if(currentSpace.type != "private") {
			return;
		}
		var tiddlers = [];
		var tid = store.getTiddler(title);
		if(tid) {
			curVersion = parseFloat(tid.fields[versionField]);
			reqVersion = parseFloat(plugin.version);
			if(curVersion < reqVersion) {
				plugin.update(curVersion, tid);
				tid.fields[versionField] = plugin.version;
				tid.incChangeCount();
				tid = store.saveTiddler(tid);
				tiddlers.push(tid);
			}
		} else { // first run
			tid = new Tiddler(title);
			tid.tags = ["excludeLists", "excludeSearch", "excludePublisher"];
			tid.fields = $.extend({}, config.defaultCustomFields);
			tid.fields[versionField] = plugin.version;
			tid.text = "@@%0@@".format([plugin.flagWarning]);
			tid = store.saveTiddler(tid);
			tiddlers = tiddlers.concat(plugin.firstRun(), tid);
		}
		autoSaveChanges(null, tiddlers);
	},
	update: function(curVersion, flagTiddler) {
		if(curVersion < 0.2) {
			this.createAvatar();
		}
		if(curVersion < 0.3) {
			flagTiddler.tags.pushUnique("excludePublisher"); // XXX: never persisted
		}
		if(curVersion < 0.5) { // v0.4 was faulty
			this.setupMarkupPreHead();
		}
		if(curVersion < 0.6) {
			this.purgeSystemSettings();
		}
	},
	pubTid: {
		tags: ["excludeLists", "excludeSearch"],
		fields: $.extend({}, config.defaultCustomFields, {
			"server.workspace": tiddlyspace.getCurrentWorkspace("public")
		})
	},
	makeTiddlerIfNot: function(tiddler) {
		if (!store.tiddlerExists(tiddler.title)) {
			$.extend(true, tiddler, plugin.pubTid);
			return [store.saveTiddler(tiddler)];
		} else {
			return [];
		}
	},
	firstRun: function() {
		var tiddlers = [];
		// generate Site*itle
		$.each(["SiteTitle", "SiteSubtitle"], function(i, item) {
			var tid = new Tiddler(item);
			tid.text = plugin[item].format([currentSpace.name]);
			tiddlers.push.apply(tiddlers,
				plugin.makeTiddlerIfNot(tid));
		});
		// generate public ColorPalette
		var tid = new Tiddler("ColorPalette");
		tid.text = config.macros.RandomColorPalette.generatePalette({
			saturation_pale: 0.67, saturation_light: 0.53,
			saturation_mid: 0.43, saturation_dark: 0.06,
			pale: 0.99, light: 0.85, mid: 0.5, dark: 0.31
		},
			false);
		tiddlers.push.apply(tiddlers, plugin.makeTiddlerIfNot(tid));
		this.createAvatar();
		this.setupMarkupPreHead();
		return tiddlers;
	},
	// remove _cookie slices (TiddlyWiki 2.6.2 beta 6 remnants)
	purgeSystemSettings: function() {
		var ss = store.getTiddler("SystemSettings");
		if(ss) {
			var lines = ss.text.split("\n");
			var persistentOptions = $.grep(lines, function(line, i) {
				return line.indexOf("_cookie:") == -1;
			});
			ss.text = persistentOptions.join("\n");
			ss = store.saveTiddler(ss);
			autoSaveChanges(null, [ss]);
		}
	},
	createAvatar: function() {
		var avatar = "SiteIcon";
		var host = tweb.host;
		var notify = function(xhr, error, exc) {
			displayMessage("ERROR: could not create avatar - " + // TODO: i18n
				"%0: %1".format([xhr.statusText, xhr.responseText]));
			// TODO: resolve!?
		};

		var pubBag = tiddlyspace.getCurrentBag("public");
		var tid = new tiddlyweb.Tiddler(avatar);
		tid.bag = new tiddlyweb.Bag(pubBag, host);

		var callback = function(data, status, xhr) {}; // avatar already exists; do nothing
		var errback = function(xhr, error, exc) {
			if(xhr.status != 404) {
				return;
			}
			// copy default avatar
			var _notify = function(tid, status, xhr) {
				displayMessage("created avatar"); // TODO: i18n
				var image = config.macros.image;
				if(image && image.refreshImage) {
					var uri = "/%0/tiddlers/SiteIcon".
						format(tiddlyspace.getCurrentWorkspace("public"));
					image.refreshImage(uri);
					image.refreshImage("SiteIcon");
				}
			};
			var _callback = function(tid, status, xhr) {
				tid.title = avatar;
				tid.bag.name = pubBag;
				delete tid.etag;
				tid.put(_notify, notify); // TODO: add to current session document (via adaptor?)
			};
			tweb.getUserInfo(function(user) {
				var avatarTitle = currentSpace.name == user.name ?
					"defaultUserIcon" : "defaultSiteIcon";
				var tid = new tiddlyweb.Tiddler(avatarTitle);
				tid.bag = new tiddlyweb.Bag("common", host);
				tid.get(_callback, notify);
			});
		};
		tid.get(callback, errback);
	},
	savePublicTiddlerText: function(title, text, pubWorkspace) {
		var tid = new Tiddler(title);
		tid.text = text;
		tid.tags = ["excludeLists"];
		tid.fields = $.extend({}, config.defaultCustomFields);
		tid.fields["server.workspace"] = pubWorkspace;
		tid.fields["server.page.revision"] = "false";
		tid = store.saveTiddler(tid);
		autoSaveChanges(null, [tid]);
	},
	setupMarkupPreHead: function() {
		var pubWorkspace = tiddlyspace.getCurrentWorkspace("public");
		var existing = store.getTiddler("MarkupPreHead");
		if(!existing || existing.fields["server.workspace"] != pubWorkspace) {
			var context = this;
			tweb.getStatus(function(status) {
				var text = markupPreHead.format(currentSpace.name,
					tiddlyspace.getHost(status.server_host, currentSpace.name));
				context.savePublicTiddlerText("MarkupPreHead", text,
					pubWorkspace);
			});
		}
		// also set up DefaultTiddlers
		var title = "DefaultTiddlers";
		existing = store.getTiddler(title) || new Tiddler(title);
		if(existing.fields["server.workspace"] != pubWorkspace) {
			var text = existing.text || store.getShadowTiddlerText(title);
			this.savePublicTiddlerText(title, text, pubWorkspace);
		}
	}
};

$(document).bind("startup", plugin.dispatch);

})(jQuery);
//}}}
/***
|''Name:''|TiddlySpaceLinkPlugin|
|''Description:''|Formatter to reference other spaces from wikitext |
|''Author:''|PaulDowney (psd (at) osmosoft (dot) com) |
|''Source:''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpaceLinkPlugin.js|
|''Version:''|1.4.2|
|''License:''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''~CoreVersion:''|2.4|
!!Documentation
This plugin provides wikitext formatters for referencing another [[space|Space]] on the same TiddlySpace server, as in the following examples:
<<<
  {{{@space}}} -- @space 
  {{{~@space}}} -- ~@space 
  {{{Tiddler@space}}} -- Tiddler@space
  {{{[[Tiddler Title]]@space}}} -- [[Tiddler Title]]@space 
  {{{[[Link text|Tiddler Title]]@space}}} -- [[Link text|Tiddler Title]]@space
<<<
Links to tiddlers with a title begining with an "@" remain as tiddlyLinks:
<<<
  {{{[[@tiddler]]}}} -- [[@tiddler]]
<<<
and these may be changed into a space link using {{{@@}}}:
<<<
  {{{[[@@space]]}}} -- [[@@space]]
  {{{[[Link to an another space|@@space]]}}} -- [[Link to another space|@@space]]
  {{{[[@space|@@space]]}}} -- [[@space|@@space]]
<<<
TiddlySpace includes the [[TiddlySpaceLinkPlugin]] which provides WikiText markup for linking to other spaces on the same server. For example @glossary is a link to the {{{glossary}}} space and [[Small Trusted Group]]@glossary a link to an individual tiddler in the @glossary space. Prefixing the link with a tilde escapes the link, for example {{{~@space}}}.
Email addresses, for example joe.bloggs@example.com and mary@had.a.little.lamb.org should be unaffected.
!!Features
The plugin provides external links decorated so that other plugins may be included to add features such as the ability to dynamically pull externally linked tiddlers into the current TiddlyWiki.
Wikitext linking to a space on another server, for example from a tiddler in a space on tiddlyspace.com to a tiddler or a space on example.com, isn't currently supported. 
!!Code
***/
//{{{
/*jslint onevar: false nomen: false plusplus: false */
/*global jQuery config createTiddlyText createExternalLink createTiddlyLink */

function createSpaceLink(place, spaceName, title, alt, isBag) {
	var link, a, currentSpaceName, label;
	try {
		if (spaceName === config.extensions.tiddlyspace.currentSpace.name) {
			title = title || spaceName;
			a = createTiddlyLink(place, title, false);
			jQuery(a).text(alt || title);
			return a;
		}
	} catch (ex1) {
		currentSpaceName = false;
	}

	a = jQuery("<a />").addClass('tiddlySpaceLink externalLink').appendTo(place)[0];
	if(title) {
		jQuery(a).attr('tiddler', title);
	}
	if(isBag) {
		jQuery(a).attr('bag', spaceName);
	} else {
		jQuery(a).attr('tiddlyspace', spaceName);
	}

	config.extensions.tiddlyweb.getStatus(function(status) {
		link = status.server_host.url;
		if (title) {
			label = alt || title;
			link = link + "/" + encodeURIComponent(title);
		} else {
			label = alt || spaceName;
		}
		// assumes a http URI without user:pass@ prefix
		if(!isBag) {
			link = link.replace("http://", "http://" + spaceName.toLowerCase() + ".");
		} else {
			link += "/bags/" + spaceName + "/tiddlers.wiki";
		}
		jQuery(a).attr("href", link).text(label);
	});
	return a;
}

(function ($) {

	config.textPrimitives.spaceName = "[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9]";
	config.textPrimitives.spaceNameStrict = "[a-z][a-z0-9-]*";
	config.textPrimitives.bareTiddlerLetter = config.textPrimitives.anyLetterStrict;

	config.formatters.splice(0, 0, {
		name: "spacenameLink",
		match: config.textPrimitives.unWikiLink + "?" + config.textPrimitives.bareTiddlerLetter + "*@" + config.textPrimitives.spaceName + "\\.?.?",
		lookaheadRegExp: new RegExp(config.textPrimitives.unWikiLink + "?(" + config.textPrimitives.bareTiddlerLetter + "*)@(" + config.textPrimitives.spaceName + ")", "mg"),
		handler: function (w) {
			if (w.matchText.substr(w.matchText.length - 2, 1) === '.' && w.matchText.substr(w.matchText.length - 1, 1).match(/[a-zA-Z]/)) {
				w.outputText(w.output, w.matchStart, w.nextMatch);
				return;
			}
			if (w.matchText.substr(0, 1) === config.textPrimitives.unWikiLink) {
				w.outputText(w.output, w.matchStart + 1, w.nextMatch);
				return;
			}
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				createSpaceLink(w.output, lookaheadMatch[2], lookaheadMatch[1]);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	},
	{
		name: "tiddlySpaceLink",
		match: "\\[\\[[^\\|\\]]*\\|*@@" + config.textPrimitives.spaceName + "\\]",
		lookaheadRegExp: new RegExp("\\[\\[(.*?)(?:\\|@@(.*?))?\\]\\]", "mg"),
		handler: function (w) {
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				var alt = lookaheadMatch[2] ? lookaheadMatch[1] : lookaheadMatch[1].replace(/^@@/, "");
				var space = lookaheadMatch[2] || alt;
				createSpaceLink(w.output, space, "", alt);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	},
	{
		name: "tiddlyLinkSpacenameLink",
		match: "\\[\\[[^\\[]*\\]\\]@",
		lookaheadRegExp: new RegExp("\\[\\[(.*?)(?:\\|(.*?))?\\]\\]@(" + config.textPrimitives.spaceName + ")", "mg"),
		handler: function (w) {
			this.lookaheadRegExp.lastIndex = w.matchStart;
			var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
			if (lookaheadMatch && lookaheadMatch.index === w.matchStart) {
				var title = lookaheadMatch[2] || lookaheadMatch[1];
				var alt = lookaheadMatch[1] || lookaheadMatch[2];
				createSpaceLink(w.output, lookaheadMatch[3], title, alt);
				w.nextMatch = this.lookaheadRegExp.lastIndex;
			}
		}
	});

	// ensure space links don't appear as missing links
	config.textPrimitives.brackettedLink = "\\[\\[([^\\]][^@\\]][^\\]]*)\\]\\](?=[^@])";
	config.textPrimitives.titledBrackettedLink = "\\[\\[([^\\[\\]\\|]+)\\|([^\\[\\]\\|]+)\\]\\](?=[^@])";

	// reevaluate derrived expressions ..
	config.textPrimitives.tiddlerForcedLinkRegExp = new RegExp("(?:" + config.textPrimitives.titledBrackettedLink + ")|(?:" +
		config.textPrimitives.brackettedLink + ")|(?:" +
		config.textPrimitives.urlPattern + ")","mg");
	config.textPrimitives.tiddlerAnyLinkRegExp = new RegExp("("+ config.textPrimitives.wikiLink + ")|(?:" +
		config.textPrimitives.titledBrackettedLink + ")|(?:" +
		config.textPrimitives.brackettedLink + ")|(?:" +
		config.textPrimitives.urlPattern + ")","mg");

	// treat space links in titledBracketedLink as external links
	var missingTiddlySpaceLink = new RegExp("^@@" + config.textPrimitives.spaceName + "$", "");
	var isExternalLink = config.formatterHelpers.isExternalLink;
	config.formatterHelpers.isExternalLink = function(link) {
		return missingTiddlySpaceLink.test(link) || isExternalLink(link);
	};

}(jQuery));
//}}}
/***
|''Name''|TiddlySpacePublishingCommands|
|''Version''|0.8.5|
|''Status''|@@beta@@|
|''Description''|toolbar commands for drafting and publishing|
|''Author''|Jon Robson|
|''Source''|http://github.com/TiddlySpace/tiddlyspace/raw/master/src/plugins/TiddlySpacePublishingCommands.js|
|''CoreVersion''|2.6.1|
|''Requires''|TiddlySpaceConfig TiddlySpaceFilters|
!Usage
Provides changeToPrivate, changeToPublic and saveDraft commands
Provides TiddlySpacePublisher macro.
{{{<<TiddlySpacePublisher type:private>>}}} make lots of private tiddlers public.
{{{<<TiddlySpacePublisher type:public>>}}} make lots of public tiddlers public.
!TODO
* add public argument?
!Code
***/
//{{{
(function($) {

var tiddlyspace = config.extensions.tiddlyspace;
var originMacro = config.macros.tiddlerOrigin;

tiddlyspace.getTiddlerStatusType = function(tiddler) {
	var isShadow = store.isShadowTiddler(tiddler.title);
	var exists = store.tiddlerExists(tiddler.title);
	if(isShadow && !exists) {
		return "shadow";
	} else if(!exists) {
		return "missing";
	} else {
		var types = ["private", "public"];
		var type = "external";
		for(var i = 0; i < types.length; i++) {
			var t = types[i];
			type = config.filterHelpers.is[t](tiddler) ? t : type;
		}
		if(config.filterHelpers.is.unsynced(tiddler)) {
			type = type == "private" ? "unsyncedPrivate" : "unsyncedPublic";
		}
		return type;
	}
};

var cmd = config.commands.publishTiddler = {
	text: "make public",
	tooltip: "Change this private tiddler into a public tiddler",
	errorMsg: "Error publishing %0: %1",

	isEnabled: function(tiddler) {
		return !readOnly && config.filterHelpers.is["private"](tiddler);
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title);
		if(tiddler) {
			var newBag = cmd.toggleBag(tiddler.fields["server.bag"]);
			this.moveTiddler(tiddler, {
				title: tiddler.fields["publish.name"] || tiddler.title,
				fields: { "server.bag": newBag }
			});
		}
	},
	toggleBag: function(bag, to) {
		var newBag;
		if(typeof bag != typeof "") {
			var tiddler = bag;
			bag = tiddler.fields["server.bag"];
		}
		if(bag.indexOf("_private") > -1) { // should make use of endsWith
			to = to ? to : "public";
			newBag = bag.replace("_private", "_" + to);
		} else {
			to = to ? to : "private";
			newBag = bag.replace("_public", "_" + to);
		}
		return newBag;
	},
	copyTiddler: function(title, newTitle, newBag, callback) {
		var original = store.getTiddler(title);
		newTitle = newTitle ? newTitle : title;
		var adaptor = original.getAdaptor();
		var publish = function(original, callback) {
			var tiddler = $.extend(new Tiddler(newTitle), original);
			tiddler.fields = $.extend({}, original.fields, {
				"server.bag": newBag,
				"server.workspace": "bags/%0".format(newBag),
				"server.page.revision": "false"
			});
			delete tiddler.fields["server.title"];
			tiddler.title = newTitle;
			adaptor.putTiddler(tiddler, null, null, callback);
		};
		publish(original, callback);
	},
	moveTiddler: function(tiddler, newTiddler, callback) {
			var info = {
			copyContext: {},
			deleteContext: {}
		};
		var _dirty = store.isDirty();
		var adaptor = tiddler.getAdaptor();
		var newTitle = newTiddler.title;
		var oldTitle = tiddler.title;
		delete tiddler.fields["server.workspace"];
		var oldBag = tiddler.fields["server.bag"];
		var newBag = newTiddler.fields["server.bag"];
		var newWorkspace = "bags/%0".format(newBag);
		cmd.copyTiddler(oldTitle, newTitle, newBag, function(ctx) {
				info.copyContext = ctx;
				var context = {
					tiddler: tiddler,
					workspace: newWorkspace
				};
				store.addTiddler(ctx.tiddler);
				tiddler.title = oldTitle; // for cases where a rename occurs
				if(ctx.status) { // only do if a success
					if(oldBag != newBag) {
						adaptor.deleteTiddler(tiddler, context, {}, function(ctx) {
							info.deleteContext = ctx;
							var el;
							if(tiddler) {
								tiddler.fields["server.workspace"] = newWorkspace;
								tiddler.fields["server.bag"] = newBag;
							}
							el = el ? el : story.refreshTiddler(oldTitle, null, true);
							if(oldTitle != newTitle) {
								store.deleteTiddler(oldTitle);
								store.notify(oldTitle, true);
							}
							if(el) {
								story.displayTiddler(el, newTitle);
							}
							if(oldTitle != newTitle) {
								story.closeTiddler(oldTitle);
							}
							if(callback) {
								callback(info);
							}
							store.setDirty(_dirty);
						});
					} else {
						if(callback) {
							callback(info);
						}
					}
					refreshDisplay();
				}
		});
	}
};

var changeToPrivate = config.commands.changeToPrivate = {
	text: "make private",
	tooltip: "turn this public tiddler into a private tiddler",
	isEnabled: function(tiddler) {
		return !readOnly && config.filterHelpers.is["public"](tiddler);
	},
	handler: function(event, src, title) {
		var tiddler = store.getTiddler(title);
		var newBag = cmd.toggleBag(tiddler, "private");
		var newTiddler = { title: title, fields: { "server.bag": newBag }};
		cmd.moveTiddler(tiddler, newTiddler);
	}
};
config.commands.changeToPublic = cmd;

/* Save as draft command */
var saveDraftCmd = config.commands.saveDraft = {
	text: "save draft",
	tooltip: "Save as a private draft",
	isEnabled: function(tiddler) {
		return changeToPrivate.isEnabled(tiddler);
	},
	getDraftTitle: function(title) {
		var draftTitle;
		var draftNum = "";
		while(!draftTitle) {
			var suggestedTitle = "%0 [draft%1]".format(title, draftNum);
			if(store.getTiddler(suggestedTitle)) {
				draftNum = !draftNum ? 2 : draftNum + 1;
			} else {
				draftTitle = suggestedTitle;
			}
		}
		return draftTitle;
	},
	createDraftTiddler: function(title, gatheredFields) {
		var tiddler = store.getTiddler(title);
		var draftTitle = saveDraftCmd.getDraftTitle(title);
		var draftTiddler = new Tiddler(draftTitle);
		if(tiddler) {
			$.extend(true, draftTiddler, tiddler);
		} else {
			$.extend(draftTiddler.fields, config.defaultCustomFields);
		}
		for(var fieldName in gatheredFields) {
			if(TiddlyWiki.isStandardField(fieldName)) {
				draftTiddler[fieldName] = gatheredFields[fieldName];
			} else {
				draftTiddler.fields[fieldName] = gatheredFields[fieldName];
			}
		}
		var privateBag = tiddlyspace.getCurrentBag("private");
		var privateWorkspace = tiddlyspace.getCurrentWorkspace("private");
		draftTiddler.title = draftTitle;
		draftTiddler.fields["publish.name"] = title;
		draftTiddler.fields["server.workspace"] = privateWorkspace;
		draftTiddler.fields["server.bag"] = privateBag;
		draftTiddler.fields["server.title"] = draftTitle;
		draftTiddler.fields["server.page.revision"] = "false";
		delete draftTiddler.fields["server.etag"];
		return draftTiddler;
	},
	handler: function(ev, src, title) {
		var tiddler = store.getTiddler(title); // original tiddler
		var tidEl = story.getTiddler(title);
		var uiFields = {};
		story.gatherSaveFields(tidEl, uiFields);
		var tid = saveDraftCmd.createDraftTiddler(title, uiFields);
		tid = store.saveTiddler(tid.title, tid.title, tid.text, tid.modifier,
			new Date(), tid.tags, tid.fields);
		autoSaveChanges(null, [tid]);
		story.closeTiddler(title);
		story.displayTiddler(src, title);
		story.displayTiddler(src, tid.title);
	}
};

var macro = config.macros.TiddlySpacePublisher = {
	locale: {
		title: "Batch Publisher",
		changeStatusLabel: "Make %0",
		noTiddlersText: "No tiddlers to publish",
		changeStatusPrompt: "Make all the selected tiddlers %0.",
		description: "Change tiddlers from %0 to %1 in this space"
	},

	listViewTemplate: {
		columns: [
			{ name: "Selected", field: "Selected", rowName: "title", type: "Selector" },
			{ name: "Tiddler", field: "tiddler", title: "Tiddler", type: "Tiddler" },
			{ name: "Status", field: "status", title: "Status", type: "WikiText" }
		],
		rowClasses: []
	},

	changeStatus: function(tiddlers, status, callback) { // this is what is called when you click the publish button
		var publicBag;
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var newTiddler = {
				title: tiddler.title,
				fields: { "server.bag": cmd.toggleBag(tiddler, status) }
			};
			cmd.moveTiddler(tiddler, newTiddler, callback);
		}
	},
	getMode: function(paramString) {
		var params = paramString.parseParams("anon")[0];
		var status = params.type ?
			(["public", "private"].contains(params.type[0]) ? params.type[0] : "private") :
			"private";
		var newStatus = status == "public" ? "private" : "public";
		return [status, newStatus];
	},
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var wizard = new Wizard();
		var locale = macro.locale;
		var status = macro.getMode(paramString);
		wizard.createWizard(place, locale.title);
		wizard.addStep(macro.locale.description.format(status[0], status[1]),
			'<input type="hidden" name="markList" />');
		var markList = wizard.getElement("markList");
		var listWrapper = $("<div />").addClass("batchPublisher").
			attr("refresh", "macro").attr("macroName", macroName).
			attr("params", paramString)[0];
		markList.parentNode.insertBefore(listWrapper, markList);
		$.data(listWrapper, "wizard", wizard);
		macro.refresh(listWrapper);
	},
	getCheckedTiddlers: function(listWrapper, titlesOnly) {
		var tiddlers = [];
		$(".chkOptionInput[rowName]:checked", listWrapper).each(function(i, el) {
			var title = $(el).attr("rowName");
			if(titlesOnly) {
				tiddlers.push(title);
			} else {
				tiddlers.push(store.getTiddler(title));
			}
		});
		return tiddlers;
	},
	refresh: function(listWrapper) {
		var checked = macro.getCheckedTiddlers(listWrapper, true);
		var paramString = $(listWrapper).empty().attr("params");
		var wizard = $.data(listWrapper, "wizard");
		var locale = macro.locale;
		var params = paramString.parseParams("anon")[0];
		var publishCandidates = [];
		var status = macro.getMode(paramString);
		var pubType = status[0];
		var newPubType = status[1];
		var tiddlers = params.filter ? store.filterTiddlers(params.filter[0]) :
			store.filterTiddlers("[is[%0]]".format(pubType));
		var enabled = [];
		for(var i = 0; i < tiddlers.length; i++) {
			var tiddler = tiddlers[i];
			var title = tiddler.title;
			if(!tiddler.tags.contains("excludePublisher") && title !== "SystemSettings") {
				publishCandidates.push({ title: title, tiddler: tiddler, status: pubType});
			}
			if(checked.contains(title)) {
				enabled.push("[rowname=%0]".format(title));
			}
		}

		if(publishCandidates.length === 0) {
			createTiddlyElement(listWrapper, "em", null, null, locale.noTiddlersText);
		} else {
			var listView = ListView.create(listWrapper, publishCandidates, macro.listViewTemplate);
			wizard.setValue("listView", listView);
			var btnHandler = function(ev) {
				var tiddlers = macro.getCheckedTiddlers(listWrapper);
				var callback = function(status) {
					$(".batchPublisher").each(function(i, el) {
						macro.refresh(el);
					});
				};
				macro.changeStatus(tiddlers, newPubType, callback);
			};
			wizard.setButtons([{
				caption: locale.changeStatusLabel.format(newPubType),
				tooltip: locale.changeStatusPrompt.format(newPubType),
				onClick: btnHandler
			}]);
			$(enabled.join(",")).attr("checked", true); // retain what was checked before
		}
	}
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceRevertRevision|
|''Description''|Revert to a previous revision|
|''Author''|BenGillies|
|''Version''|0.1|
|''Status''|unstable|
|''Source''|http://github.com/TiddlySpace/tiddlyspace|
|''CodeRepository''|http://github.com/TiddlySpace/tiddlyspace|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Requires''|TiddlyWebAdaptor TiddlySpaceRevisionView|
!Usage
Add a control button to revert to a particular revision.

The button must be called from within a revision, as generated by TiddlySpaceRevisionView
!Code
***/
//{{{
(function($) {

config.commands.revert = {
	text: "revert",
	tooltip: "make this revision the current one",
	handler: function(ev, src, title) {
		var revElem = story.getTiddler(title);
		var tidToRevert = store.getTiddler($(revElem).attr("revName"));

		var revision = store.getTiddler(title);
		if ((revision) && (tidToRevert)) {
			tidToRevert.text = revision.text;
			var newFields = merge({}, revision.fields);
			for (var fieldName in newFields) {
				if (fieldName.substr(0, 7) === "server.") {
					delete newFields[fieldName];
				}
			}
			merge(tidToRevert.fields, newFields);
			tidToRevert.tags = merge([], revision.tags);
			tidToRevert.fields.changecount = 1;
			delete tidToRevert.fields.doNotSave;

			store.saveTiddler(tidToRevert.title, tidToRevert.title,
				tidToRevert.text, null, null, tidToRevert.tags,
				tidToRevert.fields, false, tidToRevert.created, tidToRevert.creator);

			autoSaveChanges(true);
		}
	}
};

})(jQuery);
//}}}
/***
|''Name''|TiddlySpaceRevisionView|
|''Description''|Show tiddler revisions in a stack of cards view|
|''Author''|BenGillies|
|''Version''|0.2.0|
|''Status''|beta|
|''Source''|http://github.com/TiddlySpace/tiddlyspace|
|''CodeRepository''|http://github.com/TiddlySpace/tiddlyspace|
|''License''|[[BSD|http://www.opensource.org/licenses/bsd-license.php]]|
|''CoreVersion''|2.6.0|
|''Requires''|TiddlyWebAdaptor|
!Usage
The viewRevisions macro can be attached to any element, which should be passed
in as a parameter.

For example:

&lt;&lt;viewRevisions page:10 link:"<<view modified date>>"&gt;&gt;

would show the revisions "stack of cards" view, 10 at a time, when the modified
date is clicked.
!Code
***/
//{{{
(function($) {

var me = config.macros.viewRevisions = {
	revisionTemplate: "RevisionTemplate",
	revSuffix: " [rev. #%0]", // text to append to each tiddler title
	defaultPageSize: 5, // default number of revisions to show
	defaultLinkText: "View Revisions", // when there's nothing else to use
	offsetTop: 30, // in px
	offsetLeft: 10, // in px
	shiftDownDelay: 50, // in ms
	visibleSlideAmount: 20, // amount of revisions to show on left hand edge after sliding
	zIndex: 100, // default z-index
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		params = paramString.parseParams(null, null, true)[0];
		var tiddlerElem = story.findContainingTiddler(place);

		var revButton;
		var pageSize = parseInt(params.page[0], 10) || me.defaultPageSize;
		var linkObj = params.link ? params.link[0] || me.defaultLinkText : false;
		if(linkObj) {
			revButton = $('<span class="button openRevisions" />')
				.appendTo(place);
			wikify(linkObj, revButton[0], null, tiddler);
		} else {
			revButton = place;
		}

		$(revButton).click(function() {
			if (!$(tiddlerElem).hasClass("revisions")) {
				me.showRevisions(tiddlerElem, tiddler, pageSize);
			} else {
				me.closeRevisions(tiddlerElem);
			}
		});
	},

	// initialisation for revision view
	showRevisions: function(tiddlerElem, tiddler, pageSize) {
		var context = {
			host: tiddler.fields["server.host"],
			workspace: tiddler.fields["server.workspace"]
		};
		$(tiddlerElem).addClass("revisions").attr("revName", tiddler.title);
		// ensure toolbar commands deactivate RevisionsView
		$("a", ".toolbar", tiddlerElem).each(function(index, btn) {
			var _onclick = btn.onclick;
			btn.onclick = function(e) {
				me.closeRevisions(tiddlerElem);
				_onclick.apply(this, arguments);
			};
		});
		// ensure default action deactivates RevisionsView
		var _ondblclick = tiddlerElem.ondblclick;
		tiddlerElem.ondblclick = function(e) {
			me.closeRevisions(tiddlerElem);
			_ondblclick.apply(this, arguments);
		};
		var type = tiddler.fields["server.type"];
		var adaptor = new config.adaptors[type]();
		var userParams = {
			tiddlerElem: tiddlerElem,
			pageSize: pageSize,
			title: tiddler.title
		};
		me.createCloak(tiddlerElem);
		adaptor.getTiddlerRevisionList(tiddler.title, null, context, userParams,
				function(context, userParams) {
					// strip the current revision
					context.revisions.shift();
					me.expandStack(context, userParams);
				});
	},

	// fetch the actual revision and put it in the tiddler div
	showRevision: function(place, revision, callback) {
		var context = {
			host: revision.fields["server.host"],
			workspace: revision.fields["server.workspace"]
		};
		var userParams = {
			revElem: place
		};
		var type = revision.fields["server.type"];
		var adaptor = new config.adaptors[type]();
		var revNo = revision.fields["server.page.revision"];
		adaptor.getTiddlerRevision(revision.title, revNo, context, userParams,
			function(context, userParams) {
				var tiddler = context.tiddler;
				tiddler.title += me.revSuffix
					.format([$(place).attr("revision")]);
				tiddler.fields.doNotSave = true;
				if (store.getTiddler(tiddler.title)) {
					store.deleteTiddler(tiddler.title);
				}
				store.addTiddler(tiddler);

				//now, populate the existing div
				var revElem = userParams.revElem;
				$(revElem).attr("id", story.tiddlerId(tiddler.title));
				$(revElem).attr("refresh", "tiddler");
				var getTemplate = function() {
					var themeName = config.options.txtTheme;
					if (themeName) {
						return store.getTiddlerSlice(themeName,
							me.revisionTemplate) || me.revisionTemplate ||
							"ViewTemplate";
					} else {
						return (store.getTiddler(me.revisionTemplate)) ?
							me.revisionTemplate : "ViewTemplate";
					}
				};
				var template = getTemplate();
				story.refreshTiddler(tiddler.title, template, true);
				callback(tiddler);
			});
	},

	createCloak: function(promoteElem) {
		var el = $(promoteElem);
		// cache styles for resetting later
		el.data({
			top: el.css("top"),
			left: el.css("left"),
			zIndex: el.css("z-index")
		});

		$('<div class="revisionCloak" />').css("z-index", me.zIndex)
			.click(function() {
				me.closeRevisions(promoteElem);
			})
			.appendTo(document.body);

		el.css("z-index", me.zIndex + 1);
	},

	// clean up, removing all evidence of revision view
	closeRevisions: function(promoteElem) {
		var el = $(promoteElem);
		// revert the original tiddler back to its previous state
		el.removeAttr("revName").removeClass("revisions").css({
			top: el.data("top"),
			left: el.data("left"),
			zIndex: el.data("zIndex")
		});

		// remove any revisions still in the store
		var revisions = $(".revisions");
		revisions.each(function(index, revision) {
			var revAttributes = revision.attributes;
			if ((revAttributes.revname) &&
					(revAttributes.revision)) {
				var revName = revAttributes.revname.value;
				var revNo = revAttributes.revision.value;
				var title = revName + me.revSuffix.format([revNo]);

				if (store.getTiddler(title)) {
					store.deleteTiddler(title);
				}
			}
		});

		// delete the previous revisions
		revisions.remove();

		// remove the cloak
		$(".revisionCloak").remove();
	},

	// calback from getting list of revisions
	expandStack: function(context, userParams) {
		var pageSize = userParams.pageSize;

		var from = userParams.from || 0;
		var tiddlerElem = userParams.tiddlerElem;

		userParams.defaultHeight = $(tiddlerElem).height();
		userParams.defaultWidth = $(tiddlerElem).width();
		if (from < context.revisions.length) {
			me.displayNextRevision(tiddlerElem, userParams, context, from,
				from + pageSize - 1);
		}
	},

	// place the next div above and behind the previous one
	displayNextRevision: function(tiddlerElem, userParams, context, from, to) {
		var revision = context.revisions[from];
		var callback = function() {
			var revText = revBtn.getRevisionText(tiddlerElem, revision);
			tiddlerElem = me.createRevisionObject(tiddlerElem, context,
				userParams, revText);
			$(tiddlerElem)
				.attr("revision", (context.revisions.length - from));
			if ((from < to) && ((from + 1) < context.revisions.length)){
				me.displayNextRevision(tiddlerElem, userParams, context,
					from + 1, to);
			} else if ((context.revisions.length - 1) > to) {
				me.showMoreButton(tiddlerElem, context, userParams, to + 1);
			}
		};
		me.shiftVisibleDown(userParams.title, callback);
	},

	createRevisionObject: function(tiddlerElem, context, userParams, text) {
		var newPosition = me.calculatePosition(tiddlerElem, context);
		return $('<div class="revisions tiddler" />')
			.css({
				position: "absolute",
				top: newPosition.top,
				left: newPosition.left,
				"z-index": me.zIndex + 1,
				height: userParams.defaultHeight,
				width: userParams.defaultWidth
			})
			.attr("revName", userParams.title)
			.append(text)
			.insertBefore(tiddlerElem);
	},

	// move the already present revisions down by 1 to fit the next one in
	shiftVisibleDown: function(title, callback) {
		var revisions = $("[revName='%0'].revisions".format([title]));
		var revisionCount = revisions.length;

		$(revisions).animate({top: "+=" + me.offsetTop},
				me.shiftDownDelay, function() {
					revisionCount -= 1;
					if ((callback) && (!revisionCount)) {
						callback();
					}
				});
	},

	// where we put the new revision
	calculatePosition: function(elem, context) {
		var offset = $(elem).offset();
		var currentPosition = $(elem).position();
		var newPosition = {
			top: currentPosition.top - me.offsetTop
		};
		if ((context.restrictLeft) ||
				((offset.left - me.offsetLeft) <
				$("#contentWrapper").offset().left)) {
			newPosition.left = $(elem).position().left;
			context.restrictLeft = true;
		} else {
			newPosition.left = currentPosition.left - me.offsetLeft;
		}
		return newPosition;
	},

	// equivalent of displayNextRevision, but for the more button
	showMoreButton: function(tiddlerElem, context, userParams, moreIndex) {
		userParams.from = moreIndex + 1;
		me.shiftVisibleDown(userParams.title, function() {
			var btn = me.createRevisionObject(tiddlerElem, context, userParams,
				"");

			var more = createTiddlyButton(btn[0], "more...", "show more revisions",
				function() {
					if ($(".viewRevision").length) {
						return;
					}
					userParams.tiddlerElem = btn[0];
					$(btn).text("")
						.append(revBtn
							.getRevisionText(btn[0], context.revisions[moreIndex]))
						.attr("revision", context.revisions.length - moreIndex);
					me.expandStack(context, userParams);
				});
			$(more).css("float", "right");
		});
	},

	stripRevFromTitle: function(revisionTitle) {
		return revisionTitle.split(/ ?\[rev\. #[0-9]+\]$/)[0];
	},

	onClickRevision: function(revElem, revision, callback) {
		// don't do anything if we are still loading
		if ($(".revisions").hasClass("loading")) {
			return null;
		}

		var origTitle = me.stripRevFromTitle(revision.title);
		if ($(revElem).hasClass("viewRevision")) {
			$(".revisions").addClass("loading");
			me.slideIn(revElem, revision, origTitle, function() {
				store.deleteTiddler(revision.title);
				revision.title = origTitle;
				$(revElem).text("").append(revBtn.getRevisionText(revElem,
						revision))
					.removeAttr("tags").removeAttr("tiddler")
					.removeAttr("refresh").removeAttr("template")
					.removeAttr("id");
				$(".revisions").removeClass("loading");
				if (callback) {
					callback();
				}
			});
			$(revElem).removeAttr("prevPos").removeClass("viewRevision");
		} else {
			var viewRevision = function() {
				var prevPos = $(revElem).position().left;
				$(revElem).addClass("viewRevision").attr("prevPos", prevPos);
				$(".revisions").addClass("loading");
				me.showRevision(revElem, revision, function(rev) {
					me.slideOut(revElem, rev, origTitle, function() {
						$(".revisions").removeClass("loading");
					});
				});
			};
			// make sure another revision isn't already out
			if ($(".viewRevision").length) {
				var newRevElem = $(".viewRevision")[0];
				var newRevision = store.getTiddler($(newRevElem)
					.attr("tiddler"));
				me.onClickRevision(newRevElem, newRevision, viewRevision);
			} else {
				viewRevision();
			}
		}
	},

	slideOut: function(revElem, revision, title, callback) {
		var leftMostPos = $("[revName='%0'].revisions".format([title]))
			.offset().left;
		var width = $(revElem).width();
		var originalLeftPos = $(story.getTiddler(title))
			.position().left;

		var slideAmount = leftMostPos + width - me.visibleSlideAmount;
		$("[revName='%0'].revisions:not(.viewRevision)".format([title]))
			.animate({left: "-=" + slideAmount}, 1000);
		$(revElem)
			.attr("baseHeight", $(revElem).css("height"))
			.css("height", "auto")
			.animate({left: originalLeftPos}, 1000, callback);
	},

	slideIn: function(revElem, revision, title, callback) {
		var slideAmount = $(revElem).offset().left -
			$(story.getTiddler(title)).offset().left;
		var origRevPos = $(revElem).attr("prevPos");

		$("[revName='%0'].revisions:not(.viewRevision)".format([title]))
			.animate({left: "+=" + slideAmount}, 1000);
		$(revElem).animate({left: origRevPos}, 1000, function() {
			$(revElem)
				.css("height", $(revElem).attr("baseHeight"))
				.removeAttr("baseHeight");
			callback();
		});
	}
};

var revBtn;
config.macros.slideRevision = revBtn = {
	btnText: "created by %0 at %1 on %2",
	handler: function(place, macroName, params, wikifier, paramString, tiddler) {
		var btn = revBtn.getRevisionText(place, tiddler);
		$(place).append(btn);
	},

	getRevisionText: function(place, revision) {
		var text = revBtn.btnText.format([revision.modifier,
			revision.modified.formatString("0hh:0mm"),
			revision.modified.formatString("0DD MMM YYYY")]);
		var btn = $('<a href="javascript:;" class="button revButton" />')
			.text(text)
			.click(function() {
				var revElem = story.findContainingTiddler(this);
				me.onClickRevision(revElem, revision);
			});
		return btn;
	}
};

})(jQuery);
//}}}
/***
|''Description''|Sanitisation for dynamically pulling tiddlers into your space and displaying them|
!Notes
Works both inside and outside TiddlyWiki. Uses the HTML Sanitizer provided by the Google Caja project
(see http://code.google.com/p/google-caja/wiki/JsHtmlSanitizer for more on this), which is licensed under
an Apache License (see http://www.apache.org/licenses/LICENSE-2.0).
!Code
***/
//{{{
(function($) {

var cleanURL = function(url) {
	var regexp = /^(?:http|https|mailto|ftp|irc|news):\/\//;
	return (regexp.test(url)) ? url : null;
};

$.sanitize = function(html) {
	return html_sanitize(html, cleanURL);
};

/*
 * HTML Sanitizer, provided by Google Caja
 */

/* Copyright Google Inc.
 * Licensed under the Apache Licence Version 2.0
 * Autogenerated at Tue May 17 17:39:24 BST 2011
 * @provides html4
 */var html4={};html4.atype={NONE:0,URI:1,URI_FRAGMENT:11,SCRIPT:2,STYLE:3,ID:4,IDREF:5,IDREFS:6,GLOBAL_NAME:7,LOCAL_NAME:8,CLASSES:9,FRAME_TARGET:10},html4.ATTRIBS={"*::class":9,"*::dir":0,"*::id":4,"*::lang":0,"*::onclick":2,"*::ondblclick":2,"*::onkeydown":2,"*::onkeypress":2,"*::onkeyup":2,"*::onload":2,"*::onmousedown":2,"*::onmousemove":2,"*::onmouseout":2,"*::onmouseover":2,"*::onmouseup":2,"*::style":3,"*::title":0,"a::accesskey":0,"a::coords":0,"a::href":1,"a::hreflang":0,"a::name":7,"a::onblur":2,"a::onfocus":2,"a::rel":0,"a::rev":0,"a::shape":0,"a::tabindex":0,"a::target":10,"a::type":0,"area::accesskey":0,"area::alt":0,"area::coords":0,"area::href":1,"area::nohref":0,"area::onblur":2,"area::onfocus":2,"area::shape":0,"area::tabindex":0,"area::target":10,"bdo::dir":0,"blockquote::cite":1,"br::clear":0,"button::accesskey":0,"button::disabled":0,"button::name":8,"button::onblur"