jump to navigation

SharePoint Designer 2010 – Building Composite Apps: From SPC09 Las Vegas October 21, 2009

Posted by willhlaw in jQuery, SharePoint, Sharepoint Designer, SPC09.
Tags: , , , , ,
1 comment so far

I am here at the SharePoint Conference 2010 (SPC09) at Las Vegas. There were not a plethora of interesting sessions this afternoon, so I stuck to what I have been good at; live blogging on SharePoint Designer 2010. See my other blog posts:

Here are the interesting points from the session.


Enterprise Mashups with SharePoint Designer 2010, Bing map services, and Restful web services: From SPC09 Las Vegas October 21, 2009

Posted by willhlaw in jQuery, SharePoint, Sharepoint Designer, SPC09.
Tags: , , , , ,

Enterprise Mashups with SharePoint Designer 2010, Bing map services, and Restful web services

This is an overview during a live presentation at SPC09, the biggest SharePoint Conference of the year, possibly ever. The session is quite good. There were good examples of the different web parts and interaction in Shareponit Desinger 2010, bringing in RSS feeds from Twitter and MSN Weather, stylesheets to turn a list into a Bing map, and the underlying code to render the pushpins. Great job Microsoft.

[Update] The jPoint team is creating a Bing script solution. Check back later this evening to get the hyperlink to the example!

[Update #2] The jPoint team, within hours, has created the Bing solution at http://sharejPoint.com/examples.

[Update #3] Hector Ruiz has blogged about Experimenting with jPoint and Bing Maps here.

Demo 1, connecting with recruits using Twitter and MSN Weather

  • In SharePoint Designer 2010 (SPD2010), data sources can be RSS, Rest, Server Scripts. That is how Twitter and MSN Weather were added as data sources. From each website, the RSS feed URL was grabbed.
    • Twitter’s feed is /show.xml?…
  • RecruitDetails.aspx
    • MSN Weather feed was added into a new ASPX page as a DataFormWebPart by selecting Data View -> MSN Weather.
    • Twitter feed was using Twitter’s API, which is not reliable, and it did not work. But presenter prepared the audience for this failure.
    • For MSN Weather DFWP, a web connection was created to get parameters from the query string.
    • After establishing the TwitterID as a query string parameter, the presenter tried to drag in the Twitter DFWP again. It worked!
    • An XsltListViewWebPart that is hooked up to a recruiter’s list is connected to the Twitter web part.
  • RecruitMap.aspx
    • Recruits list is added to the page without any formatting.
    • The recruit list is added again to the page. Hmmm…where are they going with this?
    • The presenter turns the second webpart, an XsltListViewWebPart, and adds a reference to an XSL stylesheet called g11.xsl. This stylesheet magically turns the XLVWP into a Bing map! Pretty cool, but I’d like to see that g11.xsl! This gets the audience’s first clappter!
    • Wow, they go into the XSL stylesheet. There is a little bit of javascript to send the addresses to the map services. Actually, they have code placeholders, so I have no idea how much work was involved. I have done this with Google Maps, OpenLayers, and Google Earth Enterprise (which has a slightly different API than Google Maps public, which is always a slight pain).

Demo 2, rentals mashup

  • Same pattern is going to be followed as the first demo, by starting with creating a RentalDetails.aspx page.
  • RentalDetails.aspx
    • First step is to go into code and define the layouts
    • Presenter pops over to view the list. It is standard information about a rental unit (bedrooms, baths, etc)
    • Back to the code view in SP2010, a rentals-gallery div and rentals-detail div is created.
    • To show just one list item, change the DataFormWebPart of the rentals list to only show 1 item, a nice way to style a detailed view.
    • The attachment column is at the top of the list. These attachments are going to be pictures attached to each rental item. Since this will be useful later, it is tagged in the content by typing “@Marker” in the field next to the label “Attachment” for the DFWP.
    • The DFWP control inserts a table with id of idAttachmentTable which will be used later to show the pictures.
    • A filter is added to only show the rental item whose “title = Title” where Title is a query string parameter.
    • The page refresh did not filter properly. Somebody in the audience helped the presenter out by telling him he made the variable a server variable rather than a query string param.
    • The page still did not filter properly. It is still showing the first item in alphabetical order. The presenter tried to pull the file from a saved location, but that did not seem to work. So now, he is rebuilding the solution from scratch. This rebuild is fast! Uh-oh. Still a problem. Somehow, it is just magically NOT working. So, the presenter pulls up a totally new “backup” page so that the demo can move on.
    • This brd.aspx page uses jQuery to show an image slide show. That’s what I’m talking about. I see several people in the audience skoot to the edge of their seats.
    • In the brd.aspx page, he references a local jquery.min.js and a jquery.slideshow.js as well as a jquery.slidshow.css file.
    • Within the page itself, there is some more custom script that clones the idAttachmentTable and prepends the rentals-gallery.
    • Then, $(“#rentals-gallery”).slideshow() creates the slideshow with parameters dictating the speed and location of the images. He glanced over these details because the code will be provided “later”. I have always wondered how much later and how will we be notified? Well, once I find out, I will update each pertinent blog entry on my site.
  • To create the map, _spBodyOnLoadfunctionNames.push(“Initialize”)
  • And several variables to define; var mapDivId, mapZoom, mapListName, mapPinTitle, maplistQueryFields (columns from list), maptargetDetailsPage=”brd.aspx”, mapTargetDetailsPageParam, mapTargetDetailsPageValue = mapPinTitle;
  • Functions include:
    • mapGetItemaddress(i)
    • mapGettemHTML(i)
    • Initialize -> this calls mapInitialize() and then spGetData();
    • mapListQuery() -> builds the fields in CAML query.
    • mapInitialize()
      • mapTheMap = new VEMap(mapDivId);
      • maptheMap.LoadMap();
      • mapResetCenterCalculation();
    • spGetData()
      • This function uses the Javascript Client Object Model. Again, the presenter touts the consistency across client side models (.NET, Silverlight, and Javascript). For more information on the Client Object Model, see my blog post.
      • A context is created and then ctx.get_web().get_lists().getByTitle(mapListName);
      • Then, a CAML query is created.
      • After some more setup calls, then ctx.executeQueryAsync(mapAsyncQueryWorks(mapListItems))
        • He starts talking about javascript closures. Wow, this is the first time I’ve HEARD someone talk about closure, as opposed to just writing about it. However, he skims over this topic and really does not explain it. Too bad. I thought he would be able to educate the audience since closures is a really tough topic for people to grasp.
      • mapAsyncQueryWorks(mapListItems)
      • mapCallback(title, photo_url, shareHTML)
        • A VEShape is created for the pushpin and latlong location.

Roadblocks to Mashups in the Enterprise

  • Technical roadblocks
    • Security, authorization, authentication
    • Identity Management
    • Single Sign-On
    • Credential propagation
    • Data trustworthiness -> Research has shown when users see data on a map (or in a report), they believe it to be TRUE.
    • Web services readiness
  • Management roadblocks
    • Web services changes
    • Data source dependencies
    • Mashup lifecycle
    • Component lifecycle
    • Policy Management and Governance
    • Privacy
    • Compliance

That’s it. The session ended with an apology for the failed demo, but a reminder that they had a backup ready. Unfortunately, there was no time for questions. If you find my live blogging useful, let me know. Also, add my blog as a feed as I will update it once I find out when the code samples are available.

Building Applications with InfoPath and SharePoint Designer 2010: From SPC09 Las Vegas October 20, 2009

Posted by willhlaw in InfoPath, SharePoint, Sharepoint Designer, SPC09.
Tags: , , ,

Live from Las Vegas at Mandalay Bay. I am at the SharePoint Conference 2009 and listening to a presentation on InfoPath and SharePoint Designer 2010. I will tend to use IP2010 and SPD2010 for short. I type fast, but not that fast to keep up with some of these fast talking presenters who apparently are very expert on the subjects. Presenters are Roberto Taboada and Darvish Shadravan from Microsoft.

My top 3 features for InfoPath 2010 are listed at the bottom of this post.

InfoPath 2010 and SharePoint Designer 2010

  • Overview
    • IP2010 for capturing the right information
    • SPD2010 to get the information into the right hands
    • Introducing the Procurement Application
    • Review the Key app components
    • Demo, building the application – highlight new IP2010 features and best practices
    • Q & A
  • Presenters are stressing that it is a 300 level session so we need to follow along closely. (keyboard may need to quiet down a little.)
  • Demo, Procurement app for BlueYonderAirliens
  • From user perspective, a user needs a new laptop.
    • User fills out a form from the webpage. It is a pretty good looking form. Audience laughs because justification for new laptop is “Office party + beer + spill = broken machine J“.
    • A data connection uses an external list, not a SharePoint list.
    • New product details are selected via connected cascading dropdowns
    • Form is submitted and the request is updated on the web portal.
    • A workflow assigns an ID to the request and routes it to an approver.
  • Now, from approver’s point of view
    • A Portal for approver’s have list of tasks from workflow assignments in upper-left. Master-detail with details on the right.
    • Details view has hyperlink to the form. Ok, nice UI. No brainer.
    • Once request is approved, it turns green on the detail view.
    • A custom action in the workflow generates a word document that is an order form to place the order. To implement this, the SDK is used. XML is taken out of the IP2010 form and is used to generate the word document.
    • Word document looks good. It even includes a + expando when the mouse hovered over the details paragraph. Hmm…wonder what action that does.
    • Bad joke, Darvish calls Roberto, “Tub of water”. Nobody laughs.
    • An excel web part is used to see insight and stats on orders.
    • Another web part, shows aggregate view of grouped number of requests by user.
    • Then, approver goes into the form and updates a comment with, “I don’t think so dude.” Hmm…some laughed. These guys are making this fun, but not too fun, obviously.
  • Back to Roberto with a come-back joke. Not worth explaining.
    • End user would get a rejected e-mail from the approver’s rejection activing a workflow.
    • From the end user’s requests portal, end user can see a Visio generated workflow of where his requests currently stand. Pretty neat!
  • That was the demo, now to talk about the components. Everybody clapped after realizing it was the end of the demo.
    • Line of Business Data.
      • Store product & category info in external lists.
    • InfoPath Form
      • Combine product info & user input.
      • Create requests in form library
    • Approval Workflow
      • Create tasks in task list
      • Assemble order form in doc library.
    • Requester & Approval Portal
      • Start & manage requests
      • Track status with Excel & list Web Parts.
    • They will package and deliver code to the public. Several clappter. Is that even a word?
  • Details on each component
    • Line of business data
      • Form is themed to fit with portal
      • Product key is read only
      • External content type provides the secondary data connection for the product subcategories.
      • Final piece is actual Products list.
      • SharePoint Designer is used to manage the external data source, which is a database table, which drives the product data.
    • InfoPath Form
      • Shows that rules are MUCH easier to manage in IP2010. Great job InfoPath team!
      • If it is a new form, it can be detected because ID will be blank. If it has an ID, then the other section is shown.
      • A people picker control can be dropped onto the form and does not have to be configured further. Much clappter and even a few “woohoos”. Alright! This session is fun.
      • Request total cost is calculated automatically. Nothing too fancy here.
      • The Needed By: field is a date picker, but it has some validation with an error tip. It is actually a rule. Nothing that new here.
      • Under rules, you can see the conditions and actions in the task pane. Very cool.
      • Best Practices Tip: Do not load the data until you need it. So, load on demand.
      • Until a user selects a sub category, or product type, the data is not pulled in. When it is selected, Sharepoint is queried and then the data is pulled in for the drop down. Presenter thinks user expects a delay for this sort of action? Click on a dropdown and wait to see a medium sized list? Possibly some users, but not in the public space.
      • Best Practices Tip: If user does not need any extra buttons after submitting a form, then provide a blank view where the user’s only option is to go back to the portal.
      • On submittal, a rule simply sends the user to the “go to Submit Confirmation” view. Ok, this could easily be done with a custom button in previous versions.
      • A third primary view for the Form is the rejection form, where the end user can only read the form, and declarative logic in the form determines which stoplight image is shown (i.e. red light for rejection, green for approved)
        • The declarative logic basically shows one of three sections so the form is designed with three separate sections that have the green, yellow, and red stoplight image. The status properties determines which section to show. Ok, again, simply done in previous versions.
    • Workflow
      • Approver has a dropdown on the form along with the comments section. The dropdown selections have pre-built workflows for each.
      • SharePoint Designer 2010 is used to manage each workflows, i.e. Approval workflow, Feedback workflow, etc.
      • Workflows can be applied to more than one list or library. This comment generated a lot of clappter. Guy behind me even says, “Nice”.
      • Document ID is generated for every document in a site collection. So, in the forms solution, a prefix can be prepended to each document ID and the filename is same as document ID. A redirect service allows you to find a document based on document ID.
      • There are multiple layers in the workflow. An action in one workflow can trigger another workflow sequentially. So, in SP2010 workflow view, you can “drill down” into the underlying workflow details.
      • Buttons at bottom of form are branded and color coded so that user does not execute the wrong action.
      • The list of options for rejecting a form are actually pulled from SharePoint.
      • Last piece of workflow is assembling the Word document
        • From SPD2010 Workflow, an action is inserted with a custom action “Assemble Word Document” Anyone else in the site collection creating a workflow can use this custom action.
        • Custom action has some parameters to choose using the GUI. Very slick.
        • Parameters are required to determine which template to use to generate the document and location of where to store the document.
        • They will publish this custom action publicly as well.
        • Code for custom action is shown in Visual Studio 2010 and is only a few functions using OpenXML SDK.
    • Portal
      • Master page is modified to strip some UI elements that are distracting for the solution.
      • Master page includes a link to the form URL. The link to the form has a Source parameter so that the form knows where to go after it is submitted.
      • To create the master detail view between task list (remember, it was in upper left) and task details (upper right), was simply using web part connections -> send row of data to method.
  • Application Deployment and Portability
    • Data connections in InfoPath forms are now relative URLs, they are not hard coded. Yes. Finally! Almost everybody clapped!
    • Can package applications as reusable templates (WSP).


Top 3 Features of InfoPath 2010

  1. Built-in controls i.e. People Picker
  2. Filtering supported in the browser i.e. A drop down list on a secondary data source can be filtered based on another field in the form and the form in the browser now respects the filter.
  3. Rules. The rules now has a new task pane so it will be MUCH easier to configure and manage rules.


If you are reading this and find it helpful, let me know. Send me a comment please. Thanks.

Working with the new Client Object Model: From SPC09 Las Vegas October 20, 2009

Posted by willhlaw in jQuery, SharePoint, Sharepoint Designer, SPC09.
Tags: , , , ,

Live from Las Vegas at Mandalay Bay. I am at the SharePoint Conference 2009 and listening to a presentation on the new SharePoint 2010 Client Object Model. Presenter was Paul Stubbs from Microsoft.

Client Object Model

  • Simple API to Add, Retrieve, Update and Manage Date in Shareponit.
  • 1st goal – consistency
    • Between client and server API
    • As well as between the three different clients, Client side (.NET), Silverlight, and Javascript.
  • 2nd goal – efficiency
    • In use of server resources
    • In use of network resources
    • Uses a SQL model. Batch up client calls, call server, server processes query, server turns results as a result set
    • Only return data the exact data that I need. i.e. When calling a list, only retrieve data for the specific columns that are needed.
  • Code example
    • Today:
      • SPWeb site = SPContext.Current.Web;
      • String title = site.Title;
      • Site.Title = title + ” and Client OM”;
      • Site.AllowUnssafeUpdates = true;
      • Site.Update();
    • Now with Client Object Model:
      • ClientContext = clientContext = new ClientContext(http://intranet.contoso.com);
      • Web site = clientContext.Web;
      • clientContext.Loadsite);
      • clientContext.ExecuteQuery(); //synchronous call
      • site.Title += ” and Client OM”;
      • site.Update((); //second call because as a rule, can’t use a property to set the value of another property.
      • clientContext.ExecuteQuery();
    • Another example:
      • Web site;
      • ClientContext ctx;
      • Void MainPage_Loaded(object sender, RoutedEventArgs e)
      • { contexzt = new ClientContext(http://mysite);
      • Site = context.Web;
      • Context.Load(site);
      • //Call the Sharepoint Server
      • Context.ExecuteQueryAsync(succeededCB, failedCB);}
    • Javascript example:
      • _spBodyOnLoadfunctionNames.push(“Initialize”);
      • Var site;
      • Var Context;
      • Function Initialize()
      • { contexst = SP{.Clientcontext.get_current();
      • Site = Context.get_web();
      • Context.load(site, “Title”);
      • //Call the Sharepoint Server
      • Context.executeQueryAsync(Suceeded, Failed);}
  • Retrieve Data
    • Context.Load(object, params LinqExpre3ssion)
      • Fills out the objects in the context; in-place
      • ‘method syntax’ linq only
  • Context.Loadquery(iQueryable)
    • Use linq query to return custom objects
    • Not filled into the client context
    • Both ‘query syntax’ and ‘method syntax’ linq
  • Query Syntax
    • More natural Linq query that is familiar
    • Var query = from list in clientContext.Web.Lists where list.Title != null select list;
  • Method Syntax
    • More technical
    • clientContext.Load(oList, list => list.Fields.Where( field => field.hidden === false && field.Filterable == true));
    • Harder, but more powerful.
  • How does this all work? How to access data with Client OM?
    • A new service called Client.svc is a proxy to WCF service.
    • When .ExecuteQuery occurs, block of XML gets sent to server, it unwinds it, and returns JSON object to client.
    • Use fiddler to see the payload to understand how it works, but once you do, can ignore the traffic details.
  • Demo 1, change site title “Hello World”:
    • Shows an example of client.svc runtime being used in a windows application to change the title of a site.
  • Client Object Model using .NET is synchronous, but Silverlight and Javascript are asynchronous.
  • Demo 2, a WPF example:
    • Purpose is to fill a list box with a List of Lists.
    • There are some namespace collisions when building the WPF app.
    • So, you must write: Using SP = Microsoft.Sharepoint.Client again to prevent namespace conflict.
    • Object model will turn query syntax into method syntax before sending it to the server. Remember, query syntax is easier to write.
  • Demo 3, showing .NET CLR in Word
    • Drop .NET controls on the canvas onto the design surface within Visual Studio.
    • Purpose is to fill a task pane (Action Pane, uses ElementHost control because it needs to be Winforms based) on the right-hand side of customer data.
    • Also showing grabbing fields from a list.
  • Demo 4, javascript and jQuery
    • In visual studio, starting a new OMJavascriptApplication
    • <SharePoint:scriptLink> name=”sp.js”. -> Name of javascript client object model
    • <script src = js/jquery-ui-1.7.1.custom.min.js and other jquery files. Presenter mentions that trontastic is a great css to use. I have to check it out.
    • Bui8lding a dynamic jQuery Accoridion on the page by setting a div id=”accordion”
    • Has a separate MyJScode.js file
      • Inside the file, uses _spBodyOnLoadfunction to push Initialize function with familiar code that gets context, etc.
      • LoadListBox is pure jQuery code to populate listbox with a change event.
      • Var listEnumerator = lists.getenumerator();
      • While listEnumerator.moveNext()) {
      • }
      • Then listbox1.append using standard jquery.
      • BuildTable(ListName) is pure jQuery code.
    • Purpose of example is to show List of Lists inside the accordion! Really cool. This caused the audience to clap for the first time in the entire demo!
  • Javascript Client OM
    • Javascript files are in the 14 bin folder on the server.
    • There is a debug version (SP.debug.js)
    • SP.Core.js and SP.Core.debug.js
    • SP.Runtime.js (SP.Runtime.debug.js)
    • Debug versions are only slighter larger.
  • Next demo, Silverlight example
    • In visual studio, starting a new OMSilverlightApplication in Visual Studio
    • Starts with a simple grid with listbox
    • Using SP = Microsoft.Sharepoint.Client again to prevent namespace conflict.
    • Can build using standard Silverlight code to run in browser or inline, which I think means stand alone on the client machine.
    • It is easy to go from WPF code to Silverlight using this.Dispatcher.BeginInvoke and using a lambda expression.
      • i.e. this.Dispatcher.BeginInvoke ( ()=> {messageBox.Show(string.Forma(“failed – msg”); })
    • There are lot of steps to publish the Silverlightproject. Seems like several options for outputting the project. Grant it, I am not familiar with Silverlight at all.
    • (uh-oh, big clapping from next session over!) Yeah Microsoft.
    • When deploying Silverlight app to Sharepoint, a Silverlight.xap file is published to a Silverlight folder located at
    • The project does not exist on the SharePoint server, it is deployed as a sandbox solution.
    • In site settings -> solutions -> OMSilverlightApplicatinoDeploy exists for a site collection administrator to deploy.
    • Since deployment option was checked to allow Silverlight webapp to be installed on client, you can right-click the Silverlight listbox app, and can install the app on the client!
    • (This got the second clap of the session from the audience!)
  • No reason to deploy in WPF (if you are not doing full trust or 3D). To have updates, click once, security, and to have offline capability, build apps in Silverlight!    
  • #SPC09Buzzword for this session, “Super Powerful. Super Powerful”
  • Silverlight CLR Client OM
    • Located in 14 bin on server.
    • Microsoft.SharePoiht.Client.Silverlight (262KB)
    • Microsoft.SharePoint.Client.Silverlight.Runtime (138KB)
  • Q & A
    • I asked what recommended methods does Microsoft have for deloying jQuery and script libraries to Sharepoint Pages. There was no real recommendation other than including it in masterpage globablly or referencing it in a single .aspx file, but Scott was the second time I heard to talk with Mike Amerland.

InfoPath and Forms Server 2010 Features: From SPC09 Las Vegas October 19, 2009

Posted by willhlaw in InfoPath, SharePoint, Sharepoint Designer, SPC09.
Tags: , , ,

InfoPath and Forms Server 2010 Features

There were two presenters for this session in the basement of Mandalay Bay. They were young engineers from Microsoft, but they did an outstanding job although there were a few technical glitches.

Demo 1 – Customizing Sharepoint List Forms

InfoPath 2010 can now be used to customize SharePoint 2010 list forms.

Since we are in Las Vegas, the presenter bet that she could customize an InfoPath form and bring it up on a webpage from Forms Server in under 1 min. She actually did it by adding an image to the top row in less than 30 seconds. It was a quite impressive since I know the pain it has been to deploy InfoPath forms to Forms Server 2007.

When creating a rule, the Formula Builder has an updated UI and the presenter talked about it having more powerful combinatorial type functions that did nto exist before. Unfortunately, she did not go into deeper detail.

If a form is opened up from SharePoint in InfoPath, the quick publish option allows a quick save back to SharePoint without any extra prompts.

End users will not even realize a form is actually an InfoPath form getting served up by Forms Server 2010 and the user may just think it is just a fancier SharePoint Form.

The demo continued with similar features that we are all used to since InfoPath 2003 like secondary data sources and filters on these lists.

Benefits of customizing SharePoint List Forms and overview of First demo.

  • Information workers solve own problems, freeing up IT
  • Layout form using pre-built tables
  • Use rules to conditionally format, validate data & show/hide sections
  • Bring in data from SharePoint Lists
  • Take offline in SharePoint Workspace
  • Examples shown included Project Contact List, issue Tracking List, Feedback Form, and Event Sign-up.

Demo 2 – Creating Mashups with Form Web Parts

The Second demo started with showing a live image being pulled in to show the current weather conditions and a Map It button which was simply a rule-based hyperlink that pointed to, you guess it, Bing.

The form web part was connected via web part connections to another list. Thus, when the recruiting trip was selected from a particular recruiting list item, the form web part showed the corresponding form that showed the weather and Map It hyperlink for that particular trip’s destination.

InfoPath forms can now be packaged as solution packages in order to move a Forms solution from development to pre-production to production. ISV’s can also now create a Form solution and send it as a solution package to their clients. For portable solutions, the links need to be absolute, and InfoPath and Forms Server is able to deal with that.

Benefits of creating mashups with Form Web Parts and overview of Demo 2

  • Information Workers & IT have tools to create mashups
  • Connect InfoPath web part to other Webparts; Excel, Silverlight, List etc.
  • Customize form in InfoPath
  • Design web part page in browser or SharePoint Designer
  • Package as reusable templates (WSP)
  • Examples included Mortgage Calculator (with Excel) and the recruiter Master-detail (with List)

Demo 3 – Office Business Applications

A cascading dropdown was created pulling information from SQL Server. When form is submitted, workflow kicks off e-mails to Supervisor and another group. However, the details were kept from the audience and reserved for session later in the week.

SharePoint Designer is the no-code center point for OBA (Office Business Applications). Designer can even kick off a Forms solution.

Benefits of office business applications and overview of Demo 3

  • Manage OBA in SharePoint Designer: Workflow, Pages & InfoPath Forms
  • Store data in SharePoint or external systems, BCS (Business Connectivity Services)
  • Add sandboxed code to InfoPath form
  • Package as reusable templates (WSPs)
  • Examples include Procurement, Expense Reports, Orders, Onboarding, Service Requests, Helpdesk

Q & A

I asked if Forms Server 2010 and the Form web part will allow rich AJAX and javascript functionality. The answer was yes and no. Yes in that they have improved the AJAX that the form executes within the context of the form on the page so that cross-browser compatibility and performance have been enhanced. The second and more important part of the question, unfortunately, was a No. They were not sure (and I think it would have been a pretty big deal) that javascript on a page that has a form on it would be able to easily access the fields on the form, to get, set, and perform other tweaks on it.

Sharepoint Designer 2010 Features: From SPC09 Las Vegas October 19, 2009

Posted by willhlaw in SharePoint, Sharepoint Designer, SPC09.
Tags: , ,

Sharepoint Designer 2010 Features

Live from Las Vegas at Mandalay Bay. I am at the SharePoint Conference 2009 and listening to Asifrehmani’s presentation on SharePoint Designer 2010. Here are the features he talked about.

  • New Site Collection permissions for managing pages with SPD and detaching from site template / materpage (Was called ghosting in 2003 and then called Customizing in 2007). New Site Collection permissions for managing pages with SPD and detaching from site template / materpage (was called unghosting in 2003 and then called customizing in 2007).
  • Can create list or document library from within Designer.
  • Can change list schema (create, edit, delete list columns) from within Designer
  • To show a list on another page, rather than dropping in a webpart for that list, SharePoint Designer has Site Pages.
    • Can edit file in Normal mode or Advanced mode. To not have the page break in Chrome, for example, edit in Normal mode.
  • Within Designer, can manipulate site permissions much easier than via web.
  • Site Assets is a new concept to hold CSS and other resources for custom pages.
  • Rest web services can be connected to in Designer.

XsltListViewWebpart – New DVWP and ListViewWebpart

  • XsltListViewWebpart is different from DataViewWebpart because it only shows list information. DVWP could show any information.
    • Ability to format item in boxed view based on filters with new built-in parameters.
    • Data View was used as the example of putting the list information onto a newly created Site Page.
      • XsltListViewWebpart – new webpart. Created when Data View was dropped onto the page.
      • It combines the best of ListViewWebpart and DVWP.
      • Will remain as one of the most powerful Webparts in SharePoint.
  • DataFormWebpart pulls list information up as XML and uses XSLT to transform it. It works very much like DVWP. When manipulating XSLT via Designer, Insert Formula screen has more intelligent preview of what data markup currently looks like.

Business connectivity Services is new BDC (Business Data Catalog)

  • Pulls LOB data and pushes into SharePoint.
  • Easier to configure connections as external content types.
  • From Central SharePoint Administration, can manage ECT (External Content Type).


  • Reusable List Workflows as well as Site Workflows.
  • In workflow wizard, can choose which content types to have workflow applied.
  • Starting to consolidate Designer Workflow terminology with BizTalk. i.e. Activity. Declarative Rules.
  • Email activity has rich text editor and String Builder built in that has intelligent lookup using Data Source/Item selectors.
  • (Finally. No longer will developers waste time fixing HTML within a simple window for workflow e-mail.)
  • In the workflow steps, start typing and it will auto-lookup acceptable activities. i.e. start typing “emai” and press enter it will bring in Email activity.
  • Favorite example at SPC09 so far – >(Better example of auto-complete. Start typing “ass” and press enter to bring in assignment activity. Nice one @asifrehmani)

Site Templates

Backward Compatibility

Unfortunately, Microsoft fell short here. SharePoint Designer 2010 and most other SharePoint 2010 products will only work with the SharePoint 2010 runtime. Steve Ballmer himself declared that they would have liked to have made it backward compatible, but they had to make the tough decision of drastically changing the runtime moving forward.