Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
The [[Anna Freud Centre|http://www.annafreudcentre.org/]]
Tiddlers tagged with [[AFC]] form additional content that is specific to the running of the MBFT team at the AFC, rather than core to the methods and stance laid out in the rest of this manual.
In due course (soon, we hope - Dec 2009) a new host for the manual will be found that, using a new version of this technology (called TiddlyWeb). This will allow multiple teams to access the ''same core content'', but to add their own ''locally-attuned adjustments''; content which would be accessible to their team members (using a unique address ("URL") and editable only by them, using a password.) This means that a local team will be able to add such material direct to 'their version' of the main manual (rather than having to look in two places as at present) and in such events it will be clear when a local edit has "overwritten" the core content, and it will be possible to scroll back and forth between the team's local version and the core version that they have adapted.
!The AFC Family Support Service is funded for 9 Boroughs
Barnet
Brent
Camden
Westminster
Ealing
Hammersmith and Fulham
Harrow
Kensington and Chelsea
City of London
!!Funders:
John Lyons
Priory Foundation
The tiddlers tagged <<tag AFC>> collect all material that is specific to the running of the MBFT service in the AFC, rather than being core to the MBFT stance and techniques as described int eh rest of the manual.
In due course (soon, we hope - Dec 2009) a new host for the manual will be found that, using a new version of this technology (called TiddlyWeb). This will allow multiple teams to access the ''same core content'', but to add their own ''locally-attuned adjustments''; content which would be accessible to their team members (using a unique address ("URL") and editable only by them, using a password.) This means that a local team will be able to add such material direct to 'their version' of the main manual (rather than having to look in two places as at present) and in such events it will be clear when a local edit has "overwritten" the core content, and it will be possible to scroll back and forth between the team's local version and the core version that they have adapted.
To down load a fresh copy of the manual you go to the website (//NB - if you are reading this you are at the website already, or you already have and are reading a downloaded copy!//) which is at:
http://mbft-manual.tiddlyspot.com/ ...You can link to it direct from here: [[MBFT-Manual master copy|http://mbft-manual.tiddlyspot.com/]].
Now look on the right hand menu (known as the [[Sidebar]]).
At the very top you can show or hide the index - hide this, and then look below it for the heading "DOWNLOADING". Click on the heading "download" and you will be guided through a simple process - you will be invited to download a file called ''//mbft-manual.html//''.
Different computers store downloaded files in different places (you can set your computer to direct where you want it to go - mostly such files are stored in the "Downloads" folder, or on the desktop.)
Once your file is downloaded, you can change the name of the file (//keep the ''.html'' suffix// so that your computer knows how to open it - using its standard browser) and store it in a folder of your choice.
If for any reason you want to edit it (consider this as "writing notes in the margin") you will need to check that the [[Installation]] guidelines have been followed. In general, it must be said that it is simpler to use the freely downloadable browser Firefox than Internet Explorer, which can take a bit of setting up (see [[Installation]].)
Remember that this is a [[Licensed]] product that you are welcome to share as it is, but other uses are limited.
!If YOU ARE EDITING A DOWNLOADED VERSION
Firstly, note the [[Licensed]] nature of the manual - editing is fine, but selling it, or publishing your adapted version is not (and you must retain credits for the original authors)
Second, if you are making edits ''IT IS IMPORTANT TO SELECT THE OPTION //"SAVE CHANGES"// on the right hand margin ([[Sidebar]]), RATHER THAN the save button in the actual browser's "File" menu (top left)...
!What is an Affect Storm?
When feelings ("Affect") run high in a particular situation, a person’s ability to mentalize is at risk of being impaired. If family members are present, this can be ‘infectious’, leading to ‘emotional knee jerk’ reflexes all round.
In family sessions one can then observe heated interactions, with the participants blaming each other:
''//“you never….”'' or ''“you always”//''
Here the therapist’s task is to reduce the heat, so as to help family members to recover some degree of successful mentalization.
!What to do in an affect storm
See [[Simmering Down]], [[Taking a break]] and [[Therapist's use of Self]].
This could be seen as the 'highest order' of mentalizing, in what could be seen as a hierachy, each higher order relying on the presence of lower orders before it can be sustained:
#[[Implicit Mentalization]]
#[[Explicit Mentalization]]
#[[Affective Mentalization]]
Creating a more accurate narrative (see [[Explicit Mentalization]]) is not the ultimate goal of Mentalization Based Work.
Feelings have to be felt in order to be brought under a degree of conscious control. In order for this to arise, a relational context must be created in which it is safe to explore one's own mind in the mind of another. The development of mentalizing in the context of a secure attachment relationship normally fosters capacities for //Affect Regulation//.
The concept of ''mentalized affectivity'' points to the relation between mentalizing and affect regulation. Mentalizing effectively entails simultaneously feeling //and// thinking-about-feeling, and is a precondition for affect regulation, both at the level of the individual and at the level of the family system. The creation of a safe environment within the family for all its members is a precondition for this process to be initiated. Feeling recognized as an individual creates an analogue of the secure base experience and permits the activation of associated mental models with confidence to experience distress knowing that it will not overwhelm or permanently dysregulate one's capacity to function.
Affective Mentalization is a key capacity that the worker must use in Mentalization Based Family Therapy, and fostering this capacity in the young person and family members is an aim in therapeutic work.
!Concept of BOUNDARIES Vs. RULES:
"What one thing could YOU offer and what one thing would like the other to offer to demonstrate good will sufficient to keep on track...?" - offer to leave them to discuss this alone and come back in 5 minutes.
Space to reflect on this exercise.
!Additional points to cover (see [[MBFTSession1]] for core content)
#Remind about GP contact/liaison
#Negotiate financial donations if not already clarified.
#Remind about the Research Project
##have they received questionnaires and have they filled them in?
##Emphasise that research information is stored separately from clinical record - it is ''not accessible by therapist''.
!Authors
Peter Fonagy, Laurel Williams, Pasco Fearon, Eia Asen, Efrain Bleiberg, Mary Target, Jacquie ~McGregor, Ellen Safier, Nick Midgely, Dickon Bevington
!TiddlyManual author:
Dickon Bevington
The Authors retain all copyright. Use of this TiddlyManual is restricted by its [[Licensed]] status.
Note the TiddlyWiki format is an open source technology, and is licensed separately. We acknowledge the generous support of Jeremy Ruston and [[BT-Osmosoft|http://www.osmosoft.com/]] in the development of this resource.
This is a more dramatic technique of being curious, by enlarging - caricaturing - what has been stated or alluded to by family members. The therapist ‘blows up’ (balloons) what has been said, dramatising it via emotional tone and wordings:
>//“I don’t quite get it… can you help me….so how is it that your mother says you do this [imitates and caricatures]– do you understand //why// she says that? //I don’t get it myself!// – why, just //why// would she say that? What do you think is going on in her head that she comes up with that?"//
Every time you open a [[Tiddler]] its title is recorded in a "breadcrumbs trail" under the top menu. You can click on any of these titles to go back to the tiddler. If you have opened lots of tiddlers the breadcrumbs trail will get too big. If you click "Home" right at the beginning of the breadcrumbs trail it will clear it all and start again.
/***
|Name|BreadcrumbsPlugin|
|Author|Eric Shulman|
|Source|http://www.TiddlyTools.com/#BreadcrumbsPlugin|
|Documentation|http://www.TiddlyTools.com/#BreadcrumbsPluginInfo|
|Version|2.0.0|
|License|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Story.prototype.displayTiddler,TiddlyWiki.prototype.deleteTiddler|
|Options|##Configuration|
|Description|list/jump to tiddlers viewed during this session plus "back" button/macro|
This plugin provides a list of links to all tiddlers opened during the session, creating a "trail of breadcrumbs" from one tiddler to the next, allowing you to quickly navigate to any previously viewed tiddler, or select 'home' to reset the display to the initial set of tiddlers that were open at the start of the session (i.e., when the document was loaded into the browser).
!!!!!Documentation
<<<
see [[BreadcrumbsPluginInfo]]
<<<
!!!!!Configuration
<<<
<<option chkCreateDefaultBreadcrumbs>> automatically create breadcrumbs display (if needed)
<<option chkShowBreadcrumbs>> show/hide breadcrumbs display
<<option chkReorderBreadcrumbs>> re-order breadcrumbs when visiting a previously viewed tiddler
<<option chkBreadcrumbsHideHomeLink>> omit 'Home' link from breadcrumbs display
<<option chkShowStartupBreadcrumbs>> show breadcrumbs for 'startup' tiddlers
<<option chkBreadcrumbsReverse>> show breadcrumbs in reverse order (most recent first)
<<option chkBreadcrumbsLimit>> limit breadcrumbs display to {{twochar{<<option txtBreadcrumbsLimit>>}}} items
<<option chkBreadcrumbsLimitOpenTiddlers>> limit open tiddlers to {{twochar{<<option txtBreadcrumbsLimitOpenTiddlers>>}}} items
<<<
!!!!!Revisions
<<<
2008.05.01 [2.0.0] added 'limit open tiddlers' feature (with safety check for tiddler in edit mode)
| Please see [[BreadcrumbsPluginInfo]] for previous revision details |
2006.02.01 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.breadCrumbs = {major: 2, minor: 0, revision: 0, date: new Date("May 1, 2008")};
var co=config.options; // abbreviation
// show/hide display option (default is to SHOW breadcrumbs)
if (co.chkShowBreadcrumbs===undefined) co.chkShowBreadcrumbs=true;
// REORDER breadcrumbs when visiting previously viewed tiddler (default)
if (co.chkReorderBreadcrumbs===undefined) co.chkReorderBreadcrumbs=true;
// create default breadcrumbs display as needed (default is to CREATE)
if (co.chkCreateDefaultBreadcrumbs===undefined) co.chkCreateDefaultBreadcrumbs=true;
// show breadcrumbs for 'startup' tiddlers (default is FALSE = only show crumbs for tiddlers opened after startup)
if (co.chkShowStartupBreadcrumbs===undefined) co.chkShowStartupBreadcrumbs=false;
// show crumbs in reverse order (most recent first)
if (co.chkBreadcrumbsReverse===undefined) co.chkBreadcrumbsReverse=false;
// limit number of crumbs displayed
if (co.chkBreadcrumbsLimit===undefined) co.chkBreadcrumbsLimit=false;
if (co.txtBreadcrumbsLimit===undefined) co.txtBreadcrumbsLimit=5;
// limit number of open tiddlers
if (co.chkBreadcrumbsLimitOpenTiddlers===undefined) co.chkBreadcrumbsLimitOpenTiddlers=false;
if (co.txtBreadcrumbsLimitOpenTiddlers===undefined) co.txtBreadcrumbsLimitOpenTiddlers=3;
// omit home link from breadcrumbs display
if (co.chkBreadcrumbsHideHomeLink===undefined) co.chkBreadcrumbsHideHomeLink=false;
config.macros.breadcrumbs = {
crumbs: [], // the list of current breadcrumbs
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var area=createTiddlyElement(place,"span",null,"breadCrumbs",null);
area.setAttribute("homeSep",params[0]?params[0]:this.homeSeparator); // custom home separator
area.setAttribute("crumbSep",params[1]?params[1]:this.crumbSeparator); // custom crumb separator
this.render(area);
},
add: function (title) {
var thisCrumb = title;
var ind = this.crumbs.indexOf(thisCrumb);
if(ind === -1)
this.crumbs.push(thisCrumb);
else if (config.options.chkReorderBreadcrumbs)
this.crumbs.push(this.crumbs.splice(ind,1)[0]); // reorder crumbs
else
this.crumbs=this.crumbs.slice(0,ind+1); // trim crumbs
if (config.options.chkBreadcrumbsLimitOpenTiddlers)
this.limitOpenTiddlers();
this.refresh();
return false;
},
getAreas: function() {
var crumbAreas=[];
// find all DIVs with classname=="breadCrumbs"
// Note: use try/catch to avoid "Bad NPObject as private data" fatal error caused when
// some versions of embedded QuickTime player element is accessed by hasClass() function.
var all=document.getElementsByTagName("*");
for (var i=0; i<all.length; i++)
try{ if (hasClass(all[i],"breadCrumbs")) crumbAreas.push(all[i]); } catch(e) {;}
// find single DIV w/fixed ID (backward compatibility)
var byID=document.getElementById("breadCrumbs")
if (byID && !hasClass(byID,"breadCrumbs")) crumbAreas.push(byID);
if (!crumbAreas.length && config.options.chkCreateDefaultBreadcrumbs) {
// no existing crumbs display areas... create one...
var defaultArea = createTiddlyElement(null,"span",null,"breadCrumbs",null);
defaultArea.style.display= "none";
var targetArea= document.getElementById("tiddlerDisplay");
targetArea.parentNode.insertBefore(defaultArea,targetArea);
crumbAreas.push(defaultArea);
}
return crumbAreas;
},
refresh: function() {
var crumbAreas=this.getAreas();
for (var i=0; i<crumbAreas.length; i++) {
crumbAreas[i].style.display = config.options.chkShowBreadcrumbs?"block":"none";
removeChildren(crumbAreas[i]);
this.render(crumbAreas[i]);
}
},
render: function(here) {
var out=""
var homeSep=here.getAttribute("homeSep"); if (!homeSep) homeSep=this.homeSeparator;
var crumbSep=here.getAttribute("crumbSep"); if (!crumbSep) crumbSep=this.crumbSeparator;
if (!config.options.chkBreadcrumbsHideHomeLink) {
createTiddlyButton(here,"Home",null,this.home,"tiddlyLink tiddlyLinkExisting");
out+=homeSep;
}
for (c=0; c<this.crumbs.length; c++) // remove non-existing tiddlers from crumbs
if (!store.tiddlerExists(this.crumbs[c]) && !store.isShadowTiddler(this.crumbs[c]))
this.crumbs.splice(c,1);
var count=this.crumbs.length;
if (config.options.chkBreadcrumbsLimit && config.options.txtBreadcrumbsLimit<count)
count=config.options.txtBreadcrumbsLimit;
var list=[];
for (c=this.crumbs.length-count; c<this.crumbs.length; c++) list.push('[['+this.crumbs[c]+']]');
if (config.options.chkBreadcrumbsReverse) list.reverse();
out+=list.join(crumbSep);
wikify(out,here);
},
home: function() {
story.closeAllTiddlers();
restart();
config.macros.breadcrumbs.crumbs = [];
var crumbAreas=config.macros.breadcrumbs.getAreas();
for (var i=0; i<crumbAreas.length; i++) crumbAreas[i].style.display = "none";
return false;
},
limitOpenTiddlers: function() {
var limit=config.options.txtBreadcrumbsLimitOpenTiddlers; if (limit<1) limit=1;
for (c=this.crumbs.length-1; c>=0; c--) {
var tid=this.crumbs[c];
var elem=document.getElementById(story.idPrefix+tid);
if (elem) { // tiddler is displayed
if (limit <=0) { // display limit has been reached
if (elem.getAttribute("dirty")=="true") { // tiddler is being edited
var msg="'"+tid+"' is currently being edited.\n\n";
msg+="Press OK to save and close this tiddler\nor press Cancel to leave it opened";
if (confirm(msg)) { story.saveTiddler(tid); story.closeTiddler(tid); }
}
else
story.closeTiddler(this.crumbs[c]);
}
limit--;
}
}
}
};
if (config.macros.breadcrumbs.homeSeparator==undefined) // note: not a cookie
config.macros.breadcrumbs.homeSeparator=" | ";
if (config.macros.breadcrumbs.crumbSeparator==undefined) // note: not a cookie
config.macros.breadcrumbs.crumbSeparator=" > ";
config.commands.previousTiddler = {
text: 'back',
tooltip: 'view the previous tiddler',
hideReadOnly: false,
dateFormat: 'DDD, MMM DDth YYYY hh:0mm:0ss',
handler: function(event,src,title) {
var here=story.findContainingTiddler(src); if (!here) return;
var crumbs=config.macros.breadcrumbs.crumbs;
if (crumbs.length>1) {
var crumb=crumbs[crumbs.length-2];
story.displayTiddler(here,crumb);
}
else
config.macros.breadcrumbs.home();
return false;
}
};
config.macros.previousTiddler= {
label: 'back',
prompt: 'view the previous tiddler',
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var label=params.shift(); if (!label) label=this.label;
var prompt=params.shift(); if (!prompt) prompt=this.prompt;
createTiddlyButton(place,label,prompt,function() {
var crumbs=config.macros.breadcrumbs.crumbs;
if (crumbs.length>1) {
var crumb=crumbs[crumbs.length-2];
story.displayTiddler(place,crumb);
}
else
config.macros.breadcrumbs.home();
});
}
}
// hijack story.displayTiddler() so crumbs can be refreshed when a tiddler is displayed
if (Story.prototype.breadCrumbs_coreDisplayTiddler==undefined)
Story.prototype.breadCrumbs_coreDisplayTiddler=Story.prototype.displayTiddler;
Story.prototype.displayTiddler = function(srcElement,tiddler,template,animate,slowly)
{
var title=(tiddler instanceof Tiddler)?tiddler.title:tiddler;
this.breadCrumbs_coreDisplayTiddler.apply(this,arguments);
// if not displaying tiddler during document startup, then add it to the breadcrumbs
// note: 'startingUp' flag is a global, set/reset by the core init() function
if (!startingUp || config.options.chkShowStartupBreadcrumbs) config.macros.breadcrumbs.add(title);
}
// hijack store.removeTiddler() so crumbs can be refreshed when a tiddler is deleted
if (TiddlyWiki.prototype.breadCrumbs_coreRemoveTiddler==undefined)
TiddlyWiki.prototype.breadCrumbs_coreRemoveTiddler=TiddlyWiki.prototype.removeTiddler;
TiddlyWiki.prototype.removeTiddler= function(title)
{
this.breadCrumbs_coreRemoveTiddler.apply(this,arguments);
config.macros.breadcrumbs.refresh();
}
//}}}
!Clinical Global Assessment Scale
Use intermediary levels (e.g., 35, 58, 62). Rate actual functioning regardless of treatment or prognosis. The examples of behaviour provided are only illustrative and are not required for a particular rating.
!RECORD SCORES
#After first meeting
#At 3 months and/or at end of treatment.
#If possible, repeat at 3 months post treatment.
!100 – 91
Superior functioning in all areas (at home, at school, and with peers); involved in a wide range of activities and has many interests (e.g., hobbies or participates in extra-curricular activities or belongs to an organised group, such as scouts, etc.); likeable, confident; ‘everyday’ worries never get out of hand; doing well in school; no symptoms.
!90 – 81
Good functioning in all areas, secure in family, school and with peers; there may be transient difficulties and ‘everyday’ worries that occasionally get out of hand (e.g. mild anxiety associated with an important exam, occasional ‘blow-ups’ with siblings, parents or peers).
!80 - 71
No more than slight impairment in functioning at home, at school, or with peers; some disturbance of behaviour or emotional distress may be present in response to life stresses (e.g. parental separations, deaths, birth of a sibling) but these are brief and interference with functioning is transient; such children are only minimally disturbing to others and are not considered deviant by those who know them.
!70 - 61
Some difficulty in single area but generally functioning pretty well (e.g. sporadic or isolated antisocial acts, such as occasionally playing hooky or petty theft: consistent minor difficulties with school work; mood changes of brief duration; fears and anxieties which do not lead to gross avoidance behaviour, self-doubts); has some meaningful interpersonal relationships; most people who do not know the child well would not consider him/her deviant but those who do not him/her well might express concern.
!60 - 51
Variable functioning with sporadic difficulties or symptoms in several but not all social areas; disturbance would be apparent to those who encounter the child in a dysfunctional setting or time but not to those who see the child in other settings.
!50 - 41
Moderate degree of interference in functioning in most social areas or severe impairment or functioning in one area, such as might result from, for example, suicidal preoccupations and ruminations, school refusal and other forms of anxiety, obsessive rituals, major conversion symptoms, frequent anxiety attacks, poor or inappropriate social skills, frequent episodes of aggressive or other anti-social behaviour with some preservation of meaningful social relations.
!40 – 31
Major impairment in functioning in several areas and unable to function in one of these areas, is, disturbed at home, at school, with peers, or in society at large, e.g. persistent aggression without clear instigation; markedly withdrawn and isolated behaviour due to either mood or thought disturbance, suicidal attempts with clear lethal intent; such children are likely to require special schooling and/or hospitalisation or withdrawal from school (but this is not a sufficient criterion for inclusion in this category).
!30 – 21
Unable to function in almost all areas e.g. stays at home, in ward, or in bed all day without taking part in social activities or severe impairment in reality testing or serious impairment in communication (e.g. sometimes incoherent or inappropriate).
!20 - 11
Needs considerable supervision to prevent hurting others and self (e.g. frequently violent, repeated suicide attempts) or to maintain personal hygiene or gross impairment in all forms of communication, e.g. severe abnormalities in verbal and gestural communication, marked social aloofness, stupor, etc.
!10 - 1
Needs constant supervision (24 hour care) due to severely aggressive or self-destructive behaviour or gross impairment in reality testing, communication, cognition, affect or personal hygiene.
!Principle
People in the family may assume that they see things in the same way, but from a mentalizing stance this would need to be checked (See [[Checking]]).
!Action
If someone uses ‘we’ then that person can be asked, in a mildly challenging way:
>//"Just then, you said 'we thought that...' do you think you could check that out with the others - is that how they saw it too?"//
>//"Can we think about the pros and cons of referring to ‘we’ in this situation?."//
The implication is that in using "We" the speaker may well be assuming knowledge of other people's thoughts or motivations in a way that could be defined as "intrusive mentalizing" - an example of [[Pseudo-mentalization difficulties]]. This may bring to light differences and failures of mentalizing which can be used to demonstrate how mentalizing works, and reward further exploration.
!To see more.
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.
!To open only one '[[Tiddler]]' at a time:
Some people prefer to have only one [[Tiddler]] open at a time - it can make it easier to concentrate on what is there. If you select this option, you can easily go back and forth between previously opened Tiddlers by using the 'Forwards' and 'Backwards' buttons on your internet browser - just as you might click back and forth between a series of web pages you had opened. Click on AdvancedOptions and select/tick the box marked 'open one Tiddler at a time'. When you then close that Tiddler, it is done!
!To open any new Tiddler at the top of the page
Others prefer to have a bigger list of [[Tiddler]]s open simultaneously, so they can jump between the ones they are interested in. If this is the case it is often useful to have any newly opened Tiddler appear at the very top of the page - so it is always easy to scroll back up to it (if you're not using [[jump]]!) To select this option, click AdvancedOptions and select the relevant tick box. close AdvancedOptions and it is done!
/***
|Name|CheckboxPlugin|
|Source|http://www.TiddlyTools.com/#CheckboxPlugin|
|Documentation|http://www.TiddlyTools.com/#CheckboxPluginInfo|
|Version|2.4.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|Add checkboxes to your tiddler content|
This plugin extends the TiddlyWiki syntax to allow definition of checkboxes that can be embedded directly in tiddler content. Checkbox states are preserved by:
* by setting/removing tags on specified tiddlers,
* or, by setting custom field values on specified tiddlers,
* or, by saving to a locally-stored cookie ID,
* or, automatically modifying the tiddler content (deprecated)
When an ID is assigned to the checkbox, it enables direct programmatic access to the checkbox DOM element, as well as creating an entry in TiddlyWiki's config.options[ID] internal data. In addition to tracking the checkbox state, you can also specify custom javascript for programmatic initialization and onClick event handling for any checkbox, so you can provide specialized side-effects in response to state changes.
!!!!!Documentation
>see [[CheckboxPluginInfo]]
!!!!!Revisions
<<<
2008.01.08 [*.*.*] plugin size reduction: documentation moved to [[CheckboxPluginInfo]]
2008.01.05 [2.4.0] set global "window.place" to current checkbox element when processing checkbox clicks. This allows init/beforeClick/afterClick handlers to reference RELATIVE elements, including using "story.findContainingTiddler(place)". Also, wrap handlers in "function()" so "return" can be used within handler code.
|please see [[CheckboxPluginInfo]] for additional revision details|
2005.12.07 [0.9.0] initial BETA release
<<<
!!!!!Code
***/
//{{{
version.extensions.CheckboxPlugin = {major: 2, minor: 4, revision:0 , date: new Date(2008,1,5)};
//}}}
//{{{
config.checkbox = { refresh: { tagged:true, tagging:true, container:true } };
config.formatters.push( {
name: "checkbox",
match: "\\[[xX_ ][\\]\\=\\(\\{]",
lookahead: "\\[([xX_ ])(=[^\\s\\(\\]{]+)?(\\([^\\)]*\\))?({[^}]*})?({[^}]*})?({[^}]*})?\\]",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
// get params
var checked=(lookaheadMatch[1].toUpperCase()=="X");
var id=lookaheadMatch[2];
var target=lookaheadMatch[3];
if (target) target=target.substr(1,target.length-2).trim(); // trim off parentheses
var fn_init=lookaheadMatch[4];
var fn_clickBefore=lookaheadMatch[5];
var fn_clickAfter=lookaheadMatch[6];
var tid=story.findContainingTiddler(w.output); if (tid) tid=tid.getAttribute("tiddler");
var srctid=w.tiddler?w.tiddler.title:null;
config.macros.checkbox.create(w.output,tid,srctid,w.matchStart+1,checked,id,target,config.checkbox.refresh,fn_init,fn_clickBefore,fn_clickAfter);
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} );
config.macros.checkbox = {
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
if(!(tiddler instanceof Tiddler)) { // if no tiddler passed in try to find one
var here=story.findContainingTiddler(place);
if (here) tiddler=store.getTiddler(here.getAttribute("tiddler"))
}
var srcpos=0; // "inline X" not applicable to macro syntax
var target=params.shift(); if (!target) target="";
var defaultState=params[0]=="checked"; if (defaultState) params.shift();
var id=params.shift(); if (id && !id.length) id=null;
var fn_init=params.shift(); if (fn_init && !fn_init.length) fn_init=null;
var fn_clickBefore=params.shift();
if (fn_clickBefore && !fn_clickBefore.length) fn_clickBefore=null;
var fn_clickAfter=params.shift();
if (fn_clickAfter && !fn_clickAfter.length) fn_clickAfter=null;
var refresh={ tagged:true, tagging:true, container:false };
this.create(place,tiddler.title,tiddler.title,0,defaultState,id,target,refresh,fn_init,fn_clickBefore,fn_clickAfter);
},
create: function(place,tid,srctid,srcpos,defaultState,id,target,refresh,fn_init,fn_clickBefore,fn_clickAfter) {
// create checkbox element
var c = document.createElement("input");
c.setAttribute("type","checkbox");
c.onclick=this.onClickCheckbox;
c.srctid=srctid; // remember source tiddler
c.srcpos=srcpos; // remember location of "X"
c.container=tid; // containing tiddler (may be null if not in a tiddler)
c.tiddler=tid; // default target tiddler
c.refresh = {};
c.refresh.container = refresh.container;
c.refresh.tagged = refresh.tagged;
c.refresh.tagging = refresh.tagging;
place.appendChild(c);
// set default state
c.checked=defaultState;
// track state in config.options.ID
if (id) {
c.id=id.substr(1); // trim off leading "="
if (config.options[c.id]!=undefined)
c.checked=config.options[c.id];
else
config.options[c.id]=c.checked;
}
// track state in (tiddlername|tagname) or (fieldname@tiddlername)
if (target) {
var pos=target.indexOf("@");
if (pos!=-1) {
c.field=pos?target.substr(0,pos):"checked"; // get fieldname (or use default "checked")
c.tiddler=target.substr(pos+1); // get specified tiddler name (if any)
if (!c.tiddler || !c.tiddler.length) c.tiddler=tid; // if tiddler not specified, default == container
if (store.getValue(c.tiddler,c.field)!=undefined)
c.checked=(store.getValue(c.tiddler,c.field)=="true"); // set checkbox from saved state
} else {
var pos=target.indexOf("|"); if (pos==-1) var pos=target.indexOf(":");
c.tag=target;
if (pos==0) c.tag=target.substr(1); // trim leading "|" or ":"
if (pos>0) { c.tiddler=target.substr(0,pos); c.tag=target.substr(pos+1); }
if (!c.tag.length) c.tag="checked";
var t=store.getTiddler(c.tiddler);
if (t && t.tags)
c.checked=t.isTagged(c.tag); // set checkbox from saved state
}
}
// trim off surrounding { and } delimiters from init/click handlers
if (fn_init) c.fn_init="(function(){"+fn_init.trim().substr(1,fn_init.length-2)+"})()";
if (fn_clickBefore) c.fn_clickBefore="(function(){"+fn_clickBefore.trim().substr(1,fn_clickBefore.length-2)+"})()";
if (fn_clickAfter) c.fn_clickAfter="(function(){"+fn_clickAfter.trim().substr(1,fn_clickAfter.length-2)+"})()";
c.init=true; c.onclick(); c.init=false; // compute initial state and save in tiddler/config/cookie
},
onClickCheckbox: function(event) {
window.place=this;
if (this.init && this.fn_init) // custom function hook to set initial state (run only once)
{ try { eval(this.fn_init); } catch(e) { displayMessage("Checkbox init error: "+e.toString()); } }
if (!this.init && this.fn_clickBefore) // custom function hook to override changes in checkbox state
{ try { eval(this.fn_clickBefore) } catch(e) { displayMessage("Checkbox onClickBefore error: "+e.toString()); } }
if (this.id)
// save state in config AND cookie (only when ID starts with 'chk')
{ config.options[this.id]=this.checked; if (this.id.substr(0,3)=="chk") saveOptionCookie(this.id); }
if (this.srctid && this.srcpos>0 && (!this.id || this.id.substr(0,3)!="chk") && !this.tag && !this.field) {
// save state in tiddler content only if not using cookie, tag or field tracking
var t=store.getTiddler(this.srctid); // put X in original source tiddler (if any)
if (t && this.checked!=(t.text.substr(this.srcpos,1).toUpperCase()=="X")) { // if changed
t.set(null,t.text.substr(0,this.srcpos)+(this.checked?"X":"_")+t.text.substr(this.srcpos+1),null,null,t.tags);
if (!story.isDirty(t.title)) story.refreshTiddler(t.title,null,true);
store.setDirty(true);
}
}
if (this.field) {
if (this.checked && !store.tiddlerExists(this.tiddler))
store.saveTiddler(this.tiddler,this.tiddler,"",config.options.txtUserName,new Date());
// set the field value in the target tiddler
store.setValue(this.tiddler,this.field,this.checked?"true":"false");
// DEBUG: displayMessage(this.field+"@"+this.tiddler+" is "+this.checked);
}
if (this.tag) {
if (this.checked && !store.tiddlerExists(this.tiddler))
store.saveTiddler(this.tiddler,this.tiddler,"",config.options.txtUserName,new Date());
var t=store.getTiddler(this.tiddler);
if (t) {
var tagged=(t.tags && t.tags.indexOf(this.tag)!=-1);
if (this.checked && !tagged) { t.tags.push(this.tag); store.setDirty(true); }
if (!this.checked && tagged) { t.tags.splice(t.tags.indexOf(this.tag),1); store.setDirty(true); }
}
// if tag state has been changed, update display of corresponding tiddlers (unless they are in edit mode...)
if (this.checked!=tagged) {
if (this.refresh.tagged) {
if (!story.isDirty(this.tiddler)) // the TAGGED tiddler in view mode
story.refreshTiddler(this.tiddler,null,true);
else // the TAGGED tiddler in edit mode (with tags field)
config.macros.checkbox.refreshEditorTagField(this.tiddler,this.tag,this.checked);
}
if (this.refresh.tagging)
if (!story.isDirty(this.tag)) story.refreshTiddler(this.tag,null,true); // the TAGGING tiddler
}
}
if (!this.init && this.fn_clickAfter) // custom function hook to react to changes in checkbox state
{ try { eval(this.fn_clickAfter) } catch(e) { displayMessage("Checkbox onClickAfter error: "+e.toString()); } }
// refresh containing tiddler (but not during initial rendering, or we get an infinite loop!) (and not when editing container)
if (!this.init && this.refresh.container && this.container!=this.tiddler)
if (!story.isDirty(this.container)) story.refreshTiddler(this.container,null,true); // the tiddler CONTAINING the checkbox
return true;
},
refreshEditorTagField: function(title,tag,set) {
var tagfield=story.getTiddlerField(title,"tags");
if (!tagfield||tagfield.getAttribute("edit")!="tags") return; // if no tags field in editor (i.e., custom template)
var tags=tagfield.value.readBracketedList();
if (tags.contains(tag)==set) return; // if no change needed
if (set) tags.push(tag); // add tag
else tags.splice(tags.indexOf(tag),1); // remove tag
for (var t=0;t<tags.length;t++) tags[t]=String.encodeTiddlyLink(tags[t]);
tagfield.value=tags.join(" "); // reassemble tag string (with brackets as needed)
return;
}
}
//}}}
|Name|CheckboxPluginInfo|
|Source|http://www.TiddlyTools.com/#CheckboxPlugin|
|Documentation|http://www.TiddlyTools.com/#CheckboxPluginInfo|
|Version|2.4.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|documentation|
|Requires||
|Overrides||
|Options|##Configuration|
|Description|documentation for CheckboxPlugin|
This plugin extends the TiddlyWiki syntax to allow definition of checkboxes that can be embedded directly in tiddler content. Checkbox states are preserved by:
* setting/removing tags on specified tiddlers,
* or, setting custom field values on specified tiddlers,
* or, saving to a locally-stored cookie ID,
* or, automatically modifying the tiddler source content (deprecated).
When an ID is assigned to the checkbox, it enables direct programmatic access to the checkbox DOM element, as well as creating an entry in TiddlyWiki's config.options[ID] internal data. In addition to tracking the checkbox state, you can also specify custom javascript for programmatic initialization and onClick event handling for any checkbox, so you can provide specialized side-effects in response to state changes.
!!!!!Inline (wiki syntax) Usage
<<<
//{{{
[ ]or[_] and [x]or[X]
//}}}
Simple checkboxes using 'Inline X' storage. The current unchecked/checked state is indicated by the character between the {{{[}}} and {{{]}}} brackets ("_" means unchecked, "X" means checked). When you click on a checkbox, the current state is retained by directly modifying the tiddler content to place the corresponding "_" or "X" character in between the brackets.
>//''NOTE: 'Inline X' syntax has been deprecated...'' This storage format only works properly for checkboxes that are directly embedded and accessed from content in a single tiddler. However, if that tiddler is 'transcluded' into another (by using the {{{<<tiddler TiddlerName>>}}} macro), the 'Inline X' will be ''erroneously stored in the containing tiddler's source content, resulting in corrupted content in that tiddler.'' For anything but the most simple of "to do list" uses, you should select from the various alternative storage methods described below...//
//{{{
[x=id]
//}}}
Assign an optional ID to the checkbox so you can use {{{document.getElementByID("id")}}} to manipulate the checkbox DOM element, as well as tracking the current checkbox state in {{{config.options["id"]}}}. If the ID starts with "chk" the checkbox state will also be saved in a cookie, so it can be automatically restored whenever the checkbox is re-rendered (overrides any default {{{[x]}}} or {{{[_]}}} value). If a cookie value is kept, the "_" or "X" character in the tiddler content remains unchanged, and is only applied as the default when a cookie-based value is not currently defined.
//{{{
[x(title|tag)] or [x(title:tag)]
//}}}
Initializes and tracks the current checkbox state by setting or removing a particular tag value from a specified tiddler. If you omit the tiddler title (and the | or : separator), the specified tag is assigned to the current tiddler. If you omit the tag value, as in {{{(title|)}}}, the default tag, {{{checked}}}, is assumed. Omitting both the title and tag, {{{()}}}, tracks the checkbox state by setting the "checked" tag on the current tiddler. When tag tracking is used, the "_" or "X" character in the tiddler content remains unchanged, and is not used to set or track the checkbox state. If a tiddler title named in the tag does not exist, the checkbox state defaults to the "inline X" value. If this value is //checked//, or is subsequently changed to //checked//, it will automatically create the missing tiddler and then add the tag to it. //''NOTE: beginning with version 2.1.2 of this plugin, the "|" separator is the preferred separator between the title and tag name, as it avoids syntactic ambiguity when ":" is used within tiddler titles or tag names.''//
//{{{
[x(field@tiddler)]
//}}}
Initializes and tracks the current checkbox state by setting a particular custom field value from a specified tiddler. If you omit the tiddler title (but not the "@" separator), the specified field on the current tiddler is used. If you omit the field name, as in {{{(@tiddler)}}}, a default fieldname of {{{checked}}} is assumed. Omitting both the field and the tiddler title, {{{(@)}}}, defaults to setting the "checked" field on the current tiddler. When field tracking is used, the "_" or "X" character in the tiddler content remains unchanged, and is not used to set or track the checkbox state. If the tiddler title named in the parameter does not exist, the checkbox state defaults to the "inline X" value. If this value is //checked// or is subsequently changed to //checked//, it will automatically create the missing tiddler and then add the field to it.
//{{{
[x{javascript}{javascript}{javascript}]
//}}}
You can define optional javascript code segments to add custom initialization and/or 'onClick' handlers to a checkbox. The current checkbox state (and it's other DOM attributes) can be set or read from within these code segments by reference to a globally-defined context object, "place" (which can also be referenced as "window.place").
The first code segment will be executed when the checkbox is initially displayed, so that you can programmatically determine it's starting checked/unchecked state. The second code segment (if present) is executed whenever the checkbox is clicked, but //before the regular checkbox processing in performed// ("onClickBefore"), so that you can apply programmed responses or intercept and override the checkbox state based on custom logic. The third code segment (if present) is executed whenver the checkbox is clicked, //after the regular checkbox processing has completed// ("onClickAfter"), so that you can include "side-effect" processing based on the checkbox state just applied.
>Note: if you want to use the default checkbox initialization processing with a custom onClickBefore/After function, use this syntax:
>{{{[x(tag){}{javascript}]}}} or {{{[x(tag){}{}{javascript}]}}}
<<<
!!!!!Macro usage
<<<
In addition to embedded checkboxes using the wiki syntax described above, a ''macro-based syntax'' is also provided, for use in templates where wiki syntax cannot be directly used. This macro syntax can also be used in tiddler content, as an alternative to the wiki syntax. When embedded in [[PageTemplate]], [[ViewTemplate]], or [[EditTemplate]] (or custom alternative templates), use the following macro syntax:
//{{{
<span macro="checkbox target checked id onInit onClickBefore onClickAfter"></span>
//}}}
or, when embedded in tiddler content, use the following macro syntax:
//{{{
<<checkbox target checked id onInit onClickBefore onClickAfter>>
//}}}
where:
''target''
>is either a tag reference (e.g., ''tagname|tiddlername'') or a field reference (e.g. ''fieldname@tiddlername''), as described above.
''checked'' (optional)
>is a keyword that sets the initial state of the checkbox to "checked". When omitted, the default checkbox state is "unchecked".
''id'' (optional)
>specifies an internal config.options.* ID, as described above. If the ID begins with "chk", a cookie-based persistent value will be created to track the checkbox state in between sessions.
''onInit'' (optional)
>contains a javascript event handler to be performed when the checkbox is initially rendered (see details above).
''onClickBefore'' and/or ''onClickAfter'' (optional)
>contains a javascript event handler to be performed each time the checkbox is clicked (see details above). //note: to use the default onInit handler with a custom onClickBefore/After handler, use "" (empty quotes) or {} (empty function) as a placeholder for the onInit and/or onClickBefore parameters//
<<<
!!!!!Examples
<<<
''checked and unchecked static default ("inline X") values:''
//{{{
[X] label
[_] label
//}}}
>[X] label
>[_] label
''document-based value (id='demo', no cookie):''
//{{{
[_=demo] label
//}}}
>[_=demo] label
''cookie-based value (id='chkDemo'):''
//{{{
[_=chkDemo] label
//}}}
>[_=chkDemo] label
''tag-based value (TogglyTagging):''
//{{{
[_(CheckboxPluginInfo|demotag)]
[_(CheckboxPluginInfo|demotag){place.refresh.tagged=place.refresh.container=false}]
//}}}
>[_(CheckboxPluginInfo|demotag)] toggle 'demotag' (and refresh tiddler display)
>[_(CheckboxPluginInfo|demotag){place.refresh.tagged=place.refresh.container=false}] toggle 'demotag' (no refresh)
''field-based values:''
//{{{
[_(demofield@CheckboxPluginInfo)] demofield@CheckboxPluginInfo
[_(demofield@)] demofield@ (equivalent to demonfield@ current tiddler)
[_(checked@CheckboxPluginInfo)] checked@CheckboxPluginInfo
[_(@CheckboxPluginInfo)] @CheckboxPluginInfo
[_(@)] @ (equivalent to checked@ current tiddler)
//}}}
>[_(demofield@CheckboxPluginInfo)] demofield@CheckboxPluginInfo
>[_(demofield@)] demofield@ (current tiddler)
>[_(checked@CheckboxPluginInfo)] checked@CheckboxPluginInfo
>[_(@CheckboxPluginInfo)] @CheckboxPluginInfo
>[_(@)] toggle field: @ (defaults to "checked@here")
>click to view current: <<toolbar fields>>
''custom init and onClick functions:''
//{{{
[X{place.checked=true}{alert(place.checked?"on":"off")}] message box with checkbox state
//}}}
>[X{place.checked=true}{alert(place.checked?"on":"off")}] message box with checkbox state
''retrieving option values:''
>config.options['demo']=<script>return config.options['demo']?"true":"false";</script>
>config.options['chkDemo']=<script>return config.options['chkDemo']?"true":"false";</script>
<<<
!!!!!Configuration
<<<
Normally, when a checkbox state is changed, the affected tiddlers are automatically re-rendered, so that any checkbox-dependent dynamic content can be updated. There are three possible tiddlers to be re-rendered, depending upon where the checkbox is placed, and what kind of storage method it is using.
*''container'': the tiddler in which the checkbox is displayed. (e.g., this tiddler)
*''tagged'': the tiddler that is being tagged (e.g., "~MyTask" when tagging "~MyTask:done")
*''tagging'': the "tag tiddler" (e.g., "~done" when tagging "~MyTask:done")
You can set the default refresh handling for all checkboxes in your document by using the following javascript syntax either in a systemConfig plugin, or as an inline script. (Substitute true/false values as desired):
{{{config.checkbox.refresh = { tagged:true, tagging:true, container:true };}}}
You can also override these defaults for any given checkbox by using an initialization function to set one or more of the refresh options. For example:
{{{[_{place.refresh.container=false}]}}}
<<<
!!!!!Revisions
<<<
2008.01.08 [*.*.*] plugin size reduction: documentation moved to [[CheckboxPluginInfo]]
2008.01.05 [2.4.0] set global "window.place" to current checkbox element when processing checkbox clicks. This allows init/beforeClick/afterClick handlers to reference RELATIVE elements, including using "story.findContainingTiddler(place)". Also, wrap handlers in "function()" so "return" can be used within handler code.
2008.01.02 [2.3.0] split optional custom onClick handling into separate onClickBefore and onClickAfter handlers. The onClickBefore handler permits interception of the click BEFORE the checkbox is set. onClickAfter allows follow-on 'side-effect' processing to occur AFTER the checkbox is set.
2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
2007.08.06 [2.2.5] supress automatic refresh of any tiddler that is currently being edited. Ensures that current tiddler edit sessions are not prematurely discarded (losing any changes). However, if checkbox changes a tag on a tiddler being edited, update the "tags" input field (if any) so that saving the edited tiddler correctly reflects any changes due to checkbox activity... see refreshEditorTagField().
2007.07.13 - 2.2.4 in handler(), fix srctid reference (was "w.tiddler", should have been "w.tiddler.title"). This fixes broken 'inline X' plus fatal macro error when using PartTiddlerPlugin. Thanks to cmari for reporting the problem and UdoBorkowski for finding the code error.
2007.06.21 - 2.2.3 suppress automatic refresh of tiddler when using macro-syntax to prevent premature end of tiddler editing session.
2007.06.20 - 2.2.2 fixed handling for 'inline X' when checkboxes are contained in a 'trancluded' tiddler. Now, regardless of where an inline X checkbox appears, the X will be placed in the originating source tiddler, rather than the tiddler in which the checkbox appears.
2007.06.17 - 2.2.1 Refactored code to add checkbox //macro// syntax for use in templates (e.g., {{{macro="checkbox ..."}}}. Also, code cleanup of existing tag handling.
2007.06.16 - 2.2.0 added support for tracking checkbox states using tiddler fields via "(fieldname@tiddlername)" syntax.
2006.05.04 - 2.1.3 fix use of findContainingTiddler() to check for a non-null return value, so that checkboxes won't crash when used outside of tiddler display context (such as in header, sidebar or mainmenu)
2006.03.11 - 2.1.2 added "|" as delimiter to tag-based storage syntax (e.g. "tiddler|tag") to avoid parsing ambiguity when tiddler titles or tag names contain ":". Using ":" as a delimiter is still supported but is deprecated in favor of the new "|" usage. Based on a problem reported by JeffMason.
2006.02.25 - 2.1.0 added configuration options to enable/disable forced refresh of tiddlers when toggling tags
2006.02.23 - 2.0.4 when toggling tags, force refresh of the tiddler containing the checkbox.
2006.02.23 - 2.0.3 when toggling tags, force refresh of the 'tagged tiddler' so that tag-related tiddler content (such as "to-do" lists) can be re-rendered.
2006.02.23 - 2.0.2 when using tag-based storage, allow use [[ and ]] to quote tiddler or tag names that contain spaces:
{{{[x([[Tiddler with spaces]]:[[tag with spaces]])]}}}
2006.01.10 - 2.0.1 when toggling tags, force refresh of the 'tagging tiddler'. For example, if you toggle the "systemConfig" tag on a plugin, the corresponding "systemConfig" TIDDLER will be automatically refreshed (if currently displayed), so that the 'tagged' list in that tiddler will remain up-to-date.
2006.01.04 - 2.0.0 update for ~TW2.0
2005.12.27 - 1.1.2 Fix lookAhead regExp handling for {{{[x=id]}}}, which had been including the "]" in the extracted ID.
Added check for "chk" prefix on ID before calling saveOptionCookie()
2005.12.26 - 1.1.2 Corrected use of toUpperCase() in tiddler re-write code when comparing {{{[X]}}} in tiddler content with checkbox state. Fixes a problem where simple checkboxes could be set, but never cleared.
2005.12.26 - 1.1.0 Revise syntax so all optional parameters are included INSIDE the [ and ] brackets. Backward compatibility with older syntax is supported, so content changes are not required when upgrading to the current version of this plugin. Based on a suggestion by GeoffSlocock
2005.12.25 - 1.0.0 added support for tracking checkbox state using tags ("TogglyTagging")
Revised version number for official post-beta release.
2005.12.08 - 0.9.3 support separate 'init' and 'onclick' function definitions.
2005.12.08 - 0.9.2 clean up lookahead pattern
2005.12.07 - 0.9.1 only update tiddler source content if checkbox state is actually different. Eliminates unnecessary tiddler changes (and 'unsaved changes' warnings)
2005.12.07 - 0.9.0 initial BETA release
<<<
!//Checking// is a powerful enactment of the [[Therapist's Stance|MBFT-Core1 - Therapist's Stance]]
Respectful curiosity, expressed tentatively, about mental states.
!//Checking// the Links
Accurate mentalizing increases the narrative coherence of an event, and reinforces the assumption that our understanding of behaviours is improved when they are perceived as being embedded within (and to some extent contingent upon) a wider context, including repetitive historical patterns. Linking an observed interaction, such as a momentary loss of mentalizing in a family, with previous accounts or reports of problems is an important beginning of the task to [[Generalize (and Consider Change)]].
!//Checking// as confirming the limits of our 'mind-reading'.
Checking understandings also powerfully affirms the mentalizing notion that //we do not have privileged access to the contents of each other's minds// (mentalizing is never the same as mind-reading). It is an enactment of the [[MBFT-Core1 - Therapist's Stance]] which offers a //tentative// stance, that is inquisitive about other people's mental states.
!//Checking// as affirming of the value of mentalizing.
Implicit in our checking understandings and feelings is that //we affirm the importance of understanding other peoples' mental states.// This is an enactment of the [[MBFT-Core1 - Therapist's Stance]] which constantly affirms the value and signficance of mentalizing.
!//Checking// at the end of the loop
By the end of a session it is important to conclude a therapeutic sequence by getting each family members to view what happened from a meta-perspective. This is, in effect [[Mentalized affectivity]].
This helps to evaluate what may have been a new and emotionally charged experience, giving them the opportunity to reflect together about what happened and the possible consequences.
>//“What did you make of what happened? Can you talk together about what this was like for each and all of you? Are there any conclusions you can draw from this?”//
This is one of the options you have on the individual [[Tiddler]] menu, that appears when your mouse-pointer overs over that particular [[Tiddler]].
Clicking this option on a specific [[Tiddler]] menu will close that specific Tiddler: for instance, when your cursor is over this Tiddler you will see its menu appear just above it to the right - click 'close' and it will be gone!
This button on teh [[Sidebar]] simply closes all the tiddlers that are open. useful if you have opened more than you can cope with! Note you can retrace your steps through lots of tiddlers using the [[Breadcrumbs]] trail under the top menu.
This is one of the options you have on the individual [[Tiddler]] menu, that appears when your mouse-pointer overs over that particular [[Tiddler]].
If you have opened a lot of [[Tiddler]]s it can be hard to concentrate on the detail of the one you are reading. Clicking on the 'close others' option does just as it says; it helps keep your desktop clear of Tiddlers you have already read and no longer need.
You can change the way the [[Tiddler]]s in the document open (i.e. set your manual so that only one Tiddle is held open at a time, or so that a newly opened Tiddler is always placed at the top of the page on your computer browser.) Do this by going to [[Options]] in the Menu on the right 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;
}
});
//}}}
!Application:
This might relate to a situation where the child was not thought about properly, but could not elicit a response from the parents that would have focused them to see the child’s feelings and thoughts as these were at the time.
!Activity:
The therapist suggests some ways of responding that the child may not have thought of during the moment. For example, the therapist might say:
>//"When your mom was talking about your room being messy, I saw you start to get upset. I wonder what might have happened if instead you…"//
!!Note:
The purpose is not to correct the experience but to encourage flexibility in the child’s behaviour repertoire in relation to this type of experience. This activity can also be used with parents in the absence of the child.
Mental states are opaque and being curious about them is a natural tendency for most people.
The stance of curiosity, as described by Cecchin (1989), implies the mentalization of relational issues. It aims to create continuously new perspectives of the family’s interactions, thereby widening and changing the field of vision.
This stance has much in common with the approach used by Lieutenant Colombo, as portrayed by the actor Peter Falk in the American TV series of the same name. ''Colombo style curiosity means investigating observed or reported interactions in a seemingly naïve if not ‘stupid’ and rather slow way''.
The Colombo-inspired therapist frequently mentalizes aloud, ''entering the arena of safe uncertainty, sharing his hunches and observations as he investigates''. He attempts to get clarification and elaboration (usually whilst scratching his head):
>//“This may sound stupid, but can I just check this? Do you mind if I look around? I think I may be on a wild goose chase, but do you mind if I….?//
>//...Oh, one thing I almost forgot…to you, does it sound like a reasonable explanation? I don’t you want to get offended what I am going to say, but is it possible that you may have got that wrong? There are a couple of loose ends I need to tie up….Whatever happened to ... It makes you kind of wonder …it could be that... or could it be something else?"//
>//"I know this sounds ridiculous….there is one other thing…"//
>//"It occurs to me that… There is something I wanted to talk to you about..."//
Name: MptwBlue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #882200
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Conversely, there are also <<tag [[Components of Successful Mentalizing]]>>.
There are several ways in which mentalization may be impeded, which in turn generate, maintain, reinforce or exacerbate emotional, behavioural and/or interpersonal difficulties. These are tagged at the bottom of this section.
More generally we can distinguish Generalised and Partial Mentalizing difficulties:
!Generalised difficulties:
There may be generalized or trait deficits in mentalizing ability in one member of the family, for example in a child presenting with oppositional behaviour.
!!!!Oppositional behaviour
Typically represents a non-mentalistic, physical effort by the child to control his feelings and generate a response in others.
!!!!Angry or violent outbursts
These have the effect of forcing caregivers to experience what the child experiences thus offering the child a sense that their feelings can have an impact. However, in the medium term, this immediate impact fails to secure effective support reciprocity, control or self-coherence. Instead the child’s non-mentalistic, coercive behaviour evokes non-mentalistic efforts of behavioural control from the caretakers, with resulting self-reinforcing and self-perpetuating cycles of non-mentalizing, coercive interactions.
!Partial Mentalization
!!!Intermittent Mentalization:
The capacity of family members to mentalize may break down intermittently __when dealing with //particular// thoughts and feelings.__
For example, parents who suffered physical abuse may ‘lose’ the capacity to mentalize when faced with a reminder of their own states of helplessness, anger or shame. Their child’s distress may be such a reminder.
Intermittent mentalization of the child may arise because each parent reflects only one side of the child’s experience. Each parent may well accurately perceive different aspects of the child’s mental state, but fail to integrate these between them. In other instances the alternative view of the child’s mental state is not fully expressed and a partial understanding of the child and her state(s) of mind predominates.
!!!Episodic Mentalizing
An individual family member’s, or indeed the entire family’s, mentalizing capacity may become impaired in an episodic, state-dependent fashion. For example, a child who is depressed may experience her thoughts and feelings about herself as entirely real, and ‘lose’ the perspective that would allow her to think differently about herself or others or to realize that her feelings might change. A feeling of hopelessness is thus taken to be an objective reality by the child as soon as it is experienced and it cannot be treated as ‘just a thought’, which could be challenged. The parents of the depressed child or adolescent, may then resonate with their child’s vulnerability (e.g. they all may feel that having few friends is a hopeless situation) or because the child’s behaviour may be experienced by them as an expression of their own failure or incompetence.
!!!Context-specific Mentalizing
Problems in mentalizing may also be context specific. For example, a parent may keep a great deal of distance from some areas of his or her adolescent child’s life, for example sexuality. As a result they are unable to mentalize that aspect of his or her child’s life. Context-specific loss of mentalization is usually associated with stress. When exposed to huge pressure, most people can lose their capacity to think about thoughts and feelings in others. For example, quite dramatic temporary failures of mentalization can arise in individuals and families during emotionally intense interchanges or in relation to particular thoughts and feelings. Under such circumstances grossly inaccurate and malevolent feelings can be attributed to the other person and feelings of resentment and mistrust grow. The representation of the mind of the other is ‘obliterated’ and replaced by an empty or hostile image, for example when a parent becomes convinced that their child is deliberately provoking him or her. At times, seemingly ordinary stresses can trigger catastrophic anti-mentalizing reactions. There can be other reasons for ignoring of the child’s state of mind, with the parent being variable in attention and interest: the parent is able to be responsive and attuned to the child at some times but not others. For example, the father may be preoccupied at certain times with work crises, the mother may be driven by jealousy and suspicion about her partner’s other relationships at certain times, and neither has space for the child’s feelings then. However, the child has had some experiences of being understood and is now confused and may feel displaced by the loss of interest. If this sense of displacement is not recognized, the problem is compounded. A similar context-specific lack of understanding may occur when a parent does not actually know the child in particular contexts, or cannot understand what is going on for him/her, for circumstantial reasons or because the child obscures his/her own mental states. Common examples would be that of a step-parent, or parent who has been separated for a long time, and may have too little information to understand what the child is concerned with.
!Specific Difficulties are tagged below:
Conversely, there are also [[Components of Impaired Mentalizing]]
Successful mentalizing can be recognized in individuals and in their interactions by a range of characteristics. These are known as mentalizing strengths and it is possible to distinguish four different categories, tagged below:
These are just one category of the [[Components of Impaired Mentalizing]]
These can manifest themselves in a general lack of attention to the thoughts, feelings and wishes others, or interpreting one’s own behaviour in terms of the influence of situational or physical constraints rather than feelings and thoughts in oneself or in others around one. This often happens when family conversations invariably focus on concrete concerns, such as who did what and explanations of behaviour in terms of physical circumstances and influences (e.g. we always argue when we travel long distances in the car).
The typical features of concrete understanding or simplistic mentalization are:
!!Difficulty in emotion recognition
Not understanding positive or negative emotions
!!Confusing a feeling with a thought
E.g. because I feel sad, the world is a miserable place (aim to be able to see that you can feel sad without drawing conclusions from it). This confusion may be because feelings are leading to automatic thoughts outside awareness, or because the child notices how he feels and decides that this is what it must mean
!!Understanding behaviour in ‘concrete’ terms
E.g. in terms of external circumstances or other behaviours rather than in terms of internal states; e had a fight because it was hot rather than being able to recognize that one was irritable and had difficulty in hearing the other person.
!!Difficulty in observing one’s own thoughts and feelings
...and in identifying changes in them
!!Not recognizing the impact of one’s thoughts, feelings and actions on others
Manifested as insensitivityy to each other's emotional needs.
!!Not being able to see how one thing has led to another
E.g. a thought led to a feeling which led to an action, and a reaction from someone else
!!Over-generalizing from mental states
E.g. feeling that because one upsetting thing happened, everything has gone wrong
!!Not being able to be flexible
E.g. difficulty in playing with different ways of thinking about situations
!!Feeling that somebody else’s thoughts are dangerous
E.g. that if someone disagrees that means that your own point of view is obliterated or that they hate you etc
!!Struggling to relate thoughts to reality
E.g. The individual in this condition tends to end up going round in unproductive circles and only becomes more anxious
!!Acting without thinking, or avoidance of thinking.
In this category a parent-child relationship may be described as simplistic or concrete if the parent reacts to behaviour without being aware of the child’s feelings or wishes, which are motivating the behaviour. There is an absence of mentalizing of the child. The parent may thus be angry, over-reactive, blaming, and prescriptive. The child’s mental states are obscured and treated as unimportant. This may also happen when there is an identified problem, e.g. ADHD or a physical condition, and either the condition is ignored or every behaviour is explained on the bases of it. The child may be treated as an object, a machine, an extension of the parent’s identity, without curiosity about or recognition of him/her as an individual. Another way this kind of situation can arise is when there is a passive resignation or withdrawal of awareness from the child and non-thinking over a period of time on the part of the parent. Thus as in the previous case, his/her approach has become unthinking, concrete and behavioural. The parent may be depressed or overwhelmed and too tired to focus on the child unless situations have escalated when the parent falls back on a stock response, without trying to understand the specifics. The child recognises that only amplified behaviour will get through the parent’s preoccupation or distraction, so that the situation begins already in an exaggerated and distorted way.
This is a tag that gathers together any thoughts concerning the broad issue of confidentiality.
Although not every session will be videoed, the use of video as a training aid within a team, as a means of measuring fidelity to the treatment model, and potentially as a teaching aid for wider use, is acknowledged by MBFT. Some teams will find it easier to promote the use of regular recording of all sessions, as this normalises the experience.
You can access a model [[Video consent form]] here.
If someone says that another family members is not telling the truth, then s/he should be asked what her own point of view is...
>//“so it looks as if you see it differently, how do you see it?”//
...instead of accepting that one person can state someone else’s point of view, thereby emphasising that people might only be able to represent their own views.
[[This manual has been replaced!]]
<html><table style="width:auto;"><tr><td><img src="http://lh4.ggpht.com/_gdhyTZpT12g/TJ0Urk1sMGI/AAAAAAAAC9g/ZZygZvKtU8E/s144/logo_green.jpg" /></a></td></tr><tr><td style="font-family:arial,sans-serif; font-size:11px; text-align:right"></html>
!Restricted use:
The material in this TiddlyManual is Copyrighted to the [[Authors]], and and its use is restricted accorded to the terms of its [[Licensed]] status.
''@@color(red):TRAINING is required before the material in this manual can be used safely@@'' and at all times practitioners remain responsible for their own clinical practice. Training is available from the [[Anna Freud Centre|http://www.annafreudcentre.org]]
!AFC MBFT team
Specific local adaptations are currently tagged with <<tag AFC>>, pending the move of the whole manual to the new TiddlyWeb configuration, which will greatly increase the functionality of the site. Other teams/users wishing to develop their own locally-attuned team version of the manual in TiddlyWeb, should contact dickon[dot]bevington[at]gmail[dot]com.
!We need feedback!
See [[Feedback please!]]
!Recent Changes to the manual
The Manual is still in development, use this box to check on recent changes.
<<recentChanges 28>>
This technique can be used before things get too heated and when there is still some evidence of successful mentalization. Therapist:
>//“I am totally lost about where everyone was coming from….”//
>//“I can see that everyone here has strong feelings and this is important. But it also looks as if it all is getting a bit mixed up and that it is difficult to know what belongs to whom, and whether people can understand the feelings of others or even their own. I suggest that we try to break it down a bit... so... what is it that you, dad, are feeling right now…. Johnny, did you know that’s what you dad was feeling?”//
In addition, particularly when feelings are begining to run high - especially when anger is present - there may be //other// feeling states (sadness, helplessness, despair, fear) that are less easily articulated and more easily overlooked.
During family discussions of a problem-relevant situation, the therapist actively elicits a feeling state or, if one is mentioned //but not dwelt on//, the therapist highlights the importance of this feeling. The therapist actively encourages family members to label their feelings and, when they have done so, to reflect on what that must be like for each other. For example, the therapist might say;
>//“You say you were feeling angry, were there any other feelings you had at that time?”//
Often, simple probes like this will elicit a richer, and less hostile or hurtful, picture of someone’s thinking.
Ultimately, the therapist aims to learn from the person in question //what would need to happen to allow them to not feel this way// and, more specifically, //how this person would need other members of the family to think about them such that they would help them feel differently.//
{{downloadButton{
|<<download>>|
[[Advanced options >>|Advanced download options]]
This is one of the options you have on the individual [[Tiddler]] menu (the one that appears when your mouse-pointer hovers over that particular [[Tiddler]].)
The edit option in the menu allows you to do just that to the specific [[Tiddler]] you have selected. //Online// editing of the manual is limited by password, but you can edit downloaded versions that are stored locally. In this way you can make your own "scribbles in the margin" - perhaps adding local protocols, etc.
!Note re. Licensing
The [[Licensed]] terms of release of this manual include the fact that, amongst other limitations on use, you are not authorised to distribute //derivative// versions of this manual without written permission from the authors/copyright holders.
!To edit:
If editing, you need to
*enter your username (which can be whatever you choose it to be) for signing any edits you may choose make to the text. Enter your name right here: <<option txtUserName>> or you can go to the "[[Options]]" button on the menu in the right hand margin (the "[[Sidebar]]".)
*Click on [[Edit]] in the Tiddler menu; this opens the Tiddler up in its 'editing mode'; as three boxes with a heading above them.
**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'' 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; for instance, in the text if you type a word which starts with a capital letter and has another one in the middle this is instantly and automatically recognised as a 'WikiWord'. Alternatively, you can make a link to another Tiddler by placing double square brackets [ [ @@@@] ] around the word or phrase.
**The ''//bottom box//'' is narrow (like the top one) and you can add [[Tags]] to this Tiddler by typing as many ''tag words'' in as you want, separated by spaces. You can either create a whole new Tag and add it to a list of Tiddlers that 'fit together' around a theme (for instance a group of Tiddlers that are all relevant to particular patient), or you can click the word "tags" which is written in small text right underneath the editing box - this opens a drop- down pick-list of all the existing tags; click on one of these tags and it will automatically be added to the bottom tag box in the specific Tiddler you are editing.
!When you have finished editing
*Click 'done' on the Tiddler menu to return to the normal view.
*In order to //Save// these changes you need to look for the "[[save changes]]" option in the menu that is permanently available down the right hand hand margin of the page.
!Editing the online version
Only authors with access to the password can make online edits.
!Inline Formatting
|!Option|!Syntax|!Output|
|bold font|{{{''bold''}}}|''bold''|
|italic type|{{{//italic//}}}|//italic//|
|underlined text|{{{__underlined__}}}|__underlined__|
|strikethrough text|{{{--strikethrough--}}}|--strikethrough--|
|superscript text|{{{^^super^^script}}}|^^super^^script|
|subscript text|{{{~~sub~~script}}}|~~sub~~script|
|highlighted text|{{{@@highlighted@@}}}|@@highlighted@@|
|preformatted text|<html><code>{{{preformatted}}}</code></html>|{{{preformatted}}}|
!Block Elements
!!Headings
{{{
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
}}}
<<<
!Heading 1
!!Heading 2
!!!Heading 3
!!!!Heading 4
!!!!!Heading 5
<<<
!!Lists
{{{
* 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
}}}
<<<
* 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
<<<
!!Blockquotes
{{{
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3
<<<
blockquote
<<<
}}}
<<<
> blockquote, level 1
>> blockquote, level 2
>>> blockquote, level 3
> blockquote
<<<
!!Preformatted Text
<html><pre>
{{{
preformatted (e.g. code)
}}}
</pre></html>
<<<
{{{
preformatted (e.g. code)
}}}
<<<
!!Tables
{{{
|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.
<<<
|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
<<<
!!Images /% TODO %/
cf. [[TiddlyWiki.com|http://www.tiddlywiki.com/#EmbeddedImages]]
!Hyperlinks
* [[WikiWords|WikiWord]] are automatically transformed to hyperlinks to the respective tiddler
** the automatic transformation can be suppressed by preceding the respective WikiWord with a tilde ({{{~}}}): {{{~WikiWord}}}
* [[PrettyLinks]] are enclosed in square brackets and contain the desired tiddler name: {{{[[tiddler name]]}}}
** optionally, a custom title or description can be added, separated by a pipe character ({{{|}}}): {{{[[title|target]]}}}<br>'''N.B.:''' In this case, the target can also be any website (i.e. URL).
!Custom Styling
* {{{@@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>}}}
!Special Markers
* {{{<br>}}} forces a manual line break
* {{{----}}} creates a horizontal ruler
* [[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.
* To prevent wiki markup from taking effect for a particular section, that section can be enclosed in three double quotes: e.g. {{{"""WikiWord"""}}}.
Getting two or more people to ‘enact the problem’ (Minuchin 1974) is often a good way of observing family interaction and gives glimpses of the problematic behaviours.
Such enactments are set up deliberately: the clinician asks for the ‘trouble’ to be demonstrated in vivo! Here are some ways of setting up enactments:
>1. //"Let me see what it is that you have to do or say for Mary to have the sort of temper tantrum that you find so difficult to cope with. What would you have to do or say now..."//
>2. //"Perhaps you and your husband could think now about an issue that you feel you might have an argument about...maybe money, the children, mother-in-law...what would you have to say to get him or her going?"//
or a child can be asked:
>3. //“what do your mum and dad mostly argue about? Can you suggest their favourite topic to them?”//
It is surprising how well people know which ‘button’ to press to make happen what they so often claim they have "no control whatsoever" over. ''Knowing how to make things happen is the first step to considering what not to do so that these things do not happen!''
When such an enactment happens it can become quite heated and the clinician may intensify things further by saying:
>//"Your little girl seems to be winning. Do you want her to win again? Do you want her to beat you all the time? So if you don't, why don't you see if you can be the boss in family, that she cannot get away with blackmailing you. If you wnat to try that, I"ll sit back and let you get on with it"//
This approach gets the family to enact problematic issues in the room. Based on these live observations the therapist is able to describe how parents, for example, may be giving incongruent and inconsistent messages to their child.
Explicit Mentalization refers to thinking reflectively about the actions of others and ourselves.
This occurs typically when something goes awry on the implicit level that challenges our usual interpretation of action. Whilst [[Implicit mentalization]] is //non-conscious, unreflective and procedural//, ''explicit mentalizing'' is relatively //conscious, reflective and deliberate//.
!In therapy:
The therapist of any orientation engages in the act of explicating states of mind and their meaning with most client groups. Such explicit mentalizing brings the advantages of reflective consciousness in encouraging self monitoring, adapting to novelty and engaging in flexible problem solving.
The medium is language, which enables us to represent and adopt multiple mental perspectives on the same reality. ''Developing a language of minds'' enables us to be systematic about mental states and to organise these into coherent narratives, creating stories of what happened to us and how. This is the organizational work which psychotherapy at its best can excel at.
The content of explicit mentalization may vary according to the theoretical focus of the therapist, from unconscious defences and transference reactions Psychodynamic to automatic negative thoughts Cognitive Behavioural to recurrent relationship patterns (SystemicTherapy). Therapeutic explication serves as a highlighter drawing joint attention to one facet or another of the implicit process. Over time the patient is drawn into this process as an active collaborator in the explication. Conversing about an adolescent in crisis and the family's reaction to it forces the participants to integrate implicit and explicit mentalization and use language to draw attention to a range of perspectives that can exist in relation to individual action.
The creation of a coherent narrative, a systematic way of understanding the family's circumstances and the young person's predicament, deriving a causal, mentalistic account of how such a situation might have arisen, regenerates a sense of 'autobiographical agency'.
/***
|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:'New tiddler' tag:'"+tag+"'>>",createTiddlyElement(popup,"li"));
return false;
}
//}}}
Like most wikis, ~TiddlyWiki supports a range of simplified character formatting. You can find a list on the [[TiddlyWiki.org website|http://tiddlywiki.org/wiki/TiddlyWiki_Markup]].
To see all the tiddlers on this website that concern formatting, click on the 'formatting' link in the box that appears to the right of this tiddler.
TiddlyManuals and this tiddlymanuals "signposting site" are constantly being changed and developed. They are built to be constantly improved, and ''improvements rely on feedback!''
!Types of feedback:
#Glitches - links that don't work, text that doesn't make sense, stuff that annoys you rather than helps you.
#Omissions - stuff you think should be there, that is not there.
#Improvements - found a bit of text, etc, that you can write better? Send it in!
#Praise - if you must...
!Feedback form:
<html><div align="center"><iframe src="http://www.surveymonkey.com/s/VQMVYJR" frameborder="0" width="100%" height="600"></iframe></div></html>
!Discussion group
<html>
<img src="http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif"
height=30 width=140 alt="Google Groups"></html>
There is a 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 invitation 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 AFC tiddlymanuals, mbtf and ambit projects do not have the resources to run a technical helpline for web-based problems, although we will try to be helpful wherever we can. If you get stuck with a technical problem you can generally find solutions inside the relevant manuals. There is technical help available from the open source community of programmers.
!Technical Tiddlywiki help:
You can go to the [[TiddlyWiki website|http://www.tiddlywiki.com]] which has lots of links to sources of help; as an open source project, 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! Try going to this group - tell them briefly what you are stuck with, and give them the website URL (the address in your browser bar). If you can tell them what browser you are using (Internet Explorer, Forefox, Safari, etc) and whether you are on a Mac or a PC and what operating system (eg windows XP, or Windows 7, etc) that is all extra helpful.
!Application:
The child (or parent) who has difficulty in maintaining awareness of how different people's thoughts and feelings may be from one's own.
!Action:
<html><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/arQ16HDvCnQ?fs=1&hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/arQ16HDvCnQ?fs=1&hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></html>
The therapist explains to the child that you can work out why people feel different things by trying to understand what they were thinking. Sometimes, different people think and feel very different things even in the same situation. In fact, the therapist can exclaim that sometimes the same person can think and feel different things at different times even when the situation seems the same! The purpose of the activity is to work out what someone might have been thinking from what they seemed to be feeling. For this game one requires a spinner and a board on which different emotions are drawn.
- The therapist says, for example
>//“Let’s pretend you’ve just met your mom after school; let’s see what she was feeling”//
- The child then spins the spinner until the pointer stops at an emotion.
- The therapist then asks the child:
>//“So, what does the spinner say she was feeling?”//
- Once the child has replied... the therapist asks:
>//“If she felt like that, I wonder what she might have been thinking.”//
- The child then writes their answer down (or the therapist writes down the child’s answer) on a piece of paper cut out like a thought bubble.
- For each thought the child comes up with, the child and therapist ask the parent whether they sometimes think that, and whether doing so makes them feel that emotion. The child is encouraged to think of as many thoughts that would fit as he/she can.
!Note:
The purpose of the activity is to make the child more aware of how different other people’s thoughts and feelings can be from their own. This activity, once played with the child on his / her own, can be repeated with the whole family present. This provides the opportunity to check feelings and thoughts out with the other family member and correct these, if necessary.
!!Defintion:
Fillers are the "preferred non-mentalizing narratives" that tend to prevail in any family when misunderstandings arise.
>//E.g. who did what, when, what someone should or shouldn’t do, whose fault it is.//
!!Response to Fillers:
The therapist uses [[MBFT-Techniques]] to slow down interactions and focus the spotlight on ''how feelings were experienced, communicated (or mis-communicated) and reacted to, and how cycles of non-mentalizing interactions are thus perpetuated''.
Ask each partner to take 5 minutes privately (in the session) to write down on a piece of paper an answer to the question:
!Things about me I would like you to be curious about...
Ask them to guess what each other has written? (if it feels safe to do so?)
In this category of the <<tag [[Components of Successful Mentalizing]]>> we describe some general values and attitudes which are characteristic of a person with good mentalization:
!!Tentativeness
This refers to the lack of absolute certainty about what is right or wrong and it also implies a preference of for viewing things as being relative and complex.
!!Humility (moderation)
This refers to having a balanced attitude to most statements about mental states, based on the acceptance of not being in a privileged position to know the contents of another person's mind.
!!Playfulness and humour
These permit interacting and reflecting in a relaxed and creative manner.
!!Flexibility
This is an attitude which allows individuals not to get ‘stuck’ in one point of view or position, but permits to change their minds in response to feedback, considering alternatives.
!!‘Give and take’
This enables individuals to solve problems, by involving others and appreciating turn-taking, implying an overall appreciation of one’s own as well as the other person’s thoughts and views. Turn-taking manifests itself of allowing space for each person to describe their experience ( “Let me tell you what I think or feel when such and such happens”) rather than defining other people’s experience or intentions.
!!‘Responsibility and accountability’
This is an attitude which takes ownership for one’s own thoughts, feelings and actions, rather than conveying a sense that these ‘happen’ to the person, implying a victim stance rather than a sense of agency.
!Moving towards the consideration and planning of change
This third step represents an attempt to move away from discussing a //specific interaction// that occurred during the session and to //'widen the lens’// towards:
#GENERALISING: Capturing more generalised understandings relating to this specific observation.
#INVITING VISION: Generating possible applications of these understandings, by "inviting vision" of alternative strategies.
#PLANNING: Planning the implementation of these changes.
<html><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/qFV9GUWpz3I?fs=1&hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qFV9GUWpz3I?fs=1&hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></html>
!N.B. It may take a few "loops" to reach the point of considering and planning for CHANGE
!!1. GENERALISING
Family members are encouraged to come up with some more general observations and reflections on:
#How similar interactional patterns tend to evolve spontaneously at home.
#What feeling states these elicit.
“So we saw that mum feels sad and Johnny feels bad about having triggered this sadness….. maybe this is the only time it ever happened, but maybe it is not…. Can you talk together about whether you recognize this as something that happens at home…or elsewhere”
The effect of this intervention is that what was observed in the ‘here and now’ of the session is ‘looped out’ into life outside the session, in an attempt to identify recurring patterns which are experienced as being ‘dysfunctional’ by family members.
!!!!Relating to overarching treatment goals
A major aim of MBFT is to engage in family discussions of problem-relevant situations, to elicit and highlight emerging feeling states and their importance, and to foster within the family experiences of (and confidence in) practicing the kind of "curious interogative stance" that this kind of activity involves.
The therapist may ask people to tentatively speculate about and label hidden feeling states of one of its family member, or may indeed do this at times him or herself. The therapist actively encourages family members to label their own feelings, to reflect on what that must be like for them. Metaphors or wordings like the following can help:
“you may want to find out how feeling leads to doing”
“how a few snowflakes can launch an avalanche”
“how a little feeling can get out of control”
!!2. INVITING VISION
The therapist requests each family member to identify different ways of overcoming stuck interactions and to think about alternative ways dealing with recurring problematic interactions:
//“Given that you think this is not working, how would you like things to be….. what would x need to do differently for you to feel y? What might you need to say or do for your mother not to have these sad feelings – or at least less of them”//
In an attempt to elicit solutions from within the family, each person is encouraged to talk about their specific alternative ‘vision’. Once this is achieved, the therapist may ask family members to discuss each other’s ideas:
//“Can you talk together about this….about how for example dad’s idea would help mum to feel less sad….”//
__''Note:''__
At each step it is possible that entrenched interaction patterns re-emerge.
For example, two or three people may talk at the same time. The therapist can loop back to step 1 [[Noticing and Naming]] and make an observational statement, asking family members whether they have //also// noticed //''this''// particular interaction, etc. etc...
!!3. PLANNING FOR ACTION
This phase is designed to ask family members to consider ''specific'' and ''concrete'' actions that they could apply in the light of their understandings.
This may require them, in the first instance, to negotiate which particular ‘vision’ should be translated into action.
//"So we have three ideas... which are you going to opt for...? Please discuss this..."//
...followed by:
//“you say you’d like things to be this way…what would be the first step you would need to take for you to be on the way to that goal…? Maybe you want to do it right here and now…”//
!!!It is important that the first action step is both specific and do-able.
It has to be a relatively a small step – definitely not a leap.
People have a tendency to ask for major changes in a minimum of time and, as this is generally highly unrealistic, the therapist’s task is to slow down individuals jumping into action (the technique of ‘pro and con’ is handy here).
It may be helpful to say:
//“What is it that is stopping you…what would you have to say or do to convince them that you mean business…. So, what is the first step you can make now to convince them…?”//
or:
//“You say you want to talk about all these things you never talked about and how this makes you feel now…and you have all agreed that you might take the risk… how about doing this now? Talk to each other in such a way that allows you not to shut down, but to open up about your feelings”.//
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>>
[>img[tiddlywiki.org logo|http://trac.tiddlywiki.org/chrome/site/tworg_logo_med.jpg][http://www.tiddlywiki.org]]~TiddlyWiki today is the result of the efforts of dozens of people around the world generously contributing their time and skill, and offering considerable help and support.
If you'd like help getting your ~TiddlyWiki project off the ground, perhaps the best place to start is the community wiki at http://www.tiddlywiki.org. It contains detailed project documentation, as well as the master copy of the ~TiddlyWiki source code, and a system for tracking bugs and enhancement requests. The community welcomes [[contributions|Contribute]].
!Discussion forums
Also, there are two Google Group discussion forums for discussions about ~TiddlyWiki, whether basic entry level questions or more complex challenges! They are the best places to ask questions about ~TiddlyWiki, and to connect with other enthusiasts:
* A ~TiddlyWiki group for general discussion, bug reports and announcements at http://groups.google.com/group/TiddlyWiki
* A ~TiddlyWikiDev group for discussion about ~TiddlyWiki development at http://groups.google.com/group/TiddlyWikiDev
!~Non-English resources
There are a number of resources for non-English language speakers:
* ~TiddlyWikiFR, in French, at http://groups.google.com/group/TiddlyWikiFR
* ~TiddlyWiki 華語支援論壇, in Chinese, at http://groups.google.com/group/TiddlyWiki-zh
* ~TiddlyWikiPT, in Brazilian Portuguese, at http://groups.google.com.br/group/tiddlywikipt
* A guide to [[TiddlyWiki in Japanese|http://www.geocities.jp/potto372/tiddlywiki/tiddlywikinote.html]]
!Tutorials and guides
The ~TiddlyWiki community have created several tutorials and guides. Here are some of the most popular ones:
* Dave Gifford's [[TiddlyWiki for the Rest of Us|http://www.giffmex.org/twfortherestofus.html]] and his [[slideshow introduction|http://www.giffmex.org/blog/?p=23]]
* Morris Gray's [[TW Help - TiddlyWiki help file for beginners|http://tiddlyspot.com/twhelp/]]
* Dmitri Popov's [[TiddlyWiki quick reference card|http://nothickmanuals.info/doku.php/cheatsheets]]
* Julie Starr's [[Tiddler Toddler|http://tiddlertoddler.tiddlyspot.com/]], documenting the learning curve from a beginner's perspective
* Screencasts from [[JimVentola|http://faculty.massasoit.mass.edu/jventola/videocasts/tidhelp2/tidhelp2.html]], [[LeonKilat|http://max.limpag.com/2006/09/07/using-a-tiddlywiki-a-video-guide/]] and [[Phil Whitehouse|http://www.youtube.com/watch?v=ezNScBd7_h4]]
!Developers
Michael Mahemoff has written a very helpful outline of the architecture of ~TiddlyWiki: [[Part 1|http://softwareas.com/tiddlywiki-internals-1-of-3-architectural-concepts]], [[Part 2|http://softwareas.com/tiddlywiki-internals-2-of-3-list-of-javascript-files]] and [[Part 3|http://softwareas.com/tiddlywiki-internals-3-of-3-key-javascript-classes-and-files]]
Many ~TiddlyWiki hackers hang out on the ~TiddlyWiki IRC room at irc://irc.freenode.net/TiddlyWiki
!Publications and articles
~TiddlyWiki has also appeared in a number of publications and articles:
* Pao-hsu Shih, a professor at Taipai University in Taiwan, has written an [[Introduction to TiddlyWiki|http://www.wunan.com.tw/bookdetail.asp?no=8852]] in Chinese
* Dmitri Popov discusses ~TiddlyWiki in [[Writer for Writers and Advanced Users|http://www.lulu.com/content/221513]]
* Jeremy Wagstaff's [[The Power of Tiddly|http://www.loosewireblog.com/2007/11/the-power-of-ti.html]]
!Licence
~TiddlyWiki is published under a BSD licence, and is owned by the not-for-profit [[UnaMesa Foundation|http://www.unamesa.org/]].
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{
window.hideWhenLastTest = false;
window.removeElementWhen = function(test,place) {
window.hideWhenLastTest = test;
if (test) {
removeChildren(place);
place.parentNode.removeChild(place);
}
};
merge(config.macros,{
hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( eval(paramString), place);
}},
showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !eval(paramString), place);
}},
hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAny(params), place);
}},
showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAny(params), place);
}},
hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
}},
showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
}},
hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title == params[0], place);
}},
showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title != params[0], place);
}},
'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !window.hideWhenLastTest, place);
}}
});
//}}}
Well done! You now see how quickly and easily a new chunk of MicroContent (known to ordinary humans as a [[Thought]]) appears, and how easy it is to get rid of it once you have read it. As you pass your computer cursor over this Thought, its own one of a set of different [[Menus]] appears on the right hand side, just above it. Click on "[[Close]]" and this Thought will disappear.
!Scale
0 = no problem
1 = minor problem requiring no action
2 = mild problem but definitely present
3 = moderately severe problem
4 = severe to very severe problem
!Areas to score
1. Problems with disruptive, antisocial or aggressive behaviour
Include physical or verbal aggression, antisocial behaviours such as lying, cheating, thieving etc.
2. Problems with overactivity, attention or concentration
Include restlessness, fidgeting, inattention, problems with concentration due to any cause including depression, drugs.
3. Non-accidental self-injury
Include self-cutting, suicide attempts etc.
4. Problems with alcohol, substance/solvent misuse
Take into account current age and societal norms. Don’t include aggressive/disruptive behaviour due to alcohol or drug use – rate at item 1
5. Problems with scholastic or language skills
Include problems in reading, spelling, speech or language, including those due to specific disorders or problems.
6. Physical illness or disability problems
Include problems that limit or prevent movement, impair sight or hearing, side effects from medication/drug/alcohol use.
7. Problems associated with hallucinations, delusions or abnormal perceptions
Include odd and bizarre behaviour associated with hallucinations and delusions., suspicious/paranoid thoughts.
8. Problems with non organic somatic symptoms
Include problems with gastrointestinal symptoms, sleep problems, chronic fatigue.
9. Problems with emotional and related symptoms
Include depression, anxiety, worries, fears, phobias, obsessions, compulsions etc.
10. Problems with peer relationships
Include problems forming satisfying peer relationships, withdrawal from social relationships, social rejection as result of bullying/aggressive behaviour.
11. Problems with self care and independence
Rate problems with basic self-care such as dressing, washing, feeding, include poor levels of functioning due to lack of motivation etc.
12. Problems with family life and relationships
Include parent-child & sibling relationship problems, emotional abuse, poor communication, criticism, enmeshment, overprotection etc.,
13. Poor school attendance
Include truancy, school withdrawal
This is the 'first order' of mentalizing, in what could be seen as a hierachy, each higher order relying on the presence of lower orders before it can be sustained:
#[[Implicit Mentalization]]
#[[Explicit Mentalization]]
#[[Affective Mentalization]]
By implicit mentalization we mean intuitive and unreflective interactions between people, which nevertheless imply (for their efficient and effective pursuit) considering the mental state of the other, or that of the self in relation to the other.
In one sense all social interaction 'exercises' implicit mentalization.
In //pathological// social environments, modes of interactions may be dramatically limited or distorted precisely in order to avoid the implicit mentalizing activity that such interactions might imply. (In some - particularly abusive - situations, the last thing a child may want to know about is the mental intentions and beliefs of the person who is behaving cruelly towards them, especially if that person is a family member whom they love, or are dependent upon.)
Therapeutically, mentalizing may be enhanced by changing modes of interaction between members of a family, or in the therapeutic space between therapist and client.
Most obviously, implicit mentalization is fostered ''by creating a safer, more secure family environment''. This is one where members of the family feel confident in exploring each others' thoughts and feelings, and cease to impose stereotyped prototypical ideas on others in creating mental models of their states of mind.
>//"You ALWAYS think..."//
>//"You NEVER want to..."//
From a therapist's point of view then, if we are to sustain and promote implicit mentalization, we need to work towards making and maintaining a calm, safe space, and dealing with any [[Affect storms]] quickly and effectively.
The therapist ''checks with each person exactly how they are affected by other people’s statements or actions'', as well as ''asking family members to empathise with what one or more person was feeling''... This can be done by asking to recall a time when s/he felt similarly:
//“When x happened – or b said this – what did this touch in you? Did this bring up any feelings and memories in you?”//
Note that there is no additional software required to run a TiddlyWiki, and it will not damage your computer! You can browse the [[Online MBFT-manual|http://mbft-manual.tiddlyspot.com/]] or download it onto your desktop. If you want to do that, you may need to apply a few "tweaks" to your browser to ensure that you can make edits and saves.
As a general rule, things run smoothest in the Firefox browser (that is a general rule, not just related to TiddlyWiki!), but TiddlyWiki will also run in other common browsers such as Internet Explorer.
The following installation guidelines have been created to cover the vast majority of browsers and operating systems.
If you are still having trouble installing ~TiddlyWiki after checking these guidelines, check the [[list of browsers|Browsers]] to make sure your browser and operating system are supported. And you can always [[turn to the community|Help and Support]] for help!
!Installation guidelines
[[Firefox on Mac OS X|Installation guidelines: Firefox on Mac OS X]]
[[Firefox on Windows Vista|Installation guidelines: Firefox on Windows Vista]]
[[Firefox on Windows XP|Installation guidelines: Firefox on Windows XP]]
[[Firefox on Ubuntu|Installation guidelines: Firefox on Ubuntu]]
[[Internet Explorer on Windows Vista|Installation guidelines: Internet Explorer on Windows Vista]]
[[Internet Explorer on Windows XP|Installation guidelines: Internet Explorer on Windows XP]]
[[Safari on Mac OS X|Installation guidelines: Safari on Mac OS X]]
[[Opera on Mac OS X|Installation guidelines: Opera on Mac OS X]]
Follow these easy steps to get started! Note that these guidelines are for Firefox v3.0.1 running on Mac OS X 10.5.4.
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download file
You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you keep the .html file extension and leave the "Save As: Hypertext" default option as it is.
[img[images/step1mac.jpg]]
!Step 2 - Download complete
Empty ~TiddlyWiki files are very small, and download should be completed quickly. You can now either launch the file from the download pane (shown below, double click on the file name to launch), or open your finder to open the file from there.
[img[images/step2mac.jpg]]
!Step 3 - Open file
You'll be asked if you're sure you want to open the file - click "Open".
[img[images/step3mac.jpg]]
!Step 4 - Grant authority
When you try to save your changes for the first time, Firefox may ask you to grant access to the file system. You will need to 'Allow' this for ~TiddlyWiki changes to be saved, and we recommend you tick the 'Remember this decision' checkbox so this dialogue box doesn't appear each time.
[img[images/step4mac.jpg]]
!Step 5 - You're ready to start!
You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
Follow these easy steps to get started! Note that these guidelines are for Firefox v3.0.1 running on Ubuntu version 8.0.4 (Hardy Heron).
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download file
You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you keep the file type as HTML Document.
[img[images/step1ubuntu.png]]
!Step 2 - Download complete
Empty ~TiddlyWiki files are very small, and download should be completed quickly. You can now either launch the file from the download pane (shown below, double click on the file name to launch), or open your finder to open the file from there.
[img[images/step2ubuntu.png]]
!Step 3 - Grant authority
When you try to save your changes for the first time, Firefox may ask you to grant access to the file system. You will need to 'Allow' this for ~TiddlyWiki changes to be saved, and we recommend you tick the 'Remember this decision' checkbox so this dialogue box doesn't appear each time.
[img[images/step3ubuntu.png]]
!Step 4 - You're ready to start!
You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
<<tiddler [[Installation guidelines: Firefox on Windows Vista]]>>
Follow these steps to get started! These guidelines are for Firefox 3.0.1 running on Microsoft Windows Vista 6.0.0. Hopefully they will be helpful for your setup too.
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download file
You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you leave the "Save as type: HTML Document" default option as it is. Then click 'Save'.
[img[images/step1vistaff.jpg]]
!Step 2 - Open file
Click on the file name in the Download dialogue box. This will open your ~TiddlyWiki file, and you'll be able to start editing immediately - but you'll need to complete Step 3 below to save your changes.
[img[images/step2vistaff.jpg]]
!Step 3 - Enable advanced features
When you try to save changes for the first time, this dialogue box will appear. These features will enable the saving mechanism. Tick the 'Remember this decision' checkbox and then click on 'Allow'.
[img[images/step3vistaff.jpg]]
!Step 4 - You're ready to start!
You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
Follow these steps to get started! These guidelines are for Firefox 3.0.1 running on Microsoft Windows XP, Service Pack 3. Hopefully they will be helpful for your setup too.
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download file
You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or My Documents folder. Make sure you leave the "Save as type: Firefox Document" default option as it is. Then click 'Save'.
[img[images/step1xpff.jpg]]
!Step 2 - Open file
Double click on the file name in the Download dialogue box, shown below. This will open your ~TiddlyWiki file, and you'll be able to start editing immediately - but you'll need to complete Step 3 below to save your changes.
[img[images/step2xpff.jpg]]
!Step 3 - Enable advanced features
When you try to save changes for the first time, this dialogue box will appear. These features will enable the saving mechanism. Tick the 'Remember this decision' checkbox and then click on 'Allow'.
[img[images/step3xpff.jpg]]
!Step 4 - You're ready to start!
You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
<<tiddler [[Installation guidelines: Internet Explorer on Windows Vista]]>>
Follow these steps to get started! These guidelines are for Internet Explorer 7.0 running on Microsoft Windows Vista 6.0.0. Hopefully they will be helpful for your setup too.
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download file
You'll need to choose a name and location for your empty ~TiddlyWiki file - we recommend either your Desktop or Documents folder. Make sure you leave the "Save as type: HTML Document" default option as it is. Then click 'Save'.
!Step 2 - Open folder
Once the download has been completed, ''don't open the file yet'' - a minor modification is required before ~TiddlyWiki will work! Click on 'Open Folder'.
!Step 3 - Modify properties
In the folder, right click on the file name and select 'Properties' from the bottom of the contextual menu.
!Step 4 - Unblock file
In order to allow saving, you need to Unblock the file. Select 'Unblock' near the bottom of the dialogue box, then click on 'OK'. If the Unblock button doesn't appear, then you don't need to worry about it - click on OK and proceed to step 5.
!Step 5 - Open file
Double click on the file name to open the file. Internet Explorer takes special care to block javascript from untrusted sources, so a screen will appear with a yellow bar at the top and a warning in red. Click on the yellow bar (this will make it turn blue, as shown below), and select 'Allow Blocked Content...'.
!Step 6 - Allow active content
~TiddlyWiki contains 'active content' that, for example, allows search and tagging to function. Approve this active content by clicking on 'Yes'.
!Step 7 - Enable saving mechanism
One final hurdle! When you save for the first time, you'll be prompted to allow the activity. Click on 'Yes'.
!Step 8 - You're ready to start!
You're now ready to start playing with your ~TiddlyWiki file - be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
Follow these steps to get started! These guidelines are for Internet Explorer 7.0 running on Microsoft Windows XP, Service Pack 3. Hopefully they will be helpful for your setup too.
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
In IE, choose Tools > Internet Options
Go to the Security tab and select "Local Intranet" Zone
Click Default Level (to clear the Custom Level settings)
Set the Security level to Low
Close all open browsers
You can now edit the wiki
Also Try:
If TiddlyWiki has been downloaded using Internet Explorer on Windows XP with Service Pack 2 and stored on an NTFS-formatted drive, any attempts to save changes will usually fail with the following error message:
It's not possible to save changes. Possible reasons include:
- your browser doesn't support saving (Firefox, Internet Explorer, Safari and Opera all work if properly configured)
- the pathname to your TiddlyWiki file contains illegal characters
- the TiddlyWiki HTML file has been moved or renamed
The solution is to right-click on the TiddlyWiki HTML file and choose Properties. If the file is blocked, there will be an Unblock button on the resulting property sheet, which will remove the protection and allow the file to be saved
Follow these easy steps to get started! Note that these guidelines are for Opera 9.5.1 running on Mac OS X 10.5.4, but will apply to several other configurations (including most other versions of [[Opera]])
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Download files
Download the zip file to a location of your choice.
[img[images/step1macopera.jpg]]
!Step 2 - Check files
Open the zip file, and then check in the resulting folder that you have automatically received two files:
*empty.html (this is your ~TiddlyWiki file)
*~TiddlySaver.jar (this is a java applet, which will make sure everything works in your chosen browser. Note a copy of this file ''must'' be kept in the same folder as any ~TiddlyWiki file you are using)
[img[images/step2macopera.jpg]]
You can download the TiddlySaver file on it's own from [[here|http://www.tiddlywiki.com/TiddlySaver.jar]] if you need it.
Open the empty.html file to get started.
!Step 3 - Trust applet
The ~TiddlySaver.jar applet has been signed by [[UnaMesa|http://www.unamesa.org]], who hold the rights to ~TiddlyWiki on behalf of the community. You can find out more about the applet itself [[here|TiddlySaver]], and you'll need to click on 'Trust' in order for the ~TiddlyWiki to work. If you've accidentally clicked on 'Don't Trust' previously, don't worry - just restart the browser and you should get asked again.
[img[images/step3macopera.jpg]]
!Step 4 - You're done!
Thanks to the applet, you now have the full functionality of ~TiddlyWiki at your disposal. Be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
Follow these easy steps to get started! Note that these guidelines are for Safari 3.1.2 running on Mac OS X 10.5.4, but will apply to several other configurations (other versions of [[Safari]] and [[Opera]] too)
''If these guidelines aren't appropriate, check the [[other browser-specific guidelines|Installation]] to find some that are right for you.''
!Step 1 - Check downloaded files
After [[Download]], check first that you have automatically received a zip file containing two files (the contents of the zip file may have been extracted automatically - if not, open the zip file):
*empty.html (this is your ~TiddlyWiki file)
*~TiddlySaver.jar (this is a java applet, which will make sure everything works in your chosen browser. Note a copy of this file ''must'' be kept in the same folder as any ~TiddlyWiki file you are using)
[img[images/step1macsafari.jpg]]
You can download the ~TiddlySaver.jar file on it's own from [[here|http://www.tiddlywiki.com/TiddlySaver.jar]] if you need it.
Double click the empty.html file to get started.
!Step 2 - Open file
The system will check you're happy to open the ~TiddlyWiki file. Click on 'Open'.
[img[images/step2macsafari.jpg]]
!Step 3 - Trust applet
The ~TiddlySaver.jar applet has been signed by [[UnaMesa|http://www.unamesa.org]], who hold the rights to ~TiddlyWiki on behalf of the community. You can find out more about the applet itself [[here|TiddlySaver]], and you'll need to click on 'Trust' in order for the ~TiddlyWiki to work. If you've accidentally clicked on 'Don't Trust' previously, don't worry - just restart the browser and you should get asked again.
[img[images/step3macsafari.jpg]]
!Step 4 - You're done!
Thanks to the applet, you now have the full functionality of ~TiddlyWiki at your disposal. Be sure to check out the guidelines in [[Getting Started|GettingStarted]]!
/***
|Name:|InstantTimestampPlugin|
|Description:|A handy way to insert timestamps in your tiddler content|
|Version:|1.0.10 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#InstantTimestampPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Usage
If you enter {ts} in your tiddler content (without the spaces) it will be replaced with a timestamp when you save the tiddler. Full list of formats:
* {ts} or {t} -> timestamp
* {ds} or {d} -> datestamp
* !ts or !t at start of line -> !!timestamp
* !ds or !d at start of line -> !!datestamp
(I added the extra ! since that's how I like it. Remove it from translations below if required)
!!Notes
* Change the timeFormat and dateFormat below to suit your preference.
* See also http://mptw2.tiddlyspot.com/#AutoCorrectPlugin
* You could invent other translations and add them to the translations array below.
***/
//{{{
config.InstantTimestamp = {
// adjust to suit
timeFormat: 'DD/0MM/YY 0hh:0mm',
dateFormat: 'DD/0MM/YY',
translations: [
[/^!ts?$/img, "'!!{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
[/^!ds?$/img, "'!!{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"],
// thanks Adapted Cat
[/\{ts?\}(?!\}\})/ig,"'{{ts{'+now.formatString(config.InstantTimestamp.timeFormat)+'}}}'"],
[/\{ds?\}(?!\}\})/ig,"'{{ds{'+now.formatString(config.InstantTimestamp.dateFormat)+'}}}'"]
],
excludeTags: [
"noAutoCorrect",
"noTimestamp",
"html",
"CSS",
"css",
"systemConfig",
"systemConfigDisabled",
"zsystemConfig",
"Plugins",
"Plugin",
"plugins",
"plugin",
"javascript",
"code",
"systemTheme",
"systemPalette"
],
excludeTiddlers: [
"StyleSheet",
"StyleSheetLayout",
"StyleSheetColors",
"StyleSheetPrint"
// more?
]
};
TiddlyWiki.prototype.saveTiddler_mptw_instanttimestamp = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
tags = tags ? tags : []; // just in case tags is null
tags = (typeof(tags) == "string") ? tags.readBracketedList() : tags;
var conf = config.InstantTimestamp;
if ( !tags.containsAny(conf.excludeTags) && !conf.excludeTiddlers.contains(newTitle) ) {
var now = new Date();
var trans = conf.translations;
for (var i=0;i<trans.length;i++) {
newBody = newBody.replace(trans[i][0], eval(trans[i][1]));
}
}
// TODO: use apply() instead of naming all args?
return this.saveTiddler_mptw_instanttimestamp(title,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created);
}
// you can override these in StyleSheet
setStylesheet(".ts,.ds { font-style:italic; }","instantTimestampStyles");
//}}}
These are schemata with which expectations of interactive attributes of early caregivers created in the first year of life are subsequently elaborated, and IWMs are event representations by which general and specific memories of attachment-related experiences are encoded and retrieved. These schemata generate autobiographical narratives which connect and integrate implicit and explicit memories of specific events in a coherent personal narrative. Through IWMs we derive a subjective sense of continuity as we undergo changes over time and as we engage in different roles, emotional states, and interactive patterns. Crucially, an integration of explicit and implicit autobiographical narrative affords us a spontaneous sense of responsibility for our actions - a sense of agency or ‘ownership’ of our intentionality and behaviour.
!!What is MBFT?
The term ‘mentalizing’ refers to the attitude and skills involved in understanding mental states, in oneself as well as in others, and their connections with feelings and behaviour. The therapeutic approach described in this manual is a brief intervention for children and families, aimed at promoting the understanding of mental states and their connections with feelings and behaviour.
!!Stand-alone treatment Vs. Add-on approach
MBFT can be used as a stand-alone intervention, or its ideas and techniques can be ‘added-on’ for those practitioners already practicing some form of systemic family / couple therapy approaches. //It is not a new therapy// and many of the techniques have their base in well known systemic practices. Whereas it could be said that all psychological therapies probably increase mentalizing indirectly, the one specific aspect of MBFT is that it makes the enhancement of mentalizing itself the focus of treatment. In fact, mentalization for those who have learned it ‘naturally’ – and one would assume that all psychotherapists have done so - is as natural as riding a bicycle for someone who once learned this when a child. Exposure to the disorienting effects of high affect is not unlike the effect of alcohol on a bicyclists abilty, either! Furthermore, if an experienced bicyclist tries to consciously think about and reproduce all the different actions and sequences required to ride the bike, then it can become suddenly a difficult task. The same is the case for clinicians who make a conscious and deliberate attempt to use mentalization based interventions and this is one of the major reasons for providing a treatment manual.
!!Main objectives of MBFT treatment:
MBFT has four objectives:
#To help families shift from coercive, non-mentalizing cycles of interaction to mentalization-based discussions and interactions, serving to build a basis of trust and attachment between children and parents.
#To promote parents’ sense of competence in helping their children develop the skill of mentalizing.
#To practice the skills of mentalizing, communication and problem solving in the specific areas in which mentalizing has been inhibited.
#To initiate activities and contexts within the family, with peers, in school, and in the community which reinforce mentalizing, communication skills and mutually supportive solutions to problems.
<html><div align="center"><iframe src="http://docs.google.com/present/view?id=d6h2gb4_80gmwx8gdk&revision=_latest&start=0&theme=blank&cwj=true" frameborder="0" width="100%" height="600"></iframe></div></html>
!!Benefits
The enhancement of mentalization contributes to the effectiveness of all psychosocial treatments. It has to be emphasised that good mentalizing is not only the capacity to accurately read one’s own or another’s inner states of mind and feeling, but also a way of approaching relationships that reflects an expectation that one’s own thinking and feeling may be enlightened, enriched and changed by learning about the mental states of other people.
Therefore it is a set of skills and also an attitude which is a biologically rooted predisposition to assume meaning and intentionality in all human behaviour. This attitude is characterised by an inquiring and respectful stance in relation to other people’s mental states; with an awareness of the limits of one’s knowledge of others; reflecting a view that understanding the feelings of others is important for maintaining healthy and mutually rewarding relationships. When we mentalize, we are naturally and spontaneously curious and respectful of the thoughts, feelings, goals, and beliefs that we are disposed to sense and recognize in ourselves and in other human beings. We approach people prepared to expect that our mind and the other person’s mind can change as a result of the interaction. Mentalizing involves an expectation that we will hear and take into account other people’s perspectives, needs and feelings and that they will respond in similar ways to our perspectives, needs and feelings. As a set of skills, mentalizing involves the acquired ‘hard-wired’ capacities of sensing, ‘reading’ and interpreting mental states. It also involves the capacity to convey to others our grasp of their mental state(s) and to communicate effectively to others our own mental state(s). Attachment-related mentalization allows us to spontaneously and intuitively make sense of our own actions and those of others by reference to mental states such as beliefs, desires and feelings. This is a powerful natural protective and healing process and is a crucial component of ‘natural resilience’ in relation to psychosocial stress and adversity, as well as neuropsychiatric vulnerability.
!!Characteristics of MBFT:
*MBFT addresses mentalizing processes within the family context and is not focused on specific symptoms.
*It is a distinct approach, it shares much and yet differs from ‘purist’ cognitive therapy, psychodynamic therapy, and systemic family therapy.
!!Integration of different models of practice:
*It could be argued that one of the strengths of the mentalizing focus is that it ''provides a framework'' that knits together:
**The understanding of one’s own thoughts and feelings that is so central to cognitive therapy
**The understanding of the thoughts and feelings of others that is so central to family therapy
**The appreciation of defensive processes and the reluctance to change that is central to psychodynamic therapy.
!!Promoting self-efficacy and effective parenting
*MBFT seeks to provide the family and its individual members with the tools that will enable them to initiate a self-healing process. These tools are acquired in a setting that maximizes the level of mutual understanding that members of a family have for themselves and each other and their feelings and related thoughts, and in particular, the empathic understanding that parents or other caretakers have for the child(ren).
*As the child’s understanding of his own psychological experiences continues to be derived from his parents’ understanding of him, //improving// that understanding will strengthen his own capacity to control and manage his feelings and to express them in a more effective way. For normal development the child needs to experience a mind that has his mind in mind and is able to reflect his feelings and intentions accurately, yet in a way, which does not overwhelm him - for example when acknowledging negative affective states. The child who has not experienced the caregiver’s integrative mirroring of his affective states cannot create representations of them, and may later struggle to differentiate reality from fantasy, and physical from psychic reality. __''MBFT aims to enhance ‘mind-mindedness’ all round.''__
!CRITERIA
!!Age
7yrs - 17yrs
!!Severity
Short intervention appropriate
(This is not to say that a Mentalization-based approach would be unhelpful in more chronic situations).
!!Difficulties
Primarily, this intervention addresses ''__Relationship difficulties in Families__'' - which may make understanding and managing various comorbid problems much harder.
!!Exclusion criteria:
Because of the broad remit and the fact that MBFT is a 'plastic' therapy that may be a treatment-in-itself, as much as an augmentation of other therapeutic modalities, there are few if any exclusions.
Pervasive developmental disorders, where problems relating directly to the //disorder// are the key problem, as opposed to the relationships around this, are unlikely to benefit.
/***
|Name:|LessBackupsPlugin|
|Description:|Intelligently limit the number of backup files you create|
|Version:|3.0.1 ($Rev: 2320 $)|
|Date:|$Date: 2007-06-18 22:37:46 +1000 (Mon, 18 Jun 2007) $|
|Source:|http://mptw.tiddlyspot.com/#LessBackupsPlugin|
|Author:|Simon Baird|
|Email:|simon.baird@gmail.com|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Description
You end up with just backup one per year, per month, per weekday, per hour, minute, and second. So total number won't exceed about 200 or so. Can be reduced by commenting out the seconds/minutes/hours line from modes array
!!Notes
Works in IE and Firefox only. Algorithm by Daniel Baird. IE specific code by by Saq Imtiaz.
***/
//{{{
var MINS = 60 * 1000;
var HOURS = 60 * MINS;
var DAYS = 24 * HOURS;
if (!config.lessBackups) {
config.lessBackups = {
// comment out the ones you don't want or set config.lessBackups.modes in your 'tweaks' plugin
modes: [
["YYYY", 365*DAYS], // one per year for ever
["MMM", 31*DAYS], // one per month
["ddd", 7*DAYS], // one per weekday
//["d0DD", 1*DAYS], // one per day of month
["h0hh", 24*HOURS], // one per hour
["m0mm", 1*HOURS], // one per minute
["s0ss", 1*MINS], // one per second
["latest",0] // always keep last version. (leave this).
]
};
}
window.getSpecialBackupPath = function(backupPath) {
var now = new Date();
var modes = config.lessBackups.modes;
for (var i=0;i<modes.length;i++) {
// the filename we will try
var specialBackupPath = backupPath.replace(/(\.)([0-9]+\.[0-9]+)(\.html)$/,
'$1'+now.formatString(modes[i][0]).toLowerCase()+'$3')
// open the file
try {
if (config.browser.isIE) {
var fsobject = new ActiveXObject("Scripting.FileSystemObject")
var fileExists = fsobject.FileExists(specialBackupPath);
if (fileExists) {
var fileObject = fsobject.GetFile(specialBackupPath);
var modDate = new Date(fileObject.DateLastModified).valueOf();
}
}
else {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(specialBackupPath);
var fileExists = file.exists();
if (fileExists) {
var modDate = file.lastModifiedTime;
}
}
}
catch(e) {
// give up
return backupPath;
}
// expiry is used to tell if it's an 'old' one. Eg, if the month is June and there is a
// June file on disk that's more than an month old then it must be stale so overwrite
// note that "latest" should be always written because the expiration period is zero (see above)
var expiry = new Date(modDate + modes[i][1]);
if (!fileExists || now > expiry)
return specialBackupPath;
}
}
// hijack the core function
window.getBackupPath_mptw_orig = window.getBackupPath;
window.getBackupPath = function(localPath) {
return getSpecialBackupPath(getBackupPath_mptw_orig(localPath));
}
//}}}
The software that this manual is written in is called TiddlyWiki.
All written content (other than the TiddlyWiki software, which is licensed separately) is the copyright of the [[Authors]] and is released under a @@[[Creative Commons Licence|http://creativecommons.org/licenses/by-nc-nd/2.0/uk/]]@@ that restricts its use, so that:
!Sharing and distribution
The original version may be viewed, shared and distributed freely so long as:
!Attribution
Proper attribution of the [[Authors]] must always be maintained
!Commercial use
No commercial use is allowed
!Derivative versions
No edited or altered versions may be distributed in any shape or form.
!Variations from this licence:
Any use outside the terms of this license must be agreed in writing beforehand with the copyright holders.
<html><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/uk/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-nd/2.0/uk/88x31.png" /></a><br /><span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dc:title" rel="dc:type">Mentalization-Based Family Therapy</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://mbft-manual.tiddlyspot.com/" property="cc:attributionName" rel="cc:attributionURL">Peter Fonagy, Laurel Williams, Pasco Fearon, Eia Asen, Efrain Bleiberg, Mary Target, Jacquie McGregor, Ellen Safier, Nick Midgely, Dickon Bevington</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.0/uk/">Creative Commons Attribution-Non-Commercial-No Derivative Works 2.0 UK: England & Wales License</a>.<br />Permissions beyond the scope of this license may be available at <a xmlns:cc="http://creativecommons.org/ns#" ref="http://www.annafreudcentre.org/" rel="cc:morePermissions">http://www.annafreudcentre.org/</a>.</html>
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 Thought (page).
You can change the way the [[Tiddler]]s in the document open by going to [[Options]] in the Menu on the right margin (i.e. set it so only one Tiddler is open at a time, or so that a newly opened Tiddler is always placed at the top of the page on your computer browser.)
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.
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
major: 1, minor: 1, revision: 0,
date: new Date("mar 17, 2007"),
source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){
url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
}
return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
!~Mentalization-Based Family Therapy
This is the former name for [[MBT-F]] and is no longer in usage, although you will see reference to it through the manual.
We recommend that at the outset a contract, or ‘care plan’, is made for 6 sessions, with the sixth being a designated review session [[MBFTSession6Review]]. See [[MBFT-Core4 - Formulating and Planning]] for advice on the natural and implicit tension between this function and the principle of using the MBFT Loop ([[MBFT-Core3 - Loop]]).
The assumption is that for a large proportion of families six sessions will be adequate, but up to a further 6 sessions can be agreed at the Review session.
Following this, treatment is ended (see [[MBFTSessionFinal]]) and, after a 3 month break, up to three [[MBFTSessionTop-ups]] are available on-demand (though these would have to be booked and families should understand that they may have to wait for such sessions) in the year after finishing the main treatment block.
!A care plan is recorded:
Copy to be given to the family when they next attend.
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
.........................................................................
!!!The ingredients of this ‘contract’ or ‘care plan’ should be as follows:
- a brief description of the treatment model
- a commitment by each participant (family and therapist) to participate collaboratively in the therapy, including that families should inform the therapist if they cannot attend a treatment session
- number and duration of treatment (6 sessions, 1 hour, in weekly / fortnightly intervals)
- review session after 6 sessions
- family is asked to agree to complete initial [[MBFT-Outcome measures]] (another of the MBFT-MustHaves) as requested by the treatment team, at the end of treatment and once thereafter, so that the therapist and colleagues can review how much families are being helped by the treatment.
In the therapy room the chairs are set up in a circle and the therapist invites the family to “sit where you like”. The therapist may, or may not, want to pre-determine where he sits and (in the latter scenario) ‘mark’ his chair with case notes. However, the therapist should not sit ‘opposite’ the family which usually makes joining the family more difficult.
The therapist’s task is to make each family member feel at ease and to find out who is who.
!!!The initial phase of introductions is structured as follows:
Turning to the parent(s), the therapist says: “Thank you for coming here. I can see there are 5 (2, 3, 4 etc) of you here. I have not met any of you before in person so it would be good to find out who everyone is. The way I like doing this is to get each person not to say who //they// are, but who the //person next to them// is., and also to say a few words about that person. Usually I like to start with the youngest person in the room – ''is that o.k., parents?''”
Obtaining parental consent for this unusual opening is important – and it is almost always given. The purpose of this opening is to set a relationship frame from the very outset, by introducing another person. In this way each family member (or ‘relevant other’) describes also a relationship. It is also usually a light-hearted way of beginning, with family members searching for the ‘right’ descriptions, not infrequently prompting laughter or surprise. Some of the emerging information can be picked up later by the therapist. At this stage, however, the therapist just listens.
Starting with the youngest person is a statement that everyone’s voice needs to be heard and it indirectly challenges the assumptions that the adults know best or do have privileged information. Furthermore, it includes children from the very beginning in therapy.
After obtaining parental consent, the therapist turns to the youngest person in the room (or if this is not obvious, asks who that is) and says: “Tell me, who is the person who is sitting next to you? Can you say something about that person?” When a child is unwilling or unable to talk, the therapist may ask another family member to imagine what the child would have said if s/he had spoken. The therapist can then check with the child, by inviting her to nod or shake her head, whether that person “got it right”. Once the introductions are made, the therapist can ask: “is there anyone else not here who is important – how would you introduce this person?”
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UPcUNSevPm0&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UPcUNSevPm0&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
>//“The family work we do here is there to help you with the problems and issues that have brought you here. We have found that when families come here, they have often been living with quite a bit of stress. When you are under stress, it can be hard to think clearly about what one should or should not do.
We find that when there is a lot of pressure that some families shut down their thoughts and feelings and that they get involved in mindless or automatic routines. Sometimes the feelings are so overwhelming that there is no place for thinking.
This work aims to get thoughts and feelings back on-line.
Sometimes we will all need to pause to see whether we have got the right perspective on things, to understand where people are coming from or what is going on in other people. This is what we try to help families with.”//
See also PsychoEducation which gathers material that illustrates more explicitly the psychoeducational goal that runs throughout MBFT, with a view to improving the mentalizing capacity between family members. This promotes the notion of the [[THERAPEUTIC BARGAIN]], recognising that in some senses the family is having risk giving things up in the hope of other gains.
It is helpful to introduce this topic early - preferably followed immediately by inviting members to sign the video consent form (see [[Consent to Video Sessions]]). The discussion of video can actually help in the explanation of what is mentalizing:
>//"Just as watching yourself, or the family, on video can sometimes throw up new views, new perspectives, becaue you are looking at yourselves from a different viewpoint, so we are interested in helping family members to see each other, and familiar events in a new way that gives us space to think about them."//
The next phase of the first session concerns itself with what has brought the family to therapy. Again, it is most useful to ''start by asking the //youngest// person in the room to say why s/he thinks the family came''.
The therapist observes closely the non-verbal communications of other family members and, if he notices specific dynamics, may already consider employing the [[MBFT-Core3 - Loop]] (for example, if there are many interruptions as one person attempts to talk. It is not the therapist’s task to stop or prohibit interruptions, but to draw attention to this process and to get the family members to reflect on this).
However, often it is best to hear the ‘problem’ definition from each family member, finishing with the mother or father.
!!@@color(red):(a) Focus on personal wishes/desires for therapy outcomes:@@
What is important during this phase is to identify some personal wish or desire on the part of each person, e.g.
//“so is there anything you want – or you don’t want – that has to do with your family?”//
This could be specified via a questions such as:
//“would like to have more fun with your son?”//
!!@@color(red):(b) Focus on Relationship context:@@
Once all family members have spoken about the ‘reason for coming’, the therapist can ask various members:
//“so what do you make of what your father / mother / son / daughter has said - do you agree, do you see it the same way?”//
See also [[Challenging the use of the pronoun "We"]] and [[Dealing with accusations of lying]].
!!@@color(red):(c) Focus on context and history of SYMPTOMS:@@
When discussing the emergence of the presenting problem(s), which should form an important (if not the major) part of the first session, one might focus on the nature and emergence of the troubling ''symptoms''; their contextual //characteristics// and// fluctuations// - that very day, and recently; each family member’s attempts to deal with the symptomatology; each family member’s understanding of the problem; the effects of the symptoms on family and others; the outside help sought to date and previous treatment(s). The therapist should also focus on the "exceptions" to the symptoms, namely ''when they were mild or absent'' and each family member is asked to describe what happened and what each did and thought when "things were better".
The first session is left fairly open in respect of the agenda - it is important for the family to feel that they are heard "as things are", in a non-judgemental way, rather than being pushed through a series of programmed activities. It may be possible for the therapist to give an outline of the model of MBFT (see below) after clarifying the problem(s), but if not this will have to be held over to the second session. Before the end of the first session the therapist will thus outline a few of the remaining "must-do" tasks that will need to be achieved in the next session - these will include (if necessary) more material on:
!!!What MBFT is.
A clear explanation of the rationale for MBFT and its basic theoretical stance is important:
//“The first and most important way we try to help families work through problems like this is to help family members to communicate more effectively and accurately with each other about what each other is thinking and feeling.”// See [[MBFT Session 1.2 - Therapist explains the approach]] for further suggestions.
!!!The structure of the therapy.
See [[MBFT-Timeline]]
!!!Its effectiveness.
!!!More formal information-gathering
Including some games (story stems, etc) that will help to explain (and incidentally assess) the notion of/capacity for mentalization in family members.
!!!The drawing up of a ‘working contract’
Note this is a //collaborative exercise// and forms the ‘[[MBFT Care plan]]’.
[_] First telephone contact (see [[MBFT-Telephone contact prior to the 1st appt.]])
[_] Agree who is coming ([[MBFT-Consider who should be invited to attend the first session]])
[_] Date and Time agreed (if necesary with letter: [[MBFT-ingredients of the introductory letter]])
[_] Room booked
[_] Referrer informed - check letter sent.
[_] Make sure you have a video consent form for the session ([[Consent to Video Sessions]])
[_] read through [[MBFT-Preparation before first session]] and [[MBFTSession1]] to prepare for the session.
This is further outlined in [[MBFTSession2-5]], which are the 'standard' MBFT sessions.
The therapist may add some item(s) too, possibly explaining briefly the reasons for doing so, though if the family draws a blank at such suggestions the therapist will preferably ask the family members if they think these could be relevant and explain his/her reasons for doing so. It is important to maintain the family's sense of self-efficacy rather than seek to replace it with professional experrtise.
The therapist has the following tasks, which are included in the MBFT-MustHaves:
#[_] The [[MBFT Care plan]] must be written down to be given to the family when they next attend - see [[MBFT-Core4 - Formulating and Planning]] for advice.
#[_] The [[MBFT-Outcome measures - initial]] must be completed.
#[_] The agreed [[Risk assessment]] must be completed.
#[_] The signed [[Consent to Video Sessions]] should be filed.
The family identifies and agrees on the focus and the issue or problem identified and which should have emerged from either
#The homework
#From the family’s description of the last week
#From an issue emerging in the ‘here and now’, as observed by the therapist and using the ‘[[MBFT-Core3 - Loop]]’.
[_] Check Room bookings
[_] Read through previous session's Notes and check the [[MBFT Care plan]]
[_] Make basic plan for next session - see [[MBFT-Core4 - Formulating and Planning]].
[_] Arrange video, including check of relevant CONSENT ([[Consent to Video Sessions]]) if required
See [[MBFTSession2-5]] for details of these sessions
Interventions ''need to be built around the ‘problem example’ and relate to it directly''. See [[MBFT-2-Selecting a pertinent problem example]].
The menu of MBFT interventions is presented in [[MBFT-Techniques]].
[_] Book an extra team member as "consultant colleague" for the 6th session review.
[_] Check Patient Notes and the [[MBFT Care plan]] to review the agreed goals.
See [[MBFTSession6Review]] for session details
It is important that there is a reflective space ''in each session'' to gather what everyone thought and felt about the intervention:
#what was learnt about the problem example specifically
#and what was learnt about the //underlying// issues, more broadly.
This is a re-statement of the [[Checking]] step within the [[MBFT-Core3 - Loop]]
[_] Remind about three [[MBFTSessionTop-ups]] available within one year of last session.
[_] End of therapy [[MBFT-Outcome measures - final]]
Homework tasks have the purpose to keep the momentum of change going in between sessions. As such they are a continuation of a theme that has emerged in a session and should be developed jointly between therapist and family members. An example might be [[MBFT-Experimenting with therapeutic arguments]].
!Feedback on homework
If a homework task has been set, then it is important to discuss the feedback in the subsequent session, including the reasons as to why it may not have been carried out. ''This is not done in a didactic or admonishing style, but from a stance of genuine interest and curiosity.''
In this scenario the therapist takes the stance that if the family has not carried out the task that this was ‘for a good reason’, rather than seeing this inevitably as a sign of ‘resistance’. On occasion the therapist may ask the family to consider doing the task in the session. ''The therapist should not start sessions by reminding the family about the task'' (which would interfere with the family members setting the agenda), but ''wait for the family to refer to it and, if this does not occur, wonder at some point later in the session as to whether the family had thought it useful to carry out the task'' and then to review with the family what the task was and why it was chosen and what it aimed to achieve.
[_] Write to referrer to inform of end of therapy
[_] Restate offer of three [[MBFTSessionTop-ups]]
[_] Check that [[MBFT-Outcome measures - final]] have been completed
Once the therapist has come up with a formulation (based on a working hypothesis), s/he should tentatively share this with the family.
The prefacing of sharing the formulation is important, ''so as not to over-emphasise the expertise of the therapist which might implicitly disqualify family members''.
It is therefore important to attribute specific aspects of the formulation to individual members (“and I formed this view based on what your son / mother said…”).
When introducing the formulation, it is useful to say something like: “I have been trying to make sense of what you have all said, and I am not sure that I’ve got this right… but it occurred to me that perhaps…..”
The therapist summarises aspects of the session and considers the pros and cons of [[MBFT-5-Setting and reviewing a homework task]].
S/he invites some brief feedback from family members and then says goodbye individually to each family member.
#[_] Room Booking
#[_] Check through past notes to recall prominent themes (identified at the [[Notice and Name]] step of the [[MBFT-Core3 - Loop]]) and examples of [[Fillers]] - to be alert for these at the session.
[[Questions to ask in assessing Mentalization]] includes a Mentalizing checklist, and there is other tagged material here that describes features that may be present or absent according to the quality of mentalizing present in an individual or family. There are also questions that are used to ELICIT mentalizing ([[MBFT-Questions to elicit Mentalization]]) which may be used //therapeutically// or as part of the assessment.
!Assessment of Mentalizing requires focus on BOTH strengths and difficulties:
[[Mentalizing strengths|Components of Impaired Mentalizing]] and [[Mentalizing difficulties|Components of Successful Mentalizing]] must be balanced in making a proper assessment of the tasks with the family.
Mentalizing is not a property that is either present or not-present, but an interactional pattern or quality that waxes and wanes in relation to contextual factors such as the prevailing affect in a given situation, prior stresses, physical health needs, etc, etc.
!Brain-scanning:
*Each family member is provided with a large piece of paper with a diagram of a cross section of an adapted human brain, containing more than 10 larger and smaller ‘ventricles’ (holes).
*Father is told, for example, //“imagine this is you daughter’s brain or mind…put in the holes all the thoughts and feelings you think she has ''at the moment''… put the big feelings and thought in the big ventricles – and the smaller ones, or secret ones, in the smaller holes”//
*The mother can be given the same task – and the daughter Mary could be asked to imagine how her mother might ‘see’ Mary’s mind-brain.
*When everyone has completed the task (5 minutes), the three different ‘brain scans’ can be displayed on a wall and be compared.
*This can be followed by a discussion about ''how accurately'' each family member can read the mental states of others. This task has many different variations, including speculating about how the mind-brain might have looked like before a specific event, or how it might or should look in 6 months’ time.
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/5cjW1kDHpMk&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/5cjW1kDHpMk&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!Body scanning
*This is another way of externalising feelings and thoughts.
*Each family member can in turn lie on a piece of lining wall paper, with one of them drawing the external body contours.
*People can then place, with differently coloured pens, mark where on their body they experience specific feelings and accompanying thoughts.
*This can then be discussed. Alternatively, family members can speculate where the other might experience strong emotions and to talk about contexts within which these occur.
This task is designed to help parents to support their child in thinking about alternative ways of thinking about important situations and experiences in their life. The idea is that the therapist models finding alternatives and then progressively hands over the task to parents, during the session or between sessions.
*The therapist picks a problematic situation that the child has described
*Then tries to think of as many alternative ways of interpreting it as possible.
*For each one the child gives it a number between 1 and 10 for how plausible that alternative might be.
''Note:'' A critical element here is that the therapist is not trying to persuade the child of a different alternative. The task is about brainstorming lots of possibilities and letting the child decide whether any of them are interesting or worth checking out.
This is a tag to link multiple Care plans developed for //different specific modalities// together (such as MBFT, medication, education, housing, individual work, etc).
If you are using a single modality version of this manual (e.g. MBFT alone) then this is not relevant for you.
Child-focussed techniques and activities are tagged here. Start by reading [[Setting up a child-focussed session]]; then there are a range of other techniques and activities that may be relevant.
!Options:
There are a considerable number of choices. What people understand by ‘family’ varies a great deal and is determined by idiosyncratic and cultural experiences and assumptions.
#Inviting only the caregivers,
#The caregivers and the referrer,
#The ‘whole’ family
#...and/or include significant others.
!It is not up to the therapist to define what s/he regards as the appropriate ‘treatment system’
...but instead to get ‘them’ to make that decision. Clearly this involves reflective process and thus raises the issue of pre-session contact which can be made via letter or telephone, or both.
!Letters
Letters should be addressed to all the adults in the household and to adolescents, from the age of 16 onwards and possibly younger. The [[MBFT-ingredients of the introductory letter]] are provided.
!Telephone
During the inital [[MBFT-Telephone contact prior to the 1st appt.]] the therapist should consider advantages and disadvantages of different combinations and permutations. The therapist can be explicit about these disadvantages, referring to previous experiences with (un-named) families.
!Separated parents
This format does also apply for families where the parents are separated – considering the pros and cons of involving the non-resident parent. In this scenario an additional initial meeting is arranged for both the parents without the child, but not necessarily without any new partners, in order to identify specific treatment goals for each parent with the children in each household, and to obtain parental agreement with the therapeutic goals, methods and strategies. See [[Separated/Divorced parents still in conflict]].
!The ‘person context’ – who is to attend and who is not - is negotiated for each subsequent session
This requires discussing again the ‘pros’ and ‘cons’ of having the ‘whole’ family present or whether is would be more useful to see, for example, the parents and the child separately for part of one or more sessions.
''It is not the therapist’s task to define the person context, but to enable family members to reflect on options and for them to make the actual decisions.''
This does not prevent the therapist from enquiring as to how and why such decisions are made. Meetings with individuals or only the parental couple can provide an opportunity to clarify where there are different points of view, or to discuss issues which parents do not consider to be appropriate to be discussed (at least initially) in front of the children. It is possible to dedicate individual sessions to practical aspects of mentalizing that seem to present a particular problem for one person in the family that they might find difficult to do in front of others. However, it is of great importance to have ongoing reflection amongst all members on what constitutes the ‘treatment system’ and how different information and different processes emerging in separate settings can be integrated.
This is a tag gathering those techniques seen as core to practice - and used in some form or other in most sessions.
!RATIONALE
During the assessment and intervention stages of MBFT therapy specific //Core MBFT manoeuvres// are the primary skills that the therapist needs:
*To flesh out their understanding of the mentalizing capabilities within the family
*To assist the family in improving their understanding of mentalizing and the role it plays in family relationships.
*To improve the family memers' capacity to mentalize about each other.
!!!!The heart of good mentalizing:
>//Is not so much the capacity to always accurately read one’s own or another’s inner states, but rather a way of approaching relationships that reflects ''an expectation that one’s own thinking and feeling may be enlightened, enriched, and changed by learning about the mental states of other people.'' In this respect, ''mentalizing is as much an attitude as it is a skill'', an attitude which is inquiring and respectful of other people’s mental states, aware of the limits of one’s knowledge of others and reflects a view that understanding the feelings of others is important for maintaining healthy and mutually rewarding relationships.//
This stance is the ultimate foundation of the approach that the therapist tries to demonstrate and thereby encourage.
!FOUR COMPONENTS OF THE DESIRED STANCE:
<html><div align="center"><iframe src="http://docs.google.com/present/view?id=d6h2gb4_120fv269pfw&revision=_latest&start=0&theme=blank&cwj=true" frameborder="0" width="100%" height="600"></iframe></div></html>
!!@@color(red):1. The Inquisitive Stance: Constantly affirming the value of Mentalization@@
This is maintained via an inquiring, respectful, curious, and tentative stance.
The stance a mentalizing therapist needs to acquire and display is one which is inquiring and respectful of other people’s mental states. Systemic therapists also refer to this position as one of ‘curiosity’ (Cecchin 1993), though MBFT particularly emphasises that it is important for therapists to reflect a view that understanding the feelings of others is important, including what those feelings might be and what thoughts, meanings and related experiences are attached to them.
The implication in this is that the therapist needs to be actively promoting and provoking an interest and measured enthusiasm about MENTAL STATES, and value of learning about them. Thus the therapist may say:
>//“This is interesting, I wonder Sally what it feels like for you when your dad does x?” “Let me see if I got this right: are you saying that when your dad does x that makes you feel y, and you think to yourself z?” If the therapist wants to share a hypothesis about what someone might be feeling, he or she qualifies this by saying “I’m not sure I’ve got this right, so please tell me, but I was wondering whether Sally might feel x, is that right Sally?”//
!!@@color(red):2. Holding the Balance@@
A balance must be held between observance of natural interactions and intervening to promote change.
<html><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/4OJ5FVeYAtk?fs=1&hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4OJ5FVeYAtk?fs=1&hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></html>
It is the therapist’s task to help the family make sense of what feelings are experienced by each family member, as well as highlighting the ways in which miscommunication or misunderstanding (or lack of understanding) of these feelings leads to interactions that maintain family problems. In practice, this requires the therapist to strike a very careful balance between allowing the family to interact ‘naturally’, or indeed actively eliciting habitual and ‘natural’ family interactions around problematic issues, as well as being directive and intervening at critical moments too.
!!@@color(red):3. Intervening to terminate non-mentalizing interactions.@@
The MFBT model presumes that non-mentalizing interactions are unlikely to produce significant changes in family interactions, so simply allowing these interactions to occur is unlikely to be therapeutic.
Once the therapist has:
*A clear idea of the nature of the core mentalizing problems
*A good example of such an interaction to work with
The therapist
*Intervenes and shifts attention away from //"preferred non-mentalizing narratives"// (or "[[Fillers]]" for short)
*The practical application of this intervening is explained in greater depth in the [[MBFT-Core3 - Loop]].
*The overarching aim is to highlight the missing perspective for each person in the family that leads to the behaviour of others not being fully understood. It is the therapist’s task is to help create new and different perspectives.
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/cflKHEbGdHs&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/cflKHEbGdHs&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!!@@color(red):4 Highlighting and reinforcing Positive Mentalizing@@
The therapist aims to deepen people’s ability to connect feelings, thoughts and intentions, and in order to do so:
*Searches actively for examples (or episodes) of good mentalization
*Positively connotes these
*Enlarges upon them
>//“When you did x, I was very impressed by how you each tried to get your heads around this…. Father, you did x; mother, you did y; Johnny you did….”//
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/iGk_KFqnBt0&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/iGk_KFqnBt0&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
The skills of a MBFT clinician are essentially no different from those employed by any therapist working with other psychological approaches, apart from the specific focus on mentalizing and affective states:
!!To show warmth and respect for each family member
!!To be inclusive of all family members
!!To identify and highlight strengths, including in the area of mentalizing
!!To aim for more ‘positives’ between family members (as they define it)
!!To encourage family interaction in session
!!To avoid blame and to (re-)frame current situation as the family’s best and most sincere efforts to adapt to their circumstances and experiences
!!To positively connote the attempts and role of each family member
!!To refocus family members repeatedly if they ‘wander’
!!To provide clear time boundaries - 60 minutes per session
!!To speak with confidence about MBFT and its aims
!!To help family members to understand that participation in the therapy, during or between sessions, is entirely their choice
The MBFT - Loop is a major tool for devising mentalization-based interventions. It provides a framework for connecting the therapist’s ''observations of family interaction patterns'' with ''underlying feeling states and related thoughts''.
Furthermore, it helps family members to experiment with new behaviours and actions.
!3 Steps and 3 Checks:
!!!Step 1. [[Notice and Name]]
>[[Checking]] - //"Is what I noticed, and the way it may link to what happens at home, what you guys see, too?"//
!!!Step 2. [[Mentalize the Moment]]
>[[Checking]] ''again'' - //"So do we think we have got an accurate enough understanding of this pattern...?")//
!!!Step 3. [[Generalize (and Consider Change)]]
>[[Checking]] ''again'' - //"So where are things now?"//
<html><div align="center"><iframe src="http://docs.google.com/present/view?id=d6h2gb4_107dsr39jdj&revision=_latest&start=0&theme=blank&cwj=true" frameborder="0" width="100%" height="600"></iframe></div></html>
!!!The MBFT Loop is a ''framework'' which:
*Allows therapists to structure sessions, or at least parts of sessions.
*Encourages mentalizing, providing a ‘route map’ which can be followed.
As indicated in [[MBFT-Sessions]], ''it is not always necessary or even desirable always to take each step one after the other'', but for the less experienced therapist it may at the outset helpful to do so, whereas more experienced clinicians may at times wish to ‘skip’ a few steps.
!A Spiral, not a Cycle
These steps are not a simple cycle, but are better conceived of as a SPIRAL; return to a "previous" step, is never quite the same, as this can only occur in the context of shared experiences and learning //that were not present at the 'first pass'//. So these are not merely linear steps which need to be taken in a prescribed order, but they are looped. Hence our attempt to represent the model as a spiral. It is possible to skip a few steps, or move across to another ‘step’, as well as going back to an earlier one.
At each or any step it is possible to use specific mentalizing techniques (see [[MBFT-Techniques]]) which aim to generate specific mentalization processes in family members.
So whilst in order to explain the usefulness of the MBFT Loop, the model is presented here in a linear fashion, starting from how the therapist uses his process observation(s) of intra-family interactions and/or communication exchanges and how he feeds this back to the family, in an attempt to create reflexive process in each family member, the practice is much more fluid and allowing of the creative use of links.
!An implicit tension
There is a natural tension between:
*The [[MBFT-Core3 - Loop]] which arises spontaneously according to material that the family bring to each session.
*The need for structured, hypothesis-driven intervention that prioritises those non-mentalizing patterns ([[Fillers]]) //that offer the greatest therapeutic gain.//
!Formulating and Planning - The therapist's Homework:
We expect MBFT therapists to develop an ongoing formulation - or set of hypotheses - about strengths and difficulties that the family has with mentalizing, and how these are implicated in the relationship difficulties that they present with.
This hypothesising is obviously an ongoing process. While we often set the family [[MBFT-Inter-session activities and tasks]], the process of reviewing and renewing of hypotheses, is the equivalent inter-session task for the MBFT therapist.
The value of our hypotheses is in their capacity to shape plans for the next session. A Session Plan will not be comprehensive, but more //a clear decision that one or other particular non-mentalizing interaction shows promise of therapeutic gain//, and consideration as to how progress might be achieved in that area.
Clinical example: [[MBFT-Generating hypotheses - clinical example]]
!More implicit tensions
Having a plan for a session will often conflict with material that a famiy brings to that session. In keeping with the [[MBFT-Core1 - Therapist's Stance]] the therapist will try to maintain a stance of //"Holding the Balance"// between the need for //structure// as against the need for //sensitivity//.
Clinical example: [[MBFT-Sharing the working hypothesis]]
The general aim is that the therapist will share his or her hypotheses with the family, as an example of [[Modelling mentalizing and Perspective-taking techniques]]. However, a mentalizing stance towards the family will help the therapist decide //when is the most helpful time to share a hypothesis//, and how to do this in a sensitive way; sometimes the sharing of thoughts or hypotheses can be an example of [[Misuse of mentalization]].
!
Application/rationale:
Arguments are the fabric of family life. //‘Therapeutic arguments’// aim to create contexts of successful and ‘skilled’ arguing, instead of reverting to blocks such as refusing to talk.
*The therapist elicits playfully common behaviours in the family which tend to sabotage ‘positive’ disagreements (e.g. storming out, stonewalling, dominating the interaction, or physical harm)
*Get family to set some ground rules, such as ‘people should always listen when someone else speaks’, ‘no-one walks out’, ‘no tantrums’, ‘no blaming’ etc.
*The family constructs a document: ‘Argument Rules and Regulations’
*So for the homework, agree on an argument to have (maybe therapist takes parents outside and plans how to get the argument to work, with a collaborative approach.)
*The family’s aim is to resolve the argument (e.g. if two people want to do different things, could be do neither, do both, or do and make it more fun for the other, etc.)
**There must be an outcome
**If a parent makes the sign for ‘time out’ everyone stops
**A parent decides whether it is tried again
**The argument must be recorded in the family notebook and reflected on in the therapy.
!Note:
Arguments undermine mentalizing and the family needs to practice resolving issues without undermining each other’s capacities to reflect.
!
This is a tag that links techniques, games, and activities that can be carried out with the ''whole FAMILY'', that are designed to educate about, foster, or strengthen MENTALIZING within the family system.
!Tagged Content:
During the first session – and subsequently – the therapist generates and modifies a working hypothesis, based on the observed difficulties the family has when interacting or communicating with each other, and speculating about how the target problem may be related to, and maintained by, difficulties with mentalization.
!The ‘target problem’
This is what family members and therapist have agreed to jointly work on. The working hypothesis is shared with the family.
!Reaching a working hypothesis
the therapist asks him/herself a number of questions:
# How and why has the family agreed on the ‘target problem’?
# Which mentalizing problem will seem most relevant and plausible for the family to tackle? Which is most urgent problem for the family?
# Which mentalizing problem may be implicated in leading to, maintaining or exacerbating the target problem?
# How amenable is this mentalizing problem to a brief intervention? Factors that might indicate a problem that would not be tractable within a brief intervention might be:
##problem of very long standing
##problem that arises at very low frequency
##problem clearly related to serious physical or mental illness or drug addiction.
!Sharing the working hypothesis - 5 steps...
The next task is to share the preliminary working hypothesis with the family in a collaborative manner in order to work on the identified difficulties. This can be done in the following way:
# Begin by identifying a strength that the family has demonstrated (for example caring about each other), highlight and praise this is a warm and genuine way.
# Select a context where the family has more difficulty mentalizing and describe this to the family, saying that you have noticed that or wondered whether [description of the mentalizing difficulty] in a particular context.
# Link this difficulty with examples from the previous session (derived via 10-step model)
# Make links between mentalizing difficulties of each family member. (e.g. “because you are concerned about Johnny, you try very hard to help him understand his feelings, but it may be that this sometimes makes him feel a little confused and means he gets less practice working this out for himself and telling you how he actually feels”).
# Link these formulations directly to the referred problem, not necessarily as a cause, but as something that makes it more difficult.
Throughout, the formulation should be presented in a way that is ''validating'' (because you are trying so hard to be a good mom/keep the family afloat, look after other child etc), ''normalizing'' (“as it is so easy to do”) and ''representing an effort to cope and keep connections within the family''.
It is important to highlight that the purpose of the therapeutic work is to enhance the ability to mentalize in the contexts in which it is now hard to do. The therapist should also point out that changing automatic, "non-mentalizing” responses is very difficult because they involve risking having to “give up” familiar patterns-however painful.
There is a [[MBFT-Generating hypotheses - clinical example]] to illustrate this approach.
A gifted 11-year-old boy was referred to a child and family service because he had attacks of rage at home with his parents and physical fights with his 16-year-old brother. The family consisted of a passive but kind father and a very thoughtful and assertive mother both of whom were quite concerned about the referred child. The boy was angry and withdrawn most of the assessment session and would occasionally complain about what one of the parents had said about him, denying the parents’ accounts even though these appeared to be plausible and factual. He denied his parents’ accounts of his tantrums and fighting. Yet, the boy could get quite angry and could be very stubborn. For example, on the way to the therapy he had insisted that the car should be stopped so he could tie his shoelaces regardless of the inconvenience that this would cause. He could not explain why he insisted on this and became sulky and angry when presented with various alternatives as to why he might have behaved in such a problematic way for everyone else. His mother (with his father’s passive agreement) told him that this happened because of his anxiety about coming to the clinic. His father was generally rather quiet, but would nod in agreement with his wife and lean over and try to be physically ‘sympathetic’ with his son, by touching his arm or showing a concerned expression. The only time the father offered his own understanding of his son’s feelings was when he said he thought that the boy was “really upset” about the death of the paternal grandfather some years earlier. The father has recently taken his son to see the grave and thought he might be feeling sad about this. The son did not disagree.
In order to arrive at a comprehensive formulation, the therapist considers the various mentalization categories for each member of the family. This includes [[MBFT-Balancing mentalization strengths and difficulties]] as part of [[MBFT-Assessment of Mentalizing]].
It is possible to represent these in the form of a relationship map (akin to the structural maps suggested by Minuchin, 1974). Here each family member (and / or significant other) is drawn as a circle (female) or square (male) on a large piece of paper, with considerable space between each person. Relational mentalization strengths (a and b below) and difficulties (a to e) can be entered to describe the relationships bi-directionally.
!Making and Introducing hypotheses:
!!Looking at the son first.
We focused on identifying the most characteristic features of the boy’s mentalizing difficulties. Tentatively we identified the following problems:
#Not seeing impact of one’s thoughts, feelings and behaviour on others (+/?) His insistence that they stopped the car so that he could do up his shoelaces suggested that he was, in that moment, failing to think about the effects this would have on others. While this was obviously present, it is not at all clear that he genuinely could not see what he was making others feel and it is quite possible that he could and wished them to feel the frustration, which he himself was feeling. The person context is the child and the child-parents interaction when the family is together on their way to assessment.
#Lack of flexibility in thinking and considering alternatives (++) However, in the same example, he seemed definitely inflexible, unable to see alternative explanations, and stuck to his version of events, feeling that he would not be able to do up his shoelaces later. Also, in the car he seemed to think that the shoelaces must be done up now, and that to do this the car had to stop. He could not engage with the alternatives presented by his parents (e.g. that he could do the shoelaces up while the car was moving).
#Understanding behaviour in concrete terms (+) His insistence on using the shoelaces as an explanation for the conflict with his parents is also an example of the way this young man was predisposed to use the circumstances he was in to explain his Behaviour to himself and to others without considering internal states as possible alternative accounts. All these instances of concrete thinking are of course interrelated and all appear to serve a common function.
In scrutinizing the way the family interacts, we get a clue which makes sense of the boy’s strategy to block mentalization. He seems to think that simply allowing himself to contemplate mentalizing alternatives in the context of the family exposes him to the very real possibility of being intrusively misunderstood.
!!Turning to the boy’s mother
The first thing to note is that on initial impressions, she seemed to be able to mentalize quite effectively. She made frequent references to her son’s feelings and thoughts and there was not undue emphasis on concrete non-psychological explanations of his (or anyone else’s) behaviour. The problem then did not appear to be one of a general lack of skill in mentalizing, but more a difficulty with relating to specific areas where mentalizing was not used and/or the way in which mentalizing was used in relation to her son. Running through the mentalizing categories, we identified the following that we thought might be relevant.
#Intrusion into the child’s mind (++) Related to the incident in the car, his mother had told him that this had happened because of his anxiety about coming to the clinic. However, she did not qualify this assertion with any kind of conditional statement such as: “Do you think this might have been because…?” or “Perhaps you felt a bit worried, I guess we all were a bit.” Instead, she said it in a way that suggested that she was pretty certain that this was correct and did not leave space for her son to clarify, or consider an alternative or complementary explanation, only to oppose or submit to her definition of his internal state. Furthermore, mother did not offer a sense of her own experience such as “I wonder if going to the assessment makes you feel nervous. I am a bit nervous myself.
#Overactive, inaccurate mentalizing (?) It was unclear to what extent the parents invested a lot of energy in thinking or talking about how people in the family think or feel and this having little or no relationship to these other persons’ reality. One possibility is that the mother’s over activity in mentalizing left no space for the boy to communicate his own feelings. Nevertheless, this possibly overactive mentalizing certainly raised the possibility that she sometimes came to conclusions that were quite far off the mark.
#Context-specific ignoring of the child’s state of mind (?) The reason we considered this item as possibly present was that there seemed to be some part of her son’s experience that she may not have been paying attention to. Despite her regular attempts to think about his thoughts and feelings, he continued to feel angry with her, which suggested that she was failing to hear or understand a crucial part of his experiences, needs or point of view. She may well have been right that he was anxious, but this was clearly not what he wanted to hear and she did not seem to understand this or was not able to act differently. Of course, the question is whether this was entirely because their interactions with each other had so far failed to allow the right information to be communicated, or whether there was some aspect of this ‘hidden experience’ of her son’s that she felt uncomfortable with and hence ignored.
!!Finally, we turn to the boy’s father.
In this case, there was rather less to go on, because he tended to leave the talking to his wife. Nevertheless, this, in combination with his non-verbal behaviour, suggested possible areas where he had difficulty with mentalizing. The ones we considered were:
#Not being able to see how one thing has led to another (+) The father appeared to think that showing physical sympathy towards his son would make him feel better, despite the fact that the reason he was upset was because he disagreed with both his mother and father about something which had not been addressed. Thus, he did not seem to realise that demonstrating feelings is not always capable of changing the feelings of others if more cognitive issues related to beliefs and interpretations about important issues are not changed.
#Confusion of feelings and thoughts of self with that of other (+) The father had described how he thought his son had been very affected by the death of his grandfather, when in fact the son had not known him well and the death had been quite a while earlier (so it seemed quite implausible that he was sufficiently upset to cause the child’s problem). Rather, it seemed more likely that it was the father who had been most affected by this loss, something that he had not made particular reference to.
#Withdrawal of awareness of the child (?) We wondered whether the boy’s father, because of the family’s stressful circumstances caused in part by the child’s problems, and his own rather passive efforts to please everyone, actually found it quite difficult to think clearly about the thoughts and feelings of his son, or his own thoughts and feelings about the family, and separate them from the opinions of his wife. This was clearly speculative so we marked it as possibly present.
[[MBFT-Sharing the working hypothesis]] - this case example is used to demonstrate this process.
!When is individual work indicated?
When a parent or adult carer presents with high levels of emotional arousal, mentalization can be severely impeded and is not possible in family sessions.
At this point individual work with the parent may need to be considered so as to free up the adult’s capacity to think and to promote mentalization.
!Purpose:
The purpose of setting and carrying out mentalizing tasks between sessions is to keep the momentum gained within a session and give the family more opportunities to build on new experiences and new approaches to mentalization.
!Format:
The therapist needs to involve the family in formulating any inter-session activities and tasks and they should arise ‘organically’ during sessions. Allow for the possibility that the family may find these tasks challenging and give them permission to bring any difficulties up at their next session, or brainstorm at home a better way for their family to complete the task (mentalization at work!).
!Collaboration:
The therapist and family need to collaborate on planning these tasks and discuss concretely how and when these are carried out between sessions.
!Recording and Planning:
The family should be asked to keep a notebook and wall calendar for each family to keep track of what is to be practiced between sessions.
- The family can then use this notebook to write down comments about what they felt was important during a session.
- The therapist can make it part of the routine that when something significant occurs, she/he can ask:
>//"Should we put that in the notebook?"//
Between session tasks can be scheduled and the family is encouraged to decide when the task should be done. This time is then entered into the calendar.
- Each practice activity is expected to take about 20 minutes and is to be repeated 2-3 times in the week.
- A place in the home should be discussed beforehand, ideally one that has a table to sit at with enough chairs for everyone.
!@@color(red):Activities or tasks appropriate for family "homework" are tagged below:@@
These need to be considered if individual or couple sessions take place.
One way of doing so is to discuss with the participants the implications of sharing the information obtained in individual / couple sessions at the end of any such a session: “what, if anything, can be shared with the other family members? What can’t be? What do you imagine might be the impact on the others if they did know? What if they do not know? What might be the advantages and disadvantages of telling? What would be the worst possible outcome if they knew?” This line of questioning is meant to stimulate mentalization and reflective process.
!What is this?
This is a tag linking all the manualized material that describes the "how-to-do-it" aspects of MBFT. This can be divided into
<<tag MBFT-Sessions>> which describe the different sessions in typical course of therapy (what the therapist should be doing, when), then the specific <<tag MBFT-Techniques>> that the therapist will want to have at his or her "fingertips" to elicit information, stimulate mentalization in specific circumstances, etc. Finally, there is material on <<tag MBFT-Theory/Practice>> which draws out the links between the explanatory framework based on evidence from psychological and developmental work, and the practices suggested in this manual.
!What is this?
This is a tag, linking a set of "To Do" tasks that relate to different stages of the therapy.
Click the relevant "MBFT-MustHaves" for where you are in the course of therapy, to reveal a To Do list, with checkboxes, to remind you of key tasks ahead.
!
This tag gathers techniques, games and other activities that are used in ''specific circumstances'' or with a ''specific focus'' (Family, parental couple, individual parent, individual child, etc).
see [[MBFT-Outcome measures - initial]]
We suggest you use the [[SDQ|http://www.sdqinfo.com/]] or the [[CGAS]], but local protocols may apply.
We strongly recommend an agreed Outcomes Evaluation for teams or individuals delivering MBFT.
Ideally this consists of at least one validated measure at treatment outset, followed by one at three months, and/or at Treatment end.
for simplicity we suggest you could use the [[SDQ|http://www.sdqinfo.com/]] and/or the [[CGAS]], but local protocols may apply.
!Parent-focused work is indicated when there is:
*open conflict between the parents
*a need to address specific topics which are inappropriate to be discussed in front of the child(ren), such as impending parental separation, sexual problems, family ‘secrets’
*child protection issues (e.g. the behavior of one of the siblings towards the child).
In such circumstances the therapist may choose to dedicate therapeutic sessions to working with the parents – or other relevant subsystems - ''on their own''.
Some of the [[MBFT-Family-focused Techniques/Activities]] described can be used for working with the parental couple or the sibling sub-system.
!Other specific techniques:
!See also The Must Haves section:
[[MBFT-1-MustHaves Before starting]]
!The main aims of the first session are to
# Make introductions.
# Clarify the reason for referral
# Agree on the purpose of the assessment and therapeutic work
# Develop a mutually agreed [[MBFT Care plan]].
In order to achieve this, the therapist needs to take a series of steps.
#After receiving the referral, the therapist needs to [[MBFT-Consider who should be invited to attend the first session]].
#[[MBFT-Issues of ‘confidentiality’ and ‘secrecy’]] need to be considered if individual or couple sessions are to take place.
#Set date for the first session(s).
#Arrange venue for sessions.
If the therapist has identified [[Mentalizing difficulties]] that are seen in a typically recurring interaction within the family, s/he may ask them to re-enact or role play that sequence.
These techniques help the family to:
* see the sequence clearly
*reflect on how others think and feel during these interactions
*realize that it can be different.
Re-enactment and role-play can help illustrate that, if it can be re-enacted or exaggerated, it can also be different.
!Activity:
*The therapist asks the family to replay a repetitive sequence. “I notice that you both tell Jonathan how he feels quite often. Could you play that out for us?” In this first ‘round’ members of the family are asked to ‘play themselves’.
*The therapist asks the family to exaggerate a piece of behaviour. “I notice how you two boys have fights and argue a lot. Christopher, I want you to pretend to be really cruel to Jonathan, and Jonathan you show us how you really suffer. Exaggerate if you like. Let us understand it by seeing it really well.”
*The therapist asks one of the members of an interacting pair to enact while the other observes. “It is really good that both of you remind Jonathan about what happened, but Jonathan says it didn’t happen. Now you, Mrs. Bloggs, you remind him; but this time Mr. Bloggs, you say you can’t remember, either. Let’s see what happens.”
''Note:'' The purpose of this activity is to practice mentalizing with family members with an even that is generally problematic or stressful for the family.
This task is similar to [[MBFT-The ‘thought pause button’ activity]], but has an emphasis on problem solving, by rating different alternative courses of action in terms of their psychological consequences:
*The family and child identify a problematic situation
*The therapist asks the child, with help from the family, to think of as many things as possible that could be done in this situation, without initial regard to how sensible or useful they might be.
*The therapist lists them
*The therapist returns to each and asks the child to rate them according to how that might make them feel given possible consequences.
''Note:'' This exercise is not intended to dig deep into motivation, but more to be like a perspective-taking game.
These questions can be asked in relation to those //specific situations that the therapist has sought from the family in the period since the last session//.
>//In order to assess and understand the parents’ use of mentalizing in relation to the child and the child’s in relation to the parents, the therapist asks the family to focus on situations in which
(a) the child was upset or distressed, and a situation in which
(b) there was conflict between the child and parents.//
!!!Note:
This is an example of where the ASSESSMENT of mentalizing is also an INTERVENTION insofar as focussing on these questions promotes mentalizing in the parent.
!!!1. What do you think your child might have been thinking when he/she became scared/upset/angry/argumentative (use as appropriate)?
!!!2. What were you thinking during the situation? How did you feel?
!!!3. Why do you think your child’s reaction was different or similar to yours?
!!!4. What do you think your husband/wife/sibling might have been thinking? How did he/she feel?
!!!5. Can you comment on differences or similarities?
!!!6. What do you think your child might have thought you were thinking? How might this have left him/her feeling?
!!!7. Would you have wanted this scenario to work out differently? In what ways?
!Starting
See the tag [[MBFT-Starting]] which includes information on what to do in terms of [[MBFT-Preparation before first session]]
!Sequence of Sessions
See the [[MBFT-Timeline]]
!What do I actually Do?
Under the heading [[MBFT-Structure of Sessions]] there is information on session-specific tasks, including the [[MBFT-Core3 - Loop]] which structures most sessions. In addition there are "[[MBFT-MustHaves]]", where you can find lists of the various basic tasks that need to be done. Finally, there are the specific [[MBFT-Techniques]] which are related to all phases of treatment, and //can be deployed as required// within the given structure; all are cross referenced and linked.
!Flexibility
Even for a brief 6-8 session therapeutic intervention it is impossible and undesirable to outline each session in excessive detail, as this could limit the therapist's freedom to respond spontaneously to emergent content and take appropriate action based on feedback obtained during the session. The therapist is left freedom to co-construct and co-evolve together with the family, appropriate interventions based on such feedback. During therapy, conflicts tend to arise between the need to be precise in terms of clearly defining the various steps of the therapeutic process, whilst at the same time allowing for enough flexibility so that therapy does not become a straitjacket for everyone concerned.
!Overarching Session Aims
The session structure reflects the treatment aims:
- To enhance mentalizing and the capacity to make choices
- To consider each person’s involvement in / contribution to the problem behaviour of the symptomatic family member(s)
- To use mentalizing to strengthen self-control and the capacity to regulate
one’s feelings
- To promote awareness of one’s own and other persons’ mental states.
This is illustrated using material from [[MBFT-Generating hypotheses - clinical example]]. Check the history before reading this...
In order to prioritise among the mentalizing problems we began by ''focusing on the items that were marked or definitely present'' (whilst continuing to bear in mind the others where appropriate).
Of these, all but one appeared to be directly related to the target problem.
Item 2 for father was perhaps less immediately related to the target problem, so we chose to keep this in mind, but not make it a central part of the formulation that we would share with the family. All of the selected problems appeared to be amenable to intervention through the use of the techniques described in detail in a later section. Our next task was then to put together a formulation that we could share with the family. We describe below the steps we took to start to look at this family from a mentalizing perspective. We utilize this perspective when we are starting to fill out the mentalizing formulation grid, and when considering which specific interventions may help this particular family.
!Strengths:
The parents were clearly concerned about their son and wanted to support him and help makes things work better in the family. Also, the boy seemed to take what his parents said about him very seriously (otherwise he wouldn’t get angry), and he seemed to have a clear understanding of the differences between his and their point of view and was able to express his difference in opinion openly. The therapist might say something like “I was really impressed by how close a family you are. Mr and Mrs X, it seemed to me right away that you are worried about your son and you are really committed to supporting him and trying to make things better. Jon, you also are someone who comes across as having strong feelings about the situation and that you take what your parents say very seriously, you care about what they say and sometimes that means you get annoyed with them if you don’t agree about something. I was actually really impressed that you were able to say what you feel quite clearly, because that’s really important”.
!Difficulties:
The main difficulties that one might focus on are:
#the son’s difficulties with seeing the effects of his actions on others and lack of flexibility in thinking and considering alternatives
#the mother’s intrusion into her son’s mind and
#the father’s not being able to see how one thing has led to another (the effects of his trying to please everyone, showing sympathy to son, agreeing passively with mother).
The therapist might summarise this by saying:
//“Perhaps the main difficulty at the moment is that as a family you are finding it hard to communicate successfully about how everyone is feeling. Jon, when you get angry I was wondering whether maybe it’s hard to stop and think about how difficult it can be for your mother and father to say or do what you’d like them to. So they end up feeling a bit lost. That’s often what happens when we get angry, it becomes difficult to stop and think or try to work things out.”//
Allow time for "metabolism":
Here the therapist might wish to pause, to get some initial feedback and to allow family members to ‘metabolise’ the intervention.
!Next steps:
This can then be followed with the next segment of the intervention.
//“Mrs X, you come across as someone who has been trying really hard to understand Jon’s point of view because that’s what he seems to be asking you to do and you’re worried about him as well. Do you think it is at all possible that are trying so hard actually might make it confusing for Jon because he doesn’t get enough practice at saying exactly for himself what it is that’s bothering him?”//
!Pause to metabolise...
Again, it might be advisable to pause, inviting comments and reflections, before proceeding to the last part of the intervention.
!Next steps...
//“And I think Mr. X clearly is trying very hard to help Jon and Mrs X, but do you sometimes feel a bit caught in the middle. I could imagine that might make it quite difficult to work out what you think about the problem or what you think should be done”.//
!Linking with the target problem.
The working hypothesis suggest that the target problem is related to the child feeling misunderstood and his episodes of tantrum seem linked to is inability to express his feelings. Therefore the formulation to the family needs to focus on the way that the family helps each other to feel understood. The therapist notes that the child often gets angry when he disagrees with something that someone else has said about what he thinks or feels. The therapist also notes that the child finds it hard to express what he thinks or feels and the parents find it hard to help him express himself and end up giving too much help. The therapist may address the problem also from a developmental standpoint, emphasizing how families have to adjust to the growing mental independence of adolescents and understanding that they might actually know less about the child’s thinking than they had done in previous phases of the child’s development.
The therapist might say, in essence, but not necessarily delivering the piece without one or two pauses, during which he invites comments and reflection:
//“when a family is under strain, these sorts of problems are quite common because often it’s hard to find the time or energy to really sit down and work things through, particularly when feelings are running quite high. I was wondering whether one way of thinking about this situation is that Jon gets angry because he feels a bit misunderstood sometimes and that Mr and Mrs X you have been trying very hard to help him and making lots of suggestions. But of course it’s impossible to always get it right, and Jon gets angry when you don’t. When he gets angry he can’t explain to you what’s bothering him and when you try hard to work out what’s bothering him he doesn’t get a proper chance to think through and explain to you exactly what’s on his mind. That’s a bit like a vicious circle. Understanding what children are thinking can often be particularly difficult as children get older, especially when they are moving to upper school and approaching adolescence. It’s a time when children often want more independence and to be treated more like an adult”.//
!Linking the formulation with the intervention.
The therapist explains that these difficulties can be overcome by working together on helping the child to develop ways to communicate his feelings and feel less vulnerable that these may be ignored or misunderstanding and helping the child to feel a sense of autonomy and independence. The therapist might say
//“The work that we do is all about helping families in times of stress to communicate with each other and to help children express what they think and feel. What we would try to do is….”//
In this section we describe various techniques to assist mentalizing. These can be employed at any stage during therapy sessions and at any point of the [[MBFT-Core3 - Loop]]
This is a tag collecting together all material that is relevant to the therapist starting out as an MBFT therapist, or starting out on a new MBFT case
You should receive basic training on how to navigate and use this [[Licensed]] digital TiddlyManual, although technical help is available on the internet. Note that the terms of the License do not allow for distribution of altered or edited versions of the original, nor will there be technical support available from the AFC or authors for technical queries.
You should receive training in MBFT before working with cases.
See [[MBFT-Preparation before first session]] for details on how to get a case under way.
This is a tag connecting all content that relates to the practical structure and content of specific sessions - "What to do when..." Included under this tag is a
!Chronological sequence of sessions:
Family sessions should initially take place at ''fortnightly intervals'' though the intervals might be varied subsequently, in discussion with the family. See [[MBFT-Timeline]]
!
!!@@color(red):Techniques and information on how to //Assess Mentalizing and spot failures in Mentalizing//@@:
><<tag [[MBFT-Assessment of Mentalizing]]>>
!!@@color(red)://Core features// of MBFT practice, practiced in //every session//@@:
><<tag [[MBFT-Core features]]>>
!!@@color(red):A range of techniques, games and activities used "to taste" in order to //foster Mentalizing//@@:
><<tag [[MBFT-Specific Mentalizing Techniques]]>>
!!@@color(red):Techniques used in //specific circumstances// or with a //specific focus// (Family, parental couple, etc)@@:
><<tag [[MBFT-OtherTechniques/Activities]]>>
!What needs to be covered:
#Brief description/clarification of problems as described in initial referral.
#Consider appropriateness of this approach in this case.
##If necessary signpost to mainstream/statutory services as alternative/parallel planning (important to be clear if there are indications of a major mental health problem for which there are other evidence-based treatments - it would be inappropriate to offer MBFT as a single modality intervention if there were clear indications of a diagnosis that has clear (for instance via NICE guidelines) treatment indications apart from family-based treatements.)
#Brief explanation of MBFT
##Family approach.
##Free (AFC provision is funded – contingent on outcome evaluations/research (we would send questionnaires)
##Number of sessions – 6th session a review; normally 8 – 12 sessions total.
##"Top-ups": After sessions families can claim 3 top-ups for one year.
##After that therapy is not funded – if we identify a need for more, we can signpost options available.
#[[Confidentiality]]:
##GP letters – this is a compulsory part of the AFC approach to ensure "joined up" services.
##Team discussion is part of the treatment model.
##Videoing sessions is part of the treatment model - we take consent for that separately.
#Explain that there will now be a wait for a therapist to become available – offer likely timescale.
#First session preparation:
##discuss who should come - see [[MBFT-Consider who should be invited to attend the first session]].
##whole family is preferable (but could attend without child for first session if they required clarification of how MBFT works, etc)
!Advantages and Disadvantages
#Initial telephone contact can help the engagement process and diminish fears. For example, parents may be fearful to discuss specific issues in front of the children and they can be reassured that there is a possibility for this during therapy.
#On the telephone they should be encouraged to consider the ‘pros’ and ‘cons’ of bringing the children, with the therapist not assuming a specific stance, such as insisting that the children or separated partner had to attend, but instead to facilitate the adults family members’ decision making process (“bring anyone you think is important”).
#A possible disadvantage of pre-session telephone contact is that the adult(s) may want to form a coalition with the therapist against another family, or family member, or to impart some ‘confidential’, if not ‘secret’ information. The therapist can respond by saying: “I do understand that you want to tell me something important and confidential now. Before you tell me, I would like us to think about the advantages and disadvantages of doing so”. Inviting such reflective process can be helpful, but on occasion can also prove to be fruitless.
!The family identifies a problem scenario
Usually this concerns the child and some behavioural issue.
!The therapist sets up the activity by:
*Instructing the family to enact the interaction
*Just before the child performs the problematic action, the child presses the ''‘pause button’''.
*With the pause button on, one member of the family takes the child’s place and the child walks away to //“stop and think”//.
*The child then tries to come up with as many reasons why s/he shouldn’t do the action as s/he can.
*Every few moments, the parent says //“I’m going to do it”// and the child has to say //“no, stop and think”// and continues to brainstorm reasons.
*Finally, the child tells the parent all the reasons s/he came up with and the parent praises him/her saying //“those are great reasons; I’m not going to (insert action here) after all”//.
''Note:'' The purpose of this activity is to highlight how mentalization can be maximized when stressful/difficult situations are slowed down.
Here we gather all material relating to the Theory underpinning MBFT.
!!For further reading, see:
Handbook of ~Mentalization-Based Treatment. JG Allen & P Fonagy (Eds.), 2006, Chichester, UK: John Wiley & Sons
Affect Regulation, Mentalization, and the Development of the Self (P. Fonagy, G. Gergely, E. Jurist and M. Target - published 2002 by Other Press)
This tag collects together the sequence of Sessions in a course of MBFT, so that the practitioner can orientate him or herself to where they are/should be.
#Make reference to the referral (“Mr / Mrs x asked us to offer an appointment for the family”)
#Raising the issue of the ‘person context’ (“We usually find it helpful if the whole family and anyone else you regard as important attends the first meeting. However, sometimes this may not be appropriate and we leave it to you to decide who should come”).
#Inviting pre-session telephone discussion (“If you want to discuss the ‘pros and cons’ of bringing, or not bringing certain family members, please telephone us before the first meeting”)
#Explaining practicalities (e.g. duration of first appointment, location of clinic etc)
!Aims: to explore how different people respond to their inner feelings.
*At the suggestion of the therapist ''a range of emotions are displayed'', in turn, by each family member. The activity is started by the therapist stating:
//“Let’s see what people do when they are cross, sad, afraid, angry, jealous… Let’s try it out and start with you, Johnny… When you are cross, what do you look like? Good!...And what do you ''do'' when you have that feeling? Can everyone look at Johnny, and remember what he looks like when he is cross and what he does. Now you, Dad, you are next...”//
*Everyone is asked to remember all the different feelings.
*Now, the therapist may ask for everyone to //imitate one particular emotion displayed by one family member// (e.g. scrunching nose when cross), and also to state what (for instnace, Dad) did when he feels cross.
*The therapist participates in this game.
!The next stage of this activity is modelled on the ‘hot-potato game’:
The aim is for the person who catches the potato or ball to hold it for as little time as possible and, once the task is completed, to pass it on to another person in the room, including the therapist, who also encourages everyone to go faster and faster.
!Version 1: ‘What I feel and what I do’
The family member calls out an emotion and throws a ball to a member of the family who has to act out (or say) what the child does for this emotion as quickly as they can and then throw it back.
!Version 2: ‘What others feel, what do they do?’
When the thrower chucks the ball s/he calls out an emotion and the catcher has to say what the thrower does when s/he feels this emotion. The catcher can then throw the ball to anyone else in the family and the process continues.
!Version 3: ‘When //s/he// has a feeling, what do //I// do?’
Just like above, except this time the catcher has to say what they do when the thrower feels the emotion stated.
!Version 4: Feeling and doing game
If this activity does not seem practical, the game can be adapted by:
*Putting the five emotions in a jumbled up order in the squares of a chutes and ladders-like board.
*At the start, a ball is given to one family member to hold.
*The person to their left then rolls a dice and moves their piece forward that number of spaces.
*They then have to say what the person holding the ball does when they feel that emotion (or what ‘they do when I feel that emotion’ in the more complex versions 2 and 3).
*If they get the answer wrong they have to roll the dice again to see how many spaces they go back.
*The ball is then passed on to the next person in the circle on the right.
*The person to roll the dice next is the person to the left of the person who went last.
!Once the game is over:
The therapist asks what this was like for each person and for the family to enter into a discussion with each other about how people may see themselves displayed in others.
!Family members are invited to create a story
The story centres around experiencing feelings.
!A story teller is identified, usually an adult or teenager during the first ‘round’.
Stories can reflect current issues, or they can be fantastic tales.
*At each significant moment in the story the person telling the story says “and that made me feel…?”
*The child then has to find the facial emotion or emotion word (choose as appropriate to the child’s developmental level) that they think fits the situation.
*The person telling the story then tells the child what he/she actually felt.
*Each time the child gives the same answer as the storyteller the child moves one space on a ‘snakes-and-ladders’ type board.
*When the child does not get the same answer as the story teller it is important to help the child understand what led to these different answers in terms of what the situation meant to the protagonist and what he/she thought.
*This task can also be used in reverse when the target is to increase the mentalizing abilities of the parent. The child is asked to tell a story and the parents are asked to work out what the child was thinking and feeling at various significant moments.
!Another version: The ‘frozen statues’ game.
*The therapist asks the family members to get up and gives each the task to //‘make a frozen picture or statue’// of a particular emotion, one at a time, such as:
//‘being very anxious’, ‘feeling sad’, ‘feeling happy’, ‘feeling loving’, feeling angry’// etc.
*Family members are asked to look at the pictures each has made and, at a later stage, speculate about the stories and emotions contained in each of them.
*Capturing these on a digital camera and re-viewing these, can be helpful.
''Note:'' The purpose of this activity is to highlight how individual the process of mentalizing each other can be.
*Look for overused dyads/coalitions, this task is especially helpful for blended families (with step-parents and step-kids)
*Choose tasks to enhance //other// dyads during the week. For example, a 20 min walk in neighbourhood with destination (tea shop, park, not chores). During the walk the two people talk, alternately speaking and listening (use ‘I’, separate thoughts, feelings, actions).
*Make a schedule for this in the session, each person writes something about it in family notebook.
!Note:
The assumption here is that when people don’t spend time together they will have a less clear and coherent picture of the other person’s attitudes, likes and dislikes etc.
*A relatively neutral event is picked
*Cards are distributed to members of the family with emotions written on them. Complexity will depend on the age of the individual(s) concerned.
*The ‘guesser’ has 10 questions to ask to try to guess what the others are feeling.
*They are not allowed to ask directly “what are you feeling?”
*The players are not allowed to lie.
*Family members can use also charades as a way of displaying specific feelings, related to familiar scenarios. Everyone is subsequently encouraged to say whether and how any displayed feelings with their own experiences.
''Note:'' The purpose of this activity is to practice mentalizing with family members by using a relatively neutral event.
!The purpose of this activity:
To engage the family in seeing that other people have difficulties too and that they might be able to help with finding a solution.
!The therapist sets up the activity in this way:
*The child / adolescent identifies a situation for the parents to be in (for example going to a school function, time to do chores, go to bed)
*The child then listens to the parents struggle with the task
*The child is encouraged to help the parents out, or consult to them, by telling them what to think, say, and feel
*At some point the therapist encourages the parents and child(ren) to reflect on how they think/feel in both similar and different ways
!To make this activity more playful:
The metaphor of a film set can be used, with an imaginary camera and ‘roll’ and ‘cut’ commands.
The therapist’s main role is to facilitate the role play and subsequently get family members to mentalize on their own and others’ experiences.
''Note:'' The purpose of this activity is to allow individuals in the family to be able to appreciate both the similarities //and differences// of each other’s minds.
*Have the family schedule 2-3 times/week when they will all sit down,
*One-person records, one observes (if more than 3 people), two converse.
*Children over 2 have to sit and listen.
*One tells the other an elaborated, personal story about something that has happened in the day (story takes approximately 5 minutes) – use ‘I’ and distinguish what they did, how they felt and what they thought.
*The person listening tells it back, using ‘you’, and the narrator corrects story, then the listener repeats it again.
*The observer takes 2 minutes to describe what they saw, this should be positive if possible:
>//"I saw you describe yourself well, and I thought you conveyed it well, it was interesting."//
*The recorder writes down record in special notebook.
!Note:
The rationale is that families bond through stories. Bonding creates understanding and mentalizes relationships. Many families have lost this secondary to their lives getting too busy. This activity highlights the importance of having a little special time together for sharing thoughts and feelings.
*The family is asked to do something together, e.g. build something with blocks, or do a jigsaw, or discuss where they are going for an outing on the weekend, plan a family meal, etc.
*This is followed by a period of reflection, encouraging them to consider how it felt...
*Each family member reports on how they //thought// the others were finding it, then each person comments on and corrects the other’s perception
*The discussion has to be focused on the task and //must not be diverted onto past conflicts or other events//.
!Note:
The family gets practice in observing each other’s bevhavior and feelings.
See [[MBFT-1-MustHaves Before starting]] to prepare for the first session.
The family is briefly and ‘globally’ greeted in the waiting area, with the therapist saying his/her name and inviting the family to come to the therapy room (“I am Mr X, good to see you all here, would you like to come with me…”).
''Further introductions should not take place in the waiting area and in front of other clients, to preserve confidentiality''.
# [[MBFT Session 1.1 - Introductions]]
# [[MBFT Session 1.2 - Therapist explains the approach]]
# [[MBFT Session 1.3 - Discussing the use of video]]
# [[MBFT Session 1.4 - Problem definition - Understanding and Being Heard]]
# [[MBFT Session 1.5 - Issue 'Programme' for 2nd session]]
!After the session:
See the [[MBFT-2-MustHaves After first session]].
!
For detailed description of the first session click on [[MBFTSession1]]. At the bottom of this note is listed a series of specific tasks for each session after the first one.
!The sessions ''begin'' with:
#finding out how the family has managed since the first session and
#creating an agenda as to what should be covered in the session.
Each person’s views are obtained, ''starting again with the youngest family member, with the parent(s) asked last''.
!Setting a session agenda:
The family is then invited to find a way of deciding and agreeing which of the topics / issues should be focused on. The therapist’s task is to help this process to evolve by getting the individual members to look at the ‘pros’ and ‘cons’.
!Focussing on Mentalization - identify specific situations
This may relate to one of the structured tasks for the session (see below) referred to as [[MBFT-2-Selecting a pertinent problem example]]. In order to assess and understand the parents’ use of mentalizing in relation to the child and the child’s in relation to the parents, the therapist asks the family to focus on situations in which
#the child was upset or distressed, and a situation in which
#there was conflict between the child and parents.
Ideally, at least one of these should be an example of the target problem or issue identified at the outset. If this has not happened, then an additional description should be sought involving the target problem.
Having heard the situation described in some detail the therapist then asks a series of [[MBFT-Questions to elicit Mentalization]] in relation to each situation:
!Individual Session Structure
for the general structure see: [[MBFT-Structure of Sessions]]
The structure of the second session is somewhat different from subsequent sessions in that a major purpose is to continue to ‘join’ (or form a therapeutic alliance) with each family member. Initially considerable time may need to be spent, in age appropriate language, to explain the model and to discuss the care plan and any formulation the therapist may have arrived at.
!Looking Back and Looking Ahead
!!AIMS:
#To review therapy to date and to consider the ‘pros’ and ‘cons’ of future therapeutic work or terminating therapy altogether.
#To provide an opportunity for the therapist to foster a "meta-narrative" by the family about their experience of the therapy so far.
''This is best achieved via the presence of a second "consulting colleague", at least for part of the session.''
!!RATIONALE and strategy:
In terms of Mentalizing, the provision of another person who is able to adopt and speak from a "meta-postion", and who can reflect on the story of the therapy without being enmeshed within the affect that inevitably accompanies such work, offers the possibility of helpful new perspectives.
To maintain his or her "third postion", and the centrality and authority of the therapist, there is a deliberate ''avoidance of direct conversation between the "consulting colleague" and family.''
!!SESSION STRUCTURE
!!!Part 1. Introducing the session
The therapist explains:
//"I want to invite a colleague in to help for a part of this session. This person punctuates our work for a number of reasons..."//
>1. //"Just as, in our work together we have often tried to ''Pause and Look Back'' over particular episodes that happen in sessions (or that you tell me have happened during the week), so inviting this colleague in now is really a way to help us do the same thing: to ''Pause and Look Back'' over our work in these sessions...."//
>2. //"We find that having a colleague in the room for a little time can help me (and you) to think clearly and to get new perspectives about the work we have done."//
>3. //"In particular we are interested in making sure that we are best prepared for the last part of the session, which is when we plan for the future after the consulting colleague has left, which we may call ''staying on track, and spotting trouble ahead''..."//
!!!Part 2. Looking Back
Consulting colleague ("reviewer") is invited in
!!!!The Consulting Colleague (Reviewer) Stance:
(i) The Consulting Colleague is there to raise questions and help the therapist to mentalize in the presence of the family. In particular the stress is on the therapist mentalizing his/her role in the therapy, and what each family member may have made of this (or //what they may be making of hearing you speaking of this here and now//)
(ii) The Consulting Colleague only addresses questions to the therapist, not the family.
(iii) The Consulting Colleague strives to elicit curiosity (mentalizing) in the family about these questions.
(iv) The Consulting Colleague is //not// there to offer understandings or comments, unless these are phrased as questions... ("I wonder if...")
(v) Given the proximity of an ending of therapy, the reviewer maintains a specific focus on any particular processes that are revealed in the interplay between therapist and family members when the forthcoming ending is discussed. //("I have noticed that whenever the idea of ending comes up in discussion here, you seem to share jokes with the family. Is there anything in this observation that is worth thinking about?")//
!!!!Consulting Colleague Practice:
The Consulting Colleague offers some prefacing remarks to the family, to explain (reiterate) that:
>//"The way we usually do this is that I will mainly be asking questions to your ''therapist'', rather than directly to ''you''. But obviously if you do want to say anything directly to me at any time, then I would be very happy to hear this!"//
Consultant asks the therapist and family members simple questions ''(in his or her reply the therapist limits him/herself to a maximum of //three key points.//)''
>//1. "What do you think the different family members here make of why I am here?"//
>//2. "Can you tell me about what you have been doing - what are the most important areas you have covered in the sessions?"//
>//3. "What do you think the family members make of what you have described? Do you think they have the same ideas, or different ones? Who would agree with what, and who would have additional or different things to say?"//
>//4. "Can you check this out with the family members now?"//
>//5. "So what do you make of their responses?"//
>//6. "And where does this now take you?"//
!!!Part 3. Looking Ahead: Staying on track and Spotting trouble ahead
The Consulting Colleague leaves the family and therapist to finish the session by planning how they use the remaining sessions (if further sessions have been agreed) to '''stay on track, and spot trouble ahead'''. If this is agreed as the last session, then the remaining time in the session is spent considering this. See also [[MBFTSessionFinal]].
Mostly additional sessions after the review are conducted according to the same pattern as those for [[MBFTSession2-5]], but there may be alterations to the [[MBFT Care plan]] following the Review meeting ([[MBFTSession6Review]]), that will shift the focus, and shape specific [[MBFT-Inter-session activities and tasks]].
The family is invited to set the agenda. The therapist specifically asks about positive family activities. The role of the therapist in the family's life is discussed and how this ‘space’ can be filled when therapy is terminated.
!Expectation-management, and Relapse-prevention:
The family is invited to predict likely difficulties for next weeks and months and to think about preventive action.
!Staying on Track, and Spotting Trouble Ahead
See [[MBFTSession6Review]] for more thoughts on gathering the material that enables a family and therapist to construct a plan for this.
See [[MBFT-5-MustHaves Approaching Ending]]
One of the MBFT-MustHaves is the end-of-therapy [[MBFT-Outcome measures - final]].
!Suggested availability:
From three months after finishing therapy, and within one year following the last session, the family may contact the therapist to arrange up to three additional "top-up" sessions...
!Content of Top-up sessions:
This will necessarily be led by the needs of the family.
There will be time set aside for "news updates" - the therapist may use a range of [[MBFT-Specific Mentalizing Techniques]] to foster mentalizing whilst these are recounted; for instance asking different family members to give the news //about each other rather than themselves//.
The focus is on:
*reprising the work on mentalizing
*encouraging present examples of this
*searching for examples in the recent past
*the co-construction of 'relapse-prevention' plans to avoid family members slipping back into previous unsuccessful patterns of mentalizing.
As ever, the therapist will need to use clinical judgement regarding clinical material and potential risks uncovered at these sessions, and discussion with supervisors or the wider team is advisable if clinical need remains high.
!~Mentalization-Based Treatment - Families
Formerly known as MBFT (~Mentalization-Based Family Therapy)
The ~Mentalization-Based Treatments steering group agreed in September 2010 that [[MBFT]] should change its name to MBT-F (''__~Mentalization-Based Treatment - Families__'').
This is partly to bring it in line with the MBT 'brand' (MBT for adults with Borderline Personality Disorder, ~MBT-A adapted for Adolescents, ~MBT-G Groups, and now MBT-F, leaving [[AMBIT|http://imp.peermore.com/imp/recipes/imp/tiddlers.wiki]] as the only outlier in this 'family' of mentalization-based approaches.)
In addition, we wanted to make it quite clear that the brief MBT-F trainings do not attempt to produce the equivalent of 'Family Therapists' in the way that years of training in systemic family therapies do, and that MBT-F is, rather, an augmentation and novel re-framing of existing skills in Family therapists, or a reasonable introduction to what might be broadly seen as "family work" in less experienced clinicians.
MPTW is a distribution or edition of TiddlyWiki that includes a standard TiddlyWiki core packaged with some plugins designed to improve usability and provide a better way to organise your information. For more information see http://mptw.tiddlyspot.com/.
<<tag MBFT-Start/Help>>
<<tag MBFT-Theory>>
<<tag MBFT-Sessions>>
[[MBFT-Techniques]]
<<tag MBFT-MustHaves>><<tiddler ToggleRightSidebar>>
!
>See titles you have just visited with the 'breadcrumbs trail', below... click on any heading to revisit it, click on 'Home' to clear the 'breadcrumbs' -
!!!!N.B. You can only use this facility if you are authorised and have the appropriate password
If this is a downloaded copy then it is yours to do as you please with, though note the [[Licensed]] nature of this product.
!
<<newTiddler>>
!
Therapist acts as "production assistant", encouraging (for instance) the child to interview the parents - facilitating the questions they might wish to ask. Set up the room so that two (or more) family members are "in the TV" and the others are watching.
Family members "in the TV" are encouraged to play-act interviewing each other, while the others watch/observe. If the conversation becomes too heated or non-mentalizing is occurring, the "watchers" can "turn down the sound" or even "switch off" for a while, in order to discuss what they have been seeing (to ''mentalize'' what has just been occurring.
This techniques is a way of SLOWING DOWN the action that is playful, and thus reassuring, but which allows thinking/mentalizing to come back "on-line"
<html><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Fn2PhfpYoac?fs=1&hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Fn2PhfpYoac?fs=1&hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></html>
Space to reflect on what that was like?
Use the
This is a tag gathering any problems specified as 'Clinical', from which links to other appropriate manualized material are available. In the fully functioning TiddlyManual, a local team has the opportunity to add content here to its own local template (adding "notes in the margin" so to speak, that allow attunement of the manual to the local setting) - so as to describe specific local problems that are recognised as recurring, which, although not addressed directly in the manual can be usefully responded to by present content - so that a brief description of the problem can be followed by links to the most approriate sections of the manual.
<html><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-15074521-6");
pageTracker._trackPageview();
} catch(err) {}</script></html>
!The Nature of mentalization
!!See also:
[[Introducing MBFT, including criteria]]
!!Definition:
Combining the framework of psychoanalytic theory, attachment theory and aspects of research on social-cognitive development, a relatively new frame of reference for psychopathology and psychotherapy has been proposed by a group of psychologists working in the United States and Europe.
The core idea, mentalization (or [[Mentalizing]] as many practitioners prefer), originates in philosophy of mind and denotes the uniquely human capacity:
>@@color(red):__''The imaginative activity of making sense of the actions of oneself and others''__@@
>@@color(red):__''on the basis of //intentional mental states// such as desires, feelings and beliefs.''__@@
!Complexities
Mentalizing is a complex and uncertain process for a variety of reasons including:
*''A person can act according to a belief that is wrong''.
*''Beliefs'' arise through a complicated interaction between sensory perceptions, memory, and motivation and so ''may change for many reasons'', perhaps because the environment has changed, or because some hidden mental process has occurred.
*Because beliefs are just //representations// of reality, ''people can have very different beliefs and feel very different emotions about apparently similar things.''
*''We do not just mentalize at a //conscious// (or verbal) //level//'', but also at a //procedural level// - which involves non-conscious and non-verbal affective (feeling-based), motor and perceptual strategies to grasp and convey mental states.
*''Mentalizing is central to understanding, regulating and communicating emotions'', since emotions relate very directly to one’s desires or goals and, beliefs about whether they are being met, or frustrated or threatened. Reflecting on one’s own beliefs, desires, and feelings is also important for maintaining a healthy inner life.
Almost all aspects of social interaction entail the capacity to mentalize; //to understand the other's behaviour in terms of the activity that has taken place inside their minds that may provide a good explanatory model of their actions.//
!Further details on Mentalizing:
*There are many helpful [[Mentalizing Quotes]] that help to define this very old concept.
*There is a hierarchical series of [[Mentalizing levels]] that can be observed, and which the therapist tries to build on.
*There are [[Components of Successful Mentalizing]] that can be useful 'checklists' for therapists (and clients!)
*There are [[Components of Impaired Mentalizing]] that can be useful 'checklists' for therapists (and clients!)
*There is [[MBFT-Core1 - Therapist's Stance]] which is one of the [[MBFT-Core features]]
!A Developmental Context:
The rudimentary capacity to grasp mental states becomes evident in the second year of life and it continues to be refined over the whole course of our lives. In the process of development, the perception of goal-directed behaviour takes on greater complexity and richness as the nature of mental states is grasped with increasing sophistication. Making sense of behaviour in this way is the cornerstone of clinical practice. Therefore, the ability of the clinician to mentalize is particularly important when behaviour fails to make sense in obvious ways or seems inexplicable.
!!!Attachment Theory and Mentalization:
There is an important relationship between [[Attachment theory]] and mentalization.
Attachment in infancy is primarily a behavioural or procedural construct. According to Bowlby, at about the age of three, behaviours signifying a goal-corrected partnership begin to emerge. The central psychological processes for mediating goal-corrected partnerships are the [[Internal Working Model]]s.
!!!Mentalizing emerges from [[Attachment Relationship]]s
Meta-cognitive capacities, such as the capacity for psychological interpretation, are the product of the complex psychological processes engendered by close proximity in infancy to another human being, the attachment figure.
In order to develop mentalization, the individual needs:
*A symbolic representational system for mental states ([[Internal Working Model]]).
*To be able to selectively activate states of mind in line with particular intentions (attentional control).
!!!When Attachment is Disrupted:
These create a developmental vulnerability for a failure of the complex meta-cognitive capacities referred to above. The relationship between attachment and mentalization, however, is //bidirectional//. The inability to represent the mental state of the self, attentional problems, and difficulties in reflecting on the mental states of others obviously disrupts attachment relationships which in turn undermines the natural emergence of mentalizing capacities. In this way, in some families, the very process that could lead to the child overcoming problems arising out of interpersonal challenges is undermined by the difficulties in the child’s attachment system.
!!!Failure of Mentalization:
<html><div align="center"><iframe src="
http://docs.google.com/present/view?id=d6h2gb4_169ghdcztg6&revision=_latest&start=0&theme=blank&cwj=true" frameborder="0" width="100%" height="600"></iframe></div></html>
When the [[Attachment]] system is activated by stress/anxiety, etc, Mentalization is effectively de-activated. ''Crucially, this occurs in both the client/patient as well as the Practitioner at times of high anxiety.''
Clinical work of all kinds crucially depends on a focused endeavour to understand the seemingly anomalous actions that we construe as psychopathology in mental state terms, eg mistaken beliefs, inappropriate desires, conflicting motivations, incoherent thoughts, etc.
A broad range of psychopathology can be seen as involving one or another form of:
!!Specific mentalizing dysfunction.
Three key concepts that help to describe the ''primitive ('pre-mentalizing') states of mind that are adopted when mentalizing fails'' are:
>[[Psychic equivalence]]
>[[Pretend mode]]
>[[Teleological thinking]]
How these affect an individual and his or her relationships are laid out in [[Components of Impaired Mentalizing]].
!Common Psychopathologies and failures of Mentalization
We have suggested that ''all that we label as //"psychopathological"//'' may be seen as the mind misperceiving or misinterpreting the status of its own contents and its own functions:
!!!!Trauma and its re-experiencing (PTSD)
May entail a collapse of mentalizing, evident in an experience of mind-world correspondence wherein mental states are equated with reality ([[Psychic equivalence]]) while simultaneously decoupled from current reality ([[Pretend mode]]).
!!!!Depression
Entails the adoption of an over-involvement with mood-related cognitions.
!!!!Borderline personality disorder
May be viewed as a fear of minds.
!
Being careful to avoid fostering the misuse of Mentalization (see [[Mentalizing difficulties]]), in the case of warring divorced or separated parents (for whom there is no goal of repairing their personal intimacy/love) it may be helpful to emphasise the fact that being able to Mentalize about their (ex)-partner may simply be a way of getting the best out of him/her as regards their //parenting//.
This second step is deployed in order to share and provoke curiosity amongst and between the family members.
As noted above, the most important features of a mentalizing stance are respect for, and curiosity about, the minds of others and an attitude that learning about how others are thinking and feeling is enlightening. In fact, ''the therapist models this by his /her very stance'', by enquiring about how others are feeling or what they might be thinking and by not making assumptions about either of these, literally or metaphorically scratching his head. Thus, the therapist may say:
>//“This is fascinating, I wonder Sally what it feels like for you when your dad does x?” “Dad, what do you think it feels like for Sally? If one could see thought bubbles come out of your wife’s head, what might be in there about how she thinks Sally feels right now?”//
>//“Let me see if I got this right – are you saying that when your dad does x that makes you feel y, and you think to yourself z? Does anyone here have a different view?” “Can you discuss this with each other?!”//
Much of this is a process of the therapist [[Checking]] and encouraging family members to rehearse their own [[Checking]].
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ic4_8sLwJB4&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ic4_8sLwJB4&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!The major aim of status quo mentalizing:
...Is to set a context for what could be termed //‘emotional brainstorming’//.
It encourages family members to voice feelings and once mutual exploration unfolds and gains its own momentum, the therapist can decentralize himself and see his role a being that of a facilitator, to enable discussions between family members (and not merely between the therapists and individual members of the family), but also with the task of keeping a focus on mentalizing interactions, including actively blocking non-mentalizing interactions (or ‘fillers’).
This is the capacity to feel an affective state, and to retain reflective thinking about that state. It is one of the [[Components of Successful Mentalizing]] and in particular relates to the [[Perception of own Mental Functioning]] - it requires a meta-cognitive stance, i.e. to be able to "think about ones thinking (and feelings)"...
The active (verb) version of the word (noun) - "[[Mentalization]]".
In fact, as Mentalization is something that people ''DO'', rather than a "Thing" that is either present or absent, Mentalizing is the preferred word.
!The verb is better than the noun!
Like "//Mentalize//", this is actually a better word than [[Mentalization]] as ''it is a VERB'' - and mentalization is ''something that we DO'' rather than a thing we //have// or //do not have.//'
The main details for understanding this concept are to be found at [[Mentalization]].
!To "Mentalize a problem"
This implies to reach (via imaginative, curious, tentative enquiry) an understanding of the behaviours of the other person that "makes sense of" these in terms of their ''intentional mental state'' at the time.
>//"My mother is screaming at me now ''because she has been very worried for my safety'' and because she wants to know that I am growing up to be able to look after myself properly, and ''manage any future relationships responsibly''; i.e. to understand that treating people as I have just treated her is not alright. After I spoke to her six hours ago and said I would be back in a few minutes, she became increasingly worried when I did not turn up until now... she wants me to understand how difficult it will be for me if I do not learn this lesson at this stage in my life..."//
Would that all late-returning adolescents were able to Mentalize a situation so accurately!
!Different ways of defining Mentalization:
>To see ourselves from the outside and others from the inside
>Understanding misunderstanding
>Having mind in mind
>Mindfulness of minds
>Introspection for subjective self-construction – know yourself as others know you but also know your subjective self
>Those psychological skills that allow us to spontaneously and largely in an intuitive manner //make sense of the actions of oneself and others by reference to mental states// such as beliefs, desires and feelings. Peter Fonagy (2004)
!Quotes about the way Mentalization arises in the child:
>//"The baby looks at his mother’s face and finds himself there"// Donald Winnicott
>//"She/he thinks that I think, therefore I am"// Peter Fonagy
!From literature
> Do not sit at home,
>Do not go to the forest,
>But recognise mind
>Wherever you are.
Saraha - "Treasury of songs"
c. 1st millenium AD
>A pair of wings, a different mode of breathing which would enable us to traverse infinite space would in no way help us for if we visited Mars or Venus keeping the same senses they would clothe in the same aspects as the things of the earth everything that we should be capable of seeing. The only true voyage of discovery, the only fountain of eternal youth, would be not to visit strange lands but to possess other eyes, to behold the universe through the eyes of another, of a hundred others, to behold the hundred universes that each of them beholds, that each of them is…….with this, we really do fly from star to star.'
Marcel Proust from The Captive
We can conceive of a series of different LEVELS of mentalizing, in what could be seen as a hierachy, with each //higher// order relying on the presence of //lower// orders before it can be sustained:
#[[Implicit Mentalization]]
#[[Explicit Mentalization]]
#[[Affective Mentalization]]
There are a variety of different menus on the computer screen to help the user navigate around and manage the material in the manual.
At the top of the screen, below the SiteTitle, you can click on items from the Main Menu which direct you to all the major sections of the manual.
Moving the cursor across any specific open '[[Tiddler]]' causes its own menu to appear just above it:
[[Close]], [[Close others]], [[Edit]], [[References]].
In the right hand margin is the [[Sidebar]] which offers a click-able list of important things that you can DO with the information in the manual. Below these is a further menu arranged rather like a 'card index', known as the [[Tabs]], which contain all the material in the manual, sorted in different groupings and arrangements to allow rapid identification.
When people get stuck in all too familiar interactions, a mini role play may help to move things on.
>//“Let’s imagine you were all in a play, with familiar roles and rehearsed routines. You know that if mum says that, dad will say this and you will do that….in your family you have got some very well established scripts – and always the same ending, like ‘The Mousetrap’ a play that’s been performed in London day after day for the past 50 years…. I would like to see what happens if you change the lines of your family play…. Let’s try…. Pretend you have just come up with that line – now change the next line and see what happens… I would like you to find new endings, to write new little scripts….”//
This can be followed by people ''swapping roles'' for a few minutes, ''for example mother acting the child'', and finding new wordings for familiar scenarios.
These are just one category of the [[Components of Impaired Mentalizing]]. Conversely, there are also [[Components of Successful Mentalizing]]
This refers to situations in which understanding of the mental state of the individual is not directly impaired, yet the way in which it is //used// is detrimental.
While this may occur in the context of the parental relationship, what we are concerned with is the extent to which it is experienced directly by the child. Misuse of mentalizing may occur unconsciously, but nevertheless the way in which it is used will be motivated by the goals, wishes or interests of an individual, a dyad or the family as a whole.
!This can take the following forms:
!!Manipulative use of understanding of the child:
The child’s mental states are recognized but not used to understand the child. There is no mutuality and there is a coercive element where mentalization is used for something else, e.g. as ammunition in marital battle. In these situations the child might experience mentalization as aversive because “being understood” occurs in the context of being manipulated. For example, in the case of separated parents a mother argues with the father about his unreliability in collecting the children. //"You are such a bastard. You never think about how the children feel when you are late! Johnny was really upset and disappointed because he had been waiting to show you his soccer trophy. When you did not come he felt you did not really care about him anymore. Maybe it would be better if you did not bother to come at all!"// Here the mother’s accurate perception of the son’s feelings is used to support a case, which is even more threatening to the child than the disappointment had been. The lesson the child might learn is to try to hide his feelings and pretend that it is ‘OK’. The father, rather than focusing on his son’s mental state, might shut off concern with it in order to avoid noxious battles with his wife. He arrives on time but is less sensitive to his son’s feelings and thoughts.
!!Self-serving distortion of the child’s feelings:
Here the children’s feelings are exaggerated or distorted in the interest of the parent’s unspoken intention or attitude. For example, the father criticizes and complains to his wife that her taking a job means that the children feel neglected and rejected and unimportant to her. He only makes this complaint in weeks when he was required to do more chores but does not make the complaint when she has an au pair there to assist him.
!!Coercion against the child’s thoughts:
The parent appears to undermine the child’s capacity to think by deliberately humiliating the child for her or his thoughts and feelings. For example, the parent exposes the child’s sexual feelings in a family gathering or even individually to the child but in a belittling and insensitive manner. It is often an abuse of power; the child might have confided in the parent or the parent was given the information by virtue of their position of responsibility.
!Stance:
The therapist thinks and talks about the thoughts and feelings of the members of the family, and the relationships between them, ''continuously''.
!This ''mentalizing stance'' shows itself in a number of ways:
*Acknowledging @@color(red):''different perspectives''@@
*[[Checking]] that he/she has properly understood what somebody means:
>//"let me just check that I’ve got this right.."//
...always with an emphasis on mentalizing, so that the thinking about mental states is made explicit. A mentalizing element is added to the original meaning, for example when someone says:
>//"He’s always trying to wind me up!"//
...the therapist inquires:
>//"and does this feel to you that he is being deliberately annoying?"//
*@@color(red):''Showing that the therapist cannot //know//''@@ what a member of the family feels, without asking a question to find out.
*@@color(red):''Helping'' a member of the family to communicate and express what they feel@@, by for example stopping the conversation to ask ‘naïve’ questions about what it is that the person feels they can’t say or explain. This may be particularly important with a less articulate child or adult, requiring support and respect for their position.
*@@color(red):Asking ''‘triadic mentalization-eliciting’'' questions@@, by asking one of the family members to say something about the relationship between another two people. E.g.:
>//“What do you think it was like for your Mom that time that you had a tantrum in the car?//” Or:
>//“How do you think your parents felt towards each other while you were shouting?//”
*@@color(red):''Shifting the focus''.@@ Father complains that his wife’s change of job has caused trouble for others in the family, therapist asks child:
>//“What do you think it’s like for your mum when she changes jobs?”//
*@@color(red):''‘What if’ questions''.@@ To child who was having a tantrum wanting parents to stop the car:
>//“What would you have felt like if she had stopped the car?”//
...and to Mom:
>//“What did you think he would think if you did stop?”//
!When to use this:
In situations where [[MBFT-Parental (couple)-focused Activities]] are required, where the parents (or other subsystems such as siblings - [[Siblings-only sub-group]]) are seen ''alone'', rather than with the whole family...
!What to do:
The therapist uses the opportunity to model ''open mentalizing'' about the ''possible knowledge and feelings of various //OTHER// members (the ones who are not there...) of the family system''.
>//"I find myself wondering whether Peter and Jemima might know more about this difficulty of yours than you are saying... Do you think there is any chance that you are under-estimating their ability to have a 'radar' for your relationship difficulties?"//
*This will help identify false beliefs about other’s mental states as well as understanding more fully the implications of accurate ones.
*The therapist may inquire about this by saying:
>//“Are there things that you feel are impossible to discuss with your child?”//
>//“What is it that you think would happen?”//
>//“What would they think or feel, or do, that it has to be kept secret?”//
Name: MptwBlack
Background: #000
Foreground: #fff
PrimaryPale: #333
PrimaryLight: #555
PrimaryMid: #888
PrimaryDark: #aaa
SecondaryPale: #111
SecondaryLight: #222
SecondaryMid: #555
SecondaryDark: #888
TertiaryPale: #222
TertiaryLight: #666
TertiaryMid: #888
TertiaryDark: #aaa
Error: #300
This is in progress. Help appreciated.
Name: MptwBlue
Background: #fff
Foreground: #000
PrimaryPale: #cdf
PrimaryLight: #57c
PrimaryMid: #114
PrimaryDark: #012
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/***
|Name:|MptwConfigPlugin|
|Description:|Miscellaneous tweaks used by MPTW|
|Version:|1.0 ($Rev: 3646 $)|
|Date:|$Date: 2008-02-27 02:34:38 +1000 (Wed, 27 Feb 2008) $|
|Source:|http://mptw.tiddlyspot.com/#MptwConfigPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#MptwConfigPlugin|
!!Note: instead of editing this you should put overrides in MptwUserConfigPlugin
***/
//{{{
var originalReadOnly = readOnly;
var originalShowBackstage = showBackstage;
config.options.chkHttpReadOnly = false; // means web visitors can experiment with your site by clicking edit
readOnly = false; // needed because the above doesn't work any more post 2.1 (??)
showBackstage = true; // show backstage for same reason
config.options.chkInsertTabs = true; // tab inserts a tab when editing a tiddler
config.views.wikified.defaultText = ""; // don't need message when a tiddler doesn't exist
config.views.editor.defaultText = ""; // don't need message when creating a new tiddler
config.options.chkSaveBackups = true; // do save backups
config.options.txtBackupFolder = 'twbackup'; // put backups in a backups folder
config.options.chkAutoSave = (window.location.protocol == "file:"); // do autosave if we're in local file
config.mptwVersion = "2.4.5";
config.macros.mptwVersion={handler:function(place){wikify(config.mptwVersion,place);}};
if (config.options.txtTheme == '')
config.options.txtTheme = 'MptwTheme';
// add to default GettingStarted
config.shadowTiddlers.GettingStarted += "\n\nSee also [[MPTW]].";
// add select theme and palette controls in default OptionsPanel
config.shadowTiddlers.OptionsPanel = config.shadowTiddlers.OptionsPanel.replace(/(\n\-\-\-\-\nAlso see AdvancedOptions)/, "{{select{<<selectTheme>>\n<<selectPalette>>}}}$1");
// these are used by ViewTemplate
config.mptwDateFormat = 'DD/MM/YY';
config.mptwJournalFormat = 'Journal DD/MM/YY';
//}}}
Name: MptwGreen
Background: #fff
Foreground: #000
PrimaryPale: #9b9
PrimaryLight: #385
PrimaryMid: #031
PrimaryDark: #020
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
Name: MptwRed
Background: #fff
Foreground: #000
PrimaryPale: #eaa
PrimaryLight: #c55
PrimaryMid: #711
PrimaryDark: #500
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
|Name|MptwRounded|
|Description|Mptw Theme with some rounded corners (Firefox only)|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|PageTemplate|MptwTheme##PageTemplate|
|StyleSheet|##StyleSheet|
!StyleSheet
/*{{{*/
[[MptwTheme##StyleSheet]]
.tiddler,
.sliderPanel,
.button,
.tiddlyLink,
.tabContents
{ -moz-border-radius: 1em; }
.tab {
-moz-border-radius-topleft: 0.5em;
-moz-border-radius-topright: 0.5em;
}
#topMenu {
-moz-border-radius-bottomleft: 2em;
-moz-border-radius-bottomright: 2em;
}
/*}}}*/
Name: MptwSmoke
Background: #fff
Foreground: #000
PrimaryPale: #aaa
PrimaryLight: #777
PrimaryMid: #111
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
|Name|MptwStandard|
|Description|Mptw Theme with the default TiddlyWiki PageLayout and Styles|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
Name: MptwTeal
Background: #fff
Foreground: #000
PrimaryPale: #B5D1DF
PrimaryLight: #618FA9
PrimaryMid: #1a3844
PrimaryDark: #000
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #f8f8f8
TertiaryLight: #bbb
TertiaryMid: #999
TertiaryDark: #888
Error: #f88
|Name|MptwTheme|
|Description|Mptw Theme including custom PageLayout|
|PageTemplate|##PageTemplate|
|ViewTemplate|##ViewTemplate|
|EditTemplate|##EditTemplate|
|StyleSheet|##StyleSheet|
http://mptw.tiddlyspot.com/#MptwTheme ($Rev: 1829 $)
!PageTemplate
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<!-- horizontal MainMenu -->
<div id='topMenu' refresh='content' tiddler='MainMenu'></div>
<!-- original MainMenu menu -->
<!-- <div id='mainMenu' refresh='content' tiddler='MainMenu'></div> -->
<div id='sidebar'>
<div id='sidebarTabs' refresh='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "Show/Hide index »" "display lists of tiddlers sorted in different ways"'></div>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
!ViewTemplate
<!--{{{-->
[[MptwTheme##ViewTemplateToolbar]]
<div class="tagglyTagged" macro="tags"></div>
<div class='titleContainer'>
<span class='title' macro='view title'></span>
<span macro="miniTag"></span>
</div>
<div class='subtitle'>
(updated <span macro='view modified date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>
by <span macro='view modifier link'></span>)
<!--
(<span macro='message views.wikified.createdPrompt'></span>
<span macro='view created date {{config.mptwDateFormat?config.mptwDateFormat:"MM/0DD/YY"}}'></span>)
-->
</div>
<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">
<div class='viewer'><pre macro='view text'></pre></div>
</div>
<div macro="else">
<div class='viewer' macro='view text wikified'></div>
</div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<!--}}}-->
!ViewTemplateToolbar
<!--{{{-->
<div class='toolbar'>
<span macro="showWhenTagged systemConfig">
<span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>
</span>
<span macro="showWhenTagged systemTheme"><span macro="applyTheme"></span></span>
<span macro="showWhenTagged systemPalette"><span macro="applyPalette"></span></span>
<span macro="showWhen tiddler.tags.contains('css') || tiddler.title == 'StyleSheet'"><span macro="refreshAll"></span></span>
<span style="padding:1em;"></span>
<span macro='toolbar closeTiddler closeOthers +editTiddler references'></span>
</div>
<!--}}}-->
!EditTemplate
<!--{{{-->
<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>
<div class="title" macro="view title"></div>
<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>
<div macro='annotations'></div>
<div class="editLabel">Content</div><div class="editor" macro="edit text"></div>
<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>
<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>
<!--}}}-->
!StyleSheet
/*{{{*/
/* a contrasting background so I can see where one tiddler ends and the other begins */
body {
background: [[ColorPalette::TertiaryLight]];
}
/* sexy colours and font for the header */
.headerForeground {
color: [[ColorPalette::PrimaryPale]];
}
.headerShadow, .headerShadow a {
color: [[ColorPalette::PrimaryMid]];
}
/* separate the top menu parts */
.headerForeground, .headerShadow {
padding: 1em 1em 0;
}
.headerForeground, .headerShadow {
font-family: 'Trebuchet MS' sans-serif;
font-weight:bold;
}
.headerForeground .siteSubtitle {
color: [[ColorPalette::PrimaryLight]];
}
.headerShadow .siteSubtitle {
color: [[ColorPalette::PrimaryMid]];
}
/* make shadow go and down right instead of up and left */
.headerShadow {
left: 1px;
top: 1px;
}
/* prefer monospace for editing */
.editor textarea, .editor input {
font-family: 'Consolas' monospace;
background-color:[[ColorPalette::TertiaryPale]];
}
/* sexy tiddler titles */
.title {
font-size: 250%;
color: [[ColorPalette::PrimaryLight]];
font-family: 'Trebuchet MS' sans-serif;
}
/* more subtle tiddler subtitle */
.subtitle {
padding:0px;
margin:0px;
padding-left:1em;
font-size: 90%;
color: [[ColorPalette::TertiaryMid]];
}
.subtitle .tiddlyLink {
color: [[ColorPalette::TertiaryMid]];
}
/* a little bit of extra whitespace */
.viewer {
padding-bottom:3px;
}
/* don't want any background color for headings */
h1,h2,h3,h4,h5,h6 {
background-color: transparent;
color: [[ColorPalette::Foreground]];
}
/* give tiddlers 3d style border and explicit background */
.tiddler {
background: [[ColorPalette::Background]];
border-right: 2px [[ColorPalette::TertiaryMid]] solid;
border-bottom: 2px [[ColorPalette::TertiaryMid]] solid;
margin-bottom: 1em;
padding:1em 2em 2em 1.5em;
}
/* make options slider look nicer */
#sidebarOptions .sliderPanel {
border:solid 1px [[ColorPalette::PrimaryLight]];
}
/* the borders look wrong with the body background */
#sidebar .button {
border-style: none;
}
/* this means you can put line breaks in SidebarOptions for readability */
#sidebarOptions br {
display:none;
}
/* undo the above in OptionsPanel */
#sidebarOptions .sliderPanel br {
display:inline;
}
/* horizontal main menu stuff */
#displayArea {
margin: 1em 15.7em 0em 1em; /* use the freed up space */
}
#topMenu br {
display: none;
}
#topMenu {
background: [[ColorPalette::PrimaryMid]];
color:[[ColorPalette::PrimaryPale]];
}
#topMenu {
padding:2px;
}
#topMenu .button, #topMenu .tiddlyLink, #topMenu a {
margin-left: 0.5em;
margin-right: 0.5em;
padding-left: 3px;
padding-right: 3px;
color: [[ColorPalette::PrimaryPale]];
font-size: 115%;
}
#topMenu .button:hover, #topMenu .tiddlyLink:hover {
background: [[ColorPalette::PrimaryDark]];
}
/* make 2.2 act like 2.1 with the invisible buttons */
.toolbar {
visibility:hidden;
}
.selected .toolbar {
visibility:visible;
}
/* experimental. this is a little borked in IE7 with the button
* borders but worth it I think for the extra screen realestate */
.toolbar { float:right; }
/* fix for TaggerPlugin. from sb56637. improved by FND */
.popup li .tagger a {
display:inline;
}
/* makes theme selector look a little better */
#sidebarOptions .sliderPanel .select .button {
padding:0.5em;
display:block;
}
#sidebarOptions .sliderPanel .select br {
display:none;
}
/* make it print a little cleaner */
@media print {
.header {display: none ! important;}
#topMenu {display: none ! important;}
.toolbar {display: none ! important;}
.tagged {display: none ! important;}
}
}
/* get user styles specified in StyleSheet */
[[StyleSheet]]
/*}}}*/
|Name|MptwTrim|
|Description|Mptw Theme with a reduced header to increase useful space|
|ViewTemplate|MptwTheme##ViewTemplate|
|EditTemplate|MptwTheme##EditTemplate|
|StyleSheet|MptwTheme##StyleSheet|
|PageTemplate|##PageTemplate|
!PageTemplate
<!--{{{-->
<!-- horizontal MainMenu -->
<div id='topMenu' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<span refresh='content' tiddler='SiteTitle' style="padding-left:1em;font-weight:bold;"></span>:
<span refresh='content' tiddler='MainMenu'></span>
</div>
<div id='sidebar'>
<div id='sidebarOptions'>
<div refresh='content' tiddler='SideBarOptions'></div>
<div style="margin-left:0.1em;"
macro='slider chkTabSliderPanel SideBarTabs {{"tabs \u00bb"}} "Show Timeline, All, Tags, etc"'></div>
</div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
For upgrading. See [[ImportTiddlers]].
URL: http://mptw.tiddlyspot.com/upgrade.html
/***
|Description:|A place to put your config tweaks so they aren't overwritten when you upgrade MPTW|
See http://www.tiddlywiki.org/wiki/Configuration_Options for other options you can set. In some cases where there are clashes with other plugins it might help to rename this to zzMptwUserConfigPlugin so it gets executed last.
***/
//{{{
// example: set your preferred date format
//config.mptwDateFormat = 'MM/0DD/YY';
//config.mptwJournalFormat = 'Journal MM/0DD/YY';
// example: set the theme you want to start with
//config.options.txtTheme = 'MptwRoundTheme';
// example: switch off autosave, switch on backups and set a backup folder
//config.options.chkSaveBackups = true;
//config.options.chkAutoSave = false;
//config.options.txtBackupFolder = 'backups';
//}}}
Your team has identified an area of your work that is not covered adequately in the manual. Select the broad category for the area of work, and follow the instructions from there.
!NB: TEAM-BASED ACTIVITY
@@INDIVIDUALs are NOT AUTHORISED TO DO THIS.@@
!Manage Risk
<<newJournal label:"Make new Manage RISK item" focus:title text:"Keep to the RULES about manualizing the team's work: THIS IS A WHOLE-TEAM RESPONSIBILITY, NOT AN INDIVIDUAL'S PRIVATE DECISION.
1. Do check you are not duplicating content, by using the SEARCH facility (top right in the sidebar menu)!
2. After reading them (!), DELETE these instructions to replace them with a brief description of a new RISK MANAGEMENT problem that the team has identified as relevant to local practice.
3. Add basic instructions for team members: What to look for, what questions to ask, etc, etc..
4. Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case in copying the title of Thought you wish to link) to relevant other Thoughts in the manual.
5. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of Manage RISK problem you have identified" tag:"Manage RISK">>
!Manage the Client relationship
<<newJournal label:"Make new Manage CLIENT RELATIONSHIP item" focus:title text:"Keep to the RULES about manualizing the team's work: THIS IS A WHOLE-TEAM RESPONSIBILITY, NOT AN INDIVIDUAL'S PRIVATE DECISION.
1. Do check you are not duplicating content, by using the SEARCH facility (top right in the sidebar menu)!
2. After reading them (!), DELETE these instructions to replace them with a brief description of a new Managing CLIENT RELATIONSHIP problem/tip that the team has identified as relevant to local practice. This is anything relating to the relationship between therapist/keyworker/service and client (not other relationships in the client's life which would be a CLINICAL PROBLEM.)
3. Add basic instructions for team members: What to look for, what questions to ask, etc, etc..
4. Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case in copying the title of Thought you wish to link) to relevant other Thoughts in the manual.
5. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of Manage CLIENT RELATIONSHIP problem/tip you have identified" tag:"Manage CLIENT RELATIONSHIP">>
!Manage Clinical Problems
<<newJournal label:"Make new Manage CLINICAL PROBLEM item" focus:title text:"Delete these instructions and replace them with a brief description of a new CLINICAL PROBLEM that the team has identified as relevant to local practice.
Check you are not duplicating content, by using the SEARCH facility!
Add basic instructions for team members.
Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case) to relevant other Thoughts in the manual.
N.B. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of CLINICAL PROBLEM you have identified" tag:"Manage CLINICAL PROBLEM">>
!Manage Network Problems
<<newJournal label:"Make new Manage NETWORK PROBLEM item" focus:title text:"Delete these instructions and replace them with a brief description of a new NETWORK PROBLEM that the team has identified as relevant to local practice.
Check you are not duplicating content, by using the SEARCH facility!
Add basic instructions for team members.
Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case) to relevant other Thoughts in the manual.
N.B. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of NETWORK PROBLEM you have identified" tag:"Manage NETWORK PROBLEM">>
!Manage Team working
<<newJournal label:"Make new Manage TEAM WORKING item" focus:title text:"Delete these instructions and replace them with a brief description of a new TEAM WORKING issue, that the team has identified as relevant to local practice.
Check you are not duplicating content, by using the SEARCH facility!
Add basic instructions for team members.
Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case) to relevant other Thoughts in the manual.
N.B. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of TEAM WORKING issue you have identified" tag:"Manage TEAM WORKING">>
!SUSTAIN Best Practice
<<newJournal label:"Make new SUSTAIN best practice item" focus:title text:"Delete these instructions and replace them with a brief description of a new SUSTAIN best practice issue that the team has identified as relevant to your local situation/setting.
Check you are not duplicating content, by using the SEARCH facility!
Add basic instructions for team members.
Add LINKS (use double square brackets ([) and be careful with spellings/upper/lower case) to relevant other Thoughts in the manual.
N.B. If you don't finish editing this new task, then be sure to add 'ManualizationTasks' to the [[Tags]] on this Tiddler, so that it remains listed as an outstanding task." title:"Type brief title of the SUSTAIN BEST PRACTICE issue that you have identified" tag:"SUSTAIN best practice">>
!Make technical improvements to this TiddlyManual
<<newJournal label:"Improve this TiddlyManual" focus:title text:"Delete these instructions and replace them with a brief description of a new task related to improving this manual.
NOTE: Keep the 'Tech - ' at the beginning of the title so that the technical manual developers know where to find their tasks, and after that rate how urgent the task is (0 = 'whenever' 100 = 'must have this ASAP as it is hindering clinical work')
DO check you are not duplicating content, by using the SEARCH facility!" title:"Tech - [delete these brackets & rate urgency of task: 0 - 100] - [Define Task]" tag:"ManualizationTasks">>
/***
|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;
};
//}}}
How to respond to individuals or families that appear to have no vocabulary for feeling states...
!!Noticing
A statement about an interaction (preferably in the ‘here and now’, but it can also be a reported event or sequence) between two or more family members, is the starting point.
Here the therapist focuses on ''an emerging pattern of how family members relate to each other''. Keeping in mind that it is possible to make many different observations of what might seem just one event and that therefore any observational statement is highly selective, the therapist voices this and immediately follows it up by ''checking for CONSENSUS'' between family members...
>//“I notice that when Sally does x (cry), David it looks as if you find it very hard to understand what exactly she is feeling and why, and without this understanding her behaviour doesn’t seem to make sense ''(Noticing)''. Have I got this right or am I totally off the mark? ([[Checking]]) Can you see what I am talking about? Well, let me continue… to me it looks that when Sally does x (cry), this makes you feel (or act) really y (confused), and so you do z (cut off) or respond in y (confused) way. Likewise, Sally, when David then does this (y), it seems like you find it hard to understand exactly what he is feeling that makes him behave like this. And then to me it looks that this makes you feel (or act) z (irritated) and it goes round in circles. ''(Noticing)'' I don’t think anyone is to blame here because everyone is finding it hard and doesn’t quite understand where everyone else is coming from…I’m not sure I’ve got this right ([[Checking]]) … what do you think Sally?”//
In this example the therapist first identifies and highlights an interaction which (to him) appears to be related to some mentalization difficulty ''(Noticing)''.
The therapist then offers more [[Checking]] of her observation by inviting the family and its individual members to connect with and perhaps share this observation, but also giving them the chance to dismiss it.
It is possible that some or all family members might, for example, state that they had ‘no idea what the therapist was going on about'. This would then lead the therapist to reflect (in his own mind, without necessarily sharing this with the family at this stage) on the validity of his observation in view of the feedback obtained and himself dismiss the observation as insignificant and / or speculate about the possibility of – and potential reasons for - family members defending themselves again what has been observed. In either case it is unwise to just keep repeating the same.
If the observation (''Noticing'') and related comments resonate with some (or all) of the family members ([[Checking]]) then the therapist goes on to ''question the problem''; in doing this, the therapist is looking for
*Shared experiences of how this pattern of relating to one another is a problem for family members
*A common language with which to name or label it.
>//“Do you feel all right about the way this is…this kind of ‘going round in circles’ (are you happy with that)? If not, why or how does it bother you? Is that the way you want it? Is that something you want to change? Does it ever cause you a problem? Do you sometimes get stuck? If you kept this going what might be the outcome?”//
This line of questioning aims to elicit whether the family and its individual members regard the highlighted interaction pattern as something that causes them dis-ease (is experienced as ‘dysfunctional’), or as something that they regard as a non-issue (however ‘pathological’ it may seem to the therapist).
!!!When to focus in on an identified issue:
It is only if or when at least one family member perceives the observed interaction as being problematic, that the therapist can focus on this issue.
!!Naming
Once a problematic interaction has been noticed and focussed upon, the family are invited to find ways to NAME it.
In order to maximise the phase of emotional brainstorming introduced in the second step ([[Mentalize the Moment]]) the family can use [[Pause and Review]] techniques, playing with images of a video or DVD of the "action" which can be paused to allow time and space for mentalization to be recovered.
Family members are encouraged to form a ‘working party’ to think about interactions, from a meta-level, as it were. They are also encouraged ''to find some buzz words to mark the interaction sequence and the associated feeling states.''
>//“So what word or sentence comes to mind when you think about this?”//
The aim is to find a word or phrase that becomes some form of ‘mantra’ which family members can recall after sessions, when similar stuck interactions evolve. Examples are ‘tango’, ‘malignant clinch’, ‘top-dog’, ‘door mat’, ‘playing first fiddle’, ‘the knight in shining armour’, ‘playing the fool’, 'hot potato', etc
!Example 1
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/x4kWdFiisko&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/x4kWdFiisko&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!Example 2
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/6-NIABS4hFg&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6-NIABS4hFg&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!The problem
The parent may be highly involved, extremely well-informed about the young person's social life and dilemmas. There may be an impression of extremely well-developed "mentalization" - much of which is genuine and effective, some of which maybe developmentally-inappropriate. See [[Pseudo-mentalization difficulties]].
An absence of "normal aggression" - parent and child may be defensive of the status quo...
!Explore
"What happens to anger in this family?"
Can you draw up/identify items form a "list of Hot topics"?
Try [[Enacting problem scenarios]]
#To enhance mentalizing and the capacity to make choices
#To consider each person’s involvement in / contribution to the problem behaviour of the symptomatic family member(s)
#To use mentalizing to strengthen self-control and the capacity to regulate one’s feelings
#To promote awareness of one’s own and other persons’ mental states.
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
This is designed to:
1. Slow down the interactions between family members, so that there is space for Mentalizing...
2. Question or express a specific interest in exactly //"what person x is feeling/thinking as this interaction unfolds"//.
This //may// involve using images of DVD or video as a way of providing some emotional distance between family members and the emotional drama that is unfolding between them. By conjuring the image of their interactions being on film, the therapist offers opportunities for imagining a 'meta-position'.
If appropriate this activity can even be "dramatised", with the therapist calling "Freeze frame!" and gesturing with his or her hand to freeze the activity.
>//“I notice b and c when you talk – can we just pause the action here for a brief moment. Let’s pretend for a minute that we had video-recorded this exchange and that be are going to do a replay of a previous segment, to see how things developed and built up. How do you think it all started?”//
See [[Simmering Down]] for more examples.
In this category of the <<tag [[Components of Successful Mentalizing]]>> we describe the self-reflective capacity of individuals who are successfully mentalizing.
!Teaching note:
This is a useful resource for teaching parents about the nature of mentalizing:
>//"HOW DO YOU KNOW IF YOU OR YOUR PARTNER ARE MENTALIZING?"//
!THE 7 FEATURES of the perception of one's OWN Mental Functioning
!!!1. Taking a developmental perspective
This refers to the individual’s ability to understand that with development one’s views of others deepen and become more sophisticated and complex. For example, as the individual grows, she is able to begin to understand her parents’ actions better.
!!!2. Realistic scepticism
This refers to the recognition that one’s feelings can be confusing.
!!!3. Internal conflict awareness
This refers to the capacity of being aware of having seemingly incompatible thoughts and feelings.
!!!4. Self-inquisitive stance
This refers to an individual’s genuine curiosity about his own thoughts and feelings, as well as to the interest in how the way other people’s minds function (given their differences in terms of, for example, different age group, gender, culture) relates to oneself. This interest in difference leads to the questioning of one’s own assumptions.
!!!5. The awareness of the impact of affect
This requires the individual to have insights into how strong emotional states can distort one’s understanding of oneself and others.
!!!6. The acknowledgment of un- or pre-conscious functioning
This is a mentalizing strength which recognises that at any one time one may not be (fully) aware of all that one feels, particularly when conflicts arise.
!!!7. The belief in changeability
This denotes the appreciation that one’s views and understanding of others can change in line with changes in oneself.
/***
|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';
//}}}
!How to print:
If you want to print material, you use the "Print" facility in your browser (usually under the "File" menu).
Only tiddlers that are currently OPEN will print, so just open those you want, and then print, as you would for any web page - only the tiddlers themselves are printed, though, not the menus or site title.
!Helpful materials to print:
!!!Handouts for families or parents:
Some of the content that may be particularly helpful as handouts for families are the [[Components of Impaired Mentalizing]] or, more particularly as they are positive, aspirational qualities for the family to practice, and practice recognising amongst each other, the [[Components of Successful Mentalizing]]...
!!!Forms
There are sample [[Video consent form]]s, and a copy of the [[CGAS]] outcome measure.
!!!MBFT-MustHaves
The MBFT-MustHaves are simple task lists that prompt the therapist with tasks at different stages of the therapy. For those who like ticking boxes, this is the place to go!
These are just one category of the [[Components of Impaired Mentalizing]]
Pseudo-mentalization, perhaps more appropriately termed ‘inaccurate mentalization’, refers to the type of difficulty where there is //apparent// thoughtfulness, but this lacks some essential features of //genuine// mentalization.
It is a //partial understanding//, containing //some// truth and it is not intentionally abusive.
!!Certainty
Broadly speaking pseuso-mentalization difficulties manifest themselves by a tendency of the individual to express absolute certainty about the thoughts and feelings of others. We also find a limited or absent recognition of the inherent uncertainty about knowing someone else’s mind or appreciation for what it is like to have someone else define what is on one’s own mind. Furthermore, thoughts and feelings in others or the self are recognised as long as these are consistent with the individual’s self interest or preferences. For example, in a separated family, each parent may feel confident that they know how the children feel and that the children prefer to be with them and dislike the other parent. The //lack of recognition of ambivalence//, or of //the child’s need to present a distorted picture of his or her feelings to please the parent//, characterizes such instances of impaired mentalization.
!Pseudo-mentalization can take a number of forms.
!!!Preserving a developmentally early view of the child/parent:
In these instances the parent/child continues to think of the other person in the dyad from an earlier perspective. For example, a parent may not be able to consider their adolescent’s burgeoning sexuality and continue to view them from a developmentally earlier point of view.
!!!Intrusive mentalizing:
In these instances the separateness/opaqueness of minds is not respected within a family– someone thinks they know what another person thinks/feels. Sometimes elements of the parent’s image of the child’s mind might be correct (making it even more pernicious) but the subtle differences between what the parent expresses and what the child is likely to feel reveal that they are not in touch with the thoughts and feelings of the child. In any case they are unaware of the impact that being told what they think and feel can have on children’s capacity to have their own mind.
!!!Overactive inaccurate mentalizing:
Often parents invest a lot of energy in thinking or talking about how people in the family think or feel, but this has little or no relationship to the other person’s reality. There can be an idealization of ‘insight’ for its own sake. The child might come to feel that mentalization is obstructive and confusing and should be avoided whenever possible.
!!!Completely inaccurate attributions:
At the extreme end of this category there may be somewhat bizarre attributions (//"you are trying to drive me crazy","your grandma is in league with your father against us"//), denials of objective realities (//"you provoked me", "you fell down the stairs, I never hit you"//), or denial of the child’s feelings (//"you enjoyed it when I touched you like that", "you don’t care about whether your Dad is here or not", "you don’t care about me", "you would be glad if I was dead"//). In these cases the child may be so traumatized by the parent’s misperception, and the threat that the parent’s mental state represents to the child’s welfare that //children will seek to inhibit their own capacity to mentalize//. These more chronic states should be distinguished from the consequences of the more temporary loss of mentalization.
!The purpose of Psychoeducation in MBFT:
*To understand mentalization: What is mentalizing and how do you know when you are mentalizing (and when you are not)
*To understand the role of mentalizing in relationships, coping and resilience
*To understand the dysfunctions of mentalizing in psychiatric problems and maladjustment
*To understand inhibition of mentalizing as an effort to achieve an (illusory and ultimately maladaptive) sense of control and attachment
*To understand how mentalizing develops
*To understand how treatment helps to develop mentalizing skills
*To understand the goals, objectives and approaches of a treatment focused on promoting mentalizing
*To understand the dilemmas of relinquishing coercive and non-mentalizing patterns and the risks associated with retaining a mentalizing perspective (the ‘[[THERAPEUTIC BARGAIN]]’ – E. Bleiberg)
!The Cognitive Model implicit within MBFT:
*A model to address problems based on a collaboration between clinician and family
*The purpose of the collaboration is to develop the skills of mentalization
*These skills make problems amenable to change
*Change results from the ability to make choices regarding ways to relate to others and deal with stress: with neuro-psychiatric vulnerabilities, and with treatment
!This leads us to...
The [[THERAPEUTIC BARGAIN]]
It may be helpful to print out materials for the family - especially some of the more positive aspects of Mentalizing (what the [[THERAPEUTIC BARGAIN]] may hope to deliver). See [[Printing tiddlers]].
!Resources for psychoeducation are tagged below:
!Mentalizing checklist
!!!Place:
Where is it present? Everywhere, only at home, only at school?
!!!Time:
When and for How long? All the time, when certain feelings or particular interactions emerge, or when one person becomes depressed, anxious, manic, or uses drugs?
!!!Type:
How is the mentalizing expressed, recognized, and responded within the family?
!Specific Questions
Throughout all clinical work – assessment and treatment – the therapist pays particular attention to the following issues:
# Does one person tend to answer for others? Does someone claim to know what others think and feel without checking their assumptions with the person who actually knows?
# Do the caregivers make genuine efforts to help and support the child / young person / partner express him/herself or come to an understanding of his/her experiences?
# Do family members regularly refer to the thoughts and feelings of others or to their own?
# To what extent do family members spontaneously seek out the point of view of other members of the family?
# Do family members mention different perspectives or the possibility that they might be wrong about how others think and feel?
# Do family members talk about feelings being open to change (in self or other)?
# Do family members refer to particular experiences that might make one person feel and think differently about something than another?
# Do the family members seem comfortable with speaking about thoughts and feelings?
# Are descriptions of family interactions or the target problem dominated by concrete, non-psychological, all-or-nothing explanations, such as
##Mental or physical illness
##Excessive detail to the exclusion of motivations, feelings or thoughts
##External social factors, such as the school, the council, the neighbours, the ‘system’
##Psychologically implausible accounts, such as a child’s intrinsic malevolence (e.g. “he’s just spiteful”), star signs, genetic defects (“born like that”, “just like his father”)
##Preoccupation with obedience versus disobedience
##Preoccupation with good versus bad behaviour
##Preoccupation with fixed characteristics such as ‘clever’ versus ‘stupid’
##A tendency for one or more family members to deny their own involvement in the problem
##Blaming or fault-finding
##Speaking in absolute terms, suggesting that their feelings or the feelings of others cannot change and will always be like this
# Do caregivers spontaneously support each others’ effort to help, support or understand the child?
# Is there a spontaneous give-and-take, two way communication between the parents, between each parent and the child and between the family as a whole?
# Is there playfulness and humour in the interactions between the family members?
# Is there a sense that the child, each of the parents or other family member experience that they can choose how they behave and how they interact with one another?
# Is there freedom to talk about the full range of thoughts and feelings, or are certain feelings or thoughts avoided or result in a breakdown in communication?
# Do family members convey a sense of purpose and intention when talking about their behaviour? Do they convey meaning when talking about themselves or someone else?
/***
|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|RecentChangesPlugin|
|Source|http://www.TiddlyTools.com/#RecentChangesPlugin|
|Version|2.1.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
<<<
{{smallform{
{{{<<recentChanges>>}}}
><<recentChanges>>
or
{{{<<recentChanges #ofdays summary>>}}}
>where:
>* #ofdays specifies the time limit for list changed tiddlers. Use 0 (zero) to list all tiddlers in the document
>* "summary" is a keyword that outputs only the summary text (without the droplist or buttons)
>{{{<<recentChanges 14 summary>>}}}
><<recentChanges 14 summary>>
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>>}}}
><<recentChanges 14 10em groupbox>>
}}}
<<<
!!!!!Revisions
<<<
2008.07.01 [2.1.0] added optional "summary" keyword for simply text output
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.RecentChangesPlugin= {major: 2, minor: 1, revision: 0, date: new Date(2008,7,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 summary=params[1]&¶ms[1].toLowerCase()=="summary"; if (summary) params.shift();
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 s=count+' tiddlers have changed since ';
s+=new Date(timelimit).formatString("DDD, MMM DDth YYYY 0hh:0mm");
s+=' ('+days+' days ago)';
if (summary)
{ wikify(s,place); return; }
var opts='<option value="">'+s+'</option>';
for (var i=0; i<count; i++) { var t=tiddlers[i];
opts+='<option value="'+t.title.replace(/"/g,""")+'">';
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 you have on the individual Tiddler menu, that appears when your mouse-pointer hovers over that particular Tiddler.
This menu option (part of the individual [[Tiddler]] menu that opens above to the right when you move the cursor over that particular chunk of MicroContent) opens a drop down list of all the related Tiddlers that link (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.
This is more obviously useful in a clinical sense when the worker uses it with notes covering explicitly clinical material. The [[References]] button allows the clinician or KeyWorker imediately to locate associated material from a wide variety of areas. Often, 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 practice.
As the title suggests, in this category of the <<tag [[Components of Successful Mentalizing]]>> we describe how succesful mentalizing affects a person __in relation to other people’s thought and feelings.__
!7 characteristics of relational strengths in Successful Mentalizing:
!!!1. Curiosity
This refers to an attitude where the individual is genuinely interested in other people’s thoughts and feelings and respectful of the respective perspectives of others. It is also characterised by an expectant attitude that one’s understanding will be elaborated or expanded by what is another person’s mind. It also implies openness to discovery and a reluctance to make assumptions, or hold prejudices, about what others think or feel.
!!!2. The stance of safe uncertainty (Mason 2002) – also referred to as ‘opaqueness’:
This refers to the open acknowledgment that one frequently does not know what other people are thinking, without being completely puzzled or overwhelmed by what happens in the mind of others. This stance is based on a general sense that the reactions of others are to some extent predictable, given the knowledge one may have of what others think and feel.
!!!3. Contemplation and reflection:
This refers to the desire to reflect on how others think in a relaxed rather than compulsive manner.
!!!4. Perspective-taking
This is a stance and attitude which is characterised by the acceptance that the same thing can look very different from different perspectives, which tend to reflect individuals’ different experiences and histories.
!!!5. Forgiveness
This refers to the understanding of the actions of others by basing this on the understanding of their mental states. An example of this is the dissipation of one’s own anger once one has understood why the other person had acted as they did.
!!!6. Impact awareness
This refers to the awareness of how one’s own thoughts, feelings and actions impact on others.
!!!7. A non-paranoid attitude
This describes the stance whereby the individual does not implicitly consider the thoughts of others as presenting a significant threat and having in mind the possibility that minds can be changed.
/***
|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();
//}}}
Local protocols will appply here.
Consider risks in relation to the index child's mentla health as well as Child Protection issues.
Choose a problem situation where //non-mentalizing// occurred in the therapy session and then invite the child to repeat the event in a role-play.
For example, the therapist might say:
>//"I’ll be you, you are your Mom, let us try to replay what happened in the room when you said ……"//
>//"Now let’s think about what you were thinking at the time."//
• What did you feel at the time?
• What do you think I felt as I was saying it?
• What did I think of you?
• What did you think of me thinking that of you?
• What did you feel about me when you thought I thought that of you?”
!!Note:
This activity should focus on //content// not on attribution of motives. //__Try to resist asking the question ‘WHY?’__// as this might be too challenging for the child.
This tiddler will pop up to let you know if there is a problem saving any edits you are trying to make to this file. Note that only those authorised with a password can save changes to the web-based master version of the manual - this refers to edits you may make to a downloaded copy. To download see [[About Downloading]].
If you've followed the appropriate [[Installation]] guidelines, then you can save your changes in a downloaded copy of this TiddlyWiki as you go along.
It's important to save changes using ~TiddlyWiki's //built in// saving functionality (rather than the browser's 'Save As' function - [[here's why|SaveUnpredictabilities]]). Your local version of ~TiddlyWiki will have a button on the right hand sidebar that says 'save changes' - that's the button you'll need to use, NOT the save button on your browser's "File" menu.
It's worthwhile configuring your backup settings. You can edit the AdvancedOptions to decide when backups are made, and where they're saved.
If you're still experiencing problems, look at [[Installation]] for troubleshooting advice, or look on the internet for [[TiddlyWiki help|http://www.tiddlywiki.com/]].
/***
|Name:|SaveCloseTiddlerPlugin|
|Description:|Provides two extra toolbar commands, saveCloseTiddler and cancelCloseTiddler|
|Version:|3.0 ($Rev: 5502 $)|
|Date:|$Date: 2008-06-10 23:31:39 +1000 (Tue, 10 Jun 2008) $|
|Source:|http://mptw.tiddlyspot.com/#SaveCloseTiddlerPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
To use these you must add them to the tool bar in your EditTemplate
***/
//{{{
merge(config.commands,{
saveCloseTiddler: {
text: 'done/close',
tooltip: 'Save changes to this tiddler and close it',
handler: function(ev,src,title) {
var closeTitle = title;
var newTitle = story.saveTiddler(title,ev.shiftKey);
if (newTitle)
closeTitle = newTitle;
return config.commands.closeTiddler.handler(ev,src,closeTitle);
}
},
cancelCloseTiddler: {
text: 'cancel/close',
tooltip: 'Undo changes to this tiddler and close it',
handler: function(ev,src,title) {
// the same as closeTiddler now actually
return config.commands.closeTiddler.handler(ev,src,title);
}
}
});
//}}}
Several people have reported problems with reusing TiddlyWiki when they have used the File/Save command of their browser to save it. The issue is that some browsers (notably FireFox) don't save the text of the HTML file exactly as it appears on the server, but rather save a snapshot of the current state of the page. In the case of a highly dynamic page like TiddlyWiki, this leads to all sorts of peculiarness...
TiddlyWiki now displays a warning if it thinks that it has been saved wrongly.
The Search facility is simple. Find the search box in the top right hand corner of the computer screen. 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.
/***
|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(); });
}};
//}}}
In this category of the <<tag [[Components of Successful Mentalizing]]>> we describe //how individuals experience themselves when they are mentalizing successfully//.
!!A rich internal life
This is characterised by the person rarely experiencing their mind as being empty or content-less.
!!Autobiographical continuity
This is the capacity to remember oneself as a child and to experience the continuity of ideas.
!!Advanced explanatory and listening skills
These denote the person’s ability to explain things to others and the person with these skills is experienced by others as patient, able to listen and to comprehend.
!Enquiry:
Can they keep the child in mind?
Look for mis-application of mentalization ([[Components of Impaired Mentalizing]])
Is the therapist's capacity to mentalize being compromised?
#pressure to adjudicate
#taking sides
!Interventions;
#Pointing out our own loss of mentalizing, as therapist - //"I can't think in the middle of all this! Is it like this for you too?"// [[Taking a break]] from the session.
#Emphasising [[Mentalization as a TACTIC]].
#Reference to the child (in the room, or "virtual" - "//What is it like for x when you fight like this?//"
#Asking the child to INTERVIEW the parents (therapist is the 'production-assistant') - [[Making a "Documentary"]]
#Limit the amount of time with BOTH parents present alongside child.
#Modelling mentalizing in our own experience of feeling drawn into becoming an authority, a judge, a boss - //"What would a good judge be saying?"...//
#[[Agreeing 'Rules of Engagement']], but maintain explicit //FOCUS on the PROCESS of arguing// rather than trying to settle the actual Rules/Boundaries.
#See [[MBFT-Parental (couple)-focused Activities]]
!Establishing boundaries:
!!!Time and Space
The therapist first states how much time there is for the child-focused part of the session and then moves the chairs so as to create a dyadic space, with the parents sitting away at a distance. The therapist can start by saying that s/he has set this time aside to get to know the child’s point of view about what is going on.
>//"I know your parents are in the room, but let us pretend that they are not here, or at least that they can not talk now for the next 15 minutes."//
!!!Task
After making the child feel at ease with non-problem oriented conversation, the therapist then picks up a particular issue that has come up during the course of therapy and checks this out with the child:
>//"this is how I saw what happened in the family session, did I get that right?"//
>//"talk me through it from your point of view"//
>//"what I heard you say was…"//
>//"what I think your parents understood by your action might have been….."//
!MBFT goals:
The mentalizing purpose is that the therapist is showing a desire to understand the child’s perspective by asking relevant questions, remembering pertinent examples and prompting the child to give their own version highlighting the differences between the therapist’s and the child’s models. This shows the child how different people can have different perspectives on internal worlds. Another way of introducing this is:
>//"I noticed when we spoke about x the other time, it looked as if you had very strong feelings….do you remember? I was really interested in finding out what you thought or felt about this"//
If the therapist notices that the child is seemingly reluctant to talk about specific issues in front of the parents, s/he may ask:
>//"is it more difficult to talk about this with your parents in the room, or if they weren’t here?"//
If the child says that it would be easier without the parents being present, the therapist may invite the child to think aloud about the ‘pros’ and ‘cons’. If the child opts for having some time alone with the therapist, then the therapist needs to ask the parents what they think about this, again by weighing up the ‘pros’ and ‘cons’. ''The parents need to be in agreement with ‘time alone’ before offering this.''
!Child-focussed time
During individual meeting time, the therapist can say:
>//"Tell me something that you feel you can’t tell your parents or others in the family, or something that is difficult to talk about in front of the family. What is it that you think would happen? What would they think or feel, or do, if they heard what you said? What would be the advantages or disadvantages of them knowing?"//
Find further <<tag [[MBFT-Child-focused Techniques and Activities]]>> tagged here.
See [[Modelling open mentalizing]].
!!Find/Show material
<<search>><<closeAll>>
!!Add/Change content
<<slider chkTestSlider [[Make a new tiddler]] "Add new content in new tiddler »" "If authorised, follow this to add new material.">>
!Downloading
To download a fresh new copy of the manual from the web click:
@@''<html><a href='http://mbft-manual.tiddlyspot.com/download' class='button'>download</a></html>''@@
and a copy named mbft-manual.html will be downloaded to your computer.
See [[About Downloading]] for further advice.
!Saving
If editing a downloaded copy, make saves here, ''not'' via the browser menu above.
''<<saveChanges>>''
this save any edits you have made, and automatically create a back-up file.
!Uploading:
This is ony relevant if you are making changes to a web-based master copy of the manual, and requires a password for changes made locally to be accepted on the web-based master copy. The [[Licensed]] nature of the manual prohibits this without specific permission.
''<<slider chkTestSlider [[Upload Changes to your team's Manualization]] "Upload changes to our master Manual »" "Follow this to upload edits to your manual.">>''
!Advanced options:
<<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
On the right hand margin of the page there is a menu that allows you to search and manipulate the material in the manual.
!Options available on the Sidebar:
!!"Show/Hide Index"
This button toggles lists of all the content in and out of view. The Tabs that are revealed list all the tiddlers as a "Timeline" (in the order in which they were last edited), in alphabetical order ("All"), by Tags (technical ones, or MBFT-themed ones which are visible under "More")
!!Find/Show material:
*a [[Search]] box
*[[Close all]]
!!Add/Change content:
*Adding new material (to a downloaded version - note there are restrictions on //redistributing// derivative versions, relating to the [[Licensed]] nature of this manual.)
!!Saving
*Saving changes made to a version of the manual stored locally.
!!Downloading
*Downloading a fresh copy of the "Master" template manual from the website.
!!Uploading
*Uploading back to the web (this is only for authorised users and is password-protected)
!!Advanced Options
*Further options for [[Changing the interface]]
These are important responses to [[Affect storms]].
Simmering down techniques include:
#Drastic, if not dramatic, //“stop, stop, stop” interventions// ("pressing the pause button") - See [[Pause and Review]].
#The therapist may even have to ''stand up'' and use his/her hands and arms, like a conductor, to ask for momentary silence, saying: //“I can see how good you are at getting each other excited – this looks like a well rehearsed act…. How many times have you performed it so far? 10 times, 100 times, 1000 or more times? Is it getting anywhere? Does it help or stop thinking? Let us take a deep breath and think about what happened here and how helpful or useless it may be to have more of the same….”//
#''Focusing techniques'', such as those hypnotherapy-inspired manouevres suggested by Milton Erickson, may help to create a calm space. It is a deliberate move to block dysfunctional, spiralling and seemingly ‘mindless’ interactions between family members.
#''"prescribing"'' tight time-frames for each family member to express what needs to be expressed, be that thoughts or feelings. The technique of ''“60 seconds each”'' invites turn-taking and enforces temporary listening. Using a stop-watch introduces light-heartedness, particularly if the therapist is the time keeper, inviting each family member to express themselves during the allocated time slot and indicating aloud when “times is up, next please”.
#The therapist may need to actively ''change the focus and shift it'' onto another mentalizing topic.
#If working with just the parental couple, see: [[Taking a break]], which is an example of the [[Therapist's use of Self]].
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Z8y1sR3rzKg&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Z8y1sR3rzKg&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
/***
|''Name''|SimpleSearchPlugin|
|''Description''|displays search results as a simple list of matching tiddlers|
|''Authors''|FND|
|''Version''|0.4.1|
|''Status''|stable|
|''Source''|http://devpad.tiddlyspot.com/#SimpleSearchPlugin|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js|
|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Keywords''|search|
!Revision History
!!v0.2.0 (2008-08-18)
* initial release
!!v0.3.0 (2008-08-19)
* added Open All button (renders Classic Search option obsolete)
* sorting by relevance (title matches before content matches)
!!v0.4.0 (2008-08-26)
* added tag matching
!To Do
* tag matching optional
* animations for container creation and removal
* when clicking on search results, do not scroll to the respective tiddler (optional)
* use template for search results
!Code
***/
//{{{
if(!version.extensions.SimpleSearchPlugin) { //# ensure that the plugin is only installed once
version.extensions.SimpleSearchPlugin = { installed: true };
if(!config.extensions) { config.extensions = {}; }
config.extensions.SimpleSearchPlugin = {
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
var el = document.getElementById(this.containerId);
query = '"""' + query + '"""'; // prevent WikiLinks
if(el) {
removeChildren(el);
} else { //# fallback: use displayArea as parent
var container = document.getElementById("displayArea");
el = document.createElement("div");
el.id = this.containerId;
el = container.insertBefore(el, container.firstChild);
}
var 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.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);
wikify(msg, el);
if(matches.length > 0) { // XXX: redundant!?
createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
}
},
closeResults: function() {
var el = document.getElementById(config.extensions.SimpleSearchPlugin.containerId);
removeNode(el);
config.extensions.SimpleSearchPlugin.results = null;
highlightHack = null;
},
openAll: function(ev) {
story.displayTiddlers(null, config.extensions.SimpleSearchPlugin.results);
return false;
}
};
config.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " {\n" +
"\toverflow: auto;\n" +
"\tpadding: 5px 1em 10px;\n" +
"\tbackground-color: [[ColorPalette::TertiaryPale]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " h1 {\n" +
"\tmargin-top: 0;\n" +
"\tborder: none;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " ul {\n" +
"\tmargin: 0.5em;\n" +
"\tpadding-left: 1.5em;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " .button {\n" +
"\tdisplay: block;\n" +
"\tborder-color: [[ColorPalette::TertiaryDark]];\n" +
"\tpadding: 5px;\n" +
"\tbackground-color: [[ColorPalette::TertiaryLight]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " .button:hover {\n" +
"\tborder-color: [[ColorPalette::SecondaryMid]];\n" +
"\tbackground-color: [[ColorPalette::SecondaryLight]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.btnCloseId + " {\n" +
"\tfloat: right;\n" +
"\tmargin: -5px -1em 5px 5px;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.btnOpenId + " {\n" +
"\tfloat: left;\n" +
"\tmargin-top: 5px;\n" +
"}\n" +
"/*}}}*/";
store.addNotification("StyleSheetSimpleSearch", refreshStyles);
// 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");
var q = useRegExp ? "/" : "'";
config.extensions.SimpleSearchPlugin.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);
var primary = [];
var secondary = [];
var tertiary = [];
for(var 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]);
}
}
var 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"
//}}}
A [[Licensed]] TiddlyManual for MBT-F
~Mentalization-Based Treatment - Families
A number of [[Tiddler]]s are illustrated by slides, and these are tagged here. The slides are stored and accessed separately via the internet (the manual allows you to open a kind of "window" onto other content of the internet) - this means that so long as you are accessing the manual where there is access to te internet, you will see the slides. As you will know from your experience of [[Using the Manual]], the whole website can easily be downloaded and run from a USB stick, or your desktop, without having to be linked to the internet at all - if you are doing this, then you will obviously NOT be able to access the slides at that time.
Using a stethoscope, and even a doctor's white coat, the therapist invites the child to "listen to what you think your mother is thinking right now/when your brother says these things to her..." alternatively, "Listen to what you think your mother's heart woul dbe saying about her feelings when...
This is a useful technique to encourage sensitive attunement to feelings, encouraging playfulness in tense situations where mentalizing is failing.
<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/rqveaXZtR6c&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/rqveaXZtR6c&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></html>
!Rationale - what is being bargained for?
*Maladaptive behavior provides some comfort and an illusion of control, safety and attachment
*The choice to relinquish non-mentalizing behavior requires enormous courage from the child and the rest of the family
*All children and families seeking help wish to change and recognize the price they pay for their efforts to cope
*Even the most motivated are reluctant to give up the ways they know to gain safety, control and attachment
!The BARGAIN:
>//''"Taking the risk of attempting new ways to communicate, cope and relate in order to replace a non-mentalizing illusion of control and attachment with a mentalizing approach that offers the opportunity for real mastery and genuine attachments."''//
<<tabs txtMoreTab "Tags" "All Tags" TabAllTags "Miss" "Missing tiddlers" TabMoreMissing "Orph" "Orphaned tiddlers" TabMoreOrphans "Shad" "Shadowed tiddlers" TabMoreShadowed>>
<<allTags excludeLists [a-z]>>
The following headings are found on each of the 'tabs': [[Timeline]], [[All]], [[Tags]], and [[More]], which opens 3 further tabs, described under [[More]].
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.1 ($Rev: 5655 $)|
|Date:|$Date: 2008-06-18 23:50:30 +1000 (Wed, 18 Jun 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",
sitemap: "sitemap",
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",
sitemap: "Click to show a sitemap style list",
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"
},
tooDeepMessage: "* //sitemap too deep...//"
},
config: {
showTaggingCounts: true,
listOpts: {
// the first one will be the default
sortBy: ["title","modified","created"],
sortOrder: ["asc","desc"],
hideState: ["show","hide"],
listMode: ["normal","group","sitemap","commas"],
numCols: ["1","2","3","4","5","6"],
excerpts: ["noexcerpts","excerpts","descr","slices","contents","sliders"]
},
valuePrefix: "taggly.",
excludeTags: ["excludeLists","excludeTagging"],
excerptSize: 50,
excerptMarker: "/%"+"%/",
siteMapDepthLimit: 25
},
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 = "";
if (depth > this.config.siteMapDepthLimit)
childOutput += indent + this.lingo.tooDeepMessage;
else
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;
}
});
//}}}
You can categorise a tiddler by assigning it with one or more special keywords called tags.
Tiddlers which have been assigned tags can be accessed using the tagging menu that appears at the top right of each tiddler (when in read mode). For instance, this tiddler is tagged with "features", "terminology" and "gettingstarted". If you click on these tag names in the tagging menu, you get access to all the other tiddlers that have been given the same tag.
You can see a whole list of tags by looking in the [[SideBarTabs]], and selecting the Tags tab.
This site uses the standard convention that the names of tags start with a lower case letter, and tiddlers with an upper case letter, but this is not actually enforced.
Tags can be tiddlers themselves, with their own tags, so you can have hierarchies of tiddlers. This is a surprisingly useful and powerful technique has been dubbed ~TagglyTagging by the [[Community]].
Therapists at times get caught up in heated exchanges themselves, or feel paralysed by the family’s dynamics.
Here it is important to ''take a ‘breather’''. This can be done by getting up and stating:
''//“Sitting here in the midst of it all makes my head spin…. It stops me from having useful ideas. I need to clear my head – I think I’ll take a short break, I’ll be back in 5 minutes…. feel free to take a break as well or continue arguing if you need to”.//''
The purpose is to create a reflective space for the therapist who may, away from the battlefield of the family, literally clear his head for new ideas and direction, talking to himself outside the consulting room – or indeed with colleagues if this is possible. Leave the session with an explanantion along the lines of: "my own mentalization is really under pressure here!"
You are modelling the fact that ''//"I know my own mentalization (like everyone's) is fragile and I take responsibility for sustaining it."//''
See [[Affect storms]]
!Topics to cover
#Discuss GP contact /liaison
#Discuss financial contributions/donations as per AFC policy.
##If they are willing and can afford to donate, agree an amount (then receipts can be issued).
##If they cannot, then this will not affect their access to the service.
On occasions the therapist may use descriptions of his or her experience of being in the situation as a way of:
*Alerting the family to the 'meta-position' - giving a 'bird's eye view on the situation:
>//"Right now I must tell you that I am feeling quite lost and overwhelmed by the sheer volume and intensity of what is going on between all of you - it is all I can manage to hold onto myself - so I am guessing that this might feel slightly similar for some of you, too."//
*Repairing or strengthening the therapeutic alliance:
>//"Id like to check with you all [especially parents] if you would feel you could tell me if at any point any of you find yourself defending yourself, feeling attacked, misunderstood, or are not sure if I am really on your side."//
**Other techniques
***Monitor one’s mistakes and be ready to model honesty and courage by acknowledging mistakes
***Promise you will make more mistakes and suggest that:
>//"I hope my next mistakes will not be hurtful, but will give us a chance to take a step back and learn how to talk about how to work out our mistakes, misreadings and all the resulting hurt and anger."//
!This is a defunct manual!
The MBT-F tiddlymanual has been replaced and moved - you can find the updated version [[Here|http://mbtf.tiddlyspace.com]] or you can cut and paste this URL into your browser address bar: {{{http://mbtf.tiddlyspace.com}}}.
The best signposting site that has links to all versions of tiddlymanuals is still: __''@@color(red):[[WWW.TIDDLYMANUALS.COM|http://tiddlymanuals.tiddlyspace.com]]@@''__
!Application:
This activity can be particularly helpful with younger and/or somewhat neglected children who are not used to thinking about what parents think and feel about them.
!Action:
The activity is about asking the child to do something special (anything) or remember having done something in the family interview.
*The therapist looks at the child with a blank expression.
*The child has to figure out what the therapist is thinking about what the child has done.
For example, the therapist might say:
>//"Remember when you laughed at your little brother in the last session. Could you tell me what I thought about your laughing at him?"//
!Note:
The purpose of this activity is to try and elicit specific content in terms of thoughts and feelings from the child. This helps the mentalization process by making the child more aware of the connection between their thoughts and feelings and also, how that can differ from other people’s minds.
The term for a roughly paragraph-sized chunk of MicroContent. You are reading a Tiddler right now.
You can [[Save]] and [[Edit]] Tiddlers very easily, as well as write your own ones to add to your version of this Manual - to generate a new Tiddler use the "new Tiddler" button on the menu in the right hand margin
Unlike a web - based '[[Wiki]]' the TiddlyWiki consists not of multiple //web pages// but of multiple [[Tiddler]]s, so as you read this document you are open a series of separate Tiddlers that are part of a single 'non-linear document', rather than having to load whole new web-pages with each click on the many [[Links]] between different parts of the text.
The TiddlyWiki is essentially a novel form of electronic //document// that //carries its own software inside it// and can thus be read by any web browser (Internet Explorer, etc, although the best browser is probably the freely downloadable Firefox). So you can also email it, save it to disc or to a USB 'Memory stick', etc.
This is a TiddlyManual - a new approach to treatment manualization. This is a heavily 'cut-down' version of the fully-functional and interactive version. Other versions of [[TiddlyManuals|http://www.tiddlymanuals.com]] are available at the website 'www.tiddlymanuals.com.
You can learn about how to navigate and even edit this document (not the web-based original version!) in [[Using the Manual]].
With appropriate permission under the terms of this [[Licensed]] product, individual copies of a ~TiddlyManual can be set up to function as highly interactive 'workbooks' which can allow client notes and data to be recorded within in them, so that specific client-related data interacts intelligently with manualized content.
Used with a set of social disciplines and 'rituals', they also allow teams to add their own "notes in the margin" to their team's own manual, adapting their own 'local template' of the manual, so as to marry validated or evidence-based material to locally-edited and situation-specific material (such as locally-identified recurring problems/situations, or specific features of local health service, or local protocols, etc.)
!!!Nomenclature:
The TiddlyManual is so named because it is a manualization of intervention(s) that comes in the form of a very novel form of document called a TiddlyWiki. The word ''Wiki'' comes from the Maori word for "fast", but nowadays means a collection of web pages around a specific subject, connected by clickable links and tags, which can be quickly and easily edited by users.
One of the propositions supporting this approach to manualization is that the act of ''MANUALIZING'' by a team bears something in common with the act of ''MENTALIZING''... in a fully functional TiddlyManual, a team works incrementally, and iteratively, to add its own local expertise and experience to the manualized material, so that a local template comes to represent the team's own identity, and is attuned increasngly accurately to the specific local needs of their population. Note: this usage requires a change to the terms of use that this manual is currently [[Licensed]] for.
This new approach to manualization is the work of Dr Dickon Bevington. See all the [[Authors]] of the MBFT manual.
!!For the technically-minded:
The form of Wiki in use in ~TiddlyManuals is an innovative one, a ''self-contained single html file'' called a "TiddlyWiki". A ~TiddlyWiki functions as a //standalone document//, rather than a web-based resource (although a master copy can be stored on the web, it can also live on and run from a hard drive, a memory stick, or be emailed, etc...) This Wiki works by opening small chunks of content //within itself// - as if it were a "web-within-a-web" (these "paragraphs", or "thoughts" - one of which you are reading now - were given the name of "Tiddlers" by its inventor, ''Jeremy Ruston''; hence the name ~TiddlyWiki. (Jeremy Ruston is BT's Head of Open Source Innovation, and is based at [[BT Osmosoft|http://www.osmosoft.com]], whose support in an opensource collaboration with his team to develop this resource is most gratefully acknowledged.)
This is a future adaptation for the MBFT manual, expected in 2010.
TiddlyWeb is a very new adaptation of the TiddlyWiki technology.
Technically it refers to a "server side" version of TiddlyWiki, that allows a much greater degree of functionality, so that a "document" (in the way that this TiddlyManual is a document) can be managed so that it is formed from groups ("bags") of [[Tiddler]]s, that are each controlled and edited by different people/teams; an individual or team can then use their own "recipe" (a specific web address (URL) to "call up" just the tiddlers that their local use of the manual requires... )
It sounds complicated but it just offers a way for multiple groups of people to use a common "core content" and yet to integrate their own local adaptations into the body of what they read, rather than having to have a whole set of "tweaks" that have to be stored separately from the main document...
!What a TiddlyWeb version allows:
It offers a balance between:
*''Ownership'' - which might be seen as either the guarantor of //standards// and //outcomes// or an unhelpful //freezing// of knowledge thanks to 'top-down' //proprietorial claims//
and
*''Sharing/adaptation'' of information - which if uncontrolled can //dilute// and //weaken// evidence-based practice, but which allows for more efficient //dissemination// and better //attunement// of techniques and approaches to diverse ecologies.
It manages all this in a way that is much more ''transparent'', as where a team has adapted a part of the manual, this will be clearly identifiable, and it will be possible to scroll back and forth between the 'core' version, and the 'adapted' version.
!An example of a TiddlyManual using this technology:
If you go to [[www.tiddlymanuals.com|http://www.tiddlymanuals.com]] and look at the AMBIT (Adolescent Mentalization Based Integrative Therapy) manual link, you will see that there are a range of different teams across the UK beginning to "customise" their own versions and applications of the common core content.
This is the name of the opensource software that this manualization runs in.
It was invented by Jeremy Ruston at BT Osmosoft, and we acknowledge his and his team's support in helping to develop it for this use in an open source collaboration with Dickon Bevington and the AFC. Jeremy told me that he gave it a silly name to emphasise its plasticity as a piece of software - it is for others (us) to make it do what we want it to do, and rename our functioning version if required!
You can find lots of extra material on TiddlyWiki at [[TiddlyWiki|http://www.tiddlywiki.com]] or [[TiddlyWiki.org|http://www.tiddlywiki.org]]
/%
!info
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|show/hide right sidebar (SideBarOptions)|
Usage
<<<
{{{
<<tiddler ToggleRightSidebar>>
<<tiddler ToggleRightSidebar with: label tooltip>>
}}}
Try it: <<tiddler ToggleRightSidebar##show
with: {{config.options.chkShowRightSidebar?'►':'◄'}}>>
<<<
Configuration:
<<<
{{{
config.options.chkShowRightSidebar (true)
config.options.txtToggleRightSideBarLabelShow (◄)
config.options.txtToggleRightSideBarLabelHide (►)
}}}
<<<
!end
!show
<<tiddler {{
var co=config.options;
if (co.chkShowRightSidebar===undefined) co.chkShowRightSidebar=true;
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=co.chkShowRightSidebar?'block':'none';
da.style.marginRight=co.chkShowRightSidebar?'':'1em';
}
'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
+encodeURIComponent(encodeURIComponent(this.onclick))
+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
var co=config.options;
var opt='chkShowRightSidebar';
var show=co[opt]=!co[opt];
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=show?'block':'none';
da.style.marginRight=show?'':'1em';
}
saveOptionCookie(opt);
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
if (this.innerHTML==labelShow||this.innerHTML==labelHide)
this.innerHTML=show?labelHide:labelShow;
this.title=(show?'hide':'show')+' right sidebar';
var sm=document.getElementById('storyMenu');
if (sm) config.refreshers.content(sm);
return false;
">$1</a></html>
!end
%/<<tiddler {{
var src='ToggleRightSidebar';
src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
var co=config.options;
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
'$1'!='$'+'1'?'$1':(co.chkShowRightSidebar?labelHide:labelShow);
}} {{
var tip=(config.options.chkShowRightSidebar?'hide':'show')+' right sidebar';
'$2'!='$'+'2'?'$2':tip;
}}>>
/***
|Name:|ToggleTagPlugin|
|Description:|Makes a checkbox which toggles a tag in a tiddler|
|Version:|3.1.0 ($Rev: 4907 $)|
|Date:|$Date: 2008-05-13 03:15:46 +1000 (Tue, 13 May 2008) $|
|Source:|http://mptw.tiddlyspot.com/#ToggleTagPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!Usage
{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}
* TagName - the tag to be toggled, default value "checked"
* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler
* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'
(If a parameter is '.' then the default will be used)
* TouchMod flag - if non empty then touch the tiddlers mod date. Note, can set config.toggleTagAlwaysTouchModDate to always touch mod date
!!Examples
|Code|Description|Example|h
|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|
|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|
|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|
|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|
|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|
!!Notes
* If TiddlerName doesn't exist it will be silently created
* Set label to '-' to specify no label
* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2
!!Known issues
* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing
* Should convert to use named params
***/
//{{{
if (config.toggleTagAlwaysTouchModDate == undefined) config.toggleTagAlwaysTouchModDate = false;
merge(config.macros,{
toggleTag: {
createIfRequired: true,
shortLabel: "[[%0]]",
longLabel: "[[%0]] [[%1]]",
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var tiddlerTitle = tiddler ? tiddler.title : '';
var tag = (params[0] && params[0] != '.') ? params[0] : "checked";
var title = (params[1] && params[1] != '.') ? params[1] : tiddlerTitle;
var defaultLabel = (title == tiddlerTitle ? this.shortLabel : this.longLabel);
var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;
var touchMod = (params[3] && params[3] != '.') ? params[3] : "";
label = (label == '-' ? '' : label); // dash means no label
var theTiddler = (title == tiddlerTitle ? tiddler : store.getTiddler(title));
var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {
if (!store.tiddlerExists(title)) {
if (config.macros.toggleTag.createIfRequired) {
var content = store.getTiddlerText(title); // just in case it's a shadow
store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);
}
else
return false;
}
if ((touchMod != "" || config.toggleTagAlwaysTouchModDate) && theTiddler)
theTiddler.modified = new Date();
store.setTiddlerTag(title,this.checked,tag);
return true;
});
}
}
});
//}}}
|~ViewToolbar|closeTiddler closeOthers|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{
// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'mbft';
// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too
// disable autosave in d3
if (window.location.protocol != "file:")
config.options.chkGTDLazyAutoSave = false;
// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}
// create some shadow tiddler content
merge(config.shadowTiddlers,{
'WelcomeToTiddlyspot':[
"This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //What now?// @@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
"<<tiddler TspotControls>>",
"See also GettingStarted.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working online// @@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// @@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Help!// @@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// @@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),
'TspotControls':[
"| tiddlyspot password:|<<option pasUploadPassword>>|",
"| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
"| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),
'TspotSidebar':[
"<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),
'TspotOptions':[
"tiddlyspot password:",
"<<option pasUploadPassword>>",
""
].join("\n")
});
//}}}
!NOTE:
!!THIS IS ONLY FOR AUTHORISED UPLOADING OF CHANGES TO THE MASTER MBFT MANUAL.
Permission to upload is password protected
<<upload http://mbft-manual.tiddlyspot.com/store.cgi index.html . . mbft-manual>>
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 06/01/2011 15:10:16 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 06/01/2011 15:10:17 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 28/01/2011 08:08:51 | YourName | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 05/04/2011 10:09:30 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 05/04/2011 10:23:05 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 24/06/2011 01:16:14 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 13/07/2011 00:50:04 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 13/07/2011 00:50:11 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . | failed | failed |
| 13/07/2011 00:51:05 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
| 13/07/2011 00:51:07 | DickonBevington | [[/|http://mbft-manual.tiddlyspot.com/]] | [[store.cgi|http://mbft-manual.tiddlyspot.com/store.cgi]] | . | [[index.html | http://mbft-manual.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.4|
|''Date:''|2008-08-11|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
major: 4, minor: 1, revision: 4,
date: new Date("2008-08-11"),
source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
//
// Upload Macro
//
config.macros.upload = {
// default values
defaultBackupDir: '', //no backup
defaultStoreScript: "store.php",
defaultToFilename: "index.html",
defaultUploadDir: ".",
authenticateUser: true // UploadService Authenticate User
};
config.macros.upload.label = {
promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
promptParamMacro: "Save and Upload this TiddlyWiki in %0",
saveLabel: "save to web",
saveToDisk: "save to disk",
uploadLabel: "upload"
};
config.macros.upload.messages = {
noStoreUrl: "No store URL in parmeters or options",
usernameOrPasswordMissing: "Username or password missing"
};
config.macros.upload.handler = function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = this.label.saveLabel;
else
label = this.label.uploadLabel;
var prompt;
if (params[0]) {
prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0],
(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
} else {
prompt = this.label.promptOption;
}
createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};
config.macros.upload.action = function(params)
{
// for missing macro parameter set value from options
if (!params) params = {};
var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
var username = params[4] ? params[4] : config.options.txtUploadUserName;
var password = config.options.pasUploadPassword; // for security reason no password as macro parameter
// for still missing parameter set default value
if ((!storeUrl) && (document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
if (storeUrl.substr(0,4) != "http")
storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
if (!toFilename)
toFilename = bidix.basename(window.location.toString());
if (!toFilename)
toFilename = config.macros.upload.defaultToFilename;
if (!uploadDir)
uploadDir = config.macros.upload.defaultUploadDir;
if (!backupDir)
backupDir = config.macros.upload.defaultBackupDir;
// report error if still missing
if (!storeUrl) {
alert(config.macros.upload.messages.noStoreUrl);
clearMessage();
return false;
}
if (config.macros.upload.authenticateUser && (!username || !password)) {
alert(config.macros.upload.messages.usernameOrPasswordMissing);
clearMessage();
return false;
}
bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password);
return false;
};
config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir)
{
if (!storeUrl)
return null;
var dest = bidix.dirname(storeUrl);
if (uploadDir && uploadDir != '.')
dest = dest + '/' + uploadDir;
dest = dest + '/' + toFilename;
return dest;
};
//
// uploadOptions Macro
//
config.macros.uploadOptions = {
handler: function(place,macroName,params) {
var wizard = new Wizard();
wizard.createWizard(place,this.wizardTitle);
wizard.addStep(this.step1Title,this.step1Html);
var markList = wizard.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
wizard.setValue("listWrapper",listWrapper);
this.refreshOptions(listWrapper,false);
var uploadCaption;
if (document.location.toString().substr(0,4) == "http")
uploadCaption = config.macros.upload.label.saveLabel;
else
uploadCaption = config.macros.upload.label.uploadLabel;
wizard.setButtons([
{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption,
onClick: config.macros.upload.action},
{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
]);
},
options: [
"txtUploadUserName",
"pasUploadPassword",
"txtUploadStoreUrl",
"txtUploadDir",
"txtUploadFilename",
"txtUploadBackupDir",
"chkUploadLog",
"txtUploadLogMaxLine"
],
refreshOptions: function(listWrapper) {
var opts = [];
for(i=0; i<this.options.length; i++) {
var opt = {};
opts.push();
opt.option = "";
n = this.options[i];
opt.name = n;
opt.lowlight = !config.optionsDesc[n];
opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
opts.push(opt);
}
var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
for(n=0; n<opts.length; n++) {
var type = opts[n].name.substr(0,3);
var h = config.macros.option.types[type];
if (h && h.create) {
h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
}
}
},
onCancel: function(e)
{
backstage.switchTab(null);
return false;
},
wizardTitle: "Upload with options",
step1Title: "These options are saved in cookies in your browser",
step1Html: "<input type='hidden' name='markList'></input><br>",
cancelButton: "Cancel",
cancelButtonPrompt: "Cancel prompt",
listViewTemplate: {
columns: [
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
};
//
// upload functions
//
if (!bidix.upload) bidix.upload = {};
if (!bidix.upload.messages) bidix.upload.messages = {
//from saving
invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
backupSaved: "Backup saved",
backupFailed: "Failed to upload backup file",
rssSaved: "RSS feed uploaded",
rssFailed: "Failed to upload RSS feed file",
emptySaved: "Empty template uploaded",
emptyFailed: "Failed to upload empty template file",
mainSaved: "Main TiddlyWiki file uploaded",
mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
//specific upload
loadOriginalHttpPostError: "Can't get original file",
aboutToSaveOnHttpPost: 'About to upload on %0 ...',
storePhpNotFound: "The store script '%0' was not found."
};
bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
var callback = function(status,uploadParams,original,url,xhr) {
if (!status) {
displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
return;
}
if (bidix.debugMode)
alert(original.substr(0,500)+"\n...");
// Locate the storeArea div's
var posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
bidix.upload.uploadRss(uploadParams,original,posDiv);
};
if(onlyIfDirty && !store.isDirty())
return;
clearMessage();
// save on localdisk ?
if (document.location.toString().substr(0,4) == "file") {
var path = document.location.toString();
var localPath = getLocalPath(path);
saveChanges();
}
// get original
var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
var originalPath = document.location.toString();
// If url is a directory : add index.html
if (originalPath.charAt(originalPath.length-1) == "/")
originalPath = originalPath + "index.html";
var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
var log = new bidix.UploadLog();
log.startUpload(storeUrl, dest, uploadDir, backupDir);
displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
if (bidix.debugMode)
alert("about to execute Http - GET on "+originalPath);
var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
bidix.upload.uploadRss = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
if(status) {
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
bidix.upload.uploadMain(params[0],params[1],params[2]);
} else {
displayMessage(bidix.upload.messages.rssFailed);
}
};
// do uploadRss
if(config.options.chkGenerateAnRssFeed) {
var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
var rssString = generateRss();
// no UnicodeToUTF8 conversion needed when location is "file" !!!
if (document.location.toString().substr(0,4) != "file")
rssString = convertUnicodeToUTF8(rssString);
bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
} else {
bidix.upload.uploadMain(uploadParams,original,posDiv);
}
};
bidix.upload.uploadMain = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
var log = new bidix.UploadLog();
if(status) {
// if backupDir specified
if ((params[3]) && (responseText.indexOf("backupfile:") > -1)) {
var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
}
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
store.setDirty(false);
log.endUpload("ok");
} else {
alert(bidix.upload.messages.mainFailed);
displayMessage(bidix.upload.messages.mainFailed);
log.endUpload("failed");
}
};
// do uploadMain
var revised = bidix.upload.updateOriginal(original,posDiv);
bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};
bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
var localCallback = function(status,params,responseText,url,xhr) {
url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
if (xhr.status == 404)
alert(bidix.upload.messages.storePhpNotFound.format([url]));
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
if (responseText.charAt(0) != '0')
status = null;
callback(status,params,responseText,url,xhr);
};
// do httpUpload
var boundary = "---------------------------"+"AaB03x";
var uploadFormName = "UploadPlugin";
// compose headers data
var sheader = "";
sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
sheader += uploadFormName +"\"\r\n\r\n";
sheader += "backupDir="+uploadParams[3] +
";user=" + uploadParams[4] +
";password=" + uploadParams[5] +
";uploaddir=" + uploadParams[2];
if (bidix.debugMode)
sheader += ";debug=1";
sheader += ";;\r\n";
sheader += "\r\n" + "--" + boundary + "\r\n";
sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
sheader += "Content-Length: " + data.length + "\r\n\r\n";
// compose trailer data
var strailer = new String();
strailer = "\r\n--" + boundary + "--\r\n";
data = sheader + data + strailer;
if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
if (!posDiv)
posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
store.allTiddlersAsHtml() + "\n" +
original.substr(posDiv[1]);
var newSiteTitle = getPageTitle().htmlEncode();
revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
return revised;
};
//
// UploadLog
//
// config.options.chkUploadLog :
// false : no logging
// true : logging
// config.options.txtUploadLogMaxLine :
// -1 : no limit
// 0 : no Log lines but UploadLog is still in place
// n : the last n lines are only kept
// NaN : no limit (-1)
bidix.UploadLog = function() {
if (!config.options.chkUploadLog)
return; // this.tiddler = null
this.tiddler = store.getTiddler("UploadLog");
if (!this.tiddler) {
this.tiddler = new Tiddler();
this.tiddler.title = "UploadLog";
this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
this.tiddler.created = new Date();
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
}
return this;
};
bidix.UploadLog.prototype.addText = function(text) {
if (!this.tiddler)
return;
// retrieve maxLine when we need it
var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
if (isNaN(maxLine))
maxLine = -1;
// add text
if (maxLine != 0)
this.tiddler.text = this.tiddler.text + text;
// Trunck to maxLine
if (maxLine >= 0) {
var textArray = this.tiddler.text.split('\n');
if (textArray.length > maxLine + 1)
textArray.splice(1,textArray.length-1-maxLine);
this.tiddler.text = textArray.join('\n');
}
// update tiddler fields
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
// refresh and notifiy for immediate update
story.refreshTiddler(this.tiddler.title);
store.notify(this.tiddler.title, true);
};
bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {
if (!this.tiddler)
return;
var now = new Date();
var text = "\n| ";
var filename = bidix.basename(document.location.toString());
if (!filename) filename = '/';
text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
text += config.options.txtUserName + " | ";
text += "[["+filename+"|"+location + "]] |";
text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
text += uploadDir + " | ";
text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
text += backupDir + " |";
this.addText(text);
};
bidix.UploadLog.prototype.endUpload = function(status) {
if (!this.tiddler)
return;
this.addText(" "+status+" |");
};
//
// Utilities
//
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.dirname = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(0, lastpos);
} else {
return filePath.substring(0, filePath.lastIndexOf("\\"));
}
};
bidix.basename = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("#")) != -1)
filePath = filePath.substring(0, lastpos);
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(lastpos + 1);
} else
return filePath.substring(filePath.lastIndexOf("\\")+1);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
//
// Initializations
//
// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);
// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
txtUploadUserName: "Upload Username",
pasUploadPassword: "Upload Password",
chkUploadLog: "do Logging in UploadLog (default: true)",
txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});
// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');
// Backstage
merge(config.tasks,{
uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");
//}}}
The manual is written in a novel format called TiddlyWiki, and is therefore called a TiddlyManual, and it is very easy to use.
Please do not be alarmed by the alarming nomenclature – computer programmers introduce new functions and products with neologisms, and they think that Mentalization is a pretty alarming word, too.
Using a TiddlyManual is just like surfing the internet; by clicking on HighlightedWords that function as [[Links]], you can instantly open a separate [[Tiddler]]. What you are reading right now is a [[Tiddler]]. Instead of a link opening a whole new page, it just opens a new Tiddler - think of individual Tiddlers as paragraphs, or 'post-it notes', which can be collected together very quickly and easily in lots of different ways.
!Basic Architecture - connected content.
The manual is formed from a large number of (more or less) brief [[Tiddler]]s - each of which is connected to other Tiddlers
!!!Either via....... [[Links]]
Which enable the reader to jump directly between different Tiddlers
!!!Or via...... [[Tags]]
Which link up content on common themes (for instance this Tiddler acts as a tag for a set of Tiddlers that describe what you need to know in [[Using the Manual]], and is also tagged as part of a set that cover Starting and getting Help ([[MBFT-Start/Help]]. [[Tags]] offer an important way of integrating different levels and areas of information, which a conventional (linear) book format would struggle to do. Sometimes you will see a small downwards-pointing triangle beside the title of a Tag - if you click carefully on this triangle you will get a drop-down menu from whcih you can select other Tiddlers tagged under the same heading.
Try it here:.... <<tag [[Using the Manual]]>>
!Navigating and using Menus
You will notice that as you pass your cursor over any particular Tiddler (try it with this one!), a menu appears, stretching out across the top, to the right. As the cursor moves off that Tiddler, the individual menu for the Tiddler disappears again. The specific Tiddler's menu gives you a range of options of useful things you can do with that specific Thought: [[Close]], [[Close others]], [[Edit]], [[References]].
There is also a [[Search]] facility in the top right hand corner of the page to search for individual words or phrases throughout the whole manual, and other options are available in the right hand margin, described under [[Menus]]
!Printing
The manual is deliberately 'non-linear' and designed to be read purposefully (we would hope that with a little experience you should find what you are looking for within a few clicks) but it may be useful to print out material from the manual. This is easy - see [[Printing tiddlers]].
!Adapt to taste
There are almost limitless ways of [[Changing the interface]] to suit your tastes, and some of these are described.
!This is a “cut-down” version
This is not a fully-functional version of a TiddlyManual.
!Technical Support
The authors cannot provide technical support, but there is documentation about this software available at: [[Help and Support]]
There is also guidance on [[Installation]] available if you are wanting to play with editing a downloaded version on your desktop.
!In conclusion:
''Therapy it isn't, but...'' understanding these things will help you get to what you want or need faster, so in that sense the disciplines involved in working with this do, themselves, carry something in common with the therapeutic process.
!Tagged as part of "Using the Manual":
We agree to the use of video recording in sessions during our work with
................................... (therapist)
We understand that such video recordings will only be used by the team for the purposes of case discussion, and supervision, to improve the quality and focus of the care that is delivered to us during treatment.
All video recordings will be stored securely, and our confidentiality will be respected at all times.
At any time we understand that we can change our mind or request that video recording be stopped and/or destroyed, and this will not affect the quality of care that we receive.
At the end of our therapy, the recordings will be destroyed, or handed to us on request.
''__We agree to the above:__''
Signed:..............................................
Signed:..............................................
Signed:..............................................
Signed:..............................................
Signed:..............................................
DATE:.............................
!!!Additional Uses of Video:
Sometimes it is helpful to use clips from video recordings as an aid to the wider training of other professionals. In such situations the confidentiality of clinical material is always explained to, and respected by, trainees. ''If such a use were sought, then we would approach you separately to request this.''
However, if you are happy for this additional use //anyway// please tick here [_]
<!--{{{-->
<div class='toolbar' 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='viewer' macro='notes'></div>
<div macro="showWhenTagged PatientNotes"><<notes>></div>
<div class='tagClear'></div>
<!--}}}-->