<?xml version="1.0" encoding="utf-8"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Jim Bob Howard</title><link>http://sharepoint.mindsharpblogs.com/JimBob</link><description /><copyright>(C) 2013 Mindsharp</copyright><lastBuildDate>Wed, 22 May 2013 18:08:48 GMT</lastBuildDate><generator>RSSBuilder: 1.0.0.0</generator><item><author>Jim Bob Howard</author><title>Don't Miss #SharePoint Saturday San Antonio #SPSSA</title><guid>/JimBob/archive/2011/03/25/Don[squo]t-Miss-[hash]SharePoint-Saturday-San-Antonio-[hash]SPSSA.aspx</guid><link>/JimBob/archive/2011/03/25/Don[squo]t-Miss-[hash]SharePoint-Saturday-San-Antonio-[hash]SPSSA.aspx</link><pubDate>Fri, 25 Mar 2011 08:24:00 GMT</pubDate><description>&lt;div class=ExternalClass9D4083175CBB46F78562BA35859E6DB5&gt;&lt;p&gt;Look! It's a weekend! It's a Saturday! It's a &lt;em&gt;SharePoint&lt;/em&gt; Saturday. This time, it's just down the road in San Antonio, home of the Alamo. I am honored to have been asked to give two presentations at #SPSSA on April 2.&lt;/p&gt;
&lt;p&gt;SharePoint Saturday is a FREE event for those who want to learn more about SharePoint and how they can use it in their organization. They happen all across the country, and all around the globe. If it hasn't come to your neighborhood yet, it will!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointsaturday.org/sa/Pages/Registration.aspx"&gt;Reserve your seat now!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come stay all day and hear some terrific speakers from all over. I'm on at 9:20 and 2:20:&lt;/p&gt;
&lt;p&gt;&lt;font size=2&gt;&lt;strong&gt;Alphabet Soup:&lt;/strong&gt; &lt;em&gt;Intro to HTML, CSS, XML, XSL, SPD, and jQuery&lt;/em&gt;&lt;br&gt;&lt;/font&gt;So you DON'T know HTML. That's OK. In this session, we'll start with the basics to help you find what you're looking for on a SharePoint page. Using SharePoint Designer, we'll take a look under the hood of our pages. Using IE Developer Tools, FireFox's Firebug, and a simple View Source, attendees will come away with a clearer picture of what goes on behind the scenes on a SharePoint page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SHAREPOINT VERSION:&lt;/strong&gt; 2007 (much will port to 2010)&lt;br&gt;&lt;strong&gt;Level:&lt;/strong&gt;  100&lt;br&gt;&lt;strong&gt;Audience:&lt;/strong&gt;  End User, Business User, Soon-to-be Power User&lt;br&gt;&lt;strong&gt;Time:&lt;/strong&gt; 9:20 AM&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointsaturday.org/sa/Pages/Registration.aspx"&gt;Don't forget to sign up!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size=2&gt;Extending the Data View Web Part (DVWP)&lt;/font&gt;&lt;/strong&gt;&lt;br&gt;Based on my popular EndUserSharePoint series and eBook of the same name, I will walk through a real-world solution that combines several take-away concepts that you can incorporate into your own SharePoint customization to extend this powerful webpart to meet your company's or client's needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PREREQUISITE:&lt;/strong&gt; HTML (SharePoint Designer 2007 or 2010 required)&lt;br&gt;&lt;strong&gt;AUDIENCE:&lt;/strong&gt; Power User, End User, Site Collection Manager&lt;br&gt;&lt;strong&gt;SHAREPOINT VERSION:&lt;/strong&gt; 2007 (much will port to 2010)&lt;br&gt;&lt;strong&gt;Level:&lt;/strong&gt;  100-200&lt;br&gt;&lt;strong&gt;Time:&lt;/strong&gt; 2:20 PM&lt;/p&gt;
&lt;p&gt;Many other &lt;a href="http://www.sharepointsaturday.org/sa"&gt;great speakers&lt;/a&gt; are coming in from all over the country. So, be sure to &lt;a href="http://www.sharepointsaturday.org/sa/Pages/Registration.aspx"&gt;R-S-V-FREE&lt;/a&gt; now!&lt;/p&gt;
&lt;p&gt;If you come, please introduce yourself. I can't wait to meet you!&lt;/p&gt;&lt;/div&gt;</description><comments>/JimBob/archive/2011/03/25/Don[squo]t-Miss-[hash]SharePoint-Saturday-San-Antonio-[hash]SPSSA.aspx#Comments</comments><category>Speaking</category></item><item><author>Jim Bob Howard</author><title>Don't miss SharePoint Saturday - New Orleans: Feb. 26 #SPSNOLA</title><guid>/JimBob/archive/2011/02/15/Don[squo]t-miss-SharePoint-Saturday-[dash]-New-Orleans[coln]-Feb.-26-[hash]SPSNOLA.aspx</guid><link>/JimBob/archive/2011/02/15/Don[squo]t-miss-SharePoint-Saturday-[dash]-New-Orleans[coln]-Feb.-26-[hash]SPSNOLA.aspx</link><pubDate>Tue, 15 Feb 2011 13:33:00 GMT</pubDate><description>&lt;div class=ExternalClass144944BA2E8248C79AE4F5552C6EE9A2&gt;
&lt;p&gt;It's been a long time since I've spent any time in New Orleans. Having lived there for a brief time almost 20 years ago, it will be interesting to see how it's changed... and how it never changes.&lt;/p&gt;
&lt;p&gt;I'll be heading back to my old stomping grounds next weekend when SharePoint Saturday comes back to the Crescent City. SharePoint Saturday is a FREE event for those who want to learn more about SharePoint and how they can use it in their organization. They happen all across the country, and all around the globe. If it hasn't come to your neighborhood yet, it will!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointsaturday.com/neworleans"&gt;&lt;img border=0 alt="SharePoint Saturday - New Orleans" src="/JimBob/Lists/Photos/SPSNOLA.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come stay all day and hear some terrific speakers from all over. But, make sure you're there for the afternoon sessions, when I'll be presenting:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Beyond HTML: &lt;/strong&gt;&lt;em&gt;Advanced Scripting for the SharePoint Power User&lt;/em&gt;&lt;br&gt;Sometimes HTML just isn’t enough. That's when understanding CSS and XSLT come in really handy. Then there's Javascript and jQuery. Discussing real-world examples, we'll dig into calculated HTML columns, color-coded calendars, Christophe Humbert’s Easy Tabs script, the XSLT and CSS of the Dataview Webpart (DVWP), the Content Editor Web Part (CEWP), examining the Document Object Model (DOM), and form action buttons. We’ll also start writing out some jQuery to traverse and manipulate the DOM.&lt;/p&gt;
&lt;p&gt;There's a lot to cover, so buckle up and let's get SharePoint humming the way we want it to. Bring your use cases and business process hurdles; we’ll run the race together to make it work the way you need it to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PREREQUISITE:&lt;/strong&gt; HTML (SharePoint Designer 2007 or 2010 required)&lt;br&gt;&lt;strong&gt;SHAREPOINT VERSION:&lt;/strong&gt; 2007 (much will port to 2010)&lt;/p&gt;
&lt;p&gt;I hope to see you there! If you come, please introduce yourself. I can't wait to meet you!&lt;/p&gt;&lt;/div&gt;</description><comments>/JimBob/archive/2011/02/15/Don[squo]t-miss-SharePoint-Saturday-[dash]-New-Orleans[coln]-Feb.-26-[hash]SPSNOLA.aspx#Comments</comments><category>Speaking</category></item><item><author>Jim Bob Howard</author><title>Tricks and Tips (and Links) from #SPSEMEA: Beyond HTML</title><guid>/JimBob/archive/2011/02/02/Tricks-and-Tips-(and-Links)-from-[hash]SPSEMEA[coln]-Beyond-HTML.aspx</guid><link>/JimBob/archive/2011/02/02/Tricks-and-Tips-(and-Links)-from-[hash]SPSEMEA[coln]-Beyond-HTML.aspx</link><pubDate>Wed, 02 Feb 2011 06:24:00 GMT</pubDate><description>&lt;div class=ExternalClass29107E24338145A188B9667509A93453&gt;&lt;p&gt;Last weekend, I was privileged to be one of the presenters at the Live Online SharePoint Saturday EMEA. Though it began at 8:30AM London time (GMT), I was fortunate to be able to sleep in a bit and give my talk at 8AM Central Standard Time (CST/GMT-6), which was 2PM in the afternoon for them. (Thanks, Mark!) The feedback for SPS EMEA was phenomenal. The last count I heard was just under 900 people attended the event. A. Mazing.&lt;/p&gt;

&lt;p&gt;I promised to post some links and references from my presentation to my blog, which is my object for writing today. My presentation was titled, &lt;i&gt;Beyond HTML: Advanced Scripting for the Power User&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;&amp;quot;Advanced&amp;quot; scripting is a relative term. For someone who has never seen HTML, it could be 'advanced' compared to the WYSIWYG editor they're used to. The idea of implementing jQuery may sound scary to some. But for the initiated user who has started using to manipulate the presentation layer of SharePoint, Javascript itself offers many advanced features.&lt;/p&gt;

&lt;p&gt;With only an hour to present, I wasn't able to go too deep into every topic. So here are the links for each section.&lt;/p&gt;

&lt;h3&gt;HTML&lt;/h3&gt;
&lt;p&gt;HTML, or HyperText Markup Language, is the least common denominator when it comes to the presentation layer of SharePoint. If you need a refresher course in HTML, see 
&lt;a href="http://www.w3schools.com/html"&gt;www.w3schools.com/html&lt;/a&gt; for some great tutorials.&lt;/p&gt;

&lt;h3&gt;CEWP&lt;/h3&gt;
&lt;p&gt;The Content Editor Web Part is a powerful tool that can be added to any page. At the least, it allows you to add rich text to the page. But its real value lies in manipulating the presentation of the content already on the page. The next four sections explore some of the advanced modifications you can make to your page using the CEWP.&lt;/p&gt;

&lt;p&gt;The standard NewForm, DispForm and EditForm pages that are created with a list don't let you edit them from the Site Actions menu (in 2007), so you have to fake out the URL. You do that by replacing everything in the QueryString, except ID=# (on EditForm and DispForm, only) with 
&lt;em&gt;PageView=Shared&amp;amp;ToolPaneView=2&lt;/em&gt;. In other words, your URL will look like this:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;NewForm:&lt;/b&gt; http://&amp;lt;site&amp;gt;/&amp;lt;listName&amp;gt;/NewForm.aspx&lt;i&gt;?PageView=Shared&amp;amp;ToolPaneView=2&lt;/i&gt;&lt;br&gt;
&lt;b&gt;DispForm:&lt;/b&gt; http://&amp;lt;site&amp;gt;/&amp;lt;listName&amp;gt;/DispForm.aspx?ID=1&lt;i&gt;&amp;amp;PageView=Shared&amp;amp;ToolPaneView=2&lt;/i&gt;&lt;br&gt;
&lt;b&gt;EditForm:&lt;/b&gt; http://&amp;lt;site&amp;gt;/&amp;lt;listName&amp;gt;/EditForm.aspx?ID=1&lt;i&gt;&amp;amp;PageView=Shared&amp;amp;ToolPaneView=2&lt;/i&gt;&lt;/p&gt;

&lt;h3&gt;CSS&lt;/h3&gt;
&lt;p&gt;CSS stands for Cascading Style Sheets, which allow a site to use a common style throughout just by updating one file. SharePoint uses core.css out of the box, but others could be used in a customized master page. But, if you only want to make some changes to a specific page, using CSS in a CEWP is an easy but solid option.&lt;/p&gt;

&lt;p&gt;See &lt;a href="http://www.w3schools.com/css"&gt;www.w3schools.com/css&lt;/a&gt; for more great tutorials on CSS.&lt;/p&gt;

&lt;h3&gt;Javascript&lt;/h3&gt;
&lt;p&gt;You can also put Javascript in a CEWP. And again, &lt;a href="http://www.w3schools.com/javascript"&gt;www.w3schools.com/javascript&lt;/a&gt; is the place to go to learn the ins and outs of Javascript.&lt;/p&gt;
&lt;h3&gt;jQuery&lt;/h3&gt;
&lt;p&gt;Some really smart people out there have created some really useful libraries for Javascript. And the one that keeps getting lots of airplay in SharePoint circles is jQuery. There's lots you can do with it, but the most helpful for those who are pushing the envelope beyond HTML is the ability to walk through the document object model (DOM)—which is a simple way of saying the structure of the document that the browser interprets and displays—and changing things dynamically. Some common uses in SharePoint are hiding fields that you don't want the user to edit; making optional fields visible based on user choices, validating fields before saving, etc.&lt;/p&gt;

&lt;p&gt;To get the basics on using jQuery, see: &lt;a href="http://www.jquery.com/"&gt;www.jquery.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more advanced applications, see the posts by Marc Anderson, Christophe Humbert, Paul Grenier, and me on EndUserSharePoint.com and NothingButSharePoint.com. Plus, my new eBook, &lt;a href="http://extenddvwp-ebook.eventbrite.com/"&gt;&lt;i&gt;Extending the Data View Web Part&lt;/i&gt;&lt;/a&gt;, gives extensive examples and walk-thrus for using jQuery. And not just on Data View Web Parts.&lt;/p&gt;
&lt;h3&gt;SPServices&lt;/h3&gt;
&lt;p&gt;Marc Anderson, whom I mentioned above, is the creator of &lt;i&gt;The jQuery Library for SharePoint Web Services&lt;/i&gt;, or SPServices, for short. It's a codeplex project, open source, and of course, free. My eBook gives several real-world examples using SPServices. But, the discussion forums at 
&lt;a href="http://spservices.codeplex.com"&gt;spservices.codeplex.com&lt;/a&gt; are extensive and monitored closely by Marc.&lt;/p&gt;
&lt;h3&gt;Calculated Columns&lt;/h3&gt;
&lt;p&gt;Sometimes the best code you can write is a calculated column. Microsoft 
offers
&lt;a href="http://office.microsoft.com/en-us/windows-sharepoint-help/CH010065006.aspx"&gt;
a complete list of functions and formulas available&lt;/a&gt; in calculated columns.&lt;/p&gt;

&lt;p&gt;Also see Dessie Lunsford's excellent articles on 
&lt;a href="http://www.endusersharepoint.com/category/author/Dessie-Lunsford"&gt;EndUserSharePoint.com&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Calculated HTML Columns&lt;/h3&gt;
&lt;p&gt;Taking them a step further, you can also generate HTML within a calculated column. It won't display well without some jQuery to massage things a bit. Christophe Humbert, at 
&lt;a href="http://www.pathtosharepoint.com"&gt;PathToSharePoint.com&lt;/a&gt;, has just the 
script for your needs:&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://blog.pathtosharepoint.com/2010/05/28/html-calculated-column-solutions-for-sp-2010-part-i/"&gt;
HTML Calculated Column Solutions for SP2010&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Easy Tabs&lt;/h3&gt;
&lt;p&gt;While you're at PathToSharePoint.com, pick up Christophe's 
&lt;a href="http://sp2010.pathtosharepoint.com/SharePoint-User-Toolkit/Pages/Easy-Tabs-v5.aspx"&gt;Easy Tabs&lt;/a&gt; web part/jQuery file. It's phenomenal for many slices of data available on one page, but taking up very little real estate.&lt;/p&gt;

&lt;h3&gt;Data View Web Part&lt;/h3&gt;
&lt;p&gt;Entire books (&lt;a href="http://extenddvwp-ebook.eventbrite.com/"&gt;including mine&lt;/a&gt;) have been written about the Data View Web Part. It's been called the &amp;quot;swiss army knife&amp;quot; web part. 
&lt;a href="http://www.sharepoint911.com/blogs/laura/default.aspx"&gt;Laura Rogers&lt;/a&gt;, of SharePoint911.com, devotes much of her blog to no-code solutions using the DVWP; 
&lt;a href="http://www.sympraxisconsulting.com/"&gt;Marc Anderson&lt;/a&gt; builds Middle Tier Development around it.&lt;/p&gt;

&lt;p&gt;Get to know this web part; it's your friend.&lt;/p&gt;
&lt;h3&gt;XSLT&lt;/h3&gt;
&lt;p&gt;Two great resources that go hand-in-hand for using the DVWP are my book and Marc's, titled &lt;a href="http://ebook-dvwpxsl-01.eventbrite.com/"&gt;&lt;i&gt;Unlocking the Mysteries of the SharePoint Data View Web Part XSL Tags&lt;/i&gt;&lt;/a&gt;. We both delve deeply into the XSL, but Marc specifically ID's the piece parts that make up the DVWP.&lt;/p&gt;
&lt;h3&gt;Form Action links&lt;/h3&gt;
&lt;p&gt;On the Data View Web Part, you'll often see the wizard build &amp;quot;Form Action&amp;quot; links. They typically look something like:&lt;/p&gt;

&lt;pre&gt;&amp;lt;a href=&amp;quot;javascript: {ddwrt:GenFireServerEvent('__commit')}&amp;quot;&amp;gt;save&amp;lt;/a&amp;gt;
&amp;lt;a href=&amp;quot;javascript: {ddwrt:GenFireServerEvent('__cancel')}&amp;quot;&amp;gt;cancel&amp;lt;/a&amp;gt;&lt;/pre&gt;

&lt;p&gt;You don't have to stop there, however: you can use them to tell the browser where to return to, or to simply navigate to another page, etc. But the real power comes from…&lt;/p&gt;
&lt;h3&gt;Form Action Workflows&lt;/h3&gt;
&lt;p&gt;These bad boys are tied to NO list. Instead, they're called by clicking the link they're associated with. As such, they don't have built-in access to the &amp;quot;current item.&amp;quot; However, form fields can be made available to workflow for the current record. Additionally, variables can be passed into the workflow at initiation which will imbed a great deal of flexibility and power to these little gems.&lt;/p&gt;

&lt;p&gt;Natalya Voskresenskaya has dabbled with these and written some great starter content at 
&lt;a href="http://spforsquirrels.blogspot.com/"&gt;http://spforsquirrels.blogspot.com/&lt;/a&gt; to get you going. For more in-depth examples, see my eBook or blog series, &lt;i&gt;
&lt;a href="http://bit.ly/cou3BS"&gt;Extending the Data View Web Part&lt;/a&gt;&lt;/i&gt;.&lt;/p&gt;&lt;/div&gt;</description><comments>/JimBob/archive/2011/02/02/Tricks-and-Tips-(and-Links)-from-[hash]SPSEMEA[coln]-Beyond-HTML.aspx#Comments</comments><category>HTML</category></item><item><author>Jim Bob Howard</author><title>Passing Client-side data to a Form Action Workflow</title><guid>/JimBob/archive/2011/01/20/Passing-Client[dash]side-data-to-a-Form-Action-Workflow.aspx</guid><link>/JimBob/archive/2011/01/20/Passing-Client[dash]side-data-to-a-Form-Action-Workflow.aspx</link><pubDate>Thu, 20 Jan 2011 06:10:00 GMT</pubDate><description>&lt;div class=ExternalClass3ABE855058F846A3B2CE1223FAB47885&gt;In my eBook &lt;i&gt;Extending the DVWP&lt;/i&gt; (coming soon;
see the series it's based on &lt;a href="http://www.endusersharepoint.com/2010/05/13/sharepoint-extending-the-dvwp-part-1-layout-enhancement-rearranging-columns-default-and-edit-templates/"&gt;here&lt;/a&gt;),
I spent a few chapters covering &lt;b&gt;form action workflows&lt;/b&gt; that are triggered by a button on a SharePoint page.
One of the most heavily-commented parts was on &lt;a href="http://www.endusersharepoint.com/2010/06/15/sharepoint-extending-the-dvwp-%E2%80%93-part-10-passing-workflow-variables-to-a-form-action-workflow/"&gt;passing
workflow variables to a form action workflow&lt;/a&gt;.&lt;br&gt;&lt;br&gt;

Recently, I was working on a similar situation but was running into an issue passing a Javascript variable
into the function.&lt;br&gt;&lt;br&gt;

First I tried it this way:&lt;br&gt;&lt;br&gt;
&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;a&lt;/span&gt; &lt;span style="color:red"&gt;href&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;javascript: if (submitPromotes('Unsubmitted','Pending'))
var mgrEmail = getMail(asUser.items.Manager);
{ddwrt:GenFireServerEvent(concat('__workflowStart=
{{C05C844E-915A-4CFC-87D7-3F53C56D2710},
New,{18D8A258-EBC9-4362-8092-ED5818E72827},mgrEmail=',{mgrEmail},'*}'))}&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;

What I wanted was for the &lt;i&gt;mgrEmail&lt;/i&gt; variable&amp;#151;which is declared after determining that my
&lt;i&gt;submitPromotes()&lt;/i&gt; function works&amp;#151;to be inserted as the value of &lt;b&gt;mgrEmail&lt;/b&gt; in the
&lt;i&gt;GenFireServerEvent()&lt;/i&gt; call.&lt;br&gt;&lt;br&gt;

But, I was getting an error because {} is making the XSL look for an &lt;i&gt;xsl:variable&lt;/i&gt; or &lt;i&gt;xsl:param&lt;/i&gt;.
If I left the curly braces off, nothing was returned (i.e. ... mgrEmail=* ...).&lt;br&gt;&lt;br&gt;

What was I missing? How do I get Javascript to insert text into the &lt;i&gt;__doPostBack&lt;/i&gt; that's created here?&lt;br&gt;&lt;br&gt;

I know it's doable to create a hidden control and use jQuery to write my Javascript value to that control,
then call it with the curly braces on the GenFireServerEvent, so it pulls from the form when the button is
clicked... but it seemed like I should be able to get the Javascript variable in there directly.&lt;br&gt;&lt;br&gt;

As I often do, I asked my good friend Marc Anderson for an assist.&lt;br&gt;&lt;br&gt;

&lt;blockquote&gt;&lt;em&gt;mgrEmail is a Javascript variable, not an XSL variable, so you need to concat it as such.
(Typing on my iPhone so can't really give you the solution.)&lt;br&gt;&lt;br&gt;
M.&lt;/em&gt;&lt;/blockquote&gt;

&lt;i&gt;Right! That's what I'm asking how to do. ;)&lt;/i&gt;&lt;br&gt;&lt;br&gt;

I asked if he could point me to a link or throw me a hint when he had more than thumbs to work with.&lt;br&gt;&lt;br&gt;

His reply confused me:&lt;br&gt;
&lt;blockquote&gt;&lt;em&gt;Obviously, I can't test this directly, but I'm thinking something like this:&lt;/em&gt;&lt;br&gt;

&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;xsl&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:#a31515"&gt;variable&lt;/span&gt; &lt;span style="color:red"&gt;name&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;mgrEmail&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
   if (submitPromotes('Unsubmitted','Pending')) return getMail(asUser.items.Manager);
&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;xsl&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:#a31515"&gt;variable&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;a&lt;/span&gt; &lt;span style="color:red"&gt;href&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;javascript: {ddwrt:GenFireServerEvent(concat('__workflowStart=
{{C05C844E-915A-4CFC-87D7-3F53C56D2710},New,
{18D8A258-EBC9-4362-8092-ED5818E72827},mgrEmail=',{$mgrEmail},'*}'))}&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;em&gt;M.&lt;/em&gt;&lt;/blockquote&gt;

At first, I thought he was expecting the Javascript to run and output to the &lt;i&gt;xsl:variable&lt;/i&gt; but a
Javascript call won't work like that.&lt;br&gt;&lt;br&gt;

But as I played with it, I realized that Marc was directing me to pass the &lt;u&gt;text&lt;/u&gt; of the Javascript call into
the concatenated string so that when it got to the page, the browser would read it as a Javascript concatenation.&lt;br&gt;&lt;br&gt;

See, I'm working with XSL which processes XML to generate HTML. At the same time the XSL is transforming, the SharePoint server is processing directives to place browser-readable markup on the page in place of its specialized controls and functions.&lt;br&gt;&lt;br&gt;

That's what's going on with the &lt;em&gt;GenFireServerEvent()&lt;/em&gt;.&lt;br&gt;&lt;br&gt;

It's actually taking the concatenated string and resolving to a &lt;em&gt;__doPostBack()&lt;/em&gt;, which also includes
a concatenated string. If I include the Javascript call in that concatenation, the browser will assume that it's
just text and my variable will get to my workflow as the Javascript call itself. That won't work. So, I need to
pass the text of the call through &lt;em&gt;GenFireServerEvent()&lt;/em&gt; such that it stay intact and makes the Javascript
call when the button is clicked, just before the form action passes its result to the workflow.&lt;br&gt;&lt;br&gt;

Clear as mud?&lt;br&gt;&lt;br&gt;

Take a look and see if this clears it up at all:&lt;br&gt;

&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;xsl&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:#a31515"&gt;variable&lt;/span&gt; &lt;span style="color:red"&gt;name&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;mgrEmail&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;' + getUEmail(asUser.items.Manager) + '&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;xsl&lt;/span&gt;&lt;span style="color:blue"&gt;:&lt;/span&gt;&lt;span style="color:#a31515"&gt;variable&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;a&lt;/span&gt; &lt;span style="color:red"&gt;href&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;javascript: if (submitPromotes('Unsubmitted','Pending'))
{ddwrt:GenFireServerEvent(concat('__workflowStart={{C05C844E-915A-4CFC-87D7-3F53C56D2710},
New,{1CEADA32-A345-4027-A849-8F9B3EBADDD9},mgrEmail=',$mgrEmail,'}'))}&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br&gt;
This results in the link on the client side looking like this:&lt;br&gt;&lt;br&gt;

&lt;div style="color:black;background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;a&lt;/span&gt; &lt;span style="color:red"&gt;href&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;quot;javascript: if (submitPromotes('Unsubmitted','Pending'))
__doPostBack('ctl00$m$g_ed6879b5_4062_47fa_b2a4_4a0744f8e43d',
'__workflowStart={{C05C844E-915A-4CFC-87D7-3F53C56D2710},New,{1CEADA32-A345-4027-A849-8F9B3EBADDD9},
mgrEmail=' + getUEmail(asUser.items.Manager) + '}')&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;Button code&amp;#133;&lt;span style="color:blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515"&gt;a&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br&gt;

So the result of &lt;em&gt;getUEmail()&lt;/em&gt; is concatenated into the fourth parameter of &lt;em&gt;workflowStart&lt;/em&gt; just
before it goes to the form action workflow.&lt;br&gt;&lt;br&gt;

Now, when I get to the form action workflow wizard, I can use the workflow variable &lt;i&gt;mgrEmail&lt;/i&gt; to send
an email to the user's manager.&lt;br&gt;&lt;br&gt;&lt;/div&gt;
</description><comments>/JimBob/archive/2011/01/20/Passing-Client[dash]side-data-to-a-Form-Action-Workflow.aspx#Comments</comments><category>Form Actions</category></item><item><author>Jim Bob Howard</author><title>Come see me at SharePoint Saturday EMEA</title><guid>/JimBob/archive/2011/01/18/Come-see-me-at-SharePoint-Saturday-EMEA.aspx</guid><link>/JimBob/archive/2011/01/18/Come-see-me-at-SharePoint-Saturday-EMEA.aspx</link><pubDate>Tue, 18 Jan 2011 22:02:00 GMT</pubDate><description>&lt;div class=ExternalClassF8691936719C4B4CA0471F3A3C6A3B82&gt;&lt;a href="http://www.sharepointsaturday.org/emea/default.aspx"&gt;Live Online SharePoint Saturday EMEA&lt;/a&gt; is back on January 22nd, 2011. This is the second annual SPSEMEA and promises to be a huge event with over 30 sessions, &lt;strike&gt;4&lt;/strike&gt; NOW 5 simultaneous Live Meeting Channels and a public text chatroom open to participants and speakers.&lt;br&gt;&lt;br&gt;
 
&lt;a href="http://2011-01-22-spsmea.eventbrite.com/"&gt;Registration for SPSEMEA&lt;/a&gt; began on January 11 and is &lt;b&gt;free to the global SharePoint Community&lt;/b&gt;. There are over &lt;b&gt;30 SharePoint Evangelists, including 10 SharePoint MVPs&lt;/b&gt;, from around the world providing content you would normally only see at a paid SharePoint Conference. Tracks are set for SharePoint End Users and Business Managers on topics for &amp;quot;&lt;b&gt;How We Did It: Real World Case Studies&lt;/b&gt;&amp;quot;, &amp;quot;&lt;b&gt;No Code/Assembly Solutions&lt;/b&gt;&amp;quot;, &amp;quot;&lt;b&gt;SharePoint Interface Branding&lt;/b&gt;&amp;quot;, and &amp;quot;&lt;b&gt;SharePoint for Business&lt;/b&gt;&amp;quot;. The sessions will be recorded and made available two weeks after the event.&lt;br&gt;&lt;br&gt;
 
Don't miss my session, &amp;quot;Beyond HTML: Advanced Scripting for the SharePoint Power User&amp;quot; at 2PM GMT (8AM CST, for me).&lt;br&gt;&lt;br&gt;

&lt;blockquote&gt;&lt;b&gt;Beyond HTML: Advanced Scripting for the SharePoint Power User&lt;/b&gt;
Sometimes HTML just isn’t enough. That’s when understanding CSS and XSLT come in really handy. Then there’s Javascript and jQuery. Discussing real-world examples, we’ll dig into calculated HTML columns, color-coded calendars, Christophe Humbert’s Easy Tabs script, the XSLT and CSS of the Dataview Webpart (DVWP), the Content Editor Web Part (CEWP), examining the Document Object Model (DOM), and form action buttons. We’ll also start writing out some jQuery to traverse and manipulate the DOM.&lt;br&gt;&lt;br&gt;

There’s a lot to cover, so buckle up and let’s get SharePoint humming the way we want it to. Bring your use cases and business process hurdles; we’ll run the race together to make it work the way you need it to.&lt;br&gt;&lt;br&gt;

&lt;b&gt;PREREQUISITE:&lt;/b&gt; HTML (SharePoint Designer 2007 or 2010 required)&lt;br&gt;
&lt;b&gt;TECHNICAL LEVEL:&lt;/b&gt; Intermediate&lt;br&gt;
&lt;b&gt;AUDIENCE:&lt;/b&gt; Power User, End User, Site Collection Manager&lt;br&gt;
&lt;b&gt;SHAREPOINT VERSION:&lt;/b&gt; 2007 (much will port to 2010)&lt;/blockquote&gt;

I hope you'll join me for Live Online SharePoint Saturday EMEA. &lt;a href="http://2011-01-22-spsmea.eventbrite.com/"&gt;Be sure to register in advance&lt;/a&gt; to guarantee yourself free access to some of the best presentations available, all aimed at SharePoint End Users.&lt;br&gt;&lt;br&gt;
 
See you there.&lt;br&gt;&lt;br&gt;

Blessings,&lt;br&gt;
Jim Bob&lt;/div&gt;</description><comments>/JimBob/archive/2011/01/18/Come-see-me-at-SharePoint-Saturday-EMEA.aspx#Comments</comments><category>Speaking</category></item><item><author>Jim Bob Howard</author><title>Hello (Again) SharePoint World</title><guid>/JimBob/archive/2011/01/18/Hello-(Again)-SharePoint-World.aspx</guid><link>/JimBob/archive/2011/01/18/Hello-(Again)-SharePoint-World.aspx</link><pubDate>Tue, 18 Jan 2011 21:00:00 GMT</pubDate><description>&lt;div class=ExternalClassF33E13F6671340A4BCA1D775E9F9FEA7&gt;Thanks for stopping by my new blog, hosted by my friends at Mindsharp. For the last couple of years, I've been posting articles and series at &lt;a href="http://bit.ly/jbhoward_EUSP"&gt;EndUserSharePoint.com&lt;/a&gt; (now &lt;a href="http://www.nothingbutsharepoint.com"&gt;NothingButSharePoint.com&lt;/a&gt;) and will continue to do so, especially for those series which are heavily weighted toward end users. And I'll cross-post applicable topics in both places.&lt;br&gt;&lt;br&gt;

I have a personal—dreadfully neglected—blog, on which I've posted a few random SharePoint topics. I'll be porting those over to this blog in the near future, so my family can go back to reading about what's going on with the children and couldn't really care less about SharePoint. (We'll win them over in due time.)&lt;br&gt;&lt;br&gt;

What you'll find here will be middle-tier development for folks that are more than an end user, but less than a developer. I like to think of them as power users or super users.

The current categories (and I may add more) that I'll be covering are: The Data View Web Part (DVWP), jQuery, HTML, CSS, XSLT, Form Actions, SPD Workflows, and the Content Editor Web Part (CEWP). In fact, I have a new Form Actions post just about ready to go live. Please let me know what you think about it.&lt;br&gt;&lt;br&gt;

I've also been accepted to speak at several SharePoint events this year. As those dates approach, I'll be sure to keep my readers posted on where you can come meet me and talk out your specific SharePoint case. I love hearing how folks are using SharePoint, and especially how super users and power users are making it do some incredibly power stuff!&lt;br&gt;&lt;br&gt;

So, here's a hearty THANK YOU to MindSharp for hosting me. I hope I make you proud! :)&lt;br&gt;&lt;br&gt;

Blessings,&lt;br&gt;
Jim Bob&lt;/div&gt;</description><comments>/JimBob/archive/2011/01/18/Hello-(Again)-SharePoint-World.aspx#Comments</comments><category /></item></channel></rss>