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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
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 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' 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>>
In der Zeit vom 30. März bis zur Bergung wird die ~Sunrise-Mission durch dieses Internet Tagebuch begleitet.
<<options>>
!!!Why Sunrise looks at the Sun neither from the ground nor from space

Earth’s atmosphere is a nuisance for astronomers – no matter what they want to observe from Earth with their telescopes: planets, far-off stars or the Sun. This is because the thick layer of air surrounding the Earth is constantly moving. While turbulent air currents and layers with different temperatures make the stars appear beautifully sparkly in the night sky, they also cloud the scientists’ view into space.

One way of avoiding this effect is to go into space. Telescopes and other scientific instruments flying through space as part of spacecrafts leave the atmosphere far behind – and with it the turbulences. At the moment, five spacecraft by NASA and ESA use this unbeatable ‘advantage of location’ to examine solar and space weather: SORCE, SOHO, Hinode, STEREO and Ulysses.

SUNRISE, however, is something in between. The solar observatory on the balloon is neither an earthbound telescope nor a spacecraft. Thus, it combines the advantages of both observation strategies. Without the enormous costs entailed by launching a rocket and the flight through space, SUNRISE overcomes the disturbing influence of the atmosphere. Once the observatory has reached its cruising altitude of about 37 kilometers (121,400 feet) in the stratosphere, it will have left behind 99 percent of the atmosphere.

[img[sunrise06|images/Atmosphaere_klein.jpg]]
//SUNRISE observes the Sun from an altitude of 37 kilometers. Credits: DWD/MPS//

“That is why, with its main mirror of about one meter (3.3 feet) in diameter, the SUNRISE telescope can show areas of the sun that have a size of only 35 kilometers (115,000 feet)”, says Peter Barthol, Project Manager of SUNRISE of the Max Planck Institute for Solar System Research. Even the new solar telescope GREGOR, currently being established on Tenerife, has a resolution of a little less that 70 kilometers (230,000 feet) in favorable conditions. Current spacecrafts which are usually equipped with smaller telescopes cannot keep up with SUNRISE either. The spacecraft SOHO, for example, that has been looking at our central celestial body since 1966 and to which the Max Planck Institute for Solar System Research has contributed several instruments, delivers a resolution of several hundred kilometers on the Sun’s surface. Therefore, SUNRISE alone could be capable of investigating smallest spatial fluctuations in the Sun’s magnetic field. Scientists believe that, among others, these fluctuations are responsible for the high temperatures in the Sun’s atmosphere, the corona.

The baffling sojourn between Earth and space provides another advantage for SUNRISE. Earth’s atmosphere surrounds our planet like a protective filter. Certain wavelengths of the sunlight just cannot penetrate it. Especially the part of the ultraviolet spectrum which has an even higher energy level than UV-A and UV-B radiation does not reach the surface. This is why earthbound telescopes do not register these wavelengths. SUNRISE, however, can investigate this part of the Sun’s light as well – and thus show detailed structures and phenomena such as eruptions much clearer.

Despite all these advantages, SUNRISE has to overcome a number of challenges. “The technical complexity equals that of a space mission”, says Barthol. This is because especially the stabilization of the observatory at these lofty heights is tricky. The desired high resolution can only be achieved if the instrument can counterbalance even the smallest gusts of wind and vibrations. To ensure this, SUNRISE is equipped with an extensive system for the regulation of its position as well as fast and efficient means of image stabilization. 

In addition, SUNRISE has to fight problems that are usually reserved for space missions, e. g. the removal of waste heat in an almost-vacuum: Just like home computers, the electric circuits in the observatory produce excess heat that needs to be discharged or the appliances might overheat. But what the fan does in a computer has to work in a totally different way up in the almost non-existing air of the stratosphere. Like spacecrafts that are surrounded by the vacuum of space, SUNRISE can dissipate the heat only in the form of radiation. Therefore, the surfaces of all appliances are especially coated and encased to prevent overheating.
!!!How SUNRISE measures the Sun’s magnetic field from a distance of 150 million kilometers (93 million miles).

Other than Mars, Venus or even Jupiter, the Sun is inaccessible for scientists. This is not only due to the vast distance between us and our central celestial body, but most of all due to the heat. Since the Sun’s surface has a temperature of a couple of thousand degrees, it is completely out of the question to ever examine this region and, for example, its magnetic fields up close.

Fortunately, this is not necessary. “The sunlight reaching Earth gives us all the information we need”, explains Dr. Achim Gandorfer, member of the SUNRISE team of the Max Planck Institute for Solar System Research (MPS). This is because the Sun’s magnetic fields change the light radiating from the star into space. While these changes are invisible to the naked eye, they can be detected by sensitive instruments like ~IMaX and SUFI aboard SUNRISE.

The sunlight originates in the outer regions of the Sun, the photosphere. This 5,500 °C (9,900 F)-hot, seething layer consists mostly of hydrogen, but also contains a few atoms of other elements like iron, oxygen and carbon. Since these elements absorb light of a certain wavelength, they leave very specific fingerprints in the spectrum of sunlight: the lines known as Fraunhofer-lines in the solar spectrum.

The reason for this lies in the inner structure of atoms. Electrons in an iron atom, for example, can only take on very few, specific energies which are characteristic for iron. When an atom changes from one of these energy states into another, the atom absorbs the surplus energy as light, thus causing characteristic “gaps” in the spectrum. Based on these spectral lines, scientists can determine the source of the light.

[img[sunrise26|images/Spektrum_markiert2_500.jpg]]
//The black Fraunhofer-lines in the solar spectrum are the fingerprint of the elements the Sun is made of. Especially the iron line marked in red is well-suited to measure magnetic fields. Credits: N.A.Sharp, NOAO/NSO/Kitt Peak FTS/AURA/NSF//

Whereas a magnetic field does not change this principle as such, the number of possible energy states an electron can adopt in an atom increases. Apart from the original wavelength, two more occur which are only slightly different from the first. “The more all three wavelengths deviate from each other, the stronger the magnetic field”, explains Gandorfer.

But sunlight does not only contain information about the strength of a magnetic field. It also reveals in which direction the magnetic field lines are pointing. This depends on the light’s polarisation, i. e. the orientation of the light wave’s oscillation. Different orientations, so-called polarisation states, contain information about different directions of the magnetic fields.

The instrument ~IMaX (Imaging Magnetograph eXperiment), developed by a Spanish group led by the Instituto Astrofísica de Canarias on Teneriffe, takes advantage of these connections. The way of the incoming light is first of all blocked by a crystal. Depending on which voltage is applied to it, only a certain wavelength can pass through the crystal. This enables the scientists to choose the wavelength they want to examine further: They either decide to use the characteristic wavelength of iron or one of its ‘magnetic neighbours’. After that, a polarisation filter determines a single polarisation state.

“Each exposure creates a three-dimensional picture of the Sun using light of one wavelength and one polarisation state”, explains Gandorfer. Therefore, the information about the whole magnetic field is not contained in a single image but in multiple ones – because more than one polarisation state at different wavelengths is needed. This is why the measurements have to be taken at short intervals. Otherwise the Sun’s magnetic fields could change before the measurement is finished.

SUFI (~SUnrise ~FIltergraph), the second scientific instrument aboard SUNRISE, also measures magnetic fields. However, it employs a different method: It uses the molecules in the photosphere, such as hydrocyanic acid. Other than single atoms, molecules absorb not only one characteristic wavelength but whole arrays of wavelengths. If these areas are missing in the solar spectrum, this is proof of these molecules existing in the Sun.

When looking at the Sun’s surface in the light of these absorption bands, magnetic fields are depicted as light areas. Areas of the Sun where molecules are missing have to be very hot because at very high temperatures the molecules’ components oscillate so violently that they fall apart. Their fingerprint in the spectrum is therefore missing and the picture is light in these areas.

“Temperatures this high can be found in the deeper layers of the Sun”, explains Gandorfer. The light coming from these areas can only escape unchanged and reach the Earth, if fewer atoms and molecules are in the way. “This is the case in areas of high magnetic field concentration”, says Gandorfer. Therefore, the Sun must be hot and highly magnetic in areas where molecules are missing. Just like for the method used by ~IMaX, the information is hidden in the sunlight. Well coded, but not impossible to crack.
[img[sunrise10|images/Anatomie_eng_500.jpg]]
//Credits: MPS //
!!!Why a close look at the Sun’s magnetic fields may solve many of the open questions in solar physics. 

The Sun is still puzzling scientists. Even though no other star in the universe is as close to Earth and therefore as accessible for scientists, 150 kilometers remain a very large distance. Especially, if you want to take a very close look. And just that seams to be necessary in order to answer many of the open questions regarding our central celestial body. Scientists suspect the finely structured magnetic field of the Sun to be the key to understanding phenomena such as the solar wind, sunspots, and others. Processes that occur on scales below 100 kilometers seem to be decisive. Only SUNRISE with its resolution of about 35 kilometers has the capability to visualize these processes. 

Similar to the Earth a part of the Sun’s magnetic field is created deep within the star. In the so-called convection zone hot plasma rises to the surface, cools off and then sinks back down again. These flows, which can be highly turbulent, put the carriers within the plasma into motion and create a magnetic field.  

[img[sunrise23|images/Magnetfeld_Loop.jpg]]
//The Sun's magnetic fields are decisive for a better understanding of sunspots, solar wind and many other phenomena. //

Despite this similarity, the Sun’s overall magnetic structure is rather unlike the Earth’s. Even though the Sun’s magnetic field also includes a part with a fixed North and South Pole like a bar magnet, this part is rather weak. The magnetic fields that scientists have measured within sunspots for example are up to a thousand times stronger. These dark regions on the Sun’s surface can sometimes even be discerned from Earth with the naked eye and are approximately 2000 degrees Celsius cooler than their surroundings. The strong magnetic fields hinder the hot plasma from rising to the surface. 

Apart from that, the dark spots on the Sun are a very dynamical phenomenon. They appear and disappear on the Sun’s surface in a cycle of eleven years. Every eleven years very many spots cover the Sun, in between there are especially few. Right now, the Sun is covered by very few spots. Almost no dark regions are visible. But even though this rhythm has been known since 1843, the processes that create this cycle are not yet understood. Computer simulations, for example, can not predict how a certain sunspot will behave, when it emerges and when it disappears again. The only thing that is for sure is that magnetic processes play an important role. 

Another one of the Sun’s riddles can be found in the Sun’s atmosphere, the so-called corona. This region, that can be seen from the Earth only during a solar eclipse, is an exception from the normal temperature pattern within the Sun. With its several million degrees Celsius the corona is much hotter than the layer below. Everywhere else within the Sun the temperature decreases from the inside toward the surface. Scientists assume, that in the corona a part of the plasma’s kinetic energy is converted into thermal energy – possibly aided by magnetic processes. However it is still unclear, how this heating works in detail. 

Closely linked to this riddle is the riddle concerning the origin of the solar wind. This is a constant flow of charged particles leaving the Sun with velocities of up to 800 kilometers per second. Magnetic structures in the corona appear to be responsible for this effect. In some regions close to the poles of the Sun or above the sunspots, these magnetic structures resemble cones and can accelerate the charged particles into space. But also here the exact processes are not yet understood. Only a closer and more detailed look at the Sun can help. 
!!!Why the SUNRISE telescope is a featherweight and why it really needs to stay cool.

Balloon-borne instruments need to be lightweight. This also applies to the centrepiece of the SUNRISE mission: the telescope. It will catch the sunlight and provide light for all scientific instruments on board the gondola. It is a high precision optical appliance that was built by the Max Planck Institute for Solar System Research together with ~Kayser-Threde, a company from Munich. Despite its length of four meters (13.1 feet) the telescope weighs only 350 kilograms (772 pounds). 

This is possible not only thanks to the light carbon-fiber framework which holds the instrument together but also thanks to the main mirror made by SAGEM in France which, at a diameter of one meter (3.3 feet), weighs only 45 kilograms (99.2 pounds). Its secret lies in the delicate structure: The front of the mirror is highly polished and extremely smooth. The backside, however, is made of a triangular honeycomb structure. Some of the walls dividing the combs are only 4 millimeters (0.16 inches) thick.

Despite this lightweight construction, the mirror needs to be very stable. After all, it will be shaken up a bit when rising to a height of 37 kilometres (121.400 feet) – and later on, it should also survive the landing in northern Canada in one piece. Additionally, the good imaging characteristics of the telescope have to be maintained, no matter if the Sun is just above the horizon or high up in the sky. “It has become apparent that glass ceramics suit our purposes best”, explains Project Manager Peter Barthol. Unfortunately, the first mirror constructed from the stiffer silicone carbide proved impractical. “The technology is promising but it still has its shortcomings”, says Barthol.

[img[sunrise15|images/Teleskop_Integrationsraum_Herting500.jpg]]
//A look into the interior of the telescope in March. At this time it was still in the integration room at the Max Planck Institute for Solar System Research. Credits: Herting//

Low weight and high stability are not the only characteristics the telescope needs to have. Most of all it must not become too hot because the heat of incoming sunlight can impede the telescope’s visual acuity. High temperatures could for example cause very slight changes in the position and shape of both mirrors and thus disturb the finely gauged instrument. And extreme heat might cause turbulences even in the thin air of the higher atmosphere – like air over hot asphalt in summer. In the pictures of the Sun, those turbulences would be visible as irregular streaks.

So the heat has to be transported away from the instrument. However, the easiest way – cooling by air – is not an option for the ~SUNRISE-mission because the air at a height of 37 kilometers (121,400 feet) is too thin to absorb and dissipate enough heat. Instead, the scientists and engineers equipped the observatory with a number of alternative cooling mechanisms. On the whole, the laboratory hanging from the balloon will have a maximum temperature of 60 °C (140 F) – not more than a warm laundry cycle.

[img[sunrise16|images/Teleskop500.jpg]]
//The main mirror (right) reflects and concentrates the incoming sunlight onto the secondary mirror (left). The secondary mirror reflects the light back to where it is uncoupled and forwarded to the instruments above the telescope. Credits: MPS//

“The coating of the main mirror has been chosen to absorb the least possible radiation”, explains Barthol. Most of the sunlight is reflected – and therefore cannot heat up the mirror. The little heat the material does absorb is efficiently dissipated as thermal radiation by the combs on the back of the mirror.

The trickiest point lies between the main and secondary mirror. This is because, even before the light reaches the secondary mirror, the main mirror focuses the incoming sunlight in one spot, like a huge burning glass. The captured energy of the light is one kilowatt, which corresponds to that of a hotplate, all concentrated on an area of only two square centimeters (0.8 square inches)

Overheating is prevented by a trick: a massive, highly reflective aluminum body with a narrow opening ensures that only about one percent of the sunlight passes in the direction of the secondary mirror. The rest is reflected into the environment. That way, the telescope looks at an area that corresponds to only about ten percent of the Sun’s diameter.

The aluminium body in the focal point is also cooled by two heat pipes. These are thin-walled pipes filled with ammonia. The liquid ammonia undergoes a permanent cycle: it absorbs the body’s heat, then evaporates and rises. Once risen, the gas dissipates its heat over metal sheets and flows back as a cool liquid.

“Despite all these tricks, the temperature of the telescope won’t be constant during the flight”, cautions Barthol. Depending on the ground the solar observatory passes over – water, ice, clouds or land – the Earth reflects different amounts of heat into the atmosphere. This also affects the heat balance of SUNRISE. To be able to react to the changes during the flight, the secondary mirror can be moved in all three directions and a sensor in the instruments constantly monitors the system’s imaging characteristics. Thus, the telescope can be adjusted for the best possible picture quality, also during the flight.


[img[sunrise10|images/Anatomie_eng_500.jpg]]
//Credits: MPS //
Background: #ffffef
Foreground: #800000
PrimaryPale: #ffff80
PrimaryLight: #ff9000
PrimaryMid: #e20a16
PrimaryDark: #91070e
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
[[Prelude: Following the Sun]]
[img[sunrise17|images/Chares_Blog.jpg]]
//Bernd Chares from the  Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Bernd Chares:
“A few days ago, the telescope looked into the Sun for the first time here in Kiruna. Using the crane fixed to the hangar’s roof we moved the whole gondola so close to the open door that we can watch the sun now. However, this isn’t all that easy. The hangar opens to the South so that we could theoretically see the sun from sunrise to sunset. But unfortunately the system is so large that, at some times during the day, the shadows cast by the hangar are in our way.

The important point is to have different areas of the system look at the Sun simultaneously: on the one hand the telescope itself, on the other the sensor responsible for pointing. Only then can the system orient itself towards the Sun. These two elements – telescope and sensors – are geometrically far apart.

We have an artificial light source, a spotlight with a capacity of 12 kilowatt, like the ones used in theatres. While this spotlight is not a substitute for the Sun as far as the instruments are concerned, we can use it to test the pointing systems which are crucial for the telescope’s correct alignment with the Sun.”

[img[sunrise18|images/Blick_aus_der_Halle.jpg]]
//SUNRISE looks into the Sun through the open door of the hall. As a precaution, a reflector foil prevents too much light from reaching the telescope. Credits: MPS//

“As long as we don’t know exactly how well the pointing works, we have taken precautions to protect the telescope. We have installed a reflector foil in front of the telescope and made only four holes in the foil. That way we reduce the income of light. The light is focused inside the telescope and if this bundle of rays entered the telescope at an angle – because the pointing didn’t work properly – it wouldn’t hit the point it was supposed to. We are a little afraid of this happening. A concentrated ray of sunlight is immensely powerful and could damage something. This is why we decided to use the trick with the foil.

Unfortunately, we discovered that the electronic units on both sides of the gondola have an eigenfrequency that has caused us a bit of a headache. When the gondola turns to align itself with the Sun, the eigenfrequency is activated and causes the whole system to vibrate. We neither planned for that nor was it apparent from the analysis we commissioned. But reality can be unexpected at times. Now we have an idea how to solve the problem. Yesterday, our Swedish colleagues found a couple of rods that can be attached to the electronic units with relatively little hassle. These will give additional stability.”

[img[sunrise19|images/CSBF_Container.jpg]]
//The containers carrying the huge balloon and other equipment arrived in Kiruna the day before yesterday. Credits: MPS//

“Two days ago our colleagues from the Columbia Scientific Ballooning Facility arrived and brought eight huge containers with them. These carry the balloon and other equipment such as the landing parachute and the linking elements between parachute and gondola, but also equipment for other missions starting later this year from ESRANGE.”


[img[sunrise05|images/Barthol_Blog.jpg]]
//Peter Barthol from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Project Manager Peter Barthol from the Max Planck Institute for Solar System Research arrived at ESRANGE Space Center in Kiruna (Sweden) three days ago. Four days before, two large trucks and two additional vans left the Max Planck Institute in ~Katlenburg-Lindau (Germany) for Kiruna. On board they carried the scientific instruments for the ~SUNRISE-mission an additional gear. 

Peter Barthol: 
“Everything is a little chaotic right now. Constantly someone is arriving or someone is leaving. There is a constant change in personnel. Today again, a lot of people will arrive, because we are planning a systems test for tomorrow. We want to check, if the transportation of the instruments went well. We are expecting five colleagues from the Kiepenheuer Institute for Solar Physics and three from Spain. And we are already twelve people here.”

“The trucks carrying the instruments, the telescope and our gear arrived on Monday afternoon at around 4 p.m. However, only one of the trucks made it to ESRANGE as it should. The entire distance from ~Katlenburg-Lindau in Germany to Kiruna is more than 2400 kilometers. And on the last kilometer and a half before ESRANGE the truck carrying the instrumentation slid into a roadside ditch. The road had been cleared of snow, but to the right and the left everything was white. That’s why you could not tell, where the ditch begins. Luckily, as the truck was being pulled out of the ditch you could see, that it must have slid in very gently. The recovery of the truck, however, must have been very complicated. It took a truck-mounted crane several hours to pull our truck out of the ditch and hoist it back onto the road. Afterwards, all the containers were brought to ESRANGE. And at night, when we arrived, everything was already ok again.”

[img[sunrise08|images/Lastwagen500_2.jpg]]
//Just a few kilometers short of its final destination in northern Sweden the truck carrying the instrumentation slid into a roadside ditch. Its load, however, was not damaged. Credits: MPS//

“Today we carried out the first optical measurements. At this point we believe, that everything is in order. Mechanically the instruments look fine. They are all still in their place.”

“On the day after our arrival we opened the containers and brought the telescope, the instruments, the electronics, and all the boxes with our gear into the hangar that we have at our disposal here. It was necessary to acclimatize the equipment before opening the packaging. The equipment is, of course, very cold and if we were to bring it into the warm hangar, water would condensate everywhere. We even rinsed some of the instruments with dry air, while they were still wrapped. By doing that, not as much moisture can condensate within the packaging.“

[img[sunrise09|images/Halle500_2.jpg]]
//The quarters for the next weeks: At ESRANGE Space Center the ~SUNRISE-team has a large hangar at its disposal. In the background you can already see the white gondola that will carry the scientific instruments and will be directly connected to the balloon. Credits: MPS (P. Barthol)//

“In our hangar we have already moved everything back and forth a few times. There are boxes everywhere. And one half of the hangar is already housing the gondola. When we arrived, it had already been assembled. Two colleagues from the Kiepenheuer Institute arrived together with me. They intend to help out with the gondola. For example, they will help with the thermal insulation. The gondola is being encased with a special material, in order to create a controlled environment for the telescope. This is a kind of sandwich material that has to be especially prepared for use. This requires a lot of manual work, a lot of cutting and pasting.”
[img[sunrise05|images/Deutsch_Blog.jpg]]
//Werner Deutsch from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Werner Deutsch:
“Today in the afternoon our colleagues from ~Kayser-Threde will perform some measurements and determine the exact characteristics of the telescope. This company built the instrument together with the Max Planck Institute for Solar System Research. They now want to examine if the mirrors are still properly adjusted after the long transport. This is why I’m currently not in the hangar which we use here and where we keep the telescope. These measurements are extremely sensitive. If somebody walks around in the hangar, the results may be imprecise. We will use the time in a different way and catch up today after 6 p.m.”

“Overall we are still well within our schedule. However, on Sunday we had to take our magnetograph ~IMaX out of its frame to test it. That wasn’t too easy – after all, the instrument weighs about 50 kilograms. This may not sound like much. But when you have to lift it yourself, it’s a different matter. We tested the instrument on the same day, put it back in its frame and measured it again. The Spanish colleagues who managed the development and construction of ~IMaX could already leave on Monday.”

“We still have some buffer time since we worked through the whole weekend except for a short trip to Kiruna and we got a lot of work done in the first few days. This is also thanks to our Swedish colleagues here. If we need anything, there is always somebody there to help. It’s great!”

“On Saturday we will probably already mount the instruments which will later travel piggy-back on the telescope and mate both units. We would like to take a day off on Easter Sunday – if it’s possible. We won’t if it hinders the project’s progress.”

[img[sunrise20|images/Barthol_Blog.jpg]]
//Peter Barthol from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Peter Barthol:
“Today, SUNRISE looked into the Sun for the first time without the protective foil. This is an important milestone. We have seen the sunlight through the whole opening of the telescope for the first time.”

[img[sunrise21|images/First_Light_1_500.jpg]]
//First light: SUNRISE looks into the Sun for the first time without the protective foil. Credits: MPS (P. Barthol)//

“In the last few days, we tested the positioning system of the gondola. We want SUNRISE to point itself toward the Sun during the flight. We have made much headway in that respect. However, we can’t improve the pointing mechanism if we stay inside the hangar because, even if we move the gondola as closely as possible to the door, some sensors still lie in the shade.

Despite all that, we had no concerns to remove the protective foil which so far only let part of the sunlight pass. And everything went smoothly. The temperatures measured on the inside of the telescope are great. We don’t need to worry about the instrument overheating. Even at the critical point where the picture is eventually created we measured only 28 °C  – despite the fact that this point is hit by a power of one kilowatt. If you were to put a piece of paper in that spot, it would immediately go up in smoke. But our cooling mechanisms work very well. Now we can go on calibrating the scientific instruments, for instance adjusting the exposure time to real sunlight.”
 
[img[sunrise22|images/First_Light_2_500.jpg]]
//A look at SUNRISE from the inside of the hangar. Credits: MPS (P. Barthol)//

“We spent the last few days mostly testing the software. Yesterday, for example, we tested the automatic sequence which is supposed to run upon reaching cruising height. First of all, SUNRISE will point itself towards the sun and automatically start the first measurements. During the tests we encountered a couple of hiccups here and there but that is totally normal. We have analyzed them and have already solved most of the issues.”

“The colleagues from the Columbia Scientific Ballooning Facility (CSBF) who are responsible for the balloon are practicing the communication via satellite. In the first couple of hours of the flight SUNRISE sends the data directly to us, but as soon as it disappears behind the horizon, this won’t be possible anymore. From this point on the scientific data will be stored on board. However, we also need to send commands and check the vital signs of SUNRISE. This will happen via satellite. Today in the afternoon we will test this radio link for the first time. We will send a signal from here to the satellite and from there to CSBF headquarters in Texas which is where ground support for the mission will be located. From there we will receive the signal via internet.”


[img[sunrise11|images/Barthol_Blog.jpg]]
//Peter Barthol from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Peter Barthol:
“The telescope and the scientific instruments have now been joined with the gondola for a few days. We have also mounted the electronic units and the frame for the cover. This cover will hopefully protect the instruments and other electronic devices from the cold when the balloon rises. When SUNRISES rises, the system passes the tropopause at a height of about 10 kilometers at a speed of about 15 kilometers per hour. We expect the tropopause to be about -45 °C  cold. During our test flight in 2007 it was even worse. Back then, the tropopause was -75 °C cold. Naturally, the instruments and electronics don’t like that very much.

An elegant solution to this problem is to protect the sensitive devices with a kind of windshield so the cold wind can’t cool them too much during the rise. The best material for this purpose blocks the wind but doesn’t affect the instruments’ heat discharge. Because once the cruising altitude is reached, the instruments have to be able to dissipate heat so they don’t overheat.

We had the idea that a polyethylene film would be the right choice for this task – also because the balloon itself is made from this material. Therefore, the colleagues from the Columbia Scientific Ballooning Facility, who contribute the balloon, had already examined the material very thoroughly. After all, they need to know the thermal and optical characteristics of the foil for their balloon in detail. If they didn’t, they wouldn’t know how the balloon would react when the Sun is shining or setting.

The framework for the film has been mounted but the film itself will be added later. We don’t want it to be damaged during the work that still needs to be done.”

[img[sunrise12|images/Gruppenbild500.jpg]]
// Finished: The telescope and the instruments are joined with the gondola. Credits: MPS//

[img[sunrise13|images/Blick_nach_draussen500.jpg]]
// A look at the gondola.  Credits: MPS (P. Barthol)//

“In addition, our artificial Sun has been erected today. It’s a kind of huge spotlight with a capacity of twelve kilowatts which we rented here. That way we are independent from the weather and can provide the system with artificial sunlight. A scientist from the High Altitude Observatory in Boulder, Colorado will arrive next week. She is responsible for the sensors and the mechanism that controls the gondola’s position. Both are supposed to enable SUNRISE to direct itself towards the Sun without any input from the ground during the flight. We got the artificial sun so she can test if this works.”

[img[sunrise14|images/kuenstliche_Sonne500.jpg]]
// For the tests a huge spotlight replaces the real Sun. Credits: MPS (P. Barthol)//

“Overall we are well within schedule. However, there is a small delay. We are still waiting for an instrument from Palastine, Texas. This instrument is the unit that controls the on-board communication as soon as SUNRISE has disappeared over the horizon. From this point on we communicate with the system by satellite.

The appliance was shipped by surface mail from Texas; it has been on its way to us for some time. Last week, we were promised that a second unit would be sent to us by air. It reached London today and might arrive in Stockholm tomorrow. But tomorrow is Saturday and the customs officers may not be working. We are currently trying to solve this issue but chances are that the appliance doesn’t get here until Monday.

This step now regulates our schedule because the communication unit is heavy and changes the system’s moments of inertia. These have an influence on how fast the system turns when it’s positioning itself to look at the Sun. This means that we need to install the communication unit before we can test the positioning mechanism.”




[img[sunrise30|images/Barthol_Blog.jpg]]
//Peter Barthol from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

"Early on Sunday morning, June 14th, around 1.45 a.m. SUNRISE landed in the north of Canada. At 0.52 a.m. we gave the command to stop the flight and separated the balloon from the gondola. However, it took almost another two hours until SUNRISE sailed to the ground. The landing place on Somerset Island is a bit more to the north than we had expected at the beginning of the mission. We had anticipated the winds to carry SUNRISE in a more southwestern direction to Victoria Island. But things have turned out differently.”

[img[sunrise31|images/Karte_english_500.jpg]]
//SUNRISE has landed on Somerset Island. Credits: MPS//

“The last hours of flight were very, very exciting. After all, we wanted to prevent SUNRISE from landing in the water by all means. That would have made the recovery much more difficult. But somehow SUNRISE followed the waters of the ~North-West-Passage for some time. This is the sea route winding between the northern Canadian islands. It seems, the balloon wanted to play us a trick. In a height of 37 kilometers it should not be able to notice much of the properties of the surface below.”

“About 45 minutes before we gave the command for landing we induced the mission’s end here at Kiruna. We brought the telescope into a horizontal position, closed the shutter infront of the main mirror, and switched off the instruments onboard. Our colleagues from the Columbia Scientific Ballooning Facility (CSBF), who are responsible for navigation, started studying their maps carefully and gathering information about the wind directions near the possible landing site. That really worked out well. After all, our colleagues have a lot of experience with how the system will behave once the parachute has opened.”

"At this point we don’t know, in what shape the observatory is in. We only have some clues. At 1.45 a.m., right after the landing, we still received signals from SUNRISE. That is a very good sign. However, it seems to have been very windy at the surface. Our colleagues from CSBF have therefore warned us, that possibly SUNRISE did not land in an upright position. Perhaps it has toppled over. “

“Werner Deutsch and Bernd Chares from MPS and Jack Fox from the High Altitude Observatory are already in Yellowknife in the north of Canada preparing for the recovery. CSBF has been able to fly over the landing site with a plane twice. Unfortunately, a thick layer of clouds blocked their sight. They could, however, see that the parachute had been well separated from the gondola. That is also a very good sign. It means that the parachute didn’t drag SUNRISE across the ground after the landing. 

On Thursday those three colleagues will travel by plane to Resolute Bay, the town closest to the landing site. Resolute Bay has a population of only a few hundred people, but there is a small airfield. For the last 100 kilometers our colleagues will then resort to a helicopter.”

“For us this all is still very exciting. After all, the mission is only really successful, if we recover the data. It was saved onboard during the flight. But already we are very content with the mission. We had a flight time of 137 hours. That is considerably more than five days. And all instruments worked flawlessly. We could, for example, take a close look at the North and South Pole of the Sun. Apart from that, there is synchronal data from observations of our co-observers from around the world.“

“Here in Kiruna we are now wrapping things up and packing our equipment together. The containers will arrive in ~Katlenburg-Lindau on Friday.”
[img[sunrise07|images/Gandorfer_Blog.jpg]]
//Achim Gandorfer from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Achim Gandorfer: 
“We got through the Easter holidays well. We really got a lot done. It’s great to see, how everything is progressing. On Good Friday and the day after we worked until late in order to celebrate the mechanical mating of telescope and instruments. Later during the flight the telescope will carry the instruments piggy-back in their own instrumentation platform. That’s why both parts need to be connected. On Easter Sunday we then took the day off. A few of us used the opportunity to get to know the surrounding area, others went to church in Kiruna. That was very interesting, even if we didn’t understand much.”

“The mating of telescope and instruments is a very, very important step. This is a real milestone. On Monday evening it was finished. Especially the optical connection between both parts is important. After all, the telescope provides the other instruments with light. That’s why the mirrors, that route the light to the instruments, have to be extremely well adjusted – up to the fraction of one degree. We had, however, practiced this step back at home at the Max Planck Institute in ~Katlenburg-Lindau. We therefore knew exactly what to do and finished quickly. On Monday evening we could complete this step to everyone’s full satisfaction. 

However, we have now come across a new difficulty. Before, we had so many separate sites to work at that many people could operate at the same time. But now as the system grows together more and more, it is becoming more difficult to time the different work processes. Right now, for example, everyone wants to work on the telescope. A few people want to work on the thermal insulation, others want to optimize the optical setting. But we can’t do both at the same time.”

“In the past few days we also wrapped the telescope in its insulation. Some parts of this insulation we could install only after telescope and instruments had been connected. That was very exciting, because we hadn’t been able to practice this step in ~Katlenburg-Lindau. Several groups of people worked on the insulation. It’s a little bit like wrapping presents. The insulation consists of an isolating material that has to be wrapped in a foil coated with aluminum. This foil is important so that the instruments can emit their heat. That’s how we create individual slabs of insulation for each part of the instrument platform. But that really isn’t easy, because the platform is not a smooth box. Everywhere there are radiators or mounting parts. You therefore can’t use smooth slabs of insulation. Each slab has to be adjusted individually. But everything was done so well, that now there are no gaps anywhere. In a way, it’s like a three-dimensional puzzle.

In the beginning I was a bit skeptical. I felt that the instrument platform with its structure of carbon fiber was really pretty. I thought that the insulation would blemish this. But I have to say: It looks great. Like a ritzy, shiny vintage car.”

[img[sunrise08|images/Isolierung2.jpg]]
//In its insulation the instrument platform looks like a shiny vintage car. Credits: MPS //

“It is really amazing to watch the system grow together. We have now achieved a state that we never had at the institute in ~Katlenburg-Lindau. There, we had already connected telescope and instruments. But without the insulation. As it is now, nobody has ever seen the system before.”

[img[sunrise09|images/Verheiratung.jpg]]
//The instrument platform travels piggy-back on the telescope. Credits: MPS //

“Yesterday, we calibrated the magnetograph ~IMaX. That is a very important calibration that has be done on the ground. We are now measuring, how the entire system recognizes the polarization of the incoming light. Before it reaches the instruments, the light has passed the telescopes, several mirrors, and the complicated optics in the instrument platform. That changes the polarization. We now have to find out, how exactly. This is necessary in order to connect the measured data with the actual polarization of the incoming light. The calibration works like this: We feed the system with polarized light. The measurement then takes 20 minutes. Then, we have to bring the polarisator into a new position and start another measurement. All in all, this takes up to three hours and a half.”

“Moving forward.” As Victor Davidson from the Columbia Scientific Ballooning Facility gives the order, the huge yellow vehicle sets into motion. Inch by inch the shoulder-high tyres move the 17-meter long (56 feet) launch vehicle Hercules closer to the hangar. The engine’s roaring swallows the murmur of the onlooking scientists and engineers. Behind the open door of the ‘cathedral’, as the employees of ESRANGE Space Centre call the construction hall, the solar observatory SUNRISE is waiting. The members of the SUNRISE team have already moved the observatory as close to the door as possible using the crane inside the hall.

[img[sunrise26|images/DryRun3_500.jpg]]
// The launch vehicle Hercules moves its crane as closely to the hall as possible to take over SUNRISE. Credits: MPS (K. Heerlein) //

Jack Fox from the High Altitude Observatory in Colorado is already waiting on top of the six-meter (20 feet) high gondola which houses the solar telescope and the other scientific instruments. Using only minimal finger movements, he directs the crane arm toward himself. Closer. Closer. Only a little more. Stop. He screws the gondola’s suspension onto the crane and climbs down. Hercules slowly moves backwards. A couple of team members push the hangar’s doors as far open as possible while others hold on to the gondola to keep it from swaying. Slowly, slowly the team manoeuvres SUNRISE outside. There is hardly ten centimeters (4 inches) of space between gondola and doorframe on either side. Finally, it is done. SUNRISE is put down safely a few meters away from the cathedral. The shiny foil covering the telescope’s bars quivers in the wind. 

[img[sunrise27|images/DryRun4_500.jpg]]
//Jack Fox balances on the gondola to fasten the solar observatory to the crane arm. Credits: MPS (K. Heerlein) //

The morning already hinted at the night of Saturday, 30 May, becoming a special one for the whole SUNRISE team. The meteorologist’s forecast during the weather briefing in the morning was clear: too much wind for launching a balloon. But after 8 pm the gusts would calm down at ESRANGE, the base from which the solar observatory will start its five-day balloon journey. A test run should be feasible then. The team would have about ten hours time for this task, because the wind would rise again in the morning.

The SUNRISE team faces a long night. Preparations for the dry run begin already at 5 pm. One by one the engineers and scientists start up all systems of the observatory and check if they are  working properly. Only then can SUNRISE start its way outside.

The most important helper along this way was Hercules, the monstrous launch vehicle of the Columbia Scientific Ballooning Facility. The institute from Texas is responsible for the balloon and the launch. When the Americans prepare the balloon on the day of the launch, SUNRISE will already be hanging from Hercules’ crane. The huge helium-filled balloon cannot be released until it is standing exactly perpendicular over the gondola. If a breeze blows the balloon away from the gondola, Hercules will go after the stray.

However, all this does not matter yet. The test will be run without the balloon. Today, the SUNRISE team will assemble the complete observatory for the first time. It will be assembled in front of the cathedral, then rolled out to the launch pad where all systems will be tested. Some parts, like the solar panels providing the power during the flight, have to be installed outside. They are so big that SUNRISE would not fit through the door otherwise. The same applies to the thick cardboard crash-pads which will soften the impact of landing.

At 8 pm it is still too windy to take the solar panels out of the hangar. The panels measuring 115 by 230 centimeters (45.3 by 90.6 inches) could be damaged if a gust tears them out of the team’s hands. At about 9 pm the wind has calmed down and green light is given. Little by little SUNRISE takes its final shape. About 600 kilogrammes of ballast are attached to the bottom of the gondola, followed by the crash-pads and the smaller solar panels providing power for the parachute mechanism.

Ballast is crucial on a mission like this because despite the midnight sun, SUNRISE will experience temperature fluctuations between night and day during its five-day flight. When the helium expands during the day in the warm sun, part of it escapes on the bottom side of the balloon. In the late afternoon when it gets colder, this amount of gas is missing to carry the load. For SUNRISE to keep to its cruising height, a controlled number of tiny steel balls are then released. 

At 11:30 pm the assembly is finished and SUNRISE is standing in front of the hall in its flight configuration for the first time. The sun has already set behind the hills surrounding ESRANGE and the moon has risen. But it is still as bright as daylight. Hercules slowly moves its load out to the launch pad. The gondola gently turns in the wind.

[img[sunrise24|images/DryRun2_500.jpg]]
//Around midnight the launch vehicle Hercules carries SUNRISE to the launch pad. Credits: MPS (B. Chares) //

[img[sunrise25|images/DryRun1_500.jpg]]
//The sun is barely visible anymore and the moon has risen above the launch pad and SUNRISE. Credits: MPS (B. Chares) //

For the engineers and scientists of the MPS the most important part of their work starts now. One by one they arrive in the cathedral behind their computer screens. All instruments are tested once more. But the team has to hurry because the wind seems to rise earlier than expected in the course of the morning. Everything needs to happen quickly now. After all, the solar panels have to be removed and brought back to the cathedral safely.

At 4:12 am it is over: Hercules sets down the observatory without solar panels, crash-pads and ballast. The huge vehicle drives off and the noise of its engine slowly trails off in the distance. The dry run is successfully finished.
[img[sunrise27|images/Gandorfer_Blog.jpg]]
//Achim Gandorfer from the Max Planck Institute for Solar System Research.  Credits: MPS (M. Monecke)//

Achim Gandorfer:
“SUNRISE was launched on Monday, June 8th, at 8.27 a.m. We were very, very happy with how the launch turned out. It couldn’t have gone better. Two days before, we all had had the opportunity to watch the launch of another balloon here at ESRANGE Space Center. During that launch the scientific payload, which was much smaller than SUNRISE, collided with the launch vehicle. We were all a little bit shocked, when we witnessed that. But fortunately, SUNRISE’s launch went smoothly. 

[img[sunrise28|images/Start2_500.jpg]]
//Before the launch, the huge balloon is filled with helium. Credits: MPS (S. Solanki)//

We especially have to praise the meteorologist here at ESRANGE Space Center. He precisely predicted the right time for the launch. After all, SUNRISE can neither be launched when there is a lot of wind, nor when here is heavy cloud coverage. The evening before the launch, as we were starting with out preparations, it began to rain a little. That’s why we were delayed by two hours. But during the night the wind was very calm. And towards the morning even the clouds disappeared. We could see that at the horizon it was raining heavily. But not where we were. Just on time for the launch, the Sun came out here at ESRANGE Space Center. Two hours later the sunny weather was already over. Since then it has been clouded and rainy again. The launch window was perfect. 

[img[sunrise29|images/Start3_500.jpg]]
//The balloon carries SUNRISE into the sky. Credits: MPS (P. Barthol)//

We are all extremely happy that SUNRISE could be launched on the first try. After all, a launch can be canceled in the last possible minute. In our case that would really have been tough. SUNRISE is a very complex system und it takes a lot of time to prepare the observatory for the launch. For example, we can’t install the solar panels, the crash pads and the ballast much ahead of time.

The atmosphere after the launch was almost euphoric. After six years of preparations everyone was glad to see SUNRISE float into the sky. On the other hand, it was a really strange feeling. After all, now we can only hope that all systems really work as they should and that we have taken all necessary precautions. 

The ascent took a little bit longer than we had expected. We reached a height of 37.5 kilometers and SUNRISE flew almost straight upward. We were almost standing directly underneath. That looked really impressive. Even after one hour you could still discern the balloon above the Space Center. Only when SUNRISE hat reached its final height did the observatory start to drift westwards.” 

“All systems on board are working flawlessly. We didn’t encounter any surprises. We did however have a little bit of trouble with the communication during the first hours of flight. In the first phase before SUNRISE disappears beyond the horizon, we can communicate via the fast data link here at ESRANGE. That is very important, since first of all we need to calibrate our instruments. In order to do that, we have to work interactively with the system and pass larger amounts of data back and forth. For example, we need to vary a few parameters and see how the system reacts. Later it suffices to communicate via satellite. 

Initially, we were supposed to have the luxury of a second ground station for communication on the Lofoten, an archipelago off the coast of Norway. In the first five or six hours of flight we can transmit our data from ESRANGE. Then we wanted to hand the communication over to the station on the Lofoten. All in all, this would have secured us a fast data link for ten to twelve hours. Unfortunately, the transfer to the Lofoten didn’t work out. Therefore, we had to resort to communicating via satellite. In this way, calibrating takes longer.  

However, that doesn’t mean, that we haven’t done any observations yet. On the first day we started up our scientific instruments. The pictures that we have received via satellite may not be very large. But we can already say that the instruments’ quality is excellent. The telescope is working perfectly and all instruments are working at the temperatures predicted. Everything is working practically like it did in the laboratory. Even now after a complete day-night-cycle, the high image quality is not changed. Despite the temperature changes the telescope remains perfectly focused. And the detailed pictures are saved on the hard disks on board.”

“In the afternoon we want to try to monitor the sunspot that appeared on the Sun a few days ago. At this point it is the only sunspot to be seen. It has already moved toward the edge of the solar disk. But we are optimistic, that we will still get a glance. We have already given this information to our colleagues around the world. After all, we are coordinating our actions with all large solar telescopes worldwide, so that we will all monitor the same part of the Sun. In this way, we will be able to combine our results later.” 

“Right now, SUNRISE’s flight path looks great. The observatory is moving slowly and steadily. Unless we start drifting towards the North, we expect to be in the air for a rather long time. Tomorrow we will probably reach Greenland. Then we will have to see how things continue. At this point, we believe to remain flying for around three more days.”

06.15.09 [[From the Site: SUNRISE has landed]]
06.10.09 [[From the Site: The Launch]]
06.05.09 [[Background Information: How to measure magnetic fields]]
06.01.09 [[From the Site: The Dry Run]]
05.25.09 [[Background Information: The Sun's magnetic fields]]
05.15.09 [[From the Site: First Light]]
05.06.09 [[From the Site: A careful look into the Sun]]
04.30.09 [[Background Information: The Telescope]]
04.24.09 [[From the Site: Gondola and Telescope Joined]]
04.22.09 [[Background Information: SUNRISE's Anatomy]]
04.16.09 [[From the Site: Telescope and Instruments Mating]]
04.15.09 [[Background Information: Between Earth and Space]]
04.08.09 [[From the Site: Characterizing the Telescope]]
04.03.09 [[From the Site: Arrival in Kiruna]]
04.01.09 [[Prelude: Following the Sun]]

[img[sunrise05|images/Barthol_Blog.jpg]]
//Project Manager Peter Barthol from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Project Manager Peter Barthol from the Max Planck Institute for Solar System Research arrived at ESRANGE Space Center in Kiruna (Sweden) three days ago. Four days before, two large trucks and two additional vans left the Max Planck Institute in ~Katlenburg-Lindau (Germany) for Kiruna. On board they carried the scientific instruments for the ~SUNRISE-mission an additional gear. 

Peter Barthol: 
“Everything is a little chaotic right now. Constantly someone is arriving or someone is leaving. There is a constant change in personnel. Today again, a lot of people will arrive, because we are planning a systems test for tomorrow. We want to check, if the transportation of the instruments went well. We are expecting five colleagues from the Kiepenheuer Institute for Solar Physics and three from Spain. And we are already twelve people here.”

“The trucks carrying the instruments, the telescope and our gear arrived on Monday afternoon at around 4 p.m. However, only one of the trucks made it to ESRANGE as it should. The entire distance from ~Katlenburg-Lindau in Germany to Kiruna is more than 2400 kilometers. And on the last kilometer and a half before ESRANGE the truck carrying the instrumentation slid into a roadside ditch. The road had been cleared of snow, but to the right and the left everything was white. That’s why you could not tell, where the ditch begins. Luckily, as the truck was being pulled out of the ditch you could see, that it must have slid in very gently. The recovery of the truck, however, must have been very complicated. It took a truck-mounted crane several hours to pull our truck out of the ditch and hoist it back onto the road. Afterwards, all the containers were brought to ESRANGE. And at night, when we arrived, everything was already ok again.”

[img[sunrise08|images/Lastwagen500_2.jpg]]
//Just a few kilometers short of its final destination in northern Sweden the truck carrying the instrumentation slid into a roadside ditch. Its load, however, was not damaged. Credits: MPS//

“Today we carried out the first optical measurements. At this point we believe, that everything is in order. Mechanically the instruments look fine. They are all still in their place.”

“On the day after our arrival we opened the containers and brought the telescope, the instruments, the electronics, and all the boxes with our gear into the hangar that we have at our disposal here. It was necessary to acclimatize the equipment before opening the packaging. The equipment is, of course, very cold and if we were to bring it into the warm hangar, water would condensate everywhere. We even rinsed some of the instruments with dry air, while they were still wrapped. By doing that, not as much moisture can condensate within the packaging.“

[img[sunrise09|images/Halle500_2.jpg]]
// The quarters for the next weeks: At ESRANGE Space Center the ~SUNRISE-team has a large hangar at its disposal. In the background you can already see the white gondola that will carry the scientific instruments and will be directly connected to the balloon. Credits: MPS//

“In our hall we have already moved everything back and forth a few times. There are boxes everywhere. And one half of the hangar is already housing the gondola. When we arrived, it had already been assembled. Two colleagues from the Kiepenheuer Institute arrived together with me. They intend to help out with the gondola. For example, they will help with the thermal insulation. The gondola is being encased with a special material, in order to create a controlled environment for the telescope. This is a kind of sandwich material that has to be especially prepared for use. This requires a lot of manual work, a lot of cutting and pasting.”
[img[sunrise05|images/Deutsch_Blog.jpg]]
//Werner Deutsch from the Max Planck Institute for Solar System Research. Credits: MPS (M. Monecke)//

Werner Deutsch: 
“Today in the afternoon our colleagues from ~Kayser-Threde will perform some measurements and determine the exact characteristics of the telescope. This company built the instrument together with the Max Planck Institute for Solar System Research. They now want to examine if the mirrors are still properly adjusted after the long transport. This is why I’m currently not in the hangar which we use here and where we keep the telescope. These measurements are extremely sensitive. If somebody walks around in the hangar, the results may be imprecise. We will use the time in a different way and catch up today after 6 p.m.”

“Overall we are still well within our schedule. However, on Sunday we had to take our magnetograph ~IMaX out of its frame to test it. That wasn’t too easy – after all, the instrument weighs about 50 kilograms. This may not sound like much. But when you have to lift it yourself, it’s a different matter. We tested the instrument on the same day, put it back in its frame and measured it again. The Spanish colleagues who managed the development and construction of ~IMaX could already leave on Monday.”

“We still have some buffer time since we worked through the whole weekend except for a short trip to Kiruna and we got a lot of work done in the first few days. This is also thanks to our Swedish colleagues here. If we need anything, there is always somebody there to help. It’s great!”

“On Saturday we will probably already mount the instruments which will later travel piggy-back on the telescope and mate both units. We would like to take a day off on Easter Sunday – if it’s possible. We won’t if it hinders the project’s progress.”
<!--{{{-->
<div class='header' macro='gradient vert #FF5A00 #FFF000'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<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 class='whenBackstage'>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
!!!Why the ~SUNRISE-mission watches the Sun from a balloon and what will happen in Kiruna in the north of Sweden in the next weeks. 

In the summertime the Sun shines in Kiruna, the most northern town in Sweden, for 24 hours each day. Kiruna is therefore an ideal location for a solar physicist – and for the ~SUNRISE-mission led by the Max Planck Institute for Solar System Research (MPS) in ~Katlenburg-Lindau (Germany). The solar observatory that will be carried by a huge balloon filled with helium will allow a unique look at the Sun. After six years of preparations the mission is now headed for its climax: Early in June SUNRISE will be launched from ESRANGE Space Center near Kiruna on its scientific mission. In the next days, the first parts of SUNRISE will arrive at the site, so that the scientists can assemble and test them – and prepare everything for the launch. MPS will accompany this final and most exciting phase of the mission with an internet journal.

[img[sunrise03|images/Auftaktbild500.jpg]]
//In the fall of 2007 a first test flight has already been successful.  Credits: MPS (P. Barthol)//

The most important day for SUNRISE will be June 1st. On this day the balloon and the gondola carrying the scientific instrumentation will be ready for the launch. As soon as the weather conditions are right, the solar observatory will then commence its journey. 37 kilometers above the ground the huge balloon will expand to a diameter of about 130 meters and carry a load of approximately three tons. Polar winds will then grasp the balloon and gondola and carry both westward around the North Pole. As SUNRISE leaves the northern Atlantic, Greenland, and Canada behind, it will continuously monitor the Sun. In the first hours of the flight SUNRISE will transmit its data back to ESRANGE Space Center. After that, the data will be saved onboard. After four to five days a parachute will carry SUNRISE gently to the ground in the north of Canada. 

[img[sunrise04|images/Flugroute.jpg]]
//SUNRISE's route: The solar observatory will start its journey in Kiruna (Sweden) and be landed in the north of Canada after a flight-time of approximately four to five days. Credits: MPS//

“Not only the balloon makes SUNRISE special”, explains Peter Barthol from MPS. SUNRISE observes the Sun’s surface with an accuracy, that no earth-bound telescope or space probe has achieved before. This will make it possible to discern structures of a size of only 35 kilometers.

For this unique glance at the Sun, SUNRISE carries several scientific instruments on board: a large telescope with a mirror that has a diameter of one meter, the magnetograph IMaX and the filter imager SUFI. Apart from the Max Planck Institute for Solar System Research leading the mission, many other research institutions are part of the team: the Kiepenheuer Institute for Solar Physics in Freiburg (Germany), NASA’s Columbia Scientific Ballooning Facilty, the High Altitude Observatory in Boulder (Colorado), ESRANGE Space Center in Kiruna, ~Lockheed-Martin Solar and Astrophysics Laboratory, and a Spanish consortium led by the Instituto de Astrofisica de Canarias on Teneriffa. Industrial partners include ~Kayser-Threde in Munich (Germany) and SAGEM in Paris (France). In the fall of 2007 a first test flight with a smaller telescope has already been successful. 

Until things get really serious, the scientists still have a lot of work ahead of them. In the past weeks the researchers in ~Katlenburg-Lindau connected their instruments with the telescope, calibrated and tested them. Then SUNRISE was disassembled, packed onto trucks and send on its journey to Sweden. There, the scientists will put the solar observatory back together and prepare for the launch. 

The MPS will accompany these preparations with an internet journal. Regularly, the scientists working in Kiruna will tell of their progress. In addition, the journal will offer background information on the mission. It will explain, how SUNRISE’s instruments work, why the Sun’s magnetic fields are still puzzling scientists and why a balloon mission is so challenging. The journal will also report on the balloon flight itself and the recovery in Canada.    



Partners:

[[Max Planck Institute for Solar System Research, Katlenburg-Lindau, Germany|http://www.mps.mpg.de]]
[[High Altitude Observatory, Boulder Colorado, USA|http://www.hao.ucar.edu/]]
[[Instituto de Astrofisica de Canarias, Teneriffa, Spanien|http://www.iac.es/]]
[[Kiepenheuer Institute for Solar Physics, Freiburg, Germany|http://www.kis.uni-freiburg.de/index.php?id=13&L=0]]
[[German Aerospace Center, Köln, Germany|http://www.dlr.de/]] 
[[Lockheed-Martin Solar and Astrophysics Laboratory, Palo Alto, California, USA|http://www.lmsal.com/]]
[[Columbia Scientific Ballooning Facility, Palestine, Texas, USA|http://www.csbf.nasa.gov/]]
[[ESRANGE Space Center, Kiruna, Schweden|http://www.ssc.se/esrange]]
[[Kayser-Threde, Munich, Germany|http://www.kayser-threde.de/]]
[[SAGEM, Paris, France|http://www.sagem.com/index.php?id=55&L=0]] 
Type the text for 'SecondaryPale'
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<upload>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>
<<tabs txtMainTab "Timeline" "Timeline" TabTimeline "All" "All tiddlers" TabAll "Tags" "All tags" TabTags "More" "More lists" TabMore>>

[<img[Headline|logos/head_l.png]][<img[Headline|logos/head_m.png]][>img[Headline|logos/head_r.png]]
/*{{{*/
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::PrimaryDark]]; 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::PrimaryDark]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::PrimaryPale]];}
.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::PrimaryMid]];}
.subtitle {color:[[ColorPalette::PrimaryDark]];}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
Hallo 
[img[Sunrise-Logo|logos/sunrise_logo.png]]
Test
[img[Sunrise-Logo|logos/mps_logo.png]]
<<upload>>
 uses UploadOptions saved in cookies :
 txtUploadUserName: username
 pasUploadPassword : password
 txtUploadStoreUrl : store script
 txtUploadDir : relative path for upload directory
 txtUploadFilename : upload filename
 txtUploadBackupDir : relative path for backup directory

<<upload [storeUrl [toFilename [backupDir [uploadDir [username]]]]]>>
 Optional positional parameters can be passed to overwrite 
 UploadOptions. 
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 08/06/2009 08:43:30 | YourName | [[scienceblog_en.html|file:///C:/Krummheuer/SUNRISE%20Science-Blog/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 08/06/2009 08:44:09 | YourName | [[scienceblog_en.html|file:///C:/Krummheuer/SUNRISE%20Science-Blog/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 08/06/2009 08:46:03 | YourName | [[scienceblog_en.html|file:///C:/Krummheuer/SUNRISE%20Science-Blog/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 10/06/2009 11:20:37 | YourName | [[scienceblog_en.html|file:///C:/Dokumente%20und%20Einstellungen/bkrummh/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 10/06/2009 18:05:09 | YourName | [[scienceblog_en.html|file:///C:/Dokumente%20und%20Einstellungen/bkrummh/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 10/06/2009 18:11:08 | YourName | [[scienceblog_en.html|file:///C:/Dokumente%20und%20Einstellungen/bkrummh/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 14/06/2009 12:21:35 | YourName | [[scienceblog_en.html|file:///C:/Documents%20and%20Settings/Birgit/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  | failed |
| 14/06/2009 12:23:05 | YourName | [[scienceblog_en.html|file:///C:/Documents%20and%20Settings/Birgit/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 15/06/2009 17:45:23 | YourName | [[scienceblog_en.html|file:///C:/Krummheuer/SUNRISE%20Science-Blog/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
| 16/06/2009 09:02:47 | YourName | [[scienceblog_en.html|file:///C:/Dokumente%20und%20Einstellungen/bkrummh/Desktop/scienceblog_en.html]] | [[store.php|http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/store.php]] | . | [[scienceblog_en.html | http://www.mps.mpg.de/projects/sunrise/scienceblog/cgi/scienceblog_en.html]] |  |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.4|
|''Date:''|2008-08-11|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 4,
	date: new Date("2008-08-11"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

<!--{{{-->
<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>
<!--}}}-->