Thursday, November 30, 2017

Latest AWS IoT Services to Address Device Management and Security

New AWS IoT services aim to help enterprises expand and manage their IoT products for customers using the flexibility of the cloud.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

Changes in the Windows Insider Program with Redstone 4

There are changes to a program that formerly offered equal access for all members -- and Microsoft's saying it'll make for a better operating system later.
by Richard Hay via IT Pro - Microsoft Windows Information, Solutions, Tools

Amazon Brings Alexa Voice-Command Technology to the Workplace

Alexa for Business will let users issue voice commands to begin a video conference or print documents, among a multitude of common workplace functions.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Product Review: CloudBerry Ultimate Backup

CloudBerry Backup offers a number of important features that make it an effective cloud backup program.
by Michael Otey via IT Pro - Microsoft Windows Information, Solutions, Tools

Enable the Password Reset Option in Exchange Server 2016

The easiest option for changing the user password for a Microsoft Exchange mailbox is also the one disabled by default. Here's how to enable that easy-reset option.
by Karim Buzdar via IT Pro - Microsoft Windows Information, Solutions, Tools

Using Security & Compliance Labels for Content Rollup in “Modern” SharePoint

It’s almost the normal course of events that we SharePointilists have to bend SharePoint’s capabilities to our whim to accomplish business requirements. This post is about one of these sort of bastardizations of the platform which allow us to get something important done. I’m writing it up because it’s what I do, but also to get some SharePoint Product Group eyeballs on it to make sure it’ll stand the test of time.

When I first saw how Security & Compliance labels worked, this is exactly the sort of thing I thought it might enable well, but I’ve not seen anyone try something like this. That is, I sort of ignored the words “security” and “compliance” and saw a overarching way to label content for knowledge management in Office 365.

Here’s the basic scenario:

  1. We have a set of “modern” sites – let’s call them Group A, Group B, etc. – which are effectively subsites to a Communications site – let’s call it the Department Site.
  2. We want to be able to roll up content from the Group sites where a certain piece of metadata has been applied to mark the document as Important.
  3. We don’t know how many Document Libraries or Content Types might exist in the Group sites, since people are likely to use the sites to get work done, adding content repos as they need them over time.
  4. We’d like to stick to “out-of-the-box”. It’s tempting to want to go and write some code in a custom SharePoint Framework Web Part, but that doesn’t necessarily cover some of the other requirements here.

Ideally, we’d have a great Information Architecture in place using the Content Type Hub, but usually we don’t have the luxury for that across a large organization – the discussions run on far longer than the requirement dictates we act. Plus, number 3 above. Plus, the Content Type Hub is way long in the tooth and really isn’t an effective tool in the “modern” era. Reasons for this include:

  • Management of Content Types is rudimentary, at best
  • The new flat site topology (subsites are now considered the “spawn of the devil” – to me this is throwing babies out with bath water) means that it’s MUCH harder to share Content Types across “modern” “sites” (which are now Site Collections)
  • Content Types have to be published to all Site Collections, which means that a large organization is likely to create an incredibly large set of Content Types – i.e., a real IA mess

Given the scenario and the new capabilities in the Security & Compiance center with labels, it seemed to make sense to try:

  • Creating an Important label. This label will effectively be used only as a tagging mechanism.
  • Publish the label only to the “modern” “sites” which actually need item. The requirements for one Department may well be different than those for other departments in a large organization. Of course, we can also choose the publish to all site. Even better, the label can be published for use in Exchange, SharePoint, OneDrive, and Groups! In other words, it transcends the normal bounds of SharePoint.
  • Any document in any of the target sites can have the label applied once the label is published. (This is supposed to take up to 24 hours, but in my testing, it was less than one hour.)
  • Use the Highlighted Content Web Part (HCWP) in the “modern” Department Site to display content which has the Important label applied.

The hard part was figuring out the mechanics of all of this. We don’t want to just start plopping labels into Security & Compliance willy-nilly, for – as noted above – their reach and scope can be quite wide.

The other thing that wasn’t at all apparent was whether the label data was available as a managed property for filtering in the HCWP. There were some complications here:

  • What managed property might contain the data? Was there actually a managed property to serve this purpose?
  • Would the managed property be available for filtering in the HCWP? The documentation for the HCWP says that only managed properties which are searchable would be available.

Well, it turns out there is a managed property: it’s called ComplianceTag and it’s mapped to the crawled property ows_ComplianceTag. I’ll admit I didn’t figure this out – someone at my client clued me in. The only references for this that I’ve found are developer references, so it wouldn’t be at all obvious to a normal person setting up filtering in a HCWP.

Based on the settings we see above, it’s not “searchable”, but read on…

Create the Label

You have to have access to the Security & Compliance center for this, which is in the Admin center. This access is often limited to IT, so yes, you’ll have to have one of those conversations. Once you are there, click on Classifications, then Labels, then Create a Label.

You’ll give you label a name and probably two descriptions: one for admins and one for users. It makes sense that they might not be the same.

Next, we can decide if we want to specify any retention policies for this label. I’m going to keep this simple and gloss over that part – leaving retention off for this label.

Finally, we review and save.

Now the label is in place, but it isn’t available anywhere yet, thus we need to publish it, and there’s a convenient button for that: Publish label.

Publish the Label

First we make sure we’re dealing with the right label(s).

Next, we decide where we want top publish the label. The default is EVERYWHERE. In a smaller organization, that might make perfect sense.


In a larger organization, you may want to publish to very specific places, and the capabilities here should have you covered.

When we publish the label, we’re actually creating a new label policy, and we have to give it a name and optionally, a description.

Finally, we review the settings and publish. Note the important message at the top of the screen:  It will take up to 1 day for labels to appear to your users. Labels will appear in Outlook and Outlook web app only for mailboxes that have at least 10 MB of data. As I mentioned, it took only less than an hour in my tenant, but clearly it can take longer.

Apply the Label

Once the label is available where you’ve published it, you can add it to content. The nice thing about this, is that applying a label is no different than working with any other metadata; the label capability is simply there in the Properties panel for each list item. Yes, this works the same in lists and libraries. Note that here I’m applying a the Final label because I didn’t want to wait for the Important label to proliferate.

Retrieve the Items

My items and documents with labels were indexed overnight (yes, indexing can still be problematic for these things), and I can now do a search with “ComplanceTag:Final” and retrieve them in the “classic” search center…

…and in the “modern” search results. Note that the list item is not displayed here – to me that is a bug.

Add the Highlighted Content Web Part

Finally, let’s display this content in our Department Site using the HCWP. Edit a page and add the HCWP to it. In the settings, we need to choose All sites, as it’s the only way to reach across Site Collections.

In the Filter and sort section, choose a Managed property filter and set it to use the ComplianceTag and your specific value.

And voila! You’re displaying the content you want in a “roll up”.

Caveats

  • The Source in the HCWP has to be All Sites – which could become inefficient over time. There’s no option currently to specify a site or a library in another site.
  • Because of the above, we can add a SitePath filter for sites which contain something specific in their path. Not a great method, but it should suffice until we can create a Hub Site with its own Search Scope (assuming the Highlighted Content Web Part) . Alternatively (and perhaps in this case preferably), we can add a Highlighted Content Web Part per Group site with the specific URL as a filter.
  • The display is limited to these columns: DocType, Title, Modified, Modified By.
  • We can’t rename the HCWP, so we’re stuck with whatever title it gives us. Adding a Text Web Part above each of the HCWPs could be a workaround.
  • The documents displayed come from the search index, and as with my experience testing this, that index can take a while to populate. So people who label their document as Important (or Final) and attempt to search for it or see it in the Highlighted Content Web Parts will not see that content until the index catches up. This is an indeterminate period of time in SharePoint Online, and often creates a lot of frustration.
  • This does not scale as your content corpus grows. I’d like to think that the HCWP will gain new capabilities over time which will help us with this, just as with the Content Search Web Part and the Content Query Web Part before it.

Summary

So there you have it – basically a cheat to enable knowledge management using Security & Compliance capabilities. I think  it’s truly powerful, as it transcends SharePoint alone and can work across Office 365 to a large degree, but I’m not sure if I’ve stumbled on something here which will fall apart if Microsoft makes changes to the way all this works. Stay tuned to this post and I’ll update it if I find out more.


by Marc D Anderson via Marc D Anderson's Blog

Windows 10 in Use on More Than 600 Million Active Devices

Although well short of Microsoft's original "One billion devices in two years" goal, the surge of new, active Windows 10 devices since May reverses two cycles of new-user decline.
by Richard Hay via IT Pro - Microsoft Windows Information, Solutions, Tools

When to Generate SQL Server Statistics Automatically

Statistics can be automatically generated and updated depending upon certain conditions set at the database level. But sometimes it makes sense to manually add statistics objects to your tables & indexes in Microsoft SQL Server.
by Tim Ford via IT Pro - Microsoft Windows Information, Solutions, Tools

After Decade of Data Center Consolidation, US States Report Mixed Success

While about half of state governments have completed consolidation, many still have a long way to go.
by Wylie Wong via IT Pro - Microsoft Windows Information, Solutions, Tools

Wednesday, November 29, 2017

Amazon Focuses on Machine Learning to Beat Cloud Rivals

Amazon Web Services Chief Executive Officer Andy Jassy announced more than 20 new functions Wednesday.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

New AWS EC2 Instances Target Data-Intensive Cloud Workloads

The offerings give customers new tools to expand their use of the AWS EC2 instances and better serve data-intensive workloads.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

Configure an Email Disclaimer in Exchange Server 2016

Sometimes, for legal reasons, your email has to go out with a disclaimer, notice or warning. You can create an organization-wide disclaimer with the help of the Exchange Server's transport rule.
by Karim Buzdar via IT Pro - Microsoft Windows Information, Solutions, Tools

What Happens If We Tame Google, Facebook, Amazon and Apple?

The four companies, taken together, also stand widely accused of the sins associated with corporate bullies: crushing competition, avoiding taxes, undermining democracy and invading privacy.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Savill's FAQs: How Hyper-V and Azure Stack Differ

Three times a week, John Savill tackles your most pressing IT questions. Today: where to find details about the new features in the latest release of Windows 10, why some features are in Hyper-V but not in Azure Stack, and information about Application Security Groups in Azure.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

Savill's FAQs: From Azure Fabric to Project Honolulu

Three times a week, John Savill tackles your most pressing IT questions. Today, he explains how to find out Azure Fabric information from a Virtual Machine, whether or not to use the Semi-Annual Channel release of Windows Server, and using Project Honolulu with Windows Server 2008.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

Understanding Database Options Governing Statistics Creation

Why are statistics so critical? Because without this insight into how your data is distributed in your tables and indexes, the SQL Server Query Optimizer (QO) would not have any understanding of how your data is distributed.
by Tim Ford via IT Pro - Microsoft Windows Information, Solutions, Tools

An Introduction to Distribution Statistics in SQL Server Part One: Understanding Database Options Governing Statistics Creation and Updating

I recently spoke at IT/Dev Connections on the subject of distribution statistics for Microsoft SQL Server. It’s my opinion the subject is important enough to devote time to content covering statistics. Why Are Statistics Vital to SQL Server? Why are
by Tim Ford via IT Pro - Microsoft Windows Information, Solutions, Tools

Apple Mac Software Has Login Flaw That Puts Data at Risk

The glitch is a rare and potentially embarrassing failure for Apple.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Banks at Risk From Rising Cyberattack Sophistication, SWIFT Says

Hackers are deploying increasingly sophisticated ways of breaching banks’ cyber defenses to launch finely orchestrated attacks.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Tuesday, November 28, 2017

New Partnership Brings SAP HANA Enterprise Cloud to Azure

SAP HANA Enterprise Cloud is now available on Microsoft Azure as part of a partnership announced today.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

WeWork Buys Meetup to Bring People Together Outside of Work

WeWork has been on an acquisition spree this year, buying smaller startups including Singapore-based co-working company Spacemob, computer coding academy The Flatiron School and investing in fast-growing women’s-only social club The Wing.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Excel Made Everyone an Analyst But Needs to Keep Up

Microsoft has enjoyed a de facto monopoly on spreadsheets and other office tools for more than two decades. But that kind of success breeds complacency.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Review of Lanteria HR Time and Attendance module running on SharePoint

Product analysis by Vlad Catrinescu – requested by Lanteria, but thoughts are my own.

Something that all the enterprises and small businesses in this world have in common is they need to manage their employees, or as we call it, human resources. There are tons of HR Management systems out there, however one of the most popular goals of IT departments across the globe in the past few years was to integrate systems together, and get the most out of the systems they are already paying for. With over 300,000 organizations across the globe using SharePoint daily, it’s no wonder that Lanteria has created an HR Management Solution running on Microsoft’s popular platform. While Lanteria offers a full HR Management suite containing multiple modules, in this blog post we will focus on the time and attendance module. Here are a few words directly from Lanseria’s website:

Time and Attendance is a solution that enables managing the global absence policies, employee time sheets, and absence records such as vacations, sicknesses, and business trips. Employees can request time off and the managers approve them. HR can track all the absence statistics, record and modify the absences, and approve or reject them.

Lanteria HR Time and Attendance

  • Define the company-wide leave policies and rules
  • Set up comprehensive approval workflows
  • Have a global absences calendar
  • Increase productivity with project-based time tracking

Overview of Lanteria HR Time and Attendance module

After logging in the Lanteria Demo Site I was provided as an HR person, and clicking on the Time & Attendance module, I am presented with a nice menu allowing me to access all the parts of this module. On the left, I have a very useful list of actions that I can do as a user such as registering a vacation request, sickness and so on, while on the right I can view the OOF calendar, Timesheet report and so on.

Lanteria HR Time and Attendance

The menu changes depending on what your role is, and what permissions you have in the platform.

Lanteria HR Time and Attendance

As an HR person, the first thing I would probably do is create an Absence Plan for my employees, or multiple absence plans depending if my company as offices in multiple states/countries or provinces. As you can see in the next screenshot, Lanteria allows you to create multiple Absence Plans for your employees, so you can assign each one to the right plan afterwards.

Lanteria HR Time and Attendance

Those plans define not only the amounts of vacations per employee, but also certain settings like: Can Vacation days be carried over to the next year? Can employees take more vacation days then they have currently accumulated?

Lanteria HR Time and Attendance

You can also specify multiple rules of the number of vacation days this policy give access to depending on the age or seniority of the employee in your organizations. In the example below, employees that have been with the company for less than 5 years get 20 days of vacation, while employees that have worked for 6 or more years get 25 days per year. You can also add multiple other rules to calculate the total time of employee vacation every year.

Lanteria HR Time and Attendance

You can then also create rules for sickness leave. In the screenshot below, everyone between the ages of 18 and 100 gets 10 days of sick leave per year, and employees can overbook them.

Lanteria HR Time and Attendance

Finally, you can also add other Annual Absences such as Jury Duty, voting leave and so on, and decide to what countries it applies to.

Lanteria HR Time and Attendance

As an employee, you can easily go to your “My Absences” dashboard, and view the number of total Paid leave days you can take, how many you have already booked, as well as the absence requests that you have requested, and their status.

Lanteria HR Time and Attendance

I can also click on the Register Absence button to request a new vacation, and enter all the details that are related to the current vacation request.

Lanteria HR Time and Attendance

As an employee, I can also track my time in different Projects and Activities in the Timesheet functionality. There is also a clock in – clock out future that I can use that will automatically track the time spent between when you clock in and clock out on that certain project.

Lanteria HR Time and Attendance

As a Manager who needs to manage a team of employees, I can view an Absence schedule of all my employees at a glance, so I know who will be gone when. I can also see all the Pending Absence Requests, so all the requests for absence that my employees have done, and I can easily approve, or reject them!

Lanteria HR Time and Attendance

I can approve, reject or even request a small change in the absence request, and provide comments on my decision!

Lanteria HR Time and Attendance

As a Manager, I can also register an absence on behalf of another user. If an employee is sick and cannot come to work today, chances are they will call their manager to tell them, and their manager can directly register the day inside the system for them!

Lanteria HR Time and Attendance

As an HR professional, there are also multiple reports included with the Time and Attendance module allowing you to have the full view on your company, and view the summary, schedule as well as statistics on how many vacation days each employee has.

Lanteria HR Time and Attendance

I also have a very useful Out of Office calendar, allowing me to view everyone in my company that is out of office.

Lanteria HR Time and Attendance

Conclusion

Throughout my testing, I found the Lanteria Time and Attendance module to pack a lot of functionality, in a very simple to use interface. This module allows you to create absence policies for your employees, automatically calculating the time of vacation and sick days they can get, as well as statutory holidays, and special absences such as Jury Duty. The module also includes functionality such as Timesheets, for which companies would have to purchase Project Server in order to have similar functionality, and even then Lanteria has more features around this. One of the things I really like about this module, and the Lanteria HRMS suite in general, is that it’s really made for HR professionals, by HR professionals, and as a business owner myself, everything that I wish for is really in the product.

Having reviewed multiple of the other Lanteria modules in the past years, the integration with the other modules is really good, and allows you to fully manage your Human Resources from SharePoint. If you want to learn more about the Lanteria Time and Attendance module, check out t heir site at: or click the banner below.

Lanteria HR Time and Attendance

The post Review of Lanteria HR Time and Attendance module running on SharePoint appeared first on Absolute SharePoint Blog by Vlad Catrinescu.


by Vlad Catrinescu via Absolute SharePoint Blog by Vlad Catrinescu

VMware and AWS Say Move Your DR Data Center to the Cloud

The two partners are fleshing out their enterprise hybrid cloud story.
by Wylie Wong via IT Pro - Microsoft Windows Information, Solutions, Tools

Monday, November 27, 2017

John Savill FAQs: From Azure Fabric to Project Honolulu

Three times a week, John Savill tackles your most pressing IT questions. Today, he explains how to find out Azure Fabric information from a Virtual Machine, whether or not to use the Semi-Annual Channel release of Windows Server, and using Project Honolulu with Windows Server 2008.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

Microsoft releases Windows 10 Software Development Kit (SDK) Preview Build 17040

This is the third SDK release for the next feature update to Windows 10 which is expected in the Spring 2018 time-frame.
by Richard Hay via IT Pro - Microsoft Windows Information, Solutions, Tools

New AWS Cloud Services Take Aim at Video, AR and VR

New AWS cloud services to help content creators expand and improve their offerings by streamlining workflows.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

McAfee to Buy Cloud Security Service Firm Skyhigh Networks

The deal will bolster McAfee's cloud security service portfolio, tying cloud security further into McAfee's core cyber defense products.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

White House Is Said to Weigh Personal Mobile Phone Ban for Staff

One official said that there are too many devices connected to the campus wireless network and that personal phones aren’t as secure as those issued by the federal government.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Skype for Business 2015: Identifying Limited Functionality Mode Conditions

If you see Limited Functionality Mode (LMF) on your Skype for Business 2015 client or hear of users seeing this message, it doesn't always mean your Skype pool is down.  You could just have a routing group that is not available for whatever reason. T
by Byron Spurlock via IT Pro - Microsoft Windows Information, Solutions, Tools

Amazon Plays Catch Up in a Corner of the Cloud Where it Lagged

For a company that boasts one of the most successful consumer AI gadgets -- Amazon’s Echo devices -- AI cloud services have been slow to arrive.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Demystifying Recovery Objectives

Downtime is not an option for modern organizations that must fulfill their customers’ needs and expectations. Different types of incidents can occur and impact your business revenue or even existence. Whether it’s a ransomware attack, a power outage, flood or simply human mistakes, these events are unpredictable, and the best thing you can do is to be prepared.
by Veeam Guest Blogger via IT Pro - Microsoft Windows Information, Solutions, Tools

T-SQL Puzzle Challenge: Grouping Connected Items

The challenge involves an undirected cyclic graph that represents pairs of connected nodes that have some kind of a relationship between them. The goal is to group all nodes that are connected either directly or indirectly (transitively).
by Itzik Ben-Gan via IT Pro - Microsoft Windows Information, Solutions, Tools

Friday, November 24, 2017

IBM to retire two Watson IoT services

News briefs: IBM is retiring its Watson IoT Context Mapping Service and IoT Driver Behavior; LoRaWAN Academy partners with Carnegie Mellon to advance education on LoRa devices and the LoRaWAN standard.
by Courtney Bjorlin via IT Pro - Microsoft Windows Information, Solutions, Tools

VMware Opposes Microsoft Service That Runs VMware Stack on Azure

VMware said Microsoft's new service was developed without any input or support from certified-VMware partners.
by Nicole Henderson via IT Pro - Microsoft Windows Information, Solutions, Tools

FAQs: How To Automatically Apply Azure Information Protection Policies To On-Premises Data, Sort Hash Tables And Check On Trim Support.

Three times a week, John Savill tackles your most pressing IT questions. Today, he explains how to automatically apply Azure Information Protection policies to on-premises data, sort hash tables and check on trim support.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

HPE Bringing AI to Nimble Storage and 3PAR

HPE's AI engine will rely on data collected from InfoSight's entire installed base to predict issues before they manifest.
by Christine Hall via IT Pro - Microsoft Windows Information, Solutions, Tools

Thursday, November 23, 2017

Pluralsight Black Friday Deals – Save 100$ On a New Annual Subscription or Renewal!

This year again, Pluralsight is offering an amazing discount for Black Friday on the annual subscription for both new, and existing members! Simply go to the following link or click on the picture below to get the deal: http://spvlad.com/PS2017BlackFriday

Pluralsight Black Friday

What do you get for 199$? You have unlimited access to over 5000 courses on the latest technologies, Assessments, Skill Paths and the option to download content offline to watch it wherever in the world you might be… FOR A FULL YEAR!

Pluralsight Black Friday

This Offer is only for a limited time, so make sure you get it while it lasts! Click on the banner below to go to the Offer Page!

Pluralsight Black Friday

The post Pluralsight Black Friday Deals – Save 100$ On a New Annual Subscription or Renewal! appeared first on Absolute SharePoint Blog by Vlad Catrinescu.


by Vlad Catrinescu via Absolute SharePoint Blog by Vlad Catrinescu

Skype Disappears From Chinese App Stores in Latest Web Crackdown

It’s unclear why Skype, which has operated for years in China despite making little headway against more popular services like WeChat, was targeted.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Uber Hack Shows Vulnerability of Software Code-Sharing Services

The Uber hack is unlikely to stop the use of code-sharing services like GitHub.
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Wednesday, November 22, 2017

Intel Didn't Heed Security Experts Warnings About ME

For nearly eight years, the chip maker has been turning a deaf ear on security warnings about the wisdom of Intel Management Engine.
by Christine Hall via IT Pro - Microsoft Windows Information, Solutions, Tools

Why Apple's HomePod Is Three Years Behind Amazon's Echo

Amazon offers thousands of “skills” (voice-activated apps) that let users do a range of things (including buy stuff from Amazon). The Google Home Mini, which debuted earlier this year, is similarly endowed. The HomePod will be mostly limited to playing tunes from Apple Music, controlling Apple-optimized smart home appliances and sending messages through an iPhone.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Digital Transformation Success Comes to Organizations with Daring Leaders

Digitally literate leadership, willing to pilot new technologies, key in successful digital transformation projects, report says.
by Nicole Henderson via IT Pro - Microsoft Windows Information, Solutions, Tools

Uber Hack `Raises Huge Concerns' With U.K. Data Regulator

“Uber’s announcement about a concealed data breach last October raises huge concerns around its data protection policies and ethics,” said James Dipple-Johnson, the Deputy Commissioner at the Information Commissioner’s Office.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

FAQs: Learn how to assign roles available with Azure, new options for securing Azure services with IaaS services and installing additional Linux distributions with WSL.

Three times a week, John Savill tackles your most pressing IT questions.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

Meg Whitman to Step Down as HPE CEO

Whitman was one of the most high-profile women in technology; Neri oversaw HPE’s largest business segment, key to its growth
by Bloomberg via IT Pro - Microsoft Windows Information, Solutions, Tools

Metavine GO Helps Enterprise Users Build Apps, No Coding Skills Necessary

Metavine GO is designed to allow the creation of needed apps by business users who have no formal coding experience, using the cloud.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

Tuesday, November 21, 2017

Uber Concealed Cyberattack That Exposed 57 Million People’s Data

Compromised data from the October 2016 attack included names, email addresses and phone numbers of 50 million Uber riders around the world, the company told Bloomberg on Tuesday. The personal information of about 7 million drivers were accessed as well, including some 600,000 U.S. driver’s license numbers.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Capital One Previews Fintech Tuned Container Platform

The financial services company moves into proprietary waters with software it acquired in last years purchase of Critical Stack.
by Christine Hall via IT Pro - Microsoft Windows Information, Solutions, Tools

AT&T, Comcast Win as Trump FCC Urges End of Obama Web Rules

U.S. Federal Communications Commission Chairman Ajit Pai on Tuesday proposed vacating Obama-era net neutrality rules, handing a victory to broadband providers such as AT&T Inc. and Comcast Corp.
by via IT Pro - Microsoft Windows Information, Solutions, Tools

HPE's AMD EPYC-Powered VM Server Breaks Benchmark Records

The ProLiant DL385 Gen10 server running AMD's EPYC chips is scheduled to be available in December.
by Christine Hall via IT Pro - Microsoft Windows Information, Solutions, Tools

FundRequest Uses Blockchain to Incentivize Open Source Contributions

When an open source project is lacking needed contributions, FundRequest will let users offer a cash incentive to inspire the needed code.
by Todd R. Weiss via IT Pro - Microsoft Windows Information, Solutions, Tools

How Microsoft is Extending Its Cloud to Chevron’s Oil Fields

A single fiber cable at an oil field generates a terabyte of data daily. Chevron will now be using Microsoft’s cloud platform to put that data to use.
by Yevgeniy Sverdlik via IT Pro - Microsoft Windows Information, Solutions, Tools

Monday, November 20, 2017

FAQs: Encryption With ExpressRoute; Understanding Which Capabilities Are Supported With ASR; Handling Files Downloaded From The Internet

Three times a week, John Savill tackles your most pressing IT questions.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

I’m falling a bit behind on answering email and forum posts

Hi,
I’m unfortunately falling a bit behind on some of the support requests in the forum and in my mailbox. I’ll get it processed and answered during this week.

Best regards,
Alexander


by Alexander Bautz via SharePoint JavaScripts

CIA’s On-Prem Amazon Cloud Now Available to Other Agencies

Intelligence Community agencies with sub-Top Secret data secrecy classifications can now use the "air-gapped" cloud.
by Yevgeniy Sverdlik via IT Pro - Microsoft Windows Information, Solutions, Tools

Researchers Discover Pentagon Intelligence Data on Open AWS S3 Buckets

Third-party government contractor left U.S. surveillance data on open AWS S3 buckets, researchers say
by Nicole Henderson via IT Pro - Microsoft Windows Information, Solutions, Tools

Security Sense: You Can Outsource the Work but Never the Risk

There have been many recent cases where organizations have suffered serious data breaches at the hands of third parties.
by Troy Hunt via IT Pro - Microsoft Windows Information, Solutions, Tools

SharePoint List Forms with PowerApps Now Available in First Release – and more!

Another day, another promise from the Ignite conference fulfilled. It’s great to see so many fantastic new capabilities rolling out to Office 365 – and quickly. At Ignite, the Product Group really seemed to focus on near term enhancements and improvements, which makes this last part of the year a fertile one for new goodies. I don’t usually do “here’s a new feature” posts, but some of the new features are just too good to acknowledge – plus, we’ve been waiting for the cloud fulfillment to come on some of this stuff for a long time.

This one is a little bittersweet for me, though, as having PowerApps for building list forms truly makes my value-added functions in SPServices obsolete. On the one hand, that makes me sad, but on the other hand, it should have happened long ago. Things like cascading dropdowns are just too important not to be a part of the product somehow.

This capability actually started rolling out last week, but I only noticed it over the weekend. The PowerApps team did a blog post last Wednesday, November 15,  entitled Announcing availability of custom forms, multi-value choice and read-only attachments support for SharePoint with PowerApps.

There are a number of announcements in the post, but here’s an executive summary:

  • Custom SharePoint list forms with PowerApps – More about this below.
  • Multi-select support for Choice, Lookup & People columns – My guess is these column types were what were holding up the PowerApps list forms capability, as these are unique to SharePoint. Since PowerApps has been built to be useful across many different parts of the Microsoft ecosystem, getting these column types into it was probably not high enough on the list for us SharePointilists.
  • Read-only attachments support – Well, it’s a start. At least we can display attachments in our PowerApps forms, even though we can’t upload them. Hopefully that will come soon, and the PowerApps team acknowledges its importance.

The big story here is using PowerApps for SharePoint list forms. They have been teasing us with this one for a while now, and the screenshots (like the one above – maps always get people excited!) made many of us excited for this day.

The out of the box forms for lists (and libraries) have never been all that sexy. Their utilitarian nature belied the almost magical capability we were getting in that the forms adapted immediately to any changes to the list structure and settings. We’ve had that capability for so long now that many people have lost site of how cool that actually is.

Most people want their forms to be pretty, or more importantly to better represent the look or flow of a business process. Forms are in a sense where the rubber meats the road for content management. We want them to work well for collecting metadata so that we can have as friction-less an experience as possible. If adding metadata doesn’t feel artificial or burdensome, we gain so many important benefits down the road. Metadata is NOT dead!

I believe that forms and process ought to be decoupled, and that’s what the PowerApps and Flow split does for us. Many forms are just forms and that’s it. Other times, we may need to layer in some process, and that’s where Flow comes in.

 

Creating the example I tweeted above showing PowerApps on one of my test lists was about a 3 minute process. Here’s how it works.

First, you must be in First Release for Tenant. First Release for Select Users will NOT get you this capability. Most organizations will not have First Release for Tenant enabled in “production”, so you may need to spin up a side tenant to play around with this.

The distinction between these two types of First Release is a constant source of confusion, and I’ll keep pushing for more clarity – even in the face of the change from First Release the the Targeted Release terminology. Leave it to Microsoft to rename things!

When you go into a list, you’ll see PowerApps on the toolbar, as you have for a while now. What’s new is the Customize forms option.

When you click Customize forms, you’ll be launched through a series of animated and flashing screens to land you in PowerApps with a default form already set up for you. It’s likely to feel a little disconcerting, frankly, especially if you haven’t used PowerApps before.

But the upshot is that you now have a fancy new PowerApps-based form – all ready to use, even if you don’t make any modifications. Note the Back to SharePoint link in the upper left. Once you’re done making any changes, you can click that link and you’ll see this dialog:

You’ll want to click Save and Publish. This will lead you through some more flashing screens – be patient – and you’ll land back on your list with your new form magically in place. If you select an item in the list and click Edit, you’ll see it.

I’m not going to go into how PowerApps works here, but there are some excellent tutorials out there from folks like Laura Rogers (@wonderlaura).

If you decide you’d like to switch back to the default list forms – or even back to Infopath – you’ll find that setting under List Settings / Form Settings. You can also delete the PowerApps form you’ve created here in case you want to start over (which I did to get some of these screenshots).

I expect this new capability is going to usher in a sort of forms renaissance in SharePoint. Don’t let anyone tell you otherwise, PowerApps is indeed the successor to Infopath, though don’t expect a one to one feature comparison just yet. Happy form-ulating!


by Marc D Anderson via Marc D Anderson's Blog

Saturday, November 18, 2017

How to Plan a Migration to AWS: The Cox Automotive Story

Sponsored by: AWS - Tuesday, 12/5/17 at 11 am PST/2 pm EST
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Fighting Ransomware and Advanced Threats with Machine Learning

Sponsored by: VIPRE
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Small Business Under Attack

Sponsored by: VIPRE
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Fighting Back Against the Ransomware Epidemic

Sponsored by: VIPRE
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Responding to Cyberattacks

Sponsored by: VIPRE
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Getting to a State of OPEX: 3 Pillars of DaaS Success

Sponsored by: Citrix - Wednesday, 12/13/17 at 12pm EST
by via IT Pro - Microsoft Windows Information, Solutions, Tools

Friday, November 17, 2017

China and Linux Dominate Supercomputing

The US, which has been the supercomputing leader since the 1960s, now plays second fiddle to the Chinese.
by Christine Hall via IT Pro - Microsoft Windows Information, Solutions, Tools

ITPro SnapShot: What Else Happened This Week? (November 10-17, 2017)

ITPro SnapShot offers a short and snappy round-up on recent industry-related announcements and news around the globe.
by Richard Hay via IT Pro - Microsoft Windows Information, Solutions, Tools

Running Your Microsoft Workloads on Amazon Web Services

Sponsored by: AWS
by via IT Pro - Microsoft Windows Information, Solutions, Tools

FAQs: A Closer Look at the Requirements and Functions of Just-in-Time VM Access in Azure

Three times a week, John Savill tackles your most pressing IT questions. Today, he explains Just In Time virtual machine access in Azure.
by John Savill via IT Pro - Microsoft Windows Information, Solutions, Tools

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

1. Introduction

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

In this post we'll explore how easy it is to actually build a bot for Microsoft Teams using the Microsoft Bot Framework, which can be found here http://ift.tt/1qjk4Pr.

This post is meant as a starting point for building bots and conversational helpers using the Microsoft Bot Framwork. Of course, it doesn't have to be limited to the Microsoft Teams channel, it can be targeting Slack, Skype or any other available distribution channel.

For the sake of this post, I'll show how to build it and use it with Teams initially.

1.1 The bot: Nerdibot

As the title of the bot might subtly suggest, it's a bot that replies with nerdy quotes. Very basic.

I even created a nerdibot logo using Paint 3D on my Windows 10 laptop.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

1.2 Pre-requisites

A few things you'll require are:

  • Visual Studio 2017 is my preferred editor today
  • Azure Subscription

2. Creating the boilerplate for the Microsoft Bot Framework in Azure and source control

In order to get started with building a successful bot using the Bot Framework, we should register it in the dev portal (http://ift.tt/1qjk4Pr).

2.1 Start registration of our new Bot in the Microsoft Bot Framework dev portal

Sign in to the dev portal, then head on over here:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

There's currently only one option to select, so the obvious action is to click Create.

Next, we have to select where this bot will run. Do we build a completely new bot and host it in Azure or do we already have a bot running and we just want to register it?

Well, for the sake of this post we're going with option number 1; Create a new SDK bot hosted in Microsoft Azure.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

This will take us to the Azure Portal, ready to create a new Bot Service (preview) - pretty convenient:

2.2 Create resources in Azure to host our Bot

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Once it's finished, you'll see a notification in the portal:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Click the button Go to resource to visit your new Bot resource in Azure, and we can get started with the fun part.

Select the template you'd like for your bot. Again, for the demonstration of this guide I'm using the C# template and using the most basic version of a bot template available, Basic. We can extend the logic of this to infinity later, should we want to make it a bit more amazing.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Click Next at the bottom of the page.

2.3 Create a Microsoft App ID for your new bot

You'll be seeing the following page, where you will need to click Create Microsoft App ID and password:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Clicking the button will take you to the Application Registration Portal, from which you'll be able to generate your Application Id and Password:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Click Finish and go back to Bot Framework.

Ensure that the App Id is correctly entered by default (it will be), and ensure you paste the password you securely copied in the previous step:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

2.4 Connect to GitHub

So, this is obviously an optional step. You can select to hook it up to continuous deployment, or not. I think it's pretty sweet as it gives us continuous deployments. I'm using https://github.com for this.

Enter your GitHub (or other source control provider) credentials:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

It will automatically connect to GitHub now, and create a new repository with the name of your bot. Mine ended up with http://ift.tt/2mCmP1e

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more.

I'm happy with the default settings for now.

On GitHub, I can see the repo successfully being created:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

3. Tips for testing the bot

Great, we've set things up and we're ready to go. Code is deployed using CD and GitHub, and the template code has been deployed.

How do I test this thing, to ensure it actually does something I want?

3.1 Test the bot from the Azure Portal

From inside the Azure Portal, we can easily test the bot functionality using the big blue Test button. The functionality of the current bot is simple: Echo whatever you type. That's the basic demo we selected initially.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Okay, we can see that things work. But it's not really convenient to try and troubleshoot anything at all from here.

3.2 Use the Microsoft Bot Framework Emulator (recommended)

3.2.1 Connect to the Cloud-hosted version of the bot when it's deployed

Sometimes it's beneficial to inspect the requests and responses from a service that's deployed and already running. Since our bot is published publically and available already (from the previous steps), we should be able to reach the Bot on the Url we specified when configuring it in Azure.

My bot exists at http://ift.tt/2mzmoF3.

Download the Bot Framework Emulator and install it.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Since we're also connecting to a service hosted outside of the firewalls and routers (which I assume everyone has, right?), we need to tunnel the request back to our machine. Using ngrok we can easily do this, and it's fluent with the emulator.

Head on over to https://ngrok.com and download it.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Put the executable where you want it, as long as you remember it in the next step.

Launch Bot Framework Emulator and click the three vertical dots (ellipsis menu) and select App Settings:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Ensure the path to the ngrok.exe executable is entered correctly, select to bypass for local addresses (normally it doesn't make sense to use it when debugging localhost later..), click Save.

Now it's time to try and connect to our hosted bot. Enter the URL to your bot, followed by /api/messages (see the routes in the source code if you're wondering where this comes from).:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Hit Connect!

BOOM! We can now connect to our remote bot from the emulator, using our App Id and Secret as we entered in the previous dialogue.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

We'll see the logs of what goes on through the emulator, helping us troubleshoot any issues we might have.

3.2.2 Connect and debug on localhost during development

Great - we've created a bot, we've put it in the cloud and we've verified that it works both in the Azure Portal and using the Desktop application Bot Emulator.

Now we want to debug it while running on localhost.

  • Clone your GitHub repository (if you're using that source control option)
  • Launch the Solution which by default is called Microsoft.Bot.Sample.SimpleEchoBot.sln
  • Hit F5 without modifying any of the code

We can see that a browser is launching and hitting the localhost Url, in my case it lands on https://localhost3984.

  • Copy this Url and append the same /api/messages as when doing it remotely
  • Enter the full Url into the Bot Emulator now and test it

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

4. Developing your bot

We'll be changing a bit of the code of the bot to ensure that it works, our continuous deployment works, and that the hosted version of our bot gets the updates.

While a different post will cover the more in-depth aspects of the actual bot development (there's some gotchas and a lot of fun tips), we'll focus on the steps required for getting things to work here.

4.1 Introducing a Chuck Norris API call and utilizing the IActivity to return a "Bot is typing" type of message

I've changed the code in the main EchoDialog which is given to us by default. I've introduced a Chuck Norris API which gives you a reply with a quote as if it were Chuck, and added an IActivity implementation sending back a message to the client that the bot is "Nerdibot is thinking..". The reason for this activity is that you can then see in the UI that the bot has received your request, and it's working on a reply - for example if the API call takes a bit longer or if it needs to do more complex queries or computing, it might be a good idea to indicate to the user that it's working on it.

Here's the full code of the EchoDialog now, with the small changes to introduce the two above things:

using System;  
using System.Threading.Tasks;  
using Microsoft.Bot.Connector;  
using Microsoft.Bot.Builder.Dialogs;  
using System.Net.Http;  
using Newtonsoft.Json;  
using System.Collections.Generic;  
using System.Diagnostics;  
using System.Threading;

namespace Microsoft.Bot.Sample.SimpleEchoBot  
{
    [Serializable]
    public class EchoDialog : IDialog<object>
    {
        public async Task StartAsync(IDialogContext context)
        {
            context.Wait(MessageReceivedAsync);
        }

        public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
        {
            #region Is Typing Activity

            var activity = context.Activity as Activity;
            Trace.TraceInformation($"Type={activity.Type} Text={activity.Text}");
            if (activity.Type == ActivityTypes.Message)
            {
                var connector = new ConnectorClient(new System.Uri(activity.ServiceUrl));
                var isTyping = activity.CreateReply("Nerdibot is thinking...");
                isTyping.Type = ActivityTypes.Typing;
                await connector.Conversations.ReplyToActivityAsync(isTyping);

                // DEMO: I've added this for demonstration purposes, so we have time to see the "Is Typing" integration in the UI. Else the bot is too quick for us :)
                Thread.Sleep(2500);
            }

            #endregion

            #region Handle incoming message

            var message = await argument;

            HttpClient client = new HttpClient();
            var chuckJoke = client.GetStringAsync("http://ift.tt/2oLhbur").Result;

            var deserializedChuck = JsonConvert.DeserializeObject<dynamic>(chuckJoke);
            string chuckSays = ((dynamic) deserializedChuck).value.ToString();

            await context.PostAsync(GetRandomGreet(activity.From.Name) + Environment.NewLine + chuckSays);

            #endregion

            context.Wait(MessageReceivedAsync);
        }

        private string GetRandomGreet(string name)
        {
            List<string> greetings = new List<string>
            {
                $"Hey there {name}!",
                $"Okay {name}.",
                $"{name}, your request has been considered, and I approve. This time.",
                $"Okidoki {name}.",
                $"What's up my awesome pal, {name}."

            };
            Random r = new Random();
            int index = r.Next(greetings.Count);
            string randomString = greetings[index];

            return randomString;

        }
    }
}

When running the bot, it will now look something like this:

  1. When you type something to the bot:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Once the message is handled and the bot finished thinking (e.g. my dummy Thread.Sleep() elapsed), you should see the reply:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

5. Connect the bot to various channels

Right, now imagine you've got all your awesome code up and running, and your bot is doing what ever it is that you need it to do. We need to distribute it across various channels and try it out with various platforms.

In order to try it out with a real platform, instead of just the Bot Framework Emulator and Azure test UI, we'll try to add it to a few different channels. Tag along.

5.1 Add your bot to Skype (consumer)

We'll be connecting to Skype first. It's already running by default and we'll be tring that out.

  1. Head over to the Bot dev portal again at http://ift.tt/1qjk4Pr
  2. Click on the Skype channel which should be connected already:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. Add the bot as a contact so you can communicate with it

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. In your Skype client, you can now see your new bot as a contact

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. Chat with the bot!

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. We'll see that it's got the delay in place (is typing...) and it gets my name correct

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

My bot is live on Skype, and can be found here:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

5.2 Integrate your bot with any web form

Another standard feature of the Microsoft Bot Framework is to host your bot on any web site or form of your choosing. This is an interesting option if you're integrating a support bot or helper bot on your publish website (or even on your intranet).

  1. Head over to the Bot dev portal again at http://ift.tt/1qjk4Pr
  2. Click on the Edit link next to the Web Chat channel:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. Make a note of ( 1 ) the Secret Key
  2. Make a note of ( 2 ) the Embed Code
  3. Click Done

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. Copy the Secret into the Embed Code and replace the YOUR_SECRET_HERE with your own secret
  2. Copy this embed code into any web site of your choice

Here's what my embed code looks like (I've faked the Secret to avoid abuse):

<iframe src='http://ift.tt/2mzmBrP' width="500px" height="800px"></iframe>  

  1. I copied this embed code into hello.html which contains nothing else

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Awesome, we've connected it to a website as well. Obviously, you may want to connect it to an actual web site for a more realistic use case, but now you know how to do that.

5.3 Connect your bot to Microsoft Teams

  1. Head over to the Bot dev portal again at http://ift.tt/1qjk4Pr
  2. Click on your bot
  3. Click on the Microsoft Teams logo to add a new channel

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. It will tell you that it's connecting to Teams, hit Done

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. Click the newly connected Teams channel and it will, just like with for Skype, launch the browser to connect to Teams with your new bot

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  1. You're connected to the chatbot in your Teams tenant, but he doesn't reply. Why?

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

This is due to Microsoft Teams not being configured for Side-loading any apps.

Please read here: http://ift.tt/2mCn0tq for how to configure sideloading.

Please note: If you don't sideload your app, it will not be able to communicate. Unless you publish the bot, in which case anyone can add it (if they allow external bots).

  1. Once sideloading is configured as per the article mentioned above, you should see it work.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

I hope this gives enough insights into how easy it actually is to build a bot that can be run anywhere. The MS Bot Framework does indeed have lots of benefits and the SDK's are evolving.

6. Bot Analytics and Insights

Imagine you've developed a really nice bot now, and that you want may be using it internally in your organization, or you have even published it as an official bot somewhere. You want to see the insights and numbers on how it performs, right?

Let's check a few options out.

6.1. Application Insights

When setting up the project the way we did, we also get Application Insights hooked up to the resource in Azure so we can easiy track what's happening, how it's being used and if there's any unexpected errors happening.

  1. Head over to the dev portal for Bot Framework again: http://ift.tt/1qjk4Pr
  2. Click Settings for your bot
  3. Scroll down to the Analytics section and ensure the data is populated.

If there's no data configured here, follow the link Learn more to get started on that journey.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Now, to check out the real Application Insights data, follow these few steps:

  1. Head to your azure portal http://ift.tt/1hlA6vt
  2. Find the resource group for your new bot
  3. You'll see that there's an Application Insights resource connected to the bot. Click it:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

From here, you can access ALL insights from your bot. Well, the default ones at least.

If you want to add more App Insights into your code, you can do that as you would with any other Application Inisghts development task.

Since my bot is completely new off the shelf and there haven't been anyone else using it, I can't really see much insights yet - but there's some exceptions logged already:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

  • BotTimeoutException
  • Exception

These exceptions might be hard to find if you don't have any analytics. Imagine you're publishing an app used by hundreds of organizations, and something goes wrong - you'll need to quickly fix it and ensure that it doesn't happen again. App insights is a good first step to do this, with Bots as well as other resources. (Yes, I use App Insights with a lot of my real projects too).

We can drill down into these exceptions and see what really happened:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Clicking where the arrow points will give you the full stack trace of what happened:

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

Hopefully as the bot matures, you'll find that the inisghts can tell you usage patterns, unexpected errors and quickly find a remedy for anything which is breaking.

6.2. Simple analytics from the Bot Framework portal

From within the portal itself (well, you can access it through the dev portal for Bot Framework or through your Azure resource, but its the same place in the end), you can see some quick but valuable insights about your application and where and how it's being used.

A practical guide to building a Bot using Microsoft Bot Framework using C# and host it in Azure, and use it with Microsoft Teams, Skype and more

While not as comprehensive as the details you'll view directly in App Insights, it's enough to just see if your bot is being used and which channels are more popular.

Summary

With this post I hope that it's become a bit more clear just how easy it is to get started with building bots using the Microsoft Bot Framework!

I might go into further details with node.js bot development, in-depth C# bot development and building more complex bots using the SDK's available. But that's for another post - now we at least know how easy it is to get started.

Cheers,
Tobias.


by Tobias Zimmergren via Zimmergren's thoughts on tech