Quantcast
Channel: The Microsoft MVP Award Program Blog
Viewing all 788 articles
Browse latest View live

Transform the Datacenter MVP Roadshow

$
0
0

 

MVPs are taking their real-world expertise on the road!

"With the many different demands and constraints IT professionals have to deal with every day, it’s far too easy to overlook important new features and approaches that can help dramatically improve daily operations," said MVP Anil Desai.  That's why Desai and fellow MVPs across the United States have joined together to use their real-world expertise and knowledge to help provide solutions to everyday IT, data and mobility issues.

"IT professionals ranging from systems administrators to IT managers, architects, and CTO’s will benefit from learning about how to use Window Server 2012 R2’s features to improve scalability, reliability, performance, and manageability of their complex environments."

The name of the game is infrastructure.  With the right system and platform, IT professionals and organizations can cut costs and tackle the emerging  challenges of mobility and data. With Windows Server, Microsoft System Center, and Microsoft Azure, you can transform the datacenter. You can take advantage of innovation across the datacenter and the cloud to simplify your infrastructure and speed delivery of services. Enterprise-grade virtualization and unified management give you a foundation in your datacenter, while hybrid options give you access to the boundless capacity of cloud. MVPs can help you understand how to keep your business competitive with the Microsoft cloud platform.

The focus of each of these events is to provide real-world, hands on training.  

Register today and begin to transform your datacenter! 

CityDateMVP Presenters

San Francisco

9/2/2014Doug Spindler
Cincinnati 9/20/2014 Kevin Royalty
Tampa9/22/2014Adnan Cartwright, Telmo Sampaio, Max Trinidad 
Chicago9/22/2014Trevor Sullivan, Annur Sumar, Brian Desmond
Bellevue9/23/2014 Brian Desmond 
Tempe9/24/2014Jason Helmick, Rory Monaghan, David Lundell, Tom Ziegmann
Denver9/25/2014 Greg Shields
Houston9/26/2014 Anil Desai
Detroit9/27/2014 Andy Syrewicze

 


Friday Five - September 19, 2014

$
0
0

Quick Tips: Using Group Policy Objects as an Alternate Lync Policy Method

$
0
0

The following post was written Lync MVP Paul Bloem 

In Lync 2013 much of the user behaviour is managed by Policies such as found at CsClientPolicy. That’s really good for locking down users etc., however..

What if you needed to lock down - not the actual user but rather the device? 

Take for example a Citrix environment. When a user is logged on to their PC (Fat client) you want them to have full Lync functionality. Should the same user log in to a Citrix session you may want to remove the Audio and Video capabilities within the Citrix environment. Since the Lync Policies govern the user account it isn’t possible to give the user two profiles from a Lync perspective.

The answer is simple.

This can be done by Group Policy Object (GPO). The published Lync client bootstrapping policies can be found here, what I am outlining here are registry key entries not included in the TechNet article.

 By using GPOs you are given the ability to manage the Lync client behaviour within a Citrix Session, effectively achieving the concept of a second profile for the Lync user based on the GPO.

 The key we need is

HKLM\Software\Policies\Microsoft\Office\15.0\Lync 

or

HKCU\Software\Policies\Microsoft\Office\15.0\Lync 

 

Below is a list of DWORD entries I have found useful specifically when you want to manage Lync Clients based on where they are logging in to Lync from

 

Name

Type

Value

Comment\Use Case

DisableEmoticons

DWORD

0 - False

1 - True

Simply a grey out the emoticon button

 

 

 

DisableIM

DWORD

0 - False

1 - True

IM icons and menus are removed

 

DisablePresenceNote

DWORD

0 - False

1 - True

Presence Note box is removed

 

PreventRun

DWORD

0 - False

1 - True

Had a request for this by the education industry. Apply when students are doing exams so Lync won’t run

TelephonyMode

DWORD

0 - Not Configured - Incomming PSTN Calls but not able to dial out on PSTN, also hides Keypad

 Work and Mobile options removed from menu

 

 

Keypad removed

 

 

1 - UC Enabled (Enterprise Voice + Lync calls)

 

3 - Dual Mode (Enterprise Voice + Remote Call Control + Lync   calls)

 

4 - RCC-Only Mode (Remote Call Control, no Lync calls)

 No Lync to Lync Calls, removed call Lync from menu

5 - IM and Presence Only (No audio or video calls)

 Audio and Video controls removed

 

NOTE

The regkey does not exist so needs to be added.

 

About the author

Paul Bloem is a Unified Communications Principal Consultant based in New Zealand. He comes from a traditional voice background having worked for a Telco for 9 years followed by 10 years at what was formerly named Siemens Enterprise Networks. Today he specializes in planning, architecture, and implementation of enterprise unified communications solutions. More specifically, most of his time is spent on the many faces of Microsoft Lync.  Read more articles on Paul’s blog or follow him on Twitter


About MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

 

 

 

Congratulations to All the New and Renewed MVPs

$
0
0

Today, 1,031 exemplary community leaders around the world were notified that they have received the MVP Award! These individuals were chosen because they have demonstrated their deep commitment to helping others make the most of their technology, voluntarily sharing their passion and real-world knowledge of Microsoft products with the community.

While there are more than 100 million social and technical community members, only a small portion are selected to be recognized as MVPs. Each year, around 4,000 MVPs are honored. They are nominated by Microsoft, other community individuals, or in some cases themselves. Candidates are rigorously evaluated for their technical expertise, community leadership, and voluntary community contributions for the previous year. They come from more than 90 countries, speak over 40 different languages, and are awarded in more than 90 Microsoft technologies. Together, they answer more than 10 million questions a year!

MVPs are recognized each quarter for this annual award, which continues to grow and evolve to reflect the development of Microsoft technologies.

Congratulations to the new MVPs, and welcome back to renewed MVPs. We are very excited to recognize your amazing accomplishments!

For more information or to nominate someone, go to MVP.Microsoft.com

Package Management for PowerShell Modules with PowerShellGet

$
0
0

The following post was written PowerShell MVP Kirk Munro

Windows PowerShell has developed a great reputation for itself, not only from the capabilities of the product, but from the strength of the community that has grown around the product.  As a PowerShell MVP and long-time member of that community, one of my favorite ways to give back to that community is to share the results of my PowerShell work with them in a format that they can use in their own environment.  For me, the format of choice for that is PowerShell modules, but up until recently there hasn’t been a Microsoft-supported, sanctioned way to share PowerShell modules privately inside of organizations or publically across the internet.  Fortunately, that is all about to change when sharing, discovery, and consumption of PowerShell modules gets a whole lot easier with my favorite new feature in the upcoming release of Windows Management Framework 5.0 (WMF5), PowerShellGet.

What is PowerShellGet?

PowerShellGet is a package manager for Windows PowerShell.  More specifically, it is a wrapper around a new Windows component called OneGet, and it enables simplified package management of PowerShell modules.  That may confuse you, so let me try to explain.  In the next version of WMF5 and Windows, Microsoft is including a component called OneGet.  OneGet is a unified package management component that allows you to perform software discovery, installation and inventory for any type of software package that it supports through its extensible provider interface.  PowerShellGet is a module that defines an extension for OneGet (a provider called PSModule) that allows OneGet to manage PowerShell modules as software packages.  PowerShellGet also defines PowerShell commands that wrap the native OneGet PowerShell commands to provide a focused interface for PowerShell-centric package management.  Still missing some of the picture?  Here’s a diagram that should help you out

 

This diagram illustrates how PowerShellGet fits into the framework provided by OneGet.  PowerShellGet is comprised of the following two core components that interact with OneGet, both of which are defined within the PowerShellGet module:

 1. The set of commands that you see at the top of the diagram, which internally call into the OneGet commands that you see in the second rectangle from the top.

 2. A PSModule provider that plugs into the OneGet Core provider API, to allow OneGet to manage PowerShell modules as packages.

This architecture of course means you could opt to use the OneGet commands to manage your PowerShell module packages, but that would be making more work for yourself than is necessary since PowerShellGet already comes with commands that are more appropriate for the job.

PowerShellGet Repositories

Each of the providers that plug into OneGet provide access to one or more repositories (also referred to as galleries).  These repositories may be public or private, accessible via the internet or only accessible on an Intranet.  They may be created and supported by Microsoft or created by individuals or organizations.  For PowerShellGet, by default the PSModule provider connects OneGet to the PowerShell Resource Gallery (a Microsoft-supported, public PowerShellGet repository, currently in preview).  Internally the PSModule provider is using OneGet itself to talk to the repository, and PowerShell modules are managed as packages through that provider. That’s a little more complicated than we need to go into here though.

Here is a screenshot showing you what the PowerShell Resource Gallery looks like:

 

While some tasks for managing PowerShell modules as packages are available through the gallery user interface, not all tasks are available and really, since this is about PowerShell, unless you want to look at the statistical information on the site you’re much better off using the commands that ship with PowerShellGet to manage these packages.

If you want to create additional repositories for PowerShellGet to connect to, you have a few options.  All PowerShellGet repositories are NuGet galleries behind the scenes (NuGet is a package manager for the Microsoft development platform).  Given this is the case, you can either create your own NuGet gallery by following the commands in the NuGetGallery readme, or you can pay for a 3rd party company that offers hosted NuGet galleries for a fee.

PowerShellGet Commands

Now that you have a better understanding of what PowerShellGet is all about, let’s dig into how you can use PowerShellGet with the PowerShell commands that it comes with.  PowerShellGet includes the following commands:

Get-PSRepository

List all PowerShellGet repositories that have been registered for use by PowerShellGet on the local system.

Set-PSRepository

Modify the properties on a PowerShellGet repository that has been registered for use by PowerShellGet on the local system.

Register-PSRepository

Registers a PowerShellGet repository for use by PowerShellGet on the local system.

Unregister-PSRepository

Unregisters a PowerShellGet repository that is currently registered for use by PowerShellGet on the local system.

Find-Module

Finds one or more modules on a PowerShellGet repository that match the specified search criteria.

Install-Module

Downloads or more modules from a PowerShellGet repository and installs them on the local system.

Update-Module

Downloads and installs the latest version of one or more modules from the PowerShellGet repository from which they were originally installed.

Publish-Module

Publishes a module into a PowerShellGet repository.  This can be a new module that has never been published to a PowerShellGet repository or a module that you want to republish because you have updated it to a newer version.

 

Here’s a brief demonstration showing some of those commands in action:

# Get a list of all registered PowerShellGet repositories

Get-PSRepository | Format-List*

 

# SAMPLE OUTPUT

# Name               : PSGallery

# SourceLocation     : https://msconfiggallery.cloudapp.net/api/v2/

# Trusted            : False

# Registered         : True

# InstallationPolicy : Untrusted

# OneGetProvider     : NuGet

# PublishLocation    : https://go.microsoft.com/fwlink/?LinkID=397527&clcid=0x409

# ProviderOptions    : {}

#

# Name               : MSPSGallery

# SourceLocation     : http://www.microsoft.com/

# Trusted            : True

# Registered         : True

# InstallationPolicy : Trusted

# OneGetProvider     : NuGet

# PublishLocation    : http://go.microsoft.com/fwlink/?LinkID=397635&clcid=0x409

# ProviderOptions    : {}

 

# Register a PowerShellGet repository for use on the local system

# (note, this repository does not really exist; it's just an example)

Register-PSRepository-NamePrivate -SourceLocationhttp://poshoholic.com

 

# Change a property on a PowerShellGet repository

Set-PSRepository -NamePrivate -InstallationPolicyTrusted

 

# Unregister a PowerShellGet repository

Unregister-PSRepository -NamePrivate

 

# Find all modules that are available in all PowerShellGet repositories

Find-Module -Name*

 

# SAMPLE OUTPUT

# Repository Version  Name               Description

# ---------- -------  ----               -----------

# PSGallery  1.0.0.0  AppDomainConfig    Manipulate AppDomain configu...

# PSGallery  1.0.0.1  CimInventory       Module that should help read...

# PSGallery  1.0.0.1  DebugPx            The DebugPx module provides ...

# PSGallery  1.0.0.1  DoPx               The DoPx module provides a r...

# ...

# <snip>

# ...

# PSGallery  1.0.0.12 PSReadline         Great command line editing i...

# PSGallery  1.0.0.2  SnippetPx          The SnippetPx module enhance...

# PSGallery  2.0.0.6  TypePx             The TypePx module adds prope...

# PSGallery  1.3.1    xWebAdministration The xWebAdministration modul...

# PSGallery  1.0      xWindowsUpdate     Module with DSC Resources fo...

# PSGallery  0.0.0.1  xWinEventLog       Configure Windows Event Logs...

# PSGallery  1.0.0.0  xWordPress         This module contains the xWo...

 

# Find a specific module that is available in a specific PowerShellGet repository

# (note, DebugPx is an actual module in the gallery)

Find-Module-NameDebugPx-RepositoryPSGallery | Format-List*

 

# SAMPLE OUTPUT

# Name                     : DebugPx

# Version                  : 1.0.0.1

# Description              : The DebugPx module provides a set of commands that

#                            make it easier to debug PowerShell scripts,

#                            functions and modules. These commands leverage the

#                            native debugging capabilities in PowerShell (the

#                            callstack, breakpoints, error output and the -Debug

#                            common parameter) and provide additional

#                            functionality that these features do not provide,

#                            enabling a richer debugging experience.

# Author                   : Kirk Munro

# CompanyName              :

# Copyright                : (c) 2014 Kirk Munro

# PublishedDate            :

# LicenseUri               :

# ProjectUri               :

# IconUri                  :

# Tags                     : breakpoint debugger write-debug set-psbreakpoint

# ReleaseNotes             :

# RequiredModules          :

# RepositorySourceLocation : https://msconfiggallery.cloudapp.net/api/v2/

# Repository               : PSGallery

# OneGetProvider           : NuGet

 

# Install a module, along with required modules, for all users

# (note, in the CTP, required modules must be explicitly installed)

# (also note, installing for all users requires elevation)

Install-Module-NameDebugPx,SnippetPx

 

# Update all modules that you installed using PowerShellGet

Update-Module

 

# Publish a module that you created to PowerShellGet

# (note, this is not a valid NuGet API key, and this assumes you have a

#  module called MyGreatModule with a module manifest in a discoverable

#  location)

$nugetApiKey = [System.Guid]::NewGuid().ToString()

Publish-Module-NameMyGreatModule-NuGetApiKey$nugetApiKey

 

There are several important things that should be called out about the commands listed above:

1. The only command that will not work in that demonstration is the last command.  That is because it uses an auto-generated NuGet API key that is not valid, and it is dependent on you having a module called MyGreatModule that is discoverable via one of the paths in your PSModulePath environment variable.  If you do have a module that you want to share in a PowerShellGet repository, it must have a manifest with a version number defined within it, and you must have the API key for the PowerShellGet repository where you want to share your module.  You can find your API key for the PowerShell Resource Gallery by logging in with your Microsoft account and browsing to your account information page.

2. When publishing an update to a module, you must increase the version number in the manifest of the module you are publishing.  Otherwise, PowerShellGet will not allow you to publish the modified module to a PowerShellGet repository.

3. If you invoke Register-PSRepository and you pass it a URI that is valid but that does not resolve to a NuGet gallery, the repository will be registered however you will see several warning messages and probably one error message as well.  For this article, I was merely testing the Register-PSRepository command without setting up a private repository myself first.  I will do that myself later, and can share the details about that as well, if not here then on my personal blog at poshoholic.com 

4. The PowerShell Resource Gallery repository already contains a lot of very useful modules.  In fact, while researching this article I uploaded a module that I personally use more than any other non-core PowerShell module.  It’s called DebugPx, and you can install it yourself using the Install-Module command as shown in the commands listed above.  Watch for more information about DebugPx on my blog as well.

Food for Thought

One interesting fact about PowerShellGet that makes it stand out from other modules that ship in WMF5 is that it is a script module, and the commands that it defines are PowerShell functions. That means that you can open those files in your favorite text editor and read the internal PowerShell code to see how those commands work. There are a few interesting nuggets of information that can be gleaned from reviewing those script files.  One item in particular that grabbed my attention, was that the PowerShellGet manifest lists the minimum required PowerShell version as 3.0.  Could that be a typo, or a sign of things to come?  Only time will tell for that one, but regardless, it is well worth taking a look to see what is there – you just might learn a thing or two!

Wrap-up

I think that about covers PowerShellGet, at least for this article.  There is definitely more that could be discussed, such a detailed guide on setting up a NuGet gallery for use with PowerShellGet, or recommendations on how to create and publish your first module to PowerShellGet.  That information will have to wait for another article for now though.  With all of this information, I hope that you see how this is a truly fantastic feature that is definitely going to have an impact on the PowerShell community, and personally, I can’t wait to see what new modules come out of it!  Thanks for reading!

 

About the author

Kirk Munro is a Technical Product Manager at Provance Technologies, where he is helping build the next generation of Provance's flagship IT Asset Management product.  He is also a 7-time recipient of the Microsoft Most Valued Professional (MVP) award for his involvement in the PowerShell community.  For the past 8 years, Kirk has focused almost all of his time on PowerShell and PowerShell solutions, including managing popular products such as PowerGUI, PowerWF and PowerSE.  It is through this work he became known as the world's first self-proclaimed Poshoholic.  Outside of work these days Kirk is returning to his software developer roots, learning mobile technologies like Xamarin and Ruby on Rails, and taking courses on Coursera or edX whenever he can make the time to do so. Follow Kirk on Twitter

About MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

*PowerShell MVPs Claus Nielsen and  Aleksandar Nikolic also contributed to this article as technical reviewers.  Thank you Kirk, Claus and Aleksandar!

Visualizing Your SharePoint Farm with PowerShell

$
0
0

The following post was written PowerShell MVP Nik Charlebois

Introduction

How often have you wished that you could easily press a button and get an exact picture of all the servers in your SharePoint farm? I know this came up a few time in my career as a SharePoint administrator. Today is the day where I make all your dreams come true! Together, we will learn how to develop a very simple PowerShell script that will allow you to easily scan your entire SharePoint environment and extract relevant information about the various components running on them and the resources they have available. The icing on the cake is that we will create our script in such a way that it will present all the extracted information in a visually appealing and useful way.

Setting the Stage

For the purpose of this article, I have spin off a new three-tier SharePoint 2013 test farm that consists of two Web-Front-Ends, one Application server, as well as one dedicated SQL Server (see Figure 1 below). All 4 servers are running on Windows Server 2012 R2, the SQL Server is running on Microsoft SQL Server 2014, and SharePoint 2013 Service Pack 1 is installed.

  

Obtaining a List of all Servers in the SharePoint Farm

The first step for us is to acquire a complete list of all servers in the SharePoint farm. This can easily be achieved with a single command, by calling the Get-SPServer PowerShell cmdlet. This cmdlet returns an array containing several objects representing each physical server in the farm (see Figure 2 below). These objects expose several properties and methods that we can use to obtain additional information.

 

Figure 2 - Listing all servers in a SharePoint 2013 farm using PowerShell

Obtaining Information about the Servers

The next step is to remotely connect to each server in the farm and extract relevant information about them. To achieve this, we will be using the Get-WmiObject PowerShell cmdlet. For the sake of this article, we are assuming that you are running the resulting PowerShell script as an administrator that has access to all servers in the farm. To connect the Get-WmiObject cmdlet to a remote server, we need to include the –ComputerName parameter with our request. If you ever decide to run this script as a user who doesn’t have administrative rights on the destination server, you can always provide new credentials for impersonation to the cmdlet using the –Credentialparameter along with the –Impersonation parameter to define the level of permissions to grant to the user. For more information on how to use the Get-WmiObject PowerShell cmdlet to do remote impersonation, please refer to the following TechNet article (http://technet.microsoft.com/en-us/library/hh849824.aspx).

Firewall & Security

In order for you to be able to use the Get-WmiObjectcmdlet, you will need to make sure that you enable the Windows Management Instrumentation on each server's to allow incoming requests to the WMI. If this is not allowed on your SharePoint servers, remote requests will all fail and return an error mentioning that RPC Server is not available. With PowerShell, you can easily enable a firewall rule on each server to allow connections to the WMI by running the following line of script on each server in the farm:

Netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes

Information about the CPU

The first data points we will try to obtain is information about the server’s CPUs. We want to be able to determine how many cores and logical processors are assigned to them. By using the Get-WmiObject PowerShell cmdlet, we need to specify the object’s class we which to retrieve. Depending on what version of the OS is installed on the servers, you may get a different set of available classes. To get a full list of all classes that are available to you, you need to add the –List parameter to your request. For our purpose, the information about what we are looking for is contained within the win32_processor class. This object exposes two very important properties: NumberOfCores and NumberOfLogicalProcessors. With this information in hand we can now make the following PowerShell call:

Get-WmiObject -ComputerName <ComputerName>–Class win32_processor | Select NumberOfCores, NumberOfLogicalProcessors

 

Figure 3 - Getting information about CPU remotely for a SharePoint server using PowerShell

Information about Memory

In a similar fashion to what we just did for the CPU related information, we can use the same PowerShell cmdlet to remotely retrieve information about a server’s memory. This time around however, we will be making a call into the win32_computersystem class. This class exposes a property names TotalPhysicalMemory which will give us the total memory size in bytes. As a general rule of thumb, I tend to talk about RAM in GB so in order for us to obtain this value we need to divide the value in bytes by 1024 three times (1024 cube). Then ideally, we wish to round the value up to two decimals. The following PowerShell command will allow us to obtain the RAM value of a remote server in GB:

$object = Get-WmiObject -ComputerName <ComputerName>–Class win32_computersystem

$memoryInGB = $('{0:N2}' –f ($object.TotalPhysicalMemory/1024/1024/1024))

 

Figure 4 - Retrieving RAM capacity from a remote server using PowerShell


 Information about Disk Space

Again here, getting information about remaining disk space can be achieved by using the good old Get-WmiObject PowerShell cmdlet. The win32_logicaldisk class is where all the good stuff is. This class contains information about all the logical drives that are associated with your servers. Through the exposed Size and FreeSpace properties, we can easily determine information such as the percentage of disk space used. One thing to watch out for though is that simply querying this object without properly filtering out drives will return a complete list of all Medias attached to the server including CD-Rom and other storage mediums. Luckily for us, there is a property called DriveType that allows us to differentiate between various media types. In our case, we are only interested in getting information about the logical disks on the server. These are represented with a DriveType of 3 in the object. Therefore, when calling our PowerShell command, we can filter out all other media types:

$drives = Get-WmiObject -ComputerName <ComputerName>–Class win32_logicaldisk | Where {$_.DriveType –eq 3}

Then for each drive object obtained, we can obtain specific information about disk usage. Again, for simplicity’s sake we are rounding up to two decimal numbers. Figure 5 shows the following Powershell script being executed remotely to obtain information about the various drives of the SharePoint SQL server.

$drives = Get-WmiObject -ComputerName SP13SQL –Class win32_logicaldisk | Where {$_.DriveType –eq 3}

foreach($drive in $drives)

{

      $deviceId = $drive.DeviceId

      $totalSize = $('{0:N2}' –f ($drive.Size/1024/1024/1024))

      $freeSpace = $('{0:N2}' –f ($drive.FreeSpace/1024/1024/1024))

      $percentageFull = $freeSpace / $totalSize * 100

 

      Write-Host "Stats for:"$deviceId

      Write-Host "Total:"$totalSize

      Write-Host "Free:"$freeSpace

      Write-Host "% Full:"$percentageFull

}

 

Figure 5 - Retrieving information about remote drives using PowerShell

Retrieving Information about the SharePoint Services

We are now getting into the real interesting stuff, information about the various SharePoint bits on the server. There are probably thousands of data points we could be collecting for our SharePoint servers, but to keep this exercise short and concise, we will only focus on determining what services are running on each of the SharePoint servers in the farm.

In the first section of this article, we learned how to retrieve a list of all servers in our SharePoint farm. What is actually being returned by the Get-SPServer PowerShell cmdlet we used is a collection of .NET objects representing a SharePoint server object. Each of these object exposes various properties that we can use to obtain additional information about a particular server. The property we are particularly interested in is called ServiceInstances and returns a collection of all SharePoint Services that are installed on the server. An important thing to watch out for is that the fact that a service is installed, doesn’t mean that it is enabled. If we wish to get a list of services that are running on a SharePoint server, we need to filter the results to exclude service instances that are disabled. Another very important thing to watch out for is the fact that through PowerShell, you’ll obtain a complete list of services, including those that are normally hidden to the users through the Central Administration interface. In our case, we will also want to filter service instances that are hidden out of the results. The following lines of PowerShell will allow us to retrieve a list of all service instances that are active and that are not hidden for a specific SharePoint server (Figure 6 shows the execution of these lines of code).

$servers = Get-SPServer

$servicesRunning = $servers[0].ServiceInstances | Where{$_.Status –eq “Online” –and $_.Hidden –eq $False}

 

Figure 6 - Listing all SharePoint services running on a specific SharePoint server using PowerShell

Putting it all Together:

Now that we’ve learned how to obtain all these useful tidbits of information, it is time to put all of this into a single script and have it produce a full picture of every server in your SharePoint farm. The following lines of PowerShell summarize our learning into a fully automated script that can be run on any SharePoint environment.

$servers = Get-SPServer

 

# Loop through all servers in the Farm

foreach($server in $servers)

{

      $serverName = $server.DisplayName

      Write-Host $serverName -ForegroundColor "Black" -BackgroundColor "Yellow"

     

      # Get SharePoint services running

      $servicesRunning = $server.ServiceInstances | Where{$_.Status –eq "Online" –and $_.Hidden –eq $False}

      Write-Host "SharePoint Services Running:" -ForegroundColor "Blue" -BackgroundColor "White"

      $servicesRunning | Select TypeName

      Write-Host "`n"

     

      # Get CPU Information

      $cpuInfo = Get-WmiObject -ComputerName $serverName –Class win32_processor

      Write-Host "CPU Information:" -ForeGroundColor "Blue" -BackgroundColor "White"

      Write-Host "Number of Cores:" $cpuInfo.NumberOfCores

      Write-Host "Number of Logical Processors:" $cpuInfo.NumberOfLogicalProcessors"`n"

 

      # Get Memory Information

      $memoryInfo = $object = Get-WmiObject -ComputerName $serverName –Class win32_computersystem

      $memoryInGB = $('{0:N2}' –f ($object.TotalPhysicalMemory/1024/1024/1024))

      Write-Host "Memory Information:" -ForeGroundColor "Blue" -BackgroundColor "White"

      Write-Host "RAM:" $memoryInGB "GB`n"     

     

      # Get Storage Information

      $drives = Get-WmiObject -ComputerName $serverName –Class win32_logicaldisk | Where {$_.DriveType –eq 3}

      Write-Host "Storage Information:" -ForeGroundColor "Blue" -BackgroundColor "White"

      foreach($drive in $drives)

      {

            $deviceId = $drive.DeviceId

            $totalSize = $('{0:N2}' –f ($drive.Size/1024/1024/1024))

            $freeSpace = $('{0:N2}' –f ($drive.FreeSpace/1024/1024/1024))

            $percentageFull = $('{0:N2}' –f ($freeSpace / $totalSize * 100))

           

            Write-Host $deviceId -ForeGroundColor "Green"

            Write-Host "Total Size:" $totalSize "GB"

            Write-Host "Free Space:" $freeSpace "GB"

            Write-Host "Percentage Full:" $percentageFull "%"

      }

      Write-Host "`n"

}

 

Wrap-up:

I hope I have demonstrated how easy it is, with PowerShell, to quickly produce relevant and useful reports to help you better do your daily job. Of course PowerShell for SharePoint provides you with a few specific set of a few hundred cmdlets, but in reality, you can combine your SharePoint scripts with any other set of PowerShell cmdlets and fully leverage the power of the shell!

 

 About the author

 

Nik is the Manager of the Collaboration & Corporate Systems at Library and Archives Canada. Awarded the title of Microsoft Most Valuable Professional in 2014, he tries to help the SharePoint community by sharing his knowledge through various classes, blog articles, and online training material. Author of the book "Beginning PowerShell for SharePoint 2013", Nik strives to bridge the gaps between the developers and IT Pros communities by teaching them how to get the most out of PowerShell.  He is also the owner of IgniteSoft, a company whose focus is to help enterprise migrate their document management and web presence over to Office 365. Being an early adopter of anything worth a try, Nik always tries to think out-of-the-box and pushes himself to deliver rich and interactive sessions and demos during his talks. You can find Nik answering in the MSDN forums or follow him on Twitter.

About MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

*SharePoint Server MVP Vlad Catrinescualso contributed to this article as a technical reviewer.  Thank you Nik and Vlad!

PowerShell and SQL Stored Procedure

$
0
0

Editor’s note: In partnership with Microsoft Press, MVPs have been contributing to an ongoing guest series on their official team blog. Today’s article is from Lync MVP Desmond Lee which is the 45th in the series. 

PowerShell and SQL Stored Procedure

PowerShell is the window to managing many aspects of a Lync Server 201x environment. Coupled with the deployment of the Monitoring Server service (or separate role in 2010), extensive data can be collected to support operational and troubleshooting demands. By installing the optional Monitoring Reports on selected SQL Server Reporting Services (SSRS) instances, common types of reports are easily available at your disposal.

As Lync deployments become ever more popular and widespread, it became evident that the Lync Management Reports shipped with the product do not address certain reporting requirements needed in the field. Since persistent and dynamic Lync data are stored in various SQL databases in the backend as well as on each Front-End Server, the act of firing up SQL Management Studio, connecting to the right server and executing a SQL query will enable you to put together a user-defined report. You can find many excellent blog posts that walk you through the intricacies of constructing the often complicated looking SQL statements.

Microsoft discourages building SQL queries to pull information directly from the underlying database tables for a good reason. Besides the inherent complexity and tediousness involved, such as the use of multiple table JOINs, the database schema, table relationships and naming conventions may change in future updates and product versions. Hence the risk of breaking customized SQL queries is very real indeed.  Continue reading full article here.

About the author

Desmond is recognized as a Microsoft Most Valuable Professional (MVP Lync

Server) for his devoted passion and long-time volunteer work in the IT community. He is a Microsoft Certified Trainer (MCT) and founder of the Swiss IT Pro User Group (www.swissitpro.com). An established speaker at major international and regional events, Desmond contributes frequently to several highly rated publications and engages as a moderator in popular Microsoft public forums/newsgroups. You can follow his IT adventures at www.leedesmond.com 

About MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

 

 

Remember Your NDA

$
0
0

 

Editor's note:  The following post was written by MVP Award Program Manager Kerry Herger

It’s almost November and we’re now just days away from the start of the 2014 MVP Global Summit!  In a very short time over 1600 MVPs from around the globe will gather on the Microsoft campus to participate in over 500 technical sessions with hundreds of members of Microsoft product teams.

The sheer number of participants—and the amount of content shared—makes this the largest community event in the world. But that’s only part of what sets this annual gathering apart. For over 20 years, Microsoft teams have sat down with these technology and community leaders to provide MVPs visibility into early stage products and new releases giving MVPs the information they need to look forward in their work with community and to gain valuable community feedback to help make our products better.

“To me the MVP Summit is a great opportunity for what I call “direct interaction” between the MVP community on the one hand and all the different product teams and engineers in the product teams on the other hand” says Microsoft Developer Division Corporate Vice President Soma Somasegar.  “It’s the-two way dialogue, the two-way conversation and the feedback that is a part of what makes MVP Summit a great opportunity both for the product teams and the MVP community to meet face-to-face and have the high-level interaction and communication going on.”

Most MVPs have numerous communications with Microsoft product teams throughout their award year, but the hands-on experience and deep exchange of ideas at the MVP Global Summit is something most members of the community—including Microsoft’s product teams—look forward to all year. To lay the groundwork for this relationship, all MVPs sign a Non-Disclosure Agreement (NDA) assuring they will not share any confidential information they may gain from Microsoft. Throughout the MVP Global Summit, MVPs hear the refrain, “Don’t forget your NDA!” since it’s essential to the dynamic exchange of ideas between the MVP community and Microsoft.  

 


New at Summit - Accessibility Side Sessions

$
0
0

Want to dive deep into how Microsoft is innovating in design empathy and accessibility?  Perhaps you want to learn how we are transforming the accessibility experience in Office. At the 2014 MVP Global Summit, accessibility will make its first appearance with session presenter and Microsoft Accessibility GM Rob Sinclair.

Rob and his team are dedicated to empowering people of all ages and abilities to see, hear, and use their devices, software, and content. He is working on a new generation of technologies that automatically adapt to a person’s individual needs, preferences, and immediate surroundings. Today, people are asked to adapt to technology. People-centric design greatly expands the ways people can interact with technology, including voice commands, touch, and gestures.

Each of the Accessibility sessions is poised to contain a high level of insight, knowledge and engagement. People-Centric design is about making technology accessible for everyone - users with disabilities or temporary impairments as common as reading a smart-phone screen on a sunny day.

"It is an approach that creates personalized technology, devices and experiences that anticipate our needs, understand our intentions and adapt to our immediate surroundings," said Sinclair. " It is also fueling innovations that range from Kinect to safer operating rooms. Simply put, when you design technologies that adapt to individuals you broaden access for everyone.

MVPs can customize their Accessibility experience at the 2014 MVP Summit via ScheduleBuilder

Date

Time

Title

Speaker

Abstract

11/6/2014

9:00-9:30

People-Centric Design

Rob Sinclair

People-Centric design is about making technology accessible for everyone – users with disabilities or temporary impairments as common as reading a smart-phone screen on a sunny day. It is an approach that creates personalized technology, devices and experiences that anticipate our needs, understand our intentions and adapt to our immediate surroundings. It is also fueling innovations that range from Kinect to safer operating rooms. Simply put, when you design technologies that adapt to individuals you broaden access for everyone.

 

9:40-10:30

Visual Studio and Visual Studio Online (VSO) Accessibility: Open Forum

Cathy Sullivan

We’re interested in meeting and chatting with MVPs that can help us improve the accessibility experience in Visual Studio and in VSO. We want to know more about how you use Visual Studio as a user or as a developer who creates accessible applications. So come share your experiences, ideas, and even pain points with us!

 

10:30-11:00

 Break

 

 

 

11:00-12:30

A Decade of Making Accessible Apps to Help People and What I've Learned

Guy Barker

Guy Barker’s built free assistive technology (AT) tools leveraging powerful Microsoft technologies for more than ten years. Keen to enable all developers to build their own AT solutions, Guy’s created educational sample apps and posts. To his surprise, he’s now a customer of an app built from one of his own AT samples. At this session, Guy will discuss a collection of his AT apps and samples, show videos of students using an app, debug his recent Windows 8.1 Store apps, (State your Name Please and 8 Way Speaker,) and spotlight where things went well – and not so well – along this journey.

 

12:30-13:30

 Lunch

 

 

 

13:30-15:00

Two for One:  Office Help and How To Plus Web Accessibility

Becky Montgomery; Cynthia Shelly

Representatives from the Office team will talk about what they are doing to make help and how to experiences more accessible in Office and also hear what's working and not for you with Office 365 in the first half of this session.  Cynthia Shelly, who has several years of working on web accessibility for Microsoft, will talk about our latest efforts in this area and learn from what you are experiencing.

 

15:00-15:30

 Break

 

 

 

15:30-17:00

Designing for All and What We’ve Learned

Kelly Ford; Mary Bellard; Wendy Chisholm

Microsoft has been involved in some innovative projects over the last year around accessibility.  The projects have ranged in size but started with the idea of asking how can we make not only the results but also the process as accessible as possible.  Come hear what we’ve learned and share your experiences and thoughts.  The first project in conjunction with several partners in the UK is looking at how you can increase availability of information about the physical environment and navigation for people who are blind as a starting point.  The second was a hackathan effort to enhance some eye gaze technology used by Steve Gleason and others who use such technology.  We’ve also tried this approach on various development of web pages and site designs.

Mark Russinovich - Chief Technology Officer - Microsoft Azure

Using Entity Mapping For Dynamics CRM Solution Documentation and Design

$
0
0

Editor’s note: The following post was written by Dynamics CRM MVP Leon Tribe

Using Entity Mapping For Dynamics CRM Solution Documentation and Design

It is sometimes the case we are thrown at a CRM system with no documentation and very little knowledge of how the system works and how it has been customized. Perhaps the system has gone out of use and is being revitalised or it is a CRM system from a different country and being localized and repurposed.

Obviously, we can review the system’s customisations and use a tool like Tanguy Touzard’s ToolBox for Dynamics CRM with its Metadata Document Generator to generate a report of the custom fields, but this still does not give a lot of insight into how the system is used.

There is another way to gain insight into an otherwise unknown system, which is through the entity model. How the entities in the system are related to each other provides insight difficult to gain from other techniques.

To show what I mean, I spun up a trial through Microsoft Office Demos. This is a great way for partners to spin up demos because they last for 90 days, rather than the usual 30 days. Another site which also offers 90 day trials of Dynamics CRM and Office 365 is Microsoft Dynamics Demos, which uses DemoBuilder. Both offer vertical samples for pre-sales demonstrations and are well worth checking out.

One word of warning though, unlike the openly available 30 day trials which are up in minutes, these take a few hours to provision but, for the content, are well worth the wait.

 

Once up, I began mapping the entity relationships. Obviously, if I was to map all the entities in Dynamics CRM, the result would be very complex and largely unreadable so I applied the following rules:

  •          Only map entities which have records stored against them in the system
  •          Only map those visible in Advanced Find (eliminating a lot of ‘system’ entities like Activity Party and Audit History)

Following these rules, I started with the Account entity and crawled through the structure of the system, mapping related entities revealed in the top menu bar and on the form as lookups.

 

In the end I removed the Activity and User entities because they infiltrate the entire system. Their ubiquity does give a clear indication that the management of users and activities are key elements of the standard CRM system. Another rule I sometimes adopt, when dealing with production systems, is to start out only mapping custom entities as this is where the insights often lie in modified systems.

Once I got the result into Visio and tried to minimise entity lines crossing over, this was the result.

 

 

There are still two lines crossing over but to eliminate these was impossible (at least for me) without removing the contact entity.

Considering this as a network diagram, there are two sources of insights:

  •          Which entities have the most connections
  •          Which entities are clustered together

In the case of the first source, the key entities are:

  •          Product (8 connections)
  •          Lead (5 connections)
  •          Contact (5 connections)
  •          Account (5 connections)
  •          Case (5 connections)

Focussing on these, we see these are the centres of the major parts of the CRM system:

  •      Product Management (Product)
  •      Contact Management (Accounts/Contacts)
  •      Sales Management (Lead)
  •      Enquiry/Service Management (Case)

 

These parts of the system also occupy regions in our diagram, addressing our second point.

 

 

We now have an insight into the ‘modules’ of our system which can be used to focus our investigation of the system to certain areas or can be used for sections in our documentation of the system.

If you are thrown at a system with minimal documentation, consider mapping the entities, like I have done above. This will provide insight into the key entities of the system and how it is modularized. This will give you a mental framework for approaching the system and also a way of attacking future investigations, focussing on specific areas.

 

About the author

 

Leon helps others make the world a better place by using technology to make them more efficient and effective. The technology he employs is Dynamics CRM. He has worked with CRM systems since the late 1990s and now works as a Principal Consultant for Oakton in Sydney, Australia. An engaging public speaker, highlights include presenting at Microsoft’s Headquarters at Redmond and co-presenting at Microsoft’s offices in Sydney to hundreds of not-for-profit representatives. In recognition of his passion and focus on Dynamics CRM, Leon was awarded Microsoft’s Most Valuable Professional (MVP award) in 2009.  Follow Leon on Twitter

 

 About MVP Mondays

 

 

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

 

 

 

 

MVPs at the Midwest Management Summit - Nov 10-12

$
0
0


MVPs are busy.  Just how busy are they?  Shortly after MVPs participate in intense technical sessions on the Microsoft Campus during the MVP Global Summit, 32 MVPs will present sessions at the Midwest Management Summit (MMS) November 10-12.  The three-day conference is focused on providing solutions to System Center and Powershell problems.

"What makes this event unique," said MVP and organizer Brian Mason, "Is that attendees will not only network with MVPs and other presenters but will have the opportunity to participate in multiple Q&A sessions."  These Q&A sessions are aimed at enabling conversations to be tailored to attendee needs and drive conversations toward new technologies and techniques.

To get a better glimpse into the content and presenters at MMS, check out the speaker interview page.


Here are the MVP presenters and their sessions

 

 Kent Agerlund

 Chris Nackers

 Ryan Andorfer

 Aleksandar Nikolic

 Johan Arwidmark

 David O'brien

 Steve Buchanan

 Kim Oppalfens

 Kenny Buntinx

 Nash Pherson

 Peter Daalmans

 Greg Ramsey

 Kaido Jarvemets

 Jason Sandys

 Garth Jones

 Trevor Sullivan

 John Joyner

 Steve Thompson

 Tim de Keukelaere

 Jeff Wouters

 Sherry Kissinger

 Marcel Zehner

 Brian Mason

 Nathan Lasnoski

 Thomas Maurer

 Travis Wright

 Rory Monaghan

 Scott Moss

 Kirk Munro

 Bob Cornelissen

 Paula Januszkiewicz

 Cameron Fuller

 

MVP Showcase at the MVP Summit

$
0
0

What has quickly become a favorite among attendees at the MVP Global Summit is gearing up for its third installment.  The MVP Showcase, happening this Sunday from 16:00-19:00 at the Hyatt in Bellevue, gives MVPs the opportunity to share their current projects, network and discuss new technological trends.

 
"The MVP Showcase adds an additional layer of networking, collaboration and fun to the MVP Summit," says Community Program Manager and MVP Showcase organizer, Kari Finn.

MVP Presenters (in alphabetical order):
 
Adam Driscoll
PowerShell MVP
Title: PowerShell Tools for Visual Studio
Description: Learn about how you can use the PowerShell Tools for Visual Studio to streamline your development through language integration and IDE automation.
Home Country: USA
 
Alex Danilychev, PhD & Alex Juschin
Remote Desktop Services MVPs
Title: ASK for RDS
Description: Learn how Application ASK (Application Shopping Kart) leverages Microsoft Remote Desktop services to offer self-service capabilities in rapid RDS application provisioning, multi-stage approval with user notification, and simplified published application management by IT departments as well as service providers.
Home Countries: USA, Ireland
 
Alex Thissen & Samuel Blanchard
Visual C# and Windows Platform Development MVPs
Title: Retro gaming on the Microsoft platform
Description: Come join Alex and Samuel to talk about retro gaming: writing emulators and games for 8-bit and 16-bit game consoles with C#, C++ and C, plus interfacing with classic gaming machines, all using Microsoft technologies.
Home Countries: The Netherlands, France
 
Alexandre Tarifa, Diego Nogare & Rodolfo Fadino
ASP.NET, SQL and Visual C# MVPs
Title: Minha Vida (My Life)
Description: The biggest health portal in Brazil, helping more than 80 million people every year in Brazil using Microsoft Technologies.
Home Country: Brazil
 
Alok Kumar Pandey
ASP.NET/IIS MVP
Title: SageFrame (CMF)
Description: Experience the ultimate power of this ASP.NET Open Source Content Management Framework CMF which allows you to build secure, fast, user-friendly, multilingual, and modular web portals easily.
Home Country: Nepal
 
Alon Fliess, Shay Friedman, & Pavel Yosifovich
Visual C++, Visual C#, Windows Platform Development MVPs
Title: OzCode for Visual Studio
Description: OzCode is a productivity tool that helps identify and fix bugs during C# debugging. OzCode saves time and effort and ensures that your debugging experience is effective.
Home Country: Israel
 
Amir Ahani
Visual C# MVP
Title: Human Assist: A Smart Elderly Monitoring System  
Description: Learn how Human Assist helps senior citizens maintain a better quality of life by leveraging a Kinect sensor to monitor their heart rate, breathing rhythms, weight changes, head position, facial expressions and shares significant changes to their family members, doctors and caregivers.  
Home Country: Canada
 
Benedict Berger
Hyper-V MVP
Title: PDT GUI
Description: Install the complete System Center and Azure Pack stack in two hours instead of two weeks via PDT and PDT GUI.
Home Country: Germany
 
Bill Wagner & Richard Campbell
Visual C# & ASP.NET MVPs
Title: Humanitarian Toolbox: When disaster strikes, code saves lives. 
Description: We are recruiting MVPs that want to serve as project leads for applications that support disaster relief efforts worldwide.  Use your skills to save lives and help people worldwide.
Home Countries: USA, Canada
 
Bhargav Shukla
Microsoft Exchange Server MVP
Title: Delivering Layer 7 applications with Azure VMs
Description: Learn how to provide high availability and application specific Layer 7 functionality with Azure VMs
Home Country: USA
 
Brian S. Friedlander
Surface MVP
Title: Assistive Technology
Description: Learn how the Surface can support students with reading and writing disabilities. Find out about new tools for word prediction, spelling & grammar checking and for reading audio books. Demo of Miracast using ScreenBeam Pro for Education and Office Mix.
Home Country: USA
 
Choi, Joon
ASP.NET/IIS MVP
Title: Service Point 2.0
Description: Learn how this solution can provide simple ways to have an integrated view of enterprise services based on Windows, such as analyzing performance by editing monitoring rules, and providing mobile notification service status.
Home Country: Republic of Korea
 
Daniel Vargas, Jesus Gonzales, Jorge Castañeda, & John Barreto
Windows Expert-IT Pro, Office 365, System Center Cloud and Datacenter Management MVPs
Title: Best practices in Technical Communities in LATAM
Description: MUG Lima, CloudFirst Campus and CLOIT Research Group of the EAN University belong to an initiative that motivates and makes people aware of the Microsoft Cloud Platform, making a real impact in academic and business environments.
Home Countries: Colombia, Perú
 
Edward Kuo
Visual C# MVP
Title: Easily Co-work for a Virtual Scrum Team
Description: Learn how we've successfully integrated Microsoft Azure, Visual Studio Online and Office 365 to build business infrastructure for customers and enterprise virtual scrum team in Taiwan .
Home Country: Taiwan
 
Fabrice Barbin, Johanna Rowe Calvi, Nicolas Calvi, & Vincent Guigui
Kinect For Windows / Hardware Interaction Design & Development MVPs
Title: NUI 4 Fun
Description: Protect your city using the power of NUI (Kinect, Tablet, Sensors and Gadgeteer)
Home Country: France
 
Florian Rappl
Visual C# MVP
Title: AngleSharp
Description: Forget about antique solutions for generating a complete DOM from HTML documents! AngleSharp is an extensible HTML5 and CSS3 parser that can be easily used for running arbitrary scripts, crawling information or rendering pages.
Home Country: Germany
 
Frank Solinske
Title: Enterprise Security MVP
Description: Enterprise Mobility - the whole Story
See how Microsoft Enterprise Mobility Suite can expand your internal Network with all necessary components for an Enterprise Solution.
Home Country: Germany
 
Gian Paolo Santopaolo (@gsantopaolo)
Hardware Interaction Design and Development MVP
Title: Developing Universal Windows Applications across multiple form factors devices
Description: Learn how to develop Universal Windows Applications across multiple form factors devices: from 4 to 82 inch screens, to phones, tablets, PCs and multi-touch, multiuser large format displays as Perceptive Pixel by Microsoft.
Home Country: Italy
 
Gokan Ozcifci &Ed Price
SharePoint MVP
Title: Wiki Ninjas – Collaborate on Microsoft Content & Evangelize Your Expertise
Description: Join us as we explore TechNet Wiki and take a journey through the Wiki Ninja community! You’ll learn about our Interviews with Wiki Ninjas, our Weekly Top Contributors, Monthly TechNet Guru competitions, our competing language communities, and the upcoming TechNet Wiki Summit and Wiki Ninja Belts award system!
Home Country: Belgium
 
Gregor Biswanger & Christine Krupinski
Windows Platform Development MVP
Title: Social Media Marketing Web-App: CleverSocial
Description: We analyze the target groups from your social media contacts (Facebook, Twitter, LinkedIn & co.) and give detail analytics about their behavior. This project is based on Windows Azure, ASP.NET MVC, Web-API and SignalR.
Home Country: Germany
 
Guanjun Hao
Asp.net/IIS MVP
Title: 51Aspx On Azure
Description: Learn how 51Aspx on Azure became the largest .net open source community in China.
Home Country: China
 
Jack Fox (@foxyjackfoxy) & Ryan Riley (@panesofglass)
Visual F# MVP
Title: Powering the Enterprise with Open Source F#
Description: Learn about writing correct enterprise quality software across platforms and operating systems with Open Source Software from the F# community supported by the F# Foundation, http://fsharp.org/.
Home Country: USA
 
Jamie Dixon
Visual F# MVP
Title: Building the Terminator
Description: If your name is Sarah Connor, you may want to skip this booth. For everyone else, learn how the Terminator uses the Kinect and an external facial recognition service to identify targets, the Kinect and Phidgets/Netduinos to track our targets, and the Dream Cheeky Missle Launcher hack to 'terminate' targets.
Home Country: USA
 
Jeff Arnett
Windows Embedded MVP
Title: WPF Skin Fragments: A layered approach to UI design”
Description: WPF dynamic skin fragments are “smart” WPF resource dictionaries. A developer can make skins for defining (and enabling customers to dynamically change) WPF application visual elements such as: style, color, animations, size, touch etc.
Home Country: USA 
 
Jordan Goldmeier
Co-presenters:Rick Grantham and Oz Du Soleil 
Excel MVP
Title: Excel.TV
Description: Check out Excel.TV, a live web series focused around the Excel community, with news, tips and interviews with experts.
Home Country: USA
 
Josh Blake
Kinect for Windows MVP
Title: Real-World Natural User Interface applications
Description: Come try out the latest real world Kinect for Windows v2 and WinRT touch applications for the education and retail sector!
Home Country: USA
 
Jungsun Kim
SQL Server MVP
Title: SQLBigEyes Professional
Description: An Xray vision for SQL Server - Focused on heavy load queries in SQL Server performance and reliability for monitoring, analysis, diagnosis, tuning, and troubleshooting to help new concept of real time performance management solutions.
Home Country: Republic of Korea
 
Ke-Rong Chen
Windows Platform Development MVP
Title: Windows Phone Basketball game & Drama app
Description: Learn about how to use Unity3D engine and toolkit to make windows phone apps
Home Country: Taiwan
 
Li Chen
ASP.NET/IIS MVP
Title: SkyLINQ, ASP Classic Compiler and NSession
Description: Learn about open source solutions for dynamic .net code execution in Azure. You’ll learn about solutions from hosting LINQ queries in the cloud using SkyLINQ Pad to dynamic script compilation using ASP. Classic Compiler.
Home Country: USA
 
Lino Tadros
Visual C# MVP
Title: Building Windows Phone apps with TouchDevelop for High Schoolers
Description: Find out how you can influence the new generation and get them excited to build mobile apps fast while having fun.
Home Country: USA
 
Mike Halsey
Windows Expert (Consumer) MVP
Title: Community Help and Tutorial Video Production
Description: Extend your community reach by producing your own videos.  Get a primer in editing, production, presentation and the tools required ahead of a full side-session on Thursday at 10am.
Home Country: United Kingdom
 
Nicolas GEORGEAULT & Vincent BIRET
SharePoint MVPs
Title: EnterpriseBrain and Attribute
Description: Leverage your data and knowledge in Office 365, dynamics and yammer with the Graph, #EnterpriseBrain and Attribute.
Home Country: Canada
 
Oscar García Colón
Visual Studio ALM MVP
Title: Azure + VS/TFS + SC + Apps Insights = High Performance Organization
Description: Learn how the integration of all ALM tools allows you to have elasticity without boundaries with azure, traceability with TFS and telemetry with SC and Apps insights! 
Home Country: Guatemala
 
Peter Carson
SharePoint Server MVP
Title: Envision Shakespeare Company SharePoint Website
Description: Learn about a full ALM open source project for developing a responsive public web site and Extranet on SharePoint 2013, leveraging Twitter Bootstrap, friendly URLs, cross-site publishing and catalogs. 
Home Country: Canada
 
Rob Irving
Windows Platform Development MVP
Title: CoPilot for Windows Phone and the CoPilot Professional Integration Kit
Description: Come check out CoPilot, a mobile navigation app that started on Windows Mobile and Symbian and has now been brought back to the Windows Phone platform. Also learn about the CoPilot Professional Integration Kit, which can be used to bring CoPilot’s powerful guidance and mapping solutions into your own Enterprise Fleet application.
Home Country: USA
 
Rodrigo Corral & Vicente Cartas
VS ALM MVP & ASP.Net MVPs
Title: Digital Boss Monster
Description: Digital Boss Monster is a digital adaptation of the popular card game Boss Monster. It is a fully multiplatform game completely written in C# using Visual Studio and Xamarin to run under iOS and Android.
Home Countries: Spain, USA
 
Sean Kearney @energizedtech & Teresa Wilson @scriptingwife
Windows PowerShell MVPs
Title: Windows PowerShell – Bringing the world together one Cmdlet at a time
Description: Learn about all of the amazing online and free resources for learning and leveraging Windows Powershell including the best ones of all, the people that use it.
Home Countries: Canada, USA
 
Sebastiano Galazzo
Microsoft Azure MVP
Title: Brain-wave analysis through mobile EEG
Description: Brain-wave analysis is a game changing UX experience, bringing innovation to sport, health and entertainment.
Home Country: Italy
 
Senthamil Selvan V
Windows Consumer Apps MVP
Title: Sentiment Analysis on MVP
Description: Get to know about yours and other MVPs Sentiment score and contributions using this tool.
Home Country: Singapore
 
Shehap El-Nagar
SQL Server MVP
Title: SQL Gulf Events ….The new Gulf powerhouse of Microsoft SQL Server
Description: Learn about how the very first Community powered SQL Server event, “SQL Gulf” in the Middle East resurrected the community and built a new and interesting series of events that attracted 100,000 IT Pros and generated great interest and loyalty of Microsoft SQL Server.
Home Country: Saudi Arabia
 
Simon Ferquel
Visual C++ MVP
Title: Parrot Freeflight 3
Description: Come play with Parrot new generation of minidrones using a Windows tablet or phone. Get in touch with the Windows version lead developer to know how the app is engineered to maximize reuse of low level native code between the 3 major mobile platforms.
Home Country: France
 
Sung-Ho You
Visual C# MVP
Title: WatchDoing CCTV: The easiest way to make your smartphone or a webcam a security camera.
Description: WatchDoing can simply transform your smartphone or a webcam into a security camera and allows you to monitor your computer, POS, and DID using your smartphone anytime, anywhere.
Home Country: Republic of Korea
 
Takefumi Araya
Surface MVP
Title: QOOpa: Online Ordering System
Description: Learn about the app that enables customers to use their own devices to order and pay for an order at food and beverage stores.
Home Country: Japan
 
Tatsuya Ishikawa
Visual C# MVP
Title: Friendly                                           
Description: Friendly is the most efficient automation library for Windows application, containing WinForm, WPF, and Win32 app and can directly call methods or properties through the wall of processes!
Home Country: Japan
 
Thomas Claudius Huber
Windows Platform Development MVP
Title: CamRT
Description: Home security project that uses a Surface RT to display camera images and to upload them to Microsoft Azure. A Windows Phone App is used to access the images from everywhere.
Home Country: Germany
 
Tillmann Eitelberg, Oliver Engels, Sascha Dittmann, & Niko Neugebauer
SQL Server, Microsoft Azure MVPs
Title: SSIS & HDInsight
Description: Check out our SSIS HDInsight components to simplify Big Data Integration.
Home Countries: Germany, Portugal
 
Vinoth Rajagopalan
Windows Embedded MVP
Title: IoT Demonstration: Accessing Azure from a compact 2013 device
Description: Check out e-con systems' IOT demo of a simple security/access control system involving a Windows Embedded Compact 2013 Device with Camera. With Azure services and the cloud, remote monitoring of the device could be done using a Windows Phone.
Home Country: India
 

Microsoft Teams (in alphabetical order):
 
Bing Developer Assistant for Visual Studio (formerly named Bing Code Search)
Bing Developer Assistant for Visual Studio combines the functionality of two popular Visual Studio extensions into one: Sample Browser and Bing Code Search. This updated feature enables developers to find and reuse millions of code snippets and code sample projects from within the Visual Studio IDE.
Presenters:  Mei Liang, Pravin Indurkar, Scott Ge, Dan Ruder
 
C&E International Content Team
The Cloud & Enterprise International team publishes a million words of developer and IT pro content into multiple languages. Do you know that you, as an MVP, can become a curator of our content, improve its technical accuracy and get recognized for your contribution? Find out from us how you can leverage Curah!, Translation Wiki, and other offerings to share your expertise.
Presenters: Sara Nicolini, Yelena House
 
Customer Service and Support Content & Localization
Tell us!  Q: Do you use translated KB articles? Stop by to share your ideas for self-help solutions for mobile & global. You know what our customers need. You know what our customers use and won’t use. We need your help!  Stop by our booth to give us your candid feedback on the machine translation of KB knowledge base articles. Tell us Q: Do you use language KBs or English KBs? Don’t have time to stop by our booth?  You can email feedback to:  ecomtfbk
Presenters: Martine Smets and team
 
Innovations in .NET
See the present and the future of .NET in key areas such as the runtime, compiler, and languages as well as the latest innovations for creating native applications and cross-device experiences.
Presenters: Beth Massi and the .NET team
 
Microsoft Press
At Microsoft Press, we create books and references for every skill level and across the range of Microsoft technologies. We’re here to help you innovate, create, and get things done. Written by industry experts,
Microsoft Press products are available worldwide.
 
Microsoft Surface
Check out the tablet that can replace your laptop, the Pro Surface 3.
Presenter: Sanjeevini Mittal
We’d like to give a special thanks to the Microsoft Surface Team who is generously sponsoring the event’s sweet treats! The Microsoft Surface Team is actively seeking nominations of strong independent Surface experts who are impacting their communities. If that’s you or someone you know, visit the MVP nomination site
 
Microsoft Training & Certification
With Microsoft Certification and Training, you can keep your skills relevant, applicable, and competitive. Microsoft Certification is an industry standard recognized worldwide. http://borntolearn.mslearn.net/
 
Microsoft Virtual Academy
Successful technologists never stop learning and great technology never stops evolving. Microsoft Virtual Academy (MVA) offers online Microsoft training delivered by experts to help technologists continually learn, with hundreds of courses, in 11 different languages.  
 
.NET OSS Projects Showcase
Microsoft has been fostering open development and collaboration on the .NET platform, and with the creation of the .NET Foundation we are committed to a vibrant .NET Open Source Software ecosystem. Come join a few of the community’s OSS project leaders and learn about .NET OSS projects and how you can get involved.
Presenters: Anthony van der Hoorn, Nik Molnar & Justin Rusbatch  
 
Office Mix
Office Mix is an easier way to create rich, interactive presentations and share them online.  You can record your presentation while you write and draw on slides, add quizzes, polls, interactive apps, or secure web content.  Your audience can watch your presentation on OfficeMix.com or nearly device.
Presenters: Tim Richardson and the Office Mix team
 
Office Pre-Release Programs Team
reImagine Office Together…
Presenters: Wendy Stidmon
 
 

           

 

The MVP Global Summit: A Virtuous Cycle

$
0
0

The following post was written by MVP Program Event Manager Paulette Suddarth

 

Widely recognized as one of the most important community events in the world, next week’s MVP Global Summit will be, as it always is, a reflection of the community itself. MVPs are instrumental in every facet of the event, helping us plan and make continual improvements as well as infusing every jam-packed moment with their passion, curiosity and expert insights.

Core to the mission of the MVP Global Summit is the free exchange of ideas between MVPs and Microsoft teams about Microsoft technologies—how they work now and what’s in the works for the future. It provides all of us at Microsoft the opportunity to receive direct feedback from hands-on experts.

 

And that’s true of the event itself. Last year, after we significantly improved the Summit feedback tool—based on MVP feedback—we gained a record 75% response rate from attendees. This year, we’re hoping to hear from 80% of Summit participants. From the feedback they provide us at the end of each Summit, to their questions and suggestions this year on a private Summit Yammer group, hearing from this community makes all the difference.

This year, we’re fortunate to have the opportunity to hear from a lot of MVPs. In what will be the largest MVP Global Summit in at least a decade, we’re expecting well over 1,800 MVPs and other influencers to fly in from nearly 80 countries to meet with more than 300 Microsoft product team members.

 

In addition to sharing their valuable feedback, a number of MVPs present their innovations in using Microsoft technologies at the MVP Showcase. This year, sixty-seven MVPs from around the world will demonstrate and answer questions on topics ranging from how the Surface can support students with reading and writing disabilities to developing Universal Windows Applications across multiple form factor devices.

And then the deep dive sessions will begin. MVPs will be invited to participate­­ in nearly 50,000 hours of learning and countless conversations with members of Microsoft’s community and, as part of One Microsoft, sessions will be more broadly available to participants. There also are a number of Microsoft conferences happening in the next week or so, and they will be conveniently located next to the MVP Global Summit so MVPs can make the most of their time here at Microsoft world headquarters.

 

Throughout the Summit, MVPs can manage their schedule with a cross-platform phone app created by MVPs. This year’s app has been downloaded twice as much as the previous year’s.

Finally, to highlight Microsoft’s vision for the cloud and the amazing contributions MVPs have made in helping people make the move to the cloud, the community will be welcomed at
the closing night attendee party by Captain Cloud and the Community Crew! You can find out more about Captain Cloud and the crew on our Facebook page.

Welcome to the 2014 MVP Summit


MVP Team Welcomes You to the MVP Summit

MVP Showcase Winners!

$
0
0

What started as a small, side project has grown into one of the most popular events at the MVP Global Summit.  Over 65 MVPs from around the globe were selected to participate in the MVP Showcase held Sunday night.  Each presentation was unique, thoughtful and inspiring.  

"Every one of the MVP presentations is different," said Showcase organizer and Microsoft Community Program Manager Kari Finn.  "The passion for their work, community spirit and drive to build unique apps, programs and platforms is what really makes this event succeed."   

Attendees were asked to select their favorite MVP presentation at the Showcase.  After all the votes were tallied the winners are...

1st Place

Sebastiano Galazzo - Italy - Microsoft Azure MVP

Title: Brain-wave analysis through mobile EEG
Description: Brain-wave analysis is a game changing UX experience, bringing innovation to sport, health and entertainment.

2nd Place

Tatsuya Ishikawa, Bin Matsui,  Akiko Yamanouchi, Takaaki Suzuki, 
Yuuki Izumoto, Jimmy Rishe, Hiroshi Maekawa and Hideyuki Kashiwagi - Japan - 

Title: Friendly                                           

Description: Friendly is the most efficient automation library for Windows application, containing WinForm, WPF, and Win32 app and can directly call methods or properties through the wall of processes!

3rd Place

Mike Halsey - United Kingdom - Windows Expert (Consumer) MVP

Title: Community Help and Tutorial Video Production

Description: Extend your community reach by producing your own videos.  Get a primer in editing, production, presentation and the tools required ahead of a full side-session on Thursday at 10am.

4th Place

Alex Thissen & Samuel Blanchard - The Netherlands/France - Visual C# and Windows Platform Development MVPs

Title: Retro gaming on the Microsoft platform

Description: Come join Alex and Samuel to talk about retro gaming: writing emulators and games for 8-bit and 16-bit game consoles with C#, C++ and C, plus interfacing with classic gaming machines, all using Microsoft technologies.

5th Place

Jamie Dixon - USA - Visual F# MVP

Title: Building the Terminator

Description: If your name is Sarah Connor, you may want to skip this booth. For everyone else, learn how the Terminator uses the Kinect and an external facial recognition service to identify targets, the Kinect and Phidgets/Netduinos to track our targets, and the Dream Cheeky Missle Launcher hack to 'terminate' targets.

 

 

Universal Windows Applications Across Multiple Form Factors Devices: From 4 to 82 Inches:

$
0
0

Editor’s note: The following post was written by Hardware Interaction Design and Development MVP Gian Paolo Santopaolo

Universal Windows Applications Across Multiple Form Factors Devices: From 4 to 82 Inches: 

From the entry on the market of Windows 8 on October 26th 2012 until now the number of devices equipped with the new operating system is growing rapidly to some hundred millions.

From that date until today some other important concepts comes out: Windows 8.1 merging with Windows Phone 8.1, the Xbox ecosystem, coming up to July 22th 2014 when, Satya Nadella during the July 22 Microsoft's Q4 fiscal 2014, announced:

"We will streamline the next version of Windows from three operating systems into one single converged operating system for screens of all sizes,"

(source ZDNet http://www.zdnet.com/what-one-windows-really-means-and-doesnt-7000031917/ )

Well, for a sharp Windows developer this is where Microsoft is going since the come out of Windows 8, even if they didn’t officially announced it, for instance, just think to operating systems codenames: Win RT, Win PRT, WinXRT, and today this officially was confirmed.

What this really means for a Windows UI developer? That it’s no longer enough to be just a phone developer or just a pc developer or just a tablet developer. And when you target you application you have also to consider the number of large multitouch devices that are running on Windows.

Indeed, with a parallel growth factor of the standard device equipped with Windows, multitouch large devices (more than 30’’) that come on the market are growing every day: Lenovo, 3M, Displax, Frog Designm many other and our beloved Perceptive Pixel by Microsoft

Returning to the question - What this really means for a Windows UI developer? This means that if you want to be successfully you need to address all of these devices, the large one included.

 

Building adaptive apps for Windows from 4’’ to 82’’

On one hand it could be a really simple topic to talk about: we can say if my device has a bigger screen and probably has more pixels I can show more contents to the user

Even if this statement is true it hides a lot of complexity so I’ll walk through what some of these complexity are and why thinking in this simplicity terms doesn’t actually works really well when you develop across multiple for factors.

What we what to think about is it the size of my application nor its resolution, that means positioning UI elements on the screen

The most important thing in layouting an application is thinking about the general shape of your application:

  • Tall and thin
  • Short and wide

 

Application layout: Tall and thin

 

 

Application layout: Short and wide

 

Lots of dev will think to orientation: is my device portrait, is my device landscape in a pc or laptop, 2 or 3 app side by side. Orientation doesn’t really matter we worry of the overall shape of the app

But how to achieve that? Well, pretty simple (at least the concept) by using ViewBox and Visual States. I will cover this argument in a separate blog post with some full code.

 

Building adaptive apps for multitouch multiuser device in a collaborative environment.

In a multitouch multiuser enviroments the goal should be to enables developers and designers to deliver amazing, social, and highly interactive experiences to their customers. People can use the 360° degree interface from all sides for face-to-face collaboration, cooperation, and building trust. It’s intimate enough to facilitate the close back-and-forth of a consultation and makes intuitive sense to people, young and old. Touch. Push. Pull. Turn. Place an object on the screen. Surface creates new opportunities to socially interact with people and content.

 

Create experiences for several people to use at the same time

Make sure everyone can use content, avoid facing it toward only one side of the display. arrangement of content, which users can scroll horizontally. These visualizations are implemented as separate controls and (in the case of LibraryContainer) as different visualizations of the same control.

 

Enable people to change the direction content faces. Don’t lock content to a particular screen direction

Use the ScatterView control provided in the Microsoft Surface 2.0 SDK to quickly enable 360° degree experiences.

 

 

Use 180° degree application design for vertical deployments

Orient new content and interface elements toward the bottom of the screen.

Make sure new content appears right-side up.

Quand si passa almolto grande collaborative entra in gioco lo scatterview

 

 

Implementing the scatterview on Windows 8

The ScatterView control is the control that you should use when you have one or more UI elements that you want users to be able to move, rotate, or resize freely within a fixed area.

A ScatterView control displays freeform content where multiple users can sort, move, resize, rotate, and organize content simultaneously. A ScatterView control includes the scatter area and multiple ScatterViewItem controls. You can move, rotate, or scale each ScatterViewItem item individually or simultaneously.

ScatterView provides a simple way to create applications that enhance the Microsoft Surface experience. The ScatterView and ScatterViewItem controls provide an empty shell that you can place content into. This content can be as simple as a static image or video or as complex as a collection of multiple controls, such as a control panel of buttons, check boxes, and sliders. Scattered items promote a more social and freeform interaction and create a more approachable feel, because the messy appearance is more human, forgiving, and playful in comparison to the precise feel of grids and tables.

 

Example of multitouch multiuser application using ScatterView

The  ScatterView and the Library control are parte of the Surface SDK 2.0 that point on Framework 4.0 and Windows 7.

Unfortunately there is no porting of these control on Windows Runtime so I decided to rei mplemnt it from stretch.

On Codeplex you can find the Scatteview in for of an attached behavior- http://multitouch.codeplex.com/

 

Use the appropriate control to group items

The library controls (LibraryStack, LibraryBar, and LibraryContainer) each represent a container holding a collection of objects that have both an order and a category.

LibraryStack and LibraryBar differ in their visualizations. A LibraryStack control is a virtual stack of objects, one placed on top of another, which users can sort through and reorder. A LibraryBar control is a horizontal

 

An example of a LibraryStack control

 

 

An example of a LibraryBar control

 

LibraryStack (or the stack view of a LibraryContainer control) is basically a collapsed view of LibraryBar. In all cases, you can fully manipulate the controls. Users can move, rotate, resize, and flick them, and they can move individual pieces of content in or out of them.

 

The LibraryStack, LibraryBar and LibraryContainer controls are each suitable for organizing groups of content. This organization is particularly useful when there is too much content that might make the canvas overly cluttered and unusable. If meta-information (such as content types and dates) is available, you can use that information to easily organize the content.

For example, if users download or import a lot of content, you could have it all appear first within a library control. In addition, users can begin to orient and play with the first set of downloaded content while the rest continues to load.

Users can easily change the vertical order of content in a LibraryStack control. To move the top item to the bottom of the stack, the user flicks it. To move the bottom item to the top of the stack, the user can simply touch the protruding portion.

 

Moving an item to the bottom of the stack

When you use a LibraryContainer control, users can view the content as a stack or as a bar. The default view is the stack, but users can change to a bar view by touching the view button on the bottom of the control. In the bar view, more content is visible at one time, and it is organized by category and labeled accordingly. In the following figure, the categorization of stack content is used to create a list sorted in chronological order.

 

Always give visual feedback to the user

This is one of the Microsoft design language principle: Be fast and fluid Design for touch responsive intuitive interaction, immersive and compelling. Delight with motion. Life is mobile.

Before Windows Runtime this was one of the biggest challenge for a UX developer. I still remember a statement of one of my colleague: We work weeks for creating milliseconds animations hoping user will notice it.

Today it’s kind different, the Windows Runtime controls for XAML include certain types of animations as built-in behaviors that come from an animation library. Controls such as the ListView control, the FlipView control, the Flyout control, and the AppBar control all use these animations as built-in behavior. By using these controls in your app, you can get the animated look and feel without having to program it yourself.

Animations from the Windows Runtime animation library provide these benefits:

  • Motions that align to animation principles
  • Fast, fluid transitions between UI states that inform but do not distract the user
  • Visual behavior that indicates transitions within an app to the user

For example, when the user adds an item to a list, instead of the new item instantly appearing in the list, the new item animates into place. The other items in the list animate to their new positions over a short period of time, making room for the added item. The transition behavior here makes the control interaction more apparent to the user.

The animation library does not provide animations for every possible scenario. There are cases where you might wish to create a custom animation in XAML. For more info, see Storyboarded animations.

For example code using the APIs discussed in this topic, see the XAML animation sample, XAML personality animations sample, or Quickstart: Animating your UI using library animations.

The you tube sample

To better describe this artibble I just created a sample that will target all the devices you will find all the source code on MSDN Code Gallery.

This sample has some point of interest, first of all is an application that will target, with some leack (just read the next chapter things to do)

 

Things to do:

Component I’ve developed at the moment is just an attached behavior. It works but it needs some more improvements for being used in the everyday life of devs and to work like a charm.

Databinding

First of all, starting from the behavior, a component should be designed with full template and binding support. The binding support should be designed to work in an MVVM environment also.

Templating

Base entrance animation for items added, via binding also, that should be easily redesigned in case of need: this means everything should be done in the base template.

NUI drag &drop enabled list of items

Component itself, as said, should enable databinding but we also need some sort of components

Other inegrations:

  • Kinect Integragion
  • Voice to command integration
  • Hand writing integration

 

Hardware Related features integration

It would be great to have a pluggable stack where all hardware vendor can integrate their own functionalities such us the tap over the border of the PPI by Microsoft.

 

References:

From 4 to 40 inches: Developing Windows Applications across Multiple Form Factors

http://channel9.msdn.com/Events/Build/2014/3-541

 

LibraryBar, LibraryContainer, and LibraryStack Controls

http://msdn.microsoft.com/en-us/library/ff727879.aspx

 

Animating your UI (XAML)

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh452701.aspx 

 

About the author

Gian Paolo designs and develops NUI user experiences for multitouch devices with main focus on Microsoft PixelSense and Surface. He researches and creates prototypes for tactile and gesture recognition solutions with particular attention to the interaction between these two. For over a decade dealing with architecture, design and development of enterprise applications with extreme scalability requirements by implementing the latest technologies.  Read his blog about Microsoft Surface and .NET or follow him on Twitter 

 

 About MVP Mondays

The MVP Monday Series is created by Melissa Travers. In this series we work to provide readers with a guest post from an MVP every Monday. Melissa is a Community Program Manager, formerly known as MVP Lead, for Messaging and Collaboration (Exchange, Lync, Office 365 and SharePoint) and Microsoft Dynamics in the US. She began her career at Microsoft as an Exchange Support Engineer and has been working with the technical community in some capacity for almost a decade. In her spare time she enjoys going to the gym, shopping for handbags, watching period and fantasy dramas, and spending time with her children and miniature Dachshund. Melissa lives in North Carolina and works out of the Microsoft Charlotte office.

 

 

 

MVP Perspective - Connect();

$
0
0

Last week, Microsoft reinforced its commitment to cross-platform developer experiences by open sourcing the full server-side .NET stack and expanding .NET to run on the Linux and Mac OS platforms. Microsoft also released Visual Studio Community 2013, a new free edition of Visual Studio that provides easy access to the Visual Studio core toolset. The announcements kicked off Microsoft’s Connect (); event, where the company released Visual Studio 2015 Preview and .NET 2015 Preview.

Embedded image permalink

“With billions of devices in the market today, developers need tools that target many different form factors and platforms,” said S. Somasegar, Corporate Vice President, Developer Division, Microsoft. “Through Visual Studio and .NET we are committed to delivering a comprehensive end-to-end solution for developers to build and manage applications across multiple devices and platforms.”

Check out the presentations, interviews and more from Connect();

A handful of MVPs live tweeted, posted photos and shared their first-hand experiences with the community.  Here's what they had to say:

Alvin Ashcraft - Visual C#

I was totally floored by the number and magnitude of all of the announcements at Connect();. I am really looking forward to seeing how the cross-platform story unfolds in the coming months and years. What I think will be particularly interesting to watch is how Xamarin and the Mono project grow and evolve now that they have access to the open sourced Microsoft .NET Framework.

Andy Schwam Visual C#

I was fortunate enough to attend Visual Studio Connect(); in-person. It was really exciting to be there live to hear the big announcements of the day. One of my tweets from the day was “It’s a good time to be a .NET developer!”, but I probably should have said “Great”. The changes announced at Connect(); will have a large, positive effect on my career. With these changes I will be enabled to write awesome .NET applications on which ever platform I chose and for which ever platform I chose. I really like the direction Microsoft is headed with Visual Studio, TFS, VSO, Azure and more.

Oren Novotny - Windows Platform Dev

The atmosphere at the event yesterday had an excitement that I haven’t been at a Microsoft event at a long time. There was definitely a sense of joy, with the “did they really just do that” kind-of-thinking. The event was well-coordinated and the event space was attractive. The events team did a great job with the look & feel of the event along with the food and party — all top notch “classic” Microsoft that the recent larger events had been missing. 

 

David Wilkinson - Visual C++

As a Connecticut resident I was delighted to get an invitation to the Connect(); event in New York City. There was a lot of emphasis on the Cloud, DevOps and .NET, Microsoft does a great job of orchestrating these occasions.

I'm sure you have all heard about the exciting announcements, but here is a brief list of things I noted down (in my low-tech spiral notebook):

1. Visual Studio 2015 Preview released. Not so much said about C++, except improved C++11/14 support, and Mobile support for Android using CLang (this is just for behind-the-scene library content, not the actual application). There is more C++ information in Eric Batalio's blog here

<http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx>

2. Visual Studio 2013 Community edition released. 

3. Visual Studio 2013 Update 4 released

4. Live profiling in the debugger. 

5. Live code analysis (Intellisense on steroids).

6. Open sourcing of (some parts of) .NET.

7. Android and IOS development support with Xamarin

8. A lot of discussion of Visual Studio Online for cloud-based development. I should take a look at this. Right now my only use of the cloud is  some Azure virtual machines for testing. There is an image for Visual Studio 2015 Preview, by the way.

On the social side it was good to meet fellow C++ MVP Michael McLaughlin, and chat with him for a bit. 

At the end of the day, there was a cocktail reception at the Classic Car Club of Manhattan, where they had a number of cars on display, and also the opportunity to take a test ride. I was fortunate to be able to ride in a Tesla Model S -- impressive!

Mahesh Chand - Visual C#

Event was awesome. Venue and setup was great. 

ScottGu’s roundtable was great. We just went through some Q&A and you can imagine 11 people and time always runs out. But it was a great opportunity to meet and sit with Scott one on one.

Overall a great event. Great excitement. I will definitely go to any of these next time between DC and NY.

Mike McLaughlin - Visual C++

As I arrived at Connect(); in NYC, the first thing that caught my eye was the attention to detail. From the welcome carpet at the entrance to the wall lights and even several creative ceiling light fixtures made from fluorescent tubes, the Visual Studio brand was tastefully imbued throughout the venue. I haven't been to an event like this before so I didn't quite know what to expect when I entered. The friendly event staff helped tremendously, guiding me through check in and up to the pre-Keynote Welcome Reception in a warm, efficient way. (They remained very helpful throughout the day and have my well-deserved thanks.) At the Welcome Reception I met some fellow MVPs and several other interesting people. When it was time, we made our way to the Keynote. The Keynote presentations were thrilling. Having missed the MVP Summit this year I was unaware of the huge .NET announcements and the Apache Cordova integration, and only knew a bit about Visual Studio Community and the new, major cross-platform development features. So there were many pleasant surprises for me. The other audience members also seemed genuinely excited so I feel like it went really well and that the hard work that the folks at Microsoft put in was really worth the effort. Through the rest of the day I got a chance to learn more about some of the exciting new and recent things in Visual Studio and Windows Azure. There are too many to write about here and though I remember it all, it nonetheless feels like time was passing faster than usual that day. As the day ended and I made my way towards the subway and Grand Central to catch my train home, I was still buzzing with excitement. As I write this now, the warm glow from the event itself has receded but the excitement remains. I'm really glad I had the opportunity to attend Connect(); and I can't wait to see what Microsoft does next!

Rick Minerich - Visual F#

It was incredibly exciting to be there at the historic moment when .NET was open sourced. I've heard many people say online now how they are considering F# when formerly the closed source nature of the runtime kept them away. It's going to be a very bright future for the platform now, with community contributions and support across all platforms.  I couldn't be happier. 


Rob Irving - Windows Platform Dev

I was very excited by the Visual Studio Connect(); announcements. As a Cross-Platform Mobile C++ Developer the prospect of having my team be able to target the 3 major mobile platforms all from our favorite IDE is thrilling. Adding a performant Android emulator that runs on Hyper-V to the mix will make the Android debugging experience a thousand times better then what we have now with Eclipse.


Open Sourcing and ASP.NET with "The Scotts"

Viewing all 788 articles
Browse latest View live




Latest Images