Wednesday, March 26, 2014

New Office 365 API Tools for Visual Studio 2013/2013 - Video Overview | EPC Group Team of Hybrid SharePoint and Office 365 Experts

Office 365 APIs enable developers to integrate Office resources (such as calendars, contacts, mail, files, and profile information) directly into their custom applications. For example, with Office 365 APIs, a native WinRT application could add calendar appointments directly into a user's Exchange calendar or send mail on behalf of the user. Similarly, a web application with export functionality could now offer a "Save to OneDrive" option, saving a user's files directly to their SharePoint "My Documents" folder.

Original Press Release from Microsoft on March 12th, 2014 below:

Announcing Office 365 API Tools for Visual Studio — Preview


Office 365 APIs enable developers to integrate Office resources (such as calendars, contacts, mail, files, and profile information) directly into their custom applications. For example, with Office 365 APIs, a native WinRT application could add calendar appointments directly into a user's Exchange calendar or send mail on behalf of the user. Similarly, a web application with export functionality could now offer a "Save to OneDrive" option, saving a user's files directly to their SharePoint "My Documents" folder.

We are excited about the new scenarios that Office 365 APIs will enable, and are committed to making it easy for every developer to try out these new platform capabilities. With today’s release of our "Office 365 API Tools - Preview" for Visual Studio 2013, adding and using Office 365 APIs is literally a few clicks away. Our tool will:
  1. Register and configure your app to consume Office 365 Services.
  2. Add helper classes for authentication, caching, and error-handling.
  3. Add the necessary libraries (Active Directory Authentication Library and Json.NET) from NuGet, to ensure that the helper classes and sample code work right away.
  4. Add sample code that uses Office 365 APIs and demonstrates common patterns and best-practices.
Best of all, our tool:
  • Is available for both MVC Web Applications and Windows 8.1 apps. In fact, with the help of our helper classes, the code you'll write for MVC apps can be almost identical to what you'd write in a Windows 8.1 app, and vice-versa.
  • Is available for both C# and VB.NET projects.
  • Is explicitly designed for adding Office 365 APIs to existing applications, and for adding and configure new services at any time: not just on initial project creation. This means you can try out the new Office 365 APIs on real-world scenarios without needing to start a new project. Better yet, you can start small and then iteratively expand on the Office 365 services that you use.

Getting Started

You can get started by downloading our tool from the Visual Studio Gallery. Close Visual Studio 2013, then choose the .VSIX file and begin setup. A few moments later, the extension will be installed. Now, just open Visual Studio, and follow along in the walkthrough below.

Adding Office 365 Services to your project
Once you download and install our tool, open (or create) a project that you want to add Office 365 APIs to. The project must be either an MVC web application or a Windows 8.1 app, targeting .NET Framework 4.5 or 4.5.1. We support both C# and VB.NET projects.

In the Solution Explorer, choose the project and then choose Add > Connected Service (Figure 1).

Figure 1. Add Connected Service

A Services Manager dialog box will appear (Figure 2). Depending on your project, you may see a number of tabs on the left pane. Choose Office 365 > Sign in.

Figure 2. Services Manager

On the sign-in dialog box, enter the username and password for your Office 365 tenant (Figure 3). We recommend that you use your Office 365 Developer Site. Often, this user name will follow the pattern
If you do not have a developer site, you can get a free Developer Site as part of your MSDN Benefits, or sign up for a free trial. Be aware that the user must be an admin user—but for tenants created as part of an Office 365 Developer Site, this is likely to be the case already.

Figure 3. Sign-in dialog box

After you're signed in, you will see a list of three services: Active Directory Graph, Exchange, and SharePoint. Initially, the Permissions column to the right of each service will be empty—after all, you have not registered your app to consume any services yet. Choose one of the services (for example, Exchange) from the list and choose OK (Figure 4).

Figure 4. Adding an Office 365 Service

Choosing OK will:
  • Register the app with Windows Azure Active Directory, which serves as the authentication authority for Office 365 APIs.
  • Add the common Office 365 helper classes and the accompanying NuGet libraries.
  • Add sample code for the selected service (in the example above, for Exchange).
Because no permissions are configured, the tool will also prompt a dialog box to configure permissions (Figure 5). Note that you can return to this same dialog even after the application has been registered, re-opening the Services Manager dialog box and using the Configure… link to the right of the services grid to modify permissions.

Figure 5. Permissions dialog box. Note that the Make this app available to option is only available for Web applications, not for Windows 8.1 apps.

The permissions dialog box is different for each of the services. It is also subtly different for web applications versus native Windows 8.1 apps: The Make this app available to … my tenant only option is only available for Web apps. Native client apps (such as Windows 8.1 apps) don't need this distinction, and can be used on any tenant where the user has granted consent to the app.

Choose one or more permissions to proceed with adding the service. For purposes of running the sample code, choose a Read (or higher) permission for each of the services. Be aware that you can choose multiple permissions at the same time: for example, if I want to both read users' mail and send mail on behalf of users, I will need to select both permissions (Figure 6). For other permissions, something like Have full access to the users' calendars already encapsulates the Read users' calendars permission—but when in doubt, choose both permissions.

Figure 6. Selecting multiple permissions within the same category, such as read users' mail, and send mail as a user.

After you select the permissions and choose "OK", give our tool a few moments to register your app and add the necessary files and NuGet packages. Now it's time to explore the new files that were added or modified.

Exploring the project structure

Once the Service Manager is done adding files, let's look at the Solution Explorer to see which files got added or modified.

While the project structure between MVC Web Applications and Window 8.1 apps is quite different (see Figures 7 and 8), the pattern of which files get added or modified stays the same. Our tool:
  • Adds NuGet packages for Active Directory Authentication Library and Json.NET.
  • Adds a set of common helper files (that is, files whose names start with "Office365*", such as "Office365ServiceInfo") that are common across different services. These files get added regardless of whether you chose Exchange, SharePoint, or Active Directory, since they are used for all three cases. We expect that you will keep these files in your project, as they will be valuable for your own apps.
  • Adds a set of service-specific sample files (for example, ExchangeSampleController and its accompanying view folder for an MVC web application, or ExchangeSamplePage.xaml and its accompanying code-behind for a Windows 8.1 app). These files are intended to show how each individual service is used, and to provide a compelling experience when you first try to run the service. Once you have ran the sample and copied any relevant functionality into your own code, you can delete these files.
  • Modifies Web.config or App.xaml to include the Client ID (and, in the case of web apps the Password) for the app. These values are obtained from the Windows Azure Active Directory, which serves as the authentication authority for Office 365 APIs. Those credentials act as a "link" between the entry in Active Directory and your project within Visual Studio. The Client ID is used both at runtime (for authentication), and by our tool itself (that way, when you return to the Service Manager, we know whether we've already registered your app, and can add or modify services and permissions)

Figure 7. Files added to an MVC Web Application

Figure 8. Files added to a Windows 8.1 App

Note: For Windows 8.1 apps, the sample code relies on a set of Windows 8.1 common classes (NavigationHelper, ObservableDictionary, and so on) that are included automatically for non-blank Windows 8.1 apps. The files are found inside of a Common folder at the root of the project. If your project does not contain these files, simply choose Add > New Item > Basic Page (or any other non-Blank page), and add the page to your app. Choose Yes when prompted to add the missing files—this will ensure that the Common folder is added. After that, you can either delete the new page, or keep it for your own use.

Running the sample code

For the Web Application project, choose Debug (or press F5) to run the app. Depending on your web project settings and what file you have open in Visual Studio (our tool automatically opens the controller and the view for the newly-added Office 365 service), your browser may open to the right view by itself. If not, and if it goes to something like "http://localhost:10247/", just append "/Sample/" to the URL: for example, "http://localhost:10247/ExchangeSample/".

Exchange offers several different samples, so going to the Exchange view will give you three buttons to choose from (Figure 9). For this example, I will choose Contacts. In the case of SharePoint and Active Directory, you would be taken directly to the sample.

When the app is first run (and on any subsequent closing and re-opening of the browser), the app will have no access tokens or refresh tokens that are necessary for communicating with Office 365 APIs. As such, you will be directed to a login screen (Figure 10). You can enter the same credentials as you used for registering the app—or you can log in as a different user (or even as a different user on a different tenant, if you had enabled the Make this app available to… all tenants in the permissions dialog box (Figure 5)). For tenants other than the ones used to register the app, you will also see a consent dialog box after the login screen.

Figure 10. An automatic redirect to log in at

After authentication is complete, the browser will redirect you back to your app. You may briefly see something like "http://localhost:10247/Office365Common" in the address bar, along with some long query parameters. The common controller will handle authentication, will cache the access token and refresh token, and then redirect you back to the page where you came from (for example, "http://localhost:10247/ExchangeSample/Contacts"). Now that that page has an access token, it will be able to process the request. For example, you might see something like this (Figure 11).

Figure 11. Running the Exchange Contacts sample in a Web application

Within a given session, access tokens and refresh tokens are cached—so you will not need to log in again, even when switching among service, until you close and re-open the browser (or until the session expires due to inactivity). To cache the access tokens and refresh tokens beyond the confines of a session, you can persist them more permanently in a database—see the comments in the Office365CommonController class.

Windows 8.1 apps:
For Windows 8.1 apps, there is no address bar where you can navigate straight to a particular page. Instead, you will need to add code for an action to take you to the new sample page. For example, you might add a button to your main page.


Figure 13. Windows 8.1 login dialog box

Figure 14. Windows 8.1 consent dialog box

Once your app is authenticated and consented, you will see the example functionality (Figure 15).

Figure 15. Running the Exchange Contacts sample in a Windows 8.1 app

What's Next?

This post showed how to obtain the Office 365 API Tools, register an app for Office 365 APIs, and run the sample code. However, this was just the initial setup: the interesting part is once you start authoring your own code to use Office 365 APIs within your Web applications or Windows 8.1 apps.
Stay tuned for a follow-up post where we will explore the sample code that the tool generates, and use that as a building block for writing custom code (for example, to send mail on behalf of a user). For now, take a look at ExchangeSampleController/ExchangeSamplePage (and the analogous Active Directory and SharePoint files) to start looking at the code—and of course, the Office 365 APIs documentation. If you have any questions or feedback, please leave a comment below.

~ This post was brought to you by Michael Zlatkovsky, a Program Manager on the Office Developer Tools team at Microsoft.

Tutorial, Using REST Web Services via Project Siena

Setting up monitoring for Java applications with Application Insights in Visual Studio Online

Getting started with Log Search in Application Insights in Visual Studio Online

Wednesday, March 19, 2014

SQL Server 2014 released to manufacturers, will be generally available April 1, 2014 | EPC Group Team of Experts

SQL Server 2014 released to manufacturers, will be generally available April 1, 2014

The following post is from Quentin Clark, Corporate Vice President, Data Platform Group.

Today I am very happy to announce SQL Server 2014 has been released to manufacturing and will begenerally available on April 1
SQL Server 2014 is the culmination of thousands of hours of hard work from Microsoft engineers and thousands of hours of testing and input from our preview customers. The result is an important component of Microsoft’s overall cloud-first data platform. The platform delivers breakthrough performance, accelerated insights through tools everyone uses and the ability to scale globally on-premises and in the cloud – letting our customers get the most from their data. 
This release of SQL Server is significant in that, in addition to delivering key hybrid scenarios, it rounds out our journey to embrace in-memory technology. Several years back, we began exploring the changing hardware landscape – memory being one of the key areas of focus. Today, our in-memory technology spans the core workloads in the data platform: business intelligence as part of Analysis Services, Excel and Power BI for Office 365; complex event processing with StreamInsight; in-memory columnstore in SQL Server and our data warehousing product; and now with SQL Server 2014 – in-memory transaction processing. 

The completeness of Microsoft’s data platform and the strength of its mission-critical capabilities are the reasons our customers increasingly build on and deploy SQL Server. It has garnered market share andindustry recognition because it meets the increasingly demanding needs of business customers of all sizes. SQL Server is the most widely-deployed database in the world and continues to gain revenue share at the expense of our competitors. Our data platform has surpassed our competitors in key technology areas like cloud, in-memory and business intelligence. With SQL Server 2014, we’ll continue to build on that momentum with an enterprise-ready, mission-critical database.

Built-in in-memory technology for faster application performance
What I am most proud of is that the technology innovations we’re delivering today in SQL Server 2014 help customers create new business value and open up new possibilities and opportunities with dataIn-memory transaction processing (In-Memory OLTP), speeds up an already very fast experience by delivering speed improvement of up to 30x.

For a company like bwin, the largest regulated online gaming company, faster processing means not only can they serve more customers by scaling their applications to 250,000 requests a second, but it means the experience their customers have with their application is better, faster and smoother. It is exciting to see what customers can do when raw performance and throughput of a database changes this dramatically.

Important to our in-memory work is our approach to build SQL Server’s In-Memory OLTP right into the box. This means our customers don’t need expensive additional software to take advantage of the technology. More importantly, it means customers do not have to rewrite their application or deploy new servers. We approached in-memory columnstore the same way – it is built into SQL Server and our data warehouse product Parallel Data Warehouse. Our customers have appreciated this approach, and it sets us apart from our competitors.

Hybrid cloud capabilities offer greater flexibility
The other key area of investment for SQL Server 2014 has been hybrid features that span the cloud and on-premises, giving customers a choice in how they deploy database solutions. Customers can easily and securely backup and recover on-premises SQL Server databases using Windows Azure. SQL Server 2014’s AlwaysOn technology was not just improved for this release, it was built to enroll Windows Azure virtual machines running SQL Server into a customers’ disaster recovery solution. This turnkey solution builds on SQL Server 2014 availability in Windows Azure virtual machines – one can get SQL Server with its in-memory and mission-critical features up and running in an Azure VM in literally a few minutes. SQL Server 2014 will be available in a Windows Azure virtual machine image as part of general availability on April 1.
Windows Azure and SQL Server provide a continuum of capability and flexibility in deployment options for our customers – on-premises and in the cloud. Windows Azure also supports an important data workload – Windows Azure HDInsight, our Apache Hadoop-based solution in the cloud.

 Today, we’re announcing the general availability of Hadoop 2.2 support in Windows Azure HDInsight, which has been updated to take full advantage of the latest Hadoop 2.2 platform, including support for YARN and Stinger Phase 2.

There has never been a more exciting time in the database and broader data platform industry. In an era where nearly everything will become digitized, today we’re delivering the data platform that will help our customers digitize their business. Customers can download SQL Server 2014 on April 1 or register today to be notified once the release is available. Customers can also learn more about the release and our data platform strategy at our “Accelerate your Insights” event on April 15, where I will be joined by Microsoft CEO Satya Nadella and COO Kevin Turner. In addition, some of our customers deriving value from our data platform today will also be in attendance. I encourage you save the date and tune in for the event.

Link to Post:

Tuesday, March 18, 2014

Microsoft makes OneNote free, and releases it for the Mac | EPC Group Team of Experts

Microsoft has released OneNote for Mac and announced that all versions of its note-taking and sharing 
software are now free.OneNote now also includes a cloud API, so any developer can integrate 
the program into their app or service.

"When we started OneNote we set out to revolutionise the way people capture, annotate, and recall all the 
ideas, thoughts, snippets and plans in their life," David Rasmussen, partner group program manager, wrote 
in a blog post. "OneNote is the ultimate extension for your brain, but it's not complete if it's not instantly 
available everywhere."

OneNote Related Videos on this latest news from Microsoft

Saturday, March 15, 2014

Ask the Experts - Building & Managing Applications using Windows Azure Mobile Services | EPC Group Video Blog

 Ask the Experts - Building & Managing Applications using Windows Azure Mobile Services

Mobile App Helps Customers Visualize Furniture in Home, Boosts Sales

From the Sea to the Cloud - Building a Global Marine Firm with Office 365 | EPC Group Video Blog

RAB Racing Speeds Past the Competition with Custom Windows 8 Application...

Friday, March 14, 2014

"Part 2, Multi-Factor Authentication for Office 365" - Video Presentation on Vimeo | EPC Group Team of Experts Video Blog

"Part 2, Multi-Factor Authentication for Office 365" - Video Presentation on Vimeo

 Part 2, Multi-Factor Authentication for Office 365

"Part 1, Multi-Factor Authentication for Office 365" - Video Presentation on Vimeo | EPC Group Team of Experts Video Blog

"Part 1, Multi-Factor Authentication for Office 365" - Video Presentation on Vimeo

 Part 1, Multi-Factor Authentication for Office 365

Installing WDS, Windows Deployment Services, on Windows Server 2012 R2 | EPC Group Team of Experts Video Blog

City of Barcelona Deploys Big Data BI Solution to Improve Lives and Create a Smart City Template | EPC Group Team of Experts Video Blog

Wednesday, March 12, 2014

Think Deleted Text Messages Are Gone Forever? Think Again | EPC Group Team of Experts

Think Deleted Text Messages Are Gone Forever? Think Again  |  From CIO.COM

A former federal prosecutor and cybercrime expert tells how IT departments can retrieve text messages that the user thought were deleted months or even years ago. As more litigation and investigations turn on the content of texts, every CIO needs to know how to find the smoking gun.

Tue, March 11, 2014
CIO — Last month, National Football League special investigator Ted Wells delivered a shocking report about Miami Dolphins player Richie Incognito's bullying tactics aimed at teammate Jonathan Martin. At the heart of the report: More than 1,000 text messages, many of them outrageously explicit, that Incognito and Martin swapped between October 2012 and November 2013.
Deleted Text Messages
Wells most likely had access to both Martin's and Incognito's phones and possibly even backup laptops, which would hugely aid in the recovery of text messages. Yet some of these messages were no doubt deleted. How was Wells' investigative team able to access year-old deleted text messages?
For most CIOs, text messages on an employee's "bring your own device" phone are a blind spot. That is, text messages don't go through the corporate network and thus are unmonitored and presumed unrecoverable when deleted. Even phone companies supposedly don't store content of text messages.
"We just had a case last week where we were able to harvest and recover 8,000 text messages. They covered between 12 and 15 months of activity."
--Paul Luehr, managing director at Stroz Friedberg
It is true that most IT departments lack the know-how to recover old or deleted text messages even if they're in possession of the devices, but that's not the case with mobile forensics experts armed with an array of new tools. They can pull thousands of deleted text messages from the distant past and unearth evidence that self-destructing message apps, such as Snapchat, leave behind.
Perhaps because of a false belief that deleted text messages stay buried, many people rely on text messaging to carry out their dirty work, such as stealing trade secrets and other intellectual property, violating non-compete agreements and committing fraud. Even Foreign Corrupt Practices Act investigations involving bribery and price-fixing regularly run into text messaging.
"Text messages are now involved in most litigation or investigations we encounter," says Paul Luehr, formerly a federal prosecutor and supervisor of the Internet fraud program at the Federal Trade Commission and current managing director at Stroz Friedberg, a global data risk management company with a cyber-crime lab. talked with Luehr, in hopes of shedding a little light on the secret world of deleted text messages and the forensics experts that recover them. Can IT retrieve deleted text messages from any phone?
Luehr: It really depends on the make and model of the phone, in terms of how difficult it's going to be. Text messages are usually outside the normal monitoring of the IT department. They may not be going through the system at all, rather through the carrier in a phone-to-phone transaction. You really need to have access to one or more physical devices.
Continue Reading (On

PowerShell with SharePoint 2013 and Office 365 - EPC Group

Windows Azure Pack Enabling Virtual Machines - IaaS & Virtual Machine Role - EPC Group

System Center 2012 SP1 - Overview - EPC Group

Understanding Windows Azure’s Active Directory (AD) and PowerShell Tools

Windows Server 2012 Deep-Dive - EPC Group

Hyper-V’s Virtualization Enhancements - EPC Group

High Level Overview of Windows Azure - EPC Group

SharePoint 2013 and Office 365 External Sharing - EPC Group

Sunday, March 9, 2014

Getting Started with SharePoint and Azure | EPC Group Team of Experts Video Blog

Getting Started with Azure Storage | EPC Group Team of Experts Video Blog

Automatically collect Windows Azure Storage Analytic Logs | EPC Group Team of Experts Video Blog

A look inside Microsoft Studio at SXSW 2014 | EPC Group Team of Experts Video Blog

Wednesday, March 5, 2014

App Scenarios for Office 2013 and SharePoint 2013 | EPC Group Team of Experts Video Blog

SharePoint 2013 Strategy for SharePoint Client Object Model CSOM and REST

Claims-based Authentication in SharePoint 2013 | EPC Group Team of Experts Video Blog

Design Patterns for Apps for SharePoint 2013 | EPC Group Team of Experts Video Blog

Overview of SharePoint 2013 Social Features | EPC Group Team of Experts Video Blog

Why Apps for SharePoint 2013? | EPC Group Team of Experts Video Blog

Tuesday, March 4, 2014

EPC Group's Day 2 at the Microsoft SharePoint Conference 2014 - #SPC14 | Have You Said Hello Yet to a member of the EPC Group's Team of Experts

EPC Group Day 2 - The Microsoft SharePoint Conference 2014 (#SPC14)
Have You Said Hello Yet to a member of the EPC Group's Team of Experts?

Did you know that EPC Group has attended \ sponsored every Microsoft SharePoint Conference since 2006. EPC Group has been at each and every conference from Bellevue, Washington to Las Vegas, to Anaheim,CA, and back to Vegas, it is great to be a part of this yet again in 2014.