<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.web.zope.plone.cvs">
    <title>gmane.comp.web.zope.plone.cvs</title>
    <link>http://blog.gmane.org/gmane.comp.web.zope.plone.cvs</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53873"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53872"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53871"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53870"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53869"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53868"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53867"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53866"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53865"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53864"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53863"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53862"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53861"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53860"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53859"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53858"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53857"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53856"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53855"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53854"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53873">
    <title>plone.app.collection/1.x: test to check if sorting incollectionsworks</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53873</link>
    <description>&lt;pre&gt;Repository: plone.app.collection
Branch: refs/heads/1.x
Date: 2012-05-26T09:53:55-07:00
Author: Mikel Larreategi (erral) &amp;lt;mlarreategi-MXTpNBAUcAnK0GxoLi+JpA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.collection/commit/183f9903f8989136a8c25326452fc271f44f9855

test to check if sorting in collections works

Files changed:
M plone/app/collection/tests/test_collection.py

diff --git a/plone/app/collection/tests/test_collection.py b/plone/app/collection/tests/test_collection.py
index bad51de..f15c254 100644
--- a/plone/app/collection/tests/test_collection.py
+++ b/plone/app/collection/tests/test_collection.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -15,6 +15,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 from .base import CollectionTestCase, CollectionPortletTestCase
 from .base import PACOLLECTION_FUNCTIONAL_TESTING
 
+import time
+
 # default test query
 query = [{
     'i': 'Title',
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -154,3 +156,41 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def test_syndication_enabled_by_default(self):
         collection = portal['collection']
         syn = getToolByName(portal, 'portal_syndication')
         self.assertTrue(syn.isSyndicationAllowed(collection))
+
+    def test_sorting_1(self):
+        portal = self.layer['portal']
+        login(portal, 'admin')
+        query = [{
+            'i': 'portal_type',
+            'o': 'plone.app.querystring.operation.string.is',
+            'v': 'News Item',
+        }]
+        portal.invokeFactory("Collection",
+                             "collection",
+                             title="New Collection",
+                             query=query,
+                             sort_on='created',
+                             sort_reversed=True,
+                             )
+
+        # News Item 1
+        portal.invokeFactory(id='newsitem1',
+                             type_name='News Item')
+        time.sleep(2)
+        # News Item 1
+        portal.invokeFactory(id='newsitem2',
+                             type_name='News Item')
+        time.sleep(2)
+        # News Item 1
+        portal.invokeFactory(id='newsitem3',
+                             type_name='News Item')
+
+        collection = portal['collection']
+        results = collection.results(batch=False)
+        ritem0 = results[0]
+        ritem1 = results[1]
+        ritem2 = results[2]
+
+        self.assertTrue(ritem0.CreationDate() &amp;gt; ritem1.CreationDate())
+        self.assertTrue(ritem1.CreationDate() &amp;gt; ritem2.CreationDate())
+


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Mikel Larreategi</dc:creator>
    <dc:date>2012-05-26T16:52:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53872">
    <title>plone.app.collection/1.x: change to make sorting workin collections</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53872</link>
    <description>&lt;pre&gt;Repository: plone.app.collection
Branch: refs/heads/1.x
Date: 2012-05-26T09:54:25-07:00
Author: Mikel Larreategi (erral) &amp;lt;mlarreategi-MXTpNBAUcAnK0GxoLi+JpA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.collection/commit/21b2910b4b38d136dd099ae62df6a22698ae6ff0

change to make sorting work in collections

Files changed:
M plone/app/collection/collection.py

diff --git a/plone/app/collection/collection.py b/plone/app/collection/collection.py
index 968567c..2ceeada 100644
--- a/plone/app/collection/collection.py
+++ b/plone/app/collection/collection.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -126,6 +126,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def listMetaDataFields(self, exclude=True):
     security.declareProtected(View, 'results')
     def results(self, batch=True, b_start=0, b_size=30, sort_on=None, brains=False):
         """Get results"""
+        if sort_on is None:
+            sort_on = self.getSort_on()
         return self.getQuery(batch=batch, b_start=b_start, b_size=b_size, sort_on=sort_on, brains=brains)
 
     # for BBB with ATTopic


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Mikel Larreategi</dc:creator>
    <dc:date>2012-05-26T16:52:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53871">
    <title>plonetheme.classic/master: added styling for theevent-listing thatwas changed for a11</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53871</link>
    <description>&lt;pre&gt;Repository: plonetheme.classic
Branch: refs/heads/master
Date: 2012-05-26T08:21:29-07:00
Author: Paul Roeland (polyester) &amp;lt;paula-fsXTdVcv1GdrovVCs/uTlw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plonetheme.classic/commit/c12fcf394471a28c3724734906f3a4b28d292ce4

added styling for the event-listing that was changed for a11y reasons

Files changed:
M CHANGES.txt
M plonetheme/classic/skins/classic_styles/public.css.dtml

diff --git a/CHANGES.txt b/CHANGES.txt
index 84290fe..201c3ce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3,6 +3,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 
 1.2.2 (unreleased)
 ------------------
+- added styling on the eventlisting, that was changed from a table into headings/paragraphs 
+  for accessibility reasons. Styling uses the classic dtml style to minimize visual changes.
+  [polyester]
 
 - Set "display: block" on .formHelp in forms.css.dtml to assure that field
   help displays as a block even if it is formatted as a span for accessibility.
diff --git a/plonetheme/classic/skins/classic_styles/public.css.dtml b/plonetheme/classic/skins/classic_styles/public.css.dtml
index d04fc72..4bf45ce 100644
--- a/plonetheme/classic/skins/classic_styles/public.css.dtml
+++ b/plonetheme/classic/skins/classic_styles/public.css.dtml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -492,7 +492,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; form.searchPage h1.documentFirstHeading .highlightedSearchTerm {
     text-decoration: none;
 }
 .breadcrumbSeparator {
-    font-size: 120%;
+    color: #666666;
 }
 .documentEditable {
     padding: 0em 1em 1em 1em !important;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -853,6 +853,49 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table.plain th {
     margin: 0 0 0.5em 1em;
 }
 
+/* For event view template, changed headerless table to headings and divs,
+ * for better accessibility.  */
+
+#content .eventDetails {
+    border-collapse: collapse;
+    border-spacing: 0;    
+    border: &amp;amp;dtml-borderWidth; &amp;amp;dtml-borderStyle; &amp;amp;dtml-globalBorderColor;;
+    font-size: &amp;amp;dtml-fontSmallSize;;
+    width: 22em;
+    margin: 1em 0em 1em 0em;
+}
+#content .eventDetails h2 {
+    background: &amp;amp;dtml-globalBackgroundColor;;
+    border-bottom: &amp;amp;dtml-borderWidth; &amp;amp;dtml-borderStyle; &amp;amp;dtml-globalBorderColor;;
+    font-weight: normal;
+    padding: 0.25em 0.5em;
+    text-transform: &amp;amp;dtml-textTransform;;
+    margin-top: 0em;
+}
+#content .eventDetails .eventDetail {
+    clear: both;
+}
+#content .eventDetails .eventDetail h3,
+#content .eventDetails .eventDetail div {
+    padding: 2%;
+}
+#content .eventDetails .eventDetail h3 {
+    float: left;
+    font-size: 100%;
+    text-align: right ! important;
+    padding: 0em 0em 1em 0em;
+    width: 37%;
+    margin: 0 0 0.5em 0;
+}
+#content .eventDetails .eventDetail div {
+    float: left;
+    width: 55%;
+    padding: 0em 0.5em 0.25em 0.5em;
+} 
+/* &amp;lt; at &amp;gt;end */
+
+
+
 /* Useful deviations from regular style on elements */
 
 /* List classes without markers */


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Paul Roeland</dc:creator>
    <dc:date>2012-05-26T15:18:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53870">
    <title>plone.app.workflowmanager/master: update menu bar withbootstrap likestyles</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53870</link>
    <description>&lt;pre&gt;Repository: plone.app.workflowmanager
Branch: refs/heads/master
Date: 2012-05-26T07:55:54-07:00
Author: Nathan Van Gheem (vangheem) &amp;lt;vangheem-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.workflowmanager/commit/58f2d88fc3259804904716698d7fa143a3ea37b3

update menu bar with bootstrap like styles

Files changed:
M src/plone/app/workflowmanager/browser/resources/workflowmanager.css
M src/plone/app/workflowmanager/browser/resources/workflowmanager.js
M src/plone/app/workflowmanager/browser/templates/controlpanel.pt

diff --git a/src/plone/app/workflowmanager/browser/resources/workflowmanager.css b/src/plone/app/workflowmanager/browser/resources/workflowmanager.css
index f94c323..6c4062c 100644
--- a/src/plone/app/workflowmanager/browser/resources/workflowmanager.css
+++ b/src/plone/app/workflowmanager/browser/resources/workflowmanager.css
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -150,17 +150,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; span.set-top a.dialog-box{
 
 #advanced-mode{
     float:right;
-    padding:5px 5px 0 0;
+    padding: 9px 15px 0 0;
 }
 
 #unsaved-warning b{
     color:#205C90;
 }
 
-#save-all-button{
-    margin: 0 10px;
-}
-
 .documentContent a.dialog-box:link{
     border:none;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -186,28 +182,197 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; span.arrow:hover{
     background-color: #F1F1F1;
 }
 
-div#tabs-menu ul.formTabs {
-    border: 2px solid black;
-    padding: 5px;
-    z-index:100;
-    top:5px;
-    left:5px;
-    background-color:#DDDDDD;
-    -moz-border-radius-topleft:0.5em;
-    -moz-border-radius-topright:0.5em;
-    min-height:30px;
-    text-align:inherit;
+div#tabs-menu ul.tabs {
+    margin-bottom: 0;
+    margin-left: 0;
+    list-style: none;
 }
 
-div#tabs-menu ul.formTabs li.formTab a{
-    border: 1px solid black;
-    -moz-border-radius-topleft:0.5em;
-    -moz-border-radius-topright:0.5em;
+ul.tabs::before, ul.tabs::after{
+    display: table;
+    content: "";
+}
+
+ul.tabs::after{
+    clear: both;
+}
+
+ul.tabs &amp;gt; li {
+    float: left;
+    line-height: 18px;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a {
+    display: block;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a{
+    padding-right: 12px;
+    padding-left: 12px;
+    margin-right: 2px;
+    line-height: 14px;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a {
+    padding-top: 8px;
+    padding-bottom: 8px;
+    margin-top: 2px;
+    margin-bottom: 2px;
+    -webkit-border-radius: 5px;
+    -moz-border-radius: 5px;
+    border-radius: 5px;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a.selected, ul.tabs &amp;gt; li &amp;gt; a.selected:hover {
+    color: white;
+    background-color: #08C;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a {
+    margin: 0;
+    padding-top: 11px;
+    padding-bottom: 11px;
+    border-left: 1px solid whiteSmoke;
+    border-right: 1px solid #E5E5E5;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+}
+
+ul.tabs &amp;gt; li &amp;gt; a.selected, ul.tabs &amp;gt; li &amp;gt; a.selected:hover {
+    padding-left: 13px;
+    color: #777;
+    background-color: #E9E9E9;
+    border-right-color: #DDD;
+    border-left: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .05);
+    -moz-box-shadow: inset 0 3px 5px rgba(0,0,0,.05);
+    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .05);
+}
+
+ul.tabs &amp;gt; li:first-child &amp;gt; a, ul.tabs &amp;gt; li:first-child &amp;gt; a:hover {
+    border-left: 0;
+    padding-left: 12px;
+    -webkit-border-radius: 4px 0 0 4px;
+    -moz-border-radius: 4px 0 0 4px;
+    border-radius: 4px 0 0 4px;
+}
+
+ul.tabs &amp;gt; li:first-child &amp;gt; a, ul.tabs &amp;gt; li:first-child &amp;gt; a:hover {
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
 }
 
 div#tabs-menu{
-    position:relative;
-    min-height:45px;
+    top: 5px;
+    left: 5px;
+    width: 100%;
+    height: 37px;
+    background-color: #EEE;
+    background-repeat: repeat-x;
+    background-image: -moz-linear-gradient(top, whiteSmoke 0%, #EEE 100%);
+    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, whiteSmoke), color-stop(100%, #EEE));
+    background-image: -webkit-linear-gradient(top, whiteSmoke 0%, #EEE 100%);
+    background-image: -ms-linear-gradient(top, whiteSmoke 0%, #EEE 100%);
+    background-image: -o-linear-gradient(top, whiteSmoke 0%, #EEE 100%);
+    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eeeeee',GradientType=0 );
+    background-image: linear-gradient(top, whiteSmoke 0%, #EEE 100%);
+    border: 1px solid black;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    border-radius: 4px;
+}
+
+div#tabs-menu.fixed {
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    z-index: 1020;
+    border-color: #D5D5D5;
+    border-width: 0 0 1px;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    -webkit-box-shadow: inset 0 1px 0 white, 0 1px 5px rgba(0, 0, 0, .1);
+    -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1);
+    box-shadow: inset 0 1px 0 white, 0 1px 5px rgba(0, 0, 0, .1);
+    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
+}
+
+.navbar-form::after {
+    clear: both;
+}
+
+.navbar-form::before, .navbar-form::after {
+    display: table;
+    content: "";
+}
+
+.navbar-form {
+    margin-bottom: 0;
+    display:block;
+}
+
+.navbar-form a {
+    border-bottom: none !important;
+}
+
+.navbar-form .btn {
+    display: inline-block;
+    padding: 4px 10px 4px;
+    margin: 4px 4px 5px;
+    line-height: 18px;
+    width: auto;
+    height: auto;
+    cursor: pointer;
+    border-color: #CCC;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
+.btn {
+    display: inline-block;
+    padding: 4px 10px 4px;
+    margin-bottom: 0;
+    font-size: 13px;
+    line-height: 18px;
+    color: #333;
+    text-align: center;
+    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+    vertical-align: middle;
+    cursor: pointer;
+    background-color: whiteSmoke;
+    background-image: -ms-linear-gradient(top, white, #E6E6E6);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#E6E6E6));
+    background-image: -webkit-linear-gradient(top, white, #E6E6E6);
+    background-image: -o-linear-gradient(top, white, #E6E6E6);
+    background-image: linear-gradient(top, white, #E6E6E6);
+    background-image: -moz-linear-gradient(top, white, #E6E6E6);
+    background-repeat: repeat-x;
+    border: 1px solid #CCC;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    border-color: #E6E6E6 #E6E6E6 #BFBFBF;
+    border-bottom-color: #B3B3B3;
+    -webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    border-radius: 4px;
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+
+.btn:hover {
+    color: #333;
+    text-decoration: none;
+    background-color: #E6E6E6;
+    background-position: 0 -15px;
+    -webkit-transition: background-position 0.1s linear;
+    -moz-transition: background-position 0.1s linear;
+    -ms-transition: background-position 0.1s linear;
+    -o-transition: background-position 0.1s linear;
+    transition: background-position 0.1s linear;
 }
 
 #prompt textarea{
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -251,4 +416,76 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; span.tooltip{
 
 a.dialog-box.delete{
     font-size:12px;
+}
+
+.right, ul.tabs &amp;gt; li.right{
+    float:right;
+}
+
+#unsaved-warning{
+    padding-top: 10px;
+}
+
+#save-all-button{
+    margin: 4px 20px;
+}
+.btn-warning{
+    background-color: #FAA732;
+    background-image: -ms-linear-gradient(top, #FBB450, #F89406);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FBB450), to(#F89406));
+    background-image: -webkit-linear-gradient(top, #FBB450, #F89406);
+    background-image: -o-linear-gradient(top, #FBB450, #F89406);
+    background-image: -moz-linear-gradient(top, #FBB450, #F89406);
+    background-image: linear-gradient(top, #FBB450, #F89406);
+    background-repeat: repeat-x;
+    border-color: #F89406 #F89406 #AD6704;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-warning:hover{
+    background-color: #F89406;
+}
+
+.btn-danger {
+    background-color: #DA4F49;
+    background-image: -ms-linear-gradient(top, #EE5F5B, #BD362F);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#EE5F5B), to(#BD362F));
+    background-image: -webkit-linear-gradient(top, #EE5F5B, #BD362F);
+    background-image: -o-linear-gradient(top, #EE5F5B, #BD362F);
+    background-image: -moz-linear-gradient(top, #EE5F5B, #BD362F);
+    background-image: linear-gradient(top, #EE5F5B, #BD362F);
+    background-repeat: repeat-x;
+    border-color: #BD362F #BD362F #802420;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-danger:hover{
+    background-color: #BD362F;   
+}
+
+.btn-inverse {
+    background-color: #414141;
+    background-image: -ms-linear-gradient(top, #555, #222);
+    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555), to(#222));
+    background-image: -webkit-linear-gradient(top, #555, #222);
+    background-image: -o-linear-gradient(top, #555, #222);
+    background-image: -moz-linear-gradient(top, #555, #222);
+    background-image: linear-gradient(top, #555, #222);
+    background-repeat: repeat-x;
+    border-color: #222 #222 black;
+    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+    filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
+    filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+
+.btn-inverse:hover{
+    background-color: #222;
+}
+
+.btn-primary, .btn-primary:hover, .btn-warning, .btn-warning:hover, .btn-danger, .btn-danger:hover, .btn-success, .btn-success:hover, .btn-info, .btn-info:hover, .btn-inverse, .btn-inverse:hover {
+    color: white;
+    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
\ No newline at end of file
diff --git a/src/plone/app/workflowmanager/browser/resources/workflowmanager.js b/src/plone/app/workflowmanager/browser/resources/workflowmanager.js
index 69d47ec..93f59c4 100644
--- a/src/plone/app/workflowmanager/browser/resources/workflowmanager.js
+++ b/src/plone/app/workflowmanager/browser/resources/workflowmanager.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -636,15 +636,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(document).ready(function(){
 
     //enable advanced mode on page load
     //so it isn't available for non-js users--oh well.
-    var toppanel = $("#tabs-menu ul.formTabs");
-    toppanel.append('&amp;lt;div id="advanced-mode" class="widget"&amp;gt;&amp;lt;input type="checkbox" name="advanced-mode" class="checkboxType"&amp;gt; &amp;lt;label for="advanced-mode"&amp;gt;Advanced mode&amp;lt;/label&amp;gt;&amp;lt;/div&amp;gt;');
+    var toppanel = $("#tabs-menu ul.tabs");
     
     toppanel.find("div#advanced-mode input").change(function(){
       set_advanced_mode(this.checked);
     });
 
     if(is_advanced_mode() &amp;amp;&amp;amp; toppanel.size() == 1){
-      $("#tabs-menu ul.formTabs div#advanced-mode input")[0].checked = true;
+      $("#tabs-menu ul.tabs div#advanced-mode input")[0].checked = true;
     }else{
       $(".advanced").hide();
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -661,13 +660,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(document).ready(function(){
     $(input_selector).live(theevent, input_change_handler);
 
     //Set some things up only if js is enabled here
-    $("#save-all-button").css('display', 'inline');
-    $("#tabs-menu ul.formTabs").addClass('enabled');
+    $("#tabs-menu ul.tabs").addClass('enabled');
     
     $('#portal-column-content')[0].className = 'cell width-full position-0';
           
     $(window).scroll(function(e){
-      var menu_container = $('div#tabs-menu');
+      var menu_container = $('div#menu-container');
       var container_offset = menu_container.offset();
       if(container_offset == null){
         //it's possible that scroll is happening with overlay
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -675,19 +673,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(document).ready(function(){
         return;
       }
         
-      var tabs_menu = menu_container.find("ul.formTabs");
+      var tabs_menu = $("#tabs-menu");
       var offset = tabs_menu.offset();
       
       if(window.pageYOffset &amp;gt; container_offset.top){
-        if(tabs_menu.css('position') != 'fixed'){
-          tabs_menu.css('position', 'fixed');
-          tabs_menu.css('width', '98%');
-        }
+        tabs_menu.addClass('fixed');
       }else{
-        if(tabs_menu.css('position') == 'fixed'){
-          tabs_menu.css('position', 'inherit');
-          tabs_menu.css('width', '');
-        }
+        tabs_menu.removeClass('fixed');
       }
     });
     setup_tooltips();
diff --git a/src/plone/app/workflowmanager/browser/templates/controlpanel.pt b/src/plone/app/workflowmanager/browser/templates/controlpanel.pt
index 761aa17..8f29d56 100644
--- a/src/plone/app/workflowmanager/browser/templates/controlpanel.pt
+++ b/src/plone/app/workflowmanager/browser/templates/controlpanel.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,172 +6,198 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       metal:use-macro="context/main_template/macros/master"
       i18n:domain="plone.app.workflowmanager"&amp;gt;
 
-    &amp;lt;metal:override fill-slot="column_one_slot" /&amp;gt;
-    &amp;lt;metal:override fill-slot="column_two_slot" /&amp;gt;
-    &amp;lt;metal:block fill-slot="top_slot" tal:define="dummy python:request.set('disable_border',1)" /&amp;gt;
-      
-    &amp;lt;metal:css fill-slot="style_slot"&amp;gt;
-        &amp;lt;link rel="stylesheet" type="text/css" href="++resource++workflowmanager.css" media="screen" /&amp;gt;
-    &amp;lt;/metal:css&amp;gt;
-    &amp;lt;metal:javascript fill-slot="javascript_head_slot"&amp;gt;
-        &amp;lt;script type="text/javascript" src="++resource++workflowmanager.js"&amp;gt;&amp;lt;/script&amp;gt;
-    &amp;lt;/metal:javascript&amp;gt;
-    
-    &amp;lt;body&amp;gt;
-        &amp;lt;div metal:fill-slot="main"
+  &amp;lt;metal:override fill-slot="column_one_slot" /&amp;gt;
+  &amp;lt;metal:override fill-slot="column_two_slot" /&amp;gt;
+  &amp;lt;metal:block fill-slot="top_slot" tal:define="dummy python:request.set('disable_border',1)" /&amp;gt;
+
+  &amp;lt;metal:css fill-slot="style_slot"&amp;gt;
+    &amp;lt;link rel="stylesheet" type="text/css" href="++resource++workflowmanager.css" media="screen" /&amp;gt;
+  &amp;lt;/metal:css&amp;gt;
+  &amp;lt;metal:javascript fill-slot="javascript_head_slot"&amp;gt;
+    &amp;lt;script type="text/javascript" src="++resource++workflowmanager.js"&amp;gt;&amp;lt;/script&amp;gt;
+  &amp;lt;/metal:javascript&amp;gt;
+
+&amp;lt;body&amp;gt;
+&amp;lt;div metal:fill-slot="main"
             tal:define="selected_workflow view/selected_workflow;
                         show python: selected_workflow is not None;"&amp;gt;
-          &amp;lt;div id="pb_99999" class="overlay overlay-ajax"&amp;gt;
-              &amp;lt;div class="close"&amp;gt;&amp;lt;span&amp;gt;Close&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;
-              &amp;lt;div class="pb-ajax"&amp;gt;&amp;lt;/div&amp;gt;
-          &amp;lt;/div&amp;gt;
-        &amp;lt;div id="status-messages"&amp;gt;&amp;lt;/div&amp;gt;
-    
-        &amp;lt;h1 class="documentFirstHeading" i18n:translate="title_manage_contentrules"&amp;gt;Workflow Manager&amp;lt;/h1&amp;gt;
-    
-        &amp;lt;tal:manager tal:condition="show"&amp;gt;
-    
-            &amp;lt;p class="documentDescription"&amp;gt;
-                You are currently working on the "&amp;lt;tal:replace tal:replace="view/selected_workflow/title" /&amp;gt;" workflow.
-            &amp;lt;/p&amp;gt;
+&amp;lt;div id="pb_99999" class="overlay overlay-ajax"&amp;gt;
+  &amp;lt;div class="close"&amp;gt;
+    &amp;lt;span&amp;gt;Close&amp;lt;/span&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="pb-ajax"&amp;gt;&amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt;
+&amp;lt;div id="status-messages"&amp;gt;&amp;lt;/div&amp;gt;
 
-            &amp;lt;a href="" class="link-parent"
-                tal:attributes="href string:$portal_url/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager"
-                i18n:translate="label_up_to_plone_setup"&amp;gt;
-                Select or create a new workflow
-            &amp;lt;/a&amp;gt;
-    
-            &amp;lt;div id="workflowmanager-container"&amp;gt;
-      
-            &amp;lt;div id="tabs-menu"&amp;gt;
-                    &amp;lt;ul class="formTabs"&amp;gt;
-                        &amp;lt;li class="formTab firstFormTab"&amp;gt;
-                            &amp;lt;a id="fieldsetlegend-states" href="&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager#fieldsetlegend-states-anchor" class="selected"&amp;gt;
-                                &amp;lt;span&amp;gt;States&amp;lt;/span&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/li&amp;gt;
-                        &amp;lt;li class="formTab lastFormTab"&amp;gt;
-                            &amp;lt;a id="fieldsetlegend-transitions" href="&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager#fieldsetlegend-transitions-anchor" class=""&amp;gt;
-                                &amp;lt;span&amp;gt;Transitions&amp;lt;/span&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/li&amp;gt;
-            
-                        &amp;lt;form class="inline"&amp;gt;
-                            &amp;lt;input type="submit" id="save-all-button" class="inline context allowMultiSubmit" value="Save" /&amp;gt;
-                            &amp;lt;input tal:replace="structure context/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;authenticator/authenticator"/&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;input id="selected-workflow" type="hidden" name="selected-workflow" tal:attributes="value selected_workflow/id" /&amp;gt;
-                        &amp;lt;form class="inline" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-state" method="POST"&amp;gt;
-                            &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
-                            &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-state');
-                                                id string:add-state-box-${view/selected_workflow/id}"&amp;gt;
-                                &amp;lt;input type="submit" class="context allowMultiSubmit" name="add-new-state-button" value="Add state" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;form class="inline" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-transition" method="POST"&amp;gt;
-                            &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
-                            &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-transition');"&amp;gt;
-                                &amp;lt;input type="submit" class="context allowMultiSubmit" name="add-new-transition-button" value="Add transition" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;form class="inline tooltip" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-sanity-check')" method="POST"&amp;gt;
-                            &amp;lt;a class="dialog-box" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-sanity-check')"&amp;gt;
-                                &amp;lt;input type="submit" class="context allowMultiSubmit" name="sanity-check-button" value="Sanity check" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;div class="tooltip-contents"&amp;gt;
-                            &amp;lt;dl&amp;gt;
-                                &amp;lt;dt&amp;gt;Sanity Check&amp;lt;/dt&amp;gt;
-                                &amp;lt;dd&amp;gt;Check to make sure that all your states are connected with transitions and that there isn't anything missing or left behind.&amp;lt;/dd&amp;gt;
-                            &amp;lt;/dl&amp;gt;
-                        &amp;lt;/div&amp;gt;
-              
-                        &amp;lt;form class="inline tooltip" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-assign')" method="POST"&amp;gt;
-                            &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-assign')"&amp;gt;
-                                &amp;lt;input type="submit" class="context allowMultiSubmit" name="assign-workflow" value="Assign" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;div class="tooltip-contents"&amp;gt;
-                            &amp;lt;dl&amp;gt;
-                                &amp;lt;dt&amp;gt;Assign&amp;lt;/dt&amp;gt;
-                                &amp;lt;dd&amp;gt;Assign this workflow to a content type so that your content can utilize it.&amp;lt;/dd&amp;gt;
-                            &amp;lt;/dl&amp;gt;
-                        &amp;lt;/div&amp;gt;
-              
-                        &amp;lt;form class="inline tooltip advanced" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-update-security-settings')" method="POST"&amp;gt; 
-                            &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-update-security-settings')"&amp;gt;
-                                &amp;lt;input type="submit" class="context allowMultiSubmit" name="update-security-settings" value="Update security" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;div class="tooltip-contents"&amp;gt;
-                            &amp;lt;dl&amp;gt;
-                                &amp;lt;dt&amp;gt;Update Security&amp;lt;/dt&amp;gt;
-                                &amp;lt;dd&amp;gt;Update the security settings for all objects using this workflow in the portal.&amp;lt;/dd&amp;gt;
-                            &amp;lt;/dl&amp;gt;
-                        &amp;lt;/div&amp;gt;
+&amp;lt;h1 class="documentFirstHeading" i18n:translate="title_manage_contentrules"&amp;gt;Workflow Manager&amp;lt;/h1&amp;gt;
 
-                        &amp;lt;form class="inline tooltip" tal:condition="view/has_graphviz" 
-                            tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-view-graph" method="GET"&amp;gt;
-                            &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
-                            &amp;lt;a rel="#pb_99999" class="dialog-box" tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-view-graph')"&amp;gt;
-                                &amp;lt;input type="submit" class="standalone allowMultiSubmit" name="view-graph" value="Diagram" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
-                        &amp;lt;div class="tooltip-contents" tal:condition="view/has_graphviz"&amp;gt;
-                            &amp;lt;dl&amp;gt;
-                                &amp;lt;dt&amp;gt;Diagram&amp;lt;/dt&amp;gt;
-                                &amp;lt;dd&amp;gt;Get a visual representation of your the workflow you've designed.&amp;lt;/dd&amp;gt;
-                            &amp;lt;/dl&amp;gt;
-                        &amp;lt;/div&amp;gt;
+&amp;lt;tal:manager tal:condition="show"&amp;gt;
 
-                        &amp;lt;form class="inline" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-delete-workflow" method="POST"&amp;gt;
-                            &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
-                            &amp;lt;a class="dialog-box" rel="#pb_99999"
-                                tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-delete-workflow')"&amp;gt;
-                                &amp;lt;input type="submit" class="standalone allowMultiSubmit" name="delete-workflow-button" value="Delete" /&amp;gt;
-                            &amp;lt;/a&amp;gt;
-                        &amp;lt;/form&amp;gt;
+  &amp;lt;p class="documentDescription"&amp;gt;
+    You are currently working on the "
+    &amp;lt;tal:replace tal:replace="view/selected_workflow/title" /&amp;gt;
+    " workflow.
+  &amp;lt;/p&amp;gt;
 
-                        &amp;lt;p class="discreet inline hidden" id="unsaved-warning"&amp;gt;| &amp;lt;b&amp;gt;unsaved changes&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;
-                    &amp;lt;/ul&amp;gt;
-                &amp;lt;/div&amp;gt;
-        
-                &amp;lt;tal:replace tal:replace="structure view/render_content_template" /&amp;gt;
-            &amp;lt;/div&amp;gt;
-        &amp;lt;/tal:manager&amp;gt;
-      
-        &amp;lt;tal:select-workflow tal:condition="not: show"&amp;gt;
+  &amp;lt;a href="" class="link-parent"
+                tal:attributes="href string:$portal_url/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager"
+                i18n:translate="label_up_to_plone_setup"&amp;gt;Select or create a new workflow&amp;lt;/a&amp;gt;
 
-            &amp;lt;a href="" class="link-parent"
-                tal:attributes="href string:$portal_url/plone_control_panel"
-                i18n:translate="label_up_to_plone_setup"&amp;gt;
-                Up to Site Setup
+  &amp;lt;div id="workflowmanager-container"&amp;gt;
+    &amp;lt;div id="menu-container"&amp;gt;
+      &amp;lt;div id="tabs-menu"&amp;gt;
+        &amp;lt;input id="selected-workflow" type="hidden" name="selected-workflow" tal:attributes="value selected_workflow/id" /&amp;gt;
+        &amp;lt;ul class="tabs"&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;a id="fieldsetlegend-states" href="&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager#fieldsetlegend-states-anchor" class="selected"&amp;gt;
+              &amp;lt;span&amp;gt;States&amp;lt;/span&amp;gt;
+            &amp;lt;/a&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;a id="fieldsetlegend-transitions" href="&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager#fieldsetlegend-transitions-anchor" class=""&amp;gt;
+              &amp;lt;span&amp;gt;Transitions&amp;lt;/span&amp;gt;
             &amp;lt;/a&amp;gt;
-            &amp;lt;div id="workflow-selection"&amp;gt;
-                &amp;lt;br /&amp;gt;
-                &amp;lt;p class="documentDescription"&amp;gt;
-                    Please select your workflow.
-                &amp;lt;/p&amp;gt;
-                &amp;lt;ul&amp;gt;
-                    &amp;lt;tal:workflows tal:repeat="workflow view/available_workflows"&amp;gt;
-                        &amp;lt;li&amp;gt;
-                            &amp;lt;a tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager', workflow);" tal:content="workflow/title"&amp;gt;&amp;lt;/a&amp;gt;
-                        &amp;lt;/li&amp;gt;
-                    &amp;lt;/tal:workflows&amp;gt;
-                &amp;lt;/ul&amp;gt;
-                &amp;lt;form id="create-new-workflow" class="inline" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-workflow')"&amp;gt;
-                    &amp;lt;a class="dialog-box" rel="#pb_99999" tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-workflow')"&amp;gt;
-                        &amp;lt;input type="submit" class="standalone allowMultiSubmit" value="Create new workflow" /&amp;gt;
-                    &amp;lt;/a&amp;gt;
-                &amp;lt;/form&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form"&amp;gt;
+              &amp;lt;input type="submit" id="save-all-button" class="btn btn-warning context allowMultiSubmit" value="Save" /&amp;gt;
+              &amp;lt;input tal:replace="structure context/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;authenticator/authenticator"/&amp;gt;
+            &amp;lt;/form&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-state" method="POST"&amp;gt;
+              &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
+              &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-state');
+                                                      id string:add-state-box-${view/selected_workflow/id}"&amp;gt;
+                &amp;lt;input type="submit" class="btn context allowMultiSubmit" name="add-new-state-button" value="Add state" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-transition" method="POST"&amp;gt;
+              &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
+              &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-transition');"&amp;gt;
+                &amp;lt;input type="submit" class="btn context allowMultiSubmit" name="add-new-transition-button" value="Add transition" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form tooltip" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-sanity-check')" method="POST"&amp;gt;
+              &amp;lt;a class="dialog-box" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-sanity-check')"&amp;gt;
+                &amp;lt;input type="submit" class="btn context allowMultiSubmit" name="sanity-check-button" value="Sanity check" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+            &amp;lt;div class="tooltip-contents"&amp;gt;
+              &amp;lt;dl&amp;gt;
+                &amp;lt;dt&amp;gt;Sanity Check&amp;lt;/dt&amp;gt;
+                &amp;lt;dd&amp;gt;
+                  Check to make sure that all your states are connected with transitions and that there isn't anything missing or left behind.
+                &amp;lt;/dd&amp;gt;
+              &amp;lt;/dl&amp;gt;
             &amp;lt;/div&amp;gt;
-        &amp;lt;/tal:select-workflow&amp;gt;
-        &amp;lt;/div&amp;gt;
-    &amp;lt;/body&amp;gt;
-&amp;lt;/html&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form tooltip" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-assign')" method="POST"&amp;gt;
+              &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-assign')"&amp;gt;
+                &amp;lt;input type="submit" class="btn context allowMultiSubmit" name="assign-workflow" value="Assign" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+            &amp;lt;div class="tooltip-contents"&amp;gt;
+              &amp;lt;dl&amp;gt;
+                &amp;lt;dt&amp;gt;Assign&amp;lt;/dt&amp;gt;
+                &amp;lt;dd&amp;gt;
+                  Assign this workflow to a content type so that your content can utilize it.
+                &amp;lt;/dd&amp;gt;
+              &amp;lt;/dl&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form tooltip advanced" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-update-security-settings')" method="POST"&amp;gt;
+              &amp;lt;a class="dialog-box save-first" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-update-security-settings')"&amp;gt;
+                &amp;lt;input type="submit" class="btn context allowMultiSubmit" name="update-security-settings" value="Update security" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+            &amp;lt;div class="tooltip-contents"&amp;gt;
+              &amp;lt;dl&amp;gt;
+                &amp;lt;dt&amp;gt;Update Security&amp;lt;/dt&amp;gt;
+                &amp;lt;dd&amp;gt;
+                  Update the security settings for all objects using this workflow in the portal.
+                &amp;lt;/dd&amp;gt;
+              &amp;lt;/dl&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form tooltip" tal:condition="view/has_graphviz" 
+                                  tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-view-graph" method="GET"&amp;gt;
+              &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
+              &amp;lt;a rel="#pb_99999" class="dialog-box" tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-view-graph')"&amp;gt;
+                &amp;lt;input type="submit" class="btn standalone allowMultiSubmit" name="view-graph" value="Diagram" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+            &amp;lt;div class="tooltip-contents" tal:condition="view/has_graphviz"&amp;gt;
+              &amp;lt;dl&amp;gt;
+                &amp;lt;dt&amp;gt;Diagram&amp;lt;/dt&amp;gt;
+                &amp;lt;dd&amp;gt;
+                  Get a visual representation of your the workflow you've designed.
+                &amp;lt;/dd&amp;gt;
+              &amp;lt;/dl&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;form class="navbar-form" tal:attributes="action string:${context/absolute_url}/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-delete-workflow" method="POST"&amp;gt;
+              &amp;lt;input type="hidden" name="selected-workflow" tal:attributes="value view/selected_workflow/id" /&amp;gt;
+              &amp;lt;a class="dialog-box" rel="#pb_99999"
+                                      tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-delete-workflow')"&amp;gt;
+                &amp;lt;input type="submit" class="btn btn-inverse standalone allowMultiSubmit" name="delete-workflow-button" value="Delete" /&amp;gt;
+              &amp;lt;/a&amp;gt;
+            &amp;lt;/form&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;
+            &amp;lt;p class="discreet hidden" id="unsaved-warning"&amp;gt;
+              | &amp;lt;b&amp;gt;unsaved changes&amp;lt;/b&amp;gt;
+            &amp;lt;/p&amp;gt;
+          &amp;lt;/li&amp;gt;
+          &amp;lt;li class="right"&amp;gt;
+            &amp;lt;div id="advanced-mode" class="widget"&amp;gt;
+              &amp;lt;input type="checkbox" name="advanced-mode" class="checkboxType"&amp;gt;
+              &amp;lt;label for="advanced-mode"&amp;gt;Advanced mode&amp;lt;/label&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/li&amp;gt;
+        &amp;lt;/ul&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+
+    &amp;lt;tal:replace tal:replace="structure view/render_content_template" /&amp;gt;
+  &amp;lt;/div&amp;gt;
+&amp;lt;/tal:manager&amp;gt;
 
+&amp;lt;tal:select-workflow tal:condition="not: show"&amp;gt;
+
+  &amp;lt;a href="" class="link-parent"
+                tal:attributes="href string:$portal_url/plone_control_panel"
+                i18n:translate="label_up_to_plone_setup"&amp;gt;Up to Site Setup&amp;lt;/a&amp;gt;
+  &amp;lt;div id="workflow-selection"&amp;gt;
+    &amp;lt;br /&amp;gt;
+    &amp;lt;p class="documentDescription"&amp;gt;Please select your workflow.&amp;lt;/p&amp;gt;
+    &amp;lt;ul&amp;gt;
+      &amp;lt;tal:workflows tal:repeat="workflow view/available_workflows"&amp;gt;
+        &amp;lt;li&amp;gt;
+          &amp;lt;a tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager', workflow);" tal:content="workflow/title"&amp;gt;&amp;lt;/a&amp;gt;
+        &amp;lt;/li&amp;gt;
+      &amp;lt;/tal:workflows&amp;gt;
+    &amp;lt;/ul&amp;gt;
+    &amp;lt;form id="create-new-workflow" class="inline" tal:attributes="action python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-workflow')"&amp;gt;
+      &amp;lt;a class="dialog-box" rel="#pb_99999" tal:attributes="href python: view.get_url('&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;workflowmanager-add-new-workflow')"&amp;gt;
+        &amp;lt;input type="submit" class="standalone allowMultiSubmit" value="Create new workflow" /&amp;gt;
+      &amp;lt;/a&amp;gt;
+    &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;
+&amp;lt;/tal:select-workflow&amp;gt;
+&amp;lt;/div&amp;gt;
+&amp;lt;/body&amp;gt;
+&amp;lt;/html&amp;gt;
\ No newline at end of file


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Nathan Van Gheem</dc:creator>
    <dc:date>2012-05-26T14:52:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53869">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Shouldinclude theweb.config in the msdeploy package</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53869</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T13:59:48-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/63c69b90c1e2236adc0ba9c3a0548c8a4b01e1b2

Should include the web.config in the msdeploy package

Files changed:
M platforms/webpi/MANIFEST.in

diff --git a/platforms/webpi/MANIFEST.in b/platforms/webpi/MANIFEST.in
index 7783d82..6e66a01 100644
--- a/platforms/webpi/MANIFEST.in
+++ b/platforms/webpi/MANIFEST.in
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -9,3 +9,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; include zinstance/products/README.txt
 include buildout-cache/downloads
 recursive-include buildout-cache/eggs *
 recursive-exclude buildout-cache/eggs *.py[co]
+
+include web.config


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53868">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Removewierd character</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53868</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T12:56:20-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me&amp;lt; at &amp;gt;rpatterson.net&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/4f8097d86ef1e9a92dc471dbc7a9b523ae0e5eb6

Remove wierd character

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 0cd2041..88bde08 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
    Run::
 
-     &amp;gt;C:\Python27\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀
+     &amp;gt;C:\Python27\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2
 
 #. Run the buildout::
 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Plone-CVS mailing list
Plone-CVS&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-cvs
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53867">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Usestandalone for now, and better paths</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53867</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T14:01:03-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/5212dec6b0bede378567f6bfd8e25b78e33fabd9

Use standalone for now, and better paths

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 7dc4552..2c1552d 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
    Run::
 
-     &amp;gt;C:\Python27\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2
+     &amp;gt;C:\Python27\python.exe helper_scripts\create_instance.py . "%USERPROFILE%\My Documents\My Web Sites\Plone42Installer" zinstance __CLIENT_USER__ __ZEO_USER__ __PASSWORD__ 0 0 0 0 standalone create_instance.log 1
 
 #. Run the buildout::
 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:33</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53866">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Add aplatform specificbuildout config file</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53866</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T13:56:39-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/d2a0e0a9cfe380011e2581ff4e149f5b1362daa5

Add a platform specific buildout config file

Files changed:
M buildout_templates/cluster.cfg
M buildout_templates/standalone.cfg
M helper_scripts/create_instance.py

diff --git a/buildout_templates/cluster.cfg b/buildout_templates/cluster.cfg
index c9293d8..5a8cb28 100755
--- a/buildout_templates/cluster.cfg
+++ b/buildout_templates/cluster.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,6 +46,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extends =
     base.cfg
     versions.cfg
 #    http://dist.plone.org/release/4.2-latest/versions.cfg
+    platform.cfg
 
 # If you change your Plone version, you'll also need to update
 # the repository below.
diff --git a/buildout_templates/standalone.cfg b/buildout_templates/standalone.cfg
index 0d0a169..c4a8ac4 100755
--- a/buildout_templates/standalone.cfg
+++ b/buildout_templates/standalone.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,6 +46,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extends =
     base.cfg
     versions.cfg
 #    http://dist.plone.org/release/4.2-latest/versions.cfg
+    platform.cfg
 
 # If you change your Plone version, you'll also need to update
 # the repository link below.
diff --git a/helper_scripts/create_instance.py b/helper_scripts/create_instance.py
index 5aa5699..5bc2ec8 100644
--- a/helper_scripts/create_instance.py
+++ b/helper_scripts/create_instance.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -233,7 +233,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def doCommand(command):
 fd.close()
 os.chmod(fn, stat.S_IRUSR | stat.S_IWUSR)
 
-
+if sys.platform[:3].lower() == "win":
+    shutil.copy(
+        os.path.join(UIDIR, 'platforms', 'webpi', 'platform.cfg'),
+        os.path.join(INSTANCE_HOME, 'platform.cfg'))
 
 ################
 # Start the fun!


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53865">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Windowsprompt has nospace after it</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53865</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T12:57:15-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/99dc5751a5617f890c575af9bc520fcd952a8251

Windows prompt has no space after it

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 88bde08..7dc4552 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,8 +24,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
 #. TODO Create the buildout::
 
-     &amp;gt; cd Installers-UnifiedInstaller
-     &amp;gt; C:\Python2.7\python.exe platforms\webpi\TODO.py PloneWebDeployPackage
+     &amp;gt;cd Installers-UnifiedInstaller
+     &amp;gt;C:\Python2.7\python.exe platforms\webpi\TODO.py PloneWebDeployPackage
 
    Make buildout-cache/eggs, buildout-cache/downloads
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -35,22 +35,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
 #. Run the buildout::
 
-     &amp;gt; cd PloneWebDeployPackage
-     &amp;gt; C:\Python2.7\python.exe bootstrap.py -d
-     &amp;gt; bin\buildout.exe -N -c develop.cfg
+     &amp;gt;cd PloneWebDeployPackage
+     &amp;gt;C:\Python2.7\python.exe bootstrap.py -d
+     &amp;gt;bin\buildout.exe -N -c develop.cfg
 
    We use develop.cfg to make sure we have all the eggs the user may
    need including develop tools.
 
 #. Create the Web Deploy zip package::
 
-     &amp;gt; C:\Python2.7\python.exe setup.py sdist --formats=tar -k
+     &amp;gt;C:\Python2.7\python.exe setup.py sdist --formats=tar -k
 
    Then open a file browser, select ``Manifest.xml``,
    ``Parameters.xml`` and ``PloneInstaller-4-2``, then right-click and
    Select "Send to -&amp;gt; Compressed (zipped) Folder".
 
-     TODO&amp;gt; C:\Python2.7\python.exe setup.py bdist_msdeploy
+     TODO&amp;gt;C:\Python2.7\python.exe setup.py bdist_msdeploy
 
 #. TODO Test with msdeploy
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -66,7 +66,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
       Then use it to `display the SHA1 hash
       &amp;lt;http://learn.iis.net/page.aspx/1082/web-deploy-parameterization/&amp;gt;`_::
 
-        &amp;gt; fciv.exe -sha1 Parameters.zip
+        &amp;gt;fciv.exe -sha1 Parameters.zip
 
       Copy the printed hash and replace the existing one in
       ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` at


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53864">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Mergebranch'cioppino-webpi' of github.com:plone/Installers</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53864</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T13:14:02-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/b6c4c863a84b29046e105044dc33a664baeca302

Merge branch 'cioppino-webpi' of github.com:plone/Installers-UnifiedInstaller into cioppino-webpi

Files changed:
M helper_scripts/create_instance.py

diff --git a/helper_scripts/create_instance.py b/helper_scripts/create_instance.py
index 5d888b0..5aa5699 100644
--- a/helper_scripts/create_instance.py
+++ b/helper_scripts/create_instance.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -84,6 +84,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def findEgg(basename):
     "DISTRIBUTE_EGG": findEgg('distribute'),
     "BUILDOUT_EGG": findEgg('zc.buildout'),
 }
+if RUN_BUILDOUT == '1':
+    substitutions.update({
+        "DISTRIBUTE_EGG": findEgg('distribute'),
+        "BUILDOUT_EGG": findEgg('zc.buildout'),
+    })
 
 
 # apply substitutions to a file
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -229,15 +234,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def doCommand(command):
 os.chmod(fn, stat.S_IRUSR | stat.S_IWUSR)
 
 
-# boostrapping is problematic when the python may not have the right
-# components; so, let's fix up the bin/buildout ourselves.
-print "Fixing up bin/buildout"
-inPlaceSub(os.path.join(INSTANCE_HOME, 'bin', 'buildout'))
-
 
 ################
 # Start the fun!
 if RUN_BUILDOUT == '1':
+    
+    # boostrapping is problematic when the python may not have the right
+    # components; so, let's fix up the bin/buildout ourselves.
+    print "Fixing up bin/buildout"
+    inPlaceSub(os.path.join(INSTANCE_HOME, 'bin', 'buildout'))
+
     os.chdir(INSTANCE_HOME)
 
     logfile = file(LOG_FILE, 'a')


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53863">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Mergebranch'cioppino-webpi' of github.com:plone/Installers</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53863</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T12:55:24-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me&amp;lt; at &amp;gt;rpatterson.net&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/1d9e0c17702fdfc4cbcb9310bd6c1a7c11c0f286

Merge branch 'cioppino-webpi' of github.com:plone/Installers-UnifiedInstaller into cioppino-webpi

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 157c46f..0cd2041 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,9 +18,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 #. Clone `Installers-UnifiedInstaller
    &amp;lt;https://github.com/plone/Installers-UnifiedInstaller&amp;gt;`_
 
-   Skip this if you've already done it and haven't changed anything since.
-
-   Using a `windows git client &amp;lt;http://help.github.com/win-set-up-git/&amp;gt;`_.
+   Use a `windows git client
+   &amp;lt;http://help.github.com/win-set-up-git/&amp;gt;`_. Skip this if you've
+   already done it and haven't changed anything since.
 
 #. TODO Create the buildout::
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,7 +29,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
    Make buildout-cache/eggs, buildout-cache/downloads
 
-   Run "C:\Installers-UnifiedInstaller&amp;gt;C:\Python26\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀"
+   Run::
+
+     &amp;gt;C:\Python27\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀
 
 #. Run the buildout::
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -108,3 +110,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
    #. TODO Install the new package with WebPI
 
    #. TODO Test with WebMatrix
+
+#. Release the package
+
+   #. Restore the ``&amp;lt;installerURL&amp;gt;`` element contents.
+
+   #. Commit the SHA1 and file size changes to
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml``
+
+   #. Upload ``Parameters.zip`` to ``dist.plone.org`` as
+      ``PloneInstaller-4-2.zip``
+
+   #. upload
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` to
+      ``dist.plone.org``
+   
+   #. Ask Windows users to test by installing from WebPI

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Plone-CVS mailing list
Plone-CVS&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-cvs
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53862">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Betteromelette windowssupport</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53862</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T12:51:17-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/9643313b347841a3dc4839e75875e710eebf5dd8

Better omelette windows support

Files changed:
M platforms/webpi/platform.cfg

diff --git a/platforms/webpi/platform.cfg b/platforms/webpi/platform.cfg
index dd01c4a..3b40347 100644
--- a/platforms/webpi/platform.cfg
+++ b/platforms/webpi/platform.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,6 +6,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; find-links +=
 
 [versions]
 pywin32 = 217
+collective.recipe.omelette = 0.15
 
 [instance]
 eggs +=


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53861">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Moreexplicit in docs</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53861</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T12:51:00-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/71b87cafb1d9f01ccce4c221fe268337a4cba85d

More explicit in docs

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 3ba96da..157c46f 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,13 +67,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
         &amp;gt; fciv.exe -sha1 Parameters.zip
 
       Copy the printed hash and replace the existing one in
-      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml``.
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` at
+      (xpath) ``installers/installer/installerFile/sha1`` inside the
+      ``entry/productId`` for ``Plone_4_2``.
 
    #. Update the package size
 
       Use use the file browser to get the package size in KB replace
       the existing one in
-      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml``.
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` at
+      ``installers/installer/installerFile/fileSize``.
 
 #. Test with WebPI
  
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -95,8 +98,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
       You can skip this if you've done it before and the new package is
       in the same place as the file URL points to.
   
-      Replace the ``&amp;lt;installerURL&amp;gt;`` element contents in
-      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` with
+      Replace the URL in
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` at
+      ``installers/installer/installerFile/installerURL`` with
       ``file:///C:/.../Parameters.zip`` replacing ``...`` with the
       appropriate path.  This will make the WebPI install your archive
       and not the current one online.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:29</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53860">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Oops,forgot to remove the first ones when I moved them</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53860</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T13:58:27-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/4495c26e3fb68da7c7fb10441dd0663c1436d0fd

Oops, forgot to remove the first ones when I moved them

Files changed:
M helper_scripts/create_instance.py

diff --git a/helper_scripts/create_instance.py b/helper_scripts/create_instance.py
index 5bc2ec8..a03c6b6 100644
--- a/helper_scripts/create_instance.py
+++ b/helper_scripts/create_instance.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -81,8 +81,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def findEgg(basename):
     "ZEO_USER": ZEO_USER,
     "PASSWORD": PASSWORD,
     "PYTHON": sys.executable,
-    "DISTRIBUTE_EGG": findEgg('distribute'),
-    "BUILDOUT_EGG": findEgg('zc.buildout'),
 }
 if RUN_BUILDOUT == '1':
     substitutions.update({


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:58:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53859">
    <title>Installers-UnifiedInstaller/cioppino-webpi: No need todo this ifwe're not going to run buildout</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53859</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T06:13:46-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/b1574624dd3232f5001a784fa34e541fe3a72c6f

No need to do this if we're not going to run buildout

Files changed:
M helper_scripts/create_instance.py

diff --git a/helper_scripts/create_instance.py b/helper_scripts/create_instance.py
index 5d888b0..5aa5699 100644
--- a/helper_scripts/create_instance.py
+++ b/helper_scripts/create_instance.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -84,6 +84,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def findEgg(basename):
     "DISTRIBUTE_EGG": findEgg('distribute'),
     "BUILDOUT_EGG": findEgg('zc.buildout'),
 }
+if RUN_BUILDOUT == '1':
+    substitutions.update({
+        "DISTRIBUTE_EGG": findEgg('distribute'),
+        "BUILDOUT_EGG": findEgg('zc.buildout'),
+    })
 
 
 # apply substitutions to a file
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -229,15 +234,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def doCommand(command):
 os.chmod(fn, stat.S_IRUSR | stat.S_IWUSR)
 
 
-# boostrapping is problematic when the python may not have the right
-# components; so, let's fix up the bin/buildout ourselves.
-print "Fixing up bin/buildout"
-inPlaceSub(os.path.join(INSTANCE_HOME, 'bin', 'buildout'))
-
 
 ################
 # Start the fun!
 if RUN_BUILDOUT == '1':
+    
+    # boostrapping is problematic when the python may not have the right
+    # components; so, let's fix up the bin/buildout ourselves.
+    print "Fixing up bin/buildout"
+    inPlaceSub(os.path.join(INSTANCE_HOME, 'bin', 'buildout'))
+
     os.chdir(INSTANCE_HOME)
 
     logfile = file(LOG_FILE, 'a')


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T13:10:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53858">
    <title>plone.app.workflowmanager/master: add portal eventspermission</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53858</link>
    <description>&lt;pre&gt;Repository: plone.app.workflowmanager
Branch: refs/heads/master
Date: 2012-05-26T06:12:51-07:00
Author: Nathan Van Gheem (vangheem) &amp;lt;vangheem-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.workflowmanager/commit/42edd9ea6f46e451109e16ab199ae64524fa341c

add portal events permission

Files changed:
M src/plone/app/workflowmanager/permissions.py

diff --git a/src/plone/app/workflowmanager/permissions.py b/src/plone/app/workflowmanager/permissions.py
index 7657200..962fccc 100644
--- a/src/plone/app/workflowmanager/permissions.py
+++ b/src/plone/app/workflowmanager/permissions.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,6 +23,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
      'description': _(u'Allowed to review the content.')
     },
 
+    {'perm': 'Change portal events',
+     'name': _(u'Change Events'),
+     'description': _(u'Allow to update events')
+    },
+
     {'perm': 'List folder contents',
      'name': _(u'List'),
      'description': _(u"List the contents of a folder. This doesn't check "


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Nathan Van Gheem</dc:creator>
    <dc:date>2012-05-26T13:09:23</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53857">
    <title>plone.app.workflowmanager/master: link up morereferenced states andtransitions. fixes #3</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53857</link>
    <description>&lt;pre&gt;Repository: plone.app.workflowmanager
Branch: refs/heads/master
Date: 2012-05-26T06:05:09-07:00
Author: Nathan Van Gheem (vangheem) &amp;lt;vangheem-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.workflowmanager/commit/63d591b032cbef5b12b910e8282727925e98accf

link up more referenced states and transitions. fixes #3

Files changed:
M src/plone/app/workflowmanager/browser/configure.zcml
M src/plone/app/workflowmanager/browser/templates/workflow-state.pt
M src/plone/app/workflowmanager/browser/templates/workflow-transition.pt

diff --git a/src/plone/app/workflowmanager/browser/configure.zcml b/src/plone/app/workflowmanager/browser/configure.zcml
index 499a684..4e2024e 100644
--- a/src/plone/app/workflowmanager/browser/configure.zcml
+++ b/src/plone/app/workflowmanager/browser/configure.zcml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -134,5 +134,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         name="workflowmanager.js"
         file="resources/workflowmanager.js"
     /&amp;gt;
+    &amp;lt;browser:resource
+        name="wfmbootstrap.css"
+        file="resources/bootstrap.css"
+    /&amp;gt;
 
 &amp;lt;/configure&amp;gt;
\ No newline at end of file
diff --git a/src/plone/app/workflowmanager/browser/templates/workflow-state.pt b/src/plone/app/workflowmanager/browser/templates/workflow-state.pt
index 9cb53c6..0a32cfd 100644
--- a/src/plone/app/workflowmanager/browser/templates/workflow-state.pt
+++ b/src/plone/app/workflowmanager/browser/templates/workflow-state.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -46,9 +46,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
                         class="checkboxType" /&amp;gt;
                      
                     &amp;lt;label 
-                        tal:attributes="for field_name" 
-                        tal:content="transition/title"&amp;gt;
-                        Transition Title
+                        tal:attributes="for field_name"&amp;gt;
+                        &amp;lt;a class="goto-link" 
+                          tal:attributes="href python: view.get_url(transition=transition);"
+                          tal:content="transition/title"&amp;gt;
+                          Transition Title&amp;lt;/a&amp;gt;
                     &amp;lt;/label&amp;gt;
                 &amp;lt;/div&amp;gt;
                 &amp;lt;/tal:transitions&amp;gt;
diff --git a/src/plone/app/workflowmanager/browser/templates/workflow-transition.pt b/src/plone/app/workflowmanager/browser/templates/workflow-transition.pt
index ad7163b..a3ec43a 100644
--- a/src/plone/app/workflowmanager/browser/templates/workflow-transition.pt
+++ b/src/plone/app/workflowmanager/browser/templates/workflow-transition.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -161,9 +161,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
                                             checked python: checked and 'checked' or ''"
                             class="checkboxType" /&amp;gt;
 
-                        &amp;lt;label tal:content="state/title"
-                            tal:attributes="for field_name"&amp;gt;
-                            State Title
+                        &amp;lt;label tal:attributes="for field_name"&amp;gt;
+                            &amp;lt;a class="goto-link" 
+                                tal:attributes="href python: view.get_url(state=state);"
+                            tal:content="state/title"&amp;gt;State Title&amp;lt;/a&amp;gt;
                         &amp;lt;/label&amp;gt;
                     &amp;lt;/div&amp;gt;
                     &amp;lt;/tal:states&amp;gt;


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Nathan Van Gheem</dc:creator>
    <dc:date>2012-05-26T13:01:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53856">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Forgot toquote a command</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53856</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T05:57:07-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me&amp;lt; at &amp;gt;rpatterson.net&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/dedd8bca640c004472c5fcec9863700aee723079

Forgot to quote a command

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 3ba96da..27c2401 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,7 +29,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
    Make buildout-cache/eggs, buildout-cache/downloads
 
-   Run "C:\Installers-UnifiedInstaller&amp;gt;C:\Python26\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀"
+   Run::
+
+     &amp;gt;C:\Python26\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀
 
 #. Run the buildout::
 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Plone-CVS mailing list
Plone-CVS&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-cvs
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T12:53:46</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53855">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Morereadable</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53855</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T05:57:08-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/a506478536b2fcb911a22cfaf6351cee8bd31592

More readable

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index ec34b36..a476761 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,9 +18,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 #. Clone `Installers-UnifiedInstaller
    &amp;lt;https://github.com/plone/Installers-UnifiedInstaller&amp;gt;`_
 
-   Skip this if you've already done it and haven't changed anything since.
-
-   Using a `windows git client &amp;lt;http://help.github.com/win-set-up-git/&amp;gt;`_.
+   Use a `windows git client
+   &amp;lt;http://help.github.com/win-set-up-git/&amp;gt;`_. Skip this if you've
+   already done it and haven't changed anything since.
 
 #. TODO Create the buildout::
 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T12:53:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53854">
    <title>Installers-UnifiedInstaller/cioppino-webpi: Documentthe releaseprocess</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53854</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T05:57:08-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/62a90eb5cbc08485e08b13694758a08a092fbc56

Document the release process

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 5c67906..ec34b36 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -106,3 +106,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
    #. TODO Install the new package with WebPI
 
    #. TODO Test with WebMatrix
+
+#. Release the package
+
+   #. Restore the ``&amp;lt;installerURL&amp;gt;`` element contents.
+
+   #. Commit the SHA1 and file size changes to
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml``
+
+   #. Upload ``Parameters.zip`` to ``dist.plone.org`` as
+      ``PloneInstaller-4-2.zip``
+
+   #. upload
+      ``Installers-UnifiedInstaller\platforms\webpi\web-pi.xml`` to
+      ``dist.plone.org``
+   
+   #. Ask Windows users to test by installing from WebPI


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T12:53:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53853">
    <title>Installers-UnifiedInstaller/cioppino-webpi: WrongPython version</title>
    <link>http://comments.gmane.org/gmane.comp.web.zope.plone.cvs/53853</link>
    <description>&lt;pre&gt;Repository: Installers-UnifiedInstaller
Branch: refs/heads/cioppino-webpi
Date: 2012-05-26T05:57:08-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me&amp;lt; at &amp;gt;rpatterson.net&amp;gt;
Commit: https://github.com/plone/Installers-UnifiedInstaller/commit/4c362cb0ae36323a5f52f92d48dab15ee5b75aa9

Wrong Python version

Files changed:
M platforms/webpi/README.rst

diff --git a/platforms/webpi/README.rst b/platforms/webpi/README.rst
index 27c2401..5c67906 100644
--- a/platforms/webpi/README.rst
+++ b/platforms/webpi/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Building the Web Deploy Package
 
    Run::
 
-     &amp;gt;C:\Python26\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀
+     &amp;gt;C:\Python27\python.exe helper_scripts\create_inst ance.py C:\Installers-UnifiedInstaller C:\Installers-UnifiedInstaller zeocluster xen xen act1v4t3 0 1 0 0 cluster C:\Installers-UnifiedInstaller\install.log 2 ߀
 
 #. Run the buildout::
 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Plone-CVS mailing list
Plone-CVS&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-cvs
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-26T12:53:47</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.web.zope.plone.cvs">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.web.zope.plone.cvs</link>
  </textinput>
</rdf:RDF>

