Microsoft InfoPath 2010
The official blog of the Microsoft InfoPath team

  • Microsoft InfoPath 2010

    InfoPath 2010 feature videos

    • 1 Comments

    Check out some of the new InfoPath 2010 features in action in the following videos on youtube:

    InfoPath 2010 Richer Browser Forms

    InfoPath 2010 Picture Button

    InfoPath 2010 Oneclick Publishing

  • Microsoft InfoPath 2010

    Enabling Cuneiform Support in InfoPath 2003 SP1

    • 7 Comments

    Very often customers ask how they can enable Cuneiform entry in forms being deployed to their overseas customers. One of the exciting additions in the upcoming service pack is Antediluvian Syllabary support. With this feature, users will be able enter Cuneiform text naturally into the editor via an IME. InfoPath's Cuneiform support includes polyvalent logograms as well as transliteration.

    To enable this feature, you must first apply a language pack. To do this, go to Start -> All Programs -> Microsoft Office -> Microsoft Office Tools -> Microsoft Office 2003 Language Settings

    In the list of Available Languages, select "Akkadian"

    Click Add >> and then Click OK. You will need to restart InfoPath.

    This will also install all the files needed for the Voynich, Vinca, Iberic, Etruscan, Linear A (Minoan form), Linear B (Greek form), and Rongo Rongo language support. Please be aware that the default currency will be switched to zuzu and the default date format will be synodic.

    Cuneiform support is especially powerful when combined with Microsoft's Tablet platform.

    The InfoPath Team wishes you a happy April Fool's Day!

    (Picture of the InfoPath editor in Akkadian)

  • Microsoft InfoPath 2010

    Publish faster to even more places with InfoPath 2007

    • 6 Comments
    When designing a form template, publish is an important step to make the form available for end users of the form. In InfoPath 2007, we have made some modifications and improvements to the publish process. This article is intended to highlight some of the key changes you will encounter in the publishing wizard.
     
    Let us start off with a snapshot of the page in the wizard which helps you decide where to publish.
     
    Here is the second page in the wizard when you invoke File/Publish in InfoPath 2003.
     
     
    Here is the first page in the wizard when you invoke File/Publish in InfoPath 2007.
     
     
    Here are some key differences that you can notice:
    • Windows SharePoint Services server is now the default option and it can be used to publish to SharePoint server with or without InfoPath Forms Services. This option itself has several new features worth a blog post of its own.
    • Shared folder and web server options have been collapsed into one, namely, network location. This option includes the functionality of both shared folder and web server.
    • Email has been added to allow sharing templates via email. This functionality used to be available previously under File menu as "Send form as attachment". This option can be used to generate InfoPath email forms integrated with Outlook 2007.
    • Installable form template option has been added. This makes it really easy to create installable solutions which you may need to do if you are form's security setting is fully trusted.
    • A new branch to publish a Document Information Panel template on a SharePoint site has been added. However this option will show up only when it is relevant (i.e. you are customizing a content type in SharePoint).
     
    Work on it here, publish it there
    Another important difference is the concept of "working/developer copy" vs. "published copy". In InfoPath 2003, when you complete the publish wizard, your working solution will be the same as the published copy. In other words, any changes you are making from then on is on the published copy which may not be something you want to do. In InfoPath 2007, when you complete the publish wizard, your working solution is still the original copy that you were working with and subsequent changes to the solution will not affect the published copy unless you chose to publish those additional changes.
     
    Publish once, publish again
    We have also made it really easy to make updates to your published copy. Once you have successfully published once, the next time you go through the wizard, it will remember your previous information and automatically populate them for you. This makes it really easy to go through the wizard for subsequent publishing without having to re-enter various information.
     
    Hope you have a great experience publishing form templates using InfoPath 2007.
     
    Anand
    Senior Development Lead
  • Microsoft InfoPath 2010

    InfoPath 2010 Overview Video

    • 0 Comments

    Check out the InfoPath 2010 overview video created by the InfoPath Product Marketing team on http://www.microsoft.com/officebusiness/office2010/. Click on the Videos tab and then click the InfoPath link.

     

  • Microsoft InfoPath 2010

    InfoPath 2010 Performance Highlights

    • 1 Comments

    At last week's SharePoint conference in Las Vegas, Rick Severson, a test lead on the InfoPath product team presented a session called Performance Best Practices for SharePoint Forms Services 2010. This session covered best practices and performance improvements in InfoPath 2010. In this post, we will cover the highlights from this session.

    InfoPath Team Members who attended SPC:

    (From Back Row Left to Right: Daniel Witriol (Program Manager Lead), Darvish Shadravan (Technology Specialist), Rick Severson (Test Lead), Nick Dallett (Program  Manager Lead), Roberto Taboada (Program Manager), Bojana Duke (Program Manager), Peter Allenspach (Group Program Manager), Umut Alev (Development Lead))

    SPC - InfoPath Team Picture

    We had about 100 people in the room for this deep dive of InfoPath performance best practices. Rick opened the session by defining what fast forms are. He used a sample 1040EZ form to demonstrate a "lightning fast form" out of the box. In InfoPath Forms Services 2010, we've improved performance by achieving initial form load times of .8 seconds and subsequent form loads of .4 seconds. A sample passport form with 60 controls and some simple rules and data validation was used to demonstrate that requests per second (RPS) have increased. With this form, 1200 requests can be processed per second. That's a total of 2.1 million users per hour.

    Rick then moved on to cover some of the scalability highlights in this release.

    • Requests per second (RPS) have doubled. 
    • We can now scale out to 8 Web front ends for a single backend. 
    • Performance of SharePoint lists that have been customized using InfoPath is comparable to the default, out of the box SharePoint lists.
    • Forms with Sandboxed code can process 340 RPS in a 1x3 topology
    • Our new State Service allows for better scaling and faster session performance
    • We’ve ported many fixes into 2007 SP2 so you can take advantage of many of these performance gains today

    Performance improvements include -

    • Our new, enhanced rich text control which is optimized for multiple instances on a form
    • OnHover rendering of secondary data which improves rendering time
    • Performance in customized SharePoint lists ensures that you get the richness of InfoPath without sacrificing performance
    • New State Service
    • Optimized .js for Ajax behavior rendering

    InfoPath 2010 - Performance Improvements

    In the next part of the session, Rick covered some best practices for optimizing the performance of your forms. He focused on the following 4 areas - Data Connections, Controls, Data size and business logic.

    • For optimal performance, he recommended that you filter data at source rather than returning large data sets when querying data sources. 
    • InfoPath 2010 users can now take advantage of our new browser form filtering capabilities. 
    • Users should avoid running data queries on form load and instead run them on demand.
    • It's a good practice to combine data queries with other actions, such as view switches to minimize the number of postbacks.
    • To further improve performance, we recommend that you reduce form complexity, avoid out of context controls and avoid postbacks.
    • When possible, you should take advantage of first request optimized forms.  You can do this by avoiding logic in your form that has to be calculated on load.  For example, if you use a default value of DateTime.Now(), then this has to be calculated on load so the form cannot be first request optimized. 

    InfoPath 2010 Performance - Areas to tune

    The key takeaways from this session were high performance out of the box, complex solutions can be tuned easily and performance matters!

    Additional Resources for improving the performance of your InfoPath forms:
    Designing Browser enabled forms for Performance in InfoPath Forms Services
    http://blogs.msdn.com/infopath/archive/2008/05/09/designing-browser-enabled-forms-for-performance-in-infopath-forms-services.aspx

    Capacity Planning Document For IPFS
    http://technet.microsoft.com/en-us/library/cc879113.aspx

    InfoPath Forms Services 2007 Web Testing Toolkit
    http://www.codeplex.com/ipfswebtest

  • Microsoft InfoPath 2010

    Yesterday's InfoPath WebCast: Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services

    • 3 Comments

    Hello everyone,

    I want to personally thank those of you who attended yesterday’s WebCast: Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services which was presented by Rick Severson.  I hope you enjoyed the talk as much as I did and were able to learn something new.  Also, I hope you filled out a survey at the end of the talk so you are entered in the Halo 2 contest.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/halo/default.aspx.)

    If you were unable to attend the talk, don’t worry.  It was recorded and is available via the following URL: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032259548&Culture=en-US.   (You will have to register before you can view the recorded WebCast.)

    Please join us next Tuesday, December 14 from 11am – 12:30pm PST for the next presentation in the InfoPath WebCast series: “Database Connectivity in InfoPath Through ADO.NET DataSet Support” which will be presented by Mikhail Vassiliev, a Software Design Engineer on the InfoPath team.  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259550&Culture=en-US.  I hope you will join us.

    Here is more information about the talk:

    MSDN Webcast: Database Connectivity in InfoPath Through ADO.NET DataSet Support—Level 400    

    Start Time:       Tuesday, December 14, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada

    End Time:        Tuesday, December 14, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada

    Event Description 

    In this webcast session you will learn how to use Microsoft® Office InfoPath™ to design a form as a front-end to a Web Service that exposes ADO.Net DataSet structure. We will teach you the InfoPath Data Adapter architecture, new Data Adapters in InfoPath 2003 SP-1, and talk about reasons for using ADO.NET DataSets in a Web Service with InfoPath forms. See the advantages and the restrictions when using DataSets in InfoPath. You will also get an inside view of the InfoPath DataSet support implementation so you can see how this feature works in InfoPath.

    Presenter: Mikhail Vassiliev, Software Design Engineer,Microsoft Corp.

    Mikhail Vassiliev has been a member of the Microsoft® Office InfoPath™ Team from the beginning of the application development, joining Microsoft at 1998. He has been designing and implementing a wide range of the program components starting from the basic editing, data adapters, and finishing with SDK tools. Mikhail enjoys programming and continues to work on the new InfoPath features.

    Scott Roberts

  • Microsoft InfoPath 2010

    Data Connections in Template Parts

    • 1 Comments

    Template parts allow a form designer to combine view information, rules, schema, default data and other compatible components of a form template into a package that can be distributed to other form designers and inserted into form templates without manual recreation. Data connections, with some restrictions, are a compatible component that can be included in a template part.

    Adding a data connection to a template part is the same process as adding a data connection to a form template, with one exception - data connections in template parts cannot submit data. Once added to the template part, the data connection is added to the form template upon insertion. When inserted, the data connection name will be appended with the template part name, identifying the data connection as originating from the template part. The unique name of the data connection is used to identify the data connection during insertion and updating of the template part. When a template part with a data connection is inserted, the data connections are searched for the data connection name. If found, the data connection is removed and replaced with the data connection in the template part. When updating a template part with a data connection, the previous data connection name is searched, and if found, is removed and the data connection associated with the template is inserted. This gives the template part designer the ability to update the data connection when required to support changes made to the template part. For the template part user, this ability causes behavior that may feel counterintuitive:

    1. Multiple insertions of the same template part with data connections unbinds the controls in the previous template parts inserted due to the replacement of the data connection on insert.
    2. Any changes the user makes to a data connection installed as part of a template part insertion is lost when the template part is updated.

    In the case of inserted multiple instances of a template part with a data connection, the controls can be easily rebound after insertion. To prevent an update of a template part from changing the data connection, rename the data connection so that it is not found by the template part on update. There may be other cases where this behavior causes unexpected results. Awareness of this behavior should assist template part designers and users in identifying the cause and resolving it.

    The following example demonstrates adding a data connection to a template part (please note - the third party web services availability may not be consistent); I'm also attaching a template part that you'd get by following the instructions below.

    1. Create a new blank template part
    2. Click Data Connections… from the InfoPath Tools menu
    3. Click Add…
    4. Verify Receive data is selected and click Next
    5. Select Web service and click Next
    6. Enter the web service http://ws.invesbot.com/stockquotes.asmx?wsdl and click Next
    7. Select GetQuote and click Next
    8. Click Set Sample Value…,enter MSFT and click OK
    9. Click Next 3 times
    10. Uncheck Automatically retrieve data when form is opened
    11. Click Finish on Data Connection Wizard
    12. Click More Controls… from the InfoPath Insert menu
    13. Click on a Button control to insert it
    14. Right click on the Button control and click Button Properties…
    15. Set Action to Refresh and click OK
    16. Click Data Source… on the InfoPath View menu
    17. Select the GetQuote (Secondary) data source from the Data Source pane
    18. Expand the data source down to the following field: myFields>queryFields>tns:GetQuote>symbol
    19. Drag the symbol field onto the canvas (a text box control should be created)
    20. Expand the data source down to the following field:
      myFields>dataFields>tns:GetQuoteResponse>GetQuoteResult>StockQuote>Open
    21. Drag the Open field onto the canvas (a text box control should be created). The template part should look similar to this:
    22. Save the template part as StockQuote.xtp

    The template part now contains a data connection. To make the template part available to the form template design mode, do the following:

    1. Create a new blank form template
    2. Click More Controls… from the InfoPath Insert menu
    3. On the Controls pane click Add or Remove Custom Controls…
    4. Click Add…
    5. Select Template part and click Next
    6. Select the StockQuote.xtp file through Browse... and click Next
    7. Finish the Add Custom Controls wizard
    8. On the Controls pane a new control named StockQuote should appear under Custom
    9. Click StockQuote to insert it

    The template part is now part of the form template. Save and preview the form. Type MSFT in the Symbol text box and click the Refresh button (you may need to click Yes to a security dialog box). The Open text box should contain the requested data.

    Richard Witte
    Software Test Engineer

  • Microsoft InfoPath 2010

    Manually setting the default print margins for an InfoPath form

    • 1 Comments

    This tip applies to form designers who want to change the default print margin on a form using InfoPath 2003 since the Service Pack 1 release allows designers to change these properties in design mode from the View Properties dialog.

    So, if you do not have the Service Pack 1 installed you can still accomplish this by following these steps:

    1. Open the form you want to modify in design mode
    2. From the File menu, chose Extract Form Files…
    3. Save the document to a folder of your choose. A new, empty folder will allow you to find files easier.
    4. Locate the folder where you save the files.
    5. Right-click on the file manifest.xsf and choose Open-With…Notepad
    6. There will be an <xsf:view> element for each view. Locate the view you would like to define margins for.
    7. Insert the following XSF definition for margins (the view elements will already exist):

    <xsf:view ...>

    <xsf:printSettings

    marginUnitsType="in"
    leftMargin="0.25"
    topMargin="0.5"
    rightMargin="0.25"
    bottomMargin="0.5">

    </xsf:printSettings>

    <xsf:view>

    1. Save and close manifest.xsf
    2. Right click again on manifest.xsf and choose Open in Design Mode…
    3. From the InfoPath design mode, Publish your form so that users can print using your new margins!

    Notes: marginUnitsType can contain either in or cm. The rest of the margins are interpreted based on those unit types.

  • Microsoft InfoPath 2010

    Package and Re-use a SharePoint List Solution

    • 6 Comments

    This week’s post continues the theme of SharePoint list customization. In this short video demo, Roberto Taboada from the InfoPath program management team shows how you can quickly and easily re-use your customized SharePoint lists by packaging them as SharePoint list templates. This is a really powerful feature as it allows you to build and customize your SharePoint solutions once and re-use them as many times as you want.

    Get Microsoft Silverlight

    To learn more about customizing your SharePoint list forms in InfoPath, check out our earlier blog posts on the subject.

  • Microsoft InfoPath 2010

    Sniffing Code in Form Templates

    • 6 Comments

    With the introduction of InfoPath Forms Services for MOSS 2007, clever management of form template deployment will probably become a must for most IT departments.  You'll want to be sure that form templates are not draining server resources.  You'll especially want to keep an eye on administrator-deployed form templates, as those can achieve fully trusted status and execute arbitrary code on the server.

    With that in mind, it's probably a good idea to set up a code review process for InfoPath form templates that will be deployed by the administrator.  To facilitate the process, it might be nice to have a tool around that will tell you whether or not a form template uses custom code.  This is pretty easy to determine, and a tool can be coded up rather quickly, but we figured we'd facilitate the process and provide a sample to get you going.  And here it is…

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml;
    using System.Xml.XPath;
    using System.IO;
    using System.Diagnostics;

    namespace CheckForCode
    {
    class Program
    {
    /// <summary>
    /// The Main method entry point for the code-checking algorithm.
    /// </summary>
    /// <param name="args">The command-line arguments for the code-checking algorithm.</param>
    public static void Main(string[] args)
    {
    if (args == null || args.Length == 0)
    {
    Console.WriteLine("No arguments specified.");
    }
    else
    {
    string filePath = args[0];
    try
    {
    Uri fileUri = new Uri(filePath, UriKind.Absolute);
    filePath = fileUri.AbsoluteUri;
     
    // If the file is an http URL, download it to the local machine.
    if (fileUri.Scheme.Equals(Uri.UriSchemeHttp))
    {
    filePath = CopyFormTemplateLocally(filePath);
    }
     
    if (File.Exists(filePath))
    {
    string extension = Path.GetExtension(filePath);
    if (extension.Equals(".xsn", StringComparison.CurrentCultureIgnoreCase))
    {
    // Extract the xsf and check for the root assembly.
    string pathToXSF = ExpandManifest(filePath);
    CheckXSFForCode(pathToXSF);
    }
    else if (extension.Equals(".xsf", StringComparison.CurrentCultureIgnoreCase))
    {
    // Check for the root assembly.
    CheckXSFForCode(filePath);
    }
    }
    }
    catch(ArgumentException exn)
    {
    Console.WriteLine("The file path argument is invalid.");
    Console.WriteLine("Exception message: " + exn.Message);
    }
    catch(UriFormatException exn)
    {
    Console.WriteLine("The file path is not a valid Uri: '" + filePath + "'");
    Console.WriteLine("Exception message: " + exn.Message);
    }
    }
     
    Console.WriteLine("Hit any key to exit.");
    Console.ReadKey();
    }
     
    /// <summary>
    /// Get the path to the temp folder for the current user.
    /// </summary>
    private static string TempFolder
    {
    get
    {
    string tempFolder = Environment.ExpandEnvironmentVariables("%temp%");
    return tempFolder;
    }
    }
     
    /// <summary>
    /// Copy a form template at an http URL to a local path.
    /// </summary>
    /// <param name="absoluteFileUri">The absolute Uri of the form template.</param>
    /// <returns>The local path where the form template was downloaded.</returns>
    private static string CopyFormTemplateLocally(string absoluteFileUri)
    {
    string fileName = Path.GetFileName(absoluteFileUri);
    string tempFilePath = Path.Combine(TempFolder, fileName);
     
    // Download the form template source from the server.
    System.Net.WebClient client = new System.Net.WebClient();
    client.UseDefaultCredentials = true;
    client.Headers.Add("Translate:f");
    client.DownloadFile(absoluteFileUri, tempFilePath);
     
    return tempFilePath;
    }
     
    /// <summary>
    /// Expand the manifest.xsf file from the specified xsn.
    /// </summary>
    /// <param name="pathToXSN">The absolute path to the xsn.</param>
    /// <returns>The path to the expanded xsf.</returns>
    private static string ExpandManifest(string pathToXSN)
    {
    string tempFolder = TempFolder;
     
    Process expand = new Process();
    expand.StartInfo.ErrorDialog = false;
    expand.StartInfo.UseShellExecute = false;
    expand.StartInfo.RedirectStandardOutput = true;
    expand.StartInfo.CreateNoWindow = true;
    expand.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    expand.StartInfo.FileName = "expand.exe";
    expand.StartInfo.Arguments = pathToXSN + " -F:manifest.xsf " + tempFolder;
    expand.Start();
     
    // Note that the xsf may not be named "manifest" so this could fail if the user
    // has extracted the form template files and changed the name of the file.
    return Path.Combine(tempFolder, "manifest.xsf");
    }
     
    /// <summary>
    /// Check the xsf at the specified path for a root assembly dll.
    /// </summary>
    /// <param name="pathToXSF">The absolute path to the xsf document.</param>
    private static void CheckXSFForCode(string pathToXSF)
    {
    string rootAssemblyNameXPath = "/xsf:xDocumentClass/xsf:package/xsf:files/xsf:file[xsf:fileProperties/xsf:property/@value='rootAssembly']/@name";
     
    // Load the xsf document.
    XmlDocument xsfDocument = new XmlDocument();
    xsfDocument.Load(pathToXSF);
     
    // Load the xsf namespace.
    XmlNamespaceManager nameSpaceManager = new XmlNamespaceManager(xsfDocument.NameTable);
    nameSpaceManager.AddNamespace("xsf", "http://schemas.microsoft.com/office/infopath/2003/solutionDefinition");
     
    // Navigate to the root assembly, if it exists.
    XPathNavigator xsfRootNavigator = xsfDocument.CreateNavigator();
    XPathNavigator assemblyFile = xsfRootNavigator.SelectSingleNode(rootAssemblyNameXPath, nameSpaceManager);
     
    // Alert for code review.
    if (null == assemblyFile)
    {
    Console.WriteLine("No custom code in form template.");
    }
    else
    {
    Console.WriteLine("Code review required! Root assembly name: " + assemblyFile.Value);
    }
    }
    }
    }

    Just slap this into a console application in Visual Studio 2005, and you'll have a simple application that will accept the Uri of the form template or xsf as input and output "No code" or "Code found!"  With a little customization, something like this could be worked into a workflow that would govern the deployment of administrator-deployed form templates.

    And taking it a bit further, you could automatically seek out the source code folder in the "manifest.xsf" file, in the "projectPath" attribute of the "xsf2:managedCode" element.  Note here, though, that it will only be accessible if the form designer stored the VSTA project in a shared location, so you may have to implement some administrator policies to guarantee that this location is accessible.

    Forrest Dillaway
    Software Design Engineer in Test

  • Microsoft InfoPath 2010

    Yesterday's InfoPath WebCast: Creating Custom Controls for InfoPath SP-1

    • 0 Comments

    Hello everyone,

     

    I want to personally thank those of you who attended yesterday’s WebCast: Creating Custom Controls for InfoPath SP-1 which was presented by Andrew Ma.  I hope you enjoyed the talk as much as I did and were able to learn something new.  Also, I hope you filled out a survey at the end of the talk so you are entered in the Halo 2 contest.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/halo/default.aspx.)

     

    If you were unable to attend the talk, don’t worry.  It was recorded and is available via the following URL: http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032259546&Culture=en-US.  (You will have to register before you can view the recorded WebCast.)

     

    Please join us next Monday, December 6 from 11am – 12:30pm PST for the next presentation in the InfoPath WebCast series: “Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services” which will be presented by Rick Severson, a Software Test Engineer on the InfoPath team.  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259548&Culture=en-US. I hope you will join us.

     

    Here is more information about the talk:

     

    MSDN Webcast: Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services—Level 400    

     

    Start Time:       Monday, December 06, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada) 

    End Time:        Monday, December 06, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada) 

     

    Event Description 

    Need to build customer-facing, complex workflow applications? Join this session as we drill-down into the best practices for integrating Microsoft® Office InfoPath™ with Microsoft® BizTalk® Server 2004. Learn how InfoPath 2003 SP1 works with BizTalk Server 2004 Human Workflow Services and see how to easily embed workflow directly into forms.  Also learn how the InfoPath workflow task pane automatically displays state, actions, and routing in the workflow process and how to program against these services.

     

    Presenter: Rick Severson, Software Test Engineer, Microsoft Corp.

     

    Rick Severson was the primary Software Test Engineer for Microsoft® Office InfoPath™ and the Integration of Human Workflow Services of Microsoft® BizTalk® Server 2004.

  • Microsoft InfoPath 2010

    Thank you for attending the InfoPath Webcast series

    • 0 Comments

    Hi all,

     

    I want to thank all of you who attended one or more of the InfoPath WebCasts that have been presented over the past 2 months.  If you missed any of the presentations, don’t worry, all the WebCasts were recorded and are available on-demand.  Please visit http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx to view any of the InfoPath WebCasts on-demand.

     

    Also, remember that those of you who filled out a survey have been entered into a drawing for a copy of Halo 2.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx.)

     

    Thank you again.  I hope you enjoyed the presentations.

     

    Scott Roberts

     

     

  • Microsoft InfoPath 2010

    Monday's Webcast: Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services

    • 2 Comments

    Hello everyone,

    I hope you will join us Monday December 6 from 11am – 12:30pm PST for the next presentation in the InfoPath WebCast series: “Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services” which will be presented by Rick Severson, a Software Test Engineer on the InfoPath team.  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259548&Culture=en-US.

    Also, remember that those of you who view the talk and fill out a survey will be entered into a drawing for a copy of Halo2.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx.)

    Here is more information about the talk:

    MSDN Webcast: Programming Workflow into InfoPath Solutions: Using InfoPath with BizTalk Server 2004 and Human Workflow Services—Level 400    

    Start Time:       Monday, December 06, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada

    End Time:        Monday, December 06, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada

    Event Description 

    Need to build customer-facing, complex workflow applications? Join this session as we drill-down into the best practices for integrating Microsoft® Office InfoPath™ with Microsoft® BizTalk® Server 2004. Learn how InfoPath 2003 SP1 works with BizTalk Server 2004 Human Workflow Services and see how to easily embed workflow directly into forms.  Also learn how the InfoPath workflow task pane automatically displays state, actions, and routing in the workflow process and how to program against these services.

    Presenter: Rick Severson, Software Test Engineer, Microsoft Corp.

    Rick Severson was the primary Software Test Engineer for Microsoft® Office InfoPath™ and the Integration of Human Workflow Services of Microsoft® BizTalk® Server 2004.

    - Scott 

     

  • Microsoft InfoPath 2010

    The InfoPath 2003 SP1 Preview

    • 15 Comments

    Do you know about the InfoPath 2003 SP1 Preview release? There are actually two free downloads available:

    1. The InfoPath 2003 SP1 client: new features and improvements added to the InfoPath client.
    2. The InfoPath 2003 Visual Studio toolkit: this provides the ability to write .NET managed code business logic in your InfoPath form.

    Anyone can download and install this version of InfoPath and use it until it expires.

    When the Office System 2003 SP1 is released (mid-2004), InfoPath will be updated to have many new features, in addition to performance improvements and bug fixes (and if you just want the performance improvements and bug fixes, the new features can be turned off).  The SP1 is completely backwards compatible with InfoPath 2003.

    This preview gives you a chance to try out an initial version of the SP1 bits now so that you can learn the new features and plan for the SP1 deployment within your company.

    The SP1 release is very important in that we were able to address customer wishes.  Give it a try!  We're certainly excited about it and will be posting about InfoPath SP1 here often (and we'll make it clear when a post is SP1 specific).

  • Microsoft InfoPath 2010

    MSDN Community Content

    • 1 Comments

    All Office InfoPath 2007 developer documentation that is published online in the MSDN Library now supports the MSDN Community Content features that enable users to comment on, edit, and add content to online documentation.

    We would like to encourage you use these features to add code examples and brief pieces of information that will be useful to other users of the documentation (worldwide!). To do so, click the Add new Community Content link, which is located under the Community Content heading at the bottom of each page, and then log in using your Windows Live ID:

    For more information about using MSDN Community Content features, see the MSDN Community Content FAQ.

    The different reference components of the InfoPath 2007 Developer Documentation are located in the following areas of the MSDN web site:

     

    Development Area/Object Model

    Description

    New InfoPath 2007 Managed Code Object Model

    Covers the classes and members of the Microsoft.Office.InfoPath namespace that are new in InfoPath 2007 for creating managed-code business logic in browser-compatible form templates that are deployed to Office Forms Server 2007 or Microsoft Office SharePoint Server 2007 with InfoPath Forms Services.

    InfoPath 2003-Compatible Managed Code Object Model

    Covers the classes and members of the Microsoft.Office.Interop.InfoPath.SemiTrust namespace for maintaining/extending managed code form template projects created with the InfoPath Toolkit or creating new managed code form templates that are compatible with InfoPath 2003.

    InfoPath Managed Code External Automation Object Model

    Covers the classes and members of the Microsoft.Office.Interop.InfoPath namespace for writing managed code to automate InfoPath from an external application.

    COM and Scripting Object Model

    Covers COM object model for InfoPath form template business logic written using JScript and VBScript, as well as external automation from Application and XDocuments objects using COM, plus the COM interfaces for creating form converters.

    Microsoft Office Forms Server 2007 Automation Object Model

    Microsoft Office Forms Server 2007 Automation Object Model

    Covers the classes and members of the Microsoft.Office.InfoPath.Server.Administration namespace for writing managed code to automate server tasks, such as verifying and uploading form templates from code running on Office Forms Server 2007 or Microsoft Office SharePoint Server 2007 with InfoPath Forms Services.

    XmlFormView Control Object Model

    Covers the classes and members of the Microsoft.Office.InfoPath.Server.Controls namespace that are used to work with the functionality of the XmlFormView control, which is used to host InfoPath form templates in custom Web pages on Office Forms Server 2007 or Microsoft Office SharePoint Server 2007 with InfoPath Forms Services.

    InfoPath 2007 XSF Schema Reference

    Covers the XML Schema definition for the InfoPath form definition file (.xsf). This schema defines the types, elements, and attributes used in the manifest.xsf file of an InfoPath form template file (.xsn).

     

    Note: In addition to the reference content listed above, all of the conceptual and procedural topics in InfoPath 2007 Developer documentation in the MSDN Library also supports the MSDN Community Content features.

    Thanks!

    Mark Roberts
    (on behalf of the InfoPath Developer Documentation team)

  • Microsoft InfoPath 2010

    How can you store the result of an InfoPath expression box?

    • 0 Comments

    Question: How do I store the result of an InfoPath expression box?

    Answer: with InfoPath 2003 SP1 you can use the new calculations feature.  With InfoPath 2003, you can write script.

    The expression box control is display only, so whatever expression you end up concocting to render on the screen is neither stored in the XML nor accessible for manipulating elsewhere.  You might want this expression value to be stored in the XML, especially if you want to promote this value into a SharePoint form column.

    In InfoPath SP1, rather than using an expression box, you can set the default value for a field element to be a calculated value.  If the field is in the view, bring up the property dialog for the control associated with the field.  If the field isn't in the view, you can go to the data source and bring up the properties for the field there.  Note the fx button next to the default value.  Click that to bring up a dialog for creating a calculation.  This expression will be recalculated as needed and stored in the field.

    To do the same thing in script, download the InfoPath SDK and look into the calculations sample.  Go to this page for more information: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipsdk/html/ipsdkAboutTheCalcForm.asp (along with a discussion of the script).

  • Microsoft InfoPath 2010

    Last Monday's Webcast: Digital Signatures in InfoPath 2003

    • 1 Comments

    Hello everyone,

    I want to thank those of you who attended Monday’s WebCast: Digital Signatures in InfoPath 2003 which was presented by Mihaela Cristina Cris.  I hope you enjoyed the talk as much as I did and were able to learn something new.  Also, I hope you filled out a survey at the end of the talk so you are entered in the Halo 2 contest.  (Please visit the following URL for more information about the contest: http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx.)

    If you were unable to attend the talk, don’t worry.  It was recorded and is available via the following URL: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032259544&Culture=en-US. (You will have to register before you can view the recorded WebCast.)

    There will be no WebCast next week  but please join us in two weeks on Monday, November 29 from 11am – 12:30am PST for the next presentation in the InfoPath WebCast series: “Creating Custom Controls for InfoPath SP-1” which will be presented by Andrew Ma, a Software Test Engineer on the InfoPath team.  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/webcasteventdetails.aspx?eventid=1032259546&culture=en-us. I hope you will join us.

    Here is more information about the talk:

    MSDN Webcast: Creating Custom Controls for InfoPath SP-1—Level 400    

    Start Time:       Monday, November 29, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada

    End Time:        Monday, November 29, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada

    Event Description 

    Get up to speed quickly with Microsoft® Office InfoPath™. Join us in this webcast as we discuss the steps needed to write an ActiveX control which works in InfoPath as a custom control.

    Presenter: Andrew Ma, Software Test Engineer, Microsoft Corp.

    Andrew Ma is a Software Test Engineer in the Microsoft® Office InfoPath™ team where he has been working for two years. His SP1 responsibilities were primarily the ActiveX support for custom control creation.

    Thanks,

    Scott

  • Microsoft InfoPath 2010

    Using CHM files in InfoPath custom task pane

    • 1 Comments

    CHM files are compiled Microsoft® HTML Help files suited for a wide range but mostly used as help files for applications. You can also use them inside the InfoPath task pane because they are URL accessible. There are many formats for the URLs as described in the link below. One of the formats is:

     

    mk:@MSITStore:<path to CHM file>::<path inside CHM file>

     

    You can enter an absolute path to the CHM file, for instance on a share or on the file system, but you can also include the CHM file as a resource in your form and access it by just using the filename as the path to the CHM file. The path inside the CHM file depends on the CHM file itself.

     

    How to find the link from a CHM file

     

    If you have an existing CHM file, you can easily find the hyperlink to a given page by right-clicking on the page and selecting properties. Note that the URL usually overflows and you can only see two lines, so to get the full URL you must click in the ‘Address (URL)’ field and select all text (Ctrl + A) and then copy-paste the link. For example the link to the first page in the Microsoft Office InfoPath 2003 help file is:

     

    mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\OFFICE11\1033\INFMAIN.CHM::/html/inconIntroInfoPath.htm

     

    Links

     

    INFO: HTML Help URL Protocols

    http://support.microsoft.com/default.aspx?scid=kb;en-us;235226

     

    Microsoft HTML Help 1.4 SDK

    http://msdn.microsoft.com/library/en-us/htmlhelp/html/vsconHH1Start.asp

  • Microsoft InfoPath 2010

    InfoPath @ TechEd 2005 Orlando

    • 0 Comments

    We should have blogged something earlier, but we’ve been too busy getting ready for a great TechEd experience!

    InfoPath falls into the Smart Client Development track. By now, if you’re attending TechEd in Orlando next week you should already have your Breakout sessions picked out. In case you’re still waffling, the three sessions you must attend are:

    CLI235  InfoPath: Introduction to Forms Development
    Day/Time: Monday, June 6 3:15 PM - 4:30 PM Room: N 310 H
    Speaker: Edward Essey
    This session quickly runs through the many must-know development techniques that form the foundation of InfoPath 2003 development. We discuss declarative form design, rules, calculations, deployment and security levels. If you have not yet built and deployed an InfoPath solution, this session gives you the basis you need for the following advanced sessions.

    CLI333  InfoPath: Best Practices for Building Enterprise Solutions
    Day/Time: Monday, June 6 5:00 PM - 6:15 PM Room: N 220 E
    Speaker: Joshua Bell
    This is a must-attend session for developers who want to learn best practices, tips and tricks, how-tos and detailed internals of the InfoPath programming model. Sample topics covered include workflow, offline, connectivity, SharePoint products and technology integration, end-to-end solution examples, and more.

    (Repeats as CLI333R on Thursday, June 9 1:30 PM - 2:45 PM Room: S 310 E)

    CLI335  InfoPath: Developing Forms Using Managed Code
    Day/Time: Friday, June 10 9:00 AM - 10:15 AM Room: S 320 G
    Speaker: David Gerhardt
    This session focuses on InfoPath 2003's support for managed code. Learn how to start with InfoPath projects using the Toolkit for Visual Studio .NET 2003, use managed code in your InfoPath form to implement business logic, and integrate with the .NET Framework. Drill into InfoPath's XML-based programming model and best practices for InfoPath solution development with managed code, including covering issues around architecture, security and deployment.

    The three of us presenting have been working hard together to make sure our sessions cover pretty much everything you need to know to get started with InfoPath and scale up to enterprise solutions.

    In addition, we’ll have a slot at the Smart Client Development “Cabana” area to answer your questions, and we’ll be presenting several “Chalk Talk” interactive discussions. Last year we had a blast brainstorming with attendees to help architect solutions using InfoPath. John and Scott from the InfoPath team are attending as well to answer your questions, as well as Patrick from InfoPathDev.com.

    And that’s just the InfoPath team itself! If you search for other sessions talking about InfoPath you’ll find nearly a dozen Breakouts and Labs.

  • Microsoft InfoPath 2010

    Monday's Webcast: Creating Custom Controls for InfoPath SP-1

    • 0 Comments

    Hello everyone,

     

    I hope you will join us tomorrow November 29 from 11am – 12:30pm PST for the next presentation in the InfoPath WebCast series: “Creating Custom Controls for InfoPath SP-1” which will be presented by Andrew Ma, a Software Test Engineer on the InfoPath team.  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/webcasteventdetails.aspx?eventid=1032259546&culture=en-us.

     

    Here is more information about the talk:

     

    MSDN Webcast: Creating Custom Controls for InfoPath SP-1—Level 400    

     

    Start Time:       Monday, November 29, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada) 

    End Time:        Monday, November 29, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada) 

     

    Event Description 

    Get up to speed quickly with Microsoft® Office InfoPath™. Join us in this webcast as we discuss the steps needed to write an ActiveX control which works in InfoPath as a custom control.

     

    Presenter: Andrew Ma, Software Test Engineer, Microsoft Corp.

     

    Andrew Ma is a Software Test Engineer in the Microsoft® Office InfoPath™ team where he has been working for two years. His SP1 responsibilities were primarily the ActiveX support for custom control creation.

     

    Thanks,

    Scott

  • Microsoft InfoPath 2010

    InfoPath SP1 Hands-on Labs on MSDN

    • 6 Comments

    The final version of InfoPath Hands-on Labs has been posted on MSDN. The labs provide an overview of InfoPath 2003 and SP1 features, and are divided into the following topics:

    • Editing forms and working with form data
    • Creating forms and layout
    • Form deployment
    • Working with controls
    • Business Logic
    • Custom controls
    • Roles
    • Working with data sources
    • Working with ADO.NET DataSets
    • Digital Signatures
    • Workflow support
    • Working with custom task panes
    • Business logic using managed code
    • External automation

    All practice files and setup instructions are included with the labs. The labs require InfoPath 2003 Service Pack-1 Preview which can be downloaded from here.

  • Microsoft InfoPath 2010

    Code sample to change depth of recurring fields

    • 1 Comments

    TRICK: Changing the Depth of Recurring Fields

    Applies to: Microsoft Office InfoPath 2003 SP1

    Summary

    You can use the following script for promotion and demotion of recurring nodes in single depth recurrences.  (This does not work in the case of a*/b/a*…).  To work in your code, simply change the names of the parameters at the top and attach this code to events in your form code.

    SP1 Feature Usage

    Schema recurrence

    Form Code

    The following form code is written in JScript. 


    // **** PARAMETERS ****
    // Change these parameters to work with your XSD
     
    // The name of the recurring node
     
    var g_fRecurringNodeName = "my:section";
     
    // The name of the non-recurring node immediately after the recurring node (if none, set to null)
     
    var g_fNextNonRecurringNodeName = "my:HwsComments";
     
     
    // **** FUNCTIONS ****
     
    // Promotes the node up a level.
    // if fAdoptRightSiblings is true, oNode's succeeding recurring siblings become its children.
    // else these siblings stay with their parent (they reorganize in the view)
    function PromoteNode(oNode, fAdoptRightSiblings)
    {
          if(!IsRecurringNode(oNode))
          {
                alert("Promote Section - the argument is not a recurring node.");
                return;
          }
         
          // do not promote if parent is not a recurring node
          if (GetDepth(oNode) == 0)
          {
                alert("Cannot promote - this is already at the top level.");
                return;
          }
         
          // if adopting, move the succeeding siblings to be the children of oNode
          if (fAdoptRightSiblings)
          {
                while (oNode.nextSibling && IsRecurringNode(oNode.nextSibling))
                {
                      var oBefore = (g_fNextNonRecurringNodeName) ?
                            oNode.selectNodes(g_fNextNonRecurringNodeName) : null;
                      oBefore = (oBefore) ? oBefore[0] : null;
                      if (!oBefore)
                      {
                            oNode.appendChild(oNode.nextSibling.cloneNode(true));
                      }
                      else
                      {
                            oNode.insertBefore(oNode.nextSibling.cloneNode(true), oBefore);
                      }
                      oNode.parentNode.removeChild(oNode.nextSibling);
                }
          }
         
          // Move oNode up a level
          if (oNode.parentNode.nextSibling)
          {
                // has siblings
                oNode.parentNode.parentNode.insertBefore(oNode.cloneNode(true), oNode.parentNode.nextSibling);
                oNode.parentNode.removeChild(oNode);
          }
          else
          {
                // no siblings
                oNode.parentNode.parentNode.appendChild(oNode.cloneNode(true));
                oNode.parentNode.removeChild(oNode);
          }    
    }
     
    // Demotes the node down a level
    function DemoteNode(oNode)
    {
          if(!IsRecurringNode(oNode))
          {
                alert("Demote Section - the argument is not a recurring node.");
                return;
          }
         
          var oPrevious = GetPreviousRecurringNodeSibling(oNode);
          if (!IsRecurringNode(oPrevious))
          {
                alert("Cannot demote - this recurring node does not have a previous sibling recurring node.");
                return;
          }    
     
          // move the node down a level
          //   ...by making it the last recurring child of the previous sibling
          var oBefore = (g_fNextNonRecurringNodeName) ?
                oPrevious.selectNodes(g_fNextNonRecurringNodeName) : null;
          oBefore = (oBefore) ? oBefore[0] : null;
          if (oBefore)
          {
                oPrevious.insertBefore(oNode.cloneNode(true), oBefore);          
          }
          else
          {
                oPrevious.appendChild(oNode.cloneNode(true));
          }
          oNode.parentNode.removeChild(oNode);     
    }
     
    //Returns the depth of the recurrence as an integer.  If this is the top level, returns 0.
    function GetDepth(oNode)
    {
          if (!IsRecurringNode(oNode))
          {
                alert("GetDepth - the argument is not a recurring node");
                return;
          }
          var nCount = 0 ;
          while (IsRecurringNode(oNode.parentNode))
          {
                nCount++;
                oNode = oNode.parentNode;
          }
          return nCount;
               
    }
     
    // Is the particular node a Recurring Node?
    function IsRecurringNode(oNode)
    {
          if (!oNode) return false;
          return (oNode.nodeName == g_fRecurringNodeName);
    }
     
    // Finds the first preceding sibling that is a recurring node.
    // This function is for choices and mixed content.
    function GetPreviousRecurringNodeSibling(oNode)
    {
          if (!oNode) return null;
          while (oNode.previousSibling)
          {
                oNode = oNode.previousSibling;
                if (IsRecurringNode(oNode)) return oNode;      
          }
          return null;
    }
     
  • Microsoft InfoPath 2010

    Tomorrow's InfoPath Webcast: Database Connectivity in InfoPath Through ADO.NET DataSet Support

    • 0 Comments

    Hello everyone,

     

    I hope you will join us tomorrow December 14 from 11am – 12:30pm PST for our last presentation in the InfoPath WebCast series: “Database Connectivity in InfoPath Through ADO.NET DataSet Support” which will be presented by Hagen Green, a Software Test Engineer on the InfoPath team (with content from Mikhail Vassiliev a Software Design Engineer on the InfoPath team).  You can register for this talk by clicking on the following URL: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259550&Culture=en-US.

     

    Also, remember that those of you who view the talk and fill out a survey will be entered into a drawing for a copy of Halo 2.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx.)

     

    Here is more information about the talk:

     

    MSDN Webcast: Database Connectivity in InfoPath Through ADO.NET DataSet Support—Level 400    

     

    Start Time:  Tuesday, December 14, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada) 

    End Time:   Tuesday, December 14, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada) 

     

    Event Description 

    In this webcast session you will learn how to use Microsoft® Office InfoPath™ to design a form as a front-end to a Web Service that exposes ADO.Net DataSet structure. We will teach you the InfoPath Data Adapter architecture, new Data Adapters in InfoPath 2003 SP-1, and talk about reasons for using ADO.NET DataSets in a Web Service with InfoPath forms. See the advantages and the restrictions when using DataSets in InfoPath. You will also get an inside view of the InfoPath DataSet support implementation so you can see how this feature works in InfoPath

     

    Presenter: Hagen Green, Software Test Engineer, Microsoft Corp.

     

    Hagen Green is a Software Test Engineer for the Microsoft® Office InfoPath™ team. Hagen contributed to the InfoPath Designer platform, Web services, and ADO.NET support features.

     

    I hope you can make it.

     

    Scott Roberts

  • Microsoft InfoPath 2010

    Monday's InfoPath WebCast: Digital Signatures in InfoPath 2003

    • 0 Comments

    Hello everyone,

    I hope you will join us for the next presentation in the InfoPath WebCast series - Digital Signatures in InfoPath 2003. This talk will be presented by Mihaela Cristina Cris, a Software Test Engineer in the InfoPath group, Monday starting at 11am PST.  If you haven’t already, you can register here: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032259544&Culture=en-US.  

    Also, remember that those of you who view the talk and fill out a survey will be entered into a drawing for a copy of Halo2.  (Please visit the following URL to view the contest rules: http://msdn.microsoft.com/office/understanding/infopath/multimedia/default.aspx.)

    Here is more information about the talk:

    MSDN Webcast: Digital Signatures in InfoPath 2003—Level 300    

    Start Time:       Monday, November 15, 2004 11:00 AM (GMT-08:00) Pacific Time (US & Canada

    End Time:        Monday, November 15, 2004 12:30 PM (GMT-08:00) Pacific Time (US & Canada

    Event Description 

    Microsoft® Office InfoPath™ 2003 SP1 implements digital signatures to secure data in InfoPath forms and to ensure the integrity, authenticity and support for non-repudiation related to data in XML forms. InfoPath digital signatures target data in InfoPath XML form files and can then design and create digital signatures for the entire form or for parts of the form, following the W3C XML Digital Signatures Standard specifications. All these features will be explained in detail during this webcast presentation, along with the InfoPath Object Model for digital signatures. The last part of the presentation will show users how to build a sample form that enables digital signatures and displays existing signatures in a dedicated task pane.

    Presenter: Mihaela Cristina Cris, Software Test Engineer, Microsoft Corp.

    Mihaela Cristina Cris is a Software Test Engineer in the Microsoft® Office InfoPath™ group working with digital signatures in both RTM and SP1 versions of the product.

    Thanks,

    Scott Roberts

  • Microsoft InfoPath 2010

    Do you have what it takes to define the future of InfoPath?

    • 1 Comments

    Program Manager Wanted
    The InfoPath clan is looking for a new member who’s skilled in the dark arts of user experience design. We are looking for someone who can help vanquish the evil of complex interfaces that tax a helpless populace. We are searching far and wide for a PM who can wield UI heavy feature areas and who can fiercely impart their passion for user experience excellence upon our kin. For those who dare to cross us, know that we are a young and boisterous clan, we move quickly to keep our territory growing and our ranks fun.

    The great and triumphant history of the InfoPath clan
    Once upon a time those of us seeking the path to information settled upon the land of electronic forms. It was the year MMIII, a time immediately following the failed invasion of the great bubble. Ours was a chaotic and grim landscape dominated by old and decrepit offerings. In response, our people focused on creating a new generation of e-form, one that was fully ‘e’ from its inception, one without a history tied to the ancient convoluted ways of papyrus. Our people created an e-form that fully embraced the interoperability of the ‘e’ world, being compliant with the scriptures of XML and sending/receiving information using the silky services that permeate the great Web of truth. We called ourselves “InfoPath”, forever symbolizing our mission as the righteous seeking the path to information. Today our craftsmen are forging the next incarnation of e-forms. Working under the protection of the great rulers of the Office Kingdom, we fashion the Microsoft Office InfoPath product which provides both an e-form designer and an e-form filler. Moreover, our clan provides components that are used throughout the isle of Office, finding their way into offerings including Word, Excel, PowerPoint, Outlook, Groove, and SharePoint Designer. Those who would evade the clients of the Office Kingdom, utilize our Web-based technology to fill out InfoPath forms on Web sites hosted within the famed and cavernous Microsoft Office SharePoint Server. With the upcoming renaissance number XIV of the Office Kingdom a great many changes have been set afoot to satisfy humans and giants alike. 

    The Oracles
    Our oracles tell us that in future times our craftsman will continue lowering the bar to entry for e-form design. We will move away from InfoPath’s early days as a tool wieldable only by developers and the strongest of Office users. We will target a broad base of Office citizenry including those who like the creature comforts available in the Babbage-like sheets of Excel and the Morton-like sites of SharePoint. We will integrate more tightly with those in the Office Kingdom, mixing ourselves completely into the bricks that bond to form the citadels of Office client and Office server. We will seek out new life and new civilizations… we will find the mythical creature known only as ‘Silverlight’. Its glow is rumored to be able to improve the visual look and feel of forms. It is said to be able to make them fly… or at least float.

    Dost thou have what it takes?
    -- I am skilled in user experience design and have proven experience working in the design field. Please bring or send us a portfolio of your work. 
    -- I like enterprise software, it’s not all about games and music for me…
    -- I have passion to spare, I was born to drive the value of a great user experience across a team.
    -- I like working in a team environment, my peers describe me as a “people person”.
    -- I have an educational background that would lead me to succeed at Microsoft in the Program Management role such as a BS or MS degree in Computer Science or a related field, or a minimum of 3 years industry experience.

    (Note: Despite the flavor of this job posting, no experience in Renaissance Fairs, Dungeons and Dragons, or Old British Reenactments is expected or required. You don’t even need to have enjoyed Harry Potter. Just knock our socks off and you're in!)

    http://members.microsoft.com/careers/search/results.aspx?FromCP=Y&JobCategoryCodeID=&JobLocationCodeID=&JobProductCodeID=10212&JobTitleCodeID=&Divisions=&TargetLevels=&Keywords=&JobCode=&ManagerAlias=&Interval=10

Page 9 of 12 (298 items) «7891011»