A universe where knowledge is wealth
and where wealth is free of the constraints of
the laws of conservation of mass and energy
Requires Javascript.
Please be patient while Climate Change 3.0 loads
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff Foreground: #000 PrimaryPale: #8cf PrimaryLight: #18f PrimaryMid: #04b PrimaryDark: #014 SecondaryPale: #ffc SecondaryLight: #fe8 SecondaryMid: #db4 SecondaryDark: #841 TertiaryPale: #eee TertiaryLight: #ccc TertiaryMid: #999 TertiaryDark: #666 Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='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>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<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='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers: * [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar) * [[MainMenu]]: The menu (usually on the left) * [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]]) <<option txtUserName>> <<option chkSaveBackups>> [[SaveBackups]] <<option chkAutoSave>> [[AutoSave]] <<option chkRegExpSearch>> [[RegExpSearch]] <<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]] <<option chkAnimate>> [[EnableAnimations]] ---- Also see [[AdvancedOptions]]
<<importTiddlers>>
!!!C4. Capacity building 11. Everyone should have the necessary skills to benefit fully from the Information Society. Therefore capacity building and ICT literacy are essential. ICTs can contribute to achieving universal education worldwide, through delivery of education and training of teachers, and offering improved conditions for lifelong learning, encompassing people that are outside the formal education process, and improving professional skills. ## Develop domestic policies to ensure that ICTs are fully integrated in education and training at all levels, including in curriculum development, teacher training, institutional administration and management, and in support of the concept of lifelong learning. ## Develop and promote programmes to eradicate illiteracy using ICTs at national, regional and international levels. ## Promote e-literacy skills for all, for example by designing and offering courses for public administration, taking advantage of existing facilities such as libraries, multipurpose community centres, public access points and by establishing local ICT training centres with the cooperation of all stakeholders. Special attention should be paid to disadvantaged and vulnerable groups. ## In the context of national educational policies, and taking into account the need to eradicate adult illiteracy, ensure that young people are equipped with knowledge and skills to use ICTs, including the capacity to analyse and treat information in creative and innovative ways, share their expertise and participate fully in the Information Society. ## Governments, in cooperation with other stakeholders, should create programmes for capacity building with an emphasis on creating a critical mass of qualified and skilled ICT professionals and experts. ## Develop pilot projects to demonstrate the impact of ICT-based alternative educational delivery systems, notably for achieving Education for All targets, including basic literacy targets. ## Work on removing the gender barriers to ICT education and training and promoting equal training opportunities in ICT-related fields for women and girls. Early intervention programmes in science and technology should target young girls with the aim of increasing the number of women in ICT careers. Promote the exchange of best practices on the integration of gender perspectives in ICT education. ## Empower local communities, especially those in rural and underserved areas, in ICT use and promote the production of useful and socially meaningful content for the benefit of all. ## Launch education and training programmes, where possible using information networks of traditional nomadic and indigenous peoples, which provide opportunities to fully participate in the Information Society. ## Design and implement regional and international cooperation activities to enhance the capacity, notably, of leaders and operational staff in developing countries and LDCs, to apply ICTs effectively in the whole range of educational activities. This should include delivery of education outside the educational structure, such as the workplace and at home. ## Design specific training programmes in the use of ICTs in order to meet the educational needs of information professionals, such as archivists, librarians, museum professionals, scientists, teachers, journalists, postal workers and other relevant professional groups. Training of information professionals should focus not only on new methods and techniques for the development and provision of information and communication services, but also on relevant management skills to ensure the best use of technologies. Training of teachers should focus on the technical aspects of ICTs, on development of content, and on the potential possibilities and challenges of ICTs. ## Develop distance learning, training and other forms of education and training as part of capacity building programmes. Give special attention to developing countries and especially LDCs in different levels of human resources development. ## Promote international and regional cooperation in the field of capacity building, including country programmes developed by the United Nations and its Specialized Agencies ## Launch pilot projects to design new forms of ICT-based networking, linking education, training and research institutions between and among developed and developing countries and countries with economies in transition. ## Volunteering, if conducted in harmony with national policies and local cultures, can be a valuable asset for raising human capacity to make productive use of ICT tools and build a more inclusive Information Society. Activate volunteer programmes to provide capacity building on ICT for development, particularly in developing countries. ## Design programmes to train users to develop self-learning and self-development capacities.
From the [[Plan of Implementation of the World Summit on Sustainable Development|http://www.un-documents.net/jburgpln.htm]] 116. Education is critical for promoting sustainable development. It is therefore essential to mobilize necessary resources, including financial resources at all levels, by bilateral and multilateral donors, including the World Bank and the regional development banks, by civil society and by foundations, to complement the efforts by national governments to pursue the following goals and actions: ## Meet the [[Millennium development goal|Millennium Development Goals]] of achieving universal primary education, ensuring that, by 2015, children everywhere, boys and girls alike, will be able to complete a full course of primary schooling; ## Provide all children, particularly those living in rural areas and those living in poverty, especially girls, with the access and opportunity to complete a full course of primary education. 117. Provide financial assistance and support to education, research, public awareness programmes and developmental institutions in developing countries and countries with economies in transition in order to: ## Sustain their educational infrastructures and programmes, including those related to environment and public health education; ## Consider means of avoiding the frequent, serious financial constraints faced by many institutions of higher learning, including universities around the world, particularly in developing countries and countries in transition. 118. Address the impact of HIV/AIDS on the educational system in those countries seriously affected by the pandemic. 119. Allocate national and international resources for basic education as proposed by the [[Dakar Framework for Action on Education for All|http://www.un-documents.net/dakarfa.htm]] and for improved integration of sustainable development into education and in bilateral and multilateral development programmes, and improve integration between publicly funded research and development and development programmes. 120. Eliminate gender disparity in primary and secondary education by 2005, as provided in the Dakar Framework for Action on Education for All, and at all levels of education no later than 2015, to meet the development goals contained in the [[Millennium Declaration|http://www.un-documents.net/a55r2.htm]], with action to ensure, inter alia, equal access to all levels and forms of education, training and capacity-building by gender mainstreaming, and by creating a gender-sensitive educational system. 121. Integrate sustainable development into education systems at all levels of education in order to promote education as a key agent for change. 122. Develop, implement, monitor and review education action plans and programmes at the national, subnational and local levels, as appropriate, that reflect the Dakar Framework for Action on Education for All and that are relevant to local conditions and needs leading to the achievement of community development and make education for sustainable development a part of those plans. 123. Provide all community members with a wide range of formal and non-formal continuing educational opportunities, including volunteer community service programmes, in order to end illiteracy and emphasize the importance of lifelong learning and promote sustainable development. 124. Support the use of education to promote sustainable development, including through urgent actions at all levels to: ## Integrate information and communications technology in school curriculum development to ensure its access by both rural and urban communities and provide assistance, particularly to developing countries, inter alia, for the establishment of an appropriate enabling environment required for such technology; ## Promote, as appropriate, affordable and increased access to programmes for students, researchers and engineers from developing countries in the universities and research institutions of developed countries in order to promote the exchange of experience and capacity that will benefit all partners; ## Continue to implement the work programme of the Commission on Sustainable Development on education for sustainable development; ## Recommend to the United Nations General Assembly that it consider adopting a ''decade of education for sustainable development'', starting in 2005.
//The Conference of the Parties//, //Resolving// to urgently enhance implementation of the Convention in order to achieve its ultimate objective in full accordance with its principles and commitments, //Reaffirming// that economic and social development and poverty eradication are global priorities, //Responding// to the findings of the Fourth Assessment Report of the Intergovernmental Panel on Climate Change that warming of the climate system is unequivocal, and that delay in reducing emissions significantly constrains opportunities to achieve lower stabilization levels and increases the risk of more severe climate change impacts, //Recognizing// that deep cuts in global emissions will be required to achieve the ultimate objective of the Convention and emphasizing the urgency to address climate change as indicated in the Fourth Assessment Report of the Intergovernmental Panel on Climate Change, # //Decides// to launch a comprehensive process to enable the full, effective and sustained implementation of the Convention through long-term cooperative action, now, up to and beyond 2012, in order to reach an agreed outcome and adopt a decision at its fifteenth session, by addressing, inter alia: ## A shared vision for long-term cooperative action, including a long-term global goal for emission reductions, to achieve the ultimate objective of the Convention, in accordance with the provisions and principles of the Convention, in particular the principle of common but differentiated responsibilities and respective capabilities, and taking into account social and economic conditions and other relevant factors; ## Enhanced national/international action on mitigation of climate change, including, inter alia, consideration of: ### Measurable, reportable and verifiable nationally appropriate mitigation commitments or actions, including quantified emission limitation and reduction objectives, by all developed country Parties, while ensuring the comparability of efforts among them, taking into account differences in their national circumstances; ### Nationally appropriate mitigation actions by developing country Parties in the context of sustainable development, supported and enabled by technology, financing and capacity-building, in a measurable, reportable and verifiable manner; ### Policy approaches and positive incentives on issues relating to reducing emissions from deforestation and forest degradation in developing countries; and the role of conservation, sustainable management of forests and enhancement of forest carbon stocks in developing countries; ### Cooperative sectoral approaches and sector-specific actions, in order to enhance implementation of Article 4, paragraph 1(c), of the Convention; ### Various approaches, including opportunities for using markets, to enhance the cost-effectiveness of, and to promote, mitigation actions, bearing in mind different circumstances of developed and developing countries; ### Economic and social consequences of response measures; ### Ways to strengthen the catalytic role of the Convention in encouraging multilateral bodies, the public and private sectors and civil society, building on synergies among activities and processes, as a means to support mitigation in a coherent and integrated manner; ## Enhanced action on adaptation, including, inter alia, consideration of: ### International cooperation to support urgent implementation of adaptation actions, including through vulnerability assessments, prioritization of actions, financial needs assessments, capacity-building and response strategies, integration of adaptation actions into sectoral and national planning, specific projects and programmes, means to incentivize the implementation of adaptation actions, and other ways to enable climate-resilient development and reduce vulnerability of all Parties, taking into account the urgent and immediate needs of developing countries that are particularly vulnerable to the adverse effects of climate change, especially the least developed countries and small island developing States, and further taking into account the needs of countries in Africa affected by drought, desertification and floods; ### Risk management and risk reduction strategies, including risk sharing and transfer mechanisms such as insurance; ### Disaster reduction strategies and means to address loss and damage associated with climate change impacts in developing countries that are particularly vulnerable to the adverse effects of climate change; ### Economic diversification to build resilience; ### Ways to strengthen the catalytic role of the Convention in encouraging multilateral bodies, the public and private sectors and civil society, building on synergies among activities and processes, as a means to support adaptation in a coherent and integrated manner; ## Enhanced action on technology development and transfer to support action on mitigation and adaptation, including, inter alia, consideration of: ### Effective mechanisms and enhanced means for the removal of obstacles to, and provision of financial and other incentives for, scaling up of the development and transfer of technology to developing country Parties in order to promote access to affordable environmentally sound technologies; ### Ways to accelerate deployment, diffusion and transfer of affordable environmentally sound technologies; ### Cooperation on research and development of current, new and innovative technology, including win-win solutions; ### The effectiveness of mechanisms and tools for technology cooperation in specific sectors; ## Enhanced action on the provision of financial resources and investment to support action on mitigation and adaptation and technology cooperation, including, inter alia, consideration of: ### Improved access to adequate, predictable and sustainable financial resources and financial and technical support, and the provision of new and additional resources, including official and concessional funding for developing country Parties; ### Positive incentives for developing country Parties for the enhanced implementation of national mitigation strategies and adaptation action; ### Innovative means of funding to assist developing country Parties that are particularly vulnerable to the adverse impacts of climate change in meeting the cost of adaptation; ### Means to incentivize the implementation of adaptation actions on the basis of sustainable development policies; ### Mobilization of public- and private-sector funding and investment, including facilitation of climate-friendly investment choices; ### Financial and technical support for capacity-building in the assessment of the costs of adaptation in developing countries, in particular the most vulnerable ones, to aid in determining their financial needs; # //Decides// that the process shall be conducted under a subsidiary body under the Convention, hereby established and known as the Ad Hoc Working Group on Long-term Cooperative Action under the Convention, that shall complete its work in 2009 and present the outcome of its work to the Conference of the Parties for adoption at its fifteenth session; # //Agrees //that the process shall begin without delay, that the sessions of the group will be scheduled as often as is feasible and necessary to complete the work of the group, where possible in conjunction with sessions of other bodies established under the Convention, and that its sessions may be complemented by workshops and other activities, as required; # //Decides// that the first session of the group shall be held as soon as is feasible and not later than April 2008; # //Decides// that the Chair and Vice-Chair of the group, with one being from a Party included in Annex I to the Convention (Annex I Party) and the other being from a Party not included in Annex I to the Convention (non-Annex I Party), shall alternate annually between an Annex I Party and a non-Annex I Party; # //Takes note //of the proposed schedule of meetings contained in the annex to this decision; # //Instructs// the group to develop its work programme at its first session in a coherent and integrated manner; # //Invites// Parties to submit to the secretariat, by 22 February 2008, their views regarding the work programme, taking into account the elements referred to in paragraph 1 above, to be compiled by the secretariat for consideration by the group at its first meeting; # //Requests// the group to report to the Conference of the Parties at its fourteenth session on progress made; # //Agrees //to take stock of the progress made, at its fourteenth session, on the basis of the report by the group; # //Agrees// that the process shall be informed by, inter alia, the best available scientific information, experience in implementation of the Convention and its Kyoto Protocol, and processes thereunder, outputs from other relevant intergovernmental processes and insights from the business and research communities and civil society; # //Notes// that the organization of work of the group will require a significant amount of additional resources to provide for the participation of delegates from Parties eligible to be funded and to provide conference services and substantive support; # //Strongly urges// Parties in a position to do so, in order to facilitate the work of the group, to provide contributions to the Trust Fund for Participation in the UNFCCC Process and the Trust Fund for Supplementary Activities for the purposes referred to in paragraph 12 above and to provide other forms of in kind support such as hosting a session of the group. !! Annex ''Indicative timetable for meetings of the Ad Hoc Working Group on Long-term Cooperative Action under the Convention in 2008'' |Session |Dates | |Session 1 |March/April 2008| |Session 2 |June 2008, in conjunction with the twenty-eighth sessions of the subsidiary bodies | |Session 3 |August/September 2008 | |Session 4 |December 2008, in conjunction with the fourteenth session of the Conference of the Parties| //8^^th^^ plenary meeting 14-15 December 2007// 1/ Contribution of Working Group III to the Fourth Assessment Report of the Intergovernmental Panel on Climate Change, Technical Summary, pages 39 and 90, and Chapter 13, page 776.
''Reducing emissions from deforestation in developing countries: approaches to stimulate action'' //The Conference of the Parties,// //Recalling// the relevant provisions of the Convention, in particular Article 2, Article 3, paragraphs 1, 3 and 4, and Article 4, paragraphs 1(a)-(d), 3, 5 and 7, //Acknowledging// the contribution of the emissions from deforestation to global anthropogenic greenhouse gas emissions, //Acknowledging// that forest degradation also leads to emissions, and needs to be addressed when reducing emissions from deforestation, //Recognizing// that efforts and actions to reduce deforestation and to maintain and conserve forest carbon stocks in developing countries are already being taken, //Recognizing// the complexity of the problem, different national circumstances and the multiple drivers of deforestation and forest degradation, //Recognizing// the potential role of further actions to reduce emissions from deforestation and forest degradation in developing countries in helping to meet the ultimate objective of the Convention, //Affirming// the urgent need to take further meaningful action to reduce emissions from deforestation and forest degradation in developing countries, //Noting// that sustainable reduction in emissions from deforestation and forest degradation in developing countries requires stable and predictable availability of resources, //Recognizing// that reducing emissions from deforestation and forest degradation in developing countries can promote co-benefits and may complement the aims and objectives of other relevant international conventions and agreements, //Recognizing also// that the needs of local and indigenous communities should be addressed when action is taken to reduce emissions from deforestation and forest degradation in developing countries, # //Invites// Parties to further strengthen and support ongoing efforts to reduce emissions from deforestation and forest degradation on a voluntary basis; # //Encourages// all Parties, in a position to do so, to support capacity-building, provide technical assistance, facilitate the transfer of technology to improve, inter alia, data collection, estimation of emissions from deforestation and forest degradation, monitoring and reporting, and address the institutional needs of developing countries to estimate and reduce emissions from deforestation and forest degradation; # //Further encourages// Parties to explore a range of actions, identify options and undertake efforts, including demonstration activities, to address the drivers of deforestation relevant to their national circumstances, with a view to reducing emissions from deforestation and forest degradation and thus enhancing forest carbon stocks due to sustainable management of forests; # //Encourages//, without prejudice to future decisions of the Conference of the Parties, the use of the indicative guidance provided in the annex to this decision as an aid in undertaking and evaluating the range of demonstration activities; # //Invites// Parties, in particular Parties included in Annex II to the Convention, to mobilize resources to support efforts in relation to the actions referred to in paragraphs 1-3 above; # //Encourages// the use of the most recent reporting guidelines^^^^ as a basis for reporting greenhouse gas emissions from deforestation, noting also that Parties not included in Annex I to the Convention are encouraged to apply the //Good Practice Guidance for Land Use, Land-Use Change and Forestry//;^^^^ # //Requests// the Subsidiary Body for Scientific and Technological Advice to undertake a programme of work on methodological issues related to a range of policy approaches and positive incentives that aim to reduce emissions from deforestation and forest degradation in developing countries noting relevant documents;^^^^ the work should include: ## Inviting Parties to submit, by 21 March 2008, their views on how to address outstanding methodological issues including, inter alia, assessments of changes in forest cover and associated carbon stocks and greenhouse gas emissions, incremental changes due to sustainable management of the forest, demonstration of reductions in emissions from deforestation, including reference emissions levels, estimation and demonstration of reduction in emissions from forest degradation, implications of national and subnational approaches including displacement of emissions, options for assessing the effectiveness of actions in relation to paragraphs 1, 2, 3 and 5 above, and criteria for evaluating actions, to be compiled into a miscellaneous document for consideration by the Subsidiary Body for Scientific and Technological Advice at its twenty-eighth session; ## Requesting the secretariat, subject to availability of supplementary funding, to organize a workshop on methodological issues identified in paragraph 7 (a) above, before its twenty-ninth session, and to prepare a report on the workshop for consideration by the Subsidiary Body for Scientific and Technological Advice at that session; ## Advancing the development of methodological approaches, taking into account the outcome of the workshop referred to in paragraph 7 (b) above at its twentyninth session; # //Requests// the Subsidiary Body for Scientific and Technological Advice to report to the Conference of the Parties, at its fourteenth session, on the outcomes of the work referred to in paragraph 7 (a)-(c) above, including any recommendations on possible methodological approaches; # //Invites// relevant organizations and stakeholders, without prejudice to any future decision of the Conference of the Parties on reducing emissions from deforestation and forest degradation in developing countries, to support efforts in relation to paragraphs 1, 2, 3 and 5 above and to share outcomes of these efforts with the Subsidiary Body for Scientific and Technological Advice by providing corresponding information to the secretariat; # //Requests// the secretariat to support, subject to the availability of supplementary funding, the activities of all Parties, in particular developing countries, in relation to paragraphs 3, 5, 7 and 9 above, by developing a Web platform where information submitted by Parties, relevant organizations and stakeholders will be made available; # //Notes// the further consideration, under decision 1/CP.13, of policy approaches and positive incentives on issues relating to reducing emissions from deforestation and forest degradation in developing countries; and the role of conservation, sustainable management of forests and enhancement of forest carbon stocks in developing countries; # //Notes further //that when addressing policy approaches and positive incentives on issues relating to reducing emissions from deforestation and forest degradation in developing countries, the efforts described in paragraph 3 above should be considered. !! Annex ''Indicative guidance'' # Demonstration activities should be undertaken with the approval of the host Party. # Estimates of reductions or increases of emissions should be results based, demonstrable, transparent and verifiable, and estimated consistently over time. # The use of the methodologies described in paragraph 6 of this decision is encouraged as a basis for estimating and monitoring emissions. # Emission reductions from national demonstration activities should be assessed on the basis of national emissions from deforestation and forest degradation. # Subnational demonstration activities should be assessed within the boundary used for the demonstration, and assessed for associated displacement of emissions. # Reductions in emissions or increases resulting from the demonstration activity should be based on historical emissions, taking into account national circumstances. # Subnational^^^^ approaches, where applied, should constitute a step towards the development of national approaches, reference levels and estimates. # Demonstration activities should be consistent with sustainable forest management, noting, inter alia, the relevant provisions of the United Nations Forum on Forests, the United Nations Convention to Combat Desertification and the Convention on Biological Diversity. # Experiences in implementing activities should be reported and made available via the Web platform.^^^^ # Reporting on demonstration activities should include a description of the activities and their effectiveness, and may include other information. # Independent expert review is encouraged. //8^^th^^ plenary meeting 14-15 December 2007// 1/ At the time of this decision, the most recent reporting guidelines for national communications from Parties not included in Annex I to the Convention are found in decision 17/CP.8. 2/ To be developed by the secretariat as referred to in paragraph 10 of this decision.
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a25r2625.htm}}}
<html><iframe
title="2625 (XXV). Declaration on Principles of International Law concerning Friendly Relations and Co-operation among States in accordance with the Charter of the United Nations"
src="http://www.un-documents.net/a25r2625.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a43r196.htm}}}
<html><iframe
title="43/196. United Nations conference on environment and development"
src="http://www.un-documents.net/a43r196.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a44r226.htm}}}
<html><iframe
title="44/228. UN Conference on Environment and Development"
src="http://www.un-documents.net/a44r226.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a45r211.htm}}}
<html><iframe
title="45/211. United Nations Conference on Environment and Development"
src="http://www.un-documents.net/a45r211.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a46r168.htm}}}
<html><iframe
title="46/168. United Nations Conference on Environment and Development"
src="http://www.un-documents.net/a46r168.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a47r190.htm}}}
<html><iframe
title="47/190. Report of the United Nations Conference on Environment and Development"
src="http://www.un-documents.net/a47r190.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a47r191.htm}}}
<html><iframe
title="47/191. Institutional arrangements to follow up the United Nations Conference on Environment and Development"
src="http://www.un-documents.net/a47r191.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
''General Assembly Resolution A/RES/57/254''. //20 December 2002//
''United Nations Decade of Education for Sustainable Development''
//The General Assembly//,
//Recalling// [[chapter 36 of Agenda 21|http://www.un-documents.net/a21-36.htm]], on promoting education, public awareness and training, adopted at the United Nations Conference on Environment and Development, held in Rio de Janeiro, Brazil, in 1992,
//Reaffirming// the internationally agreed development goal of achieving universal primary education, in particular that, by 2015, children everywhere, boys and girls alike, will be able to complete a full course of primary schooling,
//Appreciating// the contribution made by the Commission on Sustainable Development to the issue of education for sustainable development since the United Nations Conference on Environment and Development,
//Welcoming// the fact that the [[Plan of Implementation of the World Summit on Sustainable Development|http://www.un-documents.net/jburgpln.htm]] ("Johannesburg Plan of Implementation") confirmed the importance of education for sustainable development and recommended that the General Assembly consider adopting a decade of education for sustainable development starting in 2005,
//Emphasizing// that education is an indispensable element for achieving sustainable development,
1. //Decides// to proclaim the ten-year period beginning on 1 January 2005 the United Nations Decade of Education for Sustainable Development;
2. //Designates// the United Nations Educational, Scientific and Cultural Organization as the lead agency for the promotion of the Decade, and requests it to develop a draft international implementation scheme, clarifying its relationship with the existing educational processes, in particular the [[Dakar Framework for Action|http://www.un-documents.net/dakarfa.htm]] adopted at the World Education Forum/3 and the [[United Nations Literacy Decade|http://www.unesco.org/education/litdecade/]], in consultation with the United Nations and other relevant international organizations, Governments, non-governmental organizations and other stakeholders, with a view to providing recommendations for Governments on how to promote and improve the integration of education for sustainable development in their respective educational strategies and action plans at the appropriate level;
3. //Invites// Governments to consider the inclusion of measures to implement the Decade in their respective educational strategies and action plans by 2005, taking into account the international implementation scheme to be prepared by the United Nations Educational, Scientific and Cultural Organization;
4. //Decides// to include in the provisional agenda of its fifty-eighth session an item entitled "United Nations Decade of Education for Sustainable Development".
''General Assembly Resolution A/RES/58/219''. //23 December 2003//
''United Nations Decade of Education for Sustainable Development''
//The General Assembly//,
//Recalling// [[chapter 36 of Agenda 21|http://www.un-documents.net/a21-36,htm]], on promoting education, public awareness and training, adopted at the United Nations Conference on Environment and Development, held in Rio de Janeiro, Brazil, from 3 to 14 June 1992,
//Recalling also// the relevant provisions of the [[Plan of Implementation of the World Summit on Sustainable Development|http://www.un-documents.net/jburgpln.htm]] ("Johannesburg Plan of Implementation") on education, in particular its provision 124 (//d//) on the United Nations Decade of Education for Sustainable Development,
//Recalling further// its [[resolution 57/254|57/254. United Nations Decade of Education for Sustainable Development]] of 20 December 2002,
//Reaffirming// the internationally agreed development goal of achieving universal primary education, in particular that by 2015 children everywhere, boys and girls alike, will be able to complete a full course of primary schooling,
//Taking note// of the report of the Director-General of the United Nations Educational, Scientific and Cultural Organization on the United Nations Decade of Education for Sustainable Development,
//Welcoming// the fact that the Commission on Sustainable Development, at its eleventh session, identified education as one of the cross-cutting issues of its multi-year programme of work,
//Emphasizing// that education is an indispensable element for achieving sustainable development,
1. //Takes note// of the Framework for a Draft International Implementation Scheme prepared by the United Nations Educational, Scientific and Cultural Organization, requests the United Nations Educational, Scientific and Cultural Organization, as the designated lead agency, to promote the United Nations Decade of Education for Sustainable Development, in coordination with other relevant United Nations agencies and programmes, and further requests it to finalize the international implementation scheme, while clarifying its relationship with the existing educational processes, in particular the [[Dakar Framework for Action|http://www.un-documents.net/dakarfa.htm]] adopted at the World Education Forum and the [[United Nations Literacy Decade|http://www.unesco.org/education/litdecade/]], in consultation with Governments, the United Nations and other relevant international organizations, non-governmental organizations and other stakeholders;
2. //Reaffirms// that education for sustainable development is critical for promoting sustainable development, and in this regard encourages Governments to consider the inclusion of measures to implement the United Nations Decade of Education for Sustainable Development in their respective educational strategies and national development plans by 2005;
3. //Invites// Governments to promote public awareness of and wider participation in the United Nations Decade of Education for Sustainable Development, including through cooperation and initiatives engaging civil society and other relevant stakeholders;
4. //Decides// to include in the provisional agenda of its fifty-ninth session, under the item entitled "Environment and sustainable development", a sub-item entitled "United Nations Decade of Education for Sustainable Development".
''General Assembly Resolution 59/237''. //22 December 2004//
''United Nations Decade of Education for Sustainable Development''
//The General Assembly//,
//Recalling// [[chapter 36 of Agenda 21|http://www.un-documents.net/a21-36.htm]], on promoting education, public awareness and training, adopted at the United Nations Conference on Environment and Development, held in Rio de Janeiro, Brazil, from 3 to 14 June 1992,
//Recalling also// the work programme on education, public awareness and training initiated by the Commission on Sustainable Development at its fourth session in 1996 and elaborated upon at its sixth session in 1998,
//Recalling further// the relevant provisions of the [[Plan of Implementation of the World Summit on Sustainable Development|http://www.un-documents.net/jburgpln.htm]] ("Johannesburg Plan of Implementation") on education to promote sustainable development, in particular its provision 124,
//Recalling// its resolutions [[57/254|57/254. United Nations Decade of Education for Sustainable Development]] of 20 December 2002 and [[58/219|58/219. United Nations Decade of Education for Sustainable Development]] of 23 December 2003,
//Underlining// in this regard the fact that the United Nations Decade of Education for Sustainable Development shall begin on 1 January 2005,
//Welcoming// the fact that the Commission on Sustainable Development, at its eleventh session, identified education as one of the cross-cutting issues of its multiyear programme of work,
//Reaffirming// the internationally agreed development goal of achieving universal primary education, in particular that by 2015 children everywhere, boys and girls alike, will be able to complete a full course of primary schooling and that boys and girls will have equal access to all levels of education,
//Taking note// of the oral report presented on 18 October 2004 at the fifty-ninth session of the General Assembly by the Assistant Director-General for Education of the United Nations Educational, Scientific and Cultural Organization regarding its preparations for the Decade,
//Taking note also// of the report of the Secretary-General on the implementation of the International Strategy for Disaster Reduction,in particular the reference to the issue "Learning to live with risk", as regards the need to focus on education and awareness, linked with the Decade, to be considered at the World Conference on Disaster Reduction, to be held in Kobe, Japan, from 18 to 22 January 2005,
//Emphasizing// that education is an indispensable element for achieving sustainable development,
1. //Reaffirms// that education for sustainable development is critical for promoting sustainable development;
2. //Requests// the United Nations Educational, Scientific and Cultural Organization, as the designated lead agency, to promote the United Nations Decade of Education for Sustainable Development, in coordination with other relevant United Nations organizations and programmes, while taking into account the special needs of developing countries;
3. //Requests// the Secretary-General to call upon the United Nations Educational, Scientific and Cultural Organization to finalize the draft international implementation scheme for the Decade as soon as possible, preferably by the beginning of the Decade, in consultation with Governments, the United Nations and relevant international organizations, non-governmental organizations and other stakeholders, while clarifying its relationship with the existing educational processes, in particular the [[Dakar Framework for Action|http://www.un-documents.net/dakarfa.htm]] adopted at the World Education Forum and the [[United Nations Literacy Decade|http://www.unesco.org/education/litdecade/]];
4. //Also requests// the Secretary-General to call upon the Director-General of the United Nations Educational, Scientific and Cultural Organization to submit the draft international implementation scheme to the governing bodies of the United Nations Educational, Scientific and Cultural Organization for their final consideration and adoption;
5. //Encourages// Governments to consider the inclusion, especially upon completion and adoption of the international implementation scheme, of measures to implement the Decade in their respective educational systems and strategies and, where appropriate, national development plans;
6. //Invites// Governments to promote public awareness of and wider participation in the Decade, inter alia, through cooperation with and initiatives engaging civil society and other relevant stakeholders, especially at the beginning of the Decade;
7. //Requests// the Secretary-General to invite the Director-General of the United Nations Educational, Scientific and Cultural Organization to prepare a midterm review of the implementation of the Decade, for submission to the General Assembly at its sixty-fifth session under the sub-item entitled "United Nations Decade of Education for Sustainable Development".
The ''60dpingo'' tag is for tiddlers relating to the [[60th Annual DPI/NGO Conference]]. |<<siteMap "un dpi">> |<<siteMap ngo-dpi>> |
The ''60th Annual DPI/NGO Conference'', organized by an NGO '''Planning Committee''' in partnership with the United Nations Department of Public Information, will be held from September 5-7, 2007 at UN Headquarters in New York on the theme: ''Climate Change: How It Impacts Us All''. +++[www.un.org/dpi/ngosection/conference/60/] http://www.un.org/dpi/ngosection/conference/60/ The ''60th Annual DPI/NGO Conference'' will be the last to be held at UN Headquarters for several years, and this site is being developed with the vision of building a prototype of an online framework that would facilitate broad-based NGO participation in future Annual DPI/NGO Conferences. !! Conference participants Approximately 2,000 representatives of ~NGOs from around the world are expected to participate in the Conference. !! Conference Agenda !!! Plenary & Roundtable Sessions <<< !!!! Opening Session !!!! Climate Change: The Scientific Evidence !!!! Climate Change: Indigenous Peoples, Culture & Traditional Knowledge !!!! Water Security & Climate Change !!!! [[Coping With Climate Change: Best Land Use Practices]] !!!! The Economics & Politics of Climate Change !!!! Climate Change: Streamlining the System !!!! Sustainable Development & the Responsibility to Protect !!!! Closing Session <<< !!! ~Mid-Day Workshops In addition to the roundtable sessions, 33 workshops addressing issues relating to the roundtable themes and organized by ~NGOs, will be held between 1:15 and 2:45 pm each day of the conference. !! See also * [[Draft DPI/NGO 2007 Declaration on Climate Change]] * [[NGO Framework for Action on Climate Change]] * [[Climate Change Summer]]
!! Climate Change Threats - An NGO Framework for Action The Preparatory Committee of the [[60th Annual DPI/NGO Conference]] (September 5-7, 2007) invites all participants to concur by consensus on September 7th with the Declaration on the reverse of this sheet. Substantive suggestions for improvement are also invited; but they must be received by 6pm on September 6th and should foster a consensus. Recommendation forms should be placed into the boxes in Conference Rooms 1 and 4, or given to the Drafting Committee members, Mr. Larry Roeder, Dr. William Gellermann and Ms. Moki Kokoris, who will often be in the UN Cafeteria near the windows overlooking the East River. Recommended suggestions MUST BE 25 words or less. The Drafting Committee's work is supervised by a Senior Review Committee made up of Sister Joan Kirby (outgoing Chairperson of the NGO/DPI Executive Committee), Jeffery Huffines (incoming Chair of the NGO/DPI Executive Committee), and Richard Jordan (Chair of the 60th NGO/DPI Conference) Members of the NGO/DPI and ECOSOC NGO communities deal with a spectrum of issues that might not normally involve collaboration; but networking will be crucial to dealing with Climate Change, especially as it challenges all of us. The purpose of the Declaration is to provide a framework for action and collaborative networking, a tool to enable us to work together on the threats of climate change, which is essential to serving all of our particular mandates. The Declaration envisages that over the next 12 months, we will collaborate and report our efforts to the ~Secretary-General, while continuing our collaboration in coping with the threats. The process by which this is to be done will be facilitated by the NGO/DPI Executive Committee. The recommendations that come out of the process do not need to have full consensus support across the entire NGO community; but they do need to be developed in the spirit of collaboration with and among all ~NGOs.
The ''60th Annual DPI/NGO Conference Planning Committee'' was responsible for planning the [[60th Annual DPI/NGO Conference]] and met on a weekly basis - with occasional exceptions - each Thursday at United Nations from February ? 2007 until the conference took place on September 5-7, 2007. !! ~Co-Chairs <<< [[Juan Carlos Brandt]], Chief, NGO Section, United Nations Department of Public Information [[Richard Jordan]],
Made by Faith Community Participants during the United Nations Climate Change Conference (~COP11 and COP/~MOP1), St. Joseph ’s Oratory, Montreal December 4, 2005 * We hear the call of the Earth. * We believe that caring for life on Earth is a spiritual commitment. * People and other species have the right to life unthreatened by human greed and destructiveness. * Pollution, particularly from the energy-intensive wealthy industrialised countries, is warming the atmosphere. A warmer atmosphere is leading to major climate changes. The poor and vulnerable in the world and future generations will suffer the most. * We commit ourselves to help reduce the threat of climate change through actions in our own lives, pressure on governments and industries and standing in solidarity with those most affected by climate change. * We pray for spiritual support in responding to the call of the Earth. > From [[Protecting Creation: People of faith acting together for climate justice|http://protectingcreation.org/ccdeclaration.htm]]
The Intergovernmental Panel on Climate Change (IPCC) was jointly established in 1988, by the World Meteorological Organization (WMO) and the United Nations Environment Programme (UNEP). Its present terms of reference are to: * Assess available information on the science, the impacts, and the economics of -- and the options for mitigating and/ or adapting to -- climate change. * Provide, on request, scientific/technical/socio-economic advice to the Conference of the Parties (COP) to the United Nations Framework Convention on Climate Change (UNFCCC). Since its establishment, the IPCC has produced a series of Assessment Reports (1990, 1995, and 2001), Special Reports, Technical Papers, and methodologies, such as the Guidelines for National Greenhouse Gas Inventories, which have become standard works of reference, widely used by policymakers, scientists, and other experts and students. This Synthesis Report completes the four-volume Third Assessment Report (TAR). It addresses specifically the issues of concern to the policymaker, in the context of Article 2 of the UNFCCC -- issues such as the extent to which human activities have influenced and will in the future influence the global climate, the impacts of a changed climate on ecological and socio-economic systems, and existing and projected technical and policy capacity to address anthropogenic climate change. It explores briefly the linked nature of a number of multilateral environmental conventions. It draws on the work of hundreds of experts from all regions of the world who have in the past and at present participated in the IPCC process. As is customary in the IPCC, success in producing this report has depended first and foremost on the dedication, enthusiasm, and cooperation of these experts in many different but related disciplines. We take this opportunity to express our heart-felt gratitude to the authors and reviewers of all the IPCC reports and Technical Papers, particularly the TAR. We thank likewise the IPCC Bureau; Dr. Sundararaman, Secretary of IPCC, and his Secretariat staff; and those staffing the Technical Support Units of the three Working Groups. We acknowledge with gratitude the governments and organizations that contribute to the IPCC Trust Fund, and provide support to the experts and in other ways. The IPCC has been especially successful in engaging in its work a large number of experts from the developing countries and countries with their economies in transition; the Trust Fund enables extending financial assistance for their travel to IPCC meetings. We thank the Chairman of the IPCC, Dr. Robert T. Watson, for guiding the effort in completing the TAR. ''G.O.P. Obasi'' Secretary General World Meteorological Organization ''K. Töpfer'' Executive Director United Nations Environment Programme and ~Director-General United Nations Office in Nairobi
* [[Question 1|IPCC AR3: Question 1]] ** What can scientific, technical, and socio-economic analyses contribute to the determination of what constitutes dangerous anthropogenic interference with the climate system as referred to in Article 2 of the Framework Convention on Climate Change? * [[Question 2|IPCC AR3: Question 2]] ** What is the evidence for, causes of, and consequences of changes in the Earth's climate since the pre-industrial era? * [[Question 3|IPCC AR3: Question 3]] ** What is known about the regional and global climatic, environmental, and socio-economic consequences in the next 25, 50, and 100 years associated with a range of greenhouse gas emissions arising from scenarios used in the TAR (projections which involve no climate policy intervention)? * [[Question 4|IPCC AR3: Question 4]] ** What is known about the influence of the increasing atmospheric concentrations of greenhouse gases and aerosols, and the projected human-induced change in climate regionally and globally ... [[more|Question 4|IPCC AR3: Question 4]] * [[Question 5|IPCC AR3: Question 5]] ** What is known about the inertia and time scales associated with the changes in the climate system, ecological systems, and socio-economic sectors and their interactions? * [[Question 6|IPCC AR3: Question 6]] ** How does the extent and timing of the introduction of a range of emissions reduction actions determine and affect the rate, magnitude, and impacts of climate change, and affect the global and regional economy, taking into account the historical and current emissions? ** What is known from sensitivity studies about regional and global climatic, environmental, and socio-economic consequences of stabilizing the atmospheric concentrations of greenhouse gases (in carbon dioxide equivalents), at a range of levels from today's to double that level or more, taking into account to the extent possible the effects of aerosols? * [[Question 7|IPCC AR3: Question 7]] ** What is known about the potential for, and costs and benefits of, and time frame for reducing greenhouse gas emissions? * [[Question 8|IPCC AR3: Question 8]] ** What is known about the interactions between projected human-induced changes in climate and other environmental issues (e.g., urban air pollution, regional acid deposition, loss of biological diversity, stratospheric ozone depletion, and desertification and land degradation)? ** What is known about environmental, social, and economic costs and benefits and implications of these interactions for integrating climate change response strategies in an equitable manner into broad sustainable development strategies at the local, regional, and global scales? * [[Question 9|IPCC AR3: Question 9]] ** What are the most robust findings and key uncertainties regarding attribution of climate change and regarding model projections?
This Synthesis Report with its Summary for Policymakers is the fourth and final part of the Third Assessment Report (TAR) of the Intergovernmental Panel on Climate Change (IPCC). It draws together and integrates for the benefit of policy makers, and others, and in response to questions identified by governments and subsequently agreed by the IPCC, information that has been approved and/ or accepted by the IPCC.1 It is intended to assist governments, individually and collectively, in formulating appropriate adaptation and mitigation responses to the threat of human-induced climate change. The Synthesis Report is based mainly on the contributions of the three IPCC Working Groups to the TAR, but also uses information from earlier IPCC assessments, Special Reports, and Technical Papers. It follows the question and answer format, and is in two parts: a Summary for Policymakers and a longer document that contains expanded responses to each of the questions posed by governments. The Summary for Policymakers references the appropriate paragraphs in the longer report, while the longer report contains references to the source of the material on which the response is based -- that is, the Summaries for Policymakers and chapters from previously approved and accepted Working Group contributions to the TAR and earlier IPCC reports and Technical Papers (see the accompanying box for cross-referencing nomenclature). The procedures for approving the Summary for Policymakers and adopting the balance of the Synthesis Report were formalized by the IPCC at its Fifteenth Session (San Jose, Costa Rica, 15-18 April 1999). A draft of the Synthesis Report and its Summary for Policymakers was prepared by a team of lead authors, who were involved in preparation of the TAR, and submitted for simultaneous government/ technical and expert review. The revised drafts were circulated to governments in a final distribution before approval/ adoption at the IPCC's Eighteenth Session (Wembley, United Kingdom, 24- 29 September 2001). The Synthesis Report consists of nine policy-relevant questions: * [[Question 1]] addresses the ultimate objective of the United Nations Framework Convention on Climate Change, which is found in Article 2 (i. e., what constitutes "dangerous anthropogenic interference in the climate system") and provides a framework for placing the issue of climate change in the context of sustainable development. * [[Question 2]] assesses and, where possible, attributes observed changes in climate and ecological systems since the pre-industrial era. * [[Questions 3|Question 3]] and [[4|Question 4]] assess the impact of future emissions of greenhouse gases and sulfate aerosol precursors (without specific policies to mitigate climate change) on climate, including changes in variability and extreme events and in ecological and socio-economic systems. * [[Question 5]] discusses inertia in the climate, ecological systems, and socio-economic sectors, and implications for mitigation and adaptation. * [[Question 6]] assesses the near-and long-term implications of stabilizing atmospheric concentrations of greenhouse gases on climate, ecological systems, and socio-economic sectors. * [[Question 7]] assesses the technologies, policies, and costs of near-and long-term actions to mitigate greenhouse gas emissions. * [[Question 8]] identifies the interactions between climate change, other environmental issues, and development. * [[Question 9]] summarizes the most robust findings and key uncertainties. !!! [[Thanks|AR3-Synthesis: Thanks]] !!! [[Publication of the Synthesis Report|AR3-Synthesis: Publication]] R. T. Watson IPCC Chair N. Sundararaman IPCC Secretary
The Synthesis Report with its Summary for Policymakers was originally published in a single volume together with the Summaries for Policymakers and Technical Summaries of the Working Group contributions to the TAR, as well as a comprehensive, consolidated glossary. The Synthesis Report is also available in Arabic, Chinese, French, Russian, and Spanish -- the other official languages of the IPCC. The Synthesis Report is also available as a stand-alone publication, as are discrete brochures consisting of the Summaries for Policymakers, Technical Summaries, and glossaries of the respective Working Group reports. The full English text of all four volumes comprising the Third Assessment Report has been published in both print and digital form, with searchable versions available on cd-rom and at http://www.ipcc.ch.
We take this opportunity to thank: * The Core Writing Team who drafted this report and, with their meticulous and painstaking attention to detail, finalized it * Other members of the IPCC Bureau who acted as Review Editors * The members of the Working Groups' teams of Coordinating Lead Authors and Lead Authors who helped with the initial drafting * The Heads and the staff of the Technical Support Units of the three Working Groups, particularly David Dokken, Maria Noguer, and Paul van der Linden for logistical and editorial support * The Head and the staff of the GRID office at Arendal, Norway -- Philippe Rekacewicz in particular -- for working with the author team on the graphics contained in the Synthesis Report * The staff of the IPCC Secretariat for innumerable administrative tasks performed.
This web site is based on a TiddlyWiki platform - a unique and brilliant design for a self-contained, [[Creative Commons]] "Wiki". Wiki is a Hawaiian word meaning //swift// or //swiftly//, and TiddlyWiki is the wikiest wiki to date., Unlike most web sites that consist of multiple, linked web pages, all of the content in a TiddlyWiki is contained in a single web page, that contains numerous sub-pages, known as "tiddlers". A TiddlyWiki page uses simple formatting codes for its tiddlers - similar, but not identical to the codes used in <<wikipedia Wikipedia>> and each tiddler can have one or more "tags" or "key words" that are displayed adjacent to the tiddler. This makes TiddlyWiki the easiest and quickest platform for creating and maintaining a web site. From a design standpoint, what makes TiddlyWiki unique is that not only can tiddlers contain and siplay text, images, links, etc, but the appearance and format of a TiddlyWiki is defined by "style sheets and "styles" that are themselves contained in tiddlers. In addition, a tiddler can include Javascript - the language that powers TiddlyWiki - that can add very useful features over and above those in the standard TiddlyWiki.
!!Expected Climatic Trigger for the Transition > Increasing temperatures are leading to accelerated melting of mountain glaciers, a higher snowline, and earlier melting of seasonal snowpack. Very limited warming can thus cause significant changes in the amounts of snow and ice. Widespread melting is already occurring and of the order of one-quarter of the global glacier mass (including most glaciers in low latitude mountains) could melt during the 21st century. !!Expected Environmental Consequences > Changes in the timing of snowmelt are leading to earlier runoff, changing the temperature and flows of rivers and streams, and, in the summer, causing warmer temperatures and lower flow rates. All of these changes will disrupt aquatic ecosystems, fish, and wildlife. !!Likely Societal Significance > Snowmelt is a vital contributor to water resources for many regions around the world, especially for those depending on rivers originating in high mountain regions and for water systems relying on seasonal snowpack to refill reservoirs in spring and summer. Relatively little warming can in some situations cause very large changes in water availability with significant impact on both human health and agricultural productivity.
!!Expected Climatic Trigger for the Transition > Global warming adds to the rate of sea-level rise by increasing the pace of melting of land ice and thermal expansion of ocean waters. Until the Industrial Revolution, sea level had been roughly constant for a few millennia. During the 20th century, sea level rose almost 0.2 m; over the past decade the rate of rise has been 50% higher. Accelerated deterioration of the Greenland and West Antarctic Ice Sheets could cause a significant further acceleration during the 21st century (see subsequent entries). !!Expected Environmental Consequences > An accelerating rate of sea-level rise will inundate important coastal wetlands that are breeding grounds for both aquatic life and birds of many types. The landward push of ocean waters will make coastal estuaries more saline, altering the delicate balances upon which much shell and fish life depends. Higher sea level will make storm surges more damaging and increase coastal erosion rates. !!Likely Societal Significance > Many cities, communities, and important urban and transportation infrastructure are built right along the coast, often not far above sea level. Accelerating rates of sea-level rise, especially in areas where coasts are subsiding or are very flat, will pose very serious problems, requiring increasing levels of protection in the near term and very costly retreat and relocation in the long term. Already some communities built on indefensible barrier islands are being forced to move, at great expense.
This web site has been made possible thanks to a set of powerful software tools and languages that serve a wide variety of aspects of the task of gathering, organizing and disseminating information and documents relating to climate change, sustainable development and information and communications technology. The software that has contributed to site can be separated into several categories the following is a partial list: !! TiddlyWikiPerfect * TiddlyWiki * [[Cascading Style Sheets]] * [[Plugin Macros]] * [[HyperText Markup Language]] !! Database * [[DataPerfect]] - Brilliant relational database software (companion of the legendary ~WordPerfect for DOS) that has served as the principal database engine - ''Free''. Use !!Word processing * ''~WordPerfect 5.1+'' - Still unsurpassed as a word processor in its power and elegance ** ''WP Program Editor 3.1'' - versatile DOS editor for text and for ~WordPerfect macros - ''Free'' ** ''Corel ~WordPerfect'' - ** ''Corel ~WordPerfect X3'' - Converts pdf files to ~WordPerfect format - Free 30 day evaluation * ''Notepad'' - versatile program, mostly used as a bridge between DOS and Windows documents and for simple text editing !! Wiki software & sites * ''TiddlyWiki'' - ** ~TiddlyWiki plugins * ''Wikipedia'' * ''The Wealth of Networks Wiki notes'' !! Web browsers * ''~FireFox'' - Recommended web browser - ''Open Source'' ** ''~FireFox extensions'' !! Search tools * ''Google'' ** Personalized search ** Cooperative Search Engine ** ''Google News'' ** ''Google Groups'' ** ''Google Video'' ** ''GMail'' ** ''~YouTube'' !! PDF Tools * ''Adobe Acrobat Reader'' - Free reader for pdf files ** ''Adobe Acrobat Professional'' - Free 30 day evaluation ** PrimoPDF'' - Free printer driver for creating pdf files * ''pdf995 Suite'' - pdf printer driver ** ''ABBYY Fine Reader'' - Optical Character Recognition with support for pdf files - Free 30 day evaluation ** ''ABBYY PDF Transformer'' - Converts pdf files to Rich Text Format, HTML, etc. * ''WS_FTP Limited Edition'' !! Graphics software * ''Graphics Workstation Professional'' ** ''Camera Screen Capture'' * ''Adobe Photoshop'' !! Social Bookmarking * ''Blue Dot'' ** ''del.icio.us'' !! Utility software * ''Total Commander'' * ''Norton Utilities'' * ''System Mechanic'' * ''~SpyBot''
{{iframe{''Note'': This is a "framed" page from the [[UNFCCC]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://unfccc.int/kyoto_protocol/items/4577.php}}}
<html><iframe
src = "http://unfccc.int/kyoto_protocol/items/4577.php"
title = "Ad Hoc Working Group on Further Commitments for Annex I Parties under the Kyoto Protocol (AWG-KP)"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://unfccc.int/kyoto_protocol/items/4577.php}}}
<html><iframe
src = "http://unfccc.int/kyoto_protocol/items/4577.php"
title = "Ad Hoc Working Group on Further Commitments for Annex I Parties under the Kyoto Protocol (AWG-KP)"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://unfccc.int/kyoto_protocol/items/4577.php}}}
<html><iframe
src = "http://unfccc.int/kyoto_protocol/items/4577.php"
title = "Ad Hoc Working Group on Further Commitments for Annex I Parties under the Kyoto Protocol"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UNFCCC]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://unfccc.int/meetings/items/4381.php}}}
<html><iframe
src = "http://unfccc.int/meetings/items/4381.php"
title = "Ad Hoc Working Group on Long-term Cooperative Action under the Convention (AWG-LCA)"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
<<jump>><<renameButton 'jump to an open tiddler'>>
<<closeAll>><<renameButton 'close all tiddlers'>>
<<permaview>>
<<newDocument ask print>><<renameButton 'print open tiddlers'>>
<<newTiddler "New Tiddler" >>
<<newTiddler text:{{store.getTiddlerText("iframe template","")}}>><<renameButton 'new iframe'>>
<<newTiddler text:{{store.getTiddlerText("picasa template","")}} title:"New Album" tag:"picasa album" >><<renameButton 'new album'>>
<<newTiddler text:{{store.getTiddlerText("youtube template","")}} title:"New YouTube" tag:youtube>><<renameButton 'new youtube'>>
<<saveChanges>>
<<option txtUserName>>
[[User Options]] +++
[[Search Options]] -
<<fontSize "font-size:">> -
[[Editing Options]] -
===
[[Tiddler Administration]] +++
[[Recent Tiddlers]] -
[[Main Menu|MainMenu]] -
[[Setup Menu]] -
[[Administrative Menu]] -
[[Template snippets]] -
[[Basic Tiddler Lists]] -
[[Formatting Tiddlers]] +++
[[Formatting Text]] --
[[iframe template]] --
[[Headers & Outlines]] --
[[Tiddly Links]] --
[[Tables]] --
[[Images]] --
===
[[Tiddler Lists]] +++
[[Basic Tiddler Lists]] -
[[Alphabetical Tiddlers]] -
[[Recent Tiddlers]] -
[[Tiddler Timelines]] +++
[[Tiddler Timeline]] -
[[Reverse Timeline]] -
[[Event Timeline]] -
===
[[Shadow Tiddlers]] -
[[Missing Tiddlers]] -
[[Imported Tiddlers]] -
[[Included TiddlyWikis]] -
===
[[Menus]] +++
[[Main Menu|MainMenu]] -
[[Administrative Menu]] -
[[Hover Menu|HoverMenu]] -
[[Setup Menu]] -
===
[[Default Tiddlers|DefaultTiddlers]] -
[[Import Tiddlers]] -
[[Plugin Macros]] -
[[Templates & Stylesheets]] +++
[[PageTemplate]] -
[[ViewTemplate]] -
[[EditTemplate]] -
[[StyleSheet]] -
[[MainMenuStyles]] -
[[TagglyTaggingStyles]] -
[[Colour Palette]] -
===
===
{{center{
[img[http://www.climatechange3.net/cc3-logo-100x100.png][Climate Change 3.0]]
[img[http://www.climatechange3.net/udhr60-beacon-100x100.png][udhr@60+]]
[img[http://www.climatechange3.net/peace-cubes-logo-black-100x100.png][Peace Cubes]]
[img[http://www.climatechange3.net/onewebday/cc-logo-green-100x26.jpg][Creative Commons]]
[img[http://www.climatechange3.net/onewebday/open-source-logo-100x87.png][Open Source]]
[img[http://www.climatechange3.net/onewebday/owd-logo-100x100.jpg][OneWebDay - September 22]]
[img[http://www.climatechange3.net/onewebday/owdnyc-100x23.jpg][OneWebDay NYC]]
[img[http://www.climatechange3.net/onewebday/sfd09-logo-100x43.jpg][Software Freedom Day - September 19]]
[img[http://www.climatechange3.net/onewebday/peaceday-logo-100x81.jpg][International Day of Peace - September 21]]
[img[http://www.climatechange3.net/tiddlywiki-logo-100x51.jpg][TiddlyWiki]]
[img[http://www.climatechange3.net/firefox-logo-100x100.jpg][Firefox]]
[img[http://www.climatechange3.net/ning-logo-100x41.jpg][Ning]]
[img[http://www.climatechange3.net/congo-100x75.jpg][Conference Of NGOs]]
| <<tiddler "Menu Widgets">>|
[img[http://www.climatechange3.net/tiddlywiki-logo-100x51.jpg][TiddlyWiki]]
<<version>>
[img[http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png][Creative Commons Attribution Non-Commercial Share-Alike Licence]]
}}}
[[Recent Tiddlers]]
[[Main Menu|MainMenu]]
[[Setup Menu]]
[[Default Tiddlers|DefaultTiddlers]]
[[Administrative Menu]]
[[Import Tiddlers]]
[[Plugin Macros]]
[[Templates & Style Sheets]]
<<jump>><<renameButton 'jump to an open tiddler'>>
<<closeAll>><<renameButton 'close all tiddlers'>>
<<permaview>>
<<newDocument ask print>><<renameButton 'print open tiddlers'>>
<<newTiddler "New Tiddler" >>
<<newTiddler text:{{store.getTiddlerText("iframe template","")}}>><<renameButton 'new iframe tiddler'>>
<<newTiddler text:{{store.getTiddlerText("youtube template","")}} title:"New YouTube" tag:youtube>><<renameButton 'new youtube tiddler'>>
<<newTiddler text:{{store.getTiddlerText("picasa template","")}} title:"New YouTube" tag:'picasa album'>><<renameButton 'new picasa album tiddler'>>
<<saveChanges>>
<<option txtUserName>>
[[User Options]] +++
[[Search Options]] -
<<fontSize "font-size:">> -
[[Editing Options]] -
===
[[Tiddler Administration]] +++
[[Recent Tiddlers]] -
[[Main Menu|MainMenu]] -
[[Setup Menu]] -
[[Administrative Menu]] -
[[Template snippets]] -
[[Basic Tiddler Lists]] -
[[Formatting Tiddlers]] +++
[[Formatting Text]] --
[[iframe template]] --
[[Headers & Outlines]] --
[[Tiddly Links]] --
[[Tables]] --
[[Images]] --
===
[[Tiddler Lists]] +++
[[Basic Tiddler Lists]] -
[[Alphabetical Tiddlers]] -
[[Recent Tiddlers]] -
[[Tiddler Timelines]] +++
[[Tiddler Timeline]] -
[[Reverse Timeline]] -
[[Event Timeline]] -
===
[[Shadow Tiddlers]] -
[[Missing Tiddlers]] -
[[Imported Tiddlers]] -
[[Included TiddlyWikis]] -
===
[[Menus]] +++
[[Main Menu|MainMenu]] -
[[Administrative Menu]] -
[[Hover Menu|HoverMenu]] -
[[Setup Menu]] -
===
[[Default Tiddlers|DefaultTiddlers]] -
[[Import Tiddlers]] -
[[Plugin Macros]] -
[[Templates & Stylesheets]] +++
[[PageTemplate]] -
[[ViewTemplate]] -
[[EditTemplate]] -
[[StyleSheet]] -
[[MainMenuStyles]] -
[[TagglyTaggingStyles]] -
[[Colour Palette]] -
===
===
{{center{
[img[http://www.climatechange3.net/cc3-logo-100x100.png][Climate Change 3.0]]
[img[http://www.climatechange3.net/onewebday/sfd09-logo-100x43.jpg][Software Freedom Day]]
[img[http://www.climatechange3.net/onewebday/peaceday-logo-100x81.jpg][International Day of Peace]]
[img[http://www.climatechange3.net/onewebday/owd-logo-100x100.jpg][OneWebDay]]
[img[http://www.climatechange3.net/onewebday/owdnyc-100x23.jpg][OneWebDay NYC]]
[img[http://www.climatechange3.net/cc-logo-green-100x26.jpg][Creative Commons]]
[img[http://www.climatechange3.net/open-source-logo-100x87.png][Open Source]]
[img[http://www.climatechange3.net/tiddlywiki-logo-100x51.jpg][TiddlyWiki]]
[img[http://www.climatechange3.net/firefox-logo-100x100.jpg][Firefox]]
[img[http://www.climatechange3.net/ning-logo-100x41.jpg][Ning]]
[img[http://www.climatechange3.net/udhr60-beacon-100x100.png][udhr@60+]]
[img[http://www.climatechange3.net/congo-100x75.jpg][Conference Of NGOs]]
| <<tiddler "Menu Widgets">> |
[img[http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png][Creative Commons Attribution Non-Commercial Share-Alike Licence]]
TiddlyWiki <<version>>
}}}
[[Administrative Menu]] - attached to base of the [[Main Menu|MainMenu]] <<tiddler "Administrative Menu">>
/***
|Name|AdvancedOptionsPlugin|
|Source|http://www.TiddlyTools.com/#AdvancedOptionsPlugin|
|Documentation|http://www.TiddlyTools.com/#AdvancedOptionsPlugin|
|Version|1.2.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.3|
|Type|plugin|
|Requires||
|Overrides||
|Options|##Configuration|
|Description|automatically add plugin-defined options to the [[AdvancedOptions]] shadow tiddler|
!!!!!Usage
<<<
At document startup, this plugin examines each tiddler tagged with <<tag systemConfig>> and looks for a tiddler slice named "Options" whose value refers to a tiddler section (or separate tiddler) that contains an 'advanced options control panel' for configuring that plugin's features and behavior. For each plugin that contains an "Options" slice, a tabbed entry is automatically created in the [[AdvancedOptions]] shadow tiddler to display that plugin's control panel.
As an optional fallback for backward-compatibility with plugin tiddlers that do not define the "Options" slice, this plugin will also look for a section heading named "Configuration" within those tiddlers, so that older plugins that define this section can automatically have their settings added to the [[AdvancedOptions]] tiddler without requiring the "Options" slice to be added.
This plugin also extends the standard {{{<<option>>}}} macro syntax so you can directly set the internal value of a boolean or text option, without displaying a corresponding checkbox or input field control simply by appending {{{=value}}} syntax to the end of the option ID parameter:
{{{
<<option "txtSomeOption=some text">>
<<option chkSomeOtherOption=true>> OR <<option chkSomeOtherOption=false>>
}}}
Example: {{{<<option chkAnimate=false>>}}}
<<<
!!!!!Configuration
<<<
<<option chkAdvancedOptions>> automatically add plugin-defined options to the [[AdvancedOptions]] shadow tiddler
<<option chkAdvancedOptionsBackstage>> automatically add plugin-defined options to Backstage menu
<<option chkAdvancedOptionsFallback>> use <<option txtAdvancedOptionsFallback>> section as a fallback for plugins that don't define an ~AdvancedOptions slice
//note: these settings only take effect after reloading the document//
<<<
!!!!!Revisions
<<<
2009.07.23 [1.2.0] added support for enhanced {{{<<option id=value>>}}} 'direct assignment' syntax
2008.05.09 [1.1.0] add "options" panel to backstage
2008.04.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.AdvancedOptionsPlugin= {major: 1, minor: 2, revision: 0, date: new Date(2009,7,23)};
if (config.options.chkAdvancedOptions===undefined)
config.options.chkAdvancedOptions=true;
if (config.options.chkAdvancedOptionsBackstage===undefined)
config.options.chkAdvancedOptionsBackstage=true;
if (config.options.chkAdvancedOptionsFallback===undefined)
config.options.chkAdvancedOptionsFallback=true;
if (config.options.txtAdvancedOptionsFallback===undefined)
config.options.txtAdvancedOptionsFallback="Configuration";
if (config.optionsDesc) config.optionsDesc.chkAdvancedOptions=
"automatically add plugin-defined options to [[AdvancedOptions]]";
//}}}
//{{{
var items=[];
var fmt="[[%0 ]] [[view options for %0]] [[%1]]\n";
var section=config.options.txtAdvancedOptionsFallback;
var plugins=store.getTaggedTiddlers("systemConfig");
for (var p=0; p<plugins.length; p++) {
var tid=plugins[p].title;
var settings=store.getTiddlerSlice(tid,"Options");
if (!settings && config.options.chkAdvancedOptionsFallback && store.getTiddlerText(tid+"##"+section))
settings="##"+section; // fallback handling for older plugins
if (settings&&settings.length) {
if (settings.substr(0,2)=="##") settings=tid+settings;
items.push(fmt.format([tid,settings]));
}
}
if (items.length) config.shadowTiddlers.PluginOptions=
"!![[Plugin-defined options|PluginManager]]\n>@@text-align:left;<<tabs '' \n"+items.join(' ')+">>@@";
if (config.options.chkAdvancedOptions)
config.shadowTiddlers.AdvancedOptions+="{{smallform{{{wrap{<<tiddler PluginOptions>>}}}}}}";
//}}}
//{{{
// // add "options" backstage task
if (config.tasks && config.options.chkAdvancedOptionsBackstage) { // for TW2.2b3 or above
config.tasks.options = {
text: "options",
tooltip: "manage plugin-defined option settings",
content: "{{smallform{{{groupbox{{{wrap{<<tiddler PluginOptions>>}}}}}}\n{{groupbox small {<<options>>}}}}}}"
}
config.backstageTasks.splice(config.backstageTasks.indexOf("plugins")+1,0,"options");
}
//}}}
//{{{
config.macros.option.AOPsave_handler=config.macros.option.handler;
config.macros.option.handler=function(place,macroName,params,wikifier,paramString,tiddler) {
var parts=params[0].split('=');
if (parts.length==1) return this.AOPsave_handler.apply(this,arguments);
var id=parts[0]; var val=(id.substr(0,3)=='txt')?parts[1]:(parts[1]=='true');
config.options[id]=val;
}
//}}}
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/agenda21.htm}}}
<html><iframe
title="Agenda 21"
src="http://www.un-documents.net/agenda21.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
<<forEachTiddler where 'tiddler.tags.containsAll(["agenda 21"])' >>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-01.htm}}}
<html><iframe
title="Agenda 21, Chapter 1. Preamble"
src="http://www.un-documents.net/a21-01.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-02.htm}}}
<html><iframe
title="Agenda 21, Chapter 2. International Cooperation to Accelerate Sustainable Development in Developing Countries and Related Domestic Policies"
src="http://www.un-documents.net/a21-02.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-03.htm}}}
<html><iframe
title="Agenda 21, Chapter 3. Combating Poverty"
src="http://www.un-documents.net/a21-03.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-04.htm}}}
<html><iframe
title="Agenda 21, Chapter 4. Changing Consumption Patterns"
src="http://www.un-documents.net/a21-04.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-05.htm}}}
<html><iframe
title="Agenda 21, Chapter 5. Demographic Dynamics and Sustainability"
src="http://www.un-documents.net/a21-05.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-06.htm}}}
<html><iframe
title="Agenda 21, Chapter 6. Protecting and Promoting Human Health"
src="http://www.un-documents.net/a21-06.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-07.htm}}}
<html><iframe
title="Agenda 21, Chapter 7. Promoting Sustainable Human Settlement Development"
src="http://www.un-documents.net/a21-07.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-08.htm}}}
<html><iframe
title="Agenda 21, Chapter 8. Integrating Environment and Development in Decision-Making"
src="http://www.un-documents.net/a21-08.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-09.htm}}}
<html><iframe
title="Agenda 21, Chapter 9. Protection of the Atmosphere"
src="http://www.un-documents.net/a21-09.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-10.htm}}}
<html><iframe
title="Agenda 21, Chapter 10. Integrated Approach to the Planning and Management of Land Resources"
src="http://www.un-documents.net/a21-10.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-11.htm}}}
<html><iframe
title="Agenda 21, Chapter 11. Combating Deforestation"
src="http://www.un-documents.net/a21-11.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-12.htm}}}
<html><iframe
title="Agenda 21, Chapter 12. Managing Fragile Ecosystems: Combating Desertification and Drought"
src="http://www.un-documents.net/a21-12.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-13.htm}}}
<html><iframe
title="Agenda 21, Chapter 13. Managing Fragile Ecosystems: Sustainable Mountain Development"
src="http://www.un-documents.net/a21-13.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-14.htm}}}
<html><iframe
title="Agenda 21, Chapter 14. Promoting Sustainable Agriculture and Rural Development"
src="http://www.un-documents.net/a21-14.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-15.htm}}}
<html><iframe
title="Agenda 21, Chapter 15. Conservation of Biological Diversity"
src="http://www.un-documents.net/a21-15.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-16.htm}}}
<html><iframe
title="Agenda 21, Chapter 16. Environmentally Sound Management of Biotechnology"
src="http://www.un-documents.net/a21-16.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-17.htm}}}
<html><iframe
title="Agenda 21, Chapter 17. Protection of the Oceans, All Kinds of Seas, including Enclosed and Semi-enclosed Seas, and Coastal Areas and the Protection, Rational Use and Development of their Living Resources"
src="http://www.un-documents.net/a21-17.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-18.htm}}}
<html><iframe
title="Agenda 21, Chapter 18. Protection of the Quality and Supply of Freshwater Resources: Application of Integrated Approaches to the Development, Management and Use of Water Resources"
src="http://www.un-documents.net/a21-18.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-19.htm}}}
<html><iframe
title="Agenda 21, Chapter 19. Environmentally Sound Management of Toxic Chemicals, Including Prevention of Illegal International Traffic in Toxic and Dangerous Products"
src="http://www.un-documents.net/a21-19.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-20.htm}}}
<html><iframe
title="Agenda 21, Chapter 20. Environmentally Sound Management of Hazardous Wastes, Including Prevention of Illegal International Traffic in Hazardous Wastes"
src="http://www.un-documents.net/a21-20.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-21.htm}}}
<html><iframe
title="Agenda 21, Chapter 21. Environmentally Sound Management of Solid Wastes and Sewage-related Issues"
src="http://www.un-documents.net/a21-21.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-22.htm}}}
<html><iframe
title="Agenda 21, Chapter 22. Safe and Environmentally Sound Management of Radioactive Wastes"
src="http://www.un-documents.net/a21-22.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-23.htm}}}
<html><iframe
title="Agenda 21, Chapter 23. Preamble: Strengthening The Role Of Major Groups"
src="http://www.un-documents.net/a21-23.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-24.htm}}}
<html><iframe
title="Agenda 21, Chapter 24. Global Action for Women Towards Sustainable and Equitable Development"
src="http://www.un-documents.net/a21-24.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-25.htm}}}
<html><iframe
title="Agenda 21, Chapter 25. Children and Youth in Sustainable Development"
src="http://www.un-documents.net/a21-25.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-26.htm}}}
<html><iframe
title="Agenda 21, Chapter 26. Recognizing and Strengthening the Role of Indigenous People and their Communities"
src="http://www.un-documents.net/a21-26.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-27.htm}}}
<html><iframe
title="Agenda 21, Chapter 27. Strengthening the Role of Non-governmental Organizations: Partners for Sustainable Development"
src="http://www.un-documents.net/a21-27.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-28.htm}}}
<html><iframe
title="Agenda 21, Chapter 28. Local Authorities' Initiatives in Support of Agenda 21"
src="http://www.un-documents.net/a21-28.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-29.htm}}}
<html><iframe
title="Agenda 21, Chapter 29. Strengthening the Role of Workers and their Trade Unions"
src="http://www.un-documents.net/a21-29.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-30.htm}}}
<html><iframe
title="Agenda 21, Chapter 30. Strengthening the Role of Business and Industry"
src="http://www.un-documents.net/a21-30.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-31.htm}}}
<html><iframe
title="Agenda 21, Chapter 31. Scientific and Technological Community"
src="http://www.un-documents.net/a21-31.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-32.htm}}}
<html><iframe
title="Agenda 21, Chapter 32. Strengthening the Role of Farmers"
src="http://www.un-documents.net/a21-32.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-33.htm}}}
<html><iframe
title="Agenda 21, Chapter 33. Financial Resources and Mechanisms"
src="http://www.un-documents.net/a21-33.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-34.htm}}}
<html><iframe
title="Agenda 21, Chapter 34. Transfer of Environmentally Sound Technology, Cooperation and Capacity-building"
src="http://www.un-documents.net/a21-34.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-35.htm}}}
<html><iframe
title="Agenda 21, Chapter 35. Science for Sustainable Development"
src="http://www.un-documents.net/a21-35.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-36.htm}}}
<html><iframe
title="Agenda 21, Chapter 36. Promoting Education, Public Awareness and Training"
src="http://www.un-documents.net/a21-36.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-37.htm}}}
<html><iframe
title="Agenda 21, Chapter 37. National Mechanisms and International Cooperation for Capacity-building in Developing Countries"
src="http://www.un-documents.net/a21-37.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-38.htm}}}
<html><iframe
title="Agenda 21, Chapter 38. International Institutional Arrangements"
src="http://www.un-documents.net/a21-38.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-39.htm}}}
<html><iframe
title="Agenda 21, Chapter 39. International Legal Instruments and Mechanisms"
src="http://www.un-documents.net/a21-39.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/a21-40.htm}}}
<html><iframe
title="Agenda 21, Chapter 40. Information for Decision-making"
src="http://www.un-documents.net/a21-40.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
[[Alice Slater]] is the //New York Director// of the [[Nuclear Age Peace Foundation|http://www.wagingpeace.org/]] and recently joined the [[NGO/DPI Executive Committee]]. She serves on the Global Council of [[Abolition 2000|http://www.abolition2000.org/]], a global network working for a treaty to eliminate nuclear weapons and directs the network’s Sustainable Energy Working Group which produced a model statute for an International Sustainable Energy Agency. She is a Consultant to the [[Global Policy Forum|http://www.globalpolicy.org]] and serves on the Board of the Lawyer’s Committee for Nuclear Policy and the Executive Committee of the Middle Powers Initiative, working to create pressure on nuclear weapons states for swifter nuclear disarmament. She is a member of the Advisory Boards of the Nuclear Policy Research Institute and the Global Network Against Weapons and Nuclear Power in Space and serves on the Steering Committee of the Indian Point Safe Energy Coalition. Ms. Slater has organized numerous conferences, panels, and roundtables at the UN on nuclear and environmental issues and has spoken frequently at meetings and conferences in the US and internationally. She has written numerous articles and op-eds, and has appeared frequently on local and national media Email [[aslater.rcn.com|mailto:aslater.rcn.com]]
<<list all>>
!!Expected Climatic Trigger for the Transition > Warming and increased evaporation in the tropics enhance the Hadley circulation, which involves upward movement of air at low latitudes and descent over the subtropics, pushing the subtropics and polar jets poleward, tending to warm the mid-latitudes, and shifting fronts and storm tracks. !!Expected Environmental Consequences > Ecosystems are generally attuned to the prevailing weather regimes, and shifts in the location of these regimes will lead to shifts in ecosystem locations as the warm edges contract and poleward edges become more conducive to growth. The differing pace of movement will likely cause significant disruption of ecosystems and their important services. !!Likely Societal Significance > In regions where weather regimes shift, societal tuning to particular types of conditions will be upset, possibly requiring adjustments to buildings, infrastructure, transportation, health care, and community lifestyle. Globally, the weather and its seasonal pattern in each region will become more like that hundreds of kilometers toward the equator, necessitating a wide range of adjustments.
!!Expected Climatic Trigger for the Transition > Greater warming of land areas is expected to increase monsoon rains and flooding. By diminishing the amount of solar radiation warming the surface, air pollution could alternatively cause a weakening of the monsoon. !!Expected Environmental Consequences > For most subtropical regions, monsoon rainfall provides most of the water and soil moisture needed by agriculture. Significantly heavier rains would make the fields too muddy, whereas significantly less would make the fields too dry. !!Likely Societal Significance > Societies in the region are structured based on past experience with the monsoons, so altered conditions would create disruption until adjustments were made. Larger year-to-year fluctuations in intensity would be likely to stress available systems. Worldwide, monsoons provide water for billions of people, and monsoons redirect atmospheric circulation, affecting global weather.
<html> <iframe width=600 height=400 frameborder=0 src="http://www.feedblitz.com/pubroll.asp?bb377e3567fa6ceef680a3466195a54a727679/html"> </iframe> </html>
The //Avoiding Dangerous Climate Change// book, commissioned by ''Defra'' - the British Department of Environment, Food and Rural Affairs - consolidates the scientific findings of a major conference held in Exeter, and gives an account of the most recent developments on critical thresholds and key vulnerabilities of the climate system, impacts on human and natural systems, emission pathways and technological options of meeting different stabilisation levels of greenhouse gases in the atmosphere. !!!The book focuses on three crucial questions: # ''For different levels of climate change what are the key impacts, for different regions and sectors, and for the world as a whole?'' # ''What would such levels of climate change imply in terms of greenhouse gas stabilisation concentrations and emission pathways required to achieve such levels?'' #'' What technological options are there for achieving stabilisation of greenhouse gases at different stabilisation concentrations in the atmosphere, taking into account costs and uncertainties?'' !!! Read more: * [[Avoiding Dangerous Climate Change - executive summary|http://www.defra.gov.uk/environment/climatechange/research/dangerous-cc/pdf/avoid-dangercc-execsumm.pdf]], pdf (168 KB) * [[Avoiding Dangerous Climate Change - full text of book|http://www.defra.gov.uk/environment/climatechange/research/dangerous-cc/pdf/avoid-dangercc.pdf]], pdf (16.3 MB - note very large file size) * [[News release|http://www.defra.gov.uk/news/2006/060130c.htm]] - 30 January 2006 * The book can be ordered online via the [[Cambridge University Press website|http://www.cambridge.org/0521864712]]. * More on [[Climate Change @ Defra|http://www.defra.gov.uk/environment/climatechange]]
<<tabs txtMainTab Timeline Timeline TabTimeline Alphabetical 'All tiddlers' TabAll Tags 'All tags' TabTags Missing 'Missing tiddlers' TabMoreMissing Orphans 'Orphaned tiddlers' TabMoreOrphans Shadowed 'Shadowed tiddlers' TabMoreShadowed>>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/beijingd.htm}}}
<html><iframe
title="Beijing Declaration"
src="http://www.un-documents.net/beijingd.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
/***
|Name|''BetterTimelineMacro''|h
|Author|[[Saq Imtiaz]]|
|Version|0.5 beta|
|Description|A replacement for the core timeline macro that offers more features |
|Source|http://tw.lewcid.org/#BetterTimelineMacro |
|TW Version|2.x|
***/
/***
!!!Features:
*list tiddlers with only specific tag
*exclude tiddlers with a particular tag
*limit entries to any number of days, for example one week
*specify a start date for the timeline, only tiddlers after that date will be listed.
!!!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
!!!Syntax:
{{{<<timeline better:true>>}}}
''the param better:true enables the advanced features, without it you will get the old timeline behaviour.''
additonal params:
(use only the ones you want)
{{{<<timeline better:true onlyTag:Tag1 excludeTag:Tag2 sortBy:modified/created firstDay:YYYYMMDD maxDays:7 maxEntries:30>>}}}
''explanation of syntax:''
onlyTag: only tiddlers with this tag will be listed. Default is to list all tiddlers.
excludeTag: tiddlers with this tag will not be listed.
sortBy: sort tiddlers by date modified or date created. Possible values are modified or created.
firstDay: useful for starting timeline from a specific date. Example: 20060701 for 1st of July, 2006
maxDays: limits timeline to include only tiddlers from the specified number of days. If you use a value of 7 for example, only tiddlers from the last 7 days will be listed.
maxEntries: limit the total number of entries in the timeline.
!!!History:
*28-07-06: ver 0.5 beta, first release
!!!Code
***/
//{{{
// Return the tiddlers as a sorted array
TiddlyWiki.prototype.getTiddlers = function(field,excludeTag,includeTag)
{
var results = [];
this.forEachTiddler(function(title,tiddler)
{
if(excludeTag == undefined || tiddler.tags.find(excludeTag) == null)
if(includeTag == undefined || tiddler.tags.find(includeTag)!=null)
results.push(tiddler);
});
if(field)
results.sort(function (a,b) {if(a[field] == b[field]) return(0); else return (a[field] < b[field]) ? -1 : +1; });
return results;
}
//this function by Udo
function getParam(params, name, defaultValue)
{
if (!params)
return defaultValue;
var p = params[0][name];
return p ? p[0] : defaultValue;
}
window.old_timeline_handler= config.macros.timeline.handler;
config.macros.timeline.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
var args = paramString.parseParams("list",null,true);
var betterMode = getParam(args, "better", "false");
if (betterMode == 'true')
{
var sortBy = getParam(args,"sortBy","modified");
var excludeTag = getParam(args,"excludeTag",undefined);
var includeTag = getParam(args,"onlyTag",undefined);
var tiddlers = store.getTiddlers(sortBy,excludeTag,includeTag);
var firstDayParam = getParam(args,"firstDay",undefined);
var firstDay = (firstDayParam!=undefined)? firstDayParam: "00010101";
var lastDay = "";
var field= sortBy;
var maxDaysParam = getParam(args,"maxDays",undefined);
var maxDays = (maxDaysParam!=undefined)? maxDaysParam*24*60*60*1000: (new Date()).getTime() ;
var maxEntries = getParam(args,"maxEntries",undefined);
var last = (maxEntries!=undefined) ? tiddlers.length-Math.min(tiddlers.length,parseInt(maxEntries)) : 0;
for(var t=tiddlers.length-1; t>=last; t--)
{
var tiddler = tiddlers[t];
var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);
if ((theDay>=firstDay)&& (tiddler[field].getTime()> (new Date()).getTime() - maxDays))
{
if(theDay != lastDay)
{
var theDateList = document.createElement("ul");
place.appendChild(theDateList);
createTiddlyElement(theDateList,"li",null,"listTitle",tiddler[field].formatString(this.dateFormat));
lastDay = theDay;
}
var theDateListItem = createTiddlyElement(theDateList,"li",null,"listLink",null);
theDateListItem.appendChild(createTiddlyLink(place,tiddler.title,true));
}
}
}
else
{
window.old_timeline_handler.apply(this,arguments);
}
}
//}}}
!!Expected Climatic Trigger for the Transition > An increase in rainfall is projected that, over periods of the order of a century, could cause the transition of 9 million km^^2^^ (3.5 million mi^^2^^) of the Sahara from desert to a green, vegetated landscape !!Expected Environmental Consequences > Increased vegetation would decrease the albedo and increase soil moisture and carbon storage. Reduced dust blown out over marine areas would diminish marine biological activity and carbon transfer to the deep ocean. !!Likely Societal Significance > In the region, the changes would provide a significantly better opportunity to grow food, although also causing a greater threat of locusts. In the West Indies, an increased likelihood of severe hurricanes.
One of the elements of [[Climate Change 3.0]] is promoting the use of ''bookmarks'' in //Portable Document Format// - pdf - files. Almost all climate change publications are made available as //Portable Document Format// - pdf - files. For many who download these files, printing them poses a substantial burden: not only are some of the documents lengthy, they are frequently lavishly illustrated, requiring substantial - and costly- use of color ink if the documents are printed. However, with vry small amount of effort - namely the addition of bookmarks contain as many of the documents are not only lengthy, Many of the documents are lengthy
/***
|Name|BreadcrumbsPlugin|
|Author|Eric Shulman|
|Source|http://www.TiddlyTools.com/#BreadcrumbsPlugin|
|Documentation|http://www.TiddlyTools.com/#BreadcrumbsPluginInfo|
|Version|2.1.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 chkBreadcrumbsSave>> prompt to save breadcrumbs when 'Home' link is pressed
<<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
<<<
2009.03.22 [2.1.0] added 'save breadcrumbs to tiddler' feature
| Please see [[BreadcrumbsPluginInfo]] for previous revision details |
2006.02.01 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.BreadcrumbsPlugin= {major: 2, minor: 1, revision: 0, date: new Date("March 2, 2009")};
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;
// prompt for 'save crumbs' when 'home' button is pressed
if (co.chkBreadcrumbsSave===undefined) co.chkBreadcrumbsSave=false;
config.macros.breadcrumbs = {
crumbs: [], // the list of current breadcrumbs
askMsg: "Save current breadcrumbs before clearing?\nPress OK to save, or CANCEL to continue without saving.",
saveMsg: 'Enter the name of a tiddler in which to save the current breadcrumbs',
saveTitle: 'SavedBreadcrumbs',
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 co=config.options; var out=""
var homeSep=here.getAttribute("homeSep"); if (!homeSep) homeSep=this.homeSeparator;
var crumbSep=here.getAttribute("crumbSep"); if (!crumbSep) crumbSep=this.crumbSeparator;
if (!co.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 (co.chkBreadcrumbsLimit && co.txtBreadcrumbsLimit<count) count=co.txtBreadcrumbsLimit;
var list=[];
for (c=this.crumbs.length-count; c<this.crumbs.length; c++) list.push('[['+this.crumbs[c]+']]');
if (co.chkBreadcrumbsReverse) list.reverse();
out+=list.join(crumbSep);
wikify(out,here);
},
home: function() {
var cmb=config.macros.breadcrumbs;
if (config.options.chkBreadcrumbsSave && confirm(cmb.askMsg)) cmb.saveCrumbs();
story.closeAllTiddlers(); restart();
cmb.crumbs = []; var crumbAreas=cmb.getAreas();
for (var i=0; i<crumbAreas.length; i++) crumbAreas[i].style.display = "none";
return false;
},
saveCrumbs: function() {
var tid=prompt(this.saveMsg,this.saveTitle); if (!tid||!tid.length) return; // cancelled by user
var t=store.getTiddler(tid);
if(t && !confirm(config.messages.overwriteWarning.format([tid]))) return;
var who=config.options.txtUserName;
var when=new Date();
var text='[['+this.crumbs.join(']]\n[[')+']]';
var tags=t?t.tags:[]; tags.pushUnique('story');
var fields=t?t.fields:{};
store.saveTiddler(tid,tid,text,who,when,tags,fields);
story.displayTiddler(null,tid);
story.refreshTiddler(tid,null,true);
displayMessage(tid+' has been '+(t?'updated':'created'));
},
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();
}
//}}}
/***
|Name|BreadcrumbsPluginInfo|
|Author|Eric Shulman|
|Source|http://www.TiddlyTools.com/#BreadcrumbsPlugin|
|Documentation|http://www.TiddlyTools.com/#BreadcrumbsPluginInfo|
|Version|2.1.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.removeTiddler|
|Description|Documentation for BreadcrumbsPlugin|
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).
!!!!!Usage
<<<
syntax:
{{{
<<breadcrumbs homeSeparator crumbSeparator>>
}}}
By default, the breadcrumbs are displayed as a continuous, //horizontal// word-wrapped line of text, using default character sequences for ''homeSeparator'' (" | ") and ''crumbSeparator'' (" > "). The //optional// ''homeSeparator'' and ''crumbSeparator'' macro parameters allow you to specify alternative separators. For example, to display the breadcrumbs //vertically// (in a stack, rather than a row), set the separator values to use {{{[[<br>]]}}}... and, to display a horizontal line as the home separator, use {{{[[<html><hr></html>]]}}}.
<<<
!!!!!Examples:
<<<
{{{
<<breadcrumbs>>
}}}
<<breadcrumbs>>
{{{
<<breadcrumbs [[<html><hr></html>]] [[<br>]]>>
}}}
<<breadcrumbs [[<html><hr></html>]] [[<br>]]>>
<<<
!!!!!Customization
<<<
Using CSS and a few of the plugin configuration options (see below), you can make the breadcrumbs display resemble browser tabs by adding the following to your [[StyleSheet]]:
{{{
.breadCrumbs { border-bottom:1px solid; }
.breadCrumbs a {
border: 1px solid; padding: 0px 1em;
-moz-border-radius-topleft:.5em; -moz-border-radius-topright:.5em;
-webkit-border-top-left-radius:.5em; -webkit-border-top-right-radius:.5em;
}
}}}
and this in [[ConfigTweaks]] (tagged with systemConfig, of course):
{{{
config.options.chkShowStartupBreadcrumbs=true;
config.options.chkBreadcrumbsLimitOpenTiddlers=true;
config.options.txtBreadcrumbsLimitOpenTiddlers=1;
config.macros.breadcrumbs.homeSeparator=" ";
config.macros.breadcrumbs.crumbSeparator=" ";
}}}
<<<
!!!!!Configuration
<<<
__''display placement:''__
<<option chkCreateDefaultBreadcrumbs>> automatically create breadcrumbs display (if needed)
{{{<<option chkCreateDefaultBreadcrumbs>>}}}
>By default, the plugin automatically creates the "breadCrumbs" display element at the top of the story column, just above the tiddlerDisplay area. To manually control the display and placement of the breadcrumbs display, you can define a DIV with class="breadCrumbs" in a custom [[PageTemplate]] or embed the {{{<<breadcrumbs>>}}} macro in specific tiddler content.
>
>For example, to add the breadcrumbs below the mainMenu, change this:
{{{
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
}}}
>to:
{{{
<div id='mainMenu'>
<div refresh='content' tiddler='MainMenu'></div>
<div id='breadCrumbs' class='breadCrumbs'></div>
</div>
}}}
>You can also block automatic creation of the breadcrumbs display by setting
{{{
config.options.chkCreateDefaultBreadcrumbs=false;
}}}
>in a [[CookieJar]]/[[ConfigTweaks]] plugin tiddler.
__''other settings:''__
<<option chkShowBreadcrumbs>> show/hide breadcrumbs display
{{{<<option chkShowBreadcrumbs>>}}}
>This checkbox toggles the visibility of the breadcrumbs display. However, the display is not updated until the next crumb is added (or a previous crumb is clicked on). For immediate effect, the [[ToggleBreadcrumbs]] script uses [[InlineJavascriptPlugin]] to synchronize the checkbox setting and the breadcrumbs display.
<<option chkReorderBreadcrumbs>> re-order breadcrumbs when visiting a previously viewed tiddler
{{{<<option chkReorderBreadcrumbs>>}}}
>When visiting a previously viewed tiddler, the title of the most-recently displayed tiddler is simply moved to the end of the list and individual breadcrumbs are not removed from the list unless the underlying tiddler is deleted. When ''re-ordering'' is disabled, the breadcrumbs list is ''trimmed'' so that all crumbs following that tiddler are removed from the list.
<<option chkBreadcrumbsHideHomeLink>> omit 'Home' link from breadcrumbs display
{{{<<option chkBreadcrumbsHideHomeLink>>}}}
>Enabling this option suppresses the automatic display of the "Home" link (and home separator). To manually add the home link elsewhere in your document, use the following HTML:
{{{
<html><a href="javascript:;" onclick="config.macros.breadcrumbs.home()">home</a></html>
}}}
<<option chkBreadcrumbsSave>> prompt to save breadcrumbs when 'Home' link is pressed
{{{<<option chkBreadcrumbsSave>>}}}
>Whenever you press the 'home' button, you can be prompted to save the current breadcrumbs in a tiddler as a space-separated list of tiddler links (default title="SavedBreadcrumbs").
<<option chkShowStartupBreadcrumbs>> show breadcrumbs for 'startup' tiddlers
{{{<<option chkShowStartupBreadcrumbs>>}}}
>Breadcrumbs are usually only added for tiddlers that are opened after the document has been loaded, and not for tiddlers displayed during initial startup (e.g., [[DefaultTiddlers]]). Enabling this option displays breadcrumbs for all viewed tiddlers, regardless of when they are opened.
<<option chkBreadcrumbsReverse>> show breadcrumbs in reverse order
{{{<<option chkBreadcrumbsReverse>>}}}
>As tiddlers are displayed, breadcrumbs are usually added to the //end// of the list. Enabling this option displays breadcrumbs in reverse order, so that the most recently visited tiddlers are listed first.
<<option chkBreadcrumbsLimit>> limit breadcrumbs display to {{twochar{<<option txtBreadcrumbsLimit>>}}} items
{{{<<option chkBreadcrumbsLimit>>}}} and {{{<<option txtBreadcrumbsLimit>>}}}
>By default, breadcrumbs are displayed for all tiddlers that have been visited (unless the list is being 'trimmed' by disabling the chkReorderBreadcrumbs option above). Enabling this option limits the display of the list to a maximum specified number of breadcrumbs.
<<option chkBreadcrumbsLimitOpenTiddlers>> limit open tiddlers to {{twochar{<<option txtBreadcrumbsLimitOpenTiddlers>>}}} items
{{{<<option chkBreadcrumbsLimitOpenTiddlers>>}}} and {{{<<option txtBreadcrumbsLimitOpenTiddlers>>}}}
>By default, tiddlers remain open (e.g., displayed in the story column) until you explicitly close them. When this option is enabled, only the most recently opened tiddlers will remain open: ''any tiddlers in excess of the specified limit are automatically closed.'' //Note: for 'data safety', if a tiddler is being edited, you will be asked for permission to "save-and-close" that tiddler or leave it open (even if that would exceed the specified limit).//
<<<
!!!!!Revisions
<<<
2009.03.22 [2.1.0] added 'save breadcrumbs to tiddler' feature
2008.05.01 [2.0.0] added 'limit open tiddlers' feature (with safety check for tiddler in edit mode)
2008.04.06 [1.9.1] corrected 'limit' logic so that //last// N crumbs are shown instead of //first// N crumbs. Also, added chkBreadcrumbsHideHomeLink
2008.04.04 [1.9.0] added chkBreadcrumbsReverse and chk/txtBreadcrumbsLimit
2008.03.29 [1.8.4] in displayTiddler(), get title from tiddler object (if needed). Fixes errors caused when calling function passes a tiddler *object* instead of a tiddler *title*
2008.03.24 [1.8.3] include shadow tiddlers in breadcrumbs list. Also changed settings so that "reordering" breadcrumbs is the default, instead of "trimming" the list
2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
2007.10.26 [1.8.2] documentation cleanup
2007.10.18 [1.8.1] in GetAreas(), use try/catch to avoid "Bad NPObject as private data" fatal error caused when embedded QuickTime player element is accessed by hasClass() function.
2007.10.02 [1.8.0] major documentation and code cleanup. Moved config.breadCrumbs.* to config.macros.breadcrumbs.* to consolidate objects. Also, fixed homeSeparator and crumbSeparator default handling.
2007.10.02 [1.7.0] added config.options.chkShowStartupBreadcrumbs option
2007.09.16 [1.6.1] in getAreas(), removed errant use of 'place' (was causing fatal error when creating default breadcrumbs display element). Also, added chkCreateDefaultBreadcrumbs configuration setting to enable/disable automatic creation of a default breadcrumbs display.
2007.09.16 [1.6.0] re-wrote refresh() to enable multiple display instances, by finding elements with "breadCrumbs" classname. Fallback to fixed ID (="breadCrumbs") is still used for backward-compatibility. move rendering code from refresh() to separate render() function, and added definition for {{{<<breadCrumbs>>}}} macro to support embedding breadcrumbs displays in tiddler content.
2007.09.15 [1.5.9.1] updated documentation
2007.09.15 [1.5.9] defined homeSeparator (" | ") and crumbSeparator (" > ") as object properties so that they can be redefined as desired for different layouts (e.g., using 'newline' for the crumbSeparator will arrange crumbs in a column rather than a row.
2007.06.21 [1.5.8.1] in home(), return false to prevent IE from attempting to navigate away...
2007.05.26 [1.5.8] added support for {{{<<option chkReorderBreadcrumbs>>}}} to toggle trim vs. re-order behavior when visiting previously viewed tiddlers
2007.05.25 [1.5.7] added support for {{{<<option chkShowBreadcrumbs>>}}} to toggle //display// of breadcrumbs
2007.05.24 [1.5.6] in refresh(), remove non-existing tiddler titles from crumb list. Also, hijack removeTiddler() so crumbs can be updated after tiddler is deleted.
2007.04.11 [1.5.5] added optional params to previousTiddler macro handler() to allow alternative label and tooltip text (instead of default "back")
2007.03.02 [1.5.4] in refresh(), for TW2.2, look for "storyDisplay" instead of "tiddlerDisplay" but keep fallback to "tiddlerDisplay" for TW2.1 or earlier
2007.02.24 [1.5.3] changed from hijack of onClickTiddlerLink to hijack of displayTiddler() so that ALL displayed tiddlers are recorded in the crumbs, including programmatically displayed tiddlers opened by macros, scripts, etc., (such as [[GotoPlugin]], among many others) in addition to those opened by clicks on links.
2007.02.24 [1.5.2.0] eliminated global space clutter by moving function and data declarations so they are contained inside config.breadCrumbs object.
2007.02.06 [1.5.1] added "previousTiddler" macro (for use in sidebar)
2007.02.05 [1.5.0] added "previousTiddler" toolbar command (aka, "back")
2006.08.04 [1.4.0.1] change spaces to tabs
2006.08.04 [1.4.0] modified from 1.4.0 distro: in refresh(), set {{{display:none/block}}} instead of {{{visibility:hidden/visible}}}. In home(), check for valid crumbArea before setting style.
2006.08.02 [1.4.0] Fixed bug, the redefined onClickTiddlerLink_orig_breadCrumbs works incorrectly on IE
2006.07.20 [1.3.0] Runs compatibly with TW 2.1.0 (rev #403+)
2006.02.07 [1.2.0] change global array breadCrumbs to config.breadCrumbs by Eric's suggestion
2006.02.04 [1.1.0] JSLint checked
2006.02.01 [1.0.0] initial release
<<<
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://en.cop15.dk/}}}
<html><iframe
src = "http://en.cop15.dk/"
title = "COP 15, Copenhagen"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://en.cop15.dk/}}}
<html><iframe
src = "http://en.cop15.dk/"
title = "COP15 United Nations Climate Change Conference Copenhagen 2009"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
|sortable|k |Country | Subscribers 1995| Subscribers 2000| Subscribers 2002| Subscribers 2007| per 100 2002| per 100 2007| cagr 1995-2000| cagr 2002-2007| Growth 2000-2007 %| users 2000%| users 2007%| broadband 2000%|h |''Africa'' | 646.5| 15,392.6| 36,923.8| 274,088.0| 1.90| 28.44| 88.5| 49.3| 1,496.8| 28.44| 44.2| 89.60| |Algeria | 4.7| 86.0| 450.2| 27,562.7| .28| 81.41| 78.9| 127.7| 29,075.0| 81.41| 4.7| 90.00| |Angola | 2.0| 25.8| 140.0| 4,961.5| .19| 29.14| 66.9| 104.1| 15,336.8| 29.14| 28.5| 97.90| |Benin | 1.0| 55.5| 218.8| 1,904.3| .77| 21.08| 121.1| 54.2| 2,737.7| 21.08| 51.8| 94.50| |Botswana | .0| 222.2| 332.3| 1,151.8| 12.67| 61.21| .0| 28.2| 483.1| 61.21| 62.0| 89.40| |Burkina Faso | .0| 25.2| 111.0| 1,611.0| .22| 10.90| .0| 70.7| 4,954.5| 10.90| 32.2| 91.50| |Burundi | .6| 16.3| 52.0| 270.0| .25| 3.17| 96.0| 39.0| 1,268.0| 3.17| 44.9| 85.10| |Cameroon | 2.8| 103.3| 701.5| 4,536.0| .70| 24.45| 105.8| 45.3| 3,492.9| 24.45| 52.1| 96.00| |Cape Verde | .0| 19.7| 42.9| 148.0| 4.38| 27.90| .0| 28.1| 637.0| 27.90| 26.5| 60.30| |Central African Rep. | .0| 5.0| 12.6| 130.0| .13| 2.99| 157.4| 59.5| 2,300.0| 2.99| 34.4| 90.20| |Chad | .0| 5.5| 34.2| 918.4| .07| 8.52| .0| 93.1| 12,171.4| 8.52| 34.9| 97.30| |Comoros | .0| .0| .0| 40.0| .00| 4.77| .0| .0| .0| 4.77| .0| 65.90| |Congo | .0| 70.0| 221.8| 1,287.6| 2.04| 34.17| .0| 42.2| 1,675.0| 34.17| 76.1| 97.20| |Congo (Dem. Rep.) | 8.5| 15.0| 560.0| 6,592.0| .03| 10.52| 12.0| 63.7| 35,066.7| 10.52| 60.5| 99.90| |Cote d'Ivoire | .0| 473.0| 1,027.1| 7,050.0| 2.83| 36.60| .0| 47.0| 1,293.3| 36.60| 64.2| 94.00| |Djibouti | .0| .2| 15.0| 44.1| .03| 5.55| .0| 43.2| 18,500.0| 5.55| 2.3| 80.30| |Egypt | 7.4| 1,359.9| 4,494.7| 30,065.2| 2.02| 39.82| 183.9| 46.2| 1,971.3| 39.82| 19.9| 72.80| |Equatorial Guinea | .0| 5.0| 32.0| 220.0| 1.11| 43.35| .0| 47.0| 3,905.4| 43.35| 45.0| 90.60| |Eritrea | .0| .0| .0| 84.3| .00| 1.74| .0| .0| .0| 1.74| .0| 69.30| |Ethiopia | .0| 17.8| 50.4| 1,208.5| .03| 1.45| .0| 88.8| 4,833.3| 1.45| 7.1| 57.90| |Gabon | 4.0| 120.0| 279.3| 1,169.0| 9.43| 87.86| 97.4| 33.2| 931.7| 87.86| 75.5| 97.80| |Gambia | 1.4| 5.6| 100.0| 800.4| .43| 46.84| 31.2| 51.6| 10,893.0| 46.84| 14.4| 91.30| |Ghana | 6.2| 130.0| 386.8| 7,604.1| .65| 32.39| 83.8| 81.4| 4,983.1| 32.39| 38.0| 95.30| |Guinea | 1.0| 42.1| 90.8| 2,000.0| .50| 21.34| 113.5| 85.6| 4,268.0| 21.34| 63.4| 97.60| |Guinea-Bissau | .0| .0| .0| 296.2| .00| 17.48| .0| .0| .0| 17.48| .0| 98.50| |Kenya | 2.3| 127.4| 1,187.1| 11,349.4| .42| 30.23| 123.6| 57.1| 7,197.6| 30.23| 30.4| 97.70| |Lesotho | .0| 21.6| 138.0| 456.0| 1.21| 22.71| .0| 27.0| 1,876.9| 22.71| 49.3| 87.10| |Liberia | .0| 1.5| 2.0| 563.0| .05| 15.01| .0| 209.0| 30,020.0| 15.01| 18.3| 99.60| |Libya | .0| 40.0| 70.0| 4,500.0| .75| 73.05| .0| 129.9| 9,740.0| 73.05| 6.2| 70.10| |Madagascar | 1.3| 63.1| 163.0| 2,217.6| .39| 11.27| 117.4| 68.6| 2,889.7| 11.27| 53.4| 94.30| |Malawi | .4| 49.0| 86.0| 1,050.9| .43| 7.55| 164.0| 65.0| 1,755.8| 7.55| 51.3| 85.70| |Mali | .0| 10.4| 46.0| 2,530.9| .09| 20.51| .0| 122.9| 22,788.9| 20.51| 21.0| 96.90| |Mauritania | .0| 15.3| 247.2| 1,300.0| .58| 41.62| .0| 39.4| 7,175.9| 41.62| 44.6| 97.00| |Mauritius | 11.7| 180.0| 348.1| 928.6| 15.18| 73.60| 72.6| 21.7| 484.8| 73.60| 39.1| 72.00| |Mayotte | .0| .0| 20.3| 48.1| .00| 28.80| .0| 53.9| .0| 28.80| .0| .00| |Morocco | 29.5| 2,342.0| 6,198.7| 20,029.3| 8.01| 64.15| 139.8| 26.4| 800.9| 64.15| 62.2| 89.30| |Mozambique | .0| 51.1| 254.8| 3,300.0| .29| 15.42| .0| 66.9| 5,317.2| 15.42| 37.3| 97.20| |Namibia | 3.5| 82.0| 150.0| 800.3| 4.33| 38.58| 87.9| 39.8| 891.0| 38.58| 42.7| 85.30| |Niger | .0| 2.1| 57.5| 900.0| .02| 6.33| .0| 73.3| 31,650.0| 6.33| 9.3| 93.10| |Nigeria | 13.0| 30.0| 1,569.0| 40,395.6| .03| 27.28| 18.2| 91.5| 90,933.3| 27.28| 5.1| 96.20| |Rwanda | .0| 39.0| 82.4| 635.1| .49| 6.53| .0| 50.5| 1,332.7| 6.53| 68.9| 96.50| |S. Tom & Principe | 2.0| 30.1| 2.0| 30.1| 19.09| 19.09| 72.3| 72.3| 100.0| 19.09| 79.7| 79.70| |Senegal | .1| 250.3| 553.4| 3,630.8| 2.42| 29.33| 359.6| 45.7| 1,212.0| 29.33| 54.9| 93.10| |Seychelles | .0| 26.0| 44.7| 77.3| 33.63| 89.23| 249.2| 11.6| 265.3| 89.23| 55.7| 77.30| |Sierra Leone | .0| 11.9| 67.0| 776.0| .26| 13.23| .0| 63.2| 5,088.5| 13.23| 38.6| .00| |Somalia | .0| 80.0| 100.0| 600.0| 1.14| 6.90| .0| 43.1| 605.3| 6.90| 76.2| 85.70| |South Africa | 535.0| 8,339.0| 13,702.0| 42,300.0| 18.28| 87.08| 73.2| 25.3| 476.4| 87.08| 62.7| 90.10| |Sudan | .0| 23.0| 190.8| 8,218.1| .07| 21.31| .0| 112.3| 30,442.9| 21.31| 5.6| 96.00| |Swaziland | .0| 33.0| 68.0| 380.0| 3.23| 33.29| .0| 41.1| 1,030.7| 33.29| 50.9| 85.00| |Tanzania | 3.5| 110.5| 606.9| 8,322.9| .32| 20.57| 99.5| 68.8| 6,428.1| 20.57| 38.9| 98.10| |Togo | .0| 50.0| 170.0| 1,190.4| .93| 18.08| .0| 47.6| 1,944.1| 18.08| 53.9| 92.30| |Tunisia | 3.2| 119.2| 574.3| 7,842.6| 1.25| 75.94| 106.4| 68.7| 6,075.2| 75.94| 11.1| 86.00| |Uganda | 1.7| 126.9| 393.3| 4,195.3| .52| 13.58| 135.6| 60.5| 2,611.5| 13.58| 67.3| 96.30| |Zambia | 1.5| 98.9| 139.1| 2,639.0| .92| 22.14| 129.7| 80.1| 2,406.5| 22.14| 54.3| 96.60| |Zimbabwe | .0| 266.4| 338.8| 1,225.7| 2.12| 9.18| .0| 29.3| 433.0| 9.18| 51.7| 78.10|
|sortable|k |Country | 1997| 1998| 1999| 2000| 2001| 2002| 2003| 2004| 2005| 2006|h |Algeria | .1| .1| .2| .3| .3| 1.4| 4.5| 15.1| 41.5| 63.0| |Angola | .1| .1| .2| .2| .6| 1.0| 2.4| 5.3| 10.3| 14.3| |Benin | .1| .1| .1| .9| 1.9| 3.2| 3.4| 5.3| 10.0| .0| |Botswana | .0| 1.0| 5.7| 13.5| 19.8| 25.9| 29.5| 31.9| 46.6| 55.7| |Burkina Faso | .0| .0| .0| .2| .7| .9| 1.9| 3.0| 4.8| 7.5| |Burundi | .0| .0| .0| .2| .5| .7| .9| 1.4| 2.0| .0| |Cameroon | .0| .0| .0| .7| 2.7| 4.4| 6.6| 9.4| 13.8| .0| |Cape Verde | .0| .2| 1.9| 4.5| 7.1| 9.5| 11.6| 14.1| 17.2| 21.0| |Central African Republic | .0| .0| .1| .1| .3| .3| 1.0| 1.5| 2.5| .0| |Chad | .0| .0| .0| .1| .3| .4| .8| 1.4| 2.1| 4.7| |Comoros | .0| .0| .0| .0| .0| .0| .3| 1.2| 2.0| .0| |Congo | .0| .1| .2| 2.4| 4.8| 6.7| 9.4| 10.1| 12.3| .0| |Democratic Republic of the Congo | .0| .0| .0| .0| .3| 1.1| 2.3| 3.6| 4.8| .0| |Cote d'Ivoire | .3| .6| 1.8| 3.2| 4.5| 6.2| 7.7| 9.9| 12.9| 22.0| |Djibouti | .0| .0| .0| .0| .5| 2.3| 3.4| 5.1| 6.4| .0| |Egypt | .1| .2| .8| 2.1| 4.3| 6.7| 8.4| 10.9| 19.1| 23.9| |Equatorial Guinea | .1| .1| .1| 1.1| 3.2| 6.3| 7.6| 12.2| 19.3| .0| |Ethiopia | .0| .0| .0| .0| .0| .1| .1| .2| .5| 1.1| |Gabon | .8| .8| .7| 9.8| 11.9| 21.5| 22.4| 36.2| 47.1| 54.4| |Gambia | .4| .4| .4| .5| 4.3| 7.5| 10.9| 12.0| 16.3| 26.0| |Ghana | .1| .2| .4| .7| 1.2| 1.9| 3.7| 7.9| 13.0| 23.1| |Guinea | .0| .3| .3| .6| .7| 1.2| 1.4| 2.0| 2.4| .0| |Guinea-Bissau | .0| .0| .0| .0| .0| .0| .1| 3.2| 7.1| .0| |Kenya | .0| .0| .1| .4| 1.9| 3.8| 5.0| 7.8| 13.5| 18.5| |Lesotho | .2| .6| .7| 1.2| 3.2| 7.7| 7.0| 10.9| 13.9| .0| |Liberia | .0| .0| .0| .0| .1| .0| 1.4| 2.7| 4.9| .0| |Libyan Arab Jamahiriya | .2| .4| .6| .7| .9| 1.3| 2.3| 4.2| 5.0| 65.8| |Madagascar | .0| .1| .2| .4| .9| 1.0| 1.6| 1.8| 2.7| 5.5| |Malawi | .1| .1| .2| .5| .5| .8| 1.3| 1.8| 3.3| .0| |Mali | .0| .0| .1| .1| .4| .5| 2.3| 3.6| 7.7| .0| |Mauritania | .0| .0| .0| .6| 4.2| 9.2| 12.8| 17.5| 24.3| 33.6| |Mauritius | 3.7| 5.2| 8.7| 15.1| 22.7| 28.8| 37.9| 44.4| 52.8| 61.5| |Morocco | .3| .4| 1.3| 8.3| 16.6| 21.3| 25.0| 31.2| 40.9| 52.1| |Mozambique | .0| .0| .1| .3| .9| 1.4| 2.4| 3.7| 7.6| 11.6| |Namibia | .8| 1.1| 1.7| 4.6| 5.8| 8.0| 11.6| 14.2| 24.4| .0| |Niger | .0| .0| .0| .0| .0| .5| .7| 1.4| 2.3| .0| |Nigeria | .0| .0| .0| .0| .3| 1.3| 2.5| 7.2| 14.1| 24.1| |Reunion | 4.0| 7.4| 15.7| 39.5| 57.6| 61.1| 69.0| 75.5| .0| .0| |Rwanda | .0| .1| .2| .5| .8| 1.0| 1.6| 1.6| 3.2| .0| |Sao Tome and Principe | .0| .0| .0| .0| .0| 1.4| 3.2| 5.1| 7.6| .0| |Senegal | .1| .3| 1.0| 2.6| 3.1| 5.5| 7.5| 10.8| 14.8| 25.0| |Seychelles | 3.0| 6.8| 21.3| 33.6| 47.2| 57.0| 62.2| 68.0| 72.9| 86.5| |Sierra Leone | .0| .0| .0| .3| .6| 1.4| 2.2| .0| .0| .0| |Somalia | .0| .0| .0| 1.1| 1.2| 1.3| 2.6| 6.3| 6.1| .0| |South Africa | 4.2| 7.5| 11.5| 18.3| 23.4| 29.4| 35.9| 44.1| 71.6| .0| |Sudan | .0| .0| .0| .1| .3| .6| 1.6| 3.0| 5.2| 12.7| |Swaziland | .0| .5| 1.4| 3.3| 5.4| 6.6| 8.1| 13.4| 19.4| 24.3| |United Republic of Tanzania | .1| .1| .2| .3| .8| 1.7| 5.3| 5.2| 8.8| 16.0| |Togo | .1| .2| .4| 1.1| 2.0| 3.5| 4.9| 6.6| 8.5| 11.2| |Tunisia | .1| .4| .6| 1.3| 4.0| 5.9| 19.4| 37.4| 56.3| 71.9| |Uganda | .0| .1| .2| .5| 1.1| 1.5| 2.9| 4.2| 4.6| 6.7| |Zambia | .0| .1| .3| .9| 1.1| 1.3| 2.1| 4.0| 8.1| .0| |Zimbabwe | .1| .2| 1.6| 2.3| 2.7| 2.9| 3.1| 3.6| 5.6| 6.4|
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-10.htm@@ <html><iframe title="Chapter 10: The Economic and Social Council" src="http://www.un-documents.net/ch-10.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-11.htm@@ <html><iframe title="Chapter 11: Declaration Regarding Non-Self-Governing Territories" src="http://www.un-documents.net/ch-11.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-12.htm@@ <html><iframe title="Chapter 12: International Trusteeship System" src="http://www.un-documents.net/ch-12.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-13.htm@@ <html><iframe title="Chapter 13: The Trusteeship Council" src="http://www.un-documents.net/ch-13.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-14.htm@@ <html><iframe title="Chapter 14: The International Court of Justice" src="http://www.un-documents.net/ch-14.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-15.htm@@ <html><iframe title="Chapter 15: The Secretariat" src="http://www.un-documents.net/ch-15.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-16.htm@@ <html><iframe title="Chapter 16: Miscellaneous Provisions" src="http://www.un-documents.net/ch-16.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-17.htm@@ <html><iframe title="Chapter 17: Transitional Security Arrangements" src="http://www.un-documents.net/ch-17.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-18.htm@@ <html><iframe title="Chapter 18: Amendments" src="http://www.un-documents.net/ch-18.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-19.htm@@ <html><iframe title="Chapter 19: Ratification and Signature" src="http://www.un-documents.net/ch-19.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-01.htm@@ <html><iframe title="Chapter 1: Purposes and Principles" src="http://www.un-documents.net/ch-01.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-02.htm@@ <html><iframe title="Chapter 2: Membership" src="http://www.un-documents.net/ch-02.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-03.htm@@ <html><iframe title="Chapter 3: Organs" src="http://www.un-documents.net/ch-03.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-04.htm@@ <html><iframe title="Chapter 4: The General Assembly" src="http://www.un-documents.net/ch-04.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-05.htm@@ <html><iframe title="Chapter 5: The Security Council" src="http://www.un-documents.net/ch-05.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-06.htm@@ <html><iframe title="Chapter 6: Pacific Settlement of Disputes" src="http://www.un-documents.net/ch-06.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-07.htm@@ <html><iframe title="Chapter 7: Action with Respect to Threats to the Peace, Breaches of the Peace, and Acts of Aggression" src="http://www.un-documents.net/ch-07.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-08.htm@@ <html><iframe title="Chapter 8: Regional Arrangements" src="http://www.un-documents.net/ch-08.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
@@font-size:85%;''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/ch-09.htm@@ <html><iframe title="Chapter 9: International Economic and Social Co-operation" src="http://www.un-documents.net/ch-09.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width="100%" height="1000" frameborder="0" scrolling="yes"> </iframe></html>
Retired from Southampton College of Long Island University. For thirty-five years a Professor of Sociology; for the last five years, Dean of the College. Began career with the Peace Corps in East Pakistan, 1961-63. Community activities include Chair of the East Hampton Town Zoning Board of Appeals, Chair of the Retreat (a domestic violence agency), Chair of Alternatives Counseling Services, member of Springs School Board, and member of East Hampton Library Board. Presently, a NGO representative of Peace Action International at the UN. Charles Hitchcock earned his A.B. in Political Science from Colgate University, his M.S. from New York University and his Ph.D. in Sociology from Union Graduate School.
{{iframe{''Note'': This is a "framed" page from the ''Classroom 2.0'' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.classroom20.com/}}}
<html><iframe
src = "http://www.classroom20.com/"
title = "Classroom 2.0"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
/***
|Name|ClickifyPlugin|
|Source|http://www.TiddlyTools.com/#ClickifyPlugin|
|Documentation|http://www.TiddlyTools.com/#ClickifyPlugin|
|Version|1.0.1|
|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|re-compute parameters when a 'command link' macro is clicked|
!!!!!Usage
<<<
Normally, when you use a //computed parameter// in a macro, it's value is determined when the macro is rendered. The {{{<<clickify>>}}} macro can be used to force the macro parameters of an 'on-click' command link (such as created by the {{{<<newTiddler>>}}} macro) to be automatically re-computed when the command link is clicked, rather than when it is initially displayed. This allows use of computed values that depend upon data that may change between the time the macro is rendered and when it's action is actually triggered by a click.
To apply this extended processing to any macro that creates a command link, simply insert the 'clickify' keyword in front of the usual macro name, like this:
{{{
<<clickify macroName param param param ...>>
}}}
<<<
!!!!!Example
<<<
When {{{<<newTiddler>>}}} is clicked, prompt for a title and set default text to current timestamp:
{{{
<<clickify newTiddler title:{{prompt('enter a title','NewTiddler')}} text:{{new Date()}}>>
}}}
><<clickify newTiddler title:{{prompt('enter a title','NewTiddler')}} text:{{new Date()}}>>
<<<
!!!!!Revisions
<<<
2009.02.08 [1.0.1] make sure command link has been rendered before trying to modify it
2009.01.25 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ClickifyPlugin={major: 1, minor: 0, revision: 1, date: new Date(2009,2,8)};
config.macros.clickify={
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var cmd='<<'+paramString+'>>';
var e=createTiddlyElement(place,'span');
wikify(cmd.replace(/alert\(|prompt\(|confirm\(/g,'isNaN('),e);
var b=e.getElementsByTagName('a')[0]; if (!b) return;
b.setAttribute('cmd',cmd);
b.onclick=function(ev) {
var cmd=this.getAttribute('cmd');
var e=createTiddlyElement(this.parentNode,'span');
e.style.display='none';
wikify(cmd,e);
e.getElementsByTagName('a')[0].onclick();
this.parentNode.removeChild(e);
}
}
}
//}}}
<<< "No problem can be solved from the same level of consciousness that created it." //Albert Einstein// (1879 - 1955) Physicist & Nobel Laureate <<< ''Climate Change 2.0'' is being developed from a vision of a collaborative application of ''Web 2.0'' methodologies to the global climate change crisis and incorporating a transition to an Open Source, Creative Commons climate. ''Climate Change 2.0'' is based on the recognition of the vital contribution that the combination of the [[economics of information|Economics of information]] and information and communications technologies (ICT) can contribute - and already are contributing - to addressing what is increasingly recognized as the greatest challenges to a sustainable common future, both through the power of the technologies and through the progressive discovery and realization of the fundamental properties and nature of a digital knowledge-based universe and the accompanying profound freedoms and transformation of human consciousness and the emergence of digitally-connected global civil society that has been growing rapidly since the early stages of preparations for the 1992 Earth Summit - of which the [[United Nations Framework Convention on Climate Change]] was a key component. <<< "''The Interlocking Crises'' Until recently, the planet was a large world in which human activities and their effects were neatly compartmentalized within nations, within sectors (energy, agriculture, trade), and within broad areas of concern (environment, economics, social). These compartments have begun to dissolve. This applies in particular to the various global 'crises' that have seized public concern, particularly over the past decade. These are not separate crises: an environmental crisis, a development crisis, an energy crisis. They are all one." //[[Our Common Future, From One Earth to One World]]// <<< !! See also: * [[Climate Change 2.0 - Elements]]
A number of elements have been developed under the auspices of [[Climate Change 2.0]], with an initial focus on the development of an online platform for the September 2007 [[60th Annual DPI/NGO Conference]] to be held at UN Headquarters on the theme "Climate Change: How It Impacts Us All", and in the broader context of the [[United Nations Decade of Education for Sustainable Development]], 2005-2014, and related international decades. The DPI/NGO Climate Change Conference offers a unique opportunity for a demonstration project of [[Climate Change 2.0]] as it will be the last to be held at the United Nations Headquarters before major renovations begin, and there is strong interest in developing a prototype interactive online framework that would provide for real-time participation in the Conference, for this Conference, and as a model to be used for future Annual DPI/NGO Conferences. Among the elements that are under development are the following: !! ~TiddlyWiki sites * [[Climate Change 2.0]]<br>[[www.climate-change-two.net/|http://www.climate-change-two.net/]] ** [[Climate Change 2007: IPCC Fourth Assessment Report]]<br>[[www.climate-change-two.net/ar4/spm/|http://www.climate-change-two.net/ar4/spm/]] ** [[Climate Change Impacts, Adaptation and Vulnerability]]<br>[[www.climate-change-two.net/ar4-wg2-spm|http://www.climate-change-two.net/ar4-wg2-spm/]] ** [[Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)]]<br>[[www.climate-change-two.net/plan-b/|http://www.climate-change-two.net/plan-b/]] ** [[Community Gardens & Climate Change]]<br>[[www.climate-change-two.net/garden/|http://www.climate-change-two.net/garden/]] ** [[Economics of Climate Change: The Stern Review]]<br>[[www.climate-change-two.net/stern-review/|http://www.climate-change-two.net/stern-review/]] ** [[The Wealth of Networks: How Social Production Transforms Markets and Freedom]]<br>[[www.climate-change-two.net/wealth-of-networks/|http://www.climate-change-two.net/wealth-of-networks/]] ** [[Peace Caucus: The Wild Cards in Climate Change]]<br>[[www.peacecaucus.net|htt[://www.peacecaucus.net]] * [[NGO Committee on Education]]<br>[[www.ngo-education.net/|http://www.ngo-education.net/]] ** [[Education, Youth & Technology for Sustainable Development]]<br>[[www.ngo-education.net/workshop/|http://www.ngo-education.net/workshop/]] !!! ~TiddlyWikiPerfect sites * [[TiddlyWikiPerfect: An emerging hybrid information species]]<br>[[www.tiddlywikiperfect.net/|http://www.tiddlywikiperfect.net/]] ** ~TiddlyWikiPerfect sites under development ** Confronting Climate Change *** Silken Valleys - Digital relief post-Kashmir earthquake *** ~DataPerfect Manual *** Information Habitat 2.0 !! "Normal" - HTML - web sites * [[UN Documents Cooperation Circles: Gathering a Body of Global Agreements]]<br>[[www.un-documents.net/|http://www.un-documents.net/]] ** [[Our Common Future]]<br>[[www.un-documents.net/wced-ocf.htm|http://www.un-documents.net/wced-ocf.htm]] !! Related Google Groups * [[Climate Change Summer|climate-change-summer@googlegroups.com]] * [[Climate Change 2.0|climate-change-two@googlegroups.com]] * [[Networking Sub-Committee, Planning Committee|ngo-networking@googlegroups.com]] * [[NGO Committee on Education|ngo-education@googlegroups.com]] * [[TiddlyWiki|tiddlywiki@googlegroups.com]] !! Other sites * [[The Wealth of Networks wiki notes]]<br>[[www.benkler.org/wealth_of_networks|http://www.benkler.org/wealth_of_networks/]] * [[Information Ecologist @ Blue Dot]]<br>[[bluedot.us/users/Information-Ecologist|http://bluedot.us/users/Information-Ecologist]] - social bookmarking * H2O Playlist
[<img[http://www.climatechange3.net/cc3-logo-100x100.png]] "//No problem can be solved from the same level of consciousness that created it.//" //Albert Einstein// (1879 - 1955) Physicist & Nobel Laureate ''Climate Change 3.0'' is being developed from a vision of a collaborative application of ''Web 2.0'' methodologies to the global climate change crisis and incorporating a transition to an Open Source, Creative Commons climate. ''Climate Change 3.0'' is based on the recognition of the vital contribution that the combination of the [[economics of information|Economics of information]] and information and communications technologies (ICT) can contribute - and already are contributing - to addressing what is increasingly recognized as the greatest challenges to a sustainable common future, both through the power of the technologies and through the progressive discovery and realization of the fundamental properties and nature of a digital knowledge-based universe and the accompanying profound freedoms and transformation of human consciousness and the emergence of digitally-connected global civil society that has been growing rapidly since the early stages of preparations for the 1992 Earth Summit - at which the [[United Nations Framework Convention on Climate Change]] was a key component. <<< "''The Interlocking Crises'' Until recently, the planet was a large world in which human activities and their effects were neatly compartmentalized within nations, within sectors (energy, agriculture, trade), and within broad areas of concern (environment, economics, social). These compartments have begun to dissolve. This applies in particular to the various global 'crises' that have seized public concern, particularly over the past decade. These are not separate crises: an environmental crisis, a development crisis, an energy crisis. They are all one." //[[Our Common Future, From One Earth to One World]]// <<< !! See also: * [[Climate Change 3.0 - Elements]]
<<< "''The Interlocking Crises'' Until recently, the planet was a large world in which human activities and their effects were neatly compartmentalized within nations, within sectors (energy, agriculture, trade), and within broad areas of concern (environment, economics, social). These compartments have begun to dissolve. This applies in particular to the various global 'crises' that have seized public concern, particularly over the past decade. These are not separate crises: an environmental crisis, a development crisis, an energy crisis. They are all one." >> //From [[Our Common Future, From One Earth to One World|http://www.un-documents.net/ocf-ov.htm]]// <<< [[Climate Change 3.0]] The adoption of holistic approaches, combined with the role of information & communication technologies (ICT) in enabling holistic perspectives, has played a key role in the conception and development of [[Climate Change 3.0]]. ICT has played a central role in almost all aspects of understanding and action relating to climte change: observing, analyzing, modeling, understanding and responding to climate change: the publication and dissemination of climate change information; organizing local, national and international responses to climate change; monitoring and managing energy use - e.g. smart buildings, intelligent transportation systems, industrial ecology, ... - and the design, development and management of low-carbon energy technologies. Despite this vital role, very little attention has been given either to the role of information technology - either in the reports of the [[IPCC|Intergovernmental Panel on Climate Change]] or in other climate change-related sites, and there appear to be no other initiatives that have adopted a holistic approach to the potential contribution of information technology in addressing the challenge of climate change, or to an analysis and approach that seeks to optimize the overall ''climate change information ecosystem''. In its initial phase, Climate Change 3.0 has focused on this information ecosystem, and on the development of methodologies designed to optimize the organization, presentation and dissemination of the available information on climate change, and on strategies for mitigation and adaptation. Some key approaches: ''Climate Change Information Ecosystem'' ''~TiddlyWiki'': The brilliant TiddlyWiki open source software has been adopted as the principal platform on which Climate Change 3.0 framework based on TiddlyWiki, ''Beyond PDF'': Almost all official publications on climate change are published, often exclusively, as pdf files - a format that is print / paper-oriented, and not optimized for a digital environment. ** The pdf files rarely contain bookmarks - that can be added with very little effort through Adobe Acrobat Professional rolw of information technology in organizing the available information in a manner that is optimized
A number of elements have been developed under the auspices of [[Climate Change 3.0]], with an initial focus on the development of an online platform for the September 2007 [[60th Annual DPI/NGO Conference]] to be held at UN Headquarters on the theme "Climate Change: How It Impacts Us All", and in the broader context of the [[United Nations Decade of Education for Sustainable Development]], 2005-2014, and related international decades. The DPI/NGO Climate Change Conference offers a unique opportunity for a demonstration project of [[Climate Change 3.0]] as it will be the last to be held at the United Nations Headquarters before major renovations begin, and there is strong interest in developing a prototype interactive online framework that would provide for real-time participation in the Conference, for this Conference, and as a model to be used for future Annual DPI/NGO Conferences. Among the elements of the ''Climate Change 3.0 family'' that have been established and/or are under development are the following: !! Web sites > <<tiddler "Climate Change 3.0 family of web sites">> *** ~DataPerfect Manual *** Information Habitat 2.0 !! "Normal" - HTML - web sites !! Email Groups * [[Climate Change 2.0 Google Group|Subscribe to the Climate Change 2.0 Google Group]] * [[Networking Sub-Committee, Planning Committee|Subscribe to the Networking Sub-Committee Google Group]] * [[NGO Committee on Education|Subscribe to the NGO Committee on Education Google Group]] * [[Information Ecology Yahoo! Group|Subscribe to the Information Ecology Yahoo! Group]] * [[The Peace Caucus Yahoo! Group|Subscribe to the the Peace Caucus Yahoo! Group]] * [[TiddlyWiki Google Group|Subscribe to the TiddlyWiki Google Group]] ** [[TiddlyWiki Developer Google Group|Subscribe to the TiddlyWikiDev Google Group]] !! Other sites * [[The Wealth of Networks wiki notes]]<br>[[www.benkler.org/wealth_of_networks|http://www.benkler.org/wealth_of_networks/]] * [[Information Ecologist @ Blue Dot]]<br>[[bluedot.us/users/Information-Ecologist|http://bluedot.us/users/Information-Ecologist]] - social bookmarking * ~H2O Playlist
{{iframe{''Note'': This is a "framed" page from the [[WiserEarth]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.wiserearth.org/group/climatechange2}}}
<html><iframe
src = "http://www.wiserearth.org/group/climatechange2"
title = "Climate Change 3 Group @ WiserEarth"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
Among the many powerful online tools, +++[Subscribe to Climate Change 3.0 News Feeds] <<tiddler 'Subscribe to Climate Change 3.0 News Feeds'>> ===
* [[Climate Change 3.0]]<br>[[www.climatechange3.net/|http://www.climatechange3.net/]] **[[Climate Change 3.0 on WiserEarth]]<br>[[www.wiserearth.org/group/climatechange2|http://www.wiserearth.org/group/climatechange2]] ** [[Climate Change Impacts, Adaptation and Vulnerability]]<br>[[www.climatechange3.net/ar4-wg2-spm|http://www.climatechange3.net/ar4-wg2-spm]] ** [[Rescuing a Planet Under Stress and a Civilization in Trouble: Plan B 2.1 (beta)]]<br>[[www.climatechange3.net/plan-b/|http://www.climatechange3.net/plan-b/]] ** [[Economics of Climate Change: The Stern Review]]<br>[[www.climatechange3.net/stern-review/|http://www.climatechange3.net/stern-review/]] ** [[Universal Declaration of Human Rights: 60th Anniversary]]<br>[[www.climatechange3.net/udhr60/|http://www.climatechange3.net/udhr60/]] ** [[The Wealth of Networks: How Social Production Transforms Markets and Freedom]]<br>[[www.climatechange3.net/wealth-of-networks/|http://www.climatechange3.net/wealth-of-networks/]] ** [[La Perla Garden: A creative commons learning environment for community biodiversity]]<br>[[www.climatechange3.net/garden/|http://www.climatechange3.net/garden/]] ** [[Information Ecology and Climate Change Action]]<br>[[www.climatechange3.net/information-ecology/|http://www.climatechange3.net/information-ecology/]] * [[NGO Framework for Climate Change Action]]<br>[[www.ngo-framework.net/|http://www.ngo-framework.net/]] * [[UN Documents Cooperation Circles: Gathering a Body of Global Agreements]]<br>[[www.un-documents.net/|http://www.un-documents.net/]] ** [[Our Common Future]]<br>[[www.un-documents.net/wced-ocf.htm|http://www.un-documents.net/wced-ocf.htm]] * [[NGO Committee on Education]]<br>[[www.congo-education.net/|http://www.congo-education.net/]] ** [[Education, Youth & Technology for Sustainable Development]]<br>[[www.congo-education.net/workshop/|http://www.congo-education.net/workshop/]] !! Culture of Peace * [[Peace Caucus: The Wild Cards in Climate Change]]<br>[[www.peacecaucus.net|htt[://www.peacecaucus.net]] * [[Seasons of Peace Cooperation Circles]]<br>[[www.seasons-of-peace.net/|http://www.seasons-of-peace.net/]] * [[Gandhi-King Season for Nonviolence]]<br>[[www.gandhi-king-season.net/|http://www.gandhi-king-season.net/]] * [[The Peace Cubes]]<br>[[www.peace-cubes.net/|http://www.peace-cubes.net/]] * [[Digital Bridges to Peace]]<br>[[www.digital-bridges.net|http://www.digital-bridges.ne]] !!! ~TiddlyWikiPerfect sites * [[TiddlyWikiPerfect: An emerging hybrid information species]]
In response to the [[NGO/DPI Declaration on Climate Change]], the [[NGO/DPI Executive Committee]] established a ''Climate Change ~Sub-Committee'', charged with the responsibility of implementing the NGO Framework for Action as a tool for the NGO community to participate in an open, practical and transparent collaborative approach based on networking. The ~Sub-Committee has established a web site at http://www.climatecaucus.net/ !! Chair > [[Richard Jordan]], //~Co-Chair//, [[Planning Committee|60th Annual DPI/NGO Conference Planning Committee]] for the [[60th Annual DPI/NGO Conference]], //UN Representative//, International Council of Caring Communities !! Editor > [[Larry Roeder]], //UN Representative//, World Society for Protection of Animals !! Members <<< [[William Gellermann]], //~Co-Chair//, Communications Coordination Committee for the United Nations [[Moki Kokoris]], //UN Representative//, World Federation of Ukrainian Women's Organizations [[Charles Hitchcock]], //UN representative//, Peace Action International <<< !! ~Ex-Officio <<< [[Jeffrey Huffines]]. //Chair//, [[NGO/DPI Executive Committee]], //UN Representative//, National Spiritual Assembly of the Baha'is of the US [[Joan Kirby]], //Past Chair//, [[NGO/DPI Executive Committee]], //UN Representative//, Temple of Understanding [[Renate Bloem]], //President//, [[Conference Of NGOs]] <<<
<html><center><img src="http://www.climate-change-summer.net/60dpingo-logo-400x51.jpg" alt="Climate Change - logo of the 60th Annual DPI/NGO Conference"></center></html> We, over 1726 participants representing over 500 ~Non-Governmental Organisations from more than 62 countries, * recognising that we share one planet and its environment, as well as a responsibility to protect future generations, * recognising the special vulnerabilities of the indigenous, poor, coastal and rural populations, * having met at the [[60th Annual DPI/NGO Conference]] at UN Headquarters from 5-7 September, 2007, with representatives of Member States, UN agencies and programs, the scientific community, the private sector, media and civil society, and * having reviewed the latest scientific evidence from a wide variety of experts as well as hearing about the experiences of indigenous peoples to better understand climate change, its threats and how ~NGOs can broaden the base for knowledge and action to reduce those threats; make the following declaration: # We affirm that climate change is mainly anthropogenic and is one of the most serious threats humanity and our environment have ever faced which if not addressed will cause: ## catastrophic effects to Earth's ecosystems, biodiversity and infrastructure; ## significantly reduced availability of food, water, energy and transport; ## massive migration of populations and the possible destruction of entire cultures and small island nations, ## significant damage to our economic, political, cultural, social and spiritual structures, ## increased local, national and international violence, ## significant psychological and emotional distress to individuals and communities ## irreversible harm to the lifestyles of indigenous peoples, ## increased spread of vector-borne diseases such as malaria and dengue fever, and ## negative impacts on human health and life expectancy. # We commit ourselves over the next 12 months to a Framework for Action that will propose NGO solutions to these threats before they become irreversible: ## unify behind a common vision of collaboration - even if we disagree on tactics - to develop and implement plans for adaptation and mitigation^^1 +++ > 1. Adaptation implies making lifestyle adjustments. Mitigation implies alleviating the problem. === ^^ taking into account the full range of consequences; ## act as vocal, active partners for change with the UN, governments at all levels, ~NGOs and other members of our global community; ## develop, implement and publicize individual and collaborative action plans for personal, economic and political change. # We commend ~Secretary-General Ban Ki-moon's leadership in highlighting climate change as a major priority. We urge government, industry, and UN leaders, in partnership with the NGO community to emphasise proactive climate change priorities for the greater good in preparation for the [[UN Climate Change Conference in Bali]], December, 2007, and subsequent negotiations. # We strongly recommend, for the sake of future generations, that government and industry leaders, the UN, other international organizations and the whole of civil society partner behind and implement concrete solutions, taking into account recommendations that emerge from the Framework for Action. # We also strongly recommend that: ## all governments and civil society foster an ethical, moral foundation for ongoing sustainable development in our interdependent world making the well-being of all of humankind our priority. ## all educational institutions and media organizations more effectively educate about the issue of climate change with special emphasis on youth, ## governmental authorities consider penalties for excessive consumption and pollution as a method of financing climate change improvements, as well as financial incentives to foster climate-friendly technologies so that fossil fuel and nuclear based technologies can be phased out. ## governments recognize that war is damaging to the climate. ## all governments ratify UN conventions on climate change, the Kyoto protocol and other relevant climate conventions # Finally, in order to implement the Framework for Action - recognizing that our views on challenges and opportunities will evolve as this process continues - we request that: ## the [[NGO/DPI Executive Committee]] and the [[Conference Of NGOs in Consultative Relationship with the United Nations|Conference Of NGOs]] (CONGO) foster a plan as soon as possible to implement the Framework as a tool for the NGO community to participate in an open, practical and transparent collaborative approach based on networking; ## the Framework discussion culminate in an internet-based progress report to be submitted to the ~Secretary-General in one year and that a long-term dialogue for future action be fostered thereafter; ## the Framework process should network ~NGOs that might not otherwise typically collaborate by bridging the spectrum of NGO concerns interconnected by climate change, such as sustainable development, agriculture, forestry, issues affecting indigenous peoples, biodiversity, livestock and animal welfare, nuclear proliferation, the end of war, justice, ethnic groups, multigenerational issues, youth, gender equality, education, poverty, food and water security, culture of peace, interfaith cooperation, national global security and economic justice, as well as mental, spiritual and physical health.
The massive and profoundly complex set of challenges involved in addressing and reversing ominous climate change trends call for the availability of numerous tools
The concepts of [[information ecosystems|Information ecosystems]] and [[information ecology|Information ecology]] have been gaining rapidly increased use over the last two decades Climate Change information ecosystem
/***
| Name:|CloseOnCancelPlugin|
| Description:|Closes the tiddler if you click new tiddler then cancel. Default behaviour is to leave it open|
| Version:|6.9.3|
| Date:|30-Sep-2006|
| Source:|http://mptw.tiddlyspot.com/#CloseOnCancelPlugin|
| Author:|Simon Baird <simon.baird@gmail.com>|
| CoreVersion:|2.1.x|
***/
//{{{
merge(config.commands.cancelTiddler,{
handler_orig_closeUnsaved: config.commands.cancelTiddler.handler,
handler: function(event,src,title) {
this.handler_orig_closeUnsaved(event,src,title);
if (!store.tiddlerExists(title) && !store.isShadowTiddler(title))
story.closeTiddler(title,true);
return false;
}
});
//}}}
/***
|Name|CollapseTiddlersPlugin|
|Source|http://gensoft.revhost.net/Collapse.html|
|Version|2008.10.05|
|Author|Bradley Meck (modified by ELS)|
|License|unknown|
|~CoreVersion|2.1|
|Type|plugin|
|Requires|CollapsedTemplate|
|Overrides||
|Description|show/hide content of a tiddler while leaving tiddler title visible|
|ELS 10/5/2008: collapseAll() and expandAll(): added "return false" to button handlers to prevent IE page transition |
|ELS 3/6/2008: refactored code for size reduction, readability, and I18N/L10N-readiness. Also added 'folded' flag to tiddler elements (for use by other plugins that need to know if tiddler is folded (e.g., [[SinglePageModePlugin]]) |
|ELS 10/11/2007: moved [[FoldFirst]] inline script and converted to {{{<<foldFirst>>}}} macro. |
|ELS 9/12/2007: suspend/resume SinglePageMode (SPM/TPM/BPM) when folding/unfolding tiddlers |
|ELS 6/5/2007: add "return false" at the end of each command handler to prevent IE 'page transition' problem. |
|ELS 3/30/2007: add a shadow definition for CollapsedTemplate. Tweak ViewTemplate shadow so "fold/unfold" and "focus" toolbar items automatically appear when using default templates. Remove error check for "CollapsedTemplate" existence, since shadow version will now always work as a fallback. |
|ELS 2/24/2006: added fallback to "CollapsedTemplate" if "WebCollapsedTemplate" is not found |
|ELS 2/6/2006: added check for 'readOnly' flag to use alternative "WebCollapsedTemplate" |
***/
//{{{
config.shadowTiddlers.CollapsedTemplate=
"<!--{{{-->\
<div class='toolbar' macro='toolbar expandTiddler collapseOthers closeTiddler closeOthers +editTiddler permalink references jump'></div>\
<div class='title' macro='view title'></div>\
<!--}}}-->";
// automatically tweak shadow ViewTemplate to add "collapseTiddler collapseOthers" commands
config.shadowTiddlers.ViewTemplate=config.shadowTiddlers.ViewTemplate.replace(/closeTiddler/,"collapseTiddler collapseOthers closeTiddler");
config.commands.collapseTiddler = {
text: "fold",
tooltip: "Collapse this tiddler",
collapsedTemplate: "CollapsedTemplate",
webCollapsedTemplate: "WebCollapsedTemplate",
handler: function(event,src,title) {
var e = story.findContainingTiddler(src); if (!e) return false;
// don't fold tiddlers that are being edited!
if(story.isDirty(e.getAttribute("tiddler"))) return false;
var t=config.commands.collapseTiddler.getCollapsedTemplate();
config.commands.collapseTiddler.saveTemplate(e);
config.commands.collapseTiddler.display(title,t);
e.setAttribute("folded","true");
return false;
},
getCollapsedTemplate: function() {
if (readOnly&&store.tiddlerExists(this.webCollapsedTemplate))
return this.webCollapsedTemplate;
else
return this.collapsedTemplate
},
saveTemplate: function(e) {
if (e.getAttribute("savedTemplate")==undefined)
e.setAttribute("savedTemplate",e.getAttribute("template"));
},
// fold/unfold tiddler with suspend/resume of single/top/bottom-of-page mode
display: function(title,t) {
var opt=config.options;
var saveSPM=opt.chkSinglePageMode; opt.chkSinglePageMode=false;
var saveTPM=opt.chkTopOfPageMode; opt.chkTopOfPageMode=false;
var saveBPM=opt.chkBottomOfPageMode; opt.chkBottomOfPageMode=false;
story.displayTiddler(null,title,t);
opt.chkBottomOfPageMode=saveBPM;
opt.chkTopOfPageMode=saveTPM;
opt.chkSinglePageMode=saveSPM;
}
}
config.commands.expandTiddler = {
text: "unfold",
tooltip: "Expand this tiddler",
handler: function(event,src,title) {
var e = story.findContainingTiddler(src); if (!e) return false;
var t = e.getAttribute("savedTemplate");
config.commands.collapseTiddler.display(title,t);
e.setAttribute("folded","false");
return false;
}
}
config.macros.collapseAll = {
text: "collapse all",
tooltip: "Collapse all tiddlers",
handler: function(place,macroName,params,wikifier,paramString,tiddler){
createTiddlyButton(place,this.text,this.tooltip,function(){
story.forEachTiddler(function(title,tiddler){
if(story.isDirty(title)) return;
var t=config.commands.collapseTiddler.getCollapsedTemplate();
config.commands.collapseTiddler.saveTemplate(tiddler);
config.commands.collapseTiddler.display(title,t);
tiddler.folded=true;
});
return false;
})
}
}
config.macros.expandAll = {
text: "expand all",
tooltip: "Expand all tiddlers",
handler: function(place,macroName,params,wikifier,paramString,tiddler){
createTiddlyButton(place,this.text,this.tooltip,function(){
story.forEachTiddler(function(title,tiddler){
var t=config.commands.collapseTiddler.getCollapsedTemplate();
if(tiddler.getAttribute("template")!=t) return; // re-display only if collapsed
var t=tiddler.getAttribute("savedTemplate");
config.commands.collapseTiddler.display(title,t);
tiddler.folded=false;
});
return false;
})
}
}
config.commands.collapseOthers = {
text: "focus",
tooltip: "Expand this tiddler and collapse all others",
handler: function(event,src,title) {
var e = story.findContainingTiddler(src); if (!e) return false;
story.forEachTiddler(function(title,tiddler) {
if(story.isDirty(title)) return;
var t=config.commands.collapseTiddler.getCollapsedTemplate();
if (e==tiddler) t=e.getAttribute("savedTemplate");
config.commands.collapseTiddler.saveTemplate(tiddler);
config.commands.collapseTiddler.display(title,t);
tiddler.folded=(e!=tiddler);
})
return false;
}
}
// {{{<<foldFirst>>}}} macro forces tiddler to be folded when *initially* displayed.
// Subsequent re-render does NOT re-fold tiddler, but closing/re-opening tiddler DOES cause it to fold first again.
config.macros.foldFirst = {
handler: function(place,macroName,params,wikifier,paramString,tiddler){
var e=story.findContainingTiddler(place);
if (e.getAttribute("foldedFirst")=="true") return; // already been folded once
var title=e.getAttribute("tiddler")
var t=config.commands.collapseTiddler.getCollapsedTemplate();
config.commands.collapseTiddler.saveTemplate(e);
config.commands.collapseTiddler.display(title,t);
e.setAttribute("folded","true");
e.setAttribute("foldedFirst","true"); // only when tiddler is first rendered
return false;
}
}
//}}}
<!--{{{--> <div class='toolbar' macro='toolbar expandTiddler collapseOthers closeTiddler closeOthers +editTiddler permalink references jump'></div> <div class='title' macro='view title'></div> <!--}}}-->
Foreground: #000 Background: #fff PrimaryPale: #8cf PrimaryLight: #18f PrimaryMid: #04b PrimaryDark: #014 SecondaryPale: #ffc SecondaryLight: #fe8 SecondaryMid: #db4 SecondaryDark: #841 TertiaryPale: #eee TertiaryLight: #ccc TertiaryMid: #999 TertiaryDark: #666 Error: #f88
Foreground: #000 Background: #fff PrimaryPale: #8cf PrimaryLight: #18f PrimaryMid: #04b PrimaryDark: #014 SecondaryPale: #ffc SecondaryLight: #fe8 SecondaryMid: #db4 SecondaryDark: #841 TertiaryPale: #eee TertiaryLight: #ccc TertiaryMid: #999 TertiaryDark: #666 Error: #f88
The [[ColorPalette]] tiddler is used in TiddlyWiki to define a set of colours - fifteen by default - whose names are then used in the [[StyleSheetColors]] tiddler. This system allow one to easily change the entire colour scheme of a TiddlyWiki site far more quickly than if one were to have change the colour for each style element. |Background |#fff |@@bgcolor(#000000):color(#ffffff):Background@@ |@@bgcolor(#ffffff): @@| |Foreground |#000 |@@color(#000000):Foreground@@ |@@bgcolor(#000000): @@| |PrimaryPale |#8cf |@@color(#88ccff):~PrimaryPale@@ |@@bgcolor(#88ccff): @@| |PrimaryLight |#18f |@@color(#1188ff):~PrimaryLight@@ |@@bgcolor(#1188ff): @@| |PrimaryMid |#04b |@@color(#0044bb):~PrimaryMid@@ |@@bgcolor(#0044bb): @@| |PrimaryDark |#017 |@@color(#001177):~PrimaryDark@@ |@@bgcolor(#001177): @@| |SecondaryPale |#ffc |@@color(#ffffcc):~SecondaryPale@@ |@@bgcolor(#ffffcc): @@| |SecondaryLight |#fe7 |@@color(#ffee77):~SecondaryLight@@ |@@bgcolor(#ffee77): @@| |SecondaryMid |#db4 |@@color(#ddbb44):~SecondaryMid@@ |@@bgcolor(#ddbb44): @@| |SecondaryDark |#841 |@@color(#884411):~SecondaryDark@@ |@@bgcolor(#884411): @@| |TertiaryPale |#eee |@@color(#eeeeee):~TertiaryPale@@ |@@bgcolor(#eeeeee): @@| |TertiaryLight |#ccc |@@color(#cccccc):~TertiaryLight@@ |@@bgcolor(#cccccc): @@| |TertiaryMid |#999 |@@color(#999999):~TertiaryMid@@ |@@bgcolor(#999999): @@| |TertiaryDark |#666 |@@color(#666666):~TertiaryDark@@ |@@bgcolor(#666666): @@| |Error |#f77 |@@color(#ff7777):Error@@ |@@bgcolor(#ff7777): @@|
''CONGO'' - the ''C''onference ''O''f ''N''on-''G''overnmental ''O''rganizations in Consultative Relationship with the United Nations - is an independent, international, not-for-profit membership association of nongovernmental organizations that facilitates the participation of ~NGOs in United Nations debates and decisions. CONGO is most active in the major UN centers of New York, Geneva, and Vienna, but extends its work to all regions of the world. In 2002. CONGO became accredited in its own right as an NGO in General Consultative Status with the United Nations Economic and Social Council. * [[www.ngocongo.org/|http://www.ngocongo.org]]
config.options.chkDisableNonExistingWikiLinks=true; config.options.chkSearchTitles=true; config.options.chkSearchText=false; config.options.chkSearchTags=false;
The imminence and severity of the problems posed by the accelerating changes in the global climate are becoming increasingly evident. Heat waves are becoming more severe, droughts and downpours are becoming more intense, the Greenland Ice Sheet is shrinking and sea level is rising, and the increasing acidification of the oceans is threatening calcifying organisms. The environment and the world’s societies are facing increasing stress. There is growing recognition of the complex scientific and technical issues related to climate change and sustainable development. The [[Johannesburg Plan of Implementation|http://www.un-documents.net/jburgpln.htm]], adopted in 2002 at the World Summit on Sustainable Development, requested that the United Nations Commission on Sustainable Development (CSD) "[g]ive greater consideration to the scientific contributions to sustainable development through, for example, drawing on the scientific community." The ''United Nations Department of Economic and Social Affairs'' (DESA), in its role as Secretariat to the CSD, seeks to facilitate contributions by the scientific community to the work of the Commission. Accordingly, DESA invited ''Sigma Xi'', the Scientific Research Society, to convene an international panel of scientific experts to prepare a report outlining the best measures for mitigating and adapting to global warming for submission to the CSD. To carry out this task, the Scientific Expert Group on Climate Change and Sustainable Development (SEG) was formed and is comprised of 18 distinguished international scientists. The panel was asked to consider innovative approaches for mitigating and/or adapting to projected climate changes, and to anticipate the relationship of response measures to sustainable development. ''Highlights of the resulting report include'': * To avoid a entering a regime of sharply rising danger of intolerable impacts on humans, policy makers should limit temperature increases from global warming to 2-2.5°C above the 1750 pre-industrial level. It is still possible to avoid unmanageable changes in the future, but the time for action is now. +++ ** Temperatures have already risen about 0.8°C[1] above pre-industrial levels and are projected to rise of approximately 3-5°C over pre-industrial levels by 2100. ** Avoiding temperature increases greater than 2-2.5°C would require very rapid success in reducing emissions of methane and black soot worldwide, and global carbon dioxide emissions must level off by 2015 or 2020 at not much above their current amount, before beginning a decline to no more than a third of that level by 2100. === * The technology exists to seize significant opportunities around the globe to reduce emissions and provide other economic, environmental and social benefits, including meeting the United Nations’ [[Millennium Development Goals]]. To do so, policy makers must immediately act to reduce emissions by: +++ ** Improving efficiency in the transportation sector through measures such as vehicle efficiency standards, fuel taxes, and registration fees/rebates that favor purchase of efficient and alternative fuel vehicles. ** Improving design and efficiency of commercial and residential buildings through building codes, standards for equipment and appliances, incentives for property developers and landlords to build and manage properties efficiently, and financing for energy-efficiency investments. ** Expanding the use of biofuels through energy portfolio standards and incentives to growers and consumers. ** Beginning immediately, designing and deploying only coal-fired power plants that will be capable of cost-effective and environmentally-sound retrofits for capture and sequestration of their carbon emissions. === * Some level of climate change and impacts from it is already unavoidable. Societies must do more to adapt to ongoing and unavoidable changes in the Earth’s climate system by: +++ ** Improving preparedness/response strategies and management of natural resources to cope with future climatic conditions that will be. fundamentally different than those experienced for the last 100 years. ** Addressing the adaptation needs of the poorest and most vulnerable nations, which will bear the brunt of climate change impacts. ** Planning and building climate resilient cities. ** Strengthening international, national, and regional institutions to cope with weather-related disasters and an increasing number of climate change refugees. === * The international community, through the UN and related multilateral institutions, can play a crucial role in advancing action to manage the unavoidable and avoid the unmanageable by: +++ ** Helping developing countries and countries with economies in transition to finance and deploy energy efficient and new energy technologies. ** Accelerating negotiations to develop a successor international framework for addressing climate change and sustainable development. ** Educating all about the opportunities to adopt mitigation and adaptation measures. === ''Download Confronting Climate Cnange'': * [[Executive Summary|http://www.unfoundation.org/files/pdf/2007/SEG_ExecSumm.pdf]] (pdf, 3 Mb) * [[Full Report|http://www.unfoundation.org/files/pdf/2007/SEG_Report.pdf]] (pdf, 8Mb) * [[Corrected page 15|http://www.unfoundation.org/files/pdf/2007/SEG_errata_map.pdf]] (pdf, 4Mb) Visit [[official web site for Confronting Climate Change|http://www.unfoundation.org/SEG/]]
<html><hide linebreaks> Please use this form to send any messages, comments or questions about this site, or send an email to <a href="mailto:webster@climate-change-two.net">webster@climate-change-two.net</a>: <p> <form method=post target=email action="http://cgi.eytv4sfc.net/gdform.cgi" style="display:inline"> <input type=hidden name=to value="seasons-of-peace@earthlink.net.net"> <input type=hidden name=subject value="Climate Change 2.0 feedback"> <input type=hidden name=prefix value="The Economics of Climate Change"> <input type=hidden name=url value="javascript:window.close();"> <input type=text name=from style="width:49%" value="your name" onfocus="this.select()"> <input type=text name=reply style="width:49%" value="your email address" onfocus="this.select()"><br> <input type=text name=organization style="width:99%" value="your organization (optional)" onfocus="this.select()"><br> <font size=-2>Your message:</font><br> <textarea rows=7 cols=50 name=text style="width:98%" onfocus="this.select()"></textarea><br> <font size=-2>Enter your information, comments or questions, then press </font><input type=submit value="send"></form> <p> Please note that your message will probably remain here are you have sent it, and that doesn't mean the message hasn't been sent! </html>
{{iframe{''Note'': This is a "framed" page from the [[UN Documents Cooperation Circles|UN Documents Cooperation Circles: Gathering a Body of Global Agreements]] web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.un-documents.net/cope-dec.htm}}}
<html><iframe
title="Copenhagen Declaration on Social Development"
src="http://www.un-documents.net/cope-dec.htm"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width="100%"
height="1000"
frameborder="0"
scrolling="yes">
</iframe></html>
/***
|Name|CopyTiddlerPlugin|
|Source|http://www.TiddlyTools.com/#CopyTiddlerPlugin|
|Version|3.2.4|
|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.3|
|Type|plugin|
|Requires||
|Overrides||
|Description|Quickly create a copy of any existing tiddler|
!!!Usage
<<<
This plugin automatically updates the default (shadow) ToolbarCommands slice definitions to insert the ''copyTiddler'' command (which appears as ''copy'' in the tiddler toolbar).
When you select the ''copy'' command, a new tiddler is opened with a title of "{{{TiddlerName (n)}}}" containing copies of the text/tags/fields from the original //source tiddler//, where ''(n)'' is the next available number (starting with 1, of course). Note: If you copy while //editing// a tiddler, the current values that are displayed in the existing tiddler editor are used (including any unsaved changes you may have made to those values), and the new tiddler is immediately opened for editing.
Note: if you are already using customized toolbar definitions, you will need to manually add the ''copyTiddler'' toolbar command to your existing ToolbarCommands tiddler, e.g.:
{{{
|EditToolbar|... copyTiddler ... |
}}}
The plugin also provides a macro that allows you to embed a ''copy'' command directly in specific tiddler content:
{{{
<<copyTiddler TidderName label:"..." prompt:"...">>
}}}
where
* ''TiddlerName'' (optional)<br>specifies the //source// tiddler to be copied. If omitted, the current containing tiddler (if any) will be copied.
* ''label:"..."'' (optional)<br>specifies text to use for the embedded link (default="copy TiddlerName")
* ''prompt:"..."'' (optional)<br>specifies mouseover 'tooltip' help text for link
//Note: to use non-default label/prompt values with the current containing tiddler, use "" for the TiddlerName//
<<<
!!!Revisions
<<<
2009.03.09 [3.2.4] fixed IE-specific syntax error
2009.03.02 [3.2.3] refactored code (again) to restore use of config.commands.copyTiddler.* custom settings
2009.02.13 [3.2.2] in click(), fix calls to displayTiddler() to use current tiddlerElem and use getTiddlerText() to permit copying of shadow tiddler content
2009.01.30 [3.2.1] fixed handling for copying field values when in edit mode
2009.01.23 [3.2.0] refactored code and added {{{<<copyTiddler TiddlerName>>}}} macro
2008.12.18 [3.1.4] corrected code for finding next (n) value when 'sparse' handling is in effect (thanks to RussThomas for identifying and diagnosing the problem)
2008.11.14 [3.1.3] added optional 'sparse' setting (avoids 'filling in' missing numbers that may have been previously deleted)
2008.11.14 [3.1.2] added optional 'zeroPad' setting
2008.11.14 [3.1.1] moved hard-coded '(n)' regex into 'suffixPattern' object property so it can be customized
2008.09.26 [3.1.0] changed new title generation to use '(n)' suffix instead of 'Copy of' prefix
2008.05.20 [3.0.3] in handler, when copying from VIEW mode, create duplicate array from existing tags array before saving new tiddler.
2007.12.19 [3.0.2] in handler, when copying from VIEW mode, duplicate custom fields before saving new tiddler. Thanks to bug report from Ken Girard.
2007.09.26 [3.0.1] in handler, use findContainingTiddler(src) to get tiddlerElem (and title). Allows 'copy' command to find correct tiddler when transcluded using {{{<<tiddler>>}}} macro or enhanced toolbar inclusion (see [[CoreTweaks]])
2007.06.28 [3.0.0] complete re-write to handle custom fields and alternative view/edit templates
2007.05.17 [2.1.2] use store.getTiddlerText() to retrieve tiddler content, so that SHADOW tiddlers can be copied correctly when in VIEW mode
2007.04.01 [2.1.1] in copyTiddler.handler(), fix check for editor fields by ensuring that found field actually has edit=='text' attribute
2007.02.05 [2.1.0] in copyTiddler.handler(), if editor fields (textfield and/or tagsfield) can't be found (i.e., tiddler is in VIEW mode, not EDIT mode), then get text/tags values from stored tiddler instead of active editor fields. Allows use of COPY toolbar directly from VIEW mode (based on a request from LaurentCharles)
2006.12.12 [2.0.0] completely rewritten so plugin just creates a new tiddler EDITOR with a copy of the current tiddler EDITOR contents, instead of creating the new tiddler in the STORE by copying the current tiddler values from the STORE.
2005.xx.xx [1.0.0] original version by Tim Morgan
<<<
!!!Code
***/
//{{{
version.extensions.CopyTiddlerPlugin= {major: 3, minor: 2, revision: 4, date: new Date(2009,3,9)};
// automatically tweak shadow EditTemplate to add 'copyTiddler' toolbar command (following 'cancelTiddler')
config.shadowTiddlers.ToolbarCommands=config.shadowTiddlers.ToolbarCommands.replace(/cancelTiddler/,'cancelTiddler copyTiddler');
config.commands.copyTiddler = {
text: 'copy',
hideReadOnly: true,
tooltip: 'Make a copy of this tiddler',
notitle: 'this tiddler',
prefix: '',
suffixText: ' (%0)',
suffixPattern: / \(([0-9]+)\)$/,
zeroPad: 0,
sparse: false,
handler: function(event,src,title)
{ return config.commands.copyTiddler.click(src,event); },
click: function(here,ev) {
var tiddlerElem=story.findContainingTiddler(here);
var template=tiddlerElem?tiddlerElem.getAttribute('template'):null;
var title=here.getAttribute('from');
if (!title || !title.length) {
if (!tiddlerElem) return false;
else title=tiddlerElem.getAttribute('tiddler');
}
var root=title.replace(this.suffixPattern,''); // title without suffix
// find last matching title
var last=title;
if (this.sparse) { // don't fill-in holes... really find LAST matching title
var tids=store.getTiddlers('title','excludeLists');
for (var t=0; t<tids.length; t++) if (tids[t].title.startsWith(root)) last=tids[t].title;
}
// get next number (increment from last matching title)
var n=1; var match=this.suffixPattern.exec(last); if (match) n=parseInt(match[1])+1;
var newTitle=this.prefix+root+this.suffixText.format([String.zeroPad(n,this.zeroPad)]);
// if not sparse mode, find the next hole to fill in...
while (store.tiddlerExists(newTitle)||document.getElementById(story.idPrefix+newTitle))
{ n++; newTitle=this.prefix+root+this.suffixText.format([String.zeroPad(n,this.zeroPad)]); }
if (!story.isDirty(title)) { // if tiddler is not being EDITED
// duplicate stored tiddler (if any)
var text=store.getTiddlerText(title,'');
var newtags=[]; var newfields={};
var tid=store.getTiddler(title); if (tid) {
for (var t=0; t<tid.tags.length; t++) newtags.push(tid.tags[t]);
store.forEachField(tid,function(t,f,v){newfields[f]=v;},true);
}
store.saveTiddler(newTitle,newTitle,text,
config.options.txtUserName,new Date(),newtags, newfields, true); // clear changecount
story.displayTiddler(tiddlerElem,newTitle,template);
} else {
story.displayTiddler(tiddlerElem,newTitle,template);
var fields=config.commands.copyTiddler.gatherFields(tiddlerElem); // get current editor fields
var newTiddlerElem=document.getElementById(story.idPrefix+newTitle);
for (var f=0; f<fields.length; f++) { // set fields in new editor
if (fields[f].name=='title') fields[f].value=newTitle; // rename title in new tiddler
var fieldElem=config.commands.copyTiddler.findField(newTiddlerElem,fields[f].name);
if (fieldElem) {
if (fieldElem.getAttribute('type')=='checkbox')
fieldElem.checked=fields[f].value;
else
fieldElem.value=fields[f].value;
}
}
}
story.focusTiddler(newTitle,'title');
return false;
},
findField: function(tiddlerElem,field) {
var inputs=tiddlerElem.getElementsByTagName('input');
for (var i=0; i<inputs.length; i++) {
if (inputs[i].getAttribute('type')=='checkbox' && inputs[i].field == field) return inputs[i];
if (inputs[i].getAttribute('type')=='text' && inputs[i].getAttribute('edit') == field) return inputs[i];
}
var tas=tiddlerElem.getElementsByTagName('textarea');
for (var i=0; i<tas.length; i++) if (tas[i].getAttribute('edit') == field) return tas[i];
var sels=tiddlerElem.getElementsByTagName('select');
for (var i=0; i<sels.length; i++) if (sels[i].getAttribute('edit') == field) return sels[i];
return null;
},
gatherFields: function(tiddlerElem) { // get field names and values from current tiddler editor
var fields=[];
// get checkboxes and edit fields
var inputs=tiddlerElem.getElementsByTagName('input');
for (var i=0; i<inputs.length; i++) {
if (inputs[i].getAttribute('type')=='checkbox')
if (inputs[i].field) fields.push({name:inputs[i].field,value:inputs[i].checked});
if (inputs[i].getAttribute('type')=='text')
if (inputs[i].getAttribute('edit')) fields.push({name:inputs[i].getAttribute('edit'),value:inputs[i].value});
}
// get textareas (multi-line edit fields)
var tas=tiddlerElem.getElementsByTagName('textarea');
for (var i=0; i<tas.length; i++)
if (tas[i].getAttribute('edit')) fields.push({name:tas[i].getAttribute('edit'),value:tas[i].value});
// get selection lists (droplist or listbox)
var sels=tiddlerElem.getElementsByTagName('select');
for (var i=0; i<sels.length; i++)
if (sels[i].getAttribute('edit')) fields.push({name:sels[i].getAttribute('edit'),value:sels[i].value});
return fields;
}
};
//}}}
// // MACRO DEFINITION
//{{{
config.macros.copyTiddler = {
label: 'copy',
prompt: 'Make a copy of %0',
handler: function(place,macroName,params,wikifier,paramString,tiddler) {
var title=params.shift();
params=paramString.parseParams('anon',null,true,false,false);
var label =getParam(params,'label',this.label+(title?' '+title:''));
var prompt =getParam(params,'prompt',this.prompt).format([title||this.notitle]);
var b=createTiddlyButton(place,label,prompt,
function(ev){return config.commands.copyTiddler.click(this,ev)});
b.setAttribute('from',title||'');
}
};
//}}}
/***
|Name|CoreTweaks|
|Source|http://www.TiddlyTools.com/#CoreTweaks|
|Version|use with TW2.4.3|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.2.0|
|Type|plugin|
|Requires||
|Overrides|various|
|Description|a small collection of overrides to TW core functions|
This tiddler contains changes TW core functions to provide minor changes in standard features or behavior. It is hoped that some of these tweaks may someday be added into the TW core, so that these adjustments will be available without needing these add-on definitions.
>''Note: the changes contained in this tiddler are generally applicable for version 2.4.3 of TiddlyWiki.''
>Please view [[CoreTweaksArchive]] for tweaks that may be used with earlier versions of TiddlyWiki.
***/
//{{{
// calculate TW version number - used to determine which tweaks should be applied
var ver=version.major+version.minor/10+version.revision/100;
//}}}
/***
----
***/
// // open tickets:
// // {{block{
/***
!!!890 add conditional test to """<<tiddler>>""" macro
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/890 - OPEN
This tweak extends the {{{<<tiddler>>}}} macro syntax so you can include a javascript-based //test expression// to determine if the tiddler transclusion should be performed:
{{{
<<tiddler TiddlerName if:{{...}} with: param param etc.>>
}}}
If the test is ''true'', then the tiddler is transcluded as usual. If the test is ''false'', then the transclusion is skipped and //no output is produced//.
***/
//{{{
config.macros.tiddler.if_handler = config.macros.tiddler.handler;
config.macros.tiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
params = paramString.parseParams('name',null,true,false,true);
if (!getParam(params,'if',true)) return;
this.if_handler.apply(this,arguments);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!831 backslash-quoting for embedding newlines in 'line-mode' formats
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/831 - OPEN
This tweak pre-processes source content to convert 'double-backslash-newline' into {{{<br>}}} before wikify(), so that literal newlines can be embedded in line-mode wiki syntax (e.g., tables, bullets, etc.)
***/
//{{{
window.coreWikify = wikify;
window.wikify = function(source,output,highlightRegExp,tiddler)
{
if (source) arguments[0]=source.replace(/\\\\\n/mg,'<br>');
coreWikify.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!829 """<<tag>>""" macro - sortby parameter
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/829 - OPEN
This tweak adds an optional 'sortby' parameter to the """<<tag tagname label tip sortby>>""" macro, as well as the """<<allTags excludeTag sortby>>""" macro used to generate the sidebar contents 'tags' list. Specify the field on which the contents of each tag popup is to be sorted, with a '+' or '-' prefix to indicate ascending/descending order, respectively.
Example: """<<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>"""
Try it: <<tag systemConfig "plugins" "list plugins by date, most recent first" "-modified">>
Similarly, to change the sort order used by the popups from all tags shown in the sidebar contents, edit the [[TagTags]] shadow tiddler and enter: """<<allTags excludeLists -modified>>"""
***/
//{{{
// hijack tag handler() to add 'sortby' attribute to tag button
config.macros.tag.CoreTweaksSortTags_handler=config.macros.tag.handler;
config.macros.tag.handler = function(place,macroName,params)
{
this.CoreTweaksSortTags_handler.apply(this,arguments);
var btn=place.lastChild;
if (params[3]) btn.setAttribute('sortby',params[3]);
}
// tweak <<allTags>> macro to add 'sortby' attribute to each tag button
var fn=config.macros.allTags.handler;
var lines=fn.toString().split('\n');
lines.splice(lines.length-2,0,['if(params[1]) btn.setAttribute("sortby",params[1]);']);
fn=lines.join('\n');
eval('config.macros.allTags.handler='+fn);
// tweak tag event handler to:
// * use tag filtering (only if '[' is present in tag value)
// * use optional 'sortby' attribute
// * save 'sortby' value in 'open all' command (for displaying tiddlers in sorted order)
var fn=onClickTag;
fn=fn.toString().replace(
/store.getTaggedTiddlers\(tag\);/g,
'(tag.indexOf("[")==-1?store.getTaggedTiddlers(tag):store.filterTiddlers(tag));'
+'var sortby=this.getAttribute("sortby");'
+'if(sortby&&sortby.length) store.sortTiddlers(tagged,sortby);'
);
fn=fn.toString().replace(
/openAll.setAttribute\("tag",\s*tag\);/g,
'openAll.setAttribute("tag",tag); openAll.setAttribute("sortby",sortby);'
);
eval(fn);
// tweak 'open all' event handler to use 'sortby' attribute
var fn=onClickTagOpenAll;
fn=fn.toString().replace(
/story.displayTiddlers\(this,\s*tiddlers\);/g,
'var sortby=this.getAttribute("sortby");'
+'if(sortby&&sortby.length) store.sortTiddlers(tiddlers,sortby);'
+'story.displayTiddlers(this,tiddlers);'
);
eval(fn);
//}}}
// // }}}}}}// // {{block{
/***
!!!824 ~WindowTitle - alternative to combined ~SiteTitle/~SiteSubtitle in window titlebar
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/824 - OPEN
This tweak allows definition of an optional [[WindowTitle]] tiddler that, when present, provides alternative text for display in the browser window's titlebar, instead of using the combined text content from [[SiteTitle]] and [[SiteSubtitle]] (which will still be displayed as usual in the TiddlyWiki document header area).
Note: this ticket replaces http://trac.tiddlywiki.org/ticket/401 (closed), which proposed using a custom [[PageTitle]] tiddler for this purpose. ''If you were using the previous '401 ~PageTitle' tweak, you will need to rename [[PageTitle]] to [[WindowTitle]] to continue to use your custom window title text''
***/
//{{{
config.shadowTiddlers.WindowTitle='<<tiddler SiteTitle>> - <<tiddler SiteSubtitle>>';
window.getPageTitle=function() { return wikifyPlain('WindowTitle'); }
store.addNotification('WindowTitle',refreshPageTitle); // so title stays in sync with tiddler changes
//}}}
// // }}}}}}// // {{block{
/***
!!!784 allow tiddler sections in TiddlyLinks to be used as anchor points for intra-tiddler scrolling.
>http://trac.tiddlywiki.org/ticket/784 - OPEN - Please see separate [[SectionLinksPlugin]]
!!!683 FireFox3 Import bug: 'browse' button replacement
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/683 - OPEN
The web standard 'type=file' input control that has been used as a local path/file picker for TiddlyWiki no longer works as expected in FireFox3, which has, for security reasons, limited javascript access to this control so that *no* local filesystem path information can be revealed, even when it is intentional and necessary, as it is with TiddlyWiki. This tweak provides alternative HTML source that patches the backstage import panel. It replaces the 'type=file' input control with a text+button combination of controls that invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
>Note: ''This tweak also requires http://trac.tiddlywiki.org/ticket/604 - cross-platform askForFilename()''
***/
//{{{
if (window.Components) {
var fixhtml='<input name="txtBrowse" style="width:30em"><input type="button" value="..."'
+' onClick="window.browseForFilename(this.previousSibling,true)">';
var cmi=config.macros.importTiddlers;
cmi.step1Html=cmi.step1Html.replace(/<input type='file' size=50 name='txtBrowse'>/,fixhtml);
}
merge(config.messages,{selectFile:'Please enter or select a file'}); // ready for I18N translation
window.browseForFilename=function(target,mustExist) { // note: both params are optional
var msg=config.messages.selectFile;
if (target && target.title) msg=target.title; // use target field tooltip (if any) as dialog prompt text
// get local path for current document
var path=getLocalPath(document.location.href);
var p=path.lastIndexOf('/'); if (p==-1) p=path.lastIndexOf('\\'); // Unix or Windows
if (p!=-1) path=path.substr(0,p+1); // remove filename, leave trailing slash
var file=''
var result=window.askForFilename(msg,path,file,mustExist); // requires #604
if (target && result.length) // set target field and trigger handling
{ target.value=result; target.onchange(); }
return result;
}
//}}}
// // }}}}}}// // {{block{
/***
!!!604 cross-platform askForFilename()
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/604 - OPEN
invokes a system-native secure 'file-chooser' dialog box to provide TiddlyWiki with access to a complete path+filename so that TW functions properly locate user-selected local files.
***/
//{{{
window.askForFilename=function(msg,path,file,mustExist) {
var r = window.mozAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.ieAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = window.javaAskForFilename(msg,path,file,mustExist);
if(r===null || r===false)
r = prompt(msg,path+file);
return r||'';
}
window.mozAskForFilename=function(msg,path,file,mustExist) {
if(!window.Components) return false;
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, mustExist?nsIFilePicker.modeOpen:nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='html';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel)
var result=picker.file.persistentDescriptor;
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.ieAskForFilename=function(msg,path,file,mustExist) {
if(!config.browser.isIE) return false;
try {
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|';
s.FilterIndex=3; // default to HTML files;
s.InitialDir=path;
s.FileName=file;
return s.showOpen()?s.FileName:'';
}
catch(ex) { displayMessage(ex.toString()); }
return result;
}
window.javaAskForFilename=function(msg,path,file,mustExist) {
if(!document.applets['TiddlySaver']) return false;
// TBD: implement java-based askFile(...) function
try { return document.applets['TiddlySaver'].askFile(msg,path,file,mustExist); }
catch(ex) { displayMessage(ex.toString()); }
}
//}}}
// // }}}}}}// // {{block{
/***
!!!657 wrap tabs onto multiple lines
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/657 - OPEN
This tweak inserts an extra space element following each tab, allowing them to wrap onto multiple lines if needed.
***/
//{{{
config.macros.tabs.handler = function(place,macroName,params)
{
var cookie = params[0];
var numTabs = (params.length-1)/3;
var wrapper = createTiddlyElement(null,'div',null,'tabsetWrapper ' + cookie);
var tabset = createTiddlyElement(wrapper,'div',null,'tabset');
tabset.setAttribute('cookie',cookie);
var validTab = false;
for(var t=0; t<numTabs; t++) {
var label = params[t*3+1];
var prompt = params[t*3+2];
var content = params[t*3+3];
var tab = createTiddlyButton(tabset,label,prompt,this.onClickTab,'tab tabUnselected');
createTiddlyElement(tab,'span',null,null,' ',{style:'font-size:0pt;line-height:0px'}); // ELS
tab.setAttribute('tab',label);
tab.setAttribute('content',content);
tab.title = prompt;
if(config.options[cookie] == label)
validTab = true;
}
if(!validTab)
config.options[cookie] = params[1];
place.appendChild(wrapper);
this.switchTab(tabset,config.options[cookie]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!628 hide 'no such macro' errors
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/628 - OPEN
When invoking a macro that is not defined, this tweak prevents the display of the 'error in macro... no such macro' message. This is useful when rendering tiddler content or templates that reference macros that are defined by //optional// plugins that have not been installed in the current document.
<<option chkHideMissingMacros>> hide 'no such macro' error messages
***/
//{{{
if (config.options.chkHideMissingMacros===undefined)
config.options.chkHideMissingMacros=false;
window.coreTweaks_missingMacro_invokeMacro = window.invokeMacro;
window.invokeMacro = function(place,macro,params,wikifier,tiddler) {
if (!config.macros[macro] || !config.macros[macro].handler)
if (config.options.chkHideMissingMacros) return;
window.coreTweaks_missingMacro_invokeMacro.apply(this,arguments);
}
//}}}
// // }}}}}}// // {{block{
/***
!!!608/609/610 toolbars - toggles, separators and transclusion
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/608 - OPEN (more/less toggle)
http://trac.tiddlywiki.org/ticket/609 - OPEN (separators)
http://trac.tiddlywiki.org/ticket/610 - OPEN (wikify tiddler/slice/section content)
This combination tweak extends the """<<toolbar>>""" macro to add use of '<' to insert a 'less' menu command (the opposite of '>' == 'more'), as well as use of '*' to insert linebreaks and "!" to insert a vertical line separator between toolbar items. In addition, this tweak add the ability to use references to tiddlernames, slices, or sections and render their content inline within the toolbar, allowing easy creation of new toolbar commands using TW content (such as macros, links, inline scripts, etc.)
To produce a one-line style, with "less" at the end, use
| ViewToolbar| foo bar baz > yabba dabba doo < |
resulting in:
{{{
foo bar baz more
and
foo bar baz yabba dabba doo less
}}}
or to use the CoreTweaks? two-line style:
| ViewToolbar| foo bar baz > < * yabba dabba doo |
which would produce:
{{{
foo bar baz more
and
foo bar baz less
yabba dabba doo
}}}
''see [[ToolbarCommands]] for examples of how these features can be used''
***/
//{{{
merge(config.macros.toolbar,{
moreLabel: 'more\u25BC',
morePrompt: 'Show additional commands',
lessLabel: '\u25C4less',
lessPrompt: 'Hide additional commands',
separator: '|'
});
config.macros.toolbar.onClickMore = function(ev) {
var e = this.nextSibling;
e.style.display = 'inline'; // show menu
this.style.display = 'none'; // hide button
return false;
};
config.macros.toolbar.onClickLess = function(ev) {
var e = this.parentNode;
var m = e.previousSibling;
e.style.display = 'none'; // hide menu
m.style.display = 'inline'; // show button
return false;
};
config.macros.toolbar.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
for(var t=0; t<params.length; t++) {
var c = params[t];
switch(c) {
case '!': // ELS - SEPARATOR (added)
createTiddlyText(place,this.separator);
break;
case '*': // ELS - LINEBREAK (added)
createTiddlyElement(place,'BR');
break;
case '<': // ELS - LESS COMMAND (added)
var btn = createTiddlyButton(place,
this.lessLabel,this.lessPrompt,config.macros.toolbar.onClickLess,'moreCommand');
break;
case '>':
var btn = createTiddlyButton(place,
this.moreLabel,this.morePrompt,config.macros.toolbar.onClickMore,'moreCommand');
var e = createTiddlyElement(place,'span',null,'moreCommand');
e.style.display = 'none';
place = e;
break;
default:
var theClass = '';
switch(c.substr(0,1)) {
case '+':
theClass = 'defaultCommand';
c = c.substr(1);
break;
case '-':
theClass = 'cancelCommand';
c = c.substr(1);
break;
}
if(c in config.commands)
this.createCommand(place,c,tiddler,theClass);
else { // ELS - WIKIFY TIDDLER/SLICE/SECTION (added)
if (c.substr(0,1)=='~') c=c.substr(1); // ignore leading ~
var txt=store.getTiddlerText(c);
if (txt) {
// trim any leading/trailing newlines
txt=txt.replace(/^\n*/,'').replace(/\n*$/,'');
// trim PRE format wrapper if any
txt=txt.replace(/^\{\{\{\n/,'').replace(/\n\}\}\}$/,'');
// render content into toolbar
wikify(txt,createTiddlyElement(place,'span'),null,tiddler);
}
} // ELS - end WIKIFY CONTENT
break;
}
}
};
//}}}
// // }}}}}}// // {{block{
/***
!!!529 IE fixup - case-sensitive element lookup of tiddler elements
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/529 - OPEN
This tweak hijacks the standard browser function, document.getElementById(), to work-around the case-INsensitivity error in Internet Explorer (all versions up to and including IE7) //''Note: This tweak is only applied when using IE, and only for lookups of rendered tiddler elements within the containing 'tiddlerDisplay' element.''//
***/
//{{{
if (config.browser.isIE) {
document.coreTweaks_coreGetElementById=document.getElementById;
document.getElementById=function(id) {
var e=document.coreTweaks_coreGetElementById(id);
if (!e || !e.parentNode || e.parentNode.id!='tiddlerDisplay') return e;
for (var i=0; i<e.parentNode.childNodes.length; i++)
if (id==e.parentNode.childNodes[i].id) return e.parentNode.childNodes[i];
return null;
};
}
//}}}
// // }}}}}}// // {{block{
/***
!!!471 'creator' field for new tiddlers
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/471 - OPEN
This tweak HIJACKS the core's saveTiddler() function to automatically add a 'creator' field to a tiddler when it is FIRST created. You can use """<<view creator>>""" (or """<<view creator wikified>>""" if you prefer) to show this value embedded directly within the tiddler content, or {{{<span macro="view creator"></span>}}} in the ViewTemplate and/or EditTemplate to display the creator value in each tiddler.
***/
//{{{
// hijack saveTiddler()
TiddlyWiki.prototype.CoreTweaks_creatorSaveTiddler=TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler=function(title,newTitle,newBody,modifier,modified,tags,fields)
{
var existing=store.tiddlerExists(title);
var tiddler=this.CoreTweaks_creatorSaveTiddler.apply(this,arguments);
if (!existing) store.setValue(title,'creator',config.options.txtUserName);
return tiddler;
}
//}}}
// // }}}}}}
// // closed: won't fix //(leave as core tweaks)//
// // {{block{
/***
!!!637 TiddlyLink tooltip - custom formatting
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/637 - CLOSED: WON'T FIX
This tweak modifies the tooltip format that appears when you mouseover a link to a tiddler. It adds an option to control the date format, as well as displaying the size of the tiddler (in bytes)
Tiddler link tooltip format:
{{stretch{<<option txtTiddlerLinkTootip>>}}}
^^where: %0=title, %1=username, %2=modification date, %3=size in bytes, %4=description slice^^
Tiddler link tooltip date format:
{{stretch{<<option txtTiddlerLinkTooltipDate>>}}}
***/
//{{{
config.messages.tiddlerLinkTooltip='%0 - %1, %2 (%3 bytes) - %4';
config.messages.tiddlerLinkTooltipDate='DDD, MMM DDth YYYY 0hh12:0mm AM';
config.options.txtTiddlerLinkTootip=
config.options.txtTiddlerLinkTootip||config.messages.tiddlerLinkTooltip;
config.options.txtTiddlerLinkTooltipDate=
config.options.txtTiddlerLinkTooltipDate||config.messages.tiddlerLinkTooltipDate;
Tiddler.prototype.getSubtitle = function() {
var modifier = this.modifier;
if(!modifier) modifier = config.messages.subtitleUnknown;
var modified = this.modified;
if(modified) modified = modified.formatString(config.options.txtTiddlerLinkTooltipDate);
else modified = config.messages.subtitleUnknown;
var descr=store.getTiddlerSlice(this.title,'Description')||'';
return config.options.txtTiddlerLinkTootip.format([this.title,modifier,modified,this.text.length,descr]);
};
//}}}
// // }}}}}}// // {{block{
/***
!!!607 add HREF link on permaview command
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/607 - CLOSED: WON'T FIX
This tweak automatically sets the HREF for the 'permaview' sidebar command link so you can use the 'right click' context menu for faster, easier bookmarking. Note that this does ''not'' automatically set the permaview in the browser's current location URL... it just sets the HREF on the command link. You still have to click the link to apply the permaview.
***/
//{{{
config.macros.permaview.handler = function(place)
{
var btn=createTiddlyButton(place,this.label,this.prompt,this.onClick);
addEvent(btn,'mouseover',this.setHREF);
addEvent(btn,'focus',this.setHREF);
};
config.macros.permaview.setHREF = function(event){
var links = [];
story.forEachTiddler(function(title,element) {
links.push(String.encodeTiddlyLink(title));
});
var newURL=document.location.href;
var hashPos=newURL.indexOf('#');
if (hashPos!=-1) newURL=newURL.substr(0,hashPos);
this.href=newURL+'#'+encodeURIComponent(links.join(' '));
}
//}}}
// // }}}}}}// // {{block{
/***
!!!458 add permalink-like HREFs on internal TiddlyLinks
***/
// // {{groupbox small{
/***
http://trac.tiddlywiki.org/ticket/458 - CLOSED: WON'T FIX
This tweak assigns a permalink-like HREF to internal Tiddler links (which normally do not have any HREF defined). This permits the link's context menu (right-click) to include 'open link in another window/tab' command. Based on a request from Dustin Spicuzza.
***/
//{{{
window.coreTweaks_createTiddlyLink=window.createTiddlyLink;
window.createTiddlyLink=function(place,title,includeText,theClass,isStatic,linkedFromTiddler,noToggle)
{
// create the core button, then add the HREF (to internal links only)
var link=window.coreTweaks_createTiddlyLink.apply(this,arguments);
if (!isStatic)
link.href=document.location.href.split('#')[0]+'#'+encodeURIComponent(String.encodeTiddlyLink(title));
return link;
}
//}}}
// // }}}}}}
// // <<foldHeadings>>
/%
|Name|CreateTiddlersFromCSV|
|Source|http://www.TiddlyTools.com/#CreateTiddlersFromCSV|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|html|
|Requires||
|Overrides||
|Description|create tiddlers from CSV data|
Usage: Paste CSV data into textarea. Press "create tiddlers" button
CSV format (as exported from a spreadsheet):
title,text,tags,field1,field2,field3,...
Test1,This is content1,one foo,mumble,gronk,frotz
Test2,This is content2,two bar,snork,snerfle,plurmb
* first line contains lower-case 'field names' and must include a 'title' field
* 'text' field is normal tiddler body content
* 'tags' is a space-separated bracketed list (i.e., same as when entered via tiddler editor)
* other fields (optional) are added as custom fields
%/<<tiddler HideTiddlerTags>>Enter CSV data:
<html><hide linebreaks><form style='display:inline;margin:0;padding:0;'>
<textarea class='editor' name='src' style='width:100%;height:15em;'></textarea>
<input type='button' value='create tiddlers' onclick="
var lines=this.form.src.value.split('\n');
var names=lines[0].split(','); var count=0;
for (var i=1; i<lines.length; i++) {
var values=lines[i].split(',');
var title=text=''; var tags=[]; var fields={};
for (var v=0; v<values.length; v++) {
switch(names[v].toLowerCase()) {
case 'title': title=values[v].replace(/\[\]\|/g,'_'); break;
case 'text': text=values[v]; break;
case 'tags': tags=values[v].readBracketedList(); break;
default: fields[names[v].toLowerCase()]=values[v]; break;
}
}
if (title.length) {
store.saveTiddler(title,title,text,config.options.txtUserName,new Date(),tags,fields);
displayMessage('Created '+title);
count++;
}
}
if (count) displayMessage('Created '+count+' tiddlers');
">
</form>
</html>
''Creative Commons'' is an supplementary intellectual property rights framework and provides free tools that let authors, scientists, artists, and educators easily mark their creative work with the freedoms they want it to carry. You can use CC to change your copyright terms from "All Rights Reserved" to "Some Rights Reserved." <<oh "Creative Commons web site">>
''Creative Commons Attribution Non-Commercial Share-Alike Licence''
This website is made available under a ''Creative Commons Attribution Non-Commercial Share-Alike Licence 3.0'', and registered as [[Common Content]] at @@font-size:90%;''Note'': This is a "framed" page from the [[Creative Commons]] web site. You can view this page in a separate browser tab or window at http://creativecommons.org/licenses/by-nc-sa/3.0/@@ <html><iframe src = "http://creativecommons.org/licenses/by-nc-sa/3.0/" title = "Creative Commons Attribution Non-Commercial Share-Alike Licence 3.0" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width = "100%" height = "1000" frameborder = "0" scrolling = "yes"> </iframe></html>
''//New//'' <<< Visit [[Climate Change 2007: IPCC Fourth Assessment Report|http://www.climate-change-two.net/ar4-spm/]] to see a draft version of a ''Creative Commons'' TiddlyWiki edition of the ''Summary for Policymakers'' of the recently-released ''Synthesis Report'' from the ''Intergovernmental Panel on Climate Change'' <<<
{{iframe{''Note'': This is a "framed" page from the ''Creative Commons'' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://creativecommons.org/}}}
<html><iframe
src = "http://creativecommons.org/"
title = "Creative Commons"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
/***
|Name|HoverMenuPlugin|
|Created by|[[Saq Imtiaz]]|
|Location|http://tw.lewcid.org/#HoverMenuPlugin|
|Version|1.11|
|Requires|~TW2.x|
|Description: |Provides a hovering menu on the edge of the screen for commonly used commands, that scrolls with the page. |
|Demo: |Observe the hovering menu on the right edge of the screen. |
|Installation: |Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW. |
To customize your HoverMenu, edit the HoverMenu shadow tiddler.
To customize whether the menu sticks to the right or left edge of the screen, and its start position, edit the HoverMenu configuration settings part of the code below. It's well documented, so don't be scared!
The menu has an id of hoverMenu, in case you want to style the buttons in it using css.
!Notes:
Since the default HoverMenu contains buttons for toggling the side bar and jumping to the top of the screen and to open tiddlers, the ToggleSideBarMacro, JumpMacro and the JumpToTopMacro are included in this tiddler, so you dont need to install them separately. Having them installed separately as well could lead to complications.
If you dont intend to use these three macros at all, feel free to remove those sections of code in this tiddler.
!To Do:
* rework code to allow multiple hovering menus in different positions, horizontal etc.
* incorporate code for keyboard shortcuts that correspond to the buttons in the hovermenu
!History:
*03-08-06, ver 1.1.2: compatibility fix with SelectThemePlugin
*03-08-06, ver 1.11: fixed error with button tooltips
*27-07-06, ver 1.1 : added JumpMacro to hoverMenu
*23-07-06
!Code
***/
/***
start HoverMenu plugin code
***/
//{{{
config.hoverMenu={};
//}}}
/***
HoverMenu configuration settings
***/
//{{{
config.hoverMenu.settings={
align: 'right', //align menu to right or left side of screen, possible values are 'right' and 'left'
x: 18, // horizontal distance of menu from side of screen, increase to your liking.
y: 200 //vertical distance of menu from top of screen at start, increase or decrease to your liking
};
//}}}
//{{{
//continue HoverMenu plugin code
config.hoverMenu.handler=function()
{
if (!document.getElementById("hoverMenu"))
{
var theMenu = createTiddlyElement(document.getElementById("contentWrapper"), "div","hoverMenu");
theMenu.setAttribute("refresh","content");
theMenu.setAttribute("tiddler","HoverMenu");
var menuContent = store.getTiddlerText("HoverMenu");
wikify(menuContent,theMenu);
}
var Xloc = this.settings.x;
Yloc =this.settings.y;
var ns = (navigator.appName.indexOf("Netscape") != -1);
function SetMenu(id)
{
var GetElements=document.getElementById?document.getElementById(id):document.all?document.all[id]:document.layers[id];
if(document.layers)GetElements.style=GetElements;
GetElements.sP=function(x,y){this.style[config.hoverMenu.settings.align]=x +"px";this.style.top=y +"px";};
GetElements.x = Xloc;
GetElements.y = findScrollY();
GetElements.y += Yloc;
return GetElements;
}
window.LoCate_XY=function()
{
var pY = findScrollY();
ftlObj.y += (pY + Yloc - ftlObj.y)/15;
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("LoCate_XY()", 10);
}
ftlObj = SetMenu("hoverMenu");
LoCate_XY();
};
window.old_lewcid_hovermenu_restart = restart;
restart = function()
{
window.old_lewcid_hovermenu_restart();
config.hoverMenu.handler();
};
setStylesheet(
"#hoverMenu .imgLink, #hoverMenu .imgLink:hover {border:none; padding:0px; float:right; margin-bottom:2px; margin-top:0px;}\n"+
"#hoverMenu .button, #hoverMenu .tiddlyLink {border:none; font-weight:bold; background:#18f; color:#FFF; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button:hover, #hoverMenu .tiddlyLink:hover {font-weight:bold; border:none; color:#fff; background:#000; padding:0 5px; float:right; margin-bottom:4px;}\n"+
"#hoverMenu .button {width:100%; text-align:center}"+
"#hoverMenu { position:absolute; width:7px;}\n"+
"\n","hoverMenuStyles");
config.macros.renameButton={};
config.macros.renameButton.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
if (place.lastChild.tagName!="BR")
{
place.lastChild.firstChild.data = params[0];
if (params[1]) {place.lastChild.title = params[1];}
}
};
config.shadowTiddlers["HoverMenu"]="<<top>>\n<<toggleSideBar>><<renameButton '>' >>\n<<jump j '' top>>\n<<saveChanges>><<renameButton s 'Save TiddlyWiki'>>\n<<newTiddler>><<renameButton n>>\n";
//}}}
//end HoverMenu plugin code
//Start ToggleSideBarMacro code
//{{{
config.macros.toggleSideBar={};
config.macros.toggleSideBar.settings={
styleHide : "#sidebar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 1em;}\n"+"",
styleShow : " ",
arrow1: "«",
arrow2: "»"
};
config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle sidebar';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
}
};
config.macros.toggleSideBar.onToggleSideBar = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleSideBar.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
setStylesheet(settings.styleShow,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
else
{
setStylesheet(settings.styleHide,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\n","ToggleSideBarButtonStyles");
//}}}
//end ToggleSideBarMacro code
//start JumpToTopMacro code
//{{{
config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
createTiddlyButton(place,"^","jump to top",this.onclick);
}
config.macros.top.onclick=function()
{
window.scrollTo(0,0);
};
config.commands.top =
{
text:" ^ ",
tooltip:"jump to top"
};
config.commands.top.handler = function(event,src,title)
{
window.scrollTo(0,0);
}
//}}}
//end JumpToStartMacro code
//start JumpMacro code
//{{{
config.macros.jump= {};
config.macros.jump.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
var label = (params[0] && params[0]!=".")? params[0]: 'jump';
var tooltip = (params[1] && params[1]!=".")? params[1]: 'jump to an open tiddler';
var top = (params[2] && params[2]=='top') ? true: false;
var btn =createTiddlyButton(place,label,tooltip,this.onclick);
if (top==true)
btn.setAttribute("top","true")
}
config.macros.jump.onclick = function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
var top = theTarget.getAttribute("top");
var popup = Popup.create(this);
if(popup)
{
if(top=="true")
{createTiddlyButton(createTiddlyElement(popup,"li"),'Top ↑','Top of TW',config.macros.jump.top);
createTiddlyElement(popup,"hr");}
story.forEachTiddler(function(title,element) {
createTiddlyLink(createTiddlyElement(popup,"li"),title,true);
});
}
Popup.show(popup,false);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
}
config.macros.jump.top = function()
{
window.scrollTo(0,0);
}
//}}}
//end JumpMacro code
//utility functions
//{{{
Popup.show = function(unused,slowly)
{
var curr = Popup.stack[Popup.stack.length-1];
var rootLeft = findPosX(curr.root);
var rootTop = findPosY(curr.root);
var rootHeight = curr.root.offsetHeight;
var popupLeft = rootLeft;
var popupTop = rootTop + rootHeight;
var popupWidth = curr.popup.offsetWidth;
var winWidth = findWindowWidth();
if (isChild(curr.root,'hoverMenu'))
var x = config.hoverMenu.settings.x;
else
var x = 0;
if(popupLeft + popupWidth+x > winWidth)
popupLeft = winWidth - popupWidth -x;
if (isChild(curr.root,'hoverMenu'))
{curr.popup.style.right = x + "px";}
else
curr.popup.style.left = popupLeft + "px";
curr.popup.style.top = popupTop + "px";
curr.popup.style.display = "block";
addClass(curr.root,"highlight");
if(config.options.chkAnimate)
anim.startAnimating(new Scroller(curr.popup,slowly));
else
window.scrollTo(0,ensureVisible(curr.popup));
}
window.isChild = function(e,parentId) {
while (e != null) {
var parent = document.getElementById(parentId);
if (parent == e) return true;
e = e.parentNode;
}
return false;
};
//}}}
The ''DPI/NGO Conference Planning Committee'' has the responsibility of planning the Annual DPI/NGO Conference. The Planning Committee for the 60th Conference is chaired by ''Richard Jordan'' and meets on a weekly basis - with occasional exceptions - each Thursday at United Nations Headquarters in New York. To be added to the list for receiving meeting announcements, minutes, etc, please send an email to ''section5 (at) un (dot) org''.
The [[NGO Committee on Education]] was a co-sponsor and organizer - with [[Rotary International]], [[UNESCO|http://www.unesco.org]], [[Information Habitat: Where Information Lives]], [[Earthwatch Institute]] and the [[Armenian Assembly of America]] - of ''Education, Youth & Technology for Sustainable Development'', a workshop at the ''59th Annual DPI/NGO Conference'' in September 2005 that focused on the [[United Nations Decade of Education for Sustainable Development]]. For additional information on the workshop, please visit [[www.ngo-education.net/workshop|http://www.ngo-education.net/workshop]] - a site that was the Information and Communications Sub-Committee's first experiment with the TiddlyWiki software platform. Note that an earlier web site has been created for the workshop, using the open source educational software platform ''Moodle''- an acronym for Modular Object-Oriented Dynamic Learning Environment - see [[www.moodle.org|http://www.moodle.org]]. However. while Moodle offers some exceptional features, it is a much more complex platform, and unlike TiddlyWiki, which is a self-contained web site requiring only a browser to create, edit and/or view a pages, Moodle requires the installation of server-side software - and a web hosting service that permits the installation of the necessary software. You may be able to access the Moodle site for the Workshop - currently hosted sporadically on a home computer running Windows XP - at http://24.215.188.100/index.php
!!Education For All: Meeting Our Collective Commitments # Meeting in Dakar, Senegal, in April 2000, we, the participants in the World Education Forum, commit ourselves to the achievement of education for all (EFA) goals and targets for every citizen and for every society. # The Dakar Framework is a collective commitment to action. Governments have an obligation to ensure that EFA goals and targets are reached and sustained. This is a responsibility that will be met most effectively through broad-based partnerships within countries, supported by cooperation with regional and international agencies and institutions. # We re-affirm the vision of the [[World Declaration on Education for All|http://www.un-documents.net/jomtien.htm]] (Jomtien 1990), supported by the [[Universal Declaration of Human Rights|http://www.un-documents.net/a3r217a.htm]] and the [[Convention on the Rights of the Child|http://www.un-documents.net/crc.htm]], that all children, young people and adults have the human right to benefit from an education that will meet their basic learning needs in the best and fullest sense of the term, an education that includes learning to know, to do, to live together and to be. It is an education geared to tapping each individual's talents and potential, and developing learners' personalities, so that they can improve their lives and transform their societies. # We welcome the commitments made by the international community to basic education throughout the 1990s, notably at the [[World Summit for Children|http://www.un-documents.net/wsc-dec.htm]] (1990), the [[Conference on Environment and Development|http://www.un-documents.net/a21-36.htm]] (1992), the [[World Conference on Human Rights|http://www.un-documents.net/ac157-23.htm]] (1993), the World Conference on Special Needs Education: Access and Quality (1994), the [[International Conference on Population and Development|http://www.un-documents.net/ac171-13.htm]] (1994), the [[World Summit for Social Development|http://www.un-documents.net/cope-dec.htm]] (1995), the [[Fourth World Conference on Women|http://www.un-documents.net/ac177-20.htm]] (1995), the [[Mid-Term Meeting of the International Consultative Forum on Education for All|The Amman Affirmation: Education for all: Achieving the goal]] (1996), the Fifth International Conference on Adult Education (1997), and the International Conference on Child Labour (1997). The challenge now is to deliver on these commitments. # The EFA 2000 Assessment demonstrates that there has been significant progress in many countries. But it is unacceptable in the year 2000 that more than 113 million children have no access to primary education, 880 million adults are illiterate, gender discrimination continues to permeate education systems, and the quality of learning and the acquisition of human values and skills fall far short of the aspirations and needs of individuals and societies. Youth and adults are denied access to the skills and knowledge necessary for gainful employment and full participation in their societies. Without accelerated progress towards education for all, national and internationally agreed targets for poverty reduction will be missed, and inequalities between countries and within societies will widen. # Education is a fundamental human right. It is the key to sustainable development and peace and stability within and among countries, and thus an indispensable means for effective participation in the societies and economies of the twenty-first century, which are affected by rapid globalization. Achieving EFA goals should be postponed no longer. The basic learning needs of all can and must be met as a matter of urgency. # We hereby collectively commit ourselves to the attainment of the following goals: ## expanding and improving comprehensive early childhood care and education, especially for the most vulnerable and disadvantaged children; ## ensuring that by 2015 all children, particularly girls, children in difficult circumstances and those belonging to ethnic minorities, have access to and complete free and compulsory primary education of good quality; ## ensuring that the learning needs of all young people and adults are met through equitable access to appropriate learning and life skills programmes; ## achieving a 50 per cent improvement in levels of adult literacy by 2015, especially for women, and equitable access to basic and continuing education for all adults; ## eliminating gender disparities in primary and secondary education by 2005, and achieving gender equality in education by 2015, with a focus on ensuring girls' full and equal access to and achievement in basic education of good quality; ## improving all aspects of the quality of education and ensuring excellence of all so that recognized and measurable learning outcomes are achieved by all, especially in literacy, numeracy and essential life skills. # To achieve these goals, we the governments, organizations, agencies, groups and associations represented at the World Education Forum pledge ourselves to: ## mobilize strong national and international political commitment for education for all, develop national action plans and enhance significantly investment in basic education; ## promote EFA policies within a sustainable and well-integrated sector framework clearly linked to poverty elimination and development strategies; ## ensure the engagement and participation of civil society in the formulation, implementation and monitoring of strategies for educational development; ## develop responsive, participatory and accountable systems of educational governance and management; ## meet the needs of education systems affected by conflict, national calamities and instability and conduct educational programmes in ways that promote mutual understanding, peace and tolerance, and help to prevent violence and conflict; ## implement integrated strategies for gender equality in education which recognize the need for changes in attitudes, values and practices; ## implement as a matter of urgency education programmes and actions to combat the HIV/AIDS pandemic; ## create safe, healthy, inclusive and equitably resourced educational environments conducive to excellence in learning with clearly defined levels of achievement for all; ## enhance the status, morale and professionalism of teachers; ## harness new information and communication technologies to help achieve EFA goals; ## systematically monitor progress towards EFA goals and strategies at the national, regional and international levels; and ## build on existing mechanisms to accelerate progress towards education for all. # Drawing on the evidence accumulated during the national and regional EFA assessments, and building on existing national sector strategies, all States will be requested to develop or strengthen existing national plans of action by 2002 at the latest. These plans should be integrated into a wider poverty reduction and development framework, and should be developed through more transparent and democratic processes, involving stakeholders, especially peoples' representatives, community leaders, parents, learners, non-governmental organizations (NGOs) and civil society. The plans will address problems associated with the chronic under-financing of basic education by establishing budget priorities that reflect a commitment to achieving EFA goals and targets at the earliest possible date, and no later than 2015. They will also set out clear strategies for overcoming the special problems facing those currently excluded from educational opportunities, with a clear commitment to girls' education and gender equity. The plans will give substance and form to the goals and strategies set out in this Framework, and to the commitments made during a succession of international conferences in the 1990s. Regional activities to support national strategies will be based on strengthened regional and subregional organizations, networks and initiatives. # Political will and stronger national leadership are needed for the effective and successful implementation of national plans in each of the countries concerned. However, political will must be underpinned by resources. The international community acknowledges that many countries currently lack the resources to achieve education for all within an acceptable time-frame. New financial resources, preferably in the form of grants and concessional assistance, must therefore be mobilized by bilateral and multilateral funding agencies, including the World Bank and regional development banks, and the private sector. We affirm that no countries seriously committed to education for all will be thwarted in their achievement of this goal by a lack of resources. # The international community will deliver on this collective commitment by launching with immediate effect a global initiative aimed at developing the strategies and mobilizing the resources needed to provide effective support to national efforts. Options to be considered under this initiative will include: ## increasing external finance for education, in particular basic education; ## ensuring greater predictability in the flow of external assistance; ## facilitating more effective donor coordination; ## strengthening sector-wide approaches; ## providing earlier, more extensive and broader debt relief and/or debt cancellation for poverty reduction, with a strong commitment to basic education; and ## undertaking more effective and regular monitoring of progress towards EFA goals and targets, including periodic assessments. # There is already evidence from many countries of what can be achieved through strong national strategies supported by effective development cooperation. Progress under these strategies could - and must - be accelerated through increased international support. At the same time, countries with less developed strategies - including countries in transition, countries affected by conflict, and post-crisis countries - must be given the support they need to achieve more rapid progress towards education for all. # We will strengthen accountable international and regional mechanisms to give clear expression to these commitments and to ensure that the Dakar Framework for Action is on the agenda of every international and regional organization, every national legislature and every local decision-making forum. # The EFA 2000 Assessment highlights that the challenge of education for all is greatest in sub-Saharan Africa, in South Asia, and in the least developed countries. Accordingly, while no country in need should be denied international assistance, priority should be given to these regions and countries. Countries in conflict or undergoing reconstruction should also be given special attention in building up their education systems to meet the needs of all learners. # Implementation of the preceding goals and strategies will require national, regional and international mechanisms to be galvanized immediately. To be most effective these mechanisms will be participatory and, wherever possible, build on what already exists. They will include representatives of all stakeholders and partners and they will operate in transparent and accountable ways. They will respond comprehensively to the word and spirit of the Jomtien Declaration and this Dakar Framework for Action. The functions of these mechanisms will include, to varying degrees, advocacy, resource mobilization, monitoring, and EFA knowledge generation and sharing. # The heart of EFA activity lies at the country level. National EFA Forums will be strengthened or established to support the achievement of EFA. All relevant ministries and national civil society organizations will be systematically represented in these Forums. They should be transparent and democratic and should constitute a framework for implementation at subnational levels. Countries will prepare comprehensive National EFA Plans by 2002 at the latest. For those countries with significant challenges, such as complex crises or natural disasters, special technical support will be provided by the international community. Each National EFA Plan will: ## be developed by government leadership in direct and systematic consultation with national civil society; ## attract co-ordinated support of all development partners; ## specify reforms addressing the six EFA goals; ## establish a sustainable financial framework; ## be time-bound and action-oriented; ## include mid-term performance indicators; and ## achieve a synergy of all human development efforts, through its inclusion within the national development planning framework and process. # Where these processes and a credible plan are in place, partner members of the international community undertake to work in a consistent, co-ordinated and coherent manner. Each partner will contribute according to its comparative advantage in support of the National EFA Plans to ensure that resource gaps are filled. # Regional activities to support national efforts will be based on existing regional and subregional organizations, networks and initiatives, augmented where necessary. Regions and subregions will decide on a lead EFA network that will become the Regional or Subregional Forum with an explicit EFA mandate. Systematic involvement of, and co-ordination with, all relevant civil society and other regional and subregional organizations are essential. These Regional and Subregional EFA Forums will be linked organically with, and be accountable to, National EFA Forums. Their functions will be: co-ordination with all relevant networks; setting and monitoring regional/subregional targets; advocacy; policy dialogue; the promotion of partnerships and technical cooperation; the sharing of best practices and lessons learned; monitoring and reporting for accountability; and promoting resource mobilization. Regional and international support will be available to strengthen Regional and Subregional Forums and relevant EFA capacities, especially within Africa and South Asia. # UNESCO will continue its mandated role in co-ordinating EFA partners and maintaining their collaborative momentum. In line with this, UNESCO's Director-General will convene annually a high-level, small and flexible group. It will serve as a lever for political commitment and technical and financial resource mobilization. Informed by a monitoring report from the UNESCO International Institute for Educational Planning (IIEP), the UNESCO International Bureau of Education (IBE), the UNESCO Institute for Education (UIE) and, in particular, the UNESCO Institute of Statistics, and inputs from Regional and Subregional EFA Forums, it will also be an opportunity to hold the global community to account for commitments made in Dakar. It will be composed of highest-level leaders from governments and civil society of developing and developed countries, and from development agencies. # UNESCO will serve as the Secretariat. It will refocus its education programme in order to place the outcomes and priorities of Dakar at the heart of its work. This will involve working groups on each of the six goals adopted at Dakar. This Secretariat will work closely with other organizations and may include staff seconded from them. # Achieving Education for All will require additional financial support by countries and increased development assistance and debt relief for education by bilateral and multilateral donors, estimated to cost in the order of $8 billion a year. It is therefore essential that new, concrete financial commitments be made by national governments and also by bilateral and multilateral donors including the World Bank and the regional development banks, by civil society and by foundations. //28 April 2000 Dakar, Senegal// !!![[Expanded Commentary on the Dakar Framework for Action|http://www.un-documents.net/dakar-ec.htm]]
Daphne Cohen received han Ed.D. from Yeshiva University in New York in Administration and Supervision in 2006 , having conducted doctoral research on children’s views on basic concepts in morality. Building upon the work of Piaget, Kohlberg, Vygotsky, and Gilligan, Daphne was awarded a Schupf Foundation Fellowship that funded her doctoral research - undertaken with students at the United Nations International School.
In addition to pursuing her post-graduate education, Daphne is a Professor at the Graduate School of General and Special Education at Touro College. Professor Cohen teaches a variety of methods courses at Touro integrating technology into various disciplines such as math and science for elementary and middle school teachers. Dr. Cohen also teaches courses for CITE (Center for Integrated Teacher Education) and has taught educational technology and library programs in a variety of day schools. In addition, Professor Cohen has taught online courses for Axia College of the University of Phoenix and Touro College. Daphne is facilitating online courses in the areas of Educational methods integrating technology, math and science for elementary school teachers and critical thinking.
A strong proponent of ongoing professional development with an overriding belief in the importance of utilizing the latest educational resources and technology to meet students’ needs and maintain a challenging, stimulating academic environment, Daphne spearheaded the development of a broad range of educational technology training workshops for school’s, serving as an invaluable resource to assist educators in integrating leading-edge technologies into the core curriculum. She created a comprehensive resource manual encapsulating educational software for early childhood through high school students.
Since 1996, Daphne has developed educational programming and curriculum, established library media centers for educational organizations, and published educational materials. A key highlight in Daphne’s career was the publication of her coauthored work In Search of the Seven Wonders of Noah, a children’s book exploring moral and character education, and a companion educator’s resource guide. Daphne has developed and continues to deliver both teacher and student workshops delving into these publications.
An enthusiastic and dedicated educator committed to developing responsible, caring, and productive contributors to society, Daphne has a long track record of developing educational curriculum that sparks students’ curiosity, creativity, and critical thinking skills and encourages a life-long love of learning.
Prior to pursuing her doctoral studies, Daphne obtained a Master of Science in Education from Yeshiva University and a Bachelor of Science
in Elementary Education from Touro College in New York. She holds an Elementary and Early Childhood Education Certification through the
State of New York as well as a Principal and Teacher’s License from the National Board of License for Teachers and Principals of Private
Schools in North America. Finally, Dr. Cohen spent a year studying at Jerusalem College in Israel.
Dr. Cohen serves as treasurer of the NGO Committee on Education. Dr. Cohen is also a member of the Ethical Union, CEP {Character Education Partnership), AME {Association for Moral Education}, and the APA {American Psychological Association}.
The contents of this TiddlyWiki web page were generated from a ''~DataPerfect'' database. ~DataPerfect is a little-known, brilliant relational database compantion of the legendary ''~WordPerfect for DOS'', which was used to prepare the text from the pdf files of The Stern Review for input into the ~DataPerfect database. The design of ~DataPerfect makes it an exceptional vehicle for generating content for TiddlyWiki web pages. ~DataPerfect was written, and is still maintained by, ''Lew Bastian'' - older brother of ~WordPerfect's author; before joinging the ''~WordPerfect Corporation'', Lew had worked for ''IBM'', where he had written some of the early disk-caching patents. The development of ~DataPerfect was discontinued by the ''~WordPerfect Corporation'' after the introduction of Windows, and subsequently, Novell made the program freely available; an active ''~DataPerfect Users Group'' - [[www.dataperfect.nl|http://www.dataperfect.nl]] - of which Lew Bastian is a leading member - provides exceptional support.
/***
|''Name:''|DataTiddlerPlugin|
|''Version:''|1.0.6 (2006-08-26)|
|''Source:''|http://tiddlywiki.abego-software.de/#DataTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|
!Description
Enhance your tiddlers with structured data (such as strings, booleans, numbers, or even arrays and compound objects) that can be easily accessed and modified through named fields (in JavaScript code).
Such tiddler data can be used in various applications. E.g. you may create tables that collect data from various tiddlers.
''//Example: "Table with all December Expenses"//''
{{{
<<forEachTiddler
where
'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'
write
'"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\n"'
>>
}}}
//(This assumes that expenses are stored in tiddlers tagged with "expense".)//
<<forEachTiddler
where
'tiddler.tags.contains("expense") && tiddler.data("month") == "Dec"'
write
'"|[["+tiddler.title+"]]|"+tiddler.data("descr")+"| "+tiddler.data("amount")+"|\n"'
>>
For other examples see DataTiddlerExamples.
''Access and Modify Tiddler Data''
You can "attach" data to every tiddler by assigning a JavaScript value (such as a string, boolean, number, or even arrays and compound objects) to named fields.
These values can be accessed and modified through the following Tiddler methods:
|!Method|!Example|!Description|
|{{{data(field)}}}|{{{t.data("age")}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|
|{{{data(field,defaultValue)}}}|{{{t.data("isVIP",false)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|
|{{{data()}}}|{{{t.data()}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|
|{{{setData(field,value)}}}|{{{t.setData("age",42)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|
|{{{setData(field,value,defaultValue)}}}|{{{t.setData("isVIP",flag,false)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|
Alternatively you may use the following functions to access and modify the data. In this case the tiddler argument is either a tiddler or the name of a tiddler.
|!Method|!Description|
|{{{DataTiddler.getData(tiddler,field)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined {{{undefined}}} is returned.|
|{{{DataTiddler.getData(tiddler,field,defaultValue)}}}|Returns the value of the given data field of the tiddler. When no such field is defined or its value is undefined the defaultValue is returned.|
|{{{DataTiddler.getDataObject(tiddler)}}}|Returns the data object of the tiddler, with a property for every field. The properties of the returned data object may only be read and not be modified. To modify the data use DataTiddler.setData(...) or the corresponding Tiddler method.|
|{{{DataTiddler.setData(tiddler,field,value)}}}|Sets the value of the given data field of the tiddler to the value. When the value is {{{undefined}}} the field is removed.|
|{{{DataTiddler.setData(tiddler,field,value,defaultValue)}}}|Sets the value of the given data field of the tiddler to the value. When the value is equal to the defaultValue no value is set (and the field is removed).|
//(For details on the various functions see the detailed comments in the source code.)//
''Data Representation in a Tiddler''
The data of a tiddler is stored as plain text in the tiddler's content/text, inside a "data" section that is framed by a {{{<data>...</data>}}} block. Inside the data section the information is stored in the [[JSON format|http://www.crockford.com/JSON/index.html]].
//''Data Section Example:''//
{{{
<data>{"isVIP":true,"user":"John Brown","age":34}</data>
}}}
The data section is not displayed when viewing the tiddler (see also "The showData Macro").
Beside the data section a tiddler may have all kind of other content.
Typically you will not access the data section text directly but use the methods given above. Nevertheless you may retrieve the text of the data section's content through the {{{DataTiddler.getDataText(tiddler)}}} function.
''Saving Changes''
The "setData" methods respect the "ForceMinorUpdate" and "AutoSave" configuration values. I.e. when "ForceMinorUpdate" is true changing a value using setData will not affect the "modifier" and "modified" attributes. With "AutoSave" set to true every setData will directly save the changes after a setData.
''Notifications''
No notifications are sent when a tiddler's data value is changed through the "setData" methods.
''Escape Data Section''
In case that you want to use the text {{{<data>}}} or {{{</data>}}} in a tiddler text you must prefix the text with a tilde ('~'). Otherwise it may be wrongly considered as the data section. The tiddler text {{{~<data>}}} is displayed as {{{<data>}}}.
''The showData Macro''
By default the data of a tiddler (that is stored in the {{{<data>...</data>}}} section of the tiddler) is not displayed. If you want to display this data you may used the {{{<<showData ...>>}}} macro:
''Syntax:''
|>|{{{<<}}}''showData '' [''JSON''] [//tiddlerName//] {{{>>}}}|
|''JSON''|By default the data is rendered as a table with a "Name" and "Value" column. When defining ''JSON'' the data is rendered in JSON format|
|//tiddlerName//|Defines the tiddler holding the data to be displayed. When no tiddler is given the tiddler containing the showData macro is used. When the tiddler name contains spaces you must quote the name (or use the {{{[[...]]}}} syntax.)|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
!Revision history
* v1.0.6 (2006-08-26)
** Removed misleading comment
* v1.0.5 (2006-02-27) (Internal Release Only)
** Internal
*** Make "JSLint" conform
* v1.0.4 (2006-02-05)
** Bugfix: showData fails in TiddlyWiki 2.0
* v1.0.3 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.2 (2005-12-22)
** Enhancements:
*** Handle texts "<data>" or "</data>" more robust when used in a tiddler text or as a field value.
*** Improved (JSON) error messages.
** Bugs fixed:
*** References are not updated when using the DataTiddler.
*** Changes to compound objects are not always saved.
*** "~</data>" is not rendered correctly (expected "</data>")
* v1.0.1 (2005-12-13)
** Features:
*** The showData macro supports an optional "tiddlername" argument to specify the tiddler containing the data to be displayed
** Bugs fixed:
*** A script immediately following a data section is deleted when the data is changed. (Thanks to GeoffS for reporting.)
* v1.0.0 (2005-12-12)
** initial version
!Code
***/
//{{{
//============================================================================
//============================================================================
// DataTiddlerPlugin
//============================================================================
//============================================================================
// Ensure that the DataTiddler Plugin is only installed once.
//
if (!version.extensions.DataTiddlerPlugin) {
version.extensions.DataTiddlerPlugin = {
major: 1, minor: 0, revision: 6,
date: new Date(2006, 7, 26),
type: 'plugin',
source: "http://tiddlywiki.abego-software.de/#DataTiddlerPlugin"
};
// For backward compatibility with v1.2.x
//
if (!window.story) window.story=window;
if (!TiddlyWiki.prototype.getTiddler) {
TiddlyWiki.prototype.getTiddler = function(title) {
var t = this.tiddlers[title];
return (t !== undefined && t instanceof Tiddler) ? t : null;
};
}
//============================================================================
// DataTiddler Class
//============================================================================
// ---------------------------------------------------------------------------
// Configurations and constants
// ---------------------------------------------------------------------------
function DataTiddler() {
}
DataTiddler = {
// Function to stringify a JavaScript value, producing the text for the data section content.
// (Must match the implementation of DataTiddler.parse.)
//
stringify : null,
// Function to parse the text for the data section content, producing a JavaScript value.
// (Must match the implementation of DataTiddler.stringify.)
//
parse : null
};
// Ensure access for IE
window.DataTiddler = DataTiddler;
// ---------------------------------------------------------------------------
// Data Accessor and Mutator
// ---------------------------------------------------------------------------
// Returns the value of the given data field of the tiddler.
// When no such field is defined or its value is undefined
// the defaultValue is returned.
//
// @param tiddler either a tiddler name or a tiddler
//
DataTiddler.getData = function(tiddler, field, defaultValue) {
var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
if (!(t instanceof Tiddler)) {
throw "Tiddler expected. Got "+tiddler;
}
return DataTiddler.getTiddlerDataValue(t, field, defaultValue);
};
// Sets the value of the given data field of the tiddler to
// the value. When the value is equal to the defaultValue
// no value is set (and the field is removed)
//
// Changing data of a tiddler will not trigger notifications.
//
// @param tiddler either a tiddler name or a tiddler
//
DataTiddler.setData = function(tiddler, field, value, defaultValue) {
var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
if (!(t instanceof Tiddler)) {
throw "Tiddler expected. Got "+tiddler+ "("+t+")";
}
DataTiddler.setTiddlerDataValue(t, field, value, defaultValue);
};
// Returns the data object of the tiddler, with a property for every field.
//
// The properties of the returned data object may only be read and
// not be modified. To modify the data use DataTiddler.setData(...)
// or the corresponding Tiddler method.
//
// If no data section is defined a new (empty) object is returned.
//
// @param tiddler either a tiddler name or a Tiddler
//
DataTiddler.getDataObject = function(tiddler) {
var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
if (!(t instanceof Tiddler)) {
throw "Tiddler expected. Got "+tiddler;
}
return DataTiddler.getTiddlerDataObject(t);
};
// Returns the text of the content of the data section of the tiddler.
//
// When no data section is defined for the tiddler null is returned
//
// @param tiddler either a tiddler name or a Tiddler
// @return [may be null]
//
DataTiddler.getDataText = function(tiddler) {
var t = (typeof tiddler == "string") ? store.getTiddler(tiddler) : tiddler;
if (!(t instanceof Tiddler)) {
throw "Tiddler expected. Got "+tiddler;
}
return DataTiddler.readDataSectionText(t);
};
// ---------------------------------------------------------------------------
// Internal helper methods (must not be used by code from outside this plugin)
// ---------------------------------------------------------------------------
// Internal.
//
// The original JSONError is not very user friendly,
// especially it does not define a toString() method
// Therefore we extend it here.
//
DataTiddler.extendJSONError = function(ex) {
if (ex.name == 'JSONError') {
ex.toString = function() {
return ex.name + ": "+ex.message+" ("+ex.text+")";
};
}
return ex;
};
// Internal.
//
// @param t a Tiddler
//
DataTiddler.getTiddlerDataObject = function(t) {
if (t.dataObject === undefined) {
var data = DataTiddler.readData(t);
t.dataObject = (data) ? data : {};
}
return t.dataObject;
};
// Internal.
//
// @param tiddler a Tiddler
//
DataTiddler.getTiddlerDataValue = function(tiddler, field, defaultValue) {
var value = DataTiddler.getTiddlerDataObject(tiddler)[field];
return (value === undefined) ? defaultValue : value;
};
// Internal.
//
// @param tiddler a Tiddler
//
DataTiddler.setTiddlerDataValue = function(tiddler, field, value, defaultValue) {
var data = DataTiddler.getTiddlerDataObject(tiddler);
var oldValue = data[field];
if (value == defaultValue) {
if (oldValue !== undefined) {
delete data[field];
DataTiddler.save(tiddler);
}
return;
}
data[field] = value;
DataTiddler.save(tiddler);
};
// Internal.
//
// Reads the data section from the tiddler's content and returns its text
// (as a String).
//
// Returns null when no data is defined.
//
// @param tiddler a Tiddler
// @return [may be null]
//
DataTiddler.readDataSectionText = function(tiddler) {
var matches = DataTiddler.getDataTiddlerMatches(tiddler);
if (matches === null || !matches[2]) {
return null;
}
return matches[2];
};
// Internal.
//
// Reads the data section from the tiddler's content and returns it
// (as an internalized object).
//
// Returns null when no data is defined.
//
// @param tiddler a Tiddler
// @return [may be null]
//
DataTiddler.readData = function(tiddler) {
var text = DataTiddler.readDataSectionText(tiddler);
try {
return text ? DataTiddler.parse(text) : null;
} catch(ex) {
throw DataTiddler.extendJSONError(ex);
}
};
// Internal.
//
// Returns the serialized text of the data of the given tiddler, as it
// should be stored in the data section.
//
// @param tiddler a Tiddler
//
DataTiddler.getDataTextOfTiddler = function(tiddler) {
var data = DataTiddler.getTiddlerDataObject(tiddler);
return DataTiddler.stringify(data);
};
// Internal.
//
DataTiddler.indexOfNonEscapedText = function(s, subString, startIndex) {
var index = s.indexOf(subString, startIndex);
while ((index > 0) && (s[index-1] == '~')) {
index = s.indexOf(subString, index+1);
}
return index;
};
// Internal.
//
DataTiddler.getDataSectionInfo = function(text) {
// Special care must be taken to handle "<data>" and "</data>" texts inside
// a data section.
// Also take care not to use an escaped <data> (i.e. "~<data>") as the start
// of a data section. (Same for </data>)
// NOTE: we are explicitly searching for a data section that contains a JSON
// string, i.e. framed with braces. This way we are little bit more robust in
// case the tiddler contains unescaped texts "<data>" or "</data>". This must
// be changed when using a different stringifier.
var startTagText = "<data>{";
var endTagText = "}</data>";
var startPos = 0;
// Find the first not escaped "<data>".
var startDataTagIndex = DataTiddler.indexOfNonEscapedText(text, startTagText, 0);
if (startDataTagIndex < 0) {
return null;
}
// Find the *last* not escaped "</data>".
var endDataTagIndex = text.indexOf(endTagText, startDataTagIndex);
if (endDataTagIndex < 0) {
return null;
}
var nextEndDataTagIndex;
while ((nextEndDataTagIndex = text.indexOf(endTagText, endDataTagIndex+1)) >= 0) {
endDataTagIndex = nextEndDataTagIndex;
}
return {
prefixEnd: startDataTagIndex,
dataStart: startDataTagIndex+(startTagText.length)-1,
dataEnd: endDataTagIndex,
suffixStart: endDataTagIndex+(endTagText.length)
};
};
// Internal.
//
// Returns the "matches" of a content of a DataTiddler on the
// "data" regular expression. Return null when no data is defined
// in the tiddler content.
//
// Group 1: text before data section (prefix)
// Group 2: content of data section
// Group 3: text behind data section (suffix)
//
// @param tiddler a Tiddler
// @return [may be null] null when the tiddler contains no data section, otherwise see above.
//
DataTiddler.getDataTiddlerMatches = function(tiddler) {
var text = tiddler.text;
var info = DataTiddler.getDataSectionInfo(text);
if (!info) {
return null;
}
var prefix = text.substr(0,info.prefixEnd);
var data = text.substr(info.dataStart, info.dataEnd-info.dataStart+1);
var suffix = text.substr(info.suffixStart);
return [text, prefix, data, suffix];
};
// Internal.
//
// Saves the data in a <data> block of the given tiddler (as a minor change).
//
// The "chkAutoSave" and "chkForceMinorUpdate" options are respected.
// I.e. the TiddlyWiki *file* is only saved when AutoSave is on.
//
// Notifications are not send.
//
// This method should only be called when the data really has changed.
//
// @param tiddler
// the tiddler to be saved.
//
DataTiddler.save = function(tiddler) {
var matches = DataTiddler.getDataTiddlerMatches(tiddler);
var prefix;
var suffix;
if (matches === null) {
prefix = tiddler.text;
suffix = "";
} else {
prefix = matches[1];
suffix = matches[3];
}
var dataText = DataTiddler.getDataTextOfTiddler(tiddler);
var newText =
(dataText !== null)
? prefix + "<data>" + dataText + "</data>" + suffix
: prefix + suffix;
if (newText != tiddler.text) {
// make the change in the tiddlers text
// ... see DataTiddler.MyTiddlerChangedFunction
tiddler.isDataTiddlerChange = true;
// ... do the action change
tiddler.set(
tiddler.title,
newText,
config.options.txtUserName,
config.options.chkForceMinorUpdate? undefined : new Date(),
tiddler.tags);
// ... see DataTiddler.MyTiddlerChangedFunction
delete tiddler.isDataTiddlerChange;
// Mark the store as dirty.
store.dirty = true;
// AutoSave if option is selected
if(config.options.chkAutoSave) {
saveChanges();
}
}
};
// Internal.
//
DataTiddler.MyTiddlerChangedFunction = function() {
// Remove the data object from the tiddler when the tiddler is changed
// by code other than DataTiddler code.
//
// This is necessary since the data object is just a "cached version"
// of the data defined in the data section of the tiddler and the
// "external" change may have changed the content of the data section.
// Thus we are not sure if the data object reflects the data section
// contents.
//
// By deleting the data object we ensure that the data object is
// reconstructed the next time it is needed, with the data defined by
// the data section in the tiddler's text.
// To indicate that a change is a "DataTiddler change" a temporary
// property "isDataTiddlerChange" is added to the tiddler.
if (this.dataObject && !this.isDataTiddlerChange) {
delete this.dataObject;
}
// call the original code.
DataTiddler.originalTiddlerChangedFunction.apply(this, arguments);
};
//============================================================================
// Formatters
//============================================================================
// This formatter ensures that "~<data>" is rendered as "<data>". This is used to
// escape the "<data>" of a data section, just in case someone really wants to use
// "<data>" as a text in a tiddler and not start a data section.
//
// Same for </data>.
//
config.formatters.push( {
name: "data-escape",
match: "~<\\/?data>",
handler: function(w) {
w.outputText(w.output,w.matchStart + 1,w.nextMatch);
}
} );
// This formatter ensures that <data>...</data> sections are not rendered.
//
config.formatters.push( {
name: "data",
match: "<data>",
handler: function(w) {
var info = DataTiddler.getDataSectionInfo(w.source);
if (info && info.prefixEnd == w.matchStart) {
w.nextMatch = info.suffixStart;
} else {
w.outputText(w.output,w.matchStart,w.nextMatch);
}
}
} );
//============================================================================
// Tiddler Class Extension
//============================================================================
// "Hijack" the changed method ---------------------------------------------------
DataTiddler.originalTiddlerChangedFunction = Tiddler.prototype.changed;
Tiddler.prototype.changed = DataTiddler.MyTiddlerChangedFunction;
// Define accessor methods -------------------------------------------------------
// Returns the value of the given data field of the tiddler. When no such field
// is defined or its value is undefined the defaultValue is returned.
//
// When field is undefined (or null) the data object is returned. (See
// DataTiddler.getDataObject.)
//
// @param field [may be null, undefined]
// @param defaultValue [may be null, undefined]
// @return [may be null, undefined]
//
Tiddler.prototype.data = function(field, defaultValue) {
return (field)
? DataTiddler.getTiddlerDataValue(this, field, defaultValue)
: DataTiddler.getTiddlerDataObject(this);
};
// Sets the value of the given data field of the tiddler to the value. When the
// value is equal to the defaultValue no value is set (and the field is removed).
//
// @param value [may be null, undefined]
// @param defaultValue [may be null, undefined]
//
Tiddler.prototype.setData = function(field, value, defaultValue) {
DataTiddler.setTiddlerDataValue(this, field, value, defaultValue);
};
//============================================================================
// showData Macro
//============================================================================
config.macros.showData = {
// Standard Properties
label: "showData",
prompt: "Display the values stored in the data section of the tiddler"
};
config.macros.showData.handler = function(place,macroName,params) {
// --- Parsing ------------------------------------------
var i = 0; // index running over the params
// Parse the optional "JSON"
var showInJSONFormat = false;
if ((i < params.length) && params[i] == "JSON") {
i++;
showInJSONFormat = true;
}
var tiddlerName = story.findContainingTiddler(place).id.substr(7);
if (i < params.length) {
tiddlerName = params[i];
i++;
}
// --- Processing ------------------------------------------
try {
if (showInJSONFormat) {
this.renderDataInJSONFormat(place, tiddlerName);
} else {
this.renderDataAsTable(place, tiddlerName);
}
} catch (e) {
this.createErrorElement(place, e);
}
};
config.macros.showData.renderDataInJSONFormat = function(place,tiddlerName) {
var text = DataTiddler.getDataText(tiddlerName);
if (text) {
createTiddlyElement(place,"pre",null,null,text);
}
};
config.macros.showData.renderDataAsTable = function(place,tiddlerName) {
var text = "|!Name|!Value|\n";
var data = DataTiddler.getDataObject(tiddlerName);
if (data) {
for (var i in data) {
var value = data[i];
text += "|"+i+"|"+DataTiddler.stringify(value)+"|\n";
}
}
wikify(text, place);
};
// Internal.
//
// Creates an element that holds an error message
//
config.macros.showData.createErrorElement = function(place, exception) {
var message = (exception.description) ? exception.description : exception.toString();
return createTiddlyElement(place,"span",null,"showDataError","<<showData ...>>: "+message);
};
// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
//
setStylesheet(
".showDataError{color: #ffffff;background-color: #880000;}",
"showData");
} // of "install only once"
// Used Globals (for JSLint) ==============
// ... TiddlyWiki Core
/*global createTiddlyElement, saveChanges, store, story, wikify */
// ... DataTiddler
/*global DataTiddler */
// ... JSON
/*global JSON */
/***
!JSON Code, used to serialize the data
***/
/*
Copyright (c) 2005 JSON.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The Software shall be used for Good, not Evil.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
/*
The global object JSON contains two methods.
JSON.stringify(value) takes a JavaScript value and produces a JSON text.
The value must not be cyclical.
JSON.parse(text) takes a JSON text and produces a JavaScript value. It will
throw a 'JSONError' exception if there is an error.
*/
var JSON = {
copyright: '(c)2005 JSON.org',
license: 'http://www.crockford.com/JSON/license.html',
/*
Stringify a JavaScript value, producing a JSON text.
*/
stringify: function (v) {
var a = [];
/*
Emit a string.
*/
function e(s) {
a[a.length] = s;
}
/*
Convert a value.
*/
function g(x) {
var c, i, l, v;
switch (typeof x) {
case 'object':
if (x) {
if (x instanceof Array) {
e('[');
l = a.length;
for (i = 0; i < x.length; i += 1) {
v = x[i];
if (typeof v != 'undefined' &&
typeof v != 'function') {
if (l < a.length) {
e(',');
}
g(v);
}
}
e(']');
return;
} else if (typeof x.toString != 'undefined') {
e('{');
l = a.length;
for (i in x) {
v = x[i];
if (x.hasOwnProperty(i) &&
typeof v != 'undefined' &&
typeof v != 'function') {
if (l < a.length) {
e(',');
}
g(i);
e(':');
g(v);
}
}
return e('}');
}
}
e('null');
return;
case 'number':
e(isFinite(x) ? +x : 'null');
return;
case 'string':
l = x.length;
e('"');
for (i = 0; i < l; i += 1) {
c = x.charAt(i);
if (c >= ' ') {
if (c == '\\' || c == '"') {
e('\\');
}
e(c);
} else {
switch (c) {
case '\b':
e('\\b');
break;
case '\f':
e('\\f');
break;
case '\n':
e('\\n');
break;
case '\r':
e('\\r');
break;
case '\t':
e('\\t');
break;
default:
c = c.charCodeAt();
e('\\u00' + Math.floor(c / 16).toString(16) +
(c % 16).toString(16));
}
}
}
e('"');
return;
case 'boolean':
e(String(x));
return;
default:
e('null');
return;
}
}
g(v);
return a.join('');
},
/*
Parse a JSON text, producing a JavaScript value.
*/
parse: function (text) {
var p = /^\s*(([,:{}\[\]])|"(\\.|[^\x00-\x1f"\\])*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)\s*/,
token,
operator;
function error(m, t) {
throw {
name: 'JSONError',
message: m,
text: t || operator || token
};
}
function next(b) {
if (b && b != operator) {
error("Expected '" + b + "'");
}
if (text) {
var t = p.exec(text);
if (t) {
if (t[2]) {
token = null;
operator = t[2];
} else {
operator = null;
try {
token = eval(t[1]);
} catch (e) {
error("Bad token", t[1]);
}
}
text = text.substring(t[0].length);
} else {
error("Unrecognized token", text);
}
} else {
token = operator = undefined;
}
}
function val() {
var k, o;
switch (operator) {
case '{':
next('{');
o = {};
if (operator != '}') {
for (;;) {
if (operator || typeof token != 'string') {
error("Missing key");
}
k = token;
next();
next(':');
o[k] = val();
if (operator != ',') {
break;
}
next(',');
}
}
next('}');
return o;
case '[':
next('[');
o = [];
if (operator != ']') {
for (;;) {
o.push(val());
if (operator != ',') {
break;
}
next(',');
}
}
next(']');
return o;
default:
if (operator !== null) {
error("Missing value");
}
k = token;
next();
return k;
}
}
next();
return val();
}
};
/***
!Setup the data serialization
***/
DataTiddler.format = "JSON";
DataTiddler.stringify = JSON.stringify;
DataTiddler.parse = JSON.parse;
//}}}
!! Decision * [[1/CP.13 Bali Action Plan]] * [[2/CP.13 Reducing emissions from deforestation in developing countries: approaches to stimulate action]] * [[3/CP.13 Development and transfer of technologies under the Subsidiary Body for Scientific and Technological Advice]] * [[4/CP.13 Development and transfer of technologies under the Subsidiary Body for Implementation]] * [[5/CP.13 Fourth Assessment Report of the Intergovernmental Panel on Climate Change]] * [[6/CP.13 Fourth review of the financial mechanism]] * [[7/CP.13 Additional guidance to the Global Environment Facility]] * [[8/CP.13 Extension of the mandate of the Least Developed Countries Expert Group ]] * [[9/CP.13 Amended New Delhi work programme on Article 6 of the Convention]] * [[10/CP.13 Compilation and synthesis of fourth national communications]] * [[11/CP.13 Reporting on global observing systems for climate]] * [[12/CP.13 Budget performance and the functions and operations of the secretariat]] * [[13/CP.13 Programme budget for the biennium 2008-2009]] * [[14/CP.13 Date and venue of the fourteenth and fifteenth sessions of the Conference of the Parties and the calendar of meetings of Convention bodies]] !! Resolution * [[1/CP.13 Expression of gratitude to the Government of the Republic of Indonesia and the people of the province of Bali]]
<<< Adopted at the ''World Conference of the International Women's Year'' Mexico City, Mexico. 19 June-2 July 1975 <<< //The World Conference of the International Women's Year//, //Recognizing// that women of the entire world, whatever differences exist between them, share the painful experience of receiving or having received unequal treatment, and that as their awareness of this phenomenon increases they will become natural allies in the struggle against any form of oppression, such as is practiced under colonialism, neo-colonialism, zionism, racial discrimination and apartheid, thereby constituting an enormous revolutionary potential for economic and social change in the world today, //Recognizing// also the urgency of improving the status of women and finding more effective methods and strategies which will enable them to have the same opportunities as men to participate actively in the development of their countries and to contribute to the attainment of world peace, //Convinced// that women must play an important role in the promotion, achievement and maintenance of international peace, and that it is necessary to encourage their efforts towards peace, through their full participation in the national and international organizations that exist for this purpose, Women have a vital role to play in the promotion of peace in all spheres of life: in the family, the community, the nations and the world. As such, women must participate equally with men in the decision-making processes which help to promote peace at all levels. Women as well as men should promote real, general and complete disarmament under effective international control, starting with nuclear disarmament. Until genuine disarmament is achieved, women and men throughout the world must maintain their vigilance and do their utmost to achieve and maintain international peace. !!!Plans of Action The primary objective of development being to bring about sustained improvement in the well-being of the individual and of society and to bestow benefits on all, development should be seen not only as a desirable goal in itself but also as the most important means for furthering equality of the sexes and the maintenance of peace. * An essential condition for the maintenance and strengthening of international co-operation and peace is the promotion and protection of human rights for all in conditions of equity among and within nations. In order to involve more women in the promotion of international co-operation, the development of friendly relations among nations, the strengthening of international peace and disarmamentæthe peace efforts of women as individuals and in groups, and in national and international organizations should be recognized and encouraged. * Women should have equal opportunity with men to represent their countries in all international forums where the above questions are discussed, and in particular at meetings of the organization of the United Nations system, including the Security Council and all conferences on disarmament and international peace, and other regional bodies.
# We, the representatives of the peoples of the world, assembled in Geneva from 10-12 December 2003 for the first phase of the [[World Summit on the Information Society]], declare our common desire and commitment to build a people-centred, inclusive and development-oriented Information Society, where everyone can create, access, utilize and share information and knowledge, enabling individuals, communities and peoples to achieve their full potential in promoting their sustainable development and improving their quality of life, premised on the purposes and principles of the Charter of the United Nations and respecting fully and upholding the [[Universal Declaration of Human Rights]]. # Our challenge is to harness the potential of information and communication technology to promote the development goals of the Millennium Declaration, namely the eradication of extreme poverty and hunger; achievement of universal primary education; promotion of gender equality and empowerment of women; reduction of child mortality; improvement of maternal health; to combat HIV/AIDS, malaria and other diseases; ensuring environmental sustainability; and development of global partnerships for development for the attainment of a more peaceful, just and prosperous world. We also reiterate our commitment to the achievement of sustainable development and agreed development goals, as contained in the [[Johannesburg Declaration and Plan of Implementation]] and the [[Monterrey Consensus]], and other outcomes of relevant United Nations Summits. # We reaffirm the universality, indivisibility, interdependence and interrelation of all human rights and fundamental freedoms, including the right to development, as enshrined in the Vienna Declaration. We also reaffirm that democracy, sustainable development, and respect for human rights and fundamental freedoms as well as good governance at all levels are interdependent and mutually reinforcing. We further resolve to strengthen respect for the rule of law in international as in national affairs. # We reaffirm, as an essential foundation of the Information Society, and as outlined in Article 19 of the Universal Declaration of Human Rights, that everyone has the right to freedom of opinion and expression; that this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers. Communication is a fundamental social process, a basic human need and the foundation of all social organization. It is central to the Information Society. Everyone, everywhere should have the opportunity to participate and no one should be excluded from the benefits the Information Society offers. # We further reaffirm our commitment to the provisions of Article 29 of the Universal Declaration of Human Rights, that everyone has duties to the community in which alone the free and full development of their personality is possible, and that, in the exercise of their rights and freedoms, everyone shall be subject only to such limitations as are determined by law solely for the purpose of securing due recognition and respect for the rights and freedoms of others and of meeting the just requirements of morality, public order and the general welfare in a democratic society. These rights and freedoms may in no case be exercised contrary to the purposes and principles of the United Nations. In this way, we shall promote an Information Society where human dignity is respected. # In keeping with the spirit of this declaration, we rededicate ourselves to upholding the principle of the sovereign equality of all States. # We recognize that science has a central role in the development of the Information Society. Many of the building blocks of the Information Society are the result of scientific and technical advances made possible by the sharing of research results. # We recognize that education, knowledge, information and communication are at the core of human progress, endeavour and well-being. Further, Information and Communication Technologies (ICTs) have an immense impact on virtually all aspects of our lives. The rapid progress of these technologies opens completely new opportunities to attain higher levels of development. The capacity of these technologies to reduce many traditional obstacles, especially those of time and distance, for the first time in history makes it possible to use the potential of these technologies for the benefit of millions of people in all corners of the world. # We are aware that ICTs should be regarded as tools and not as an end in themselves. Under favourable conditions, these technologies can be a powerful instrument, increasing productivity, generating economic growth, job creation and employability and improving the quality of life of all. They can also promote dialogue among people, nations and civilizations. # We are also fully aware that the benefits of the information technology revolution are today unevenly distributed between the developed and developing countries and within societies. We are fully committed to turning this digital divide into a digital opportunity for all, particularly for those who risk being left behind and being further marginalized. # We are committed to realizing our common vision of the Information Society for ourselves and for future generations. We recognize that young people are the future workforce and leading creators and earliest adopters of ICTs. They must therefore be empowered as learners, developers, contributors, entrepreneurs and decision-makers. We must focus especially on young people who have not yet been able to benefit fully from the opportunities provided by ICTs. We are also committed to ensuring that the development of ICT applications and operation of services respects the rights of children as well as their protection and well-being. # We affirm that development of ICTs provides enormous opportunities for women, who should be an integral part of, and key actors, in the Information Society. We are committed to ensuring that the Information Society enables women's empowerment and their full participation on the basis on equality in all spheres of society and in all decision-making processes. To this end, we should mainstream a gender equality perspective and use ICTs as a tool to that end. # In building the Information Society, we shall pay particular attention to the special needs of marginalized and vulnerable groups of society, including migrants, internally displaced persons and refugees, unemployed and underprivileged people, minorities and nomadic people. We shall also recognize the special needs of older persons and persons with disabilities. # We are resolute to empower the poor, particularly those living in remote, rural and marginalized urban areas, to access information and to use ICTs as a tool to support their efforts to lift themselves out of poverty. # In the evolution of the Information Society, particular attention must be given to the special situation of indigenous peoples, as well as to the preservation of their heritage and their cultural legacy. # We continue to pay special attention to the particular needs of people of developing countries, countries with economies in transition, Least Developed Countries, Small Island Developing States, Landlocked Developing Countries, Highly Indebted Poor Countries, countries and territories under occupation, countries recovering from conflict and countries and regions with special needs as well as to conditions that pose severe threats to development, such as natural disasters. # We recognize that building an inclusive Information Society requires new forms of solidarity, partnership and cooperation among governments and other stakeholders, i.e. the private sector, civil society and international organizations. Realizing that the ambitious goal of this Declaration - bridging the digital divide and ensuring harmonious, fair and equitable development for all - will require strong commitment by all stakeholders, we call for digital solidarity, both at national and international levels. # Nothing in this Declaration shall be construed as impairing, contradicting, restricting or derogating from the provisions of the Charter of the United Nations and the Universal Declaration of Human Rights, any other international instrument or national laws adopted in furtherance of these instruments.
The ''Intergovernmental Conference on Environmental Education'', organized by Unesco in co-operation with UNEP, convened in the City of Tbilisi reflecting the harmony and consensus achieved there, solemnly adopts the following Declaration. <<< In the last few decades, man has, through his power to transform his environment, wrought accelerated changes in the balance of nature. The result is frequent exposure of living species to dangers which may prove irreversible. The [[Declaration of the United Nations Conference on the Human Environment]] organized in Stockholm in 1972 proclaimed: "to defend and improve the environment for present and future generations has become an imperative goal for mankind". This undertaking urgently calls for new strategies, incorporated into development, which particularly in the developing countries is a prerequisite for any such improvement. Solidarity and equity in the relations between nations should constitute the basis of a new international order, and bring together, as soon as possible, all available resources. Education utilizing the findings of science and technology should play a leading role in creating an awareness and a better understanding of environmental problems. It must foster positive patterns of conduct towards the environment and the nations' use of their resources. Environmental education should be provided for all ages, at all levels and in both formal and non-formal education. The mass media have a great responsibility to make their immense resources available for this educational mission. Environmental specialists as well as those whose actions and decisions can have a marked effect on the environment, should be provided in the course of their training with the necessary knowledge and skills and be given a full sense of their responsibilities in this respect. Environmental education, properly understood, should constitute a comprehensive lifelong education, one responsive to changes in a rapidly changing world. It should prepare the individual for life through an understanding of the major problems of the contemporary world, and the provision of skills and attributes needed to play a productive role towards improving life and protecting the environment with due regard given to ethical values. By adopting a holistic approach, rooted in a broad interdisciplinary base, it recreates an overall perspective which acknowledges the fact that natural environment and man-made environment are profoundly interdependent. It helps reveal the enduring continuity which links the acts of today to the consequences for tomorrow. It demonstrates the interdependencies among national communities and the need for solidarity among all mankind. Environmental education must look outward to the community. It should involve the individual in an active problem-solving process within the context of specific realities, and it should encourage initiative, a sense of responsibility and commitment to build a better tomorrow. By its very nature, environmental education can make a powerful contribution to the renovation of the educational process. In order to achieve these goals, environmental education requires a number of specific actions to fill the gaps that, despite outstanding endeavours, continue to exist in our present education systems. Accordingly, the Tbilisi Conference: //Appeals// to Member States to include in their educational policies measures designed to introduce environmental concerns, activities and contents into their education systems, on the basis of the above objectives and characteristics; //Invites// educational authorities to promote and intensify thinking, research and innovation in regard to environmental education; //Urges// Member States to collaborate in this field, in particular by exchanging experiences, research findings, documentation and materials and by making their training facilities widely available to teachers and specialists from other countries; and //Appeals//, lastly, to the international community to give generously of its aid in order to strengthen this collaboration in a field which symbolizes the need for solidarity of all peoples and may be regarded as particularly conducive to the promotion of international understanding and to the cause of peace. <<< ---- [[Recommendations of the Tbilisi Intergovernmental Conference on Environmental Education]]
The United Nations Conference on the Human Environment, having met at Stockholm from 5 to 16 June 1972, having considered the need for a common outlook and for common principles to inspire and guide the peoples of the world in the preservation and enhancement of the human environment, Proclaims that: 1. Man is both creature and moulder of his environment, which gives him physical sustenance and affords him the opportunity for intellectual, moral, social and spiritual growth. In the long and tortuous evolution of the human race on this planet a stage has been reached when, through the rapid acceleration of science and technology, man has acquired the power to transform his environment in countless ways and on an unprecedented scale. Both aspects of man's environment, the natural and the man-made, are essential to his well-being and to the enjoyment of basic human rights the right to life itself. 2. The protection and improvement of the human environment is a major issue which affects the well-being of peoples and economic development throughout the world; it is the urgent desire of the peoples of the whole world and the duty of all Governments. 3. Man has constantly to sum up experience and go on discovering, inventing, creating and advancing. In our time, man's capability to transform his surroundings, if used wisely, can bring to all peoples the benefits of development and the opportunity to enhance the quality of life. Wrongly or heedlessly applied, the same power can do incalculable harm to human beings and the human environment. We see around us growing evidence of man-made harm in many regions of the earth: dangerous levels of pollution in water, air, earth and living beings; major and undesirable disturbances to the ecological balance of the biosphere; destruction and depletion of irreplaceable resources; and gross deficiencies, harmful to the physical, mental and social health of man, in the man-made environment, particularly in the living and working environment. 4. In the developing countries most of the environmental problems are caused by under-development. Millions continue to live far below the minimum levels required for a decent human existence, deprived of adequate food and clothing, shelter and education, health and sanitation. Therefore, the developing countries must direct their efforts to development, bearing in mind their priorities and the need to safeguard and improve the environment. For the same purpose, the industrialized countries should make efforts to reduce the gap themselves and the developing countries. In the industrialized countries, environmental problems are generally related to industrialization and technological development. 5. The natural growth of population continuously presents problems for the preservation of the environment, and adequate policies and measures should be adopted, as appropriate, to face these problems. Of all things in the world, people are the most precious. It is the people that propel social progress, create social wealth, develop science and technology and, through their hard work, continuously transform the human environment. Along with social progress and the advance of production, science and technology, the capability of man to improve the environment increases with each passing day. 6. A point has been reached in history when we must shape our actions throughout the world with a more prudent care for their environmental consequences. Through ignorance or indifference we can do massive and irreversible harm to the earthly environment on which our life and well being depend. Conversely, through fuller knowledge and wiser action, we can achieve for ourselves and our posterity a better life in an environment more in keeping with human needs and hopes. There are broad vistas for the enhancement of environmental quality and the creation of a good life. What is needed is an enthusiastic but calm state of mind and intense but orderly work. For the purpose of attaining freedom in the world of nature, man must use knowledge to build, in collaboration with nature, a better environment. To defend and improve the human environment for present and future generations has become an imperative goal for mankind-a goal to be pursued together with, and in harmony with, the established and fundamental goals of peace and of worldwide economic and social development. 7. To achieve this environmental goal will demand the acceptance of responsibility by citizens and communities and by enterprises and institutions at every level, all sharing equitably in common efforts. Individuals in all walks of life as well as organizations in many fields, by their values and the sum of their actions, will shape the world environment of the future. Local and national governments will bear the greatest burden for large-scale environmental policy and action within their jurisdictions. International cooperation is also needed in order to raise resources to support the developing countries in carrying out their responsibilities in this field. A growing class of environmental problems, because they are regional or global in extent or because they affect the common international realm, will require extensive cooperation among nations and action by international organizations in the common interest. The Conference calls upon Governments and peoples to exert common efforts for the preservation and improvement of the human environment, for the benefit of all the people and for their posterity. ''Principles'' States the common conviction that: ''Principle 1'' Man has the fundamental right to freedom, equality and adequate conditions of life, in an environment of a quality that permits a life of dignity and well-being, and he bears a solemn responsibility to protect and improve the environment for present and future generations. In this respect, policies promoting or perpetuating apartheid, racial segregation, discrimination, colonial and other forms of oppression and foreign domination stand condemned and must be eliminated. ''Principle 2'' The natural resources of the earth, including the air, water, land, flora and fauna and especially representative samples of natural ecosystems, must be safeguarded for the benefit of present and future generations through careful planning or management, as appropriate. ''Principle 3'' The capacity of the earth to produce vital renewable resources must be maintained and, wherever practicable, restored or improved. ''Principle 4'' Man has a special responsibility to safeguard and wisely manage the heritage of wildlife and its habitat, which are now gravely imperilled by a combination of adverse factors. Nature conservation, including wildlife, must therefore receive importance in planning for economic development. ''Principle 5'' The non-renewable resources of the earth must be employed in such a way as to guard against the danger of their future exhaustion and to ensure that benefits from such employment are shared by all mankind. ''Principle 6'' The discharge of toxic substances or of other substances and the release of heat, in such quantities or concentrations as to exceed the capacity of the environment to render them harmless, must be halted in order to ensure that serious or irreversible damage is not inflicted upon ecosystems. The just struggle of the peoples of ill countries against pollution should be supported. ''Principle 7'' States shall take all possible steps to prevent pollution of the seas by substances that are liable to create hazards to human health, to harm living resources and marine life, to damage amenities or to interfere with other legitimate uses of the sea. ''Principle 8'' Economic and social development is essential for ensuring a favorable living and working environment for man and for creating conditions on earth that are necessary for the improvement of the quality of life. ''Principle 9'' Environmental deficiencies generated by the conditions of under-development and natural disasters pose grave problems and can best be remedied by accelerated development through the transfer of substantial quantities of financial and technological assistance as a supplement to the domestic effort of the developing countries and such timely assistance as may be required. ''Principle 10'' For the developing countries, stability of prices and adequate earnings for primary commodities and raw materials are essential to environmental management, since economic factors as well as ecological processes must be taken into account. ''Principle 11'' The environmental policies of all States should enhance and not adversely affect the present or future development potential of developing countries, nor should they hamper the attainment of better living conditions for all, and appropriate steps should be taken by States and international organizations with a view to reaching agreement on meeting the possible national and international economic consequences resulting from the application of environmental measures. ''Principle 12'' Resources should be made available to preserve and improve the environment, taking into account the circumstances and particular requirements of developing countries and any costs which may emanate- from their incorporating environmental safeguards into their development planning and the need for making available to them, upon their request, additional international technical and financial assistance for this purpose. ''Principle 13'' In order to achieve a more rational management of resources and thus to improve the environment, States should adopt an integrated and coordinated approach to their development planning so as to ensure that development is compatible with the need to protect and improve environment for the benefit of their population. ''Principle 14'' Rational planning constitutes an essential tool for reconciling any conflict between the needs of development and the need to protect and improve the environment. ''Principle 15'' Planning must be applied to human settlements and urbanization with a view to avoiding adverse effects on the environment and obtaining maximum social, economic and environmental benefits for all. In this respect projects which arc designed for colonialist and racist domination must be abandoned. ''Principle 16'' Demographic policies which are without prejudice to basic human rights and which are deemed appropriate by Governments concerned should be applied in those regions where the rate of population growth or excessive population concentrations are likely to have adverse effects on the environment of the human environment and impede development. ''Principle 17'' Appropriate national institutions must be entrusted with the task of planning, managing or controlling the 9 environmental resources of States with a view to enhancing environmental quality. ''Principle 18'' Science and technology, as part of their contribution to economic and social development, must be applied to the identification, avoidance and control of environmental risks and the solution of environmental problems and for the common good of mankind. ''Principle 19'' Education in environmental matters, for the younger generation as well as adults, giving due consideration to the underprivileged, is essential in order to broaden the basis for an enlightened opinion and responsible conduct by individuals, enterprises and communities in protecting and improving the environment in its full human dimension. It is also essential that mass media of communications avoid contributing to the deterioration of the environment, but, on the contrary, disseminates information of an educational nature on the need to project and improve the environment in order to enable mal to develop in every respect. ''Principle 20'' Scientific research and development in the context of environmental problems, both national and multinational, must be promoted in all countries, especially the developing countries. In this connection, the free flow of up-to-date scientific information and transfer of experience must be supported and assisted, to facilitate the solution of environmental problems; environmental technologies should be made available to developing countries on terms which would encourage their wide dissemination without constituting an economic burden on the developing countries. ''Principle 21'' States have, in accordance with the Charter of the United Nations and the principles of international law, the sovereign right to exploit their own resources pursuant to their own environmental policies, and the responsibility to ensure that activities within their jurisdiction or control do not cause damage to the environment of other States or of areas beyond the limits of national jurisdiction. ''Principle 22'' States shall cooperate to develop further the international law regarding liability and compensation for the victims of pollution and other environmental damage caused by activities within the jurisdiction or control of such States to areas beyond their jurisdiction. ''Principle 23'' Without prejudice to such criteria as may be agreed upon by the international community, or to standards which will have to be determined nationally, it will be essential in all cases to consider the systems of values prevailing in each country, and the extent of the applicability of standards which are valid for the most advanced countries but which may be inappropriate and of unwarranted social cost for the developing countries. ''Principle 24'' International matters concerning the protection and improvement of the environment should be handled in a cooperative spirit by all countries, big and small, on an equal footing. Cooperation through multilateral or bilateral arrangements or other appropriate means is essential to effectively control, prevent, reduce and eliminate adverse environmental effects resulting from activities conducted in all spheres, in such a way that due account is taken of the sovereignty and interests of all States. ''Principle 25'' States shall ensure that international organizations play a coordinated, efficient and dynamic role for the protection and improvement of the environment. ''Principle 26'' Man and his environment must be spared the effects of nuclear weapons and all other means of mass destruction. States must strive to reach prompt agreement, in the relevant international organs, on the elimination and complete destruction of such weapons.
<<< Women's Environment and Development Organization (WEDO) Council of Women World Leaders (CWWL) Heinrich Böll Foundation > //The following recommendations in the area of climate change and gender equality were developed on the occasion of the UN Secretary General's [[High-Level Climate Change Event|High-Level Event on Climate Change, September 24, 2007]] and the ~High-Level Roundtable "How a Changing Climate Impacts Women" organized by the partners above.^^/1^^// >> //September 2007// <<< * The UN ~Secretary-General and governments should send a strong message to this year's UNFCCC COP-13 in Bali that gender equality is to be integrated as a crosscutting issue in the negotiations and debates and that women's equal participation must be ensured. Governments should draw on the innumerable global agreements that relate directly or indirectly to gender equality and climate change^^/2^^, as well as gender expertise within the UN system and at the national level. * Given that women's knowledge and participation has been critical to the survival of entire communities in disaster situations, governments should take advantage of women's specialized skills in various aspects of their livelihood and natural resource management strategies that lend themselves to mitigation and adaptation. * Since climate change disproportionately affects poor women, governments should analyze and identify gender-specific impacts and protection measures related to floods, droughts, heat waves, diseases, and other environmental changes and disasters. The global community should prioritize reducing the high levels of female mortality rates resulting from climate-induced disasters and livelihood changes. * Given the vulnerability of the poor, and particularly women, to climate change, adequate funds must be allocated by Annex I countries to help these groups adapt to the impacts. * Practical tools should be developed that allow governments and institutions to incorporate gender equality in climate change initiatives. * Governments at national and local levels should develop strategies to enhance women's access to and control over natural resources, in order to reduce poverty, protect environmental resources, and ensure that women and poor communities can better cope with climate change. * Governments and institutions should enhance opportunities for education and training in climate change mitigation and adaptation. Capacity building and technology transfer measures should draw on priorities put forward by women and poor communities. * Women's participation in climate change related debates and planning must be enhanced by tools and procedures that augment their capacity and sensitize decision- makers to the advantages of equal participation. * The UNFCCC should develop a gender strategy, invest in gender-specific climate change research, and establish a system for the use of gender-sensitive indicators and criteria for governments to use in national reporting to the UNFCCC Secretariat, adaptation planning, or projects under the Clean Development Mechanism (CDM). * Market-based approaches to curbing climate change, such as the Clean Development Mechanism, should be made accessible to both women and men and ensure equitable benefits, considering that women and men do not have equal access to natural resources such as water and energy, land titles, credit, or information. In particular, the CDM should fund projects that make renewable energy technologies more available to women and meet their household needs. * The gendered impacts of biofuels and nuclear energy as a solution to reducing greenhouse gas emissions should be assessed, in cooperation with gender experts and women's organizations. * Since the UNFCCC emerged from UNCED, which outlines nine major groups that are essential to sustainable development, women and all major groups should be included as official focal points in the UNFCCC. 1/ These recommendations also draw on policy recommendations developed by the UNFCCC women's caucus and the CSD Women's Major Group. 2/ [[Chapter 24 of Agenda 21|Agenda 21, Chapter 24]] (UNCED 1992); [[Johannesburg Plan of Action|Johannesburg Plan of Implementation]] (WSSD 2002); Paragraph K of the [[Beijing Platform for Action]] (4th World Conference on Women 1995); World Conference on Human Rights (1993); International Conference on Population and Development (1994); World Summit for Social Development (1995); [[Millennium Declaration]] (2000); Convention on the Elimination of All Forms of Discrimination Against Women (1979); [[Convention on Biodiversity|Convention on Biological Diversity]] (1992); Convention to Combat Desertification (1994); Ministerial Declaration of the 3rd World Water Forum (2003); Children's World Summit (1990); [[Second United Nations Conference on Human Settlements|Habitat II]] (1996); World Summit on Food (1996); [[Hyogo Framework for Action]] (UN World Conference on Disaster Reduction 2005) For more information, contact: Rebecca Pearl, WEDO - rebecca@wedo.org or 212-973-0325 More information: www.wedo.org ([[sustainable development section|http://www.wedo.org/programs.aspx?mode=development]])
[[Welcome]] [[Information Ecology & Climate Change: Proposed Scope of a Special Report]] [[Recent Tiddlers]]
Diane Paravazian has had more than twenty years of experience in language and cross-cultural education and training both in academic and business settings. She has worked for the Port Authority of New York and New Jersey and Pace University as the Director of the World Trade Institute Language Center. As Director of the Language Center, she has created innovative and customized language and culture programs for major corporations. As Director and Adjunct Professor of French at Pace University, with Pace University's Department of Modern Languages, she designed a new undergraduate major, and a related bridge program at Murry Bergtraum High School. Currently Ms. Paravazian is a Professor of French at St. John's University, is working on her Doctoral Dissertation in at New York University and serves on a number of boards, including the Business Advisory Board of Murry Bergtraum High School, and the American Association of Teachers of French, Metropolitan Chapter. She is Treasurer of the Société des Professeurs Français et Francophones d'Amérique, a foundation which offers grants to students studying French. Ms. Paravazian has received a number of academic fellowships and awards, including the French Government's "Chevalier des Palmes Académiques." At the United Nations, Ms. Paravazian serves as UN Representative for the [[World Association of Girl Guides and Girl Scouts]]; she had previously represented the [[Armenian Assembly of America]] since 2000. During this time she has been a member of the DPI/NGO Planning Committee, Media Co-Chair for the Conference, member of the NGO Committees on Sustainable Development and Human Rights, Secretary of the NGO Committee on Education . She is currently active as member at large on the NGO Committee on the Status of Women and Acting Co-Chair of the [[NGO Committee on Education]].
!!Expected Climatic Trigger for the Transition > A decrease in rainfall is projected that would lead to the gradual death of the forest as fires become more frequent and extensive. Changes could occur over periods of decades once they started. !!Expected Environmental Consequences > Forest death would lead to loss of many ecosystems rich in biodiversity and significantly reduce carbon storage, amplifying global warming. !!Likely Societal Significance > In the region, loss of a very productive ecosystem and diminution of water storage. Globally, greater warming and significant loss of biodiversity
/***
|Name|DisableWikiLinksPlugin|
|Source|http://www.TiddlyTools.com/#DisableWikiLinksPlugin|
|Version|1.6.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides|Tiddler.prototype.autoLinkWikiWords, 'wikiLink' formatter|
|Options|##Configuration|
|Description|selectively disable TiddlyWiki's automatic ~WikiWord linking behavior|
This plugin allows you to disable TiddlyWiki's automatic ~WikiWord linking behavior, so that WikiWords embedded in tiddler content will be rendered as regular text, instead of being automatically converted to tiddler links. To create a tiddler link when automatic linking is disabled, you must enclose the link text within {{{[[...]]}}}.
!!!!!Usage
<<<
You can block automatic WikiWord linking behavior for any specific tiddler by ''tagging it with<<tag excludeWikiWords>>'' (see configuration below) or, check a plugin option to disable automatic WikiWord links to non-existing tiddler titles, while still linking WikiWords that correspond to existing tiddlers titles or shadow tiddler titles. You can also block specific selected WikiWords from being automatically linked by listing them in [[DisableWikiLinksList]] (see configuration below), separated by whitespace. This tiddler is optional and, when present, causes the listed words to always be excluded, even if automatic linking of other WikiWords is being permitted.
Note: WikiWords contained in default ''shadow'' tiddlers will be automatically linked unless you select an additional checkbox option lets you disable these automatic links as well, though this is not recommended, since it can make it more difficult to access some TiddlyWiki standard default content (such as AdvancedOptions or SideBarTabs)
<<<
!!!!!Configuration
<<<
<<option chkDisableWikiLinks>> Disable ALL automatic WikiWord tiddler links
<<option chkAllowLinksFromShadowTiddlers>> ... except for WikiWords //contained in// shadow tiddlers
<<option chkDisableNonExistingWikiLinks>> Disable automatic WikiWord links for non-existing tiddlers
Disable automatic WikiWord links for words listed in: <<option txtDisableWikiLinksList>>
Disable automatic WikiWord links for tiddlers tagged with: <<option txtDisableWikiLinksTag>>
<<<
!!!!!Revisions
<<<
2008.07.22 [1.6.0] hijack tiddler changed() method to filter disabled wiki words from internal links[] array (so they won't appear in the missing tiddlers list)
2007.06.09 [1.5.0] added configurable txtDisableWikiLinksTag (default value: "excludeWikiWords") to allows selective disabling of automatic WikiWord links for any tiddler tagged with that value.
2006.12.31 [1.4.0] in formatter, test for chkDisableNonExistingWikiLinks
2006.12.09 [1.3.0] in formatter, test for excluded wiki words specified in DisableWikiLinksList
2006.12.09 [1.2.2] fix logic in autoLinkWikiWords() (was allowing links TO shadow tiddlers, even when chkDisableWikiLinks is TRUE).
2006.12.09 [1.2.1] revised logic for handling links in shadow content
2006.12.08 [1.2.0] added hijack of Tiddler.prototype.autoLinkWikiWords so regular (non-bracketed) WikiWords won't be added to the missing list
2006.05.24 [1.1.0] added option to NOT bypass automatic wikiword links when displaying default shadow content (default is to auto-link shadow content)
2006.02.05 [1.0.1] wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals
2005.12.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.DisableWikiLinksPlugin= {major: 1, minor: 6, revision: 0, date: new Date(2008,7,22)};
if (config.options.chkDisableNonExistingWikiLinks==undefined) config.options.chkDisableNonExistingWikiLinks= false;
if (config.options.chkDisableWikiLinks==undefined) config.options.chkDisableWikiLinks=false;
if (config.options.txtDisableWikiLinksList==undefined) config.options.txtDisableWikiLinksList="DisableWikiLinksList";
if (config.options.chkAllowLinksFromShadowTiddlers==undefined) config.options.chkAllowLinksFromShadowTiddlers=true;
if (config.options.txtDisableWikiLinksTag==undefined) config.options.txtDisableWikiLinksTag="excludeWikiWords";
// find the formatter for wikiLink and replace handler with 'pass-thru' rendering
initDisableWikiLinksFormatter();
function initDisableWikiLinksFormatter() {
for (var i=0; i<config.formatters.length && config.formatters[i].name!="wikiLink"; i++);
config.formatters[i].coreHandler=config.formatters[i].handler;
config.formatters[i].handler=function(w) {
// supress any leading "~" (if present)
var skip=(w.matchText.substr(0,1)==config.textPrimitives.unWikiLink)?1:0;
var title=w.matchText.substr(skip);
var exists=store.tiddlerExists(title);
var inShadow=w.tiddler && store.isShadowTiddler(w.tiddler.title);
// check for excluded Tiddler
if (w.tiddler && w.tiddler.isTagged(config.options.txtDisableWikiLinksTag))
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// check for specific excluded wiki words
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList);
if (t && t.length && t.indexOf(w.matchText)!=-1)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not disabling links from shadows (default setting)
if (config.options.chkAllowLinksFromShadowTiddlers && inShadow)
return this.coreHandler(w);
// check for non-existing non-shadow tiddler
if (config.options.chkDisableNonExistingWikiLinks && !exists)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not enabled, just do standard WikiWord link formatting
if (!config.options.chkDisableWikiLinks)
return this.coreHandler(w);
// just return text without linking
w.outputText(w.output,w.matchStart+skip,w.nextMatch)
}
}
Tiddler.prototype.coreAutoLinkWikiWords = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function()
{
// if all automatic links are not disabled, just return results from core function
if (!config.options.chkDisableWikiLinks)
return this.coreAutoLinkWikiWords.apply(this,arguments);
return false;
}
Tiddler.prototype.disableWikiLinks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
this.disableWikiLinks_changed.apply(this,arguments);
// remove excluded wiki words from links array
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList,"").readBracketedList();
if (t.length) for (var i=0; i<t.length; i++)
if (this.links.contains(t[i]))
this.links.splice(this.links.indexOf(t[i]),1);
};
//}}}
Title: Title Author: Author Date: Date
You are welcome to download this TiddlyWiki web site and to customize it for your own purposes. All you need to do is ''save this page'' - as a //Web page, HTML only// onto your local hard drive, or to a USB memory card. Once you have downloaded the page, and opened the local copy of the web site, you will be able to explore the wonderful world of TiddlyWiki in far greater depth than is possible if you only navigate the page on a web site. Go to the [[Setup Menu]] that shows you how to take the simple steps to customize this web site and make it into an information habitat that you can then add on to, rebuild, re-organize - and share and exchange with others what we have collected and learned about the scope and dimensions of the climate change crisis - and how we are called to respond. This site is part of an evolving network of sites and initiatives of [[Climate Change 2.0]] that is based on appreciation of the transformative characteristics of a knowledge-based universe and the remarkable evolution of software and related resources - from email and email groups/lists, web browsing and Google searches to blogs, wikis & tiddlywikis, streaming media and ~YouTube, increasingly inexpensive devices - from cell phones to Ipods, video cameras, often in a wireless environment - is transforming our ability to gather and organize information, to exchange it freely with friends and colleagues and to collaborate on anything from writing enhanced software to developing and facilitating a global framework for action to come to terms with the [[climate change crisis|Climate change crisis]] /%Wikis - wiki is a Hawaiian word the means swift or swiftly - have been playing a vital role in the evoling global commons, both by the within which there is a progressive emergence of free and open source software that serves as a vital foundation for an Earth community that recognizes knowledge as being at the heart of wealth, and in a networked information economy in which software, free software, playing a role in the digital economy that streeel mills did in the industrial revolution.%/
''ELS Design Studios'' was established in 1995, and specializes in ''interaction design'', ''visual design'', and ''information architecture'' to produce interactive systems and information-rich presentations for businesses, organizations, and individuals. @@display:block;text-align:center;font-size:18pt;color:#0c0;font-family:"trebuchet ms";//Your web site or application can be more intuitive, expressive, functional... effective!//@@ ''We work closely //with// you to focus your imagination'' and identify well-defined, practical design goals for your project. Through a collaborative process, we help you to refine your message and set the right tone and personality for your site to match your creative sensibilities and/or business needs, ''ensuring that your style, strategy, message and vision comes through'' in the final result. Through a combination of user-centric design, handcrafted production, and personalized service, our design approach emphasizes the ''visitor experience'' to create powerful ''interactive applications, documents or on-line presentations'' that display high-quality information more effectively and help you achieve your goals. We draw upon years of experience producing commercial software products to guide the planning, design, and development processes to deliver robust, well-tested functionality. Throughout the various stages of design and implementation, we provide guidance and recommendations for your decision-making processes, while insulating you from the arcane technological details that can divert your attention from achieving your project goals. We take the time to explain things clearly, so you can make informed decisions that will lead a highly-effective web site that is uniquely suited to your specific purposes. ---- @@font-size:12pt;Whether your site is presenting your personal creativity or furthering your business objectives, ''our role is to help you to realize YOUR vision'' for YOUR web site or application interface.@@ ---- @@display:block;font-size:8pt;line-height:110%;The founder and principal designer, Eric L. Shulman, brings a wealth of direct, intensive experience in developing complex interactive systems. His designs emphasize both ease-of-use and rich functionality to deliver 'best-of-breed' user experiences. His professional and academic qualifications include an interdisciplinary degree in "Interactive Systems Design" from [[Carnegie-Mellon University|http://www.cmu.edu]] (1985), as well as many years of user interface and software design work on significant commercial products. At [[Lotus Development Corporation|http://www.lotus.com]], he was directly involved in the innovation of new graphical interface techniques for "1-2-3", their flagship spreadsheet product. He has also been a Senior Research Engineer with [[OpenData, Inc.|http://www.opendata.com]], and as well as a key contributor in the Product Design Group at [[Clarify, Inc.|http://www.clarify.com]], where he developed comprehensive interface design standards for their suite of Customer Relationship Management (CRM) applications, and provided cross-team guidance and consultation for their marketing, engineering, quality assurance, and documentation organizations.@@
{{iframe{''Note'': This is a "framed" page from the ''Vuze'' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.vuze.com/details/4GFAL6F65JJE2WTQMIWTZ6EYLSYCREO5.html}}}
<html><iframe
src = "http://www.vuze.com/details/4GFAL6F65JJE2WTQMIWTZ6EYLSYCREO5.html"
title = "Earth Day 1990 Video: Oh Say Can You See, By The One Light in All "
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://network.earthday.net/video/earth-day-anthem-oh-say-can}}}
<html><iframe
src = "http://network.earthday.net/video/earth-day-anthem-oh-say-can"
title = "Earth Day Anthem: Oh say can you see by the one light in all"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
{{iframe{''Note'': This is a "framed" page from the ''EcoGeek'' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.ecogeek.org/}}}
<html><iframe
src = "http://www.ecogeek.org/"
title = "EcoGeek"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
''Economics of Climate Change: The Stern Review'' is a major publication, published in October 2006, that was commissioned by the Treasury Department of the British Government with the mandate of reviewing the issue of the economic dimensions of climate change - a key area that has not previously gained sufficient attention. !! A ~TiddlyWiki edition The web-based version of the ''Stern Review'' has been "translated" by the [[Information and Communications Sub-Committee]] of the [[NGO Committee on Education]] into the "language" of a TiddlyWikiPerfect platform, with the contents housed in a DataPerfect database from which the tiddlers and tags were generated, and is designed to optimize the accessibility and navigability of the contents of the report for reading in a digital environment, and to begin to raise the vital issue of the economics of information as it relates to climate change. The ~TiddlyWiki edition is available at http://www.climatechange3.net/stern-review/ !! Bookmarked pdf edition The original, official version of the report was published as a a set of pdf files version. - a format that is optimized for print rather than for on-screen reading, and that is relatively cumbersome to navigate through the contents; to improve the online value of the pdf files of the Stern Review, an extensive set of bookmarks have been added to the pdf files - none having been included in the official pdf files - to make it easier for those who prefer to read the online version to find their way around the lengthy review. The bookmarked pdf file is available at http://www.climatechange3.net/stern-review/stern-review.pdf !! Concise Executive Summary The TiddlyWikiPerfect version of the Stern Review also includes a shortened Executive Summary - the original being more than thirty pages long - that highlights the key concepts in each section and chapter.
The economic of information provide a vital key to the transformative nature of a [[knowledge-based universe|Knowledge-based universe]]
/***
|Name|EditFieldPlugin|
|Source|http://www.TiddlyTools.com/#EditFieldPlugin|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|extend core edit macro for use in ViewTemplates or direct embedding in tiddler content|
This HIJACK extends the core {{{<<edit fieldname>>}}} macro for use in a ViewTemplate or directly embedded in tiddler content. Enter single- or multi- line text from 'view mode' tiddler displays and save/discard your input using ENTER, ESC, or automatic 'blur' handling.
!!!!!Usage
<<<
Normally, when you edit a tiddler, any changes you make are only saved (or discarded) when you press the "done" (or "cancel") command in the tiddler editor's toolbar. However, when in a 'view mode' context, these command items are not available, and so cannot be used to trigger the 'save/discard' handling once you have decided that your input activities are complete. Instead, you will be automatically prompted to save/discard your changes (if any) as soon as you move away from a text edit field or multi-line text area. Alternatively, pressing ENTER while in an edit field will save your input, while pressing ESCAPE will abandon your input (after prompting for confirmation).
<<<
!!!!!Examples
<<<
{{{<<edit foobar>>}}}
<<edit foobar>>
{{{<<edit mumble 5>>}}}
<<edit mumble 5>>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document: [[EditFieldPlugin]]
<<<
!!!!!Revision History
<<<
''2007.08.22 [1.0.0]'' initial release
<<<
!!!!!Credits
<<<
This feature was developed by Eric L Shulman / ELS Design Studios
<<<
!!!!!Code
***/
//{{{
version.extensions.editFieldPlugin= {major: 1, minor: 0, revision: 0, date: new Date(2007,8,22)};
config.macros.edit.editFieldPlugin_savedHandler=config.macros.edit.handler;
config.macros.edit.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
// let core create edit field
config.macros.edit.editFieldPlugin_savedHandler.apply(this,arguments);
// get edit field or textarea
var ins=place.getElementsByTagName(params[0]=="text"||params[1]?'textarea':'input');
var e=ins[ins.length-1];
// if viewing tiddler, add autosave handlers
var here=story.findContainingTiddler(place);
if (here && here.getAttribute("template").indexOf("ViewTemplate")!=-1) {
story.setDirty(tiddler.title,false); // clear tiddler ("dirty") flag set by core when field was created
var field=e.getAttribute("edit");
var val=store.getValue(tiddler.title,field); if (!val) val="";
e.setAttribute("currval",val); // remember starting value
e.setAttribute("tiddler",tiddler.title); // remember target tiddler
e.onkeydown=function(ev) { // ENTER key=save (for single-line edit fields only)
var event=ev?ev:window.event;
this.setAttribute("keyCode",event.keyCode); // save last keyCode for blur() handler
if (event.keyCode==13 && this.nodeName.toUpperCase()!="TEXTAREA")
this.saveField(); // save input to tiddler field
}
e.onblur=function(ev) { // accept or reject input when focus moves away from field
var event=ev?ev:window.event;
var tid=this.getAttribute("tiddler"); if (!tid || !tid.length) return;
var field=this.getAttribute("edit");
if (this.value!=this.getAttribute("currval")) { // if value has changed
if (this.getAttribute("keyCode")=="27") { // if user pressed ESC
var msg="Abandon changes to %0@%1?".format([field,tid]);
if (confirm(msg)) this.value=this.getAttribute("currval"); // reset to starting value
this.id=new Date().getTime(); // set unique ID
setTimeout("document.getElementById('"+this.id+"').focus()",1); // restore focus (after blur completes)
} else { // other focus change events
var msg="Save changes to %0@%1?".format([field,tid]);
if (confirm(msg)) this.saveField(); // save input to tiddler field, then continue blur
else this.value=this.getAttribute("currval"); // reset to starting value, then continue blur
}
}
};
e.saveField=function() { // save input value to tiddler field (create, touch or rename tiddler as needed)
var tid=this.getAttribute("tiddler"); if (!tid || !tid.length) return;
var field=this.getAttribute("edit");
var title=(field=="title")?this.value:tid;
if (!title.length) { // prevent blank tiddler title from being used
this.value=this.getAttribute("currval"); // reset to starting value
this.id=new Date().getTime(); // set unique ID
setTimeout("displayMessage('Please enter a non-blank value')",1); // notify user
setTimeout("document.getElementById('"+this.id+"').focus()",2); // set focus to continue editing
return;
}
var t=store.getTiddler(tid);
store.suspendNotifications();
var anim=config.options.chkAnimate; config.options.chkAnimate=false; // suspend animation
store.saveTiddler(t?tid:title,title,t?t.body:"",config.options.txtUserName,new Date(),t?t.tags:[],t?t.fields:null);
store.setValue(title,field,this.value); // save value in tiddler field
this.setAttribute("currval",this.value); // remember new starting value
if (tid!=title) // if title changed, display renamed tiddler in place of current one
{ story.displayTiddler(story.findContainingTiddler(this),title); story.closeTiddler(tid); }
if (field=="text") // if tiddler content changed, refresh tiddler display
{ story.refreshTiddler(title,null,true); }
config.options.chkAnimate=anim; // resume animation
store.resumeNotifications();
};
}
}
//}}}
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler jump'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div>
<div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler jump'></div>
<!--}}}-->
Type the text for 'Education for Sustainable Development'
> "Edward Tufte has written seven books, including //Visual Explanations, Envisioning Information//, //The Visual Display of Quantitative Information//, and //Data Analysis for Politics and Policy//. He writes, designs, and self-publishes his books on analytical design, which have received more than 40 awards for content and design. He is Professor Emeritus at Yale University, where he taught courses in statistical evidence, information design, and interface design. His current work includes landscape sculpture, printmaking, video and a new book." from http://www.edwardtufte.com/tufte/
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://www.edwardtufte.com/}}}
<html><iframe
src = "http://www.edwardtufte.com/"
title = "Edward Tufte web site"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
@@font-size:90%;''Note'': This is a "framed" page from the web site of [[Information Habitat: Where Information Lives]] . You can view this page in a separate browser tab or window at http://habitat.igc.org/projects/eie.htm@@ <html><iframe title = "Elements of Information Ecology - An Open Source Curriculum" src = "http://habitat.igc.org/projects/eie.htm" style=" background-color:#ffffff; border-color:#ffffff; border:none;" width = "100%" height = "1000" frameborder = "0" scrolling = "yes"> </iframe></html>
!!!Expected Climatic Trigger for the Transition Cooling of the stratosphere caused by the increasing concentrations of greenhouse gases will create temperatures conducive to sharper reductions in springtime ozone. !!!Expected Environmental Consequences Reduced springtime ozone levels will significantly increase the intensity of ultraviolet (UV) radiation at the surface, adversely affecting both marine and terrestrial ecosystems and food chains !!!Likely Societal Significance In high-latitude regions, the heightened levels of UV radiation will adversely affect human health, especially as warming promotes greater outdoor activity without appropriate protection.
The Executive Committee of the [[NGO Committee on Education]] consists of the Officers, Members-at-Large, and Sub-Committee Chairs (//ex officio//): !!! Co-Chairs * [[Diane Paravazian]], [[World Association of Girl Guides and Girl Scouts]] * [[Faye C. Feller]], [[Information Habitat: Where Information Lives]] !!! Secretary * ''Catherine Waters'', [[Catholic International Education Office]] !!! Treasurer * [[Daphne Cohen]], [[International Humanist and Ethical Union]] !!!Members-at-Large * ''Catherine Moore''. [[International Federation of University Women]] * ''Doris Sargeant'', [[Rotary International]] * ''Cora Weiss'', [[The Hague Appeal for Peace]] !!!Sub-Committee Chairs * ''Information & Communications Sub-Committee'' ** [[Robert Pollard]], [[Information Habitat: Where Information Lives]]
/***
|Name|ExportTiddlersPlugin|
|Source|http://www.TiddlyTools.com/#ExportTiddlersPlugin|
|Documentation|http://www.TiddlyTools.com/#ExportTiddlersPluginInfo|
|Version|2.9.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|interactively select/export tiddlers to a separate file|
!!!!!Documentation
>see [[ExportTiddlersPluginInfo]]
!!!!!Inline control panel (live):
><<exportTiddlers inline>>
!!!!!Revisions
<<<
2009.07.06 [2.9.3] moved HTML to section for size reduction
|please see [[ExportTiddlersPluginInfo]] for additional revision details|
2005.10.09 [0.0.0] development started
<<<
!!!!!Code
***/
//{{{
// version
version.extensions.ExportTiddlersPlugin= {major: 2, minor: 9, revision: 3, date: new Date(2009,7,6)};
// default shadow definition
config.shadowTiddlers.ExportTiddlers='<<exportTiddlers inline>>';
// add 'export' backstage task (following built-in import task)
if (config.tasks) { // TW2.2 or above
config.tasks.exportTask = {
text:'export',
tooltip:'Export selected tiddlers to another file',
content:'<<exportTiddlers inline>>'
}
config.backstageTasks.splice(config.backstageTasks.indexOf('importTask')+1,0,'exportTask');
}
config.macros.exportTiddlers = {
$: function(id) { return document.getElementById(id); }, // abbreviation
label: 'export tiddlers',
prompt: 'Copy selected tiddlers to an export document',
okmsg: '%0 tiddlers written to %1',
failmsg: 'An error occurred while creating %1',
mergeprompt: '%0\nalready contains tiddlers.\n'
+'\nPress OK to merge new/revised tiddlers into existing file.'
+'\nor, press Cancel to completely replace the file contents',
mergestatus: 'Merged %0 new/revised tiddlers with %1 previously saved tiddlers',
statusmsg: '%0 tiddler%1 - %2 selected for export',
newdefault: 'export.html',
datetimefmt: '0MM/0DD/YYYY 0hh:0mm:0ss', // for 'filter date/time' edit fields
type_TW: "tw", type_PS: "ps", type_TX: "tx", type_CS: "cs", type_NF: "nf", // file type tokens
type_map: { // maps type param to token values
tiddlywiki:"tw", tw:"tw", wiki: "tw",
purestore: "ps", ps:"ps", store:"ps",
plaintext: "tx", tx:"tx", text: "tx",
comma: "cs", cs:"cs", csv: "cs",
newsfeed: "nf", nf:"nf", xml: "nf", rss:"nf"
},
handler: function(place,macroName,params) {
if (params[0]!='inline')
{ createTiddlyButton(place,this.label,this.prompt,this.togglePanel); return; }
var panel=this.createPanel(place);
panel.style.position='static';
panel.style.display='block';
},
createPanel: function(place) {
var panel=this.$('exportPanel');
if (panel) { panel.parentNode.removeChild(panel); }
setStylesheet(store.getTiddlerText('ExportTiddlersPlugin##css',''),'exportTiddlers');
panel=createTiddlyElement(place,'span','exportPanel',null,null)
panel.innerHTML=store.getTiddlerText('ExportTiddlersPlugin##html','');
this.initFilter();
this.refreshList(0);
var fn=this.$('exportFilename');
if (window.location.protocol=='file:' && !fn.value.length) {
// get new target path/filename
var newPath=getLocalPath(window.location.href);
var slashpos=newPath.lastIndexOf('/'); if (slashpos==-1) slashpos=newPath.lastIndexOf('\\');
if (slashpos!=-1) newPath=newPath.substr(0,slashpos+1); // trim filename
fn.value=newPath+this.newdefault;
}
return panel;
},
togglePanel: function(e) { var e=e||window.event;
var cme=config.macros.exportTiddlers; // abbrev
var parent=resolveTarget(e).parentNode;
var panel=cme.$('exportPanel');
if (panel==undefined || panel.parentNode!=parent)
panel=cme.createPanel(parent);
var isOpen=panel.style.display=='block';
if(config.options.chkAnimate)
anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,'none'));
else
panel.style.display=isOpen?'none':'block' ;
if (panel.style.display!='none') {
cme.refreshList(0);
cme.$('exportFilename').focus();
cme.$('exportFilename').select();
}
e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); return(false);
},
process: function(which) { // process panel control interactions
var theList=this.$('exportList'); if (!theList) return;
var count = 0;
var total = store.getTiddlers('title').length;
switch (which.id) {
case 'exportFilter':
count=this.filterExportList();
var panel=this.$('exportFilterPanel');
if (count==-1) { panel.style.display='block'; break; }
this.$('exportStart').disabled=(count==0);
this.$('exportDelete').disabled=(count==0);
this.displayStatus(count,total);
if (count==0) { alert('No tiddlers were selected'); panel.style.display='block'; }
break;
case 'exportStart':
this.go();
break;
case 'exportDelete':
this.deleteTiddlers();
break;
case 'exportHideFilter':
case 'exportToggleFilter':
var panel=this.$('exportFilterPanel')
panel.style.display=(panel.style.display=='block')?'none':'block';
break;
case 'exportSelectChanges':
var lastmod=new Date(document.lastModified);
for (var t = 0; t < theList.options.length; t++) {
if (theList.options[t].value=='') continue;
var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;
theList.options[t].selected=(tiddler.modified>lastmod);
count += (tiddler.modified>lastmod)?1:0;
}
this.$('exportStart').disabled=(count==0);
this.$('exportDelete').disabled=(count==0);
this.displayStatus(count,total);
if (count==0) alert('There are no unsaved changes');
break;
case 'exportSelectAll':
for (var t = 0; t < theList.options.length; t++) {
if (theList.options[t].value=='') continue;
theList.options[t].selected=true;
count += 1;
}
this.$('exportStart').disabled=(count==0);
this.$('exportDelete').disabled=(count==0);
this.displayStatus(count,count);
break;
case 'exportSelectOpened':
for (var t=0; t<theList.options.length; t++) theList.options[t].selected=false;
var tiddlerDisplay=this.$('tiddlerDisplay');
for (var t=0; t<tiddlerDisplay.childNodes.length;t++) {
var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);
for (var i=0; i<theList.options.length; i++) {
if (theList.options[i].value!=tiddler) continue;
theList.options[i].selected=true; count++; break;
}
}
this.$('exportStart').disabled=(count==0);
this.$('exportDelete').disabled=(count==0);
this.displayStatus(count,total);
if (count==0) alert('There are no tiddlers currently opened');
break;
case 'exportSelectRelated':
// recursively build list of related tiddlers
function getRelatedTiddlers(tid,tids) {
var t=store.getTiddler(tid); if (!t || tids.contains(tid)) return tids;
tids.push(t.title);
if (!t.linksUpdated) t.changed();
for (var i=0; i<t.links.length; i++)
if (t.links[i]!=tid) tids=getRelatedTiddlers(t.links[i],tids);
return tids;
}
// for all currently selected tiddlers, gather up the related tiddlers (including self) and select them as well
var tids=[];
for (var i=0; i<theList.options.length; i++)
if (theList.options[i].selected) tids=getRelatedTiddlers(theList.options[i].value,tids);
// select related tiddlers (includes original selected tiddlers)
for (var i=0; i<theList.options.length; i++)
theList.options[i].selected=tids.contains(theList.options[i].value);
this.displayStatus(tids.length,total);
break;
case 'exportListSmaller': // decrease current listbox size
var min=5;
theList.size-=(theList.size>min)?1:0;
break;
case 'exportListLarger': // increase current listbox size
var max=(theList.options.length>25)?theList.options.length:25;
theList.size+=(theList.size<max)?1:0;
break;
case 'exportClose':
this.$('exportPanel').style.display='none';
break;
}
},
displayStatus: function(count,total) {
var txt=this.statusmsg.format([total,total!=1?'s':'',!count?'none':count==total?'all':count]);
clearMessage(); displayMessage(txt);
return txt;
},
refreshList: function(selectedIndex) {
var theList = this.$('exportList'); if (!theList) return;
// get the sort order
var sort;
if (!selectedIndex) selectedIndex=0;
if (selectedIndex==0) sort='modified';
if (selectedIndex==1) sort='title';
if (selectedIndex==2) sort='modified';
if (selectedIndex==3) sort='modifier';
if (selectedIndex==4) sort='tags';
// unselect headings and count number of tiddlers actually selected
var count=0;
for (var t=5; t < theList.options.length; t++) {
if (!theList.options[t].selected) continue;
if (theList.options[t].value!='')
count++;
else { // if heading is selected, deselect it, and then select and count all in section
theList.options[t].selected=false;
for ( t++; t<theList.options.length && theList.options[t].value!=''; t++) {
theList.options[t].selected=true;
count++;
}
}
}
// disable 'export' and 'delete' buttons if no tiddlers selected
this.$('exportStart').disabled=(count==0);
this.$('exportDelete').disabled=(count==0);
// show selection count
var tiddlers = store.getTiddlers('title');
if (theList.options.length) this.displayStatus(count,tiddlers.length);
// if a [command] item, reload list... otherwise, no further refresh needed
if (selectedIndex>4) return;
// clear current list contents
while (theList.length > 0) { theList.options[0] = null; }
// add heading and control items to list
var i=0;
var indent=String.fromCharCode(160)+String.fromCharCode(160);
theList.options[i++]=
new Option(tiddlers.length+' tiddlers in document', '',false,false);
theList.options[i++]=
new Option(((sort=='title' )?'>':indent)+' [by title]', '',false,false);
theList.options[i++]=
new Option(((sort=='modified')?'>':indent)+' [by date]', '',false,false);
theList.options[i++]=
new Option(((sort=='modifier')?'>':indent)+' [by author]', '',false,false);
theList.options[i++]=
new Option(((sort=='tags' )?'>':indent)+' [by tags]', '',false,false);
// output the tiddler list
switch(sort) {
case 'title':
for(var t = 0; t < tiddlers.length; t++)
theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);
break;
case 'modifier':
case 'modified':
var tiddlers = store.getTiddlers(sort);
// sort descending for newest date first
tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] > b[sort]) ? -1 : +1; });
var lastSection = '';
for(var t = 0; t < tiddlers.length; t++) {
var tiddler = tiddlers[t];
var theSection = '';
if (sort=='modified') theSection=tiddler.modified.toLocaleDateString();
if (sort=='modifier') theSection=tiddler.modifier;
if (theSection != lastSection) {
theList.options[i++] = new Option(theSection,'',false,false);
lastSection = theSection;
}
theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);
}
break;
case 'tags':
var theTitles = {}; // all tiddler titles, hash indexed by tag value
var theTags = new Array();
for(var t=0; t<tiddlers.length; t++) {
var title=tiddlers[t].title;
var tags=tiddlers[t].tags;
if (!tags || !tags.length) {
if (theTitles['untagged']==undefined) { theTags.push('untagged'); theTitles['untagged']=new Array(); }
theTitles['untagged'].push(title);
}
else for(var s=0; s<tags.length; s++) {
if (theTitles[tags[s]]==undefined) { theTags.push(tags[s]); theTitles[tags[s]]=new Array(); }
theTitles[tags[s]].push(title);
}
}
theTags.sort();
for(var tagindex=0; tagindex<theTags.length; tagindex++) {
var theTag=theTags[tagindex];
theList.options[i++]=new Option(theTag,'',false,false);
for(var t=0; t<theTitles[theTag].length; t++)
theList.options[i++]=new Option(indent+indent+theTitles[theTag][t],theTitles[theTag][t],false,false);
}
break;
}
theList.selectedIndex=selectedIndex; // select current control item
this.$('exportStart').disabled=true;
this.$('exportDelete').disabled=true;
this.displayStatus(0,tiddlers.length);
},
askForFilename: function(here) {
var msg=here.title; // use tooltip as dialog box message
var path=getLocalPath(document.location.href);
var slashpos=path.lastIndexOf('/'); if (slashpos==-1) slashpos=path.lastIndexOf('\\');
if (slashpos!=-1) path = path.substr(0,slashpos+1); // remove filename from path, leave the trailing slash
var filetype=this.$('exportFormat').value.toLowerCase();
var defext='html';
if (filetype==this.type_TX) defext='txt';
if (filetype==this.type_CS) defext='csv';
if (filetype==this.type_NF) defext='xml';
var file=this.newdefault.replace(/html$/,defext);
var result='';
if(window.Components) { // moz
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, nsIFilePicker.modeSave);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension=defext;
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterText|nsIFilePicker.filterHTML);
if (picker.show()!=nsIFilePicker.returnCancel) var result=picker.file.persistentDescriptor;
}
catch(e) { alert('error during local file access: '+e.toString()) }
}
else { // IE
try { // XPSP2 IE only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|Text files|*.txt|HTML files|*.htm;*.html|XML files|*.xml|';
s.FilterIndex=defext=='txt'?2:'html'?3:'xml'?4:1;
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { // fallback
var result=prompt(msg,path+file);
}
}
return result;
},
initFilter: function() {
this.$('exportFilterStart').checked=false; this.$('exportStartDate').value='';
this.$('exportFilterEnd').checked=false; this.$('exportEndDate').value='';
this.$('exportFilterTags').checked=false; this.$('exportTags').value='';
this.$('exportFilterText').checked=false; this.$('exportText').value='';
this.showFilterFields();
},
showFilterFields: function(which) {
var show=this.$('exportFilterStart').checked;
this.$('exportFilterStartBy').style.display=show?'block':'none';
this.$('exportStartDate').style.display=show?'block':'none';
var val=this.$('exportFilterStartBy').value;
this.$('exportStartDate').value
=this.getFilterDate(val,'exportStartDate').formatString(this.datetimefmt);
if (which && (which.id=='exportFilterStartBy') && (val=='other'))
this.$('exportStartDate').focus();
var show=this.$('exportFilterEnd').checked;
this.$('exportFilterEndBy').style.display=show?'block':'none';
this.$('exportEndDate').style.display=show?'block':'none';
var val=this.$('exportFilterEndBy').value;
this.$('exportEndDate').value
=this.getFilterDate(val,'exportEndDate').formatString(this.datetimefmt);
if (which && (which.id=='exportFilterEndBy') && (val=='other'))
this.$('exportEndDate').focus();
var show=this.$('exportFilterTags').checked;
this.$('exportTags').style.display=show?'block':'none';
var show=this.$('exportFilterText').checked;
this.$('exportText').style.display=show?'block':'none';
},
getFilterDate: function(val,id) {
var result=0;
switch (val) {
case 'file':
result=new Date(document.lastModified);
break;
case 'other':
result=new Date(this.$(id).value);
break;
default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31
var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;
var oneday=86400000;
if (id=='exportStartDate')
result=new Date((Math.floor(now/oneday)-val)*oneday+tz);
else
result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);
break;
}
return result;
},
filterExportList: function() {
var theList = this.$('exportList'); if (!theList) return -1;
var filterStart=this.$('exportFilterStart').checked;
var val=this.$('exportFilterStartBy').value;
var startDate=config.macros.exportTiddlers.getFilterDate(val,'exportStartDate');
var filterEnd=this.$('exportFilterEnd').checked;
var val=this.$('exportFilterEndBy').value;
var endDate=config.macros.exportTiddlers.getFilterDate(val,'exportEndDate');
var filterTags=this.$('exportFilterTags').checked;
var tags=this.$('exportTags').value;
var filterText=this.$('exportFilterText').checked;
var text=this.$('exportText').value;
if (!(filterStart||filterEnd||filterTags||filterText)) {
alert('Please set the selection filter');
this.$('exportFilterPanel').style.display='block';
return -1;
}
if (filterStart&&filterEnd&&(startDate>endDate)) {
var msg='starting date/time:\n'
msg+=startDate.toLocaleString()+'\n';
msg+='is later than ending date/time:\n'
msg+=endDate.toLocaleString()
alert(msg);
return -1;
}
// if filter by tags, get list of matching tiddlers
// use getMatchingTiddlers() (if MatchTagsPlugin is installed) for full boolean expressions
// otherwise use getTaggedTiddlers() for simple tag matching
if (filterTags) {
var fn=store.getMatchingTiddlers||store.getTaggedTiddlers;
var t=fn.apply(store,[tags]);
var tagged=[];
for (var i=0; i<t.length; i++) tagged.push(t[i].title);
}
// scan list and select tiddlers that match all applicable criteria
var total=0;
var count=0;
for (var i=0; i<theList.options.length; i++) {
// get item, skip non-tiddler list items (section headings)
var opt=theList.options[i]; if (opt.value=='') continue;
// get tiddler, skip missing tiddlers (this should NOT happen)
var tiddler=store.getTiddler(opt.value); if (!tiddler) continue;
var sel=true;
if ( (filterStart && tiddler.modified<startDate)
|| (filterEnd && tiddler.modified>endDate)
|| (filterTags && !tagged.contains(tiddler.title))
|| (filterText && (tiddler.text.indexOf(text)==-1) && (tiddler.title.indexOf(text)==-1)))
sel=false;
opt.selected=sel;
count+=sel?1:0;
total++;
}
return count;
},
deleteTiddlers: function() {
var list=this.$('exportList'); if (!list) return;
var tids=[];
for (i=0;i<list.length;i++)
if (list.options[i].selected && list.options[i].value.length)
tids.push(list.options[i].value);
if (!confirm('Are you sure you want to delete these tiddlers:\n\n'+tids.join(', '))) return;
store.suspendNotifications();
for (t=0;t<tids.length;t++) {
var tid=store.getTiddler(tids[t]); if (!tid) continue;
var msg="'"+tid.title+"' is tagged with 'systemConfig'.\n\n";
msg+='Removing this tiddler may cause unexpected results. Are you sure?'
if (tid.tags.contains('systemConfig') && !confirm(msg)) continue;
store.removeTiddler(tid.title);
story.closeTiddler(tid.title);
}
store.resumeNotifications();
alert(tids.length+' tiddlers deleted');
this.refreshList(0); // reload listbox
store.notifyAll(); // update page display
},
go: function() {
if (window.location.protocol!='file:') // make sure we are local
{ displayMessage(config.messages.notFileUrlError); return; }
// get selected tidders, target filename, target type, and notes
var list=this.$('exportList'); if (!list) return;
var tids=[]; for (var i=0; i<list.options.length; i++) {
var opt=list.options[i]; if (!opt.selected||!opt.value.length) continue;
var tid=store.getTiddler(opt.value); if (!tid) continue;
tids.push(tid);
}
if (!tids.length) return; // no tiddlers selected
var target=this.$('exportFilename').value.trim();
if (!target.length) {
displayMessage('A local target path/filename is required',target);
return;
}
var filetype=this.$('exportFormat').value.toLowerCase();
var notes=this.$('exportNotes').value.replace(/\n/g,'<br>');
var total={val:0};
var out=this.assembleFile(target,filetype,tids,notes,total);
var link='file:///'+target.replace(/\\/g,'/');
var samefile=link==decodeURIComponent(window.location.href);
var p=getLocalPath(document.location.href);
if (samefile) {
if (config.options.chkSaveBackups) { var t=loadOriginal(p);if(t)saveBackup(p,t); }
if (config.options.chkGenerateAnRssFeed && saveRss instanceof Function) saveRss(p);
}
var ok=saveFile(target,out);
displayMessage((ok?this.okmsg:this.failmsg).format([total.val,target]),link);
},
plainTextHeader:
'Source:\n\t%0\n'
+'Title:\n\t%1\n'
+'Subtitle:\n\t%2\n'
+'Created:\n\t%3 by %4\n'
+'Application:\n\tTiddlyWiki %5 / %6 %7\n\n',
plainTextTiddler:
'- - - - - - - - - - - - - - -\n'
+'| title: %0\n'
+'| created: %1\n'
+'| modified: %2\n'
+'| edited by: %3\n'
+'| tags: %4\n'
+'- - - - - - - - - - - - - - -\n'
+'%5\n',
plainTextFooter:
'',
newsFeedHeader:
'<'+'?xml version="1.0"?'+'>\n'
+'<rss version="2.0">\n'
+'<channel>\n'
+'<title>%1</title>\n'
+'<link>%0</link>\n'
+'<description>%2</description>\n'
+'<language>en-us</language>\n'
+'<copyright>Copyright '+(new Date().getFullYear())+' %4</copyright>\n'
+'<pubDate>%3</pubDate>\n'
+'<lastBuildDate>%3</lastBuildDate>\n'
+'<docs>http://blogs.law.harvard.edu/tech/rss</docs>\n'
+'<generator>TiddlyWiki %5 / %6 %7</generator>\n',
newsFeedTiddler:
'\n%0\n',
newsFeedFooter:
'</channel></rss>',
pureStoreHeader:
'<html><body>'
+'<style type="text/css">'
+' #storeArea {display:block;margin:1em;}'
+' #storeArea div {padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}'
+' #pureStoreHeading {width:100%;text-align:left;background-color:#eeeeee;padding:1em;}'
+'</style>'
+'<div id="pureStoreHeading">'
+' TiddlyWiki "PureStore" export file<br>'
+' Source'+': <b>%0</b><br>'
+' Title: <b>%1</b><br>'
+' Subtitle: <b>%2</b><br>'
+' Created: <b>%3</b> by <b>%4</b><br>'
+' TiddlyWiki %5 / %6 %7<br>'
+' Notes:<hr><pre>%8</pre>'
+'</div>'
+'<div id="storeArea">',
pureStoreTiddler:
'%0\n%1',
pureStoreFooter:
'</div><!--POST-BODY-START-->\n<!--POST-BODY-END--></body></html>',
assembleFile: function(target,filetype,tids,notes,total) {
var revised='';
var now = new Date().toLocaleString();
var src=convertUnicodeToUTF8(document.location.href);
var title = convertUnicodeToUTF8(wikifyPlain('SiteTitle').htmlEncode());
var subtitle = convertUnicodeToUTF8(wikifyPlain('SiteSubtitle').htmlEncode());
var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());
var twver = version.major+'.'+version.minor+'.'+version.revision;
var v=version.extensions.ExportTiddlersPlugin; var pver = v.major+'.'+v.minor+'.'+v.revision;
var headerargs=[src,title,subtitle,now,user,twver,'ExportTiddlersPlugin',pver,notes];
switch (filetype) {
case this.type_TX: // plain text
var header=this.plainTextHeader.format(headerargs);
var footer=this.plainTextFooter;
break;
case this.type_CS: // comma-separated
var fields={};
for (var i=0; i<tids.length; i++) for (var f in tids[i].fields) fields[f]=f;
var names=['title','created','modified','modifier','tags','text'];
for (var f in fields) names.push(f);
var header=names.join(',')+'\n';
var footer='';
break;
case this.type_NF: // news feed (XML)
headerargs[0]=store.getTiddlerText('SiteUrl','');
var header=this.newsFeedHeader.format(headerargs);
var footer=this.newsFeedFooter;
break;
case this.type_PS: // PureStore (no code)
var header=this.pureStoreHeader.format(headerargs);
var footer=this.pureStoreFooter;
break;
case this.type_TW: // full TiddlyWiki
default:
var currPath=getLocalPath(window.location.href);
var original=loadFile(currPath);
if (!original) { displayMessage(config.messages.cantSaveError); return; }
var posDiv = locateStoreArea(original);
if (!posDiv) { displayMessage(config.messages.invalidFileError.format([currPath])); return; }
var header = original.substr(0,posDiv[0]+startSaveArea.length)+'\n';
var footer = '\n'+original.substr(posDiv[1]);
break;
}
var out=this.getData(target,filetype,tids,fields);
var revised = header+convertUnicodeToUTF8(out.join('\n'))+footer;
// if full TW, insert page title and language attr, and reset all MARKUP blocks...
if (filetype==this.type_TW) {
var newSiteTitle=convertUnicodeToUTF8(getPageTitle()).htmlEncode();
revised=revised.replaceChunk('<title'+'>','</title'+'>',' ' + newSiteTitle + ' ');
revised=updateLanguageAttribute(revised);
var titles=[]; for (var i=0; i<tids.length; i++) titles.push(tids[i].title);
revised=updateMarkupBlock(revised,'PRE-HEAD',
titles.contains('MarkupPreHead')? 'MarkupPreHead' :null);
revised=updateMarkupBlock(revised,'POST-HEAD',
titles.contains('MarkupPostHead')?'MarkupPostHead':null);
revised=updateMarkupBlock(revised,'PRE-BODY',
titles.contains('MarkupPreBody')? 'MarkupPreBody' :null);
revised=updateMarkupBlock(revised,'POST-SCRIPT',
titles.contains('MarkupPostBody')?'MarkupPostBody':null);
}
total.val=out.length;
return revised;
},
getData: function(target,filetype,tids,fields) {
// output selected tiddlers and gather list of titles (for use with merge)
var out=[]; var titles=[];
var url=store.getTiddlerText('SiteUrl','');
for (var i=0; i<tids.length; i++) {
out.push(this.formatItem(store,filetype,tids[i],url,fields));
titles.push(tids[i].title);
}
// if TW or PureStore format, ask to merge with existing tiddlers (if any)
if (filetype==this.type_TW || filetype==this.type_PS) {
var txt=loadFile(target);
if (txt && txt.length) {
var remoteStore=new TiddlyWiki();
if (version.major+version.minor*.1+version.revision*.01<2.52) txt=convertUTF8ToUnicode(txt);
if (remoteStore.importTiddlyWiki(txt) && confirm(this.mergeprompt.format([target]))) {
var existing=remoteStore.getTiddlers('title');
for (var i=0; i<existing.length; i++)
if (!titles.contains(existing[i].title))
out.push(this.formatItem(remoteStore,filetype,existing[i],url));
displayMessage(this.mergestatus.format([tids.length,out.length-tids.length]));
}
}
}
return out;
},
formatItem: function(s,f,t,u,fields) {
if (f==this.type_TW)
var r=s.getSaver().externalizeTiddler(s,t);
if (f==this.type_PS)
var r=this.pureStoreTiddler.format([t.title,s.getSaver().externalizeTiddler(s,t)]);
if (f==this.type_NF)
var r=this.newsFeedTiddler.format([t.saveToRss(u)]);
if (f==this.type_TX)
var r=this.plainTextTiddler.format([t.title, t.created.toLocaleString(), t.modified.toLocaleString(),
t.modifier, String.encodeTiddlyLinkList(t.tags), t.text]);
if (f==this.type_CS) {
function toCSV(t) { return '"'+t.replace(/"/g,'""')+'"'; } // always encode CSV
var out=[ toCSV(t.title), toCSV(t.created.toLocaleString()), toCSV(t.modified.toLocaleString()),
toCSV(t.modifier), toCSV(String.encodeTiddlyLinkList(t.tags)), toCSV(t.text) ];
for (var f in fields) out.push(toCSV(t.fields[f]||''));
var r=out.join(',');
}
return r||"";
}
}
//}}}
/***
!!!Control panel CSS
//{{{
!css
#exportPanel {
display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;
background-color: #eee; color:#000; font-size: 8pt; line-height:110%;
border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;
padding: 0.5em; margin:0em; -moz-border-radius:1em;-webkit-border-radius:1em;
}
#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }
#exportPanel table {
width:100%; border:0px; padding:0px; margin:0px;
font-size:8pt; line-height:110%; background:transparent;
}
#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }
#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }
#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}
#exportPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%; }
#exportPanel textarea { width:98%;padding:0px;margin:0px;overflow:auto;font-size:8pt; }
#exportPanel .box {
border:1px solid black; padding:3px; margin-bottom:5px;
background:#f8f8f8; -moz-border-radius:5px;-webkit-border-radius:5px; }
#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }
#exportPanel .rad { width:auto;border:0 }
#exportPanel .chk { width:auto;border:0 }
#exportPanel .btn { width:auto; }
#exportPanel .btn1 { width:98%; }
#exportPanel .btn2 { width:48%; }
#exportPanel .btn3 { width:32%; }
#exportPanel .btn4 { width:24%; }
#exportPanel .btn5 { width:19%; }
!end
//}}}
!!!Control panel HTML
//{{{
!html
<!-- target path/file -->
<div>
export to path/filename:<br>
<input type="text" id="exportFilename" size=40 style="width:93%"><input
type="button" id="exportBrowse" value="..." title="select or enter a local folder/file..." style="width:5%"
onclick="var fn=config.macros.exportTiddlers.askForFilename(this); if (fn.length) this.previousSibling.value=fn; ">
</div>
<!-- output format -->
<div>
output file format:
<select id="exportFormat" size=1>
<option value="TW">TiddlyWiki HTML document (includes core code)</option>
<option value="PS">TiddlyWiki "PureStore" HTML file (tiddler data only)</option>
<option value="TX">TiddlyWiki plain text TXT file (tiddler source listing)</option>
<option value="CS">Comma-Separated Value (CSV) data file</option>
<option value="NF">RSS NewsFeed XML file</option>
</select>
</div>
<!-- notes -->
<div>
notes:<br>
<textarea id="exportNotes" rows=3 cols=40 style="height:4em;margin-bottom:5px;" onfocus="this.select()"></textarea>
</div>
<!-- list of tiddlers -->
<table><tr align="left"><td>
select:
<a href="JavaScript:;" id="exportSelectAll"
onclick="config.macros.exportTiddlers.process(this)" title="select all tiddlers">
all </a>
<a href="JavaScript:;" id="exportSelectChanges"
onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers changed since last save">
changes </a>
<a href="JavaScript:;" id="exportSelectOpened"
onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers currently being displayed">
opened </a>
<a href="JavaScript:;" id="exportSelectRelated"
onclick="config.macros.exportTiddlers.process(this)" title="select tiddlers related to the currently selected tiddlers">
related </a>
<a href="JavaScript:;" id="exportToggleFilter"
onclick="config.macros.exportTiddlers.process(this)" title="show/hide selection filter">
filter </a>
</td><td align="right">
<a href="JavaScript:;" id="exportListSmaller"
onclick="config.macros.exportTiddlers.process(this)" title="reduce list size">
– </a>
<a href="JavaScript:;" id="exportListLarger"
onclick="config.macros.exportTiddlers.process(this)" title="increase list size">
+ </a>
</td></tr></table>
<select id="exportList" multiple size="10" style="margin-bottom:5px;"
onchange="config.macros.exportTiddlers.refreshList(this.selectedIndex)">
</select><br>
<!-- selection filter -->
<div id="exportFilterPanel" style="display:none">
<table><tr align="left"><td>
selection filter
</td><td align="right">
<a href="JavaScript:;" id="exportHideFilter"
onclick="config.macros.exportTiddlers.process(this)" title="hide selection filter">hide</a>
</td></tr></table>
<div class="box">
<input type="checkbox" class="chk" id="exportFilterStart" value="1"
onclick="config.macros.exportTiddlers.showFilterFields(this)"> starting date/time<br>
<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">
<select size=1 id="exportFilterStartBy"
onchange="config.macros.exportTiddlers.showFilterFields(this);">
<option value="0">today</option>
<option value="1">yesterday</option>
<option value="7">a week ago</option>
<option value="30">a month ago</option>
<option value="file">file date</option>
<option value="other">other (mm/dd/yyyy hh:mm)</option>
</select>
</td><td width="50%">
<input type="text" id="exportStartDate" onfocus="this.select()"
onchange="config.macros.exportTiddlers.$('exportFilterStartBy').value='other';">
</td></tr></table>
<input type="checkbox" class="chk" id="exportFilterEnd" value="1"
onclick="config.macros.exportTiddlers.showFilterFields(this)"> ending date/time<br>
<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">
<select size=1 id="exportFilterEndBy"
onchange="config.macros.exportTiddlers.showFilterFields(this);">
<option value="0">today</option>
<option value="1">yesterday</option>
<option value="7">a week ago</option>
<option value="30">a month ago</option>
<option value="file">file date</option>
<option value="other">other (mm/dd/yyyy hh:mm)</option>
</select>
</td><td width="50%">
<input type="text" id="exportEndDate" onfocus="this.select()"
onchange="config.macros.exportTiddlers.$('exportFilterEndBy').value='other';">
</td></tr></table>
<input type="checkbox" class="chk" id=exportFilterTags value="1"
onclick="config.macros.exportTiddlers.showFilterFields(this)"> match tags<br>
<input type="text" id="exportTags" onfocus="this.select()">
<input type="checkbox" class="chk" id=exportFilterText value="1"
onclick="config.macros.exportTiddlers.showFilterFields(this)"> match titles/tiddler text<br>
<input type="text" id="exportText" onfocus="this.select()">
</div> <!--box-->
</div> <!--panel-->
<!-- action buttons -->
<div style="text-align:center">
<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"
id="exportFilter" value="apply filter">
<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"
id="exportStart" value="export tiddlers">
<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"
id="exportDelete" value="delete tiddlers">
<input type=button class="btn4" onclick="config.macros.exportTiddlers.process(this)"
id="exportClose" value="close">
</div><!--center-->
!end
//}}}
***/
/***
|Name|ExportTiddlersPluginInfo|
|Source|http://www.TiddlyTools.com/#ExportTiddlersPlugin|
|Documentation|http://www.TiddlyTools.com/#ExportTiddlersPluginInfo|
|Version|2.9.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Requires||
|Overrides||
|Description|Documentation for ExportTiddlersPlugin|
interactively select and extract tiddlers from your ~TiddlyWiki document, and write them into another file, using one of several different file formats:
* ~TiddlyWiki - a complete, stand-alone, standard TiddlyWiki HTML document
* ~PureStore - a small HTML archive file containing tiddler data only (no core code)
* ~PlainText - a simple TXT text file with tiddler source listings
* Comma - a "Comma Separated Value" data/spreadsheet file
* ~NewsFeed - an XML-format file that can be published for RSS syndication.
!!!!!Usage
<<<
{{{
<<exportTiddlers>> (sidebar menu item)
<<exportTiddlers inline>> (embedded control panel)
}}}
Inline control panel (live):
<<exportTiddlers inline>>
Optional "special tiddlers" used by this plugin:
* SiteUrl<br>URL for official server-published version of document being viewed (used in XML export). Default: //none//
<<<
!!!!!Revisions
<<<
2009.07.06 [2.9.3] moved HTML to section for size reduction
2009.07.03 [2.9.2] TW252 fixup: don't call convertUTF8ToUnicode() for local loadFile() I/O
2009.04.30 [2.9.1] custom fields in CSV output
2009.04.19 [2.9.0] added CSV format
2009.02.26 [2.8.5] use macro-specific definition of $() function abbreviation (avoids conflict with JQuery)
2008.09.29 [2.8.4] in getData(), convert existing TW file from UTF8 to Unicode before merging to correct handling of international characters and symbols.
2008.09.26 [2.8.3] in go(), if rewriting *current* file and chkSaveBackups and/or chkGenerateAnRssFeed is enabled, then write a backup file or RSS feed, respectively.
2008.09.24 [2.8.2] in assembleFile(), make sure that markup block is updated if corresponding Markup* tiddler is exported.
2008.09.19 [2.8.1] in formatItem(), removed unnecessary convertUnicodeToUTF8() (was causing double-conversion!)
2008.09.11 [2.8.0] extensive code cleanup: moved all global functions inside macro object. Re-wrote file generator and I/O to support TiddlyWiki, PlainText, PureStore, and NewsFeed file formats. Replaced inline 'match tags' code with use of getMatchingTiddlers() from [[MatchTagsPlugin]] (if installed), with fallback to core getTaggedTiddlers() otherwise.
2008.05.27 [2.7.0] added ability to 'merge' with existing export file. Also, revised 'matchTags' functionality to be more robust and more efficient
2008.05.12 [2.6.1] automatically add 'export' task to backstage (moved from BackstageTweaks)
2008.03.10 [2.6.0] added "delete tiddlers" button
2007.12.04 [*.*.*] update for TW2.3.0: replaced deprecated core functions, regexps, and macros
2007.11.10 [2.5.1] removed debugging alert messages from promptForExportFilename()
2007.10.31 [2.5.0] code reduction: removed incomplete/unused interface and supporting functions for exporting directly to http, https or ftp servers. Plugin now supports exporting to local file only. Also, updated TW document output to generate TW2.2 compatible file format.
2007.10.30 [2.4.2] added automatic shadow tiddler definition for [[ExportTiddlers]]
2007.07.16 [2.4.1] in exportTWHeader(), reset HTML source 'markup' so installed markup is NOT copied to new file.
2007.06.30 [2.4.0] added "select related tiddlers" feature. Recursively scans the tiddler links[] info to find all tiddlers referenced by any of the currently selected tiddler, and then selects them all (including the original tiddlers).
2007.04.19 [2.3.0] in exportData(), pass SiteURL value as param to saveToRss(). Fixes 'undefined' appearing in tiddler link in XML output. Also, in refreshExportList(), added 'sort by tags'. Also, added 'group select'... selecting a heading (date,author,tag) auto-selects all tiddlers in that group.
2007.03.02 [2.2.6] in onClickExportButton(), when selecting open tiddlers for TW2.2, look for "storyDisplay" with fallback to "tiddlerDisplay" for TW2.1 or earlier
2007.03.01 [2.2.5] removed hijack of store.saveChanges()
2006.11.08 [2.2.4] added promptForExportFilename() and replaced type="file" control with edit field + browse button ("...").
2006.10.12 [2.2.3] in exportDIVFooter(), write POST-BODY-START/END markers for compatibility with TW2.1 core file format.
2006.05.11 [2.2.2] in createExportPanel, removed call to addNotification() to reduce unneeded feedback messages and increase overall document performance.
2006.05.02 [2.2.1] Use displayMessage() to show number of selected tiddlers instead of updating listbox 'header' item after each selection. Prevents awkward 'scroll-to-top' behavior that made multi-select via ctrl-click nearly impossible.
2006.04.29 [2.2.0] New features: free-form "Notes" text inserted in the header of PureStore files.
2006.03.29 [2.1.3] added calls to convertUnicodeToUTF8() for generated output, so it better handles international characters.
2006.02.12 [2.1.2] more FF1501 bug fixes.
2006.02.04 [2.1.1] added var to unintended globals to avoids FireFox1501 crash bug
2006.02.02 [2.1.0] Added support for output of complete TiddlyWiki documents
2006.01.21 [2.0.1] Defer initial panel creation and only register a notification function when panel first is created
in saveChanges 'hijack', create panel as needed. Note: if window.event is not available to identify the click location, the export panel is positioned relative to the 'tiddlerDisplay' element of the TW document.
2005.12.27 [2.0.0] Update for TW2.0.
2005.12.24 [0.9.5] Minor adjustments to CSS to force correct link colors regardless of TW stylesheet selection
2005.12.16 [0.9.4] Dynamically create/remove exportPanel so only one instance exists at a time
2005.11.15 [0.9.2] added non-Ajax post to bypass cross-domain security restrictions.
2005.11.08 [0.9.1] moved HTML, CSS and control initialization into exportInit() function and call from macro handler instead of at load time.
2005.10.28 [0.9.0] added 'select opened tiddlers' feature. Based on a suggestion by Geoff Slocock
2005.10.24 [0.8.3] Corrected hijack of 'save changes' when using http:
2005.10.18 [0.8.2] added AJAX functions
2005.10.18 [0.8.1] Corrected timezone handling and error checking/reporting when filtering tiddlers. More style tweaks, minor text changes and some assorted layout cleanup.
2005.10.17 [0.8.0] First pre-release.
2005.10.16 [0.7.0] filter by tags
2005.10.15 [0.6.0] filter by title/text
2005.10.14 [0.5.0] export to local file (DIV or XML)
2005.10.14 [0.4.0] filter by start/end date
2005.10.13 [0.3.0] panel interaction
2005.10.11 [0.2.0] panel layout
2005.10.10 [0.1.0] code framework
2005.10.09 [0.0.0] development started
<<<
//{{{
// WebSnapr - Preview Bubble Javascript
// Written by Juan Xavier Larrea
// Adapted for TW by Saq Imtiaz
// requires [[this image|bg.png]]
function applyStyleString(obj,str) {
if(document.all && !window.opera) {
obj.style.setAttribute("cssText",str);
} else {
obj.setAttribute("style",str);
}
}
// Point this variable to the correct location of the bg.png file
var bubbleImagePath = 'bg.png';
function getElementsByClassName(oElm, strTagName, strClassName){
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for(var i=0; i<arrElements.length; i++){
oElement = arrElements[i];
if(oRegExp.test(oElement.className)){
arrReturnElements.push(oElement);
}
}
return (arrReturnElements)
}
function bindBubbles(e){
lbActions=getElementsByClassName(document,"a","externalLink");
for(i=0;i<lbActions.length;i++){
addEvent(lbActions[i],"mouseover",attachBubble,false);
addEvent(lbActions[i],"mouseout",detachBubble,false);
lbActions[i].title = '';
}
}
function attachBubble(_b){
var _c;
if(_b["srcElement"]){
_c=_b["srcElement"];
}else{
_c=_b["target"];
}
if (_c.href == undefined){
_c=_c.parentNode;
}
var _d=_c.href;
var _e=findPosX(_c) +5;
var _f=findPosY(_c) +17;
var _10=document.createElement("div");
document.getElementsByTagName("body")[0].appendChild(_10);
_10.className="previewbubble";
applyStyleString(_10,"text-align: center; z-index: 99999; position: absolute; top: "+_f+"px ; left: "+_e+"px ; width: 240px; height: 190px; padding: 0; margin: 0;");
if (config.browser.isIE)
_10.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bubbleImagePath + "',sizingMethod='image')";
else
_10.style.background= "url("+ bubbleImagePath +") no-repeat";
var img=document.createElement("img");
_10.appendChild(img);
applyStyleString(img,"padding-top: 0; padding-left: 0; padding-right: 0; padding-bottom: 0; margin-top: 27px; margin-left: 12px; margin-bottom: 0; margin-right: 0; border: 0");
img.setAttribute("src","http://images.websnapr.com/?url="+_d);
img.setAttribute("width",202);
img.setAttribute("height",152);
img.setAttribute("alt","Snapshot");
}
function detachBubble(_12){
lbActions=getElementsByClassName(document,"div","previewbubble");
for(i=0;i<lbActions.length;i++){
lbActions[i].parentNode.removeChild(lbActions[i]);
}
}
old_websnapr_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,force)
{
var tiddlerElem = old_websnapr_refreshTiddler.apply(this,arguments);
bindBubbles();
return tiddlerElem;
}
//}}}
{{iframe{''Note'': This is a "framed" page from the '' '' web site. You can click on <<fullscreen>> to toggle full-screen mode, or you can view this page in a separate browser tab or window at http://fcc-opengov.ideascale.com/akira/dtd/13050-5020}}}
<html><iframe
src = "http://fcc-opengov.ideascale.com/akira/dtd/13050-5020"
title = "FCC Broadband Brainstorm: Promote Awareness of Universal Broadband Opportunities in Climate Change Mitigation & Adaptation"
style="
background-color:#ffffff;
border-color:#ffffff;
border:none;"
width = "100%"
height = "1000"
frameborder = "0"
scrolling = "yes">
</iframe></html>
Faye C. Feller has had a lifelong involvement with multi-cultural arts and education programs for children and youth. She is currently Executive Director of the National Association of Women for the Arts, and serves as ~Co-Chair of the [[NGO Committee on Education]] at the United Nations and as a U.N. Representative for [[Information Habitat: Where Information Lives]], an NGO in Special Consultative Status with ECOSOC that has focused on the transformative opportunities of the Internet revolution. Faye’s work with the NGO Committee on Education is focused on a major initiative in support of the UN Decade of Education for Sustainable Development, the International Decade for a Culture of Peace and ~Non-Violence for the Children of the World, the Decade of Action: Water for Life and the Second Decade of the World’s Indigenous People. Faye developed a prototype Science Seekers program as an after-school program for Middle School students at the Rotary Learning Lab in East Harlem; she has worked with student-led initiatives Peace in Public Places and Pumped up for Peace, which is featured on the U.N.'s Cyberschoolbus web site. Faye has served on the New York City Task Force for the ~Gandhi-King Season of Nonviolence.
''~FeedBlitz'' - [[www.feedblitz.com/|http://www.feedblitz.com/]] - is a powerful two-way broadcasting tool that you can use in conjunction with [[RSS feeds]] to publish a set of newsletters to which readers are able to subscribe, either - or both - of two ways: via an email subscription - [img[http://www.feedblitz.com/images/email.gif]], or through an [[RSS feed|RSS feeds]] - [img[http://www.feedblitz.com/images/rss.gif]]. ''~FeedBlitz'' offers free publishing services, in which advertisements are included, as well as ad-free premium services.
Here are some examples that show the usage of the write action in the ForEachTiddlerMacro. //''Select and Sort Examples''// * InClauseExamples * WhereClauseExamples * SortClauseExamples * ScriptClauseExamples //''Action Examples''// * AddToListActionExamples * WriteActionExamples Of cause you may also combine the examples, e.g. taking the whereClause of one example, the sortClause of a second and the action of a third.
/***
|''Name:''|ForEachTiddlerPlugin|
|''Version:''|1.0.8 (2007-04-12)|
|''Source:''|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''Copyright:''|© 2005-2007 [[abego Software|http://www.abego-software.de]]|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
!Description
Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.
''Syntax:''
|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]] is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
See details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].
!Revision history
* v1.0.8 (2007-04-12)
** Adapted to latest TiddlyWiki 2.2 Beta importTiddlyWiki API (introduced with changeset 2004). TiddlyWiki 2.2 Beta builds prior to changeset 2004 are no longer supported (but TiddlyWiki 2.1 and earlier, of cause)
* v1.0.7 (2007-03-28)
** Also support "pre" formatted TiddlyWikis (introduced with TW 2.2) (when using "in" clause to work on external tiddlers)
* v1.0.6 (2006-09-16)
** Context provides "viewerTiddler", i.e. the tiddler used to view the macro. Most times this is equal to the "inTiddler", but when using the "tiddler" macro both may be different.
** Support "begin", "end" and "none" expressions in "write" action
* v1.0.5 (2006-02-05)
** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.
** Support Firefox 1.5.0.1
** Internal
*** Make "JSLint" conform
*** "Only install once"
* v1.0.4 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.3 (2005-12-22)
** Features:
*** Write output to a file supports multi-byte environments (Thanks to Bram Chen)
*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)
** Enhancements:
*** Improved error messages on InternetExplorer.
* v1.0.2 (2005-12-10)
** Features:
*** context object also holds reference to store (TiddlyWiki)
** Fixed Bugs:
*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)
* v1.0.1 (2005-12-08)
** Features:
*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".
*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.
*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).
*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .
*** Improved script evaluation (for where/sort clause and write scripts).
* v1.0.0 (2005-11-20)
** initial version
!Code
***/
//{{{
//============================================================================
//============================================================================
// ForEachTiddlerPlugin
//============================================================================
//============================================================================
// Only install once
if (!version.extensions.ForEachTiddlerPlugin) {
if (!window.abego) window.abego = {};
version.extensions.ForEachTiddlerPlugin = {
major: 1, minor: 0, revision: 8,
date: new Date(2007,3,12),
source: "http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin",
licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",
copyright: "Copyright (c) abego Software GmbH, 2005-2007 (www.abego-software.de)"
};
// For backward compatibility with TW 1.2.x
//
if (!TiddlyWiki.prototype.forEachTiddler) {
TiddlyWiki.prototype.forEachTiddler = function(callback) {
for(var t in this.tiddlers) {
callback.call(this,t,this.tiddlers[t]);
}
};
}
//============================================================================
// forEachTiddler Macro
//============================================================================
version.extensions.forEachTiddler = {
major: 1, minor: 0, revision: 8, date: new Date(2007,3,12), provider: "http://tiddlywiki.abego-software.de"};
// ---------------------------------------------------------------------------
// Configurations and constants
// ---------------------------------------------------------------------------
config.macros.forEachTiddler = {
// Standard Properties
label: "forEachTiddler",
prompt: "Perform actions on a (sorted) selection of tiddlers",
// actions
actions: {
addToList: {},
write: {}
}
};
// ---------------------------------------------------------------------------
// The forEachTiddler Macro Handler
// ---------------------------------------------------------------------------
config.macros.forEachTiddler.getContainingTiddler = function(e) {
while(e && !hasClass(e,"tiddler"))
e = e.parentNode;
var title = e ? e.getAttribute("tiddler") : null;
return title ? store.getTiddler(title) : null;
};
config.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
// config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);
if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);
// --- Parsing ------------------------------------------
var i = 0; // index running over the params
// Parse the "in" clause
var tiddlyWikiPath = undefined;
if ((i < params.length) && params[i] == "in") {
i++;
if (i >= params.length) {
this.handleError(place, "TiddlyWiki path expected behind 'in'.");
return;
}
tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the where clause
var whereClause ="true";
if ((i < params.length) && params[i] == "where") {
i++;
whereClause = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the sort stuff
var sortClause = null;
var sortAscending = true;
if ((i < params.length) && params[i] == "sortBy") {
i++;
if (i >= params.length) {
this.handleError(place, "sortClause missing behind 'sortBy'.");
return;
}
sortClause = this.paramEncode(params[i]);
i++;
if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {
sortAscending = params[i] == "ascending";
i++;
}
}
// Parse the script
var scriptText = null;
if ((i < params.length) && params[i] == "script") {
i++;
scriptText = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the action.
// When we are already at the end use the default action
var actionName = "addToList";
if (i < params.length) {
if (!config.macros.forEachTiddler.actions[params[i]]) {
this.handleError(place, "Unknown action '"+params[i]+"'.");
return;
} else {
actionName = params[i];
i++;
}
}
// Get the action parameter
// (the parsing is done inside the individual action implementation.)
var actionParameter = params.slice(i);
// --- Processing ------------------------------------------
try {
this.performMacro({
place: place,
inTiddler: tiddler,
whereClause: whereClause,
sortClause: sortClause,
sortAscending: sortAscending,
actionName: actionName,
actionParameter: actionParameter,
scriptText: scriptText,
tiddlyWikiPath: tiddlyWikiPath});
} catch (e) {
this.handleError(place, e);
}
};
// Returns an object with properties "tiddlers" and "context".
// tiddlers holds the (sorted) tiddlers selected by the parameter,
// context the context of the execution of the macro.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {
var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);
var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;
context["tiddlyWiki"] = tiddlyWiki;
// Get the tiddlers, as defined by the whereClause
var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);
context["tiddlers"] = tiddlers;
// Sort the tiddlers, when sorting is required.
if (parameter.sortClause) {
this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);
}
return {tiddlers: tiddlers, context: context};
};
// Returns the (sorted) tiddlers selected by the parameter.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlers = function(parameter) {
return this.getTiddlersAndContext(parameter).tiddlers;
};
// Performs the macros with the given parameter.
//
// @param parameter holds the parameter of the macro as separate properties.
// The following properties are supported:
//
// place
// whereClause
// sortClause
// sortAscending
// actionName
// actionParameter
// scriptText
// tiddlyWikiPath
//
// All properties are optional.
// For most actions the place property must be defined.
//
config.macros.forEachTiddler.performMacro = function(parameter) {
var tiddlersAndContext = this.getTiddlersAndContext(parameter);
// Perform the action
var actionName = parameter.actionName ? parameter.actionName : "addToList";
var action = config.macros.forEachTiddler.actions[actionName];
if (!action) {
this.handleError(parameter.place, "Unknown action '"+actionName+"'.");
return;
}
var actionHandler = action.handler;
actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);
};
// ---------------------------------------------------------------------------
// The actions
// ---------------------------------------------------------------------------
// Internal.
//
// --- The addToList Action -----------------------------------------------
//
config.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {
// Parse the parameter
var p = 0;
// Check for extra parameters
if (parameter.length > p) {
config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);
return;
}
// Perform the action.
var list = document.createElement("ul");
place.appendCh