Saturday, May 30, 2015

Search Web Part - Auto Results with Partials

Hi Everyone,

Have you ever heard this user complaint?  "SharePoint search sucks, when I use google it returns results as I type and I don't need to use these wildcards"   I'm guessing if you work in this field you have.   Well here is the solution.  In this particular scenario I am attempting to search a list we maintain that is updated during site provisioning with the site name, url, and account ID so you will notice those are the fields selected.   You will need to modify that part with your field names. 

I am doing this in an on-prem 2013 environment.  

First download the files attached to this blog post and throw them in your style library.   Modify the code below to point at your list and your field names.   You will need to find your list GUID, to do that just google "find SharePoint list GUID"

jquery.spin.js

jquery-2.1.4.min.js

ajax-loader.gif

Once you've uploaded the files you can then place a script editor on a page, enter the script below, and you are in business. 

<style>

.loadinggif {

background:url('/Style%20Library/Images/ajax-loader.gif') no-repeat right center;

}

/font>/style>

<script src="/Style%20Library/Scripts/jquery-2.1.4.min.js" type="text/javascript">/font>/script>

<script src="/Style%20Library/Scripts/jquery.spin.js" type="text/javascript">/font>/script>

<script type="text/javascript">

var ajaxRequest = null;

var delay = (function(){

var timer = 0;

return function(callback, ms){

clearTimeout (timer);

timer = setTimeout(callback, ms);

};

})();

$(document).ready(function() {

$('#txtSearch').keyup(function() {

var x = this.value;

delay(function() {

if (x.length > 2) {

if (ajaxRequest != null) ajaxRequest.abort();

$('#txtSearch').addClass('loadinggif');

ajaxRequest = $.ajax({

url: location.protocol + "//YourSharePointSite/_api/web/lists(guid'125B62CA-611B-4157-9A6D-78983A53033B')/items?$select=Title,SiteUrl,AccountId,Id&$filter=substringof('" + x + "',Title) or substringof('" + x + "',AccountId)&top=20",

type: "GET",

headers: { "accept": "application/json;odata=verbose" },

success: function (data) {

$("#lstResults").empty();

var lstContents;

$.each(data.d.results, function(i, item) {

if (item.AccountId == null)

item.AccountId = '';

$("#lstResults").append("<li style='background: none; padding: 0 0 10px 0; margin: 0'><div><a style='font-size: medium; font-weight:bold;' color: #a00 href='" + item.SiteUrl + "'>" + item.Title + " (" + item.AccountId + ")</a></div></li>");

});

$('#txtSearch').removeClass('loadinggif');

},

error: function (xhr, textStatus, errorMessage) {

if (xhr.status === 0 || xhr.readyState === 0) {

return;

}

$('#txtSearch').removeClass('loadinggif');

}

});

}

else {

$("#lstResults").empty();

}

}, 500);

});

});

/font>/script>

/font>/head>

<body>

<h4>Enter your search text below. After typing three letters or numbers results will be delivered automatically, including partials./font>/h4>

<div style="text-align: left;">

<input id="txtSearch" style="display: inline-block; height: 18px; width: 200px;" autocomplete="off" /><div class="spin">/font>/div>

/font>/div>

<div style="text-align: left;">

<label id="lblResult">/font>/label>

<br/>

<ul id="lstResults">

/font>/ul>

/font>/div>


by Rick Mucha via Everyone's Blog Posts - SharePoint Community

Friday, May 29, 2015

PowerShell Direct - Simplified SharePoint Management Shell?

One particular feature of Server 2016 that is announced is PowerShell Direct.  Take a look at this article from the Microsoft Virtualization blog.  The short version is that it will allow the Hyper-V host to PowerShell directly to the guest operating systems. This could lead to some very interesting scenarios.


The first possible use, given by Microsoft themselves, is to use the shell to configure guest servers from the host using scripts. This should allow you to have a fairly standard set of features or roles defined in a PowerShell script.  The script can do a lot of the heavy lifting for you rather than having to copy scripts over or run them from mapped drives.  I could potentially see this as scripting an entire build for custom server environments.  Admittedly, most smaller IT shops won't have a need for it. But for anyone that has had to build multiple similar servers (like say for classes?) then this will be invaluable.

A second scenario would be to automate admin tasks. I'm investigating the possibility but if you were to have a web front end that could possibly kick off a PowerShell as one action of a standardized process, then suddenly a lot of tasks could be automated through a web front end rather than manually setting off a script.  Depending on the scenario, users could even initiate these scripts; with a pause for admin approval of course.

Lastly, how much SharePoint Management Shell do you work with as a SharePoint administrator?  Rather than having to jump from server to server, in large implementations, you could conceivably work with any guest management shell from the host OS.  The session will be interpreted on the guest so any modules available on the guest OS will be available through Direct PowerShell. With the connections to different guests handled by PowerShell, you could coordinate action on multiple servers through one script.

Some things from the Microsoft article that make this not quite an all-in-one solution are that right now this only works on server 2016 and Win 10 hosts/guests. There is a call to action in the Microsoft article asking for suggestions on OS and scenarios that admins would like to see. The author of that article, I believe, is one of the presenters at the Microsoft Ignite conference. If it's who I think it is, then she's on the team for the project and any suggestions will (hopefully) be validly considered.
Another issue is whether a guest system can "talk" to the host PowerShell.  While making configuration changes to the host is not my primary consideration, being able to talk guest OS to guest OS would go a long way to making my web interface for PowerShell tasks a reality. We'll see how that turns out.  For now, I'm installing the Technical Preview 2 and looking forward to this next generation of OS.

by noreply@blogger.com (Robert Schley) via SharePoint Solutions Blog

Why Pre-Migration Analysis is Crucial while Migrating Data from File Servers to SharePoint Online

SharePoint Online is a great option for those enterprises that do not want to keep a difficult-to-manage SharePoint Server infrastructure on their premises. This subscription based service eliminates the requirement for heavy capital investment required for on-premises deployment. SharePoint Online, empowered by Microsoft administration and support, has turned out to be a reliable choice for collaborative working, enterprise content management and document management

Considerations before migrating from File Shares to SharePoint Online

When the volume of data that is to be migrated from File Servers to SharePoint Online is small, one can try manual methods for migration. But if the data is large in volume, professional migration tools are highly recommended. Also, there should be a comprehensive pre-migration analysis as SharePoint has many limits and restrictions to its features and facilities. Depending on the subscription plan purchased by the organization, there can be some storage limitations as well.

Pre-migration analysis – why?

Before migrating data to the SharePoint Online, you should have an idea about what your subscription plans offers you. Readers can refer Microsoft sites to know about various subscription plans (plans are different for standalone subscriptions and Office 365 subscriptions). It is essential to choose a plan according to your requirements. Also, SharePoint has set some limits and boundaries on various parameters like number of users supported, storage allocation, file-size limits etc. We will go through some of the important limits and boundaries that are to be considered while migrating File Server Data to SharePoint Online. These limits and restrictions are related to:

  • Total size of (shared) data on File Servers

  • Capacity per site collection

  • Number of files

  • Number of items limit in the Document Library

  • File size

  • URL length

  • File names with invalid characters

  • File names with invalid end strings

  • Blocked file extensions

SharePoint Limits and Boundaries

Here, we will discuss the limits and boundaries in SharePoint. However, refer to Microsoft sites for the exact values of these limits and boundaries.

  • Storage base per tenant

SharePoint Online storage capability varies according to the subscription plan and type of subscription (stand-alone or as part of Office 365 suite). You can find the total available storage by calculating the ‘Storage base per tenant.’ If you have to move more data than that is available on your plan, you essentially have to purchase additional storage. Generally, there is no limit to the additional storage you can purchase. So you can purchase it according to the requirement. To save space, it is recommended to move only the shared data from File Servers to SharePoint.

Note: It is a not wise to move unused content to SharePoint. You can purge them or store them to separate storage device before the migration. It will be reduce the total size of data to be migrated.

  • Site collection storage limit

This is the storage capacity per site collection. Its value is limited in SharePoint online (usually 100 GB). To overcome this limitation, you can save the content on multiple site collections. Also, you can think of moving some content to personal user site if the contest is meant for personal use only.

  • List view threshold limit

In SharePoint, there is a limit to the number of items per folder, view, or query. Its value (usually 5000) is dependent on SQL Server (as SharePoint is dependent on SQL Server). When this limit is crossed, most of the list and library operations are blocked. The number of items that you can sync in site libraries (including files, and folders) is also limited. So you need to be careful when you perform migration. If you have more than 5000 items for migration, it is suggested to create subfolders, or to create multiple views.

  • Number of items in the Document Library

Value of this limit is pretty much higher (usually 5 million items possible in Document Library). So SharePoint users need not be worried much about the number of items they are migrating to the Document Library.

  • File size limit

There is a limit to the maximum size possible for SharePoint files. If the size of your file is greater than this limit, you cannot migrate it to the SharePoint - you have to use some storage devices to store it.

  • URL length

Lengthy URLs are not supported by SharePoint (longer than 260 characters). So keep site URLs shorter and keep the document names short to avoid issues during the File Server to SharePoint migration.

  • File names with invalid characters

Some characters are invalid in SharePoint for file names. Invalid characters are ~, #, %, &, *, {, }, \, :, <, >, ?, /, +, |, ”, /t and ,. Before migration, one needs to ensure that names of files with invalid characters are changed.

  • File names with invalid end strings

Some file name end strings are invalid in SharePoint. They are .files, _files, _dateien, _fichiers, _bestanden, _file, _archivos, -filer, _tiedostot, _pliki, _soubory, _elemei, _ficherios, _arquivos, _dosyalar, _datoteke, _fitxers, _failid, _fails, _bylos, _fajlovi, and _fitxategiak. Before migration, make sure that file names with illegal endings are changed.

  • Blocked file extensions

SharePoint Online is very particular about file types. It is best to store MS office and PDF files. There are may file extensions that are not supported by SharePoint. Also, you cannot store developer codes in SharePoint Online. You need to think of alternative storages for these file extensions and developer codes. File extensions blocked by SharePoint Online are ade, adp, app, asa, ashx, asmx, asp, bas, bat, cdx, cer, chm, class, cmd, cnt, com, config, cpl, crt, csh, der, dll, exe, fxp, gadget, grp, hlp, hpj, hta, htr, htw, ida, idc, idq, ins, isp, its, jse, ksh, lnk, mad, maf, mag, mam, maq, mar, mas, mat, mau, mav, maw, mcf, mda, mdb, mde, mdt, mdw, mdz, msc, msh, msh1, msh1xml, msh2, msh2xml, mshxml, msi, msp, mst, ops, pcd, pif, pl, prf, prg, printer, ps1, ps1xml, ps2, ps2xml, psc1, psc2, pst, reg, rem, scf, scr, sct, shb, shs, shtm, shtml, soap, stm, svc, url, vb, vbe, vbs, ws, wsc, wsf, and wsh.

Pre-migration analysis using File Server to SharePoint migration tools

Many professional tools for File Server to SharePoint migration provide facilities for pre-migration analysis. These tools usually allows to check for possible issues by various criteria like presence of invalid characters in name, names ending with strings, file name length, file path length, file size limitation, blocked file extensions etc. After the analysis, they provide detailed reports as well. Such a pre-migration analysis helps users to be aware of imminent troubles in advance.

Blog Summary

A pre-migration analysis is essential to foresee the possible issues in a File Server to SharePoint migration. This analysis can be skipped while migrating small volumes of data. However, with large volumes of data, pre-migration analysis using professional File Server to SharePoint migration tool is very essential as they automate the analysis and provide comprehensive analysis reports.


by Satyendra Tiwari via Everyone's Blog Posts - SharePoint Community

Sharepoint – WorkFlow Timer Job Paused

On a random daily check on CA we found workflow timer job in “Paused” state in Central Admin. Multiple of these pointing to each server in farm in paused state. Many blog posts pointing to restarting the timer service on each server and also clearing the timer cache (configuration cache) would resolve the issue.

http://ift.tt/1Rtqt2F

http://ift.tt/1Rtqqnr/

After the cache is cleared initially the jobs ran for a couple of instances and they were again pausing and the reason was a modified workflow resulting in a “dead end” state. Which was a mistake by the user. Each server processing workflows timer job became “stuck” due to items reaching the “dead end” state. Allworkflows with pauses or state changes would have ceased to be processed at this stage.

Under normal operations, a workflow is first executed in the World Wide Web Publishing Service (w3wp.exe). After a delay or pause, in which the workflow “sleeps,” it wakes up and is then run by the SharePoint Timer Service (the owstimer.exe process).

 When w3wp.exe is under excessive load, it postpones the workflow. The Timer Service is then used to the continue the process. SharePoint dictates which Workflow Timer service will run the workflow; the operation can occur on any server running the “Microsoft SharePoint Foundation Workflow Timer Service” service. However, when Nintex Workflow is installed, it only deploys the DLLs required to run workflows to WFE servers–specifically, those servers running the “Microsoft SharePoint Foundation Web Application” service.

This issue is discovered by enabling verbose logging both at CA and also at Nintex global settings and also querying for the workflow name and its site collections using Nintex NWAdmin.exe

After the workflow is modified and already the workflows which are started with the broken workflow is cleared and again restarting the timer services on servers with clearing the cache resolved the issue.

This issue is reported on SharePoint 2010 and Nintex 2010


by Venu Madhav Gummalla via Everyone's Blog Posts - SharePoint Community

Thursday, May 28, 2015

Microsoft's Bill Baer Will Give the SharePoint Fest Keynote

Microsoft's go-to guy for all things SharePoint will be the keynote speaker at this summer's SharePoint Fest.

read more


by via SharePoint Pro

Permissions – A Critical Piece of the SharePoint Picture

Introduction

Permissions act as the gateway and firewall to your SharePoint objects. The fact that SharePoint is (generally) available to all your staff in house and via the Internet is good news for ease of access, but would be bad news for data security if permissions aren’t set properly.

Permissions can be one of the most complicated areas to manage in SharePoint, and if not managed well can turn people off of SharePoint very quickly. For example, if I’ve stored something in SharePoint that I believed to be private, and other people see it, my faith in SharePoint is forever shaken.

The Basics

In SharePoint you give people access by granting permissions to “Securable Objects”. Securable Objects include sites, lists, libraries, folders, documents, and list items. You cannot apply permissions to particular columns (fields).

Though you can grant permissions to any and all of these securable objects, it is best to keep it as simple as possible and try to grant permissions only at the site level, and use permissions inheritance (see below) to flow down to the contained objects.

Sometimes, maybe even often, we need to apply permission to individual document libraries, lists, folders, etc. However, it is important to keep these individual permissions as minimal as possible, since each unique permission set requires attention and management.

In other words, it’s important to balance the need for protecting SharePoint objects, against the administrative overhead associated with managing that protection. For example, if the finance department must have the budget numbers locked down, then you would apply unique permissions to their document library or folder. But if a finance staff member leaves or is hired, we need to remember that the finance documents have unique permissions and you will need to look at them.

We find it useful to think of SharePoint permissions in terms of “who can do what to what “. This captures the three main things that we talk about with permissions people or groups, permission levels, and SharePoint objects. See the graphic below.

who-can-do-what-to-what

Inherited and Unique Permissions

Inheritance is an important concept. Consider a parent site that contains a document library. If the document library is set up to inherit permissions from the parent site, then you need only manage the parent permissions; the document library permissions are taken care of automatically. However, if the library requires unique permissions (the opposite of inherited), then you need to manage those permissions separately and uniquely from the site level permissions. Whereas this is often necessary, having unique permissions does create additional administrative overhead for the site administrator(s).

The same thinking and structure applies to inheriting from a site to a list or library, or from a list to a folder or an item in that list, or from a library to a folder or document in that library.

Best Practices

We always create a table in Word or in SharePoint list that captures “who can do what to what”. This is very useful for designing, applying, and maintaining permissions in SharePoint as it creates a structured view it is much easier to read than going into SharePoint and clicking on the permissions screens. I have such a template if you need one.

One of the practices we highly recommend is to apply permissions only at the group level. You can set individual permissions, to say John Smith has access to this document library, however we recommend instead of creating a group with a meaningful name, such as ACCOUNTING CLERKS, setting permissions such that ACCOUNTING CLERKS have read access to the library, and then adding John Smith to that group. This creates a structure that is somewhat self-documenting, and makes it easier to change her missions if John Smith leaves or is replaced, or has an assistant join him. The changes to permissions come about just by changing the group membership. In some environments this can be done with active directory groups, with a similar approach and thinking.

Summary

So the simplest of all permission structures, and the one easiest to maintain, and easiest to understand (for example if a new SharePoint administrator takes over the site) would be as follows:(we recognize there are a few cases where the where the simple structure will work, but it is a starting point to which we would strive to remain close)

  1. Permissions applied only at the site level, with permissions inherited to everything else in the site.
  2. Standard group names and permissions level: Site-name Owners with full control, Site-name Members with contribute access, Site-name Visitors with read-only access.
  3. Site admins (1 or 2 people) are added to the owners group. .
  4. Site users (all of the regular users) are added to the members group.
  5. Visitors (if any) are added to the visitors group.
  6. When staff or contractors are added or removed from the business, they are added or removed from the appropriate SharePoint group.

Please comment below and share if this blog post helped you, or if you have any questions.

Happy permissioning!

Gerry Brimacombe, Lightlever Systems Inc.

P.S. For a 9-minute video with key "How-To’s" for setting permissions in SharePoint see this video.


by Gerry Brimacombe via Everyone's Blog Posts - SharePoint Community

11 Ways to NOT Migrate to Office 365

Every now and again we get to hear fantastical SharePoint tales and bear witness to some really odd behaviour. Here’s our latest top 11 ways to ensure your attempt at moving to Office 365 / SharePoint is going to fail miserably…

  1. Have a fork-tongued salesman talk you into software you don’t need.
  2. Make sure the salesman has no SharePoint experience.
  3. Don’t do any research on what Office 365 is and what the governance implications behind it are.
  4. Don’t do any intranet planning, just migrate all your data as is from your fileshares and legacy systems straight into SharePoint.
  5. Tell you staff they will use it with immediate effect – but don’t explain what for and why.
  6. Send 0.015% of your staff on half day, completely unrelated training and don’t tell them what the training is for.
  7. Expect them to successfully maintain and use Office 365 thereafter.
  8. Don’t tell the trainers anything about the project and refuse to let them engage with the stakeholders.
  9. Don’t engage all the roleplayers and tell people different versions of the story.
  10. Refuse to spend any money on change management.
  11. Shoot from the hip and do zero enterprise architecture planning.

Let us know how your migration to Office 365 works out for you….

Cowboy SharePoint Implementations


Filed under: Governance, Office 365
by Veronique Palmer via Views from Veronique

SharePoint Online CSS Tips

I am a SharePoint architect\developer currently employed by a global manufacturing company that has close to 10k SharePoint online users.  We are 100% in the cloud with Office 365 and do not have any on prem SharePoint servers.  I often get asked how to "spruce" up the look of team and project sites. Here are a few simple pieces of code that can be added to sites to improve the overall look.  These are very easy to modify by users without any coding experience.

Change the background color and font of web part headers:

  • Edit your page and add a script editor
  • Copy and paste any of these snippets into the script editor.  If you want to use multiple, start with <style type="text/css"> and end with </style>

<style type="text/css">  
.ms-webpart-titleText.ms-webpart-titleText, .ms-webpart-titleText > a {    
background-color: black;     /* changes the background color of the web part header.  Hex too! #000000 */
font-size: 20px;            /* Font Size */
font-weight: bold;         /* Font bold, italics, */
color: white;             /*Font color */
padding: 5px 5px;        /*padding around fonts */
} </style>

Remove the Edit Links from the global navigation so users cannot edit the links

<style type="text/css">  
.ms-navedit-editSpan { 
 display:none;
}</style>

Add a background Image to a Content Editor webpart.  This allows the user to put text or buttons in front of an image to dramatically improve the look of the site.

  • Add a CEWP to your Page and use F12 dev tools in IE or Firebug in Firefox to retrieve the ID of the webpart.  It should look something like WebPartWPQ2.
  • Add a Script Editor WebPart to your page with the following code

<style type="text/css">
#WebPartWPQ3 {
 background-image:url(https://server/path to image/image_name.png); /* path to image saved in ShPoint */
 background-size: 100% 100%;                           /* Sets the background image to the full size of the webpart */
 background-repeat:no-repeat;                          /* Only show one image, delete this line to show repeating */ 
 padding:5px 0px 0px 15px;        /* Add padding if needed to any of the sides of the webpart */  
 background-position:right top; /* move background image to right top of the wp, to center delete this line */
}
</style>

 

 


by Jerry Ober via Everyone's Blog Posts - SharePoint Community

Power of the content type

In general most of us working with SharePoint know what the content type is. A SharePoint content merge together an item and information about the item.We can use different kinds of items: a document, an excel workbook, a KPI's, etc. With this approach we get metadata which can be used in many ways. All those information are obvious for most of us and it's basic knowledge for all SharePoint people. So why I am writing about it again? Because again I get the project which was previously developed by some super SharePoint heroes. And there are many libraries, lists without any single site collection column or content type! Isn't it amazing??? And now If I want to make any modification I have go through all libraries/ lists and check one by one. Just wonderful! So I would like to remind to everyone who are new to SharePoint or maybe they forgot what does it mean power of the content type.

1. How to add column in lists/ libraries. It's really simple. We just press the button "Create column", enter column name and that's it. Here is the column.

New Column
New Column

This approach is very simple and it not require any magic knowledge, any user with proper permission can do this. Well and that's all good news. What about case when we have more libraries or list where we want to store the same kind of information and then we want to change something? In such case we have go through them, one by one... It's the best way to create a chaos across the farm.

2. Much better solution is to use site column. It's very simple. You just need to enter "Site settings" and create column at this level. It looks like very small difference, in both cases we just created column, but the this small difference make a huge impact. First of all this columns flows down. I mean that it's available in all subsites. And in this case if we make modification it will be visible in lists/ libraries across the site collection! Also if we set our column as "Lookup Site Column" our "lookup" also works in other sites! It could be very useful if we run free sharepoint version and we can't user Content Query Web Part...

 

Site Column
Site Column

 

3. Now it's time to add knowledge from previous point add create our own content type. It's not a rocket science. We just have to go to site settings, then we go to site content types, and then we just create our own content type. Please remember that we should rather put it into our own group. It will make easier administration. Also we should highlight that it's also is available across the site collection, which means that our changes are made in single place and then SharePoint will replicate it.

Content Type
Content Type
New Content Type
New Content Type

 

As you can see it's not a big deal, but this approach allow us to use useful futures of SharePoint - Power of the content type. This power is related to centralized management. When we use columns and content types at site collection level we can keep our farm clean, without a mess. And sometime when we someone has to make our work it will be much faster and easier to find out how everything works.

This post was originally posted on my blog


by Tomasz Szulczewski via Everyone's Blog Posts - SharePoint Community

How to implement SharePoint in your organization – Best Practices

The first question I get from the potential clients ready to get going with SharePoint is: “Where do we start?” On one side you have to manage your day jobs, manage employees, you have your data, information, documents, content all over the place and on another side you have a very capable , configurable and customizable, but very overwhelming little monster called SharePoint. How do you get this thing moving? How do you approach this “implement SharePoint” thing? What is the first thing we should do?

With this article I hope to demystify and respond to these questions. I also want to highlight the fact there are many ways to implement SharePoint and this post shares approach based on my experience with SharePoint implementations/roll-outs in various organizations, ranging from small business and nonprofits to large enterprises.

SharePoint Implementation Tip # 1: Implement SharePoint in phases.
 
Moving your whole business to SharePoint in 1 big project is a sure guarantee of failure. You have to break it down into manageable mini-projects. For example, you have this vision of SharePoint with multiple project sites and team sites, department sites and various portals and repositories. That’s good. But don’t roll out all of it at once. From User Adoption and Change Management perspective, this will be a lot for your users to digest. Break it down into manageable phases, use “thing big, start small” approach, create a plan and implement phase by phase (site by site).

SharePoint Implementation Tip # 2: Pick an easy target / quick win for Phase I.
 
Now that you agreed to implement in phases, what do you choose for Phase I? Hint: you want to make it real easy on yourself and your users. I always recommend that clients roll-out just 1-2 SharePoint sites initially. A great candidate in many organizations is a site storing company’s policies and procedures. It is a great candidate, because the content usually needs to be accessed by the whole organization (so it will force your users to access SharePoint). Moreover, there are only a few content owners for such sites (content owners = users who can edit and modify content). Majority of your users will be content consumers (content consumers = users who will have Read-Only access). So from security standpoint – it is a relatively easy setup. Besides, with Policies and Procedures, for example, there is no external sharing involved. So you don’t have to worry about that little monster. So here we go, your Phase I is defined: Policies & Procedures site + homepage (you have to have a friendly homepage for your employees!)

SharePoint Implementation Tip # 3: Move away from folder structure and into metadata
 
If you are making such a huge leap anyway (by moving your business to SharePoint), you have to consider new, modern ways to organize your content. I advise that you leverage the power of SharePoint by moving away from folder structure and into Metadata. Example above (Policies and Procedures site) is a great candidate for it. While Metadata concept can be intimidating for your users who are used to storing documents in folders, the example above is a great way to “ease” them into the concept. Why? Because typically, policies and procedures is an easily structured data set. It is far easier to wrap your heads around this than any other data you have.

Do I need to move everything to metadata? Being a SharePoint metadata advocate and author of very popular “12 reasons folders in SharePoint are a bad idea” blog post, it would seem that metadata is the only way to go in SharePoint. Not necessarily. The rule of thumb is to move from folders to metadata only if data can be structured and is shareable with lots of people in an organization. Example: If you have Marketing department site with 2 people working in that department, responsible for company’s logos and marketing brochures, and folders work just fine for them, don’t convert them to metadata – let them continue their work in folder environment (unless you want to your users to hate SharePoint). On another hand, if you want to share those same marketing materials with the rest of organization and present in a logical manner with beautiful user interface – surfacing them up on a separate Marketing Portal in a metadata format might be a good idea.

SharePoint Implementation Tip # 4: Let your users/employees determine your next phase of the SharePoint implementation.
 
Once you rolled out Phase I, start soliciting feedback from users right away. As they become more comfortable with SharePoint, ask them which site or functionality they would like to see next. You will score lots of points in the User Adoption department and will automatically get their buy-in for the next phase. May be it will be a Department site. Or may be a team or project site. Or may be a site to share files with external vendors. Whatever it is, you will have a pipeline of phases / work cut out for yourself with buy-in from employees (which is most important!)

Link to original article can be found here


by Gregory Zelfond via Everyone's Blog Posts - SharePoint Community

Wednesday, May 27, 2015

Simple Expand/Collapse for the Quick Launch in SharePoint 2013 or SharePoint Online

Yesterday I helped my pal Marcel Meth (@marcelmeth) with a pretty simple little task, but everything’s simple if you know how to do it! We needed to add simple accordion-like expand/collapse functionality to the Quick Launch on the pages in a Site Collection. Because there were going to be a lot of links in the Quick Launch (mostly links to different views of lists), it was getting pretty cumbersome to wade through. By adding this expand/collapse capability, we could improve the user experience (UX). It’s little stuff like this that makes SharePoint usable. Never underestimate the power of a small tweak like this.

This code works on a Team Site on SharePoint Online in Office365 with its Quick Launch exposed in the normal way. Any other customization you have in place may interfere with this working. (Yadda, yadda, disclaimer, YMMV, etc.) I’m sure it will work for you – possibly with some tweaks – in any SharePoint 2013 or SharePoint Online site. You can add this script to a single page or to the master page if you’d like it to work on all pages in the Site Collection.

// Find all the top level links in the Quick Launch that have children
var topLevelLinks = $("div[id$='QuickLaunchMenu'] > ul > li:has('ul') > a");

// Prepend the little "twiddle" icon to each top level link
topLevelLinks.prepend("<span class='ms-commentexpand-iconouter ql-icon'><img alt='expand' src='/Comm/Comms2/_themes/1/spcommon-B35BB0A9.themedpng?ctag=2' class='ms-commentexpand-icon'></span>");

// We're starting with all of the sections collapsed. If you want them expanded, comment this out.
topLevelLinks.closest("li").find("> ul").hide();

// Set up for the click even of on the top level links
topLevelLinks.click(function(e) {

  // We're going to stop the default behavior
  e.preventDefault();

  // Find the elements we need to work with
  var childUl = $(this).closest("li").find("> ul");
  var isVisible = childUl.is(":visible")

  // If the section is visible, hide it, and vice versa
  if(isVisible) {  

    // Replace the icon with its antitheses
    $(this).find(".ql-icon").replaceWith("<span class='ms-commentexpand-iconouter ql-icon'><img alt='expand' src='/Comm/Comms2/_themes/1/spcommon-B35BB0A9.themedpng?ctag=2' class='ms-commentexpand-icon'></span>");
    // Hide the child links by sliding up. Note: You could change the effect here.
    childUl.slideUp();

  } else {

    // Replace the icon with its antitheses
    $(this).find(".ql-icon").replaceWith("<span class='ms-commentcollapse-iconouter ql-icon'><img alt='expand' src='/Comm/Comms2/_themes/1/spcommon-B35BB0A9.themedpng?ctag=2' class='ms-commentcollapse-icon'></span>");
    // Show the child links by sliding down. Note: You could change the effect here.
    childUl.slideDown();

  }

});

by Marc D Anderson via Marc D Anderson's Blog

#SP2015-21: Chance to win a GoPro and news from around the web

Hello SharePointers and welcome to the weekly SharePoint Community newsletter. With summer and holidays around the corner, there is no better time to get a cool video camera to record some of those activities. Luckily, we are giving away two GoPro Hero 3 cameras on SharePoint Community and the deadline to enter is on May 31! So, enter now!

http://spvlad.com/1K8e7Mq

Announcing a new way to create connectors in Office 365 (Office Blogs)

Over the past few years, you’ve provided feedback on how we could improve the experience for creating connectors to set up mail flow in Office 365. We heard you loud and clear…

http://spvlad.com/1LHuZXq

Review of JungleMail: Newsletter and Group Email Solution for SharePoint & Office 365

SharePoint Server MVP Vlad Catrinescu reviewed JungleMail. JungleMail allows SharePoint users to send personalized mass emails to a large number of recipients. If you’re looking for a newsletter management solution, internal or external, check this out!

http://spvlad.com/1Ko6bDD

Review of CloudShare: cloud-computing platform for developing and testing IT applications, software, and systems

CloudShare, a cloud computing company that provides an amazingly flexible and easy to use cloud-computing platform for developing and testing IT applications, software, and systems wants to make it easier for SharePoint developers to create development machines and test their solutions. Check out the review by Vlad here:

http://spvlad.com/1GDmmOk

O365 - IOS - Swift - Unified API - Display the list of users from the tenant

After my recent switch over to Mac as my main laptop for O365 / SharePoint development, finally I got an IOS native app running using the O365 IOS SDK and Swift. Nearly after 15 years of development using Microsoft Technologies and Tools, the mobile app development using XCode and Swift rekindles my memory of learning the Object Oriented Programming using C and C++.

http://spvlad.com/1PNdifE

Roadmap for SharePoint Foundation 2016?

Office 365 MVP Christian Buckley gives his opinion on the SharePoint Foundation 2016 roadmap. Do you, or your clients use SharePoint Foundation 2016?  Check out his blog post over here.

http://spvlad.com/1GDr9PJ

What’s new in SharePoint Server 2016 Installation and Deployment

At Microsoft Ignite in Chicago, IL Bill Baer disclosed the initial infrastructure investments Microsoft is making in SharePoint Server 2016.  This article describes initial investments made in installation and deployment of SharePoint Server 2016.

http://spvlad.com/1SC0A25


by Vlad Catrinescu via Everyone's Blog Posts - SharePoint Community

Microsoft Back on Top? Nadella Is Juniper's No. 1 Tech Exec Influencer

Microsoft CEO Satya Nadella tops Juniper Research's new ranking of the most influential executives in the technology industry, testament to the company's own comeback (at least in part) to some of its former influential glory. (Remember the adage "You can't get in trouble for buying Microsoft"?)

read more


by via SharePoint Pro

Tuesday, May 26, 2015

SPONSORED: Review of JungleMail: Newsletter and Group Email Solution for SharePoint & Office 365

Email marketing remains one of the most popular and powerful tools businesses have for communicating with customers and even internal employees. However, since everyone has one, or a few, email addresses, companies can have a pretty hard time managing those growing email lists. And wherever there is a problem, a company will come up with a paid solution, so companies such as MailChimp, SendGrid and more offer newsletter and mass email solutions. However, they come at a pretty big price, and the company will have another system to manage, more accounts to take care of when someone leaves and more training to do when someone joins.

That is why EnovaPoint created a product called JungleMail. JungleMail is an email and newsletter management solution that sits directly on SharePoint. By using SharePoint as your email and newsletter solution, you will add more ROI to the platform as well as have less security problems and training to do.

In this blog post we will review JungleMail, but before we do, here are a few words about the product from their site:

JungleMail allows SharePoint users to send personalized mass emails to a large number of recipients. Regardless of the number of emails being sent - 400, 5000 or even more - you can rest assured that they will reach your client, user and will be looking good.

Review:

In this blog post I will review the SharePoint Server 2013 version of JungleMail. One thing that I advice is creating a dedicated Site Collection to JungleMail, as all the configuration is done via SharePoint list and JungleMail is creating quite a lot of them when you activate the feature. The positive point however, since hopefully all SharePoint users know what a list is, and it will be a lot easier for them to learn how to configure the product without going into complicated custom menus. Below you can see a preview of the lists created by JungleMail.

For this review, I simply had to configure a few lists such as the Topics and the Subscribers

Once I entered some contacts, I started creating my first email campaign. As you can see in the screen below, in the first screen I can setup the basic stuff from my newsletter. The feature that I liked is that you can use any custom SharePoint list, even one that comes from a BCS to send newsletters to. As long as you have a field containing the email address, you just select what the column name is in "Recipient list column" and you're good to go! So if you have all your subscribers in a SQL Database, as long as you have a column that stores the email address, whatever name it has you can use that database!

However, I only want to send this newsletter to customers interested in SharePoint. So, I will add an additional condition where topic must be equal to SharePoint.

Now, my total audience for this newsletter went from the five original, to the 2 that have SharePoint as an interest.

On the next screen you have everything you want from a newsletter creator. Plenty of templates to choose from, as well as the ability to edit them in Visual Mode for users like me who aren't really good at design, as well as a full HTML Designer so you can create your fully customized newsletter if you know how to do it in HTML.

 

And, of course you can also add information from the contact such as First Name, Last Name, etc. You can do that in the user interface, as well as directly in the HTML code if you prefer to create it that way.

Now, that I created my pretty newsletter, time to preview it. I found the ability to preview the newsletter for more than one person very cool, as I got to see if my column names worked correctly.

 

Time to send the newsletter! On the final screen we have the last options such as scheduling, enable or disable tracking and make it recurrent. I wanted to send it right away so I did.

When you click send, JungleMail adds your "job" to the queue and it gets sent within the next few minutes.

When the email arrived, I was happy that the format, and all the images looked good!

Other Features

Above was the main "Newsletter sending" part, so let me show you some other features of the product. For some of the screenshots, I used the ones from the JungleMail site, as they have a lot more content than my limited demo environmentJ. One feature that is a must have for any marketing tool is the analytics of emails sent, opened and how many people clicked the links. JungleMail has those as well, so you can determine what the best time to send is, as well as what subjects are the most opened.

You can also create your subscribe / unsubscribe forms directly as SharePoint webparts. One thing to remember is that if you want to make it public, your SharePoint Site collection will have to be publicly accessible from the internet! The same goes if you want to track clicks!

 

We have talked a lot about external users, however JungleMail can be used to send emails internally as well. One feature that I found extremely helpful for internal emails is their Repeater function. Let me show you how it works. First of all, I just went to my subscriber list, but instead of choosing the list as a Source, I choose an Active Directory Security Group containing my HR Department. (It has one account inside)

I then inserted a "Repeater" in my newsletter. A repeater allows you to include content from your site, such as news items with filters. In my following screenshot, I want to insert all the company news that the Audience is HR. Since I want to automatically send this email every week, I checked the box not to send emails if there is no content for this week. In a production environment, you would have a kind of "date" filter, however I did not include it in my demo.

Now, I have access to include columns from my Company News list, in this newsletter.

And here is the final result when I preview the newsletter. As you can see, my design skills are very good and I am able to create beautiful newsletters!

If you want to see a video of this feature and how to add a lot more features in it, check out this tutorial done by EnovaPoint where they also link the title to article, as well as make the newsletter a lot better lookingJ. https://www.youtube.com/watch?v=f8EogbgPU4c

From a more administrative point of view, you have the option to use a "custom" SMTP server such as SendGrid, in order to not put too much load on your internal Exchange environment, and you can also allow/block end users from changing SMTP or from/reply to email addresses.

Conclusion

With email being one of the most popular and powerful ways of communication, a lot of companies are looking to find systems in order to send marketing or informational emails to their employees, customers and general public. There are a lot of third party systems out there, however JungleMail delivers the same functionality, directly on SharePoint, therefore increasing your ROI and decreasing your training costs, since you only have to train users on one platform. Throughout my test, I didn't encounter any bugs and was able to create the newsletters and everything quite easily. I used other non-SharePoint email marketing tools in the past, and I was really amazed to see how friendly JungleMail is for a tool that is hosted on SharePoint. I also really loved the idea of the repeater, and being able to automatically send newsletter internally / externally with content created in SharePoint, and not having to create it twice! Furthermore, being able to send to Active Directory groups is a big advantage since that is how most company "group" their employees by department, or function.

One thing to make sure you think at when planning to use JungleMail, or any other "on premises" email management system is that for the "subscribe/unsubscribe" as well as tracking links, you will need to have a page that is accessible anonymously from the web in order for them to function properly. If you're looking for a Newsletter and Group Email Solution for SharePoint & Office 365, you should give JungleMail a try!

To learn more about JungleMail, visit their website by clicking on the logo below


by Vlad Catrinescu via Everyone's Blog Posts - SharePoint Community

SPONSORED: Review of CloudShare: cloud-computing platform for developing and testing IT applications, software, and systems.

Product analysis by Vlad Catrinescu – requested by CloudShare, but thoughts are my own. CloudShare is a proud sponsor of SharePoint Community

There are two things that almost everybody working with SharePoint agrees on; first one is that SharePoint is a development platform. Every company has different problems to solve, and with a little (or a lot) of custom Development, SharePoint can do it. Second is that SharePoint takes a lot of resources! A SharePoint 2013 development VM needs at least 12 GB of Ram, that's if you don't use Search or the User Profile! If you use those, you're looking at about 24GB of ram and 4-8 cores easily. Furthermore, getting the required virtual machines when a new developer joins the project, or when a new project starts can sometimes take quite some time as the company's SharePoint admin has to install and configure them properly. Another problem is that companies often cannot host all the virtual machines for SharePoint developers, and therefore, developers have to code on under-performing virtual machines and cannot fully reproduce a client's environment before going to production.

CloudShare, a cloud computing company that provides an amazingly flexible and easy to use cloud-computing platform for developing and testing IT applications, software, and systems wants to make it easier for SharePoint developers to create development machines, and test their client solutions! Before we go in the review, here is a description of their offering:

CloudShare's on-demand IT environments empower users to kickstart new projects, explore new technologies, develop complex applications, and collaborate across teams without battling for limited IT infrastructure resources. Our self-service SaaS platform enables you to build, freeze and share complex multi-VM environments. CloudShare is optimized for multi-VM applications that include Oracle, MSSQL, AD, Tomcat, JBoss, WebLogic and more. Use CloudShare Labs as a secure extension of your on-premise lab and expand as needed - start small, grow when you are ready.


CloudShare Review

CloudShare offered me a temporary account so I could play with their platform. Once you login your CloudShare, you have a good looking dashboard of the current environments you have created, the current projects you are working on, as well as your latest activities.

If you want to create your first environment, you go on the Environments menu and select a new one. Then you will have the choice if you have a custom template for your project created by a team member, if you want to just do a "1 VM" machine, or if you want a three tier environment.

I looked at both the Custom Environment option, and the CloudShare Environment templates and found some pretty cool ones. For example, you can easily create a VM with SharePoint 2013, Visual Studio and Project Server installed! Everybody who installed Project Server in the past knows how much fun it is to installJ.

As you can see there are plenty of choices to choose from to match your needs! In the CloudShare Environments I found some interesting ones as well such as the small SharePoint farm that separates your AD, SQL and SharePoint.

I decided to install the small farm and play with it. One thing I realized, is that in my opinion, the ram given to the virtual machines for the Custom Environment option is a bit too low. However, this can easily be customized after if you want more horsepower. Also, some "permalinks" from the text descriptions do not link to anything. After you add the environment you want to your "cart" and click confirm, CloudShare will start creating it.  

I was amazed, at how fast the virtual machines were created. Creating all the three virtual machines took a total of less than 10 minutes! In less than 10 minutes I had a full working SharePoint environment I was able to connect to in remote and start using it for my project. Before we open the virtual machines, let's take a look at the interface. From your "Environment Dashboard". As you can see in the screenshot below, in your environment dashboard you see the following:

  1. The Virtual Machine List as well as what software is included on each machine
  2. The different ways to connect to the virtual machine. You can either download an RDP file or connect remotely to it with your favorite RDP client, or you can use the VM directly from your web browser.
  3. Here is where you can add extra RAM / CPU / disk space to your virtual machines.
  4. This is in how much time of inactivity the Virtual Machine will shut down, which is very useful to not waste money when you're not working. You can click on the "Extend Suspend" button if you're going away for more than 1 hour, but want to keep the VM up. Otherwise, you can create a new policy that sets the suspend inactivity bar higher! Also, the environment gets auto deleted in 30 days unless you extend it!

I connected to the SharePoint virtual machine and the performance was really quite good. I didn't see any lag in SharePoint, or a lot of "waiting on it" while browsing on the site.

One thing to note is that of course, if you manage your Virtual Machines through the web browser, the video quality is a lot more laggy than if you connect directly in remote desktop. Also, the search is a bit slow to start up after you resume your Virtual Machines.

Another part of CloudShare that I found really cool is that you can easily share the environment with other members of your team by clicking the "Share" button in your Dashboard. This will allow them to see your environment in their own dashboard as well as access it! You can also give them either Basic rights that allows them to start/stop the environment, or give them full rights to take snapshot and revert to an old snapshot.

CloudShare

Furthermore, you can also share a snapshot, or a blueprint of your environment with everyone by simply creating a permalink. A permalink is a permanent link to your environment. Each time someone clicks on your permalink, an independent, separate copy of your environment will be instantiated for that user to view, test and edit – without affecting your original prototype. The same permalink can be used over and over again.

There are a lot of billing options to fit everyone. If you just want to use it from time to time, you can use the On Demand option, however if you're a team of developers working on projects, I recommend the Team option as it has 1200GB hours included! To learn more about the On Demand option, visit this link: http://spvlad.com/1F0T8Uc

Conclusion As a resource-intensive development platform, SharePoint makes it tough for developers to get fast access to development machines, and even tougher to being able to simulate client environments. CloudShare wants to change that by offering an easy to use platform which allows developers to easily and rapidly create virtual machines that have everything installed without having to wait for the SharePoint Administrator to configure them properly. In my tests, I found the CloudShare Virtual Machines to be really performant and did not see any lag. I highly recommend trying their on-demand option, as you will only pay for the virtual machines that you use, without a contract and you can see if CloudShare is right for you!

To learn more about CloudShare, click the logo below:


by Vlad Catrinescu via Everyone's Blog Posts - SharePoint Community