You Are Here:   SimpleSharePoint Separator SharePoint Knowledge Base Separator SharePoint Knowledge Base

Jun 14
How to check out a document

 

   

Purpose: When a document is being edited from a document library, a user can quickly open the document, make changes, and then save the document back into the workspace. If there are many users who may be working on the same document at the same time and you intend to work on the document offline, it may be better to formally check the document out.

Example: When you have a document opened from a SharePoint document library, you can check it out from the Office application.

Steps:

1.       Open an application in Office. (The application can be Word, Excel, or PowerPoint. )

2.       Click the File tab and click Open from the menu. The Open window will appear.

3.       Click the Add a Place link. The Add a Place pane will appear.

 

Figure 1: The Add a Place Pane

   

4.       Click the Office 365 SharePoint link. If you have not connected to a SharePoint server before, Sign in to get started dialog box will appear.

 

Figure 2: The Sign In To Get Started Dialog Box

5.       Enter the e-mail address for your company Office 365 account and click Next. The Sign In dialog box will appear.

 

Figure 3: The Sign In Dialog Box

6.       In the Password field, type your login information, then click Sign In. Any SharePoint sites you have been connected to will be listed in the Open dialog box.

 

Figure 4: The Connected SharePoint Sites

7.       Click the SharePoint site. Recent folders will appear in the right pane.

8.       Click the Browse button. The Open dialog box will appear.

 

Figure 5: The Open Dialog Box

   

9.       Click the desired document, then click Open. The document will open in the respective Office application.

10.   Click the File tab and click Info from the menu. The Info window will appear.

 

Figure 6: The Document Info Window

11.   Click the Manage Versions button, then click the Check Out option. The document will be checked out to you, but will remain stored on the SharePoint system.

Apr 18
Unlocking the Best Kept Secret in SharePoint Branding

As SharePoint consultants we do a lot of branding work and we haven't found anything nearly as powerful as what you can do with the client-side object model. This post explains a bit of the details to get you started and so unlock we consider the best-kept secret in SharePoint branding. As the SharePoint framework SPfx evolves Microsoft is recommending client-side rendering as the future development path.

 

SharePoint JavaScript object model (JSOM)

JSOM means not changing anything with the way SharePoint works but simply inserting a little bit of code is that how it displays on the page looks different. CSR (client-side rendering) is the trick that makes this happen. As you can see from the three web parts below we have influence the behavior of the display of calendars and news in addition to that when we look at the individual items within the list they also are styled.

 

Objects that have a JSLink property:

  • List Views (some exceptions, e.g. Calendar View)
  • List Forms (New, Edit, View forms)
  • List View and List Form web parts
  • Site Column (Fields)
  • Content Type

Screen shot of several lists all styled to look similar.

 

This happens through the magic of adding in a script file

You do that and within a webpart misc settings. Yes it's the very last configuration setting. JSLink files have the ability to quickly and easily change how a list views and forms are rendered.

 

More specifically how the fields in that list should be displayed.

 

Notice the read more button and image display in the screen shot below.

 

 

Programmatically setting the JSLink Property

We can define/change the JSLink property in many, many ways, as always SharePoint provides different paths to do the same thing:

 

  • Declaratively in Schema.xml file when building a List Definition
  • Programmatically using C# and the Server-Side Object Model
  • Programmatically using JavaScript using the JavaScript Object Model (JSOM)
  • Programmatically using .NET Client Side Object Model (CSOM)
  • Using PowerShell (in combination with CSOM)
  • Thru a SharePoint API REST Call

 

We won't enter in details of each method, as it could take pages and pages of information and examples, but it's easy to find the information on the Internet!

 

When building a List Definition (declaratively in XML), we can define the JSLink property for each Form (New, Edit, Display) and List View, right on the Schema.xml file.

This way, every time we create a List or Document Library, based on that specific List Definition, our custom rendering will be applied by default. No need to edit web part properties!

 

Take a look at this example, defining a custom rendering for NewForm.aspx form, using Visual Studio:

 

<List xmlns:ows="Microsoft SharePoint" Title="Requests" DisableGridEditing="TRUE" FolderCreation="FALSE" NavigateForFormsPages="FALSE" EnableContentTypes="TRUE" Direction="$Resources:Direction;" Url="Lists/Requests" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">

<MetaData>

<ContentTypes>

//Content types

</ContentTypes>

<Fields>

//Fields

</Fields>

<Views>

//Views

</Views>

<Forms>

<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />

<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" JSLink="~site/Lists/Files/RequestFormCRS.js" />

</Forms>

</MetaData>

</List>

 

This is another example, of a JSLink applied to a View, also defined in Schema.xml:

 

JSLink URLs and Tokens

When you are constructing your JSLink URL there are a number of tokens you can take advantage of, they're there to avoid specifying long fully qualified URLs and/or domain names.

  • ~site – reference to the current SharePoint site (or "Web")
  • ~sitecollection – reference to the current SharePoint site collection (or "Site")
  • ~layouts – version specific reference to the web application Layouts folder (so it will automatically swap out /_layouts/14 or /_layouts/15 for you)
  • ~sitecollectionlayouts – reference to the layouts folder in the current site collection (e.g. /sites/team/_layouts/15)
  • ~sitelayouts – reference to the layouts folder in the current site (e.g. /sites/teams/subsite/_layouts/15)

 

How to make your own custom rendering

Everything starts with a List or Library, in our example, we wanted to add a place in our Intranet, where employees could share/sell stuff between them, so we called it "MarketPlace".

 

Here's the Picture Library:

 

These are the fields/columns we'll be using:

 

Last step, is to have a list view, which includes all the fields/columns we'll use in our CSR file, so we created a new view and called it "Home JSLink" (the name is irrelevant)

 

Another important detail:

This view must have the "logic" of what exactly we want to display (in terms of data). That means not only the columns, but also any filtering, sorting and number of results we want our "working dataset" to have.

For example if we want to display only 3 items and ordered alphabetically, then THAT logic should be "baked" into the view we'll use to "feed" our custom rendering.

 

We could do some filtering/sorting on the JavaScript code, but that will make it more complex to maintain. Using a simple view, we can change filters, sorting or item limits without touching the code at all!

 

Creating static HTML mockup/template

Next step is to create a static HTML mockup, prototype, template, etc., with the intended design, you could use the tool of your choice for this task.

 

Since I'm an old-fashioned guy and I like the "old" WYSIWYG designers, I tend to use Dreamweaver or Visual Studio to have a preview of the HTML layout, but I ended up changing a bit and used used Visual Studio Code.

In this case we're replacing a Picture Library list view, with our custom thumbnails, but you could build a table, or a list of items, whatever works best for you:

 

This is how it looks like our template:

 

Here's the code, a pretty simple HTML list with some content inside and some CSS to make it look nicer.

If possible try to avoid any JS & CSS library or framework that could break SharePoint UI (such as Bootstrap), I used plain, vanilla, HTML, CSS and jQuery.

 

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>MarketPlace</title>

<base href="http://spdev2013:2000/" />

<link rel="stylesheet" type="text/css" href="/_layouts/15/1033/styles/Themable/corev15.css"/>

<style type="text/css">

        .marketplace-rows {

            list-style-type:none;

            margin:0;

            padding:0;

        }

        .marketplace-rows li {

            margin:10px;

            border:1px solid transparent;

            border-bottom-color:#eee;

            float:left;

            width:260px;

            height:230px;

        }

        .marketplace-tileview-root {

            width:250px;

            height:150px;

            margin:auto;

            /*border:1px solid:#dddddd;*/

            box-shadow: 3px 3px 6px #dddddd;

        }

        .marketplace-tileview-root:hover {

            box-shadow: 0 0 6px rgba(35, 173, 278, 1);

        }

        .marketplace-tileview-content {

            width:250px;

            height:150px;

            margin:auto;

            overflow:hidden;

            text-align:center;

        }

        .marketplace-title {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:17px;

            color:#0000ff;

        }

        .marketplace-price {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:22px;

            color:#000000;

            text-align:right;

        }

        .marketplace-description {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:12px;

            color:#bbbbbb;

        }

        .marketplace-offer-type {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:15px;

            color:#000000;

            text-align:right;

        }

</style>

</head>

<body>

    <!--Begin view header-->

    <div id="divMarketPlace">

        <p>

    <span class="ms-rteStyle-HeaderOutline2">MarketPlace</span>

        </p>

        <ul class="marketplace-rows itemHover">

        <!--End view header-->

            <!--Begin thumbnail tile-->

    <li>

    <div class="marketplace-tileview-root">

    <div class="marketplace-tileview-content">

    <a href="#" title="Click to open this offer in a detailed view">

    <img src="/MarketPlace/_w/bike for sell_jpg.jpg" style="height:150px; border:0;" />

</a>

</div>

</div>

<table cellpadding="0" cellspacing="0" width="95%" style="margin:auto; margin-top:10px;">

    <tr>

    <td class="marketplace-title">Great Race Bike</td>

<td class="marketplace-price">$200</td>

</tr>

<tr>

    <td colspan="2">Have fun with this great bike.</td>

</tr>

<tr>

    <td colspan="2">San Diego, CA</td>

</tr>

<tr>

     <td>Seller: John Doe</td>

    <td class="marketplace-offer-type">SALE</td>

</tr>

</table>

            </li>

            <!--End thumbnail tile-->

        …… other rows here…… (one for each item on the list)

        <!--Begin view footer-->

        </ul>

    </div>

    <!--End view footer-->

</body>

</html>

 

Pay attention to the head section (highlighted in light blue), I'm using a local SharePoint site (in a VM), and also adding to the page the out-of-the-box SharePoint core CSS.

So we build our design and styles on top of that. This way the mockup will look the same when deployed to a real SharePoint site.

 

Please note there're three well defined sections:

  • List view header (in orange)
  • Item row (in green, we'll repeat this section one for each item on the list)
  • List view footer (in yellow)

Once we're happy with our HTML template, it's time to start building the JSLink/CSR file, slicing our HTML template.

 

Our example is around 210 lines of code and has a few sections:

  • Define CSS styles
  • Define CSR object context
    • Header (place here corresponding HTML markup from orange section)
    • Footer (place here corresponding HTML markup from yellow section)
    • List template type
    • Pre-render and post-render events
    • Item template (place here corresponding HTML markup from green section)
    • Final registration of our custom CSR within JSOM
  • Build the actual Item Template
  • Add Pre-Render and/or Post-Render code if needed
  • Common/helper functions

We'll go thru each item in detail:

 

First, define CSS Styles

Here we need to use our CSS from the HTML template and save it into a variable:

 

// Use "Multi String" javascript to embed the required css

var MultiString = function (f) {

return f.toString().split('\n').slice(1, -1).join('\n');

}

var marketplaceStyle = MultiString(function () {/**

        .marketplace-rows {

            list-style-type:none;

            margin:0;

            padding:0;

        }

        .marketplace-rows li {

            margin:10px;

            border:1px solid transparent;

            border-bottom-color:#eee;

            float:left;

            width:260px;

            height:250px;

        }

        .marketplace-tileview-root {

            width:250px;

            height:150px;

            margin:auto;

            box-shadow: 3px 3px 6px #dddddd;

        }

        .marketplace-tileview-root:hover {

            box-shadow: 0 0 6px rgba(35, 173, 278, 1);

        }

        .marketplace-tileview-content {

            width:250px;

            height:150px;

            margin:auto;

            overflow:hidden;

            text-align:center;

        }

        .marketplace-title {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:17px;

            color:#0000ff;

        }

        .marketplace-price {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:22px;

            color:#000000;

            text-align:right;

        }

        .marketplace-description {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:12px;

            color:#bbbbbb;

        }

        .marketplace-offer-type {

            font-family:"Segoe UI", Verdana, sans-serif;

            font-size:15px;

            color:#000000;

            text-align:right;

        }**/

});

 

Next, define CSR object context

(function () {

// Fallback to loading jQuery from a CDN path if the local is unavailable

(window.jQuery || document.write('<script src="//ajax.aspnetcdn.com/ajax/jquery/jquery-1.10.0.min.js"><\/script>'));

 

// Create an object to store context information about the view that we want to change its output render

var marketplaceContext = {};

marketplaceContext.ListTemplateType = 109; // Picture Library List Template

marketplaceContext.Templates = {};

 

// Be careful when adding the template header, because it will break the default list view render

marketplaceContext.Templates.Header = '<div id="divMarketPlace">'

+ ' <p>'

+ '        <span class="ms-rteStyle-HeaderOutline2">MarketPlace</span>'

+ '  </p>'

+ '    <ul class="marketplace-rows">';

 

marketplaceContext.Templates.Footer = ' </ul>'

+ ' <a href="/Lists/News/AllItems.aspx">View all company news</a>'

+ '</div>';

 

// If needed, add OnPreRender and/or OnPostRender event handlers, in this case we'll use OnPostRender to inject our CSS before our dynamically built HTML

marketplaceContext.OnPreRender = marketplaceOnPreRender;

marketplaceContext.OnPostRender = marketplaceOnPostRender;

 

// This line of code tells TemplateManager that we want to change all HTML for our custom item row render

marketplaceContext.Templates.Item = marketplaceTemplate;

 

// Register our CSR template in SharePoint

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(marketplaceContext);

})();

 

Next, build the actual Item Template

// This function provides the rendering logic

function marketplaceTemplate(ctx) {

    // MarketPlace (Picture Library) list GUID.

    // This is not mandatory but useful if we have on the same page two CSR from different lists or libraries, but from the same kind.

    // For example two calendars, two announcements, etc

    var listName = "{AC80C8D8-B5C6-4E64-A1F4-C38274729CA2}";

 

    if (ctx.listName === listName) {

        // Get fields data

var id = ctx.CurrentItem.ID;

var title = ctx.CurrentItem.Title;

var imageFileName = ctx.CurrentItem["FileLeafRef"];

var description = ctx.CurrentItem["Description"];

var seller = ctx.CurrentItem.Author[0].title;

var created = new Date(ctx.CurrentItem["Created"]);

        var productCategory = ctx.CurrentItem["ProductCategory"];

var location = ctx.CurrentItem["Location"];

var price = ctx.CurrentItem["Price"];

var offerType = ctx.CurrentItem["OfferType"];

 

        // For the image name and url, we're using a custom function to build the output value

imageFileName = buildSharePointThumbnail(imageFileName);

 

        // Return whole item html

        // Stringify the HTML markup into a variable, and replace dynamic content with the above variables, containing list data

var html = '     <li>'

        + '      <div class="marketplace-tileview-root">'

        + '      <div class="marketplace-tileview-content">'

        + '      <a href="javascript:void(0);" onclick="javascript:marketplace(' + id + ');" title="Click to open this offer in a detailed view">'

        + '      <img src="' + imageFileName + '" style="height:150px; border:0;" />'

        + ' </a>'

        + ' </div>'

        + ' </div>'

        + ' <table cellpadding="0" cellspacing="0" width="95%" style="margin:auto; margin-top:10px;">'

        + '      <tr>'

        + '     <td class="marketplace-title">' + truncateString(title, 18) + '</td>'

        + ' <td class="marketplace-price">' + price + '</td>'

        + ' </tr>'

        + ' <tr>'

        + '      <td colspan="2">' + truncateString(description, 35) + '</td>'

        + ' </tr>'

        + ' <tr>'

        + '      <td colspan="2">' + location + '</td>'

        + ' </tr>'

        + ' <tr>'

        + '      <td>Seller: ' + seller + '</td>'

        + '      <td class="marketplace-offer-type">' + offerType + '</td>'

        + ' </tr>'

        + ' </table>'

        + ' </li>';

 

return html;

}

else {

        // If list GUID doesn't match, return standard/ootb item rendering

return RenderItemTemplate(ctx);

}

}

 

Next, add pre-render/post-render code if needed

In our example, we use PostRender to inject our CSS right before the dynamically built HTML (note we use jQuery selectors and DOM manipulation for this purpose).

function marketplaceOnPreRender() {

}

 

function marketplaceOnPostRender() {

$("#divMarketPlace").prepend('<style type="text/css">' + marketplaceStyle + '</style>');

}

 

Finally, our common/helper functions

Mainly for strings manipulation and modal window handling:

/*** Common Functions ***/

function removeFileExtension(fileName) {

    var temp = fileName.replace(".jpg", "");

    temp = temp.replace(".png", "");

    temp = temp.replace(".gif", "");

    temp = temp.replace(".bmp", "");

    return temp;

}

 

function buildSharePointThumbnail(imageFileName) {

var temp = "";

if ((imageFileName == "") || (imageFileName == undefined)) {

temp = "/SiteAssets/jslink/images/NoImageAvailable.png";

}

else {

    if (imageFileName.indexOf(".jpg") != -1) {

temp = "/MarketPlace/_w/" + removeFileExtension(imageFileName) + "_jpg.jpg";

}

else if (imageFileName.indexOf(".png") != -1) {

temp = "/MarketPlace/_w/" + removeFileExtension(imageFileName) + "_png.jpg";

}

else if (imageFileName.indexOf(".gif") != -1) {

temp = "/MarketPlace/_w/" + removeFileExtension(imageFileName) + "_gif.jpg";

}

else if (imageFileName.indexOf(".bmp") != -1) {

temp = "/MarketPlace/_w/" + removeFileExtension(imageFileName) + "_bmp.jpg";

}

}

return temp;

}

 

function truncateString(longText, length) {

//This regex expression use to delete html tags from the Body field

var regex = /(<([^>]+)>)/ig;

longText = longText.replace(regex, "");

var newBodyValue = longText;

if (longText && longText.length >= length) {

newBodyValue = longText.substring(0, length) + " ...";

}

return "<span title='" + longText + "'>" + newBodyValue + "</span>";

}

 

function marketplaceShowModal(id) {

var src = "/MarketPlace/Forms/DispForm.aspx?ID=" + id;

 

var options = {

url: src,

title: "MarketPlace",

allowMaximize: true,

showClose: true

};

 

SP.UI.ModalDialog.showModalDialog(options);

}

 

function marketplaceSOD(id) {

SP.SOD.executeFunc("sp.ui.dialog.js", "SP.UI.ModalDialog.showModalDialog", function () { marketplaceShowModal(id); });

}

 

function marketplace(id) {

ExecuteOrDelayUntilScriptLoaded(marketplaceSOD(id), "sp.js");

}

 

 

Next step, create a page in your SharePoint site

It can be any type of page that supports web parts.

 

Add a web part, select "App Parts", select your MarketPlace library (or whatever name you gave it), and change the view to your "Home View".

 

Next, edit web part properties and specify the JSLink property with path to your custom JS file:

 

Apply changes, save the page and refresh. This is how we turned this:

 

Into this:

 

Keep in mind that JSLink files are cached, so every time you make an update or change to the code, be sure to Ctrl + F5 to fully refresh the page.

 

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you code samples for your JSLinks project!

Apr 11
How to Best Align SharePoint Features to your Business Needs

We all want progress, but if you're on the wrong road, progress means doing an about-turn and walking back to the right road; in that case, the man who turns back soonest is the most progressive. - C.S. Lewis

This is probably my favorite topic regarding SharePoint. As SharePoint consultants we are often asked to come in and help companies get more value from SharePoint. It's not uncommon to find a previous installation of SharePoint was just languishing and did nothing for the business. We are asked in as problem solvers to uncover why the adoption stalled out. There are number of reasons typically and include lack of understanding of the complexity of the technology, training and support for the people who will be using it, but even more so an overarching strategy. Technology does not provide strategy. This post provides guidance that we hope it's helpful.

We provide assistance with strategy planning using the tools in our SIMPLE method toolkit, to establish your business needs, and map them to SharePoint. Workshops use demos of our existing systems to demonstrate how portals, collaboration, search, business forms, content management, business intelligence and workflow can be used. We conduct the process of building a BA (your business reference architecture) and contrasting it to a RA (reference architecture) to establish your business needs, and map them to SharePoint. This would be augmented with building a roadmap using our six month plus method for strategic planning of your tactical goals.

The strategy of the organization lays out the combination of policies, processes, and procedures that are employed to help an organization achieve its' mission and vision statements. The success of SharePoint is directly related to how well the organizations mission, vision, and goals are developed and communicated to form a proper context into which SharePoint can be implemented.

Our approach is to build your BA (business reference architecture) and compare it to a RA (reference architecture). The RA is a way to understand what functions and processes in which a business could engage. The reference architecture can be treated like a checklist: compare what your business does with that which is presented in the RA and then build the BA for your organization. The RA is used to ensure that you don't miss any parts in building out your BA. The entire purpose in using the RA is to build out your own BA as a foundation to understanding which parts of SharePoint should and should not be used in your environment. The goal of using the RA is to build out your own Business Architecture so that you can better understand which features of SharePoint to utilize that will support the goals and objectives of your organization.

  1. Consider each part of the RA and map your business to it.
  2. Build your own business architecture (BA)
  3. Map the features of SharePoint to your BA
  4. Map other enterprise applications in your environment to your BA

For example, one organization might emphasize the ECM features in SharePoint while another might emphasize workflows. More to the point, some might list workflows as a supporting feature in their BA while others might list workflows as a supported feature, the latter meaning that workflows is a key reason that SharePoint is being implemented and the other features of content types or lists are implemented only to support the workflows needed for the solution.

Our six month plus method for designing a SharePoint roadmap

 

  1. Uncover and brainstorm potential intranet activities
  2. Identify criteria for determining which activities to pick
  3. Identify constraints that limit the intranet and intranet team
  4. Review each activity in turn against the criteria and constraints
  5. Determine a draft list of activities for the coming six months
  6. Assess the list as a whole against the criteria and constraints
  7. Obtain management signoff and develop a concrete project plan
  8. Implement and launch the improvements!

Our 6 month Plus method creates a roadmap for your SharePoint potential future.

 

It's a focus on the coming six planned and executed in detail, with sketched-out ideas for the second six months. This adds up to 12 months of planning, and becomes the basis for a solid and ongoing intranet strategy. At the end of each 6 months new functionality or content is delivered that helps position the intranet for the next round of improvements. Releasing intranet 'upgrades' every six months works well.

 

Instead of steadily working on longer-term activities, this approach asks: what can be delivered in the next six months? In answering this question, it also identifies those activities that are not just doable, but also worth doing (the best bang for the buck). This is a cyclic process, with each six month period of activity leading into the next. Underlying this is the steady building of momentum for the intranet, giving an 'upwards spiral' that allows more to be done in each six months period. In this way, the intranet team can steadily work on ever-larger needs and issues, even when the starting point is extremely constrained. This means you are not waiting for the 'right conditions' to arise, and you can act constructively and proactively to build an increasingly effective intranet.

 

We love helping people with SharePoint and Microsoft SharePoint consulting is all we do.

Please contact us and will provide a demo of our past work and discussed unique challenges that you're facing with your company. And don't worry you're not alone it's a complex product,

Apr 02
Moving File Shares to SharePoint as simply as possible

Talking about documents and SharePoint falls under the category of ECM (or enterprise content management).

It can be an extremely tedious subject to discuss since it has a lot of unique terminology and some consultancies specialize in it. You can imagine if they start off talking about moving millions of documents from one system to another with a multiyear phased approach it can be a big deal. However you are in luck as we decided to bake the name "simple" into our company name many years ago with the premise that if you were truly expert at doing something you could do it in the simplest way possible. As SharePoint consultants and veterans for many files migrations we have some tips to make this as simple as possible.

In the following example we break down migrating documents from a simplistic ECM system (file shares) to SharePoint, however similar steps can be used when migrating from various other ECM systems to SharePoint.

Step One of course is to set up your local SharePoint to index so you can search all of your local resources.

File shares can be broken up into several areas with different search scopes. (clients / operations / marketing / everything)

Step Two is to review your current file shares and deduce a pattern.

Typically, files are organized with a combination of schemes that are mixed together. It's a little bit like looking at a messy closet and that if it was not your closet you might not get the pattern right off but whoever owns the closet has some degree of organization and they can find their socks from their shirts. With files, this consists of a combination of document purpose, date, or related client. So unless you are running your entire company out of dropbox there is already an organization within your file shares and that can be used. The process of reviewing it and producing a pattern from it is referred to by a fancy term that I love to use as it's Uber geeky. It's called "harvesting your intrinsic taxonomy." Meaning that it is organized in a way that is working for you now, and we can glean a pattern from it to start off a formal taxonomy that will service tags within SharePoint. What we typically do is have our clients run a batch file which will enumerate the folder names and file names. We then assist in coming up with a tagging taxonomy that everyone agrees make sense and is good enough for a start.

Step Three is to put the terms into SharePoint in its metadata storage or term store.

And then the magic occurs. We do a proof of concept with the most valuable files and typically we let our clients use Windows Explorer to drag-and-drop right into SharePoint folders that have been pre-tagged with your taxonomy terms. You then get the Amazon shopping cart like experience shown below.

Step Four is where everyone now understands the process and can speak the terminology of SharePoint ECM.

You then take a good look at what is important to migrate to SharePoint, and now that you know the work involved the resources can be planned and you can begin the process of migration of the rest of the body of files into SharePoint. Whether it's ad hoc, all at once, or some combination is entirely up to the client. We have many tools that can automate the process of migration. They can scan for illegal characters that cannot exist within file names and change these on-the-fly. They can apply metadata and tags to files as they are moved, and many other automation tasks.

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper all about why Infowise is right for you!

Mar 20
How to Use and Design SharePoint Testing and Staging Farms

Our firm builds many SharePoint farms during the course of SharePoint migrations or rollout of our Porteo solution (our ready-to-go intranet ), and the topic of a testing farm often comes up. Let's cover a few of the most pressing points first.

 

 

Is it a warm standby or a cold standby?

Warm means it's on and cold means it's off until needed. This has bearing on licensing from Microsoft. Cold standby servers don't need a license and we often get third-party tools licensing for only 25% of what a regular warm standby production license cost.

What is the purpose of the farm?

From our perspective the purpose of the farm dictates whether it's a disposable farm that would be snap shot and rolled back were be persistent and kept up.

  • Development farms are for trying out questionable third-party add-ons were doing complex PowerShell scripts to restructure a site or metadata. By design these farms should not be persistent and they should have a roll back to a previous snapshot.
  • Staging farms are for preproduction and to allow a broad consensus of non-technical users to visualize changes that are generally enhancements. They need to mimic production to some extent and they are expected to stay somewhat in sync with the production database. They can be warm standbys or cold.

A physical server with SSD's in Raid 10 Provide fastest possible Testing Lab

A $1500 Game class PC using all SSD disks in RAID 10, w/32GB RAM. It uses volume imaging for a backup of the host (which also grabs the VMs at the same time).

 

Class of Farm

Best Usage

 

Staging Server Farm

  1. With separate SharePoint and SQL servers, this farm is most like the production farm
  2. Ideas or minor changes should be experimented here before being applied to the Production farm
  3. The SQL data need not be a perfect replica of prod but the VM WFE should always be.

Development Server Farm

  1. This farm is totally self-contained making it extremely easy to snapshot via Hyper-V (or VMware) and restore to previous versions
  2. This is an excellent place to test "questionable" 3rd party add-ons or serious structural changes to the SharePoint site, where a roll-back to a previous snapshot is expected

  1. Live environment
  2. Significant changes should not be made without first testing on DEV Farm
    1. Software Updates
    2. Site column updates

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper about how to best utilize SharePoint!

Mar 02
What is a SharePoint On Line Team Site?

O365 is fairly unconventional in its approach to grab millennials used to social media. Microsoft says "Functionality is introduced gradually to organizations" but in our experience its pace is a bit hard to manage from the stand point of user training. SimpleSharepoint provides SharePoint consulting to assist with those possible issues.

What is a SharePoint New Teams Site

A SharePoint team site connects you and your team to the content, information, and apps you rely on every day. For example, you can use a team site to store and collaborate. A SharePoint team site connects you and your team to the content, information, and apps you rely on every day. For example, you can use a team site to store and collaborate on files or to create and manage lists of information. On a team site home page, you can view links to important team files, apps, and web pages and see recent site activity in the activity feed.

You access your team site from the SharePoint Home page, from the Files section of your Office 365 Group, or on the go with the SharePoint mobile apps. You can also find your SharePoint files in OneDrive.

Components of a Team Site

Site header   

At the top of a team site, you'll see the site logo, the name of the site, and whether the site is private (only approved members can view) or public (anyone in your organization can view).

If you have permission to edit the site, there's also a link at the top of the team site to add a new list, document library, page, news post, or web app to the site.

Left-hand navigation pane   

On the left-hand side of the site, at the top of the navigation pane, you'll see a search box where you can search for files on your team site. Suggestions are shown, as you type, based on files you've recently worked on or viewed. Press Enter to view a full list of search results displayed on a separate page where you can expand what's shown to include results for all SharePoint sites or refine the results to show only certain file types.

Under the search box, you'll also see links to the default team document library, the team OneNote notebook, site pages, site contents, and the site recycle bin. If you have permission to edit the site, you can add additional links or change the order of the links as needed.

Home page   

The team site home page contains various default web parts. For example, there is a News section where you can create and display posts about important or interesting items for your team. Just click +Add, create your story, and then click Publish to display the story at the top of the team site home page. To view the entire article, just click the headline.

You can find older news stories by clicking See all in the top right corner of the News section. Here you can browse all news articles published by the team. For more information about Team News, see "Keep your team updated with News on your team site".

You may also see a Quick Links section where you can add a link to files or web pages to the top of the page. Just click +Add and either enter the URL or select an item from a list of recent files or web pages. For more information about this web part, see "Use the Quick Links web part".

The home page also contains an activity feed that lets you see, at a glance, when someone adds or edits a file, page, or list on your site. For more information about this web part, see "Use the Site Activity web part".

There may also be a section that displays links to files on the team site home page. For more information, see Use the File viewer web part

Editing the home page   

If you have edit or owner permissions on the site, you can edit the home page by clicking Edit in the top right corner of the page, making your changes, and then choosing Save and close to save your changes and close edit mode. Click Publish if you're ready for users to see your changes. For more information about editing the home page of your team site, see Using web parts on pages.

Integration with Office 365 Groups

Office 365 Groups brings together conversations and calendar from Outlook, information and files from SharePoint, tasks from Planner, and a shared OneNote notebook into a single collaboration space for your team. All new and existing Office 365 Groups get a team site.

When you create a team site in SharePoint Online, an Office 365 Group is automatically created and any users you add to your team site are automatically added to your Office 365 Group. Similarly, when you create an Office 365 Group, a SharePoint team site is automatically created and any users you add to your Office 365 Group get added to the team site. Confusing right? All members of the Office 365 Group have access to the team site and all members of the team site have access to the Office 365 Group. Members can add additional document libraries, lists, and web apps as needed. There's no need to create a distribution list or a SharePoint group.

In addition to accessing your document library files directly from your team site, you can also get to them by clicking Files in the top navigation bar of your Office 365 Group. To get to the team site associated with your Office 365 Group, just click Site.

To get back to your Office 365 Group from the team site, just click the site title to open the Group card and click one of the links at the bottom of the card.

On a team site home page, you can view links to important team files, apps, and web pages and see recent site activity in the activity feed.

You can access your team site from the SharePoint Home page, from the Files section of your Office 365 Group, or on the go with the SharePoint mobile apps. You can also find your SharePoint files in OneDrive.

Site header   

At the top of a team site, you'll see the site logo, the name of the site, and whether the site is private (only approved members can view) or public (anyone in your organization can view).

If you have permission to edit the site, there's also a link at the top of the team site to add a new list, document library, page, news post, or web app to the site.

Left-hand navigation pane   

On the left-hand side of the site, at the top of the navigation pane, you'll see a search box where you can search for files on your team site. Suggestions are shown, as you type, based on files you've recently worked on or viewed. Press Enter to view a full list of search results displayed on a separate page where you can expand what's shown to include results for all SharePoint sites or refine the results to show only certain file types.

Under the search box, you'll also see links to the default team document library, the team OneNote notebook, site pages, site contents, and the site recycle bin. If you have permission to edit the site, you can add additional links or change the order of the links as needed.

Home page   

The team site home page contains various default web parts. For example, there is a News section where you can create and display posts about important or interesting items for your team. Just click +Add, create your story, and then click Publish to display the story at the top of the team site home page. To view the entire article, just click the headline.

You can find older news stories by clicking See all in the top right corner of the News section. Here you can browse all news articles published by the team. For more information about Team News, see Keep your team updated with News on your team site.

You may also see a Quick Links section where you can add a link to files or web pages to the top of the page. Just click +Add and either enter the URL or select an item from a list of recent files or web pages. For more information about this web part, see Use the Quick Links web part.

The home page also contains an activity feed that lets you see, at a glance, when someone adds or edits a file, page, or list on your site. For more information about this web part, see Use the Site Activity web part.

There may also be a section that displays links to files on the team site home page. For more information, see Use the File viewer web part

Editing the home page   

If you have edit or owner permissions on the site, you can edit the home page by clicking Edit in the top right corner of the page, making your changes, and then choosing Save and close to save your changes and close edit mode. Click Publish if you're ready for users to see your changes. For more information about editing the home page of your team site, see Using web parts on pages.

Integration with Office 365 Groups

Office 365 Groups is a powerful and productive platform that brings together conversations and calendar from Outlook, information and files from SharePoint, tasks from Planner, and a shared OneNote notebook into a single collaboration space for your team. All new and existing Office 365 Groups get a team site.

When you create a team site in SharePoint Online, an Office 365 Group is automatically created and any users you add to your team site are automatically added to your Office 365 Group. Similarly, when you create an Office 365 Group, a SharePoint team site is automatically created and any users you add to your Office 365 Group get added to the team site. All members of the Office 365 Group have access to the team site and all members of the team site have access to the Office 365 Group. Members can add additional document libraries, lists, and web apps as needed. There's no need to create a distribution list or a SharePoint group.

In addition to accessing your document library files directly from your team site, you can also get to them by clicking Files in the top navigation bar of your Office 365 Group. To get to the team site associated with your Office 365 Group, just click Site.

Getting Back

To get back to your Office 365 Group from the team site, just click the site title to open the Group card and click one of the links at the bottom of the card.

We love helping with SharePoint and its all we do.

Contact us and mention this post and I will send you a white paper on how to keep it simple.

 

Jan 16
Setting Smart Goals for SharePoint Productivity

The acronym SMART has several slightly different variations, which can be used to provide a more comprehensive definition of goal setting: S - specific, significant, stretching. M - measurable, meaningful, motivational. A - agreed upon, attainable, achievable, acceptable, action-oriented.

Specific

  • What do I want to accomplish using our Intranet?
  • Why do I want to accomplish this?
  • What are the requirements? (time & licensing costs)
  • What are the constraints? (internal training, bandwidth, integration points)

Measurable

  • How will I measure my progress?
  • How will I know when the goal is accomplished?

Achievable

  • How can the goal be accomplished?
  • What are the logical steps I should take?

Relevant

  • Is this a worthwhile goal?
  • Is this the right time?
  • Do I have the necessary resources to accomplish this goal? (think support & training)
  • Is this goal in line with our long term objectives?

Time-Bound

  • How long will it take to accomplish this goal?
  • When is the completion of this goal due?
  • When am I going to work on this goal?

 


 

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper about how to best utilize SharePoint!

Jan 05
Showing Data from Subsites in SharePoint

Don't let how you're going to consume data influence how you going to manage data! There are many reasons for keeping subsites, libraries, and lists as containers to organize data. Generally, these relate to security and who's managing them. The simpler you make it for management means the less that can go wrong. That's where this post will focus - how to surface or show data contained in subsites within a parent site.

There are several methods for doing this, but this post will discuss the Content Query Web Part (CQWP).

  • How to use it
  • Best practices
  • Hidden gotchas

How to Use it


Start with your information architecture plan. That is the relationship of subsites to parent sites and where the data will actually live in the managed versus where you want to show the data. This is your design process.

Eventually you get around to the mechanics of developing it which in this case means configuring the CQWP.

Steps:

  1. Start Internet Explorer and type the URL for your organization's SharePoint server. The Start page will open.
  2. Navigate to the site where you want to add the Content Query Web Part.
  3. Click the Page tab and select the Edit Page button. The Page ribbon will appear and the page will open in Edit Mode.

 

Figure 1: The Page Ribbon and Page in Edit Mode

  1. Select a zone and click Add a Web Part. The Add Web Parts header will open.
  2. Select the Content Rollup folder and then click the Content Query Web Part. The Web Part will be selected.
  3. Click Add. The Add Web Parts header will close and the new Web Part will appear in the selected zone.
  4. Click the open the tool pane link. The tool pane for the Content Query Web Part will appear.

 

Figure 2: The Content Query Web Part Tool Pane

  1. Click the Query expand control to expand the section, then click the Show items from the following site and all subsites option.
  2. In the adjacent URL field enter the URL for the site.
  3. Continue to fill out the remainder of the Content Query tool pane as desired.

Click OK. The Content Query Web Part Tool Pane will close and the new Web Part will be visible on the page.

Building the Query


Let's walk through an example. For an article relating to preschools, the Managed Metadata fields would include related topics, such as "babies," "childcare," and "early childhood education." In your article page layout, you could then have a section with the category tags (in this case, "Preschools"), and another that shows articles with similar or matching tags- your CQWP.

Best practices

One of the best parts about CQWP is the ability to display queried content on a page; however, most people will want to avoid having to create a new CQWP every time they post new content. To prevent that, you want to create a custom Managed Metadata field for each category of content. These Managed Metadata fields will let you link to the term store, which will create a list of categories for the content creators to choose from. You can also add other fields that will allow queries to be more specific and useful, with the PageFieldValue and PageQueryString tokens to your Managed Metadata. An excellent Best Practice for developing a functional CQWP is to work with the content creators to plan the categories they will primarily be using. By generating a list of potential content topics, you will be able to build the CQWP more easily and save everyone time in the long run.

Hidden gotchas


Content Query Web Part (CQWP) will security-trim search results, so users only see items they are entitled to view. Also, if you cast your net too wide, it will be slow. Plan carefully so you don't create a query that is so large it can bog down your system.

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper all about why Infowise is right for you!

Dec 19
The Power of Views in Lists and Libraries

Imagine you have an enormous spreadsheet in excel. If you wanted to find a few certain items it would be extremely hard if the only way you could find them was to scroll through the whole list. Fortunately, excel has the ability to filter data and make views so that finding certain data is easier. What is even more fortunate, is that SharePoint lists and libraries have this same functionality.

Data can be sorted on the fly by clicking on the column name or you can make a view so that you don't have to keep resorting data. Many clients that are first getting used to the SharePoint environment often don't know about the power of views and yet they are one of the most simple and easy customizable features of SharePoint.

By default, SharePoint lists and document libraries start with an All Documents or All Items view and from those any number of different views can be made. That way there can be a clean, useful view for various situations instead of have one cluttered view that's trying to do everything.

How to Make a Custom View

  • Start Internet Explorer and type the URL for your organization's SharePoint server. The Start page will open.
  • Click on the Settings menu gear icon and select the Site Contents option.
  • Click the library that you want to view. The document library page will open.
  • Click the Library tab. The Library ribbon will open.
  • Click the Create View button. The View Type page will open.

 

Figure 1: The View Type Page

Note: There are five view formats provided with SharePoint: the Standard, Calendar, Datasheet, Access database, and the Gantt project management view. A sixth option allows you to create a custom view in SharePoint Designer. For more information about views in SharePoint, see Appendix D, "Views."

  • Click a view format or existing view. The Create View page for that format will open.

 

Figure 2: The Create View Page

  • In the View Name field enter a title for the view.
  • You can select the Make this the default view option. This will make this view the opening view for this library.
  • Depending on the type of view you are creating, select the appropriate values to configure the view.
  • Click OK. The library or list will be displayed in the new view.

 

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper on all of the ways we can help you customize SharePoint for your needs!

Dec 01
Connecting to SharePoint from an Outlook Message

SharePoint is all about sharing and collaborating, it's right there in the name, SharePoint, and it's something that as SharePoint consultants, we take seriously. What's the point of having an amazing list if no one can find it? So what's a good way to quickly and easily share a library with someone? Copying the URL can sometimes be messy and cause security issues, but luckily SharePoint has a neat feature built right into the ribbon of a list to easily email it to someone. You click on the button it opens up an email and you send it and then whoever gets it can click on the link and get right to work. Pretty easy right? That's how it should be.

How to Email a Library Link:

  • Start Internet Explorer and type the URL for your organization's SharePoint server. The Start page will open.
  • Navigate to the library in which you are interested. The library page will open.
  • In the ribbon click the Library tab. The Library ribbon will open.

    Figure 1: The Library Ribbon

  • Click the Email a Link button. An Outlook message window will appear.

    Figure 2: The Outlook Message Window with the Library Link

Note: If Microsoft Outlook is not your default email program, you will see a Compose Email window that contains a link to the document in the body of the email.

  • In the To field, type email address(es).
  • In the Subject field, enter a subject.
  • In the body of the email message, add a message.
  • Click Send. The message will be sent.

How to Open a SharePoint Link:

  • In Outlook, navigate to the Inbox.
  • In the Inbox pane, double-click the message. The message window will appear.
  • In the Share ribbon, click the Connect to this Document Library button. A confirmation dialog box will open.
  • Click Yes. The library will appear in the folders pane of Outlook.

Note: You may need to click the Send/Receive button in order to sync the documents with their latest version in SharePoint. For more information on working with library filed in Outlook, see the task "Edit Library App Files in Outlook."

Figure 3: The Connected Library in Outlook

How to Hide Offline Copies from Outlook:

When you connect to a SharePoint library app, you get the whole contents of the library. There may be instances where you won't need a copy of every document or file in the library. Here's how to remove offline copies from Outlook. Note that this does not remove the original copy of the document from the SharePoint server.

  • In Outlook, navigate to the Mail column.
  • Click the document library folder. The contents of the document library will appear in the library's pane.
  • In the library pane right click a document. The context menu will appear.

    Figure 4: The Context Menu in the Library Pane

  • Select Remove Offline Copy. The document will now appear in the Available for Download section of the library pane.

Note: There may be other additional documents in the Available for Download section since the last time you connected to the library.

Figure 5: The Library Pane in Outlook

 

If Outlook is where you work then you might consider checking out this other post about Clever Ways to Blend Outlook and SharePoint.

We love helping with SharePoint and it's all we do so feel free to contact us!

Mention this post and we'll send you a white paper on all of the ways Outlook and SharePoint work together!

1 - 10Next