Posted by Dan Naselius, CorasWorks Chief Operating Officer
As you read about all the cool bells and whistles Microsoft has added to SharePoint 2013, one item that will appear in the “fine print” is the move to a RESTful architecture. In my opinion, this is a shift that has huge significance for SharePoint as a platform for business solutions. In this post, I’ll give you some insight into why we see this change making such a large impact and how it changes SharePoint development.
First, let’s review SharePoint solution development over the past decade. SharePoint has followed a server-side object model approach inherited from the .NET platform, which means development occurs almost exclusively on the server. This is different from many of the LAMP stack-based platforms that were following REST-based architectures. With SharePoint, a developer would use Visual Studio and a .NET language such as C# to create web parts that would be bound to the server-based object model or SOAP-based web services calls. The advantage of this approach is that the web parts are very modular and can easily be added, moved, or snapped together to form larger solutions. The disadvantage is that it required the solution architect to pass the requirements to a .NET developer to build the web parts and deploy them using the SharePoint solution deployment method to update the web.config on the server. This results in downtime for the end users and also results in large payload files that had to be downloaded to the web part at runtime resulting in slower page loads.
In a RESTful world the situation changes quite a bit. REST has a number of distinct advantages. Most notably, a REST response is incredibly lightweight, meaning the payload being downloaded to the page is significantly smaller. This makes a huge difference, especially in low bandwidth environments. Nor does REST require development tools to make requests from the REST service. And typically, the response to these requests is “human readable,” which means debugging is much easier than traditional development. In addition, REST enables the power of web services while still following the typical HTTP development approach, and uses the same commands as HTTP (GET, POST, PUT, etc.). Finally, the output is typically in HTML or JSON, which makes it very easy to work with Java Script and HTML.
So, is it really better or is it just different? In our testing, performance of the REST architecture is an order of magnitude faster than the traditional web part architecture. In addition, the development is significantly faster and, because it doesn’t require .NET development skills, it allows traditional web developers to build the solutions. I believe this is a very good thing for the SharePoint ecosystem and will allow all of us to build enterprise-class business solutions leveraging the investments we’ve already made in SharePoint. I look forward to seeing what others have to say on this topic.
Until next time,
Posted by Gary Voight, CorasWorks President and CEO
I was talking with a prospective business partner who was considering moving into Microsoft SharePoint. They asked whether compliance management is a good application for SharePoint. My response was that compliance management is often a perfect use case for SharePoint.
Most compliance management scenarios really are a tracking, tasking, and reporting requirement. Often, a basic document management solution is an integral component. Here are some elements of a compliance management application:
- Each permit application is a “project” that has timelines and milestones, and needs collaboration to meet the deliverables. A shared document is often the basis of collaboration, and the end product of the application. The permit application process may take several steps…each could be considered a “stage-gate” for work flow and tracking purposes. Each stage-gate is a collaboration process in itself.
- Permits need to be maintained. Permits generally have monthly, quarterly or annual updates. The compliance manager needs to track the pending deliverables and make sure the organization is prepared in advance. A shared calendar can be used to visualize the permits renewal process. Dashboard-style displays can be used to visually illustrate progress against deliverables. Tasking can be employed to remind workers of their deliverables, and should be integrated with email.
- Organizations must be ready for ad-hoc compliance information requests and compliance audits. Ad-hoc requests and audits can be disruptive and time consuming. Unfortunately, they cannot be ignored and often come at bad times. A properly designed compliance management solution will have all the data and documents readily accessible for these purposes.
I can’t think of a more appropriate use for SharePoint. CorasWorks has built and delivered several compliance management solutions. Some examples include:
- A compliance management solution for a large pet food manufacturer. This firm must maintain permits with local authorities for more than 20 locations. In our solution we help them track submissions to local government authorities and the EPA, and we help them respond to compliance audits. A significant component of that solution is around tasking and task management.
- We recently delivered a Sarbanes-Oxley compliance solution for an electrical utility in the Midwest. For this customer we replaced an older existing packaged product with a solution we built for them on SharePoint.
- We helped a green energy firm build a permit management compliance system. As many of their employees are remote, this solution also incorporates mobile access.
- An IT audit solution where each audit was considered a project.
In all of the above examples a main driver for our customers is the ability for them to maintain and extend whatever we built. The CorasWorks Platform (v11) and our other software products always enable our customers to support themselves…if that is what they desire.
Bottom line: Compliance management is an outstanding use case for SharePoint…..and for CorasWorks. To learn more about our customer implementations and experience, send us an email at firstname.lastname@example.org or give us a call at 866-580-3115.
As part of a new effort by CorasWorks to help people understand the power and ease with which solutions to common business problems can be implemented when powered by the CorasWorks Solution Platform, we have started this new series, Scenarios and Solutions. In each post, we will describe a common business scenario and then present one or more ways to quickly and easily address the solution using CorasWorks technology. This is a series focused on inspiration and creative thinking when it comes to solving problems and getting the most from CorasWorks.
The CorasWorks platform is based on extending the SharePoint environment to build solutions focused on solving business problems. The first step in this process is defining the problem in a manner that can be translated into “CorasWorks terms.” Here’s an example of how a common business problem can be redefined into a CorasWorks powered solution.
Scenario: A company has several divisions, all with their own collections of documents stored within SharePoint. The company has decided the best way to handle the documents is to provide one page in SharePoint from which every member of the company can access their documents. In this way the IT team has only one page to maintain and the users have only one page to visit for their content. The challenge comes from limiting what is shown to each user to only the documents they have access to while eliminating unnecessary maintenance and overhead.
Solution: A direct and easy solution to this scenario is to use the aggregation capabilities of the CorasWorks platform combined with SharePoint security permissions. The approach is to use separate libraries for each group in the organization and apply SharePoint security groups to manage rights and access to the libraries to the correct users. The separate lists of documents are then aggregated into one CorasWorks Grid display on an .ASPX page. Since CorasWorks performs a security check before displaying any content called by a grid, the user will only see content they have permission to view.
The second part of this solution is to deal with an issue that arises from it’s design. When you aggregate multiple libraries into one grid, it can be confusing to know what library each file came from depending on how you have the contents grouped and sorted. This is where another CorasWorks feature of the Grid displays comes into action. One of the capabilities of the Grid display is to show the list or library a record is being called from through a list variable (%list%). This is shown in the Grid through a simple check box and then is treated as you would any other list column.
By combining the aggregation features of the CorasWorks platform with the specific list column function, we have defined a solution that meets the needs of the original scenario and can be implemented in a matter of hours.
Scenarios and Solutions is presented by Art Gelwicks, Solutions Consultant for CorasWorks. A former CorasWorks customer turned evangelist, Art provides a perspective on finding business ready solutions powered by CorasWorks that can be accomplished without extensive technical knowledge.
This guest article is from Michael Friedenberg of R3 Business Solutions, a CorasWorks App Publisher. In addition to describing their Knowledge Base application, Michael mentions their use of the new Dynamic Filtering feature of the Workplace Suite. Very good stuff.
Application Program Manager
Free R3 Business Solution App – Knowledge Base v1.1
R3 Business Solutions is releasing a Knowledge Base application which allows you to create and manage knowledge base articles for your employees, customers, or partners. It can be used for many different purposes such as providing customer support for products or services, training of new employees, or sharing partner documentation. Administrators create and publish knowledge base articles that can be reviewed by the appropriate individuals before being published. One or more documents can be attached to any article. Once published, users can quickly and easily locate and retrieve articles based on a title, category, or one or more key words. Once a user finds the relevant articles, they can be viewed or emailed to anyone. When an article is no longer applicable, it can be archived. The archived article will remain in the system but will only be available to administrators. Archived articles can be updated and published again.
One of the new Workplace Suite features is Dynamic Filtering. Our Knowledge Base application takes advantage of this by feature by allowing users to enter information into a display such as a search box. Whatever is entered is passed to one or more CorasWorks displays using the URL. It works with Grid, Calendar, and Chart displays.
In the example shown below, the grid display is being filtered to show information based on what a user enters in the search string box. It searches and returns articles that contain what the user entered within the title, category, or one or more key words.
The Knowledge Base application runs on the Workplace Suite version 10.2 or higher. It also uses the Workplace ID Generator v1.6 which is available for free in the App Store.
For more information about R3 Business Solutions and our applications, please click here to visit our website.