Use KnockoutJs in SharePoint 2013


You may also be interested in: O’Reilly - SharePoint 2010 at Work


 

Editor’s note: Contributor Veena Sarda is a SharePoint Consultant at Tata Consultancy Services. Follow her @writerpurple

In this article we will see how to use Knockout.js in SharePoint 2013. You will not need server side coding, Visual Studio or SharePoint Designer to build this user interface (UI). Only knowledge of knockout.js is required. Before going into details, I am pasting a screenshot of how the UI will look once this sample is built.

2013-10-11-KnockoutJS-01.jpg

We will need to refer to 3 js libraries. I have uploaded them in the document library but as a best practice, create a different JavaScript library for them - jquery-2.0.3.min.js, knockout-3.0.0rc.js and ko.sp-1.0.min.Ex.js

ko.sp-1.0.min.Ex.js can be downloaded from kosp.codeplex.com and has binders of knockout with SharePoint. Some SharePoint data types such as images and hyperlinks need special processing, to get the correct results, which is handled by this library.

We will use a simple example of a product list. Build a SharePoint List – ProductList - with the following columns and add a few records in this list.

2013-10-11-KnockoutJS-02.jpg

Create a Site Page and Insert a Script Editor Web Part from the Media and Content category on to the page.

2013-10-11-KnockoutJS-03.jpg

Click on Edit Snippet and paste the code as below



Click on Insert and Stop Editing. If all goes well you will see the results as shown in first screenshot.

A couple of things to note:

  1. $.getJSON(_spPageContextInfo.webAbsoluteUrl + "/_vti_bin/listdata.svc/ProductList"
    is the main data returning element. Change to your list name and you can add filters at the JSON request to get specific records.
  2. Pagination is controlled in
    self.currentPage = ko.computed(function () {
                                                        var startPageIndex = self.pageNumber();
                                                         var endPageIndex = self.pageNumber() + self.nbPerPage;
                                                             return self.Products().slice(startPageIndex ,endPageIndex );
  3. For image data binding use spSrc (kosp library handles this)

This program can be extended for many other visual effects and checking boundary conditions. This is one of the powerful ways to write a UI without requiring server side coding and without Visual Studio and SharePoint Designer.

Why Rogue IT is Changing the Way We Do Business

 

Editor’s note: Follow contributor Mark Fidelman @markfidelman

2013-10-11-ITHorrorStory-01a.jpgA security team at a large non-profit heard there were a bunch of people using Dropbox without authorization and their files had recently been hacked, so they made a call to Dropbox. Without authenticating their identity, Dropbox offered the list of 1600 user names and their email addresses. “The Dropbox guys wanted to get them moved to the enterprise version so much they were willing to share a customer list without even authenticating the folks on the phone!”

It gets worse.

A pharmaceutical company in the middle of a six-week drug test to secure FDA approval suddenly saw a tech savvy groups’ rogue IT missteps corrupt their data, destroying the test and ultimately costing $500 million in lost revenue.

Rogue IT horror stories like these are happening all the time. Whether dealing with super tech savvy employees seeking simple solutions, or tech challenged folks using whatever consumer app is readily available, either employee scenario can be the stuff of IT nightmares.

Are these people just terrible employees? No, they’re part of today’s increasingly mobile workforce, and they need better options when it comes to working on the go. Without consistent, easy to use productivity and collaboration options, most opt to use unsanctioned services like Dropbox or Google Docs, causing financial consequences as well as data loss, unintentional data leaks, reputational damage and full company shutdowns for days or weeks as they scramble to resolve these issues.

And it’s not only businesses that suffer – employees feel Enterprise IT pains as well. Can you imagine being fired for that instant message you just sent? Well, you certainly could be if you’re sharing sensitive customer data (including credit cards and bank routing details) across consumer IM networks, like MSN Messenger, Yahoo and AOL (true story). You didn’t know it was that serious of an offense? Well, THAT is part of the problem.

The disconnect between business users’ and Enterprise IT is multi-faceted. If it continues to grow unchecked, if employees can’t be convinced to “drop-box” and other unsafe services like it for simple to use, safe company-sanctioned alternatives, these problems are just the beginning.

My client harmon.ie is hosting a Rogue IT Horror Story contest that seeks to draw attention to these risks, by highlighting what happens when organizations don’t keep pace with employees’ needs and said employees “go rogue.”

We want to know your story. You will remain anonymous so that we can better understand why it’s happening and how to help IT and employees come to a better solution. Submit yours by this Friday October 18th for the chance to win a free pass to SharePoint Conference 2014 or Samsung Galaxy 4. Again, all submissions are anonymous and will be judged by a panel of mobile enterprise, security and IT experts, including Christian Buckley, Bob Egan, Michael Krigsman, Maribel Lopez, Nicholas McQuire and Benjamin Robbins, together with the IT community.

The best (worst stories) will be announced on All Hallow’s Eve.

SharePoint: CRM in a Team Site


You may also be interested in: Simple SharePoint Migration Tool - Content Matrix by Metalogix


 

Editor’s note: Contributor Ellen van Aken is an experienced intranet adoption manager. Follow her @EllenvanAken

One of the most successful “SharePoint solutions” has been the Incident Log of one of the APAC companies. It was built to be a temporary (1.5 years) site to solve an urgent business problem, until SAP would provide the proper CRM functionality. Due to postponement of the SAP rollout, it is still heavily used today (more than 3 years later). The site is praised for its user-friendliness and transparency. In fact, rumors are that users are NOT looking forward to changing this system to SAP 2013-10-10-CRMTeamSite-01.gif

What was the problem?

The country’s Customer Service Desk received their customer complaints in various ways: from 7 different systems, via email, snail mail, telephone, fax and by going to the Customer Service desk. Information provided was seldom complete, and there was no central system or agreed process to log and manage complaints. Many complaints were lost during the process, and if they were not, turnaround could vary from 2 weeks to 2 years.

All complaints were reimbursed to the customer, because it was almost impossible to properly investigate a complaint.

There was no insight in root causes of complaints, so it was not easy to make any improvements to systems or processes.

What is the solution?

The country organized a workshop with all involved disciplines, describing the current and the desired process. The Business Process Owner Order-to-Cash and I worked together to turn an Issue List into a streamlined Incident Logging, Processing and Managing system, that would enable all involved parties (Customer Services, Quality Assurance, Warehouse Managers, Finance, and even the external Transport Company) to quickly add, review and edit information. Every complaint was one list item.

On the Home Page an overview of all open incidents, and their accumulated value, are shown as a very high-level dashboard.

2013-10-10-CRMTeamSite-02.gif
The Homepage is dashboard for open incidents and process information.

We added some Corasworks tricks, such as a Search function and an automated email that would copy much of the Incident’s information into an email to the transporter, in case a delivery had to be taken back to the Warehouse.

Of course, with a major process like this, it took a long time to get this realized. But as usual, thinking was the most work. What is the current process? Where does it hurt? What is the best flow? How can we make it complete, but keep it simple and workable? How do we train people? How do we manage changes? How do we make this truly a part of a new way of working? The BPO and I spent long hours discussing both the process and the functional implementation.

2013-10-10-CRMTeamSite-03.gif
First part of the data entry screen.

What are the benefits?

  • The country now has one database for all Incidents, enabling different ways to sort, group or filter: by Product, by Complaint Type, by Customer, Open for longer than 2 weeks, etc.
  • Key Performance Indicators have been agreed and can be monitored.
  • System and process are agreed and transparent, eliminating the need to discuss the process repeatedly
  • Turnaround time has decreased to as low as 2 hours due to more insight and less handling
  • Due to the better insight it has been possible to improve processes and performance. One transport company has already been discontinued since they caused many problems. Others have been given a warning. Changes have been made in the factory to solve certain issues. This has decreased the total number of Incidents by about one-third.
  • Significantly less money has to be paid to customers. Now that the process has been agreed, it is easier to assign responsibility. If the customer has caused the problem, no money is reimbursed. If the transport company has caused the problem, they have to pay.

All in all, this Team Site has saved the company hundreds of thousands of dollars each year, and there is much less discussion about the process.

Why Do People Hate SharePoint?

 

Editor’s note: Contributor David Lavenda is Vice President of Product Strategy at harmon.ie. Follow him @dlavenda

During the third week of November 2012, Microsoft hosted its annual SharePoint conference, an extravaganza of everything and anything that has to do with SharePoint, at the Mandalay Bay Hotel in Las Vegas. The conference crowd was an avid and passionate group of SharePoint boosters and the buzz around the show was electrifying. People who recently spent their vacation there, might jump to the conclusion that everyone LOVES SharePoint.

However, working with customers all over the world, we often hear the opposite opinion about SharePoint. Typical business users don’t love SharePoint, when forced to use it, many will openly admit their aversion of SharePoint. Why’s that? Here is a list of common reasons why people hate SharePoint:

  1. Deployment time takes too long – According to a Forrester survey over 40% of respondents reported that deployments ran over the allotted time and approximately 60% of these respondents claimed it was due to technical difficulties. Delays in IT projects such as SharePoint deployments can cause organizations to lose valuable time and money.
  2. SharePoint can’t be used “out-of-the-box” – Organizations learn that it is very hard to use SharePoint “as is.” They quickly discover that third-party tools are needed to augment SharePoint to address their business requirements. According to AIIM, the biggest on-going technical issue with SharePoint implementation is governance, specifically the management of metadata and taxonomies, and over 54% of organizations are either using or planning to use a third-party add-on product.
  3. “The proverbial Swiss army knife solution to every content”- From document management, project management, blog, wiki and even corporate intranet; SharePoint promises to delivers on a wide variety of needs, yet the end result is often “nothing more than a landfill for documents.”
  4. Poor user experience- In a Forrester survey, when enterprises were asked “In what way is SharePoint not meeting your expectations?” over 30% said that their users don’t like the SharePoint experience. 30% said that their end users prefer other tools such as email. This isn’t surprising since the typical business users revert back to their original business workflow once they encounter difficulties with a newly introduced platform.
  5. Poor mobile device access to SharePoint- In a study done by AIIM, 90% of survey respondents expressed some level of dissatisfaction from SharePoint’s Mobile device access. The business users want to stay productive in the office or on the go.

What Does This Mean?

How can we reconcile these reactions to the tremendous value that SharePoint brings to organizations and to its almost universal deployment? The underlying root cause of people’s dissatisfaction with SharePoint stems from poor preparation and unrealistic expectations about what SharePoint provides ‘out of the box.’

To ensure a successful SharePoint implementation and happy users, employ the following ‘tried and true’ strategies:

  1. Create a well-defined deployment process that takes into account the needs of not only tech-savvy IT people, but also your typical business users.
  2. Make sure your project focuses on a business solution and addresses the business users’ needs, such as making it easy to access SharePoint from the office and also when on the road.
  3. Integrate SharePoint into the typical business users’ everyday workflows.
  4. Follow Gartner’s advice4 and look to third party tools to plug functional deficiencies in SharePoint.

Following those 4 guidelines, will ensure that even the harshest of critics will fall in love with SharePoint.

2013-10-04-DontLikeSharePoint-03.jpg

How to hide a group of fields in a SharePoint list using InfoPath 2010


You may also be interested in: fpweb.net


 

Editor’s note: Follow contributor Abhisarika Singh @Abhisarika.

I’ve found a really easy way to make collapsible/hidden group of fields in a SharePoint list form using InfoPath 2010. The important thing is we can apply this in an existing list and can modify the form. Below are the steps we can use to make a hidden group of fields:

  1. Open the list in InfoPath 2010 and select Section from the menu bar:
  2.  2013-10-08-HideGroupFields-01.png

  3. Select the section and insert a new table in that section.
  4. 2013-10-08-HideGroupFields-02.png

  5. Then insert the fields in the table. As I mentioned, my list is already present and I like to hide the fields based on the conditions. So I just drag the fields from the field column to table rows and show them in a table. This table must be inside the section.
  6. 2013-10-08-HideGroupFields-03.png

    2013-10-08-HideGroupFields-04.png

  7. Once we complete the table with the fields we would like to hide, based on our condition, we go to “section”. This is the important thing we need to do for hiding or showing our fields based on our condition.
  8. Select the “section” and go to “Manage Rule”. Insert a new rule having the condition as per our requirement. In this example I’ve put a condition that if field “Request type= Deletion” then this employee’s details table will be hidden through the “formatting” rule or not displayed.

    2013-10-08-HideGroupFields-05.png

    Then set the condition I mentioned above:

    2013-10-08-HideGroupFields-06.png

    Go to formatting rule and select “hide this control”:

    2013-10-08-HideGroupFields-07.png

That’s it. Now you can see your form as per the condition you set.

2013-10-08-HideGroupFields-08.png

Using the updated SharePoint 2013 REST API versus the SharePoint 2010 model


You may also be interested in: Simple SharePoint Migration Tool - Content Matrix by Metalogix


 

Editor’s note: Contributor Craig Pilkenton is a Senior Microsoft Consultant for Slalom Consulting.

Overview Summary

Since SharePoint 2010, the platform has had REST URI services (Representational State Transfer) that are comparable to the existing SharePoint client object models. This meant that we could interact remotely with SharePoint data by using any technology that supports REST web requests (usually JavaScript) to perform Create, Read, Update, and Delete (CRUD) operations from our apps, allowing us to create applications that consume SharePoint data without pushing managed code into our Farms.

In previous articles I’ve shown how to use SharePoint 2010’s REST interface for querying List data, as well as for creating a ‘Save My Searches‘ feature for your users. This article will cover the changes between how we used REST in 2010 and what we need to ‘update’ for using the streamlined interface in SharePoint 2013.

Body

If you have gotten this far in the article then you’re probably actually curious as to what is different. The really big change that this article is going to cover is the new verbiage for making the GET request from your site; the new “/_api/” portion of the URL.

In SharePoint 2010, we would take the URL for our site and append "…/_vti_bin/listdata.svc". This initial call would then spit out ATOM XML data that showed all the Lists for that site.
**For bonus points, "vti" stood for Vermeer Technology Incorporated (the original creators of Front Page).

2013-10-08-SharePoint2013RESTAPI-01.jpg
1) SharePoint 2010 REST overview

Now in 2013, we use a nomenclature that makes more sense, appending "…/_api/web/lists/" to our URL’s instead. This call still outputs the ATOM XML data of all the Lists, but instead of just List names we now receive many of the properties of the List just in case we need them, including the actual item count inside!

2013-10-08-SharePoint2013RESTAPI-02.jpg
2) SharePoint 2013 REST overview

Once the target List name was found in the 2010 XML nodes we would copy the ‘compressed’ name (no spaces, or else!) and paste it to the end of the URL like so "…/_vti_bin/listdata.svc/Links", giving us an output of all the Items in that List, if any.

2013-10-08-SharePoint2013RESTAPI-03.jpg
3) SharePoint 2010 List Items

Now in SharePoint 2013 we still copy the List name (no longer compressed) but instead of just appending it to the URL we need to paste it into the ‘getbytitle()’ function and add the "/items" flag to the end: "…/_api/web/lists/getbytitle(‘Calendar’)/items". This then outputs all the items in a List just as was available before.

2013-10-08-SharePoint2013RESTAPI-04.jpg
4) SharePoint 2013 List Items

Switching back to 2010’s nomenclature, when one Item was found to focus on we’d copy the Id XML node and again add it to the end of the URL wrapped in parentheses "…/_vti_bin/listdata.svc/Links(2)". This would filter the results down to just one.

2013-10-08-SharePoint2013RESTAPI-05.jpg
5) SharePoint 2010 Specific List Item

SharePoint 2013 keeps the same methodology for obtaining one item, again just pasting the Id XML node to the end of the URL, but after the ‘/items’ flag "…/_api/web/lists/getbytitle(‘Calendar’)/items(33)". The big difference in the ATOM output is we now receive more Item metadata including the full GUID of the Item along with if it has any attached items. This is extremely useful if you need to show a link to the attachment.

2013-10-08-SharePoint2013RESTAPI-06.jpg
6) SharePoint 2013 Specific List Item

When only specific columns were needed or to filter large sets of results in SharePoint 2010, we’d utilize the QueryString Parameters allowed by the OData Query Options documentation "…/_vti_bin/listdata.svc/Contacts?$select=Id,FullName&$orderby=FullName" (see link below). This allows for only pulling back what is needed from the back-end where the cost is less to process.

2013-10-08-SharePoint2013RESTAPI-07.jpg
7) SharePoint 2010 Selecting Item properties

With 2013, all of these awesome query operations are still available, the only change is the new URL syntax that precedes the OData Query Operations: "…/_api/web/lists/getbytitle(‘Calendar’)/items?$select=Id,Title, Description &$orderby=Title". The question mark starts the parameters section, the dollar sign prefixes the Query Options, and the ampersand splits different query options up.

2013-10-08-SharePoint2013RESTAPI-08.jpg
8) SharePoint 2013 Selecting Item properties

One gotcha to note, the "$orderby=" will throw a ‘400 - Bad Request" error if used in a REST URL where you have specified a specific item to pull back "/_api/web/lists/getbytitle(‘Calendar’)/items(3)?$select=Id,Title,&$orderby=Title". A ‘$select’ will just politely be ignored.

2013-10-08-SharePoint2013RESTAPI-09.jpg
9) SharePoint REST URI error

Final Summary

While the same core capabilities are there, and even expanded upon, the new convention is designed to make REST URI construction easier and to shorten the base path. Using _api abstract’s away the need to explicitly reference the client.svc web service, but SharePoint 2013 still recognizes and accepts URIs that reference the client.svc web service. This allows us to build our request links with a bit more characters since we still have the 255 character limit.

Reference Links

Tools for SharePoint User Experience (UX) Design: Interactive Prototyping


You may also be interested in: O’Reilly - SharePoint 2010 at Work


 

Editor’s note: Contributor Adrian England is the Senior User Experience Designer at Creative Sharepoint. Follow him @ade_england

Introduction

Following on from the previous articles in this series Scamping, Paper Prototyping and Wireframing, the topic for this article is Interactive Prototypes.

What is Interactive Prototyping?

In the previous articles in this series a concept was taken through the stages of initial scamps to get the ideas down on paper and iterated quickly, a paper prototype to explain individual elements of functionality and then the creation of wireframes to show how the content will sit within the site.

At this stage you will probably have a number of wireframes depicting the different pages within a site. These wireframes will undoubtedly have the correct content and layout in place, but it may be difficult to illustrate how the individual pages come together to form a complete site.

This is where the interactive prototype comes in. Using Axure to create the initial wireframes means that these pages can now be wired together to form a clickable, navigable site. Again these files should contain no element of design, these should be purely monotone layouts with no imagery or stylised fonts, ensuring the focus is on the content with the addition of interaction.

Taking the wireframe created in the previous blog we can now add functionality, links, interactions and more… For the purpose of this blog I will focus on making the site navigable but there is a lot more that can be achieved by Axure, their site has a number of tutorials (http://www.axure.com/learn) and a lot more resources can be found online.

2013-10-04-InteractivePrototyping-01.jpg

Using Axure to create an Interactive Prototype

First off we need to decide which elements of the site will be used across all (or multiple) pages. For the purpose of this wireframe the header containing the navigation, site logo and search area will be required as a consistent element across the entire site.

For larger projects these elements could include document libraries, lists, newsfeeds, calendars or any other element that should remain consistent.

Similar to the SharePoint Ribbon in our SharePoint2013 Axure Library any page element can be turned into a “Master”.

Taking the wireframe created earlier, drag and select all of the elements in the header area.

2013-10-04-InteractivePrototyping-02.jpg

Right click on this selection and “Convert to Master”, naming the item “Header”.

2013-10-04-InteractivePrototyping-03.jpg

This new Master element will be displayed in the Masters panel (to the left of the prototype). Rename the pages (in the Pages panel) as required, then right click on the Header Master (in the Master panel) and select the pages it should be added to. The Master element can also be dragged on to an individual page and repositioned if required.

2013-10-04-InteractivePrototyping-04.jpg

Now edit the master by double clicking on the master element, either on the page (highlighted in red) or in the Master panel, this will open the Master created earlier so you can edit all the pages globally.

Links can be added to the Navigation buttons by right clicking on them and adding cases. The Header will now be updated with links on all pages that it has been placed on allowing the site to be navigable.

2013-10-04-InteractivePrototyping-05.jpg

When finished adding content and functionality to each page, the prototype can be exported into a html prototype allowing the user to click through the site and explore.

Once tested by the user and approved the project can then progress to the design stage, confident in the knowledge that the content and functionality have been agreed. Going through this process and separating content, functionality and aesthetics allows the designs to be considered purely on their own merit and the underlying functionality understood without further explanation or iteration.

SharePoint: Facebook in a Team Site


You may also be interested in: fpweb.net


 

Editor’s note: Contributor Ellen van Aken is an experienced intranet adoption manager. Follow her @EllenvanAken

“We need something like Facebook’s the Wall”, one of our Field Sales Managers told me. It was interesting to see that a popular external tool was triggering people to think about a similar solution in the company. They could not use Facebook because their information is confidential, but by describing it in that way, it visualized their needs very clearly.

What was the problem?

It turned out that 16 Sales Managers, all working outside the office, had a habit of sending a daily report of their store visits, including pictures, to all 15 colleagues + Manager + 10 back-office employees, by email.

You can guess the situation: everyone stored lots of emails, with the information hidden in documents, not tagged or categorized, and their email boxes were all too large because of all the pictures. So, what they needed was one central place where they could upload their Sales Memo’s and pictures, and where the back-office could find all reports per customer, or on a certain category.

What is the solution?

Well, we did not have Facebook, but we could do that in a Team Site. I used an Announcement list for the Sales Memo’s, adding mandatory customer and category dropdown fields, and a Picture Library was added for the pictures (also with customer dropdown).

2013-10-03-FacebookTeamSite-01.gif

I added a search function and told everyone how to set a Daily Summary Alert, to enable everyone to know if something had happened.

The last 5 Sales Memo’s were shown on the Homepage, with the name of the creator, which triggered all Sales Managers into adding all their Sales Memo’s immediately. This little vanity trick helped speed up adoption!

2013-10-03-FacebookTeamSite-02.gif

What are the benefits?

  • Less emails sent & stored
  • A central transparant database is created
  • Information is easily searchable due to the customer and category metadata
  • Less time and irritation while searching

And when it was properly implemented, the Field Sales Manager asked me another question…but that will be another Blog item. 2013-10-03-FacebookTeamSite-03.gif

Do you have an example where a popular tool shows people the way to working more efficiently? Please share it!

Course Summary of TrainSignal’s Course “SharePoint Server 2013 Administration” - Part 4

 

Editor’s note: Contributor Stephan Onisick is a Senior Software Developer for HP specializing in SharePoint Portal Applications. Follow him @StephanOnisick

Lesson 11: Configuring Email for SharePoint

This lesson goes much deeper than this author wishes to pursue and probably deeper than most “Newbies” will wade into. This section is more suited for the “Super” or Advanced Admin Types.

2013-09-30-TrainSignalCourse-Part04-01.png
Looks Innocent Enough?

Bill configures Incoming and Outgoing Email for the Servers. Also he sets up an SMTP Server as well as configuring the Exchange Settings in Exchange.

He starts the lesson by Adding the SPContacts Organizational Unit in Active Directory and goes through the Delegation Control Wizard to add the Central Administration App Pool account. His objective is to be able to create and delete child objects. This gives the Administrator delete subtree permissions for the account.

Next, Bill goes into Active Directory “Advanced Features” to for SPContacts. His purpose is to give the SPFarm account permission to delete subtrees.

He then goes back to the Domain Controller and configures the SMTP App:

2013-09-30-TrainSignalCourse-Part04-02.png
Adding the SMTP Server Role

After Installing Bill restarts IIS and begins to configure the various properties:

2013-09-30-TrainSignalCourse-Part04-03.png
Setting Properties on SMTP Server

The rest of the lesson gets blurry for an Exchange-Challenged Author. Bill Opens the Exchange Management Shell to run a PowerShell Script to get the Exchange Virtual Directory Path: http://gmexc-13.globomantics.com/ecp.

Next he uses the URL to access the Outlook Web App (Exchange 2013 Admin Center). After signing in, in Exchange he configures Send Connectors for Incoming Email and Receive Connectors for Outgoing Emails.

2013-09-30-TrainSignalCourse-Part04-04.png
Mail Flow Receiver

After this Exchange Excursion, configuring the Input and Output and attaching it to Lists is a piece of cake.

(This is Lesson not for the faint of heart!)

Lesson 12: Working With Sites

Much of this and the next lesson are user interface. It’s good knowledge to have and the review doesn’t hurt—but I won’t classify it as strictly “Administrator”.

Here’s an example of “Adding an App”:


Adding An App

(Hopefully, by now you’ve drunk the SharePoint 2013 Kool-Aid and realize everything’s an App. It’s what God created on the eighth day!)

Lesson 13: Create Libraries, Lists, and Tasks

Much of this lesson is also User Interface Stuff: a good review but not necessarily Admin Stuff.

That being said I really learned some stuff about the relationship of Task Lists to Time Lines, Predecessor Tasks, Pert Charts and Calendars:

2013-09-30-TrainSignalCourse-Part04-06.png
Task Lists and Timelines

2013-09-30-TrainSignalCourse-Part04-07.png
Tasks on Calendar

(I was obviously surprised and delighted about the strong Microsoft Project-like analysis that can be performed in Out-of-the-Box SharePoint. My advice—if you’ve been around SharePoint 2013 somewhat, just to skip to the “Create Tasks” segment of this lesson. )

Lesson 14: Working with My Sites

This lesson has more relevancy to me for administration. My Sites has complex ties to the User Profile Services, Active Directory and can be connected to the user’s tasks on any site collection.

Bill graciously creates most of his user’s My Sites webs. Then he walks us through the creation of Heather Ackerman’s My Sites web. Bills show the Active Directory connections in data that gets populated:

2013-09-30-TrainSignalCourse-Part04-08.png
Heather’s My Sites with Active Directory Data for People followed

Next, Bill signs in as himself and goes to his My Sites. He shows how to follow other people through the interface. He shows how to add a blog and other Apps to his My Sites. He, then, elaborates on the ability to see your tasks from the My Sites:

2013-09-30-TrainSignalCourse-Part04-09.png
Bill assigned Tasks as seen on his My Sites

Bill further demonstrates the capability of SharePoint 2013 My Sites to follow other sites. He does this by going to a site and commenting on a newsfeed. Then, he selects to follow that site. This means he will now receive information from the newsfeed on his My Sites.

Then, Bill proceeds to follow a document on SharePoint site. Next he shows the list that he is following and shows how the My Sites software picked-up all his activities and listed them on his activities page:

2013-09-30-TrainSignalCourse-Part04-10.png
Notorious Bill’s Activities

He also shows the documents that he is following. Next he notes that if someone changes one of the documents he is following, his newsfeed will be updated with that activity.

(I don’t know about you but I’m sold –Sign me Up for My Sites!)

Lesson 15: Configure the Office Web Apps Server

Bill first explains that the Office Web App Server allows for the viewing of Word, PowerPoint, One-Note and Excel in a Browser. Also this is a server product that runs on its own server. This can be installed on one or many servers on your farm—but your farm must use Claims Authentication. Office Web Apps supports viewing on multiple platforms such as Macs, Tablets, Slates, Smart Phone and other browser-enabled phones.

He further notes the Office Web App Server is very limited as to what other software can be installed such as SQL, LINQ or Microsoft Office Desktop Applications or Web Services using ports 80 or 443.

First he downloads the app from http://ITtra.in/downloadWepApp. He next configures the Server with specific roles. He points out additional downloads for Server 2008 as opposed to Server 2012: http://ITtra.in/ServerRoles

2013-09-30-TrainSignalCourse-Part04-11.png
Server Roles and Features

After configuring the Server, Bill installs the downloaded Application. Next he creates the Office Web App through PowerShell Command:

New-OfficeWebAppsFarm –InternalURL http://gmowa.globomantics.com –AllowHttp
-EditEnabled

(All one line—for Bill’s Server)

Next he checks if the Office Web App Server has been created by typing the URL into a browser to check the discovery: http://gmowa.globomantics.com/hosting/discovery

As luck would have it, we have a Web App Server.

At this point, Bill switches to the SharePoint Server and proceeds to use the SharePoint Management Shell (PowerShell). Next he creates the binding from SharePoint to the Office Web App Server. After a series of PowerShell commands it’s soup. He creates the bindings and switches the service from https to http. Finally he has to change the Oath to check over http as well.

Now all is well in Bill Land:

2013-09-30-TrainSignalCourse-Part04-12.png
Note the Option to Edit in Excel Web App

(Note the user no longer has to have Excel on his desktop to edit the App. Not all features are—but most are available.)

What Could be Enhanced for the Future

This course is stellar and really pushes the envelope for SharePoint 2013. Seriously, if you skip any one section of this article, you can safely miss this section without loss—I love this course.

But being a critic and writer, I’m listing a few things for TrainSignal to consider as they spiral upward under the PluralSight banner:

  • A Pre-Test and Post-Test Assessment would be welcome.
  • Downloads were by lesson and include a voice recording as well as a PDF.
    • A single download would be preferable.
    • It would be nice if the voice downloads were optional. They are really time-consuming and not everyone will use them.
    • The PDFs were not labeled and did not contain all the screens.
      (Hint: Hire someone who can document courses better—gee I think I know someone! :-) )
    • The Progress on the Overall Course is visible but a way to see the uncompleted sections would be of added value to user.

Conclusion: Summary and Forward SharePointing Direction

Great Course! How can you help but learn. Real Practical Applications with real problems that are encountered. Kudos to Bill Kulterman. 5 Star!

Also remember when this course came out, there weren’t many SharePoint 2013 Administration courses on the Net.

My aim was to provide a thorough feel for the content Bill taught. Also having taught college for four years, I try to add to the pool of knowledge. I would hope that this could also add to your TrainSignal Course Experience.

(So Many Screens to Document-So Little Time!)

Happy SharePoint 2013ing
Stephan

HIPAA Compliance and Office 365

 

Editor’s note: Contributor Mike Fleck is Co-founder of CipherPoint Software, Inc. Follow him @mfleckca

2013-08-27-SharePointSecurityImpact-01.pngHealthcare organizations have to share patient information but they also have to keep that information private. The two requirements are in direct conflict.  Add the Cloud and things get really “interesting!”

Cloudy with a chance of breach

Everyone wants to move to the cloud – especially for file sharing use cases. For larger healthcare organizations the motivation to move to the Cloud is often to consolidate enterprise users to a common platform (as opposed to the scattershot “shadow IT” approach that exists today). Smaller companies often just want to get off servers. Regardless of why HIPAA covered entities are moving the Cloud or how big those entities are, the reality is they have patient privacy and security needs beyond what Office 365 and other platforms provide. When it comes to HIPAA covered entities Microsoft’s Office 365 is better than most (more on that later) but organizations need to approach Cloud adoption with a clear understanding of what your hosting provider can do from a security standpoint and what the end-user organization is responsible for. The scary thing is that users are adopting Cloud file sharing platforms far in advance of the enterprise actually being able to manage risk of a breach of patient information associated with those platforms.

Carry a big stick

When the Obama Administration included patient privacy enforcement in the HITECH Act, many of us in the privacy business noted that HIPAA finally got some “teeth.” The HITECH Act and other related changes resulted in very impactful provisions relative to breaches of patient data including

  • The establishment of fines for losing unsecured electronic patient healthcare information
  • The notion of shared risk for companies that provide services (aka Business Associates) to a HIPAA covered entity.
  • The use of data at rest encryption as a form of safe harbor from the breach notification requirements

The Haves and the Have Nots

In the first paragraph I mentioned that Office 365 is better than most offerings. The reason I say this is because of what’s called a Business Associate Agreement (BAA). A HIPAA Business Associate (BA) is any organization that provides services to a HIPAA covered entity that traffic in patient information. A BAA is an agreement that a Business Associate signs to share risk of a breach of patient information relative to the BA’s services. SaaS and other Cloud providers are clearly delineated into two camps: those that will sign BAAs and those that won’t. Microsoft will sign a BAA. Google, Dropbox and many others will not. This dynamic is wreaking havoc with organizations that have patient information. At best they can get existing providers to sign a BAA. At worst, they have to track down rogue usage of services like Dropbox and threaten employees with serious consequences.

Common Threads

In the past several months we’ve talked to a lot of enterprise security leaders in the healthcare space about their patient privacy needs relative to Office 365. They tell us that they do not want to be in the business of controlling who can collaborate with whom but they do need to get a level of central control over patient privacy. These healthcare providers, payers, and other covered entities need to identify patient information in Office 365, encrypt that information at rest (to get Safe Harbor), and track who accesses it. Microsoft’s willingness to sign a BAA just means that Office 365 is on the short list of options. These healthcare systems and other organizations recognize that they, not Microsoft, are responsible for how the enterprise users consume Office 365.

Don’t rock the boat

The reality is there are collaboration platforms built explicitly for regulated or high security use cases. The problems with these platforms are that they are much more expensive than Office 365 and, maybe more important, users don’t want to adopt them. The right way to approach the problem is to make the platforms like Office 365 secure for patient information.

Securing Office 365 so that you can safely store patient information on the platform translates to encrypting the data, applying access controls, and auditing access to the data. With these three technical security controls in place, you’ll be in good shape to prove to auditors that you’re protecting your ePHI as required by HIPAA security requirements.

For everything SharePoint and Office 365 from the community for the community!