Tuesday, December 20, 2016

Performance and Development Workflow Updates in SharePoint 2013

SharePoint 2013 introduced exciting workflow updates that increase the reliability and scalability of workflows.
Before we discuss SharePoint 2013 workflows it’s important to first understand the 2010 workflows.
The 2010 workflows are not as reliable as the new 2013 workflows due to their lack of scalability and availability. However, one of the major benefits of SharePoint 2010 workflows is that you can send emails across domains which wasn’t carried over in SharePoint 2013 through the send email action.
Microsoft improved SharePoint 2013 workflows in two ways: Performance and Development.

Development Updates

Let’s discuss development first, and then we will look into the performance part later.
Two major features in 2013 workflows was adding loops to the workflow actions in SharePoint designer, and supporting workflow designer in Visual Studio. Leveraging visual diagrams makes it a lot easier to present and understand workflows. (Please note that visual designer needs Visio 2013 professional).
In addition to these cool features, Microsoft also introduced stages, or logical divisions, to complex workflows. This is a good way to communicate the current stage of the workflow with the end user, because the workflow Column now updates with the current stage of the workflow.
Additionally, SharePoint 2013 workflows improved the process of debugging a workflow. Stages, log list, Debugging in VS (activity breakpoints), workflow manager logs are all options that can now be used.
Workflow Processing SharePoint

Performance Updates

Now let’s look at the improved performance in SharePoint 2013 workflows. As we all know, SharePoint 2013 workflows run on a different box and reduces load on the SharePoint server.
To understand SharePoint 2013 workflows, you have to understand workflow manager 1.0 and the role of service bus. In SharePoint 2010 workflows, every task had to be done by SharePoint itself. With SharePoint 2013 workflows, SharePoint only has to notify the workflow manager (Front end) that the item is created or updated using the HTTP POST method. Workflow manager then notifies SharePoint that the request is received and publishes that message from SharePoint to the service bus.
Service bus will then check if there is a rule defined for the specific message which is received, and notify the subscriber (Workflow backend). If the subscriber is offline, or the service bus is unable to connect to the subscriber, it will keep the message for a period of time. This makes the process more reliable and resilient.
Then, the workflow backend component will notify SharePoint that the workflow process has started, and continues the process according to the actions defined in the workflow via web service calls.
If during the process for some reason the workflow needs user input, it registers the workflow to be notified for that specific task (what really happens in the backend is that the workflow reserves an ID for new task item that the user is going to create and sends the ID to the workflow for configuration). When the user has given specific inputs, the workflow is triggered the same way that it was started for the first time.
The role of the service bus makes the workflow more reliable and scalable.
- See more at: http://www.fmtconsultants.com/performance-and-development-workflow-updates-in-sharepoint-2013/#sthash.0DNU2NHj.dpuf

Monday, December 19, 2016

6 Things You Need to Know Before Building No Code Solutions in SharePoint

It is said that you shouldn’t write code until you have to write code.
Whether you are a power user, a decision maker, an administrator, or developer, if you have a strong belief that you should not write any code unless it’s required, Office365 Sites and SharePoint can make this dream a reality.
In order to make no code solutions in SharePoint, you will need to understand some key concepts. In this post, I will walk you through the 6 basic tools you’ll need to understand to develop your own no code solution with SharePoint.

What is SharePoint?

Defining SharePoint is a difficult thing to do. You can find many definitions for SharePoint on the internet, many of which were provided by Microsoft, but I would define it as the following:
A platform to present business data, increase collaboration, manage content and business processes, that increases productivity while providing users the means to easily create their own solutions to problems.

1. What is a Web Application?

According to the Microsoft Developer Network, “A SharePoint 2013 web application is composed of an Internet Information Services (IIS) website that acts as a logical unit for the site collections that you create.”
Creating a web application is the first step towards creating a site collection. Each web application is associated with an IIS website that allows you to give your application a unique domain name to help protect it from cross-site scripting attacks.
During the process of creating a new web application, a new content database will also be created and the authentication used to connect to the database will be defined. The authentication method that will be used by the  IIS (Internet Information Services) website in SharePoint will also be defined during this time.
Please note that in Office 365 Sites, you won’t find an option for creating web applications. Though these are hidden from end users, you don’t have to worry because Microsoft is doing all the work for you on the backend.

2. What is a Site Collection?

According to MSDN, “A site collection is made up of one top-level site and all sites below it”.  In SharePoint we can have different sites for different purposes, when we put all of our related sites together we call it a site collection.
Suppose that we have a site collection for the different departments in a company. While there is a different site for each department, multiple departments can use same site. Departments can have the information related only to themselves on their sites and collaborate where more than one department is provisioned to work.
This is just one example of a way that you can use Sites to help your business. You can also have different sites for different processes i.e. purchase request, Time sheets etc.

3. What is a Site Column?

Site columns are the reusable column definitions. You can use site columns across all your sites in a site collection as long as it is contained on a root site. Site columns which are created on sub-sites will only be available on that particular sub-site and the child sub-sites of the sub-site. For this reason, it’s a best practice to create site columns on the root site so that they will be available to all sub-sites as needed.
Simply, we can say that Site Columns are the basic data types used to represent data in SharePoint.
There are many site column types, e.g.  Single line of text, Multiple lines of text, Choice (menu to choose from) etc. you can use these type according to the nature of the data.

4. What is a Content Type?

Content types are the collection of site columns, workflows and behaviors that represent a different type of data in SharePoint lists or Document libraries. Content types actually decide which SharePoint lists or Document libraries are capable of performing certain actions that we can reuse whenever we need.
There are many out of the box content types which are shipped with SharePoint e.g. Item, Tasks, document, etc. which you can extend to generate your own custom content type.

5. What are Lists?

Lists are a collection of items, columns, views and content types. Each item is a row in the list and each row of the list is known as list item which consist of multiple columns.
The items in a list can be filtered using a View. A single list can have multiple views. Views can be assigned to different users with different sets of filters in place, in other words you can control what items in your lists each individual sees based upon the needs of the individual.
There are many out of the box list templates which are shipped with SharePoint like documents, tasks, Site Pages etc.
Document libraries
A document library is a special type of list that can store documents and their information (Metadata). These types of lists can have multiple behaviors which you can achieve by adding multiple content types to a single document library.
Whenever you create a site SharePoint will add a default document library with the title “Shared Documents” where you can upload, edit, delete and view your documents on the site.

6. What are Workflows?

Workflows are the sets of instruction that occur in SharePoint during a certain event on a list or site. In other words, workflows are the pre-programmed mini-applications that are used to get signatures, feedback, or approvals for a plan or document and track the status of ongoing procedures. There are two types of workflows i.e. SharePoint 2010 and 2013.
You can trigger workflow manually, on item create, or on item update. There are many workflows available out of the box in SharePoint that you can use to achieve the business processes.
For example, think of opening an account at a bank. You go to the bank, you submit the application for an account, your application goes through different bank internal processes according to the bank policy, and eventually you are be notified of the status of your request or you may need to submit some more documents. This is how approval workflow works in SharePoint.
Apart from out of the box workflows, you can create custom workflows using SharePoint designer. When a user needs a process that is not part of the GUI, in order to achieve that kind of functionality we use Workflows.
To learn more about workflows, check out my other blog here.

Summary

SharePoint is a platform that helps you to build solutions according to your needs – without a single line of code. The beauty of SharePoint is how you use it to map your requirements. Using the building blocks of the list, Document libraries and workflows you can map your business processes easily and rapidly.
- See more at: http://www.fmtconsultants.com/6-things-you-need-to-know-before-building-no-code-solutions-in-sharepoint/#sthash.0ecqN