Does Microsoft have an InfoPath Forms Replacement in the Works

imageIt’s been one of the most asked questions since the death of InfoPath; What is InfoPath’s replacement?

There are some great 3rd party forms products that have been around for a long time now (namely Nintex and K2). Microsoft has been keeping very tight lipped on any official replacement to InfoPath and Forms in general and the community has been left feeling like they had been abandoned by Microsoft by not providing any replacement for their investment in InfoPath.

In a Office 365 Developer Podcast this week Jeremy Thake makes some very interesting comments (in the last 5 minutes of the podcast) indicating that Microsoft have been working on an InfoPath forms replacement it’s just been running way behind schedule. Interestingly he points to the technology behind Project Sienna possibly being an eventual replacement for InfoPath.
https://blogs.office.com/2015/07/16/office-365-developer-podcast-episode-054-panel-discussion-on-sharepoint-development/

This podcast also mentions that we may hear (and see) something more official announced in October. Could this be the news that everyone has been waiting for? That Microsoft will have an official replacement for InfoPath. Let’s hope so. SharePoint (and Office 365) as a platform really need a rich forms technology at it’s core. Businesses look to SharePoint to replace those paper based workflows within the organisation so it’s kind of important to have a Forms technology natively within SharePoint to facilitate that wouldn’t you think?

TFS Queries and the @CurrentIteration Token

I was pleasantly surprised this week when I dived into TFS Online to tweak some queries and stumbled upon the new @CurrentIteration token that can be used.

This token can potentially solve the administration overhead associated with getting consistent reports out of TFS from sprint to sprint.

In the past I have had a series of TFS Queries to track the progress of things happening within the sprint such as:

  • Outstanding Product Backlog Items (with associated outstanding child work items shown in tree view)
  • Outstanding Product Backlog Items (flat list)
  • Done Product Backlog Items

The problem with these queries was that each of the queries has to conditional match a specific sprint (iteration)

team-foundation-server-query-iteration-cameron-dwyer

The new @CurrentIteration token can be used to dynamically work out what the current iteration (sprint) is so that you don’t have to manually update all the queries when the sprint changes.

team-foundation-server-query-current-iteration-cameron-dwyer

Here’s a post from Microsoft regarding the new @CurrentIteration token when it shipped.

This is a great step forward and probably should have been there a long time ago.

One not so nice thing I’ve discovered with using the @CurrentIteration token in queries is that Excel 2013 fails to open any query that uses the @CurrentIteration token and gives the error message:

“TF80076: The data in the work item is not valid or you do not have permissions to modify the data. Correct the problem and retry.”

 

team-foundation-server-excel-query-error-current-iteration-token

New OnePlaceLive Scenarios Blog Series

imageWith the recent launch of the OnePlaceLive product, I’ve commenced writing a series of articles on the OnePlace Solutions website. This series of articles is designed to introduce the OnePlaceLive product and show to power that Solution Profiles can deliver in real world business scenarios such as using SharePoint/Office 365 for Projects Management, Legal Matter Management, Property/Asset Systems.

What are OnePlaceLive Solution Profiles?

Solution Profiles provide an intelligent way to look at SharePoint from the perspective of the different business systems (or solutions as we like to call them) that have been built in SharePoint (e.g. Project Management, Legal Matter Management, HR Business Processes, Helpdesk) and to dynamically identify the different SharePoint artefacts that make up those systems (e.g. site collections, sites, lists, libraries, document sets, folders, content). Solution Profiles then provide the power to organize those artefacts in many different ways that make sense to the end users of the business solutions, and then deliver those SharePoint artefacts to the users in personalized ways (and in context of the business solution) directly within core user applications where the user needs them (Outlook, Word, Excel, PowerPoint, Adobe Reader, Adobe Acrobat, and the Windows Desktop via OnePlaceDocs Explorer).

solution-profiles-business-system-focus-diagram

The OnePlaceLive Client application provides a graphical UI for creating, maintaining and publishing Solution Profiles which are then consumed by end users of OnePlaceMail and OnePlaceDocs.

Read the full OnePlaceLive Solution Profiles article and the first Project Management scenario

Photos from Microsoft Ignite 2015 in Chicago

As the dust settles on the first Microsoft Ignite conference and the tech crowd disperses from Chicago I look over these photos and think I’ll remember this conference as much for the character of the city of Chicago as I will the Ignite conference itself. From the fantastic aromas wafting from restaurants, the bars that greet you with a unique craft beer menus and  soulful blues performers to the monolithic buildings representing the pinnacle of engineering feats and the fresh parks and playgrounds and rejuvenated river front; Chicago is a city that is hard to walk away from and even harder to forget.

Thanks for the memories Chicago.

My favourite announcements from BUILD 2015 (Day 1)

 

Microsoft’s really long Build developer keynote, condensed into 2 minutes

http://mashable.com/2015/04/29/microsoft-build-keynote-video/?utm_cid=mash-com-Tw-main-link

 

Welcoming Developers to Windows 10

  • Windows 10 on One Billion Devices
  • Universal Windows Platform Innovation
  • Windows 10 Welcomes All Developers and Their Code (including Android and iOS)
  • Microsoft Edge (new browser replacement for IE)

http://blogs.windows.com/bloggingwindows/2015/04/29/welcoming-developers-to-windows-10/

 

Continuum for Windows 10 for phones puts a PC in your pocket

http://www.techradar.com/news/phone-and-communications/mobile-phones/continuum-for-windows-10-for-phones-puts-a-pc-in-your-pocket-1292491

 

Visual Studio Code, Visual Studio 2015 RC, Team Foundation Server 2015 RC, Visual Studio 2013 Update 5

http://blogs.msdn.com/b/visualstudio/archive/2015/04/29/build-2015-news-visual-studio-code-visual-studio-2015-rc-team-foundation-server-2015-rc-visual-studio-2013-update-5.aspx

Preparing for Microsoft Ignite 2015

office-graph-ignite-sharepoint-office365-cameron-dwyerThe excitement is starting to build as the Microsoft technology conference of the year is almost upon us. I feel this year is going to be a first time experience for all attendees. We’ve got many individual conferences combined into one, even the old timers that have been attending these individual conferences year after year may be feeling some renewed excitement and feelings of trepidation of just how this conference is going to play out.

It’s certainly going to get started with a bang as Satya Nadella takes the stage for the keynote to an event that sold out weeks ago. I think the last time we saw a Microsoft CEO take the stage at a SharePoint conference was 5 years ago at SPC2010 when Steve Ballmer was at the helm.

Although Microsoft has gone (almost) all in on the cloud and been pushing cloud at us from every angle over the last few years, I think we will be hearing the word HYBRID quite a bit at this conference. We can also expect to hear a lot more about what SharePoint 2016 will look like and the feature set we can expect out of SharePoint 2016 on premises installations.

During the conference you’ll be able to find me at the OnePlace Solutions booth #537 in the Exhibition Hall. We will be running live, interactive demos of OnePlaceMail, as well as two new products that we are launching at the conference OnePlaceDocs and OnePlaceLive. Email management, Document management, and driving a solution focused, end user engagement for systems built on the SharePoint/Office 365 platform is what we’re about – if that sounds interesting then come by and meet the OnePlace Solutions Team. We will have plenty of giveaways as well so make sure you stop by to claim yours.

oneplacesolutions-ignite-conference-2015-cameron-dwyer

If you want to get the most out of mingling and networking then be sure to check out these two great resources for all those official and unofficial parties (great work guys on compiling these lists as they are quite extensive):

Vlad Catrinescu’s Blog – The Ultimate Microsoft ignite Party List

Jonathan McKinney’s Blog – The Unofficial Microsoft Ignite Party and Contest/Giveaway List

The Microsoft Ignite Countdown show is also well worth a watch to get a feel for how the conference will run, things to do in Chicago and it’s a bit of a laugh at the same time.

If you haven’t already then make sure you are keeping an eye on the #msignite hashtag on Twitter and the Ignite Event group in the Office 365 Yammer Network.

I hope to see you at the conference and above all have fun and despite what you were told as a child, talk to strangers (as long as they have an Ignite badge!)

 

How to enable “Hey Cortana” with Windows Phone 8.1 Update in Australia

Currently only USA and UK Windows Phones can access Cortana Beta. Some other countries such as Australia have access to Cortana Alpha. The “Hey Cortana” feature which allows you to start Cortana listening by simply saying “Hey Cortana” is not included in the Alpha and we have to wait patiently for the Beta. There is always the option to opt in to the Developer Preview and get the latest goodies, but if you’d prefer to keep your phone on a stable build and still get access to the “Hey Cortana” feature here’s a quick way to acheive it. In a nutshell you can change your phones region to UK just long enough to enable “Hey Cortana” and then switch your region back. After doing this “Hey Cortana” says it’s disabled in the settings but seems to keep working fine.

Here’s how to do it:

Settings | System

I’ve you are in Australia you should see that Region currently says Australia, English (Australia) and Speech is set to English (United Kingdom)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (1)

Open the Region setting (it should currently be set similar to below)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (2)

Change the Country/Region from Australia to United Kingdom and then press the restart phone button that appears once you change the Country/Region

enable-hey-cortana-australia-windows-phone-cameron-dwyer (3)

When your phone restarts go to Settings | System. Hey Cortana will still show as disabled

enable-hey-cortana-australia-windows-phone-cameron-dwyer (4)

Open the Hey Cortana settings you should now be able to switch this feature on.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (6)

Continue on to setup (train) Cortana. You will only be able to do this while your Country/Region is set to United Kingdom, once we switch it back to Australia you will loose the ability to retrain.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (7)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (8)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (9)

Once you’ve completed the Cortana training you should be back at the settings screen.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (10)

Now your region will be set to United Kingdom, English (Australia)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (11)

Now lets change the Region | Country/Region back to Australia. Select the restart phone button when it becomes available.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (12)

Once your phone restarts go to Settings | System. You should find that Hey Cortana is disabled.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (13)

enable-hey-cortana-australia-windows-phone-cameron-dwyer (14)

But if you say “Hey Cortana” either while you phone screen is on (or even if you phone is locked with screen off), Cortana will respond by turning the screen on and making a beep sound. Cortana is now listening for your command.

enable-hey-cortana-australia-windows-phone-cameron-dwyer (15)

SharePoint CAML query examples of working with People and Groups

Some of the more elegant and powerful solution built with SharePoint have some level of personalization for the user. Here are some example CAML queries that allow you to query a SharePoint list and return items where the current user is listed in a Person column or explicitly in a Person/Groups column and even if they a a member of a group in a Person/Groups column. First let’s give our examples a bit of context. Here’s a SharePoint list of Projects where each project has:

  • Status (Choice column with valid values of Open, Closed, Cancelled)
  • Project Manager (single valued Person column – no groups allowed)
  • Project Team (multi value Person/Group column – People allowed explicitly and/or Groups allowed)

sharepoint-office365-people-group-caml-cameron-dwyer-02-list-data   And the column definitions: sharepoint-office365-people-group-caml-cameron-dwyer-01-list-columns   Now here’s some of the things you might want to do when querying this list and the CAML to achieve it.

Where current user is in a single values Person/Groups column

This will give us all items where the current user is in the Project Manager column


<Where>

<Eq>

<FieldRef Name='Project_x0020_Manager'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Eq>

</Where>

Where current user is a member of a groups that is listed in a person/groups column (that allows single or multiple values)

This will give us all items where the current user is a member of a group listed in the Project Team column. Note: it will not give you items where the user is listed explicitly by name in the Project Team column.


<Where>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

</Where>

Where current user may be named explicitly or may be a member of a group listed in a person/groups column (that allows single or multiple values)

This will give us all items where the current user is either listed explicitly by name or is a member of a group listed in the Project Team column.


<Where>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Where>

Combining Item Metadata with User/Groups Column Queries

This will give us all items: Where the Project Status (choice type) column has a status of “Open” AND Where current user may be named explicitly or may be a member of a group listed in the “Project Team” person/groups column (that allows single or multiple values) OR Where current user is explicitly named in the single value “Project Manager” Person/Groups column


<Where>

<And>

<Eq>

<FieldRef Name='Project_x0020_Status' />

<Value Type='Choice'>Open</Value>

</Eq>

<Or>

<Eq>

<FieldRef Name='Project_x0020_Manager' />

<Value Type='Integer'>

<UserID Type='Integer' />

</Value>

</Eq>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Or>

</And>

</Where>

How to: Enable outlining (collapsible statement blocks) for C# code in Visual Studio

I’m often modifying existing C# code in Visual Studio and find myself trying to line up opening and closing braces and trying to figure out what level of nesting I’m currently at. It’s easy when the block fits on a single screen without scrolling, but dive into some complex logic where you’ve got plenty of nested if, else, switch, try, catch blocks it’s easy to get disoriented scrolling up and down trying to figure out the logic.

Yes I can hear the code purists begging me to restructure the code and encapsulate logic away into smaller more focused methods. I don’t disagree, it fact that might be the reason I’m looking at the code in the first place, but I need to understand the logic before I start pulling it apart.

Whatever the reason I’m sure you’ve all been in the situation, why can’t I just collapse this  switch block, or if block? Wouldn’t that make things simple? Luckily the solution to this problem is simple – there’s a free Visual Studio Extension called C# Outline and it’s available for Visual Studio 2010, 2012, 2013 & 2015.

This nifty extension provides outlining (expand/collapse) for all block elements that use curly braces { }; Just like you get out-of-the-box for classes and methods It’s simple and a massive time saver.

cameron-dwyer-csharp-visual-studio-outline-collapse-blocks

How to fix frequent WebDav “path not valid” errors

After experiencing some intermittent “path not valid” and very frustrating errors trying to open different types of files from my SharePoint server I’d had enough. I had to know what was going on.

Here’s the behaviour I was seeing. I had used a certain machine to edit SharePoint files in applications such as WordPad and Paint in the past so I just jumped on it and tried to open a file from SharePoint in MS Paint and it would just keep failing with “path not valid”. I tried the same file from another machine and it worked fine. So back the first machine with the error and I tried images from other directories on the same server, they all failed with “path not valid”. I then started trying to open different file types with different applications. What I found was quite surprising (to me anyway). I was able to successfully open a .txt file from SharePoint in WordPad and from that point on my original image files that failed to open in Paint started working fine.

Now I already knew that WebDav had a few dependencies and that the WebClient service had to be running, but I had initially dismissed this as a possible cause as I knew I’d been working fine with WebDav on this machine only a couple of days prior… it turned out this was a bad assumption to make.

What I wasn’t expecting was that there are some actions you can do that will start the WebClient service if it’s not already running. As I discovered, one of those actions it to use WordPad to try and open a file on a UNC path. A bit of digging around also revealed that putting a UNC path in Windows Explorer will cause the WebClient service to start as well.

Here’s the proof:

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-01-stop-webclient-service

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-02-open-with-paint

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-03-invalid-path-errort

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-04-web-client-not-running

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-05-open-with-wordpad

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-06-open-with-wordpad-successful

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-07-webclienbt-service-started

Now trying to open the original image file (that failed) in Paint works fine.

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-08-open-sharepoint-photo-in-paint

So I learned my lesson, even though it’s something I thought I already knew. If you are making use of WebDav MAKE SURE the WebClient service is set with a startup type of “Automatic”.

 

Further reading:

https://www.myotherpcisacloud.com/post/2012/11/13/Sometimes-I-Can-Access-the-WebDAV-Share-Sometimes-I-Cant!.aspx

Follow

Get every new post delivered to your Inbox.

Join 137 other followers

%d bloggers like this: