SharePoint Development – Gulp and Spsav

What is spsave? In a few words, spsave has a Gulp plug-in that allows you to save files in SharePoint 2013/2016 or SharePoint Online (sorry SharePoint 2010 folks but there is an alternative).  For those who are not familiar with Gulp yet, it’s a Javascript toolkit that is used to automate common repetitive development tasks.  If you are interested in learning more about Gulp, you can get more information about it here. Why spsave? Spsave allows developers to build code right in Visual Studio, you have to pay for it, or Visual Code, a free IDE with great features. This also means that developing in SharePoint Designer or manual file uploading is no longer necessary, and if you’ve worked with Designer before you’re probably jumping for joy. How? Below are a series of steps you need to take to leverage spsave’s Gulp plugin with Visual Code. The Prerequisites 1. Download and install NodeJS: https://nodejs.org/en/ 2. Download and install Visual Code: https://code.visualstudio.com/download Setup Your Project 3. Create a folder for your SharePoint project on your PC. Figure 1 - Example of project folder  4. Then open up Visual Code and open the project folder you created.  Opening a project folder can be accomplished by clicking the File tab in the navigation bar and then selecting the Open Folder option. 5. Now you need to install gulp for the project.  Go to the View tab in the navigation bar and then click the Integrated Terminal option. The Integrated Terminal allows you to issue commands for node, ...
Read More

Co-Authoring in SharePoint

What is Co-Authoring? One of the reasons to use SharePoint is to have a centralized location for sharing files. A team of users can store a set of common files on SharePoint so they can all share access to them as needed.  If they need to edit any of these documents collaboratively, SharePoint offers co-authoring as a solution.  Co-Authoring allows multiple users to work on the same document simultaneously. For example, when opening a Word document in the Microsoft Word Web App, a user can type in and utilize the application as usual.  However, if someone else is working on the same document simultaneously, they will be able to see who it is, the location of their cursor in the document and live changes of any edits they have made. Figure 1 - Co-Authoring in a Word document Types of Co-Authoring In SharePoint 2016, there are two slightly different ways that users have the ability to co-author shared documents, Real-Time and Regular co-authoring. Real-Time Co-Authoring With real-time co-authoring, users must be connected to the Internet.  Otherwise, they will not be able to see the live changes and notifications that occur when other people edit a shared document.  There are a few limitations based on the application being used.  As shown in the Figure 1 above, some applications such as the Microsoft Word Web App show the latest information with identification, cursor location and live edits. Regular Co-Authoring With regular co-authoring, users do not necessarily have to be online, and they will ...
Read More

Institutionalizing Healthcare Cost Analysis and Control

In light of the impending movements in healthcare away from “fee for service” and toward “pay for value” models of care, the importance of accurate cost analysis for healthcare providers is extremely important.  Linking the financials to the operational data and down the line to patient outcomes is the key to operating an effective healthcare operation whether it’s based on “fee for service” or “pay for value”.  This article provides background on the waste created by today’s fee for service healthcare cost and reimbursement framework in comparison with the new pay for value models.  We also take a look at strategies, processes and tools to institutionalize cost analysis and deliver accuracy and profitability over the long term. Experts estimate that of the $3 trillion spent on healthcare in the US each year over $1 trillion is wasted through production, case, or population level inefficiencies or duplications.  According to these experts, production level waste accounts for 5% of the total waste and can be characterized as inefficiencies in producing units of care such as drugs, lab tests, x-rays, hours of nursing support and any other cost item that is used in the course of medical treatment.  Case level waste accounts for about 50% of the total waste and is defined as unnecessary or suboptimal use of care in a treatment episode such as duplicate diagnostic measures such as x-rays or lab tests when the care provider can’t find the results of the previous items or does not know that one was ...
Read More
/ / Uncategorized

Agile: Fantastic Product Owners and Where to Find Them

Scrum requires three roles to be successful: Scrum Master, Development Team and Product Owner (PO).  Kicking off a new agile-scrum engagement has prompted me to reference previous efforts that achieved high levels of success to determine what maketh a fantastic Product Owner.  This blog post, released ahead of the highly anticipated theatrical premiere of Fantastic Beasts and Where to Find Them may not be as highly anticipated but hopefully is helpful in locating individuals who have what it takes to be a Product Owner (PO) for your effort. What is Product Ownership Product Owners provide critical services for the development team and scrum master.  They serve as the requirement/user story center for the dev team and can rank order each requirement/user story by priority.  To do this, POs need to have subject matter expertise related to the business problem/need; organizational awareness to help facilitate product launch; and availability.  Perhaps more importantly than all of this, product ownership helps to level the scale; balancing accountability for successful product development.  The development team is accountable for developing quality features while the product owner is accountable for deciding what features get built. The Ownership Problem IT teams are typically in the business of building tools for one primary purchaser.  This person holds the purse strings.  While it is very important that this person have a seat at the decision-making table, he/she may be lacking the in-depth subject matter expertise necessary to be a good successful PO.  Sometimes these individuals have only high-level information about the ...
Read More
/ / Uncategorized

How I learned to stop fearing and start loving SharePoint… Sort Of – Part 2

SharePoint 2010 uses SOAP, which is messy (see what I did there?) Front-end development on SharePoint 2010 can get a little tricky.  Most web services these days use Representational State Transfer (REST) which is a nice improvement over SOAP but unfortunately that option is not always available.  If you are developing on SharePoint 2013 you are lucky and you have REST services available.  If not, be prepared to debug some weird errors with SOAP, and when I say debug I mean decrypting a modern day Rosetta Stone sans the stone or Rosetta. Use SPServices JavaScript Library For starters, I recommend using SPServices when doing any front-end development with SharePoint.  SPServices is a JavaScript library founded by Marc Anderson that takes care of a lot of the complexities when making SOAP calls in SharePoint.  It is free and works entirely on the client side meaning that you do not have to worry about a server side install.  You can download the library and view the documentation from GitHub. The Networking Tab of the Developer Console If you have not already done so, become familiar with troubleshooting issues in the network tab of the browser.  Using Chrome (I prefer Chrome) open the developer console and click on the ‘Network’ tab (example in Figure 1). In the lower left (outlined in Figure 2) you will see a list of requests to the server.  Now select one of the requests ending in ".asmx" since those are the SOAP end points for SharePoint.  In Figure 2 notice that there are three tabs now displayed on the right; Headers, ...
Read More
/ / Uncategorized

Part 3: JavaScripting on SharePoint – Lists, Content Types, and Columns

To develop JavaScript applications that will store data on SharePoint, you should have a good understanding on how to design and store data in SharePoint lists.  If you followed Part 2 of this series, we now have three sites (Production, User Testing, and Development) to conduct SCA-JavaScript development and that means we have to keep the structure of SharePoint lists consistent across the three environments.  Fortunately, SharePoint has metadata features known as site columns and site content types to help us out.  In this section, I will discuss how to approach SharePoint lists and how you need to leverage site columns and content types to store data in those SharePoint lists. The first thing a developer on SharePoint must understand is that SharePoint lists are not a table in a database.  They may have columns and they may have rows, but please do not mistake them for database tables.  A developer should consider a SharePoint list as a container of objects.  These objects are called content types and have properties that are called site columns.  Figure 1 provides an illustration of the relationship between site columns, content types and a SharePoint list. Figure 1 – An illustration of how a SharePoint list is a container of content types. At the core of SharePoint’s metadata capabilities are site columns and they can offer several different types of properties such as a single line of text, number, or date and time.  A complete list of options is available at Site column types and options.  Site columns ...
Read More
/ / Uncategorized

How I learned to stop fearing and start loving SharePoint… Sort Of – Part 1

New to SharePoint? You are a seasoned developer and your boss just told you that they need your help on a SharePoint project.  The typical thoughts may roll through your head: Why me? I hate SharePoint. It isn’t for real developers anyways While these are all valid reactions there is one silver lining to remember.  Web development is transitioning towards front end single page applications that leverage new and exciting Javascript libraries including Knockout, Angular, and many other frameworks.  SharePoint can be used as your one-stop-shop for both the database and server side code.  This allows you to focus on front end development creating fast, responsive, and sexy apps that people would never guess were running on SharePoint.  With this kind of approach in mind, let us explore a couple of tips to turn your fear and loathing of SharePoint into loving SharePoint. Overview This is the first of a two part set of blogs that serve as tips to get you started on your path to SharePoint love.  SharePoint is Microsoft’s multi-purpose IT solution for everything from websites to centralized document repositories.  It can connect to third party data sources while allowing custom development on the server through web parts.  Explaining the architecture of the SharePoint backend is beyond the scope of this blog series but there are many resources out there (just Google, Bing, or Yahoo it). Part 1 - File Editing and Source Control A Word on SharePoint Designer Sharepoint Designer is an integrated development environment (IDE) ...
Read More
/ / Uncategorized

Agile: Business Priority vs. Dev Logic

The crux of agile development is building features in order of business value and priority as well as accounting for change in the development process.  However, when starting from scratch on a blank canvas, it can prove difficult to build the items that the customer deems highest priority first.  Enter development (dev) logic.  Dev logic is a term I made up that means building the most basic functions, on which other functions will depend, first.  Consider this example: General Scope: Customer wants a system to generate documents with certain data on them.  The system should provide a review/approval process for these documents.  Additionally, the system should send email notifications based on status of the documents.  The customer also wants some other things (not relevant to this example, so not listed here). Scenario: At the beginning of the project, the customer tells you that the absolutely highest priority is for the system to generate PDF documents.  Your team has nothing but a development environment setup at this point.  Your development team is asking questions like:
  • Which document will be generated?
  • What does the document look like?
  • What data goes on the document?
  • Where does the data come from?
  • Who can edit the data?
You should be able to get those questions answered with relative ease.  But what those questions are telling you is that the first thing you build will not be PDF document generation.  Your customer expects features to be built in order of business priority.  What do ...
Read More
/ / Uncategorized

Customer-Centric Agile

Carol Maddox, Senior Business Analyst with Definitive Logic Agile methods are all about delivering value and lowering the cost of change.  These methods challenge us to ask: What is the value of doing things this way?  Too often, the answer is a simple “That’s the way things have always been done.”  Hearing that answer is a great indicator that maybe there is too little value.  Often, in a customer to project team relationship, the project team (including the PM) can’t control everything.  But PMs CAN take some of the reigns back related to how technical projects are delivered.  Here are 3 things that project teams and PMs can do to help their customers see the benefits of using Agile methods. 1.) Set the Stage Early The most important planning you’ll do at the beginning of your project is planning HOW you will deliver your product: what methodology you’ll use, what processes, etc.  During your project kick off, spend time explaining the Agile methods you’ll be using to your customer.  Go over your expectations for your customer’s involvement and explain what your customer should expect from you.  This should include: which customer resources will be responsible for reviewing and accepting work during each sprint; what days/weeks can the customer expect to be engaged for product/sprint review.  Additionally, be sure to explain that while time-frames are set, the scope or requirements to be implemented during each iteration is rather fluid.  Provide your customer with a one-page take away that explains the Agile methods ...
Read More
/ / Uncategorized

Cleaning Up the Real Estate Data Landfill

Terri Barton, Senior Data Analyst and Business Consultant with Definitive Logic, is a subject matter expert in Real Estate Leasing Business Processes and RFMIS AIS A computer system can be a wonderful thing, provided, of course, that the data going into that system is accurate. The key question in the real estate and asset management community is how to figure out what to do with our so-called “Big Data” - we’re living in an age where experiencing “data overload while being information poor” is an unfortunately common state, as executives continue to manage larger and more diverse physical footprints. We all know that garbage in is garbage out; however, identifying the errors and remediating the situation once the data has essentially amassed into a landfill is far from a simple task. As practitioners in the real estate industry, we are often charged with managing a large volume of data for multi-million dollar programs. One challenge that many have stated as a significant hurdle is tackling the discrepancies and errors associated with generating organizational analytics. This issue is a result of “data anomalies” accumulated over the years, some due to unclear business processes, and others due to lack of user training. Recently, for example, this type of data integrity issue had presented our client with difficulties in effectively utilizing the information available to them and consequently hindered management’s ability to plan and report on their real estate and asset management programs. Rolling up data into “actionable” information at a regional or department ...
Read More
/ / Uncategorized
Loading...