Quantcast
Channel: TechNet Technology News
Viewing all 13502 articles
Browse latest View live

Episode 125 on Microsoft Teams development with Bill Bliss—Office 365 Developer Podcast

$
0
0

In Episode 125 of the Office 365 Developer Podcast, Richard diZerega and Andrew Coates talk with Bill Bliss about Microsoft Teams extensibility.

Download the podcast.

Weekly updates

Show notes

Got questions or comments about the show? Join the O365 Dev Podcast on the Office 365 Technical Network. The podcast RSS is available on iTunes or search for it at “Office 365 Developer Podcast” or add directly with the RSS feeds.feedburner.com/Office365DeveloperPodcast.

About Bill Bliss

Bill Bliss is a Partner Platform architect for Microsoft Teams, a founding member of the Microsoft Teams product. He focuses on the Microsoft Teams developer platform and its integration with Bot Framework. He rejoined Microsoft in late 2013, after a nearly 10-year absence, to work on the iOS and Android versions of the MSN applications (News, Sports, Finance, Food & Drink, and Health & Fitness). He also worked on the DMX startup group (the predecessor of the Microsoft Teams effort) and was the PM architect for MSN. Immediately before rejoining Microsoft, he was VP of Product Management in VMware’s End-User Computing (EUC) Division, responsible for product management of Horizon Application Manager and the core Horizon platform. Bill joined VMware in 2011 after serving as VP and GM of Myspace, Inc.’s Search and Recommendations team, where his team built three new service platforms. He also he served as the business owner for News Corp.’s $900M advertising contract with Google. He’s been a part of two start-ups: Gomez, Inc. (now a division of Compuware), where he was VP of Emerging Technologies, and Klir Technologies, where he was CTO. Before Klir, he was an SVP at Expedia, Inc., responsible for Expedia.com and Hotels.com product management, product roadmap, and business analytics. Prior to Expedia, Bill worked over 16 years at Microsoft in a variety of senior technology and management roles from 1987 to 2003. As general manager of the Natural User Interface group, he worked on advanced search and user interface technology for Windows, building on his experience as general manager of MSN Search. Under his tenure, MSN Search launched in 1998; by 2002 it had grown to over 100 million queries per day, more than $100M in annual revenue, and 34 international markets in 13 languages. Prior to MSN Search, he was a founding member of the team that designed and built the first two versions of Microsoft Outlook, and holds nine U.S. patents related to Microsoft Outlook. He earned a BS in Computer Science from Northwestern University in Evanston, Illinois.

 

About the hosts

RIchard diZeregaRichard is a software engineer in Microsoft’s Developer Experience (DX) group, where he helps developers and software vendors maximize their use of Microsoft cloud services in Office 365 and Azure. Richard has spent a good portion of the last decade architecting Office-centric solutions, many that span Microsoft’s diverse technology portfolio. He is a passionate technology evangelist and a frequent speaker at worldwide conferences, trainings and events. Richard is highly active in the Office 365 community, popular blogger at aka.ms/richdizz and can be found on Twitter at @richdizz. Richard is born, raised and based in Dallas, TX, but works on a worldwide team based in Redmond. Richard is an avid builder of things (BoT), musician and lightning-fast runner.

 

ACoatesA Civil Engineer by training and a software developer by profession, Andrew Coates has been a Developer Evangelist at Microsoft since early 2004, teaching, learning and sharing coding techniques. During that time, he’s focused on .NET development on the desktop, in the cloud, on the web, on mobile devices and most recently for Office. Andrew has a number of apps in various stores and generally has far too much fun doing his job to honestly be able to call it work. Andrew lives in Sydney, Australia with his wife and two almost-grown-up children.

Useful links

StackOverflow

Yammer Office 365 Technical Network

The post Episode 125 on Microsoft Teams development with Bill Bliss—Office 365 Developer Podcast appeared first on Office Blogs.


Why Bing.com couldn’t wait for Windows Server 2016

$
0
0

At Microsoft, we have a tradition of eating our own dog food. That means we begin running portions of our business on new products during the final technical preview period to make sure they are truly ready for general availability for all customers. We were thrilled when the Bing team decided to deploy Windows Server 2016 early. As the second largest search engine in the world, Bing would be an excellent test of product readiness.

Prior to its general availability, the Bing team began rolling Windows Server 2016 to thousands of servers that operate the front end and search functions of Bing. By GA, Windows Server 2016 was helping Bing deliver millions of page visits and search requests with improved performance, increased DevOps agility, and new layers of security.

Sixteen percent reduction in latency for Bing Search

Website visitors hate delays, especially when they are searching for the answer to a question in your search engine. The Bing team knows that any performance improvement, of any size, will deliver a real impact on customer satisfaction. That is one reason why they were in a hurry to roll out Windows Server 2016 and its improved .NET framework. The result was a 16 percent reduction in latency for a Bing search query on the upgraded systems.

Increased DevOps agility thanks to containers

With the introduction of Windows Server containers, the Bing team was anxious to try out the new container technology. They are in the process of moving some custom applications into containers to further streamline the agility of their existing microservices architecture, which allows the Bing team to make changes to one part of the application without affecting related parts.

Protect against cybersecurity attacks

Search engines are a popular target for cybercriminals. With Windows Server 2016, the Bing team has added a new defense in its security arsenal. By using Control Flow Guard, they can guard against unknown vulnerabilities by helping prevent memory corruption attacks on their servers.

To learn more, visit our website and read more Windows Server 2016 customer stories.

New Share Experience in Windows 10 Creators Update

$
0
0

Here we’ll describe how we’ve made sharing in Windows 10 Creators Update better than ever before. In addition to refreshing the entire Share experience to make it easier to use, we’ve added new features and capabilities for developers. In this blog post, we’ll guide you through the new experience and examples of the updated Share developer features, with full source code available on GitHub.

UI redesign

First, let’s talk about the redesigned Share experience. We’ve rethought it from beginning to end – and that includes the Share icons that users will be utilizing. You can read a great blog post about the reasons and the process here, but in short, we’ve refreshed the Share icon in Windows to be more familiar and user-friendly!

Previous Windows Share icon on the left and the new Share icon on the right.

As a developer, if you use the standard icon for Share, you’ll get this change for free. The flow begins in the same way: tapping on the icon will launch the new Share dialog to show what apps can share this content.

For example, within Microsoft Edge, users can tap on the Share icon to share the web page they are currently on:

Launching Share from Microsoft Edge with the new icon

You should see the new Share dialog launch in the center of the invoking app. For developers, nothing has changed so far – the same code you used to launch Share in the past will now automatically launch the new Share dialog. This Share dialog contains some information about the content being shared as well as the apps that they can share this content with.

When the user selects an app (e.g. Mail or Facebook), it will invoke the Share target modally in the center of the app.

Store promotion

In the new Share dialog, you may have noticed there are a couple apps tagged with “Install.” In the past, we’ve noticed that users will leave the Share experience when they don’t see the app they want to share content with. To make it easier for everyone to find the right target, we’ve started promoting some of the top Share target apps in the Windows Store directly in the Share experience. For example, in the Share window displayed above, the user can choose to share with one of the installed apps (e.g. Facebook, Mail, Twitter, etc.), or download one of the suggested apps to Share (e.g. LINE, Messenger). Picking one of the promoted apps will take the user to the Store to install the corresponding app. Promoted apps are chosen based on their popularity in the user’s region (i.e. the most popular Share targets are promoted). Once the app is installed, the user will be able to share content with it. As a developer, you don’t need to do anything – the top apps will show up for your users immediately. This makes it easier than ever before for our users to share content to popular apps they might care about.

Developer features

Share Providers

We wanted to go even further to make it easier for users to find apps and targets that they might want to share with (Share Providers). Share Providers are app-defined targets that enable you, as the developer, to inject targets directly into the Share contract as part of your Share experience. This means that even if a given app or behavior is not currently available in the Windows ecosystem, you can include a Share Provider to bring this functionality to your users. Furthermore, if the app you want your users to share to is available on Windows but there are web SDKs that offer richer functionality, you can choose to include a Share Provider to build the experience you desire. As a developer, it’s easy to add one of these into Share:

First, register for the ShareProvidersRequested method in the OnNavigatedTo method of your page.


// Add Share Events in OnNavigatedTo
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            // Get the current Data Transfer manager
            this.manager = DataTransferManager.GetForCurrentView();

            // Setup Data package in DataRequested event as before
            manager.DataRequested += OnDataRequested;

            // Register for ShareProvidersRequested event 
            manager.ShareProvidersRequested += OnShareProvidersRequested;

        }

Then, handle the event when it’s raised and add Share Providers into the list provided in the event args.


// Handle this event to add a Share Provider
        private void OnShareProvidersRequested(DataTransferManager s,
            ShareProvidersRequestedEventArgs e)
        {
            // Deferral included for any long running tasks
            Deferral d = e.GetDeferral();

            // Show "Copy Link" Share Provider only if the shared content includes a link
            if (e.Data.Contains(StandardDataFormats.WebLink))
            {
                // Specify icon for the Share Provider
                RandomAccessStreamReference copyIcon = 
			RandomAccessStreamReference.CreateFromUri(new Uri(@"ms-
appx:///Assets/StoreLogo.png"));

// Create the Copy Link Share Provider with Display Name, icon and callback function
                ShareProvider copyProvider = new ShareProvider("Copy Link", copyIcon, 
			Windows.UI.Colors.Red, OnCopySelected);

                // Add to the list of Share Providers and pass them to DataTansferManager
                e.Providers.Add(copyProvider);
            }

            // Complete Deferral
            d.Complete();
        }

In the screenshot at the beginning of this section, you can see “Copy Link” as a Share target, which has been added to Share dialog using the code snippets shown above. To implement the Share Provider, all you need to do is implement the Callback function specified when you create the object. The code below simply takes the WebLink from the ShareDataPackage and places it on the Clipboard.


        // Implement Copy Link ShareProvider 
        private async void OnCopySelected(ShareProviderOperation operation)
        {
            Uri copyURI = await operation.Data.GetWebLinkAsync();
            DataPackage package = new DataPackage();
            package.SetText(copyURI.ToString());

await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync (CoreDispatcherPriority.Normal,
            () =>
            {
                Clipboard.SetContent(package);
            });
        } 

Share completed

We also heard feedback from source apps that were interested in learning more about content that users share from their apps. Content that people choose to share is often important or valuable in some way, so we want to give developers information about the content and the target. To make this possible, we have introduced a new event called “OnShareOperationCompleted”. Your app can subscribe to this event to get information about the Share target and to build experiences around content that users have shared in the past.

Here’s how you use it:

First, register for ShareCompleted in your OnDataRequested method in your share implementation. This gets called when the target calls ReportCompleted.


private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args)
        {
            // Get the current DataRequest
            DataRequest request = args.Request;

            // Setup sample share data
            request.Data.Properties.Title = "Share Link Example";
            request.Data.SetText("Hello World");
            request.Data.SetWebLink(new Uri("http://www.bing.com"));

            // Register Share Operation Completed
            request.Data.ShareCompleted += OnShareCompleted;
        }

Then, handle the event when it’s raised to see all of the information about the shared content. This simple implementation just prints out information about the target into the debug console.


// Use the OnShareCompleted event to get information about successful shares
        private void OnShareCompleted(DataPackage sender, ShareCompletedEventArgs args)
        {
            Debug.WriteLine("Share Completed");
            Debug.WriteLine("AUMID: " + args.ShareTarget.AppUserModelId);
            Debug.WriteLine("Share Provider: " + args.ShareTarget.ShareProvider.Title);
        }

Wrapping up

Sharing is important to us, and that’s why we’re excited to have everyone start using the new Share experience and other exciting features with the Creators Update. Universal Windows app developers can start building on these features today with in the most recent Windows Insider Builds. As always, we’ll keep listening to your feedback and embrace the opportunity to iterate and improve as needed. We hope all app developers and users alike will love the new changes to Share in Windows! Happy sharing, everyone.

The post New Share Experience in Windows 10 Creators Update appeared first on Building Apps for Windows.

Why VB2017 only supports consuming ref returning methods

$
0
0

Hi VBers,

Last week Klaus wrote an amazing post detailing a number of improvements made to the Visual Basic IDE and language in Visual Studio 2017 (and he even forgot one, stay tuned for awesome). Regarding the new ref-return feature Jonathan Allen inquired as to why the design was so different from the one in C#. It’s not uncommon for considerations in one language to be different in the other or for the styles of the languages to yield different design decisions, even from the same people. But it’s a great question so I thought I’d write up a longer explanation for the VB design.

To put it bluntly, the capabilities around ref-returning method consumption in VB2017 are designed to hedge VB’s bets against an uncertain future rather than to bring that feature into the mainstream (which it isn’t, even in C#).

The #1 scenario for ref returns is array slices–a collection type being discussed for the .NET framework which will let you ‘slice’ off a subset of an array and hand that slice to some other code. We tried an earlier attempt of this with the ArraySegment(Of T) type but it has several drawbacks. Most importantly, that its performance isn’t at all comparable to accessing the array element directly. One reason for that is because it requires a lot of copying. So, prior to VS2017 we’d need to write the slice type like this.

structureSlice(ofT)
    privatereadonly_ArrayasT()
    privatereadonly_Offsetasinteger

   

subnew(arrayasT(),offsetasinteger)
        _Array=array
        _Offset=offset
    endsub    defaultpropertyItem(indexasinteger)asT
        get
            return_Array(_Offset+index)
        endget
        set(valueasT)
            _Array(_Offset+index)=value
        endset
    endproperty
endstructure

The lines in bold are the problem. The getter copies the element at that offsets and returns it. So whatever the size of the element code must pay the cost of copying it. Then the consumer has to copy that value to a local variable. And on the other side if someone wants to write to the array they have to copy the value to call the setter and the setter then copies it again to set the element of the array.

Also, because of this difference you can’t modify a member of the element directly if T is a value type. So you couldn’t say (imagine this slice is from an array of points):

‘ Doesn’t work.
mySlice(3).X+=1

The reason for that is because the value returned from mySlice(3) is a copy, not a reference to that element. So modifying it doesn’t really mean anything. So today you’d have to write:

Dimtemp=mySlice(3)
temp.X+=1
mySlice(3)=temp

So, in addition to paying for all the copying I mentioned earlier the indexing operation happens twice; once to get the value and once to set it. With a true array this doesn’t happen—there is a single index and the value is modified in place without being copied. These difference may seem small, but in certain high performance applications (*cough* games) the extra overhead is devastating. Enter ref returns. Now a slice default property (or indexer in C#) can be written which directly returns a reference to the underlying array index. That eliminates all of the overhead I just talked about. The index happens only once, and no copying takes place unless you store the value of that element in a variable or set that element to a different value. Other than computing the offset that performance is virtually identical to accessing the underlying array directly.

Now, we haven’t specifically added a slice type to the .NET Framework but it’s something we’re thinking over adding one day. There are other design issues that need to be resolved but this was the very first thing needed to unblock them.

If you look at C# this release this one feature pulled in another feature, namely ref locals. There are also considerations around ref locals and decisions like ref re-assignment (making a local ‘point’ to another location) and whether ref locals are readonly by default and how to specify refness in all of the places a variable can be introduced, differentiating regular assignment from ref assignment, etc. that would all need to be solved in VB as well to enable the same production capabilities. That’s a lot of plumbing.

And in VB it would be even more plumbing because VB has extra functionality around ByRef such as passing a property ByRef. VB compiler development lead Jared Parsons has a great post detailing the many cases of ByRef in VB that explains this. It doesn’t really make any sense to return a property ByRef and handling ByRef in a late-bound context and so the language would work differently for ByRef returns that ByRef parameters (in addition to all the considerations in C#) which is confusing (and Jared would have to go update that post with yet more cases). That’s a lot of confusion, syntax, and conceptual overhead to add to VB because C# added a feature that might be used to write one collection type someday.

Instead we took a different approach. In short, we implemented just enough of the consumption scenario to allow you to do exactly with a Slice (or ref returning thing) what you can do with an array and nothing more than that. You can assign directly to the array element when you index it but you can’t assign a reference from an array element to a local and assign back into the array later, you can modify the value at that index in place, and you can pass that element ByRef but you can’t return it ByRef. This means no new syntax and VB is protected if we add slice between VS2017 release and the next version of the language and slice becomes the collection type to end all collection types and a million APIs pop up everywhere overnight all returning things ByRef. And if that highly improbable nightmare scenario never happens the language bears no scars from it. And that’s why the design is the way it is.

You can read the original design notes from last year here which briefly say what I’ve said above. But that’s the whole story. Nothing sinister or because VB was thought about at the last minute. It was a tactical decision made to target precisely the scenario for which the ref-return feature was added to protect VB users from possibly important consumption scenarios appearing between releases while protecting VB from considerable feature creep of dubious value to its users. Feel free to leave any feedback below or to me directly on Twitter (@ThatVBGuy).

Regards,

Anthony D. Green, Program Manager, Visual Basic

Azure Container Registry now generally available

$
0
0

Companies of all sizes are embracing containers as a fast and portable way to lift, shift and modernize into cloud-native apps. As part of this process, customers need a way to store and manage images for all types of container deployments. In November, we announced the preview of Azure Container Registry, which enables developers to create and maintain Azure container registries to store and manage private Docker container images.

Today, we're announcing the general availability of Azure Container Registry supporting a network-close, private registry for Linux and Windows container images. Azure Container Registry integrates well with orchestrators hosted in Azure Container Service, including Docker Swarm, Kubernetes and DC/OS as well as other Azure Services including Service Fabric and Azure App Services. Customers can benefit from using familiar tooling capable of working with the open source Docker Registry v2. Learn more by watching this Azure Container Registry GA video.
Building on the November Preview, we’ve added the following features and capabilities:

  • Availability in 23 regions, with a global footprint (with more coming)
  • Repositories, tag, and manifest listing in the Azure Portal
  • Dual-key password providing key rotation
  • Nested level repositories
  • Azure CLI 2.0 support

Global Availability

Container registry is now available globally. As part of our general availability release, all features are now available in all regions.

A full list of the supported regions are:

  • Australia East
  • Australia Southeast
  • Brazil South
  • Canada Central
  • Canada East
  • Central India
  • Central US
  • East US 2
  • East US
  • Japan East
  • Japan West
  • North Central US
  • North Europe
  • South Central US
  • South India
  • Southeast Asia
  • UK South
  • UK West
  • West Central US
  • West Europe
  • West US 2
  • West US

Multi-Arch Support

With the release of Windows Containers, we’re increasingly seeing customers who want both Windows and Linux images. While the Azure Container Registry supports both Windows and Linux, docker has added the ability to pull a single named image and have it resolve the os version based on the host the image is pulled from. Using multi-arch support, a customer can push both Windows and Linux based tags and their development teams can create their dockerfiles using FROM contoso.com\aspnetcorecorpstandard. The Azure Container Registry multi-arch features will pull the appropriate image based on the host it’s called from.

Nested Repositories

Development teams often work in hierarchies and deploy solutions based on collections. The bikesharing team may have a collection of images they wish to group together (bikesharing\web, bikesharing\api), while the headtrax team has their collection (headtrax\web, headtrax\api, headtrax\admin), with a set of corporate images available to all members (aspnet:corpstandard).
The Azure Container Registry supports nested repos to enable teams to group their repos and images to match their development.

Repositories, tags, manifests

Customers have requested visibility into the contents of their registry. With the GA release, you will now have an integrated experience in the Azure portal to view the repositories, images, tags and the contents of manifests associated with an image.

To view repositories and tags you’ve already created in your repository:

  1. Log in to the Azure Portal.
  2. Select "More Services" on the left-side panel.
  3. Search for "Container registries".
  4. Select the registry you want to inspect.
  5. On the left-hand side panel, select "Repositories".

The repositories blade will display a list of all the repositories (including nested registries) that you have created, as well as the images that are stored in these repositories.

If you select a specific image, it will open up a "Tags" blade containing the tags associated with that image. Additionally, if you select a tag, you will have the ability to see the manifest for that image tag.

Repositories

 

Improved passwords

We have also made improvements for registry admin accounts. While we recommend using a service principal as a best practice, we wanted to improve on the safety of this alternative providing the ability to do key rotation. As such, new container registries will have access to two admin passwords, both of which can be regenerated. Having two passwords allows you to maintain connections by allowing you to swap to another password if you need to regenerate one.

To regenerate passwords, go to the "Access Keys" section of a registry on which you have enabled an Admin user.

Demos - Access Keys

Summary

We hope you enjoy the new features and capabilities of container registries. If you have any comments, requests, or issues, you can reach out to us on StackOverflow or log issues at https://github.com/azure/acr/issues

Spring Into DevOps on Radio TFS with Gopinath Chigakkagari

$
0
0

As part of the #SpringIntoDevOps series, Gopinath Chigakkagari– GPM of the Release Management team at Microsoft joined the most recent episode of Radio TFS with MVP’s Greg Duncan and Josh Garverick to talk about the latest news around Visual Studio Team Service and Team Foundation Server as well as dive into release management and DevOps in general.  Worth listening to for Gopi’s explaination of pipelines in VSTS alone.

Gopinath Chigakkagari on RadioTFS

If podcasts are your thing, then don’t forget that Carl Franklin and Richard Campbell regularly talk about DevOps over on .NET Rocks including some great interviews as part of #SpringIntoDevOps. Richard also frequently covers DevOps topics over on his other podcast, RunAs Radio!

Microsoft + Docker – Investing in the future of your applications

$
0
0

This post was authored by the Microsoft and Docker teams.

Did you know when you combine Docker’s cross platform support of Linux and Windows containers and Microsoft cloud technologies, you get a comprehensive offering that can support virtually every enterprise workload?

Docker   Microsoft 1

One platform, one journey for all applications

Microsoft and Docker aim to provide a modern platform for developers and IT pros to build, ship, and run any application on-premises, in the cloud, or through service providers across both Windows and Linux operating systems. Together we are bringing container applications across platforms, integrating across our developer tools, the operating system, and cloud infrastructure to provide a seamless experience across the application environment from development to test and production.

Docker   Microsoft 2

Whether you host your workloads in private datacenters, public cloud, or hybrid, Microsoft and Docker offer great end-to-end solutions or individual components from the developer’s keyboard to cloud. Azure Container Service provides the simplest way to deploy your container orchestration environment, such as Docker Swarm, so your app teams can deploy their apps more quickly. Windows Server Containers are powered by the same Docker toolchain, so you use the same Docker tooling to build and run those containers as you do your Linux containers and with the tooling you choose including Eclipse, Visual Studio, Jenkins, and Visual Studio Team Service. Windows Server Containers help secure and modernize existing enterprise .NET and line-of-business server applications with little or no code changes. Package existing apps in containers to realize the benefit of a more agile DevOps model, then deploy on-premises, to any cloud, or in a hybrid model. Reduce infrastructure and management costs for those applications, as well.

See it in action @ DockerCon 2017

Come visit Docker + Microsoft sessions @ DockerCon, taking place in Austin, TX from April 17th –20th. Learn how to modernize traditional applications as well as learn new technologies to help you build your next great application. You’ll learn about customer success stories on how they were able to achieve ROI targets and up to 80% cost savings through infrastructure consolidation and operational efficiencies with Docker Enterprise Edition (EE) and Azure.

Check out our sessions

  • Docker + Microsoft – Investing in the future of your applications on Tuesday, April 18th from 11:45am-12:25pm
  • Beyond \ – the path to Windows and Linux parity in Docker on Tuesday, April 18th from 2:00pm-2:40pm

There will also be hands-on labs for you to experience Docker on Windows. We’ll provision a Docker environment for you in Azure, and provide self-paced learning guides. You can learn more by reading Elton Stoneman’s blog on Docker + Microsoft sessions at DockerCon, from modernizing traditional apps like .NET to building new Windows Server Container apps.

SharePoint evaluated as a Leader in latest edition of The Forrester Wave™: Enterprise Content Management

$
0
0

We are very pleased to see SharePoint evaluated as a Leader in The Forrester Wave™: Enterprise Content Management—Business Content Services, Q2 2017. As Forrester noted:

Microsoft instigates content-in-the-cloud with a focus on SharePoint Online. Microsoft’s launch of SharePoint 2016 and ongoing investment into Office 365 and SharePoint Online has proved to be a significant catalyst in enterprises’ decisions to move their enterprise content to cloud services. Support for hybrid deployments continues to be an area of focus, supporting firms adopting cloud in a phased approach, or for specific use cases. Microsoft’s FastTrack migration program, as well as its partners, provides a range of options for customers that want to move documents out of their own in-house data centers or on-premises SharePoint sites. Microsoft has a clear cloud-first vision, and has invested in eliminating the scalability barriers that challenged older, on-premises SharePoint editions. Microsoft continues to work to improve one-stop governance tools, such as common eDiscovery and legal holds across the Office 365 stack. Collaboration, including analytics and social graphing is a major area of focus and investment.

These are interesting times for enterprise content management (ECM). Industry thought leaders have noted the shift from archives for decades-long content retention, to agile collaboration-centric cloud toolsets that also empower security and reuse.

Forrester has been tracking this shift from traditional ECM to what they call business content services. Business content services emphasizes content creation, policy and reuse—but remains distinct from transactional, high volume content services (like those that support credit card processing). Microsoft, through Office 365 and SharePoint Online, has also been at the forefront of the charge.

We’re excited about Forrester’s report, and encourage you to browse and download the full report.

SharePoint Virtual Summit—May 16, 2017

Join a free, online event where you’ll learn how to create a connected workplace in Office 365 with OneDrive and SharePoint and hear the latest product innovations and roadmap.

Reserve your space now and invite others

Introducing SharePoint content services

Our pivot to content services began at Ignite 2016 in Atlanta, where we presented a breakout session on SharePoint ECM. You can watch the entire session below:

Shaping and controlling content from creation to final disposition means many different things. We think it’s important to define our terms. Enterprise content management needs to adopt a holistic approach to managing the entire lifecycle of document creation, sharing, consumption, reuse, knowledge and records management, archiving and disposal.

That’s why we believe it’s time to reflect the changes in how content is created, shared, sustained and reused. Content services reflect a more focused suite of empowered capabilities than traditional ECM, and represent the next wave in ECM.

Content services is people-centric, allowing for personal management (copy, move, hashtag) and organizational management (knowledge management, record retention, information lifecycle management). Policy and security protects content at all phases of its life. It’s a core tenet that content should supply business value throughout, instead of after-the-fact management of dormant assets.

What happens when all that content comes into SharePoint? A common, incorrect impression of SharePoint has been that it’s a great tool to manage team content, but you need an “old-fashioned ECM system for scalability” or “true records management.” Neither of those are true today, with SharePoint having incredible scalability of up to 30-trillion documents and up to 12.5 EB in a single SharePoint Online tenant. OneDrive and SharePoint also inherit our Office 365 capabilities to create record and retention policy tags that can be applied to any content (interactively or by matching a known set of content fingerprints).

Principles of content services—create, coordinate, protect and harvest

Content services is as much about document creation as consumption. In many cases, content has become less about static images and reports, and more about dynamic documents that are created and edited many times in their lifespans. This trend is something we call content velocity, where the content picks up velocity as it is created, edited and reused, becoming more valuable, instead of becoming a dormant archive of little value, as was traditionally the case. We view this as an evergreen cycle of authoring, collaboration, control and reuse.

Create

Content velocity means documents need to be “born” managed. Newer SharePoint and OneDrive capabilities are designed to support this:

  • Creating a document using Office Lens to share to OneDrive for Business and SharePoint.
  • Using the Copy/Move functions to publish that document to a SharePoint team site and its group members.
  • Using SharePoint Content Types to assure that new documents are “born” with templates, rich metadata and retention policies.

OneDrive for Business is the best place to store and manage your documents, giving you the “My Documents” concept on any device. As you share and collaborate with others, content evolves and picks up velocity. When final, you can easily bring it to SharePoint for publishing and permanent storage.

Coordinate

Content in SharePoint is maintained in modern document libraries, making it easy to structure graphically rich, dynamic views of content and metadata. SharePoint’s managed metadata service provides a centralized way to tag and classify information. Tagging and customizing the view can all be accomplished from the library home screen, eliminating multiple clicks to open a property editing screen.

Documents in libraries can be easily shared to Office 365 Groups, and reused in other collaborative apps like Microsoft Teams. In addition, Microsoft Flow can be used to automate common actions, like collecting attachments from email or distributing documents for team review.

Protect

SharePoint already builds on a long tradition of capabilities supporting information lifecycle governance, records management and eDiscovery. Newer capabilities, developed as part of our ongoing engagement with the entire Office 365 suite, include:

  • Information Rights Management—Files can be encrypted using Azure Information Protection/Rights Management Service and can still be used at supported endpoints, including browsers, rich clients and mobile Office clients.
  • Office 365 document retention tags—This new capability offered across Exchange, Skype, OneDrive and SharePoint allows an administrator to centrally define a policy tag in the Security & Compliance Center to enforce document retention and deletion policies. Tags can be set through code, default settings or user actions, and can be auto-applied based on sensitive information types or keywords.
  • Data loss prevention (DLP)—The Security & Compliance Center provides a central point to define policies for 81 predefined information types, such as EU Financial data, and/or create other custom information types. When these types are detected, users can be advised about the policy, or even automatically blocked from sharing or distributing sensitive information based on the dynamic policy definition.
  • Auditing—When combined with unified auditing in hybrid deployments of SharePoint 2016, Office 365 can provide integrated logging of user and administrative actions on content for both on-premises and cloud-based SharePoint and OneDrive locations.

Learn more about our approach to content security in SharePoint and OneDrive by downloading the white paper “File Security in SharePoint and OneDrive for Business.”

Harvest

Content shouldn’t be saved and stored and managed just to fill up storage space. Traditional ECM often concludes with document disposal or retention. We believe that modern content services are cyclical. Content exists to support a future business purpose, such as providing information on a related decision, explaining a historic context or seeding the next cycle of content creation.

Summary

We recognize that effective adoption of SharePoint content services takes some time. At Ignite, we also presented a section on best practices for traditional ECM and modern content services. Please see today’s blog post on the Microsoft Tech Community for more details.

We appreciate the consideration given to our tools by analysts—like Forrester—and are honored that many enterprises are choosing SharePoint as the foundation for content services and digital workplace transformation. We’re already at work planning our next generation of SharePoint content services solutions, and can’t wait to share more with you later this year at our SharePoint Virtual Summit in May 2017 and at Ignite 2017.

SharePoint has long been a strategic platform for collecting and servicing all sorts of content across the enterprise. As part of our ongoing reinvention of SharePoint started in 2016, we’ve begun rolling out enhancements to optimize use and management of content throughout the entire information lifecycle.

We’ll have many more exciting innovations throughout 2017.

—Chris McNulty, senior product manager on the SharePoint team

The post SharePoint evaluated as a Leader in latest edition of The Forrester Wave™: Enterprise Content Management appeared first on Office Blogs.


This Week on Windows: Netflix, Taskbar, Spring Sale in the Windows Store

$
0
0

We hope you enjoyed today’s episode of This Week on Windows! Head over here to learn more about the partner devices bringing Windows 10 Creators Update experiences to life, check out five ways to get started personalizing your taskbar and stay tuned for more than 100 deals on games, apps, movies & TV and music with the Spring Sale in the Windows Store, starting April 11!

Learn more about what’s powering Project Scorpio in this article by Digital Foundry:

Here’s what’s new in the Windows Store:

Rent Rogue One: A Star Wars Story from $4.99

Rogue One: A Star Wars Story

As the Empire continues to gain power, a group of rebel spies will risk everything to steal the plans to their enemy’s most terrifying new weapon: the Death Star. Rent the epic adventure Rogue One: A Star Wars Story ($5.99 HD, $4.99 SD) today on Digital HD in the Movies & TV section of the Windows Store. Can’t get enough Star Wars? Buy the Digital Six Film Collection now through April 10 and get a $5 gift card to spend on even more movies, games, apps, or music! For additional details, visit this link.

Split

Split

When three teenage girls are abducted by a man with multiple personalities, they must figure out which of those personalities might help them escape…and which will do anything in their power to stop them. M. Night Shyamalan’s terrifying thriller Split ($14.99) is available now in the Movies & TV section of the Windows Store, two full weeks before Blu-ray.

Buy The Wolf Among Us for $24.99

The Wolf Among Us

From Telltale Games, the team that brought you The Walking Dead, comes The Wolf Among Us ($24.99), a gritty, violent and mature thriller based on the award-winning Fables comics. As Bigby Wolf – THE big, bad wolf – you’ll soon see that a brutal, bloody murder is just a taste of things to come in a game where every decision can have enormous consequences.

Buy Archer, Season 8 from $14.99

Archer, Season 8

Season 8 marks a new era for this hit animated series as hardboiled spy/private eye Sterling Archer embarks on a mission to find his partner’s killer in 1947 Los Angeles. Watch the premiere of Archer ($19.99 HD, $14.99 SD) now in the Movies & TV section of the Windows Store.

Have a great weekend!

The post This Week on Windows: Netflix, Taskbar, Spring Sale in the Windows Store appeared first on Windows Experience Blog.

Announcing Windows 10 Insider Preview Build 16170 for PC

$
0
0

Hello Windows Insiders!

Today we are excited to be releasing a new build from our Development Branch! Windows 10 Insider Preview Build 16170 for PC has been released to Windows Insiders in the Fast ring. As we mentioned earlier this week, you won’t see many big noticeable changes or new features in new builds just yet. That’s because right now, we’re focused on making some refinements to OneCore and doing some code refactoring and other engineering work that is necessary to make sure OneCore is optimally structured for teams to start checking in code. This also means more bugs and other issues that could be slightly more painful to live with – so check your Windows Insider Program settings!

Windows Insider Program for Business is here!

We have one other exciting announcement about a program we co-created with our IT Professional Windows Insiders.

Back in mid-February at Microsoft Ignite in Australia, Bill Karagounis showcased our commitment to an important segment of the Windows Insider program – IT Professionals. As Bill stated, we’re incredibly honored to have IT Pros participating in the Windows Insider Program and to be evaluating Windows 10 and its features as part of their deployment process.

Since his announcement, we’ve continued to receive an overwhelming response from IT Professionals interested in helping us shape the future of the program with features specifically for business. One of the most frequent requests we received from Insiders was for the option to join the Windows Insider Program using corporate credentials (instead of the existing registration process which requires a personal Microsoft Account):

“I’m currently in the Windows Insider Program and would love to be able to test more business-oriented features internally. It would also be great to be able to recruit a few users to run Insider Builds, as well, using the corporate credentials. If there were mechanisms in place for me to see those users’ feedback and issues, that would be great, as well.” – Current Windows Insider at US-based Company

“I want more users in key areas to be able to test/evaluate/learn/feedback. Microsoft accounts are not allowed. We are using SCCM current release and want to establish steps before ‘release ready’ and ‘business ready’.” – Current Windows Insider at UK-based Company

“Due to the rapid release of Windows we need a different channel to where IT Pros can provide feedback to the Dev teams.” – Current Windows Insider at an Australian-based Company

Based on feedback like this, we’re excited to announce today that Insiders can now register for Windows 10 Insider Preview Builds on their PC using their corporate credentials in Azure Active Directory.

Using corporate credentials will enable you to increase the visibility of your organization’s feedback – especially on features that support productivity and business needs. You’ll also be able to better advocate for the needs of your organization, and have real-time dialogue with Microsoft on features critical to specific business needs. This dialogue, in turn, helps us identify trends in issues organizations are facing when deploying Windows 10 and deliver solutions to you more quickly.
We’ll be rolling out even more tools aimed at better supporting IT Professionals and business users in our Insider community. Stay tuned!

How to access the Windows Insider Program for Business features

Simply visit the Windows Insider Program site and click on the “For Business” tab. To access the new features, you must register using your corporate account in Azure Active Directory (AAD). This account is the same account that you use for Office 365 and other Microsoft services.

Once you’ve registered using your corporate credentials, you’ll find a set of resources that will help you get started with the Windows Insider Program for Business in your organization.

Don’t forget – After you register, enroll your Windows 10 PC to get the latest Windows 10 Insider Preview builds on your Windows 10 PC:

  • Go to Settings \ Updates & Security \ Windows Insider Program. (Make sure that you have administrator rights to your machine and that it has latest Windows updates.)
  • Click Get Started, enter your corporate credentials that you used to register, then follow the on-screen directions.

Windows Insider for Business participants partner with the Windows Development Team to discover and create features, infuse innovation, and plan for what’s around the bend. We’ve architected some great features together, received amazing feedback, and we’re not done!

In addition, the Windows Insider Program connects you to a global community of IT Pros in our new Microsoft Tech Community and helps provide you with the information and experience you need to grow not only your skills but your career as well. You’ll be hearing a LOT more from us in the coming months.

Windows Insider Program for Business Team

Keep the feedback coming!

Other changes, improvements, and fixes for PC

  • We fixed the issue causing your PC to fail to install new builds on reboot with the error 8024a112.
  • We have updated the share icon in File Explorer (in the Share tab) to match our new share iconography.
  • We fixed an issue where Cortana Reminders was displayed as a possible share target when Cortana wasn’t enabled.
  • We fixed an issue where Miracast sessions would disconnect a minute or so after the Connect UI was closed if the connection was a first time pairing.
  • We fixed a high-DPI issue when “System (Enhanced)” scaling is enabled so as to now correctly display certain applications that use display graphics accelerated contents.
  • Turning the night light schedule off in Settings now turns night light off immediately.

Known issues for PC

  • Narrator will not work on this build. If you require Narrator to work, you should move to the Slow ring until we get this bug fixed.
  • Some Insiders have reported seeing this error “Some updates were cancelled. We’ll keep trying in case new updates become available” in Windows Update. See this forum post for more details.
  • Some apps and games may crash due to a misconfiguration of advertising ID that happened in a prior build. Specifically, this issue affects new user accounts that were created on Build 15031. The misconfiguration can continue to persist after upgrading to later builds. The ACL on the registry key incorrectly denies access to the user and you can delete the following registry key to get out of this state: HKCU\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo.
  • There is a bug where if you need to restart your PC due to a pending update like with the latest Surface firmware updates, the restart reminder dialog doesn’t pop up. You should check Settings > Update & security > Windows Update to see if a restart is required.
  • Certain hardware configurations may cause the broadcast live review window in the Game bar to flash Green while you are Broadcasting. This does not affect the quality of your broadcast and is only visible to the Broadcaster. Make sure you have the latest graphics drivers.
  • Double-clicking on the Windows Defender icon in the notification area does not open Windows Defender. Right-clicking on the icon and choosing open will open Windows Defender.
  • Surface 3 devices fail to update to new builds if a SD memory card is inserted. The updated drivers for the Surface 3 that fix this issue have not yet been published to Windows Update.
  • Pressing F12 to open the Developer Tools in Microsoft Edge while F12 is open and focused may not return focus to the tab F12 is opened against, and vice-versa.
  • The Action Center may get into a state where dismissing one notification unexpectedly dismisses multiple. If this happens, please try rebooting your device.

Keep hustling team,
Dona <3

The post Announcing Windows 10 Insider Preview Build 16170 for PC appeared first on Windows Experience Blog.

Managing Windows IoT Core devices with Azure IoT Hub

$
0
0

Device management in Windows IoT Core

In Fall 2016, Microsoft announced Azure IoT Hub device management, providing the features and extensibility model, including an SDK for a wide range of platforms, to build robust device management solutions. With the recent release of the Windows 10 Creators Update, we are excited to announce the availability of the Windows IoT Azure DM Client Library. The open source library allows developers to easily add device management capabilities to their Azure connected Windows IoT Core device. Enterprise device management for Windows has been available for many years. The Windows IoT Azure DM Client Library makes these capabilities, such as device restart, certificate and application management, as well as many others, available via Azure IoT Hub device management.

A quick introduction

IoT devices, in comparison to desktops, laptops and phones, have in many cases a much more restricted connectivity, less local resources and in many cases no UI. Remote device management also requires devices to be provisioned for a DM service, adding another challenge to the device setup.

Azure IoT DM is designed for devices with resource and connectivity restrictions. Those devices will also use Azure IoT for their operation, so they need to be provisioned for Azure IoT. This makes Azure IoT DM a very attractive choice for remote device management for IoT devices.

Device management in Windows 10 is based on the Configuration Service Provider (CSP) model. A CSP is an interface in Windows that allows reading and modification of settings of a specific feature of the device. For example, a Wi-Fi profile can be configured with the Wi-Fi CSP, the Reboot CSP is used to configure reboot settings, and so on.

All the CSPs ultimately map into API calls, registry keys and changes in the file system. The CSPs raise the level of abstraction and offer a consistent interface that works on all editions of Windows – desktop, mobile and IoT. The Windows IoT Azure DM Client Library will use the same, proven infrastructure.

Windows IoT Core + Azure IoT Hub: Better together

Azure IoT Hub provides the features and an extensibility model that enable device and back-end developers to build robust device management solutions. Devices can report their state to the Azure IoT Hub and can receive desired state updates and management commands from the Azure IoT Hub.

Device management in Azure IoT is based on the concepts of the device twin and the direct methods. The device twins are JSON documents that store device state information (metadata, configurations and conditions). IoT Hub persists a device twin for each device that you connect to IoT Hub. The device twin contains the reported properties that reflect the current state of the device, and the desired properties that represent the expected configuration of the device. Direct methods allow the back-end to send a message to a connected device and receive a response.

The device twin and the direct methods can be used to support the business logic of your IoT solution as well as implementing the device management operations.

The Windows IoT Azure DM Client Library connects the CSP-based device management stack in Windows IoT Core with the cloud back-end based on Azure IoT Hub. The client runs on the device and translates the direct method calls and desired properties updates to the CSP calls. The client also queries the device state using the CSP calls and translates that into reported properties for the device twin in the Azure IoT Hub.

Before an IoT device can be managed through the Azure IoT Hub, it must be registered with a unique device identity and an authentication key. The authentication key needs to be securely stored on the device to prevent accidental or malicious duplication of the device identity. In Windows 10 IoT Core the key can be stored in the TPM. How this is done is described in the previous post Building Secure Apps for Windows IoT Core.

With the device provisioned with Azure IoT Hub credentials (connection information and authentication key), managing Windows 10 Core devices through Azure IoT Hub requires no additional enrollment or configuration.

In this post, we will focus mostly on the client aspects of the device management. Please refer to the general Azure IoT Hub device management documentation for a broader look at what the service provides. Below we explore how the Azure IoT Hub device twin and direct methods can be used to manage Windows IoT Core devices.

How to use the Windows IoT Azure DM Client Library

Devices connecting to Azure IoT Hub can only have one connection to the service. This means that all applications, including the DM library, must share an Azure IoT Hub connection. We will provide two sample implementations that you can use depending on if your device has other applications that will connect to the same IoT Hub, as the same device.

Standalone device management client

If your device only needs Azure IoT Hub for device management and no other application will connect to the same IoT Hub using the same Azure device ID, you can use the IoTDMBackground sample to add DM capabilities to your device.

The IoTDMBackground is a background app that can be deployed on your device. The IoTDMBackground app requires the device to be securely connected to Azure IoT. Once started, the IoTDMBackground will receive direct method calls and device twin updates from the Azure IoT Hub, and perform the device management operations.

Integrated device management client

There are scenarios where the capabilities of the standalone device management client are insufficient:

  1. Some device management, e.g. a device reboot or an application restart, might interrupt the normal operation of the device. In cases where this is not acceptable, the device should be able to declare itself busy and decline or postpone the operation.
  2. If your app is already connected to the Azure IoT Hub (for example, sending telemetry messages, receiving direct method calls and device twin updates), it cannot share its Azure identity with another app on the system, such as the IoTDMBackground.
  3. Some IoT devices expose basic device management capabilities to the user – such as the “check for updates” button or various configuration settings. Implementing this in your app is not an easy task even if you know which API or CSP you need to invoke.

The purpose of the integrated device management client is to address these scenarios. The integrated device management client is a .NET library that links to your IoT app. The library is called the IoTDMClientLib and is part of the IoTDM.sln solution. The library allows your app to declare its busy state, share device identity between itself and your app, and invoke some common device management operations.

To integrate the device management to your app, build the IoTDMClientLib project, which will produce the IoTDMClientLib.dll. You will reference it in your app.

The ToasterApp project in the IoTDM.sln solution is a sample application that uses the integrated client. You can study it and use it as an example, or if you prefer step-by-step instructions, follow the guidance below.

1. If your app is already connected to the Azure IoT Hub, you already have an instance of DeviceClient instantiated somewhere in your app. Normally it would look like this:


DeviceClient deviceClient =
   DeviceClient.CreateFromConnectionString(connectionString, TransportType.Mqtt);

2. Now use the DeviceClient object to instantiate the AzureIoTHubDeviceTwinProxy object for connecting your device management client to Azure IoT Hub:


IDeviceTwin deviceTwinProxy = new AzureIoTHubDeviceTwinProxy(deviceClient);

3. Your app needs to implement the IDeviceManagementRequestHandler interface which allows the device management client to query your app for busy state, app details and so on:


IDeviceManagementRequestHandler appRequestHandler = new MyAppRequestHandler(this);

You can look at ToasterDeviceManagementRequestHandler implementation for an example of how to implement the request handler interface.

Next, add the using Microsoft.Devices.Management statement at the top of your file, and the systemManagement capability to your application’s manifest (see ToasterApp\Package.appxmanifest file).

You are now ready to create the DeviceManagementClient object:


this.deviceManagementClient = await
    DeviceManagementClient.CreateAsync(deviceTwinProxy, appRequestHandler);

You can use this object to perform some common device management operations.

Finally, we will set up the callback that handles the desired properties updates (if your application already uses the device twin, it will already have this call):


await deviceClient.SetDesiredPropertyUpdateCallback(OnDesiredPropertyUpdate, null);

The callback will be invoked for all the desired properties – those specific to device management and those that are not. This is why we need to let the device management client filter out and handle properties that it is responsible for:


public Task OnDesiredPropertyUpdate(TwinCollection desiredProperties, 
        object userContext)
{
    // Let the device management client process properties 
    // specific to device management
    this.deviceManagementClient.ProcessDeviceManagementProperties(desiredProperties);

    // App developer can process all the top-level nodes here
    return Task.CompletedTask;
}

As an app developer, you’re still in control. You can see all the property updates received by the callback but delegate the handling of the device management-specific properties to the device management client, letting your app focus on its business logic.

To deploy and run your app, follow the instructions here.

The end-to-end solution

Obviously, the entire device management solution requires two parts – the client running on the device and the back-end component running in the cloud. Typically, your back-end component will consist of the Azure IoT Hub, which is the entry point into the cloud for your devices, coupled with other Azure services that support the logic of your application – data storage, data analytics, web services, etc.

Fortunately, you don’t need to build a full solution to try out your client. You can use the existing tools such as the DeviceExplorer to trigger direct method calls and device twin changes for your devices.

For example, to send the immediate reboot command to your IoT device, call microsoft.management.immediateReboot direct method on your device:

The device management client running on the IoT device will respond to the direct method and (unless it is in busy state) proceed with rebooting the device.

The Windows IoT Azure DM Client Library supports a variety of device management operations listed in the documentation on the GitHub site. In addition to the reboot management, application management, update, factory reset and more are supported. The list of capabilities will grow as the project evolves.

The Windows IoT Azure DM Client Library includes a sample called the DM Dashboard, which hides the implementation detail of the device management operations. Unlike the Device Explorer, you don’t need to consult the documentation and manually craft JSON to use it.

Here is how you can invoke the reboot operation using the DM Dashboard tool:

The DM Dashboard is a convenient tool for testing the client side of your device management solution, but since it operates on one device at a time, it is not suitable for managing multiple devices in a production environment.

Next steps

The Windows IoT Azure DM Client Library is still in beta phase and will continue to evolve. We’re very interested in your feedback, and we want to learn about your IoT needs. So, head over to our GitHub page, clone the repo and tell us what you think.

The post Managing Windows IoT Core devices with Azure IoT Hub appeared first on Building Apps for Windows.

ICYMI – Your weekly TL;DR

$
0
0

Big news this week with the release of the Windows 10 Creators Update!  Before you go heads-down, check out our round-up below!

Windows 10 Creators Update and Creators Update SDK are Released

Access was opened this week to download the Windows 10 Creators Update and the Creators Update SDK. Take advantage of the new platform capabilities.

Updating your tooling for Windows 10 Creators Update

Read about getting your system updated and configured so you can submit your apps to the Windows Store in the wake of the Windows 10 Creators Update, build 15063.

New Share Experience in Windows 10 Creators Update

We’ve made sharing in Windows 10 Creators Update better than ever before. In addition to refreshing the entire Share experience, we’ve added new features for developers. Check it out here.

Announcing UWP Community Toolkit 1.4

The fourth release of the UWP Community Toolkit came out this week and focuses on stabilizations and improvements on existing controls and services.

Monetizing your app: Use Interactive Advertising Bureau ad sizes

Looking for ways to better monetize your app’s ads? You can boost revenue using simple optimizations while building and managing your app. In the first of this blog series, we show you how to use IAB sizes to capitalize on monetization.

High-DPI Scaling Improvements for Desktop Applications in the Windows 10 Creators Update

As you may know, desktop applications can be blurry or incorrectly sized when running on high-DPI displays, especially when docking, unlocking or using remote technologies. Check out some of the improvements coming in the Windows 10 Creators Update to combat these problems.

Download Visual Studio to get started.

The Windows team would love to hear your feedback. Please keep the feedback coming using our Windows Developer UserVoice site. If you have a direct bug, please use the Windows Feedback tool built directly into Windows 10.

The post ICYMI – Your weekly TL;DR appeared first on Building Apps for Windows.

Learn how to “think like a Freak” with Freakonomics authors at Microsoft Data Insights Summit

$
0
0
With more than 5 million copies sold in 40 countries, Freakonomics is a worldwide phenomenon, and we’re thrilled to announce that authors Steven Levitt and Stephen Dubner will join us for a special guest keynote at Microsoft Data Insights Summit, taking place June 12–13, 2017 in Seattle. If you want to learn how to use data to drive better decisions in your business, you don’t want to miss this keynote — or the rest of the Microsoft Data Insights Summit. Register now to join us at the conference. Hope to see you there!

Get started tile now live on Azure Stack

$
0
0
We recently announced the release of Azure Stack Technical Preview 3 refresh with Azure PaaS Services. Coming as a part of this release is the Get Started tile that you have grown to love in public…

Availability of migration of ExpressRoute for Classic to Resource Manager IaaS Migration

$
0
0

Azure Resource Manager provides a lot of benefits with support for tagging, RBAC, and infrastructure orchestration using templates. As part of Azure Resource Manager, Virtual Machines gain these new capabilities plus additional compute specific capabilities such as:

  • Ability to resize to any VM size without having to delete and recreate the VM
  • Ability to migrate to managed disks which provide a simplified management experience while also providing higher availability by leveraging multiple storage controllers for availability sets with multiple instances
  • Support for 3 fault domains and 20 update domains

Learn more about Resource Manager and understand thedifferences between Classic and Resource Manager deployment models.

To allow our customers to benefit from these additional capabilities, we introduced a service that enables customers to bring their classic VMs over into the Resource Manager world without downtime!

Today, we are pleased to announce that customers using ExpressRoute can also migrate their Virtual Networks, including all the VMs in the VNET, to Azure Resource Manager without downtime. Learn more by reading the instructions on how to Migrate ExpressRoute circuits and associated virtual networks from the classic to the Resource Manager deployment model.

There are some edge cases for ExpressRoute migration you should be aware of. Please review the unsupported features and configurations to make sure your environment is supported.

As part of this release, we’re also announcing a revamped documentation set for migration. Based on customer recommendations and migrations, we’ve added additional planning docs and answers for the most frequently asked questions. Existing documents have also been restructured to be easier to understand as part of this effort.

For a great video overview of the migration process please check out Corey Sanders in the below Microsoft Mechanics episode, Azure Classic to Azure Resource Manager Migration.


Infuse some AI into your Azure apps at hands-on Seattle workshop

$
0
0

If you’re an Azure developer interested to incorporate the very latest AI and machine learning techniques into your apps and enterprise solutions, here’s a free in-person workshop you’ll want to register for.

Microsoft is running an all-day AI Immersion Workshop on Tuesday, May 9th, at the W Hotel in Seattle. We’ll provide an overview of Microsoft’s extensive AI investments and offerings at this event, followed by deep technical tutorials, specifically designed for hands-on developers such as yourself. The tutorials being featured at this event include:

  • Applied Machine Learning for Developers.
  • Big AI – Applying Artificial Intelligence at Scale.
  • Weaving Cognitive and Azure Services to Provide Next-Generation Intelligence.
  • Deep Learning and the Microsoft Cognitive Toolkit.
  • Building Intelligent SaaS Applications.

Seasoned Microsoft engineers and data scientists are running the tutorials, and they will there to guide and help you along the way, as you complete your apps through the day.

Spots are filling up rapidly, so be sure to register now and reserve your spot:

Register

For more details, including session abstracts and instructor names, be sure to check out our event agenda page here. See you in Seattle next month!

AllImmersion

Use Azure Media Services with PowerApps

$
0
0

You can now build PowerApps with media hosted on Azure Media Services. In this walkthrough, Contoso Corp. wants to build an online learning app for its employees with videos of their products and services.

  • Create a new Azure Media Services account, if you don’t have one already

createAMS1

  • From your Azure Media Services account, locate and publish your video assets from Settings >Assets.

createAMS2

  • Encode your videos. After the videos are published, copy the manifest URLs. Start the streaming endpoint of your service, if not already.

createAMS3

ams1

  • We want to build a gallery of all the available AMS videos and have the user pick a video to play. An Excel spreadsheet is a quick way to load the data to the app. Here is the Excel Table we will use with the links to the AMS video URLs:

createAMS5

  • From PowerApps, choose Content > Data sources. From the right panel, choose Add data source and Add static data to your app. Browse and load the Excel file.
  • From PowerApps, add a Horizontal Gallery control from Insert > Gallery > Custom gallery. Choose Add an item from Insert tab and add the Video control from Media.
  • Bind the Gallery to the Excel table by setting the Items property of the gallery to the name of the table.

ams_e1

  • Set the Media property of the first video control in the gallery to ThisItem.VideoURL. You should see the list of the AMS videos load in the gallery. Set the Disabled property for the video control to true.

ams_e2

  • Add a Video control from Insert>Media for the main video. Bind its Media property to Gallery1.Selected.VideoURL

ams2

  • You can also add text fields for the Title and description from the Excel file and show them in the app. The complete app is shown in the picture below:

createAMS4

You can learn more about building apps from the PowerApps documentation. For feedback and questions on AMS videos in PowerApps, please post them on our forums.

 

Happy app building!

Considerations on using Deployment Slots in your DevOps Pipeline

$
0
0

The goal of DevOps is to continuously deliver value.  Using deployment slots can allow you to do this with zero downtime. In the Azure Portal, in the Azure App Service resource blade for your Web App, you can add a deployment slot by navigating to “Deployment slots,” adding a slot, and giving the slot a name. The deployment slot has its own hostname and is a live app.

2017-04-10_8-02-58

Deployment slots are extremely powerful, but care must be taken when you start to integrate them into your DevOps Pipeline.  The goal of this post is to focus on best practices and anti-patterns.

Often when I see people using deployment slots in their pipelines, they attempt to swap across environments. This can lead to undesirable results.  One example I witnessed had two deployment slots: Dev and QA.

2017-04-03_9-35-36

The thinking was they would copy the files to Dev, then swap to QA, and finally swap into Production.  On paper, this seems logical. However, rarely are you only dealing with the web application.  You also must deploy the database and other dependencies. In the Dev and QA environments, you will also want to run tests such as load and performance tests.

First, we will address testing. Each slot of the web application shares the same resources. Therefore, if you were to run load tests against the QA slot, it would impact the performance of the Production slot as well. Therefore, if you intend to run load tests you need two separate web applications with matching App Service Plans. Matching the level of the App Service Plan is important so that you will be using comparable sized resources.

Second, I want to address restarting an environment deployment. Like many deployment products, Visual Studio Team Services allows you to restart a failed deployment. If you swap deployment slots and deploy a database in your production environment, you may have to restart the deployment if the database fails.  When you restart your deployment, you would swap the slots again. This would swap the desired code back out of Production when you restart the deployment.

Rolling back with slots

Many users of slots get excited when they realize they can swap in both directions to “roll back” a change.  Although this is true, you need to consider that rarely are you only dealing with the web application. In the cases where you also deployed a database, simply swapping the slots back might leave you in a worse place. You must remember that you are only swapping the web application and not all its dependencies.  You must only make changes to your database that do not break the current version of the application. So, to be able to roll back the web application, you must engineer your database deployments to always be at least one version backwards compatible. This will allow you to swap your slots and allow your previous version to function as expected. You may also have to support multiple API versions for web services as well.

Never do anything for the first time in Production

When I use deployment slots, I do so in every environment. If we return to the Dev, QA, and Production example, I would create three different web applications, each with a Stage and Production slot.  Notice in the images below that everything I intend to do in production is also done in Dev and QA.

2017-04-07_10-20-022017-04-07_10-20-292017-04-07_10-22-32

The reason I do this is so each environment is the same. This allows me to verify all my deployment tasks in Dev and QA before I attempt to deploy to Production. If anything is going to fail, it should fail in Dev and/or QA where I can resolve without impacting Production. If you do something for the first time in your Production deployment, the only time you will know if it will work or not is in Production.

For more information on deployment slots see the Azure Documentation.

New educator-focused features in Microsoft Forms

$
0
0

When teachers talk, we listen. Now that Microsoft Forms is generally available, we have been responding to millions of requests for new features—especially from educators who rely on Forms in their classrooms. Today, we’re introducing three new features to make Forms even more collaborative and customized for educators and students.

Embed forms in OneNote

Integrating Forms and OneNote is one of the top asks from educators who use the OneNote Class Notebook and want to seamlessly integrate formative assessments. Now, you can embed a form into OneNote Online in just a couple of steps. Under the OneNote Insert menu, click Forms, and then in the Forms for OneNote pane, select a form.

Select a form to embed in OneNote.

Once you select the form, you can embed it into OneNote. To learn more, see Insert a form into OneNote Online.

Embed the form into OneNote.

Once the form is embedded, students can answer the form and see their results, all in OneNote.

Form in OneNote for student to complete and receive feedback, in one place.

Customizing forms with images and backgrounds

Now, you can customize the background of your form by inserting an image from Bing and OneDrive, or uploading an image from your local computer.

Insert a customized background image.

Forms automatically adjusts the theme color to match the background image. To learn more, see Change a form theme.

Form theme color automatically matches the background image.

Accessing forms—the Other forms portal

The Other forms portal allows form designers to access all the forms they’ve opened via the Share to collaborate link. In other words, you can get back to “other people’s forms” without having to find the original email, IM conversation or other places where you originally opened the form.

Other forms portal page.

Forms shared by others.

Create a form or quiz

Educators can create a form or quiz, define settings, share the form and then check the results. Just follow these simple steps:

  1. Sign in and create a new survey form or quiz form.
  2. Adjust the settings for the form.
  3. Share the form with others.
  4. Check the form results.

Learn more about using Forms

To learn more, see Copy a form, Delete a form, Share a form or quiz as a template and Share a form to collaborate. Also, visit What is Microsoft Forms? and our FAQs page for more information. Finally, read “Individualizing instruction with the new Microsoft Forms” by Laura Stanner, Microsoft Innovative Educator (MIE) Expert, for an in-depth look at Forms.

You can send us feedback at our Microsoft Forms UserVoice, where you can vote on other users’ product suggestions to help influence the product.

The post New educator-focused features in Microsoft Forms appeared first on Office Blogs.

End of support for DirSync and Azure AD Sync is rapidly approaching. Time to upgrade to AAD Connect!

$
0
0

Howdy folks,

On April 13 of last year, we announced the deprecation of “Windows Azure Active Directory Sync (DirSync)” and “Azure Active Directory Sync (Azure AD Sync)” and that it was time to start planning to upgrade to Azure AD Connect. We also announced at the time that DirSync & Azure AD Sync will reach end of Support on April 13, 2017. Since then, 35,000 customers have successfully upgraded from these deprecated tools to Azure AD Connect that’s what we like to see!

Today, we are confirming that DirSync and Azure AD Sync will reach end of Support as planned on April 13, 2017.

I would highly recommend that if you haven’t upgraded to Azure AD Connect, you should do so VERY soon to avoid service disruptions. Azure AD will stop accepting connections from DirSync and Azure AD Sync after December 31, 2017.

For more information about the DirSync and AAD Sync upgrade, please see the DirSync and Azure AD Sync deprecation documentation.

If you have any questions or feedback about this change, we’re all ears. Please leave us a comment below or reach on Twitter using the #AzureAD hashtag.

Best regards,

Alex Simons (Twitter: @Alex_A_Simons)

Director of Program Management

Microsoft Identity Division

Viewing all 13502 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>