Friday, January 30, 2015

Saving SPD workflows along with Site Templates

If you have a SharePoint designer workflow attached to a list in a SP site, and you want to create an identical site, you will save site as site template and create a new site with it, assuming it will be identical.



In reality this is not the case, as any SPD list workflow will not work in new site, as they will still be associated with List Id's ( for list with which workflow is associated, Task list & History list) in original site.



To make this work, recreate SPD list workflow as reusable workflow, attach it to required list and then save site as site template. Now, if you create new site based on site template, you will find workflow associated with list and working as desired.



Reason: As earlier stated, with regular workflows, List Id's are bonded strongly in workflow.xoml.wfconfig.xml , where as with reusable workflows, List Id's are loosely bonded, to be more clear following association entry will show the difference:



reusable workflows:

< Association ListID="{$ListId:Lists/Contacts;}" StartManually="true" TaskListID="{$ListId:Lists/Tasks;}" HistoryListID="{$ListId:Lists/Workflow History;}" StartOnCreate="true" StartOnChange="true" />



regular workflow:

<Association ListID="{5112D71E-2D5A-4875-9ED8-E7DD78D3D901}" StartManually="true" TaskListID="{49170964-7E29-4902-A8E2-888D3C882AC9}" HistoryListID="{74CFBD22-9D23-46E2-B342-993025AFCE9B}" StartOnCreate="true" StartOnChange="true"/>




by Deepak Chawla via Everyone's Blog Posts - SharePoint Community

Thursday, January 29, 2015

New Year, New Directions on SharePoint Pro



New year, new ideas, new voices, new directions on SharePoint Pro.




read more




by via SharePoint Pro

Update Available for SharePoint Enterprise Server 2013

Microsoft has released an update for SharePoint Enterprise Server 2013 that provide fixes and improvements for stability and performance.


read more




by via SharePoint Pro

Wednesday, January 28, 2015

3 Ways to Effectively Implement (or Improve) Enterprise Social Collaboration


A recent report from Aberdeen calls social media a “game changer” for the success of employees and the business as a whole—if such technology is used effectively.


read more




by via SharePoint Pro

Tuesday, January 27, 2015

ownCloud in the Enterprise

by Naomi Moneypenny If you’re an enterprise IT manager, you might have noticed some change in your role over the last few years. There have been waves of outsourcing then insourcing, users invoking “shadow” IT (using apps on the web to meet a need without enterprise oversight) and using consumer services for business tasks, and [&hellip


The post ownCloud in the Enterprise appeared first on CollabShow.




by Bonnie Surma via CollabShow

Monday, January 26, 2015

Using RequireJS to Load the Right Version of jQuery Depending on Internet Explorer Version

Here’s a cool trick you can use with RequireJS. I found it in a post by @rnsloan called Conditionally Loading jQuery 2.x.


Since environments with SharePoint can often have a mixed bag of browser versions, this conditional setting lets us load jQuery 2.x when the browser can handle it (generally IE 9+) or jQuery 1.x when it can’t. The function document.addEventListener is undefined in IE8 and earlier – sometimes called oldIE – and defined in IE9+ – also known as modern.IE – so it’s a simple little test that ought to work.


If you don’t know why this matters, check out the Browser Support page on the jQuery site.



requirejs.config({
paths: {
"jquery": (document.addEventListener) ?
['//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min','jquery-2.1.3.min']
:
['//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min','jquery-1.11.1.min']
}
});

Note: The versions of jQuery above were current as of this writing, but may well have already moved on by now.




by Marc D Anderson via Marc D Anderson's Blog

Friday, January 23, 2015

Calculate How Much Web Storage You’re Using

This is a quick one, but it’ll be a post I return to over and over again.


When you use Web storage (a.k.a. DOM storage) – localStorage or sessionStorage – to cache data, you’ll often want to know how much you’ve used already. Each browser gives you a different amount of storage to work with, and you don’t want to run out for no good reason.


You might be surprised what the sites you visit are up to these days. Cookies are old hat; they just don’t give us enough to work with, as they are capped at 4k of data each.


From Wikipedia:



Web storage provides far greater storage capacity (5 MB per origin in Google Chrome, Mozilla Firefox, and Opera; 10 MB per storage area in Internet Explorer; 25MB per origin on BlackBerry 10 devices) compared to 4 kB (around 1000 times less space) available to cookies.



If you need to know how long each browser has offered Web storage, check out the Web storage page on Can I use.


I’ve adapted some JavaScript I found out in a post on StackOverflow to display the storage used by each object in both localStorage and sessionStorage for the current origin



var storageTypes = ["localStorage", "sessionStorage"];
var x, log = [], total = 0;

for(var i=0; i < storageTypes.length; i++) {
var thisStorage = window[storageTypes[i]];
log.push("Statistics for " + storageTypes[i]);
log.push("--------------------------------");
for (x in thisStorage) {
log.push(x + " = " + ((thisStorage[x].length * 2) / 1024).toFixed(2) + "KB / " + ((thisStorage[x].length * 2) / 1024 / 1024).toFixed(2) + "MB");
total += thisStorage[x].length * 2;
};
log.push("Total = " + (total / 1024).toFixed(2) + "KB / " + (total / 1024 / 1024).toFixed(2) + "MB");
log.push("================================");
total = 0;
}
console.log(log.join("\n"));

The results will look something like those below, which I got by running the code in a console while I was on a Yammer external network.



Statistics for localStorage
--------------------------------
yj-chat-contact-list-1328414-1512241636 = 0.18KB / 0.00MB
yj-chat-contact-list-428797-1488346713 = 0.18KB / 0.00MB
Total = 0.36KB / 0.00MB
================================
Statistics for sessionStorage
--------------------------------
Total = 0.00KB / 0.00MB
================================



by Marc D Anderson via Marc D Anderson's Blog

Add Approval Workflows to your Extranet Registrations

Thursday, January 22, 2015

Cairo SharePoint Saturday – 28 March 2015


Dear SharePointers, you are all invited to the Cairo SharePoint Saturday, so far speakers have very good content they want to share with you, it’s a chance to meet with SharePoint experts and ask them questions.


This event is a chance for everyone want to learn SharePoint, is to get inside the community, where you will learn faster J


Happy SharePointing. .. oh and Speakers are finalized and will be announced soon.



No visits yet





by Mai Omar Desouki via DaveColeman146

Wednesday, January 21, 2015

Six Tips To Building Better Business Apps In Sharepoint 2013

Sponsored by: K2

SharePoint adoption has continued to increase by organizations of all sizes, with many organizations building or planning to build custom apps in their SharePoint environments. While this is more common, it also can be quite difficult. Read this whitepaper to learn what some of these challenges are and how you can overcome them.


read more




by via SharePoint Pro

K2 Appit for SharePoint and SharePoint 2013

Sponsored by: K2

SharePoint 2013 has new capabilities that that improve workflow capability, which separates workflow functionality from other SharePoint services and provides new runtime capabilities. These new features still remain limited, making it necessary for some organizations to turn to third-party workflow software.


read more




by via SharePoint Pro

Three Keys to Successful SharePoint Governance

Why is SharePoint governance such a popular topic? And why does it seem like there are so few SharePoint governance success stories in the market?


read more




by via SharePoint Pro

Tuesday, January 20, 2015

SharePoint 2013 and SharePoint Online Solution Packs

Microsoft has made available new solution packs for SharePoint 2013 and SharePoint Online.


read more




by via SharePoint Pro

Monday, January 19, 2015

DFFS v4.210 Frontend BETA 2

I have updated to BETA 2 of DFFS frontend. You find updated information here.


Post any queations in the forum


Alexander




by Alexander Bautz via SharePoint JavaScripts

Cascading dropdowns updated to v3.30

I have posted a small update to SPJS-Casc.js to fix these issues:



  • Added support for autofilling values when using “Autofill subsequent dropdowns when they contain only one valid option.” in DFFS.

  • Changed the jQuery variable from $ to spjs.$ to fix a bug with SharePoints internal file “assetpicker.js” as this one kills jQuery.


Get the updated version here


You find the article describing the solution here, and you find the dedicated forum here.


Alexander




by Alexander Bautz via SharePoint JavaScripts

SPJS-Utility.js is updated to v1.200

I have updated SPJS-utility.js to v1.200. I have changed the file so all functions are now part of the “spjs.utility” namespace. I have included support for existing code using the old function names as well. There are not many changes to the functionality, but a few small changes to setFieldValue and getFieldValue related to various bugs reported from DFFS.


Get the updated version here


This file has always contained “internal” functions used in various solutions, but you can use the functions in your custom code. Unfortunately there is not documentation made at this point, but you can post questions in the SPJS-Utility forum.


Alexander




by Alexander Bautz via SharePoint JavaScripts

Some SharePoint Related Courses on Microsoft Virtual Academy

Microsoft Virtual Academy is a website created by Microsoft that has a ton of free learning material about its products. Since Office 365 is a growing trend, I decided to create a list of some SharePoint related MVA Courses you can watch whenever you want!


SharePoint Microsoft Virtual Academy


DEV:



IT Pro:



Office 365





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

Thursday, January 15, 2015

SPJS-Lookup: Convert a single line textfield to a dropdown select based on a query

This is a remake of a solution I posted in 2009. It does mostly the same as the old one, but the code is overhauled, and it is now compatible with DFFS.


What does it do?

This solution is used to convert a single line of text field into a dropdown select. The options for this select is the result of a query you build in the function call. You can use it to query any list within the same site collection. You have an option to add new values to the “lookup list” on the fly, or to enter a value free hand.


This solution is compatible with SP2007, SP 2010 and SP2013.


DFFS plugin

This is compatible with DFFS, but you will not find a dedicated “tab” in DFFS to set it up. You must therefore use the same code for both DFFS and standalone use. With DFFS you have the option to put the function call in the Custom JS section in the Misc tab.


The code

If you use it as a standalone solution, you must refer jQuery and SPJS-utility.js in addition to SPJS-lookup.js.


In a standalone setup it will look something like this


<script type="text/javascript" src="/code/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="/code/spjs-utility.js"></script>
<script type="text/javascript" src="/code/spjs-lookup.js"></script>
<script type="text/javascript">
// Put the contents from the code block below here.
</script>

If you use it with DFFS, the only extra script you need is this (in the DFFS_frontend CEWP) – put it below the reference to spjs-utility.js:



<script type="text/javascript" src="/code/spjs-lookup.js"></script>

The function call


spjs.lookup.init({
"fieldToConvertToDropdown":"MyTextField",
"listName":"Tasks",
"listBaseUrl":"/Sites/MySite",
"optTextFieldInternalName":"Title",
"sortFieldName":"Title",
"filterObj":{
"on":true,
"CAML":null, // If used, the rest of the filterObj settings are disregarded
"fin":"Completed",
"isLookup":false,
"operator":"Neq",
"filterVal":"1"
},
"dropDownDefaultvalue":"...",
"addYouOwnValue":{
"on":true,
"linkText":"Write your own value"
},
"addToExternalList":{
"on":false,
"customFunction":null, // Function name as a string. If a function name is supplied, this will be used in stead of the default function. The function will be passed the argument object as a parameter.
"linkText":"Add new item",
"saveNewItemText":"Save new item"
},
"debug":false
});

Parameter details


  • fieldToConvertToDropdown: This is the FieldInternalName of the field in the current list that you want to convert to a dropdown.

  • listName: This is the display name or the list GUID of the list you read the options from.

  • listBaseUrl: This is the base URL of the list you read the options from. If the list is on the root site of your domain, the value will be an empty string like this “”. If it is on a managed path, it will be something like this: “/Sites/MySite”

  • optTextFieldInternalName: This is the FieldInternalName of the field that represents the options you want to show in the dropdown select.

  • sortFieldName: This is the FieldInternalName of the field you want to sort the options by. Most likely the same as “optTextFieldInternalName”.

  • filterObj

    • on: true or false to tell if the options should be filtered. If false, all options will be shown.

    • CAML: Here you can provide the full CAML query to filter by. If this is left as null, the other options below will take effect.

    • fin: The FieldInternal name you want to filter on.

    • isLookup: true or false. If you filter by a text value, use false. If you filter by an ID in a lookup field, set it as true.

    • operator: Use anu valid CAML operator like “Eq”, “Neq”, “BeginsWith” or “Contains”.

    • filterVal: This is the value you want to filter by.



  • dropDownDefaultvalue: This is the default value in the dropdown when it has not been selected.

  • addYouOwnValue

    • on: true or false. This controls whether or not to show a link to “kill” the dropdown and show the underlaying text field.

    • linkText: This is text on the link.



  • addToExternalList

    • on: true or false. This controls whether or not to show a link to add an item to the list you are pulling the options from.

    • customFunction: If you want to override the built “addToExternalList” function, add your custom function name here like this: “myAddListItemFunc”. The function itself must be present in the page, and it will get the full “argObj” passed to it as a parameter.

    • linkText: The link text that initiates the “addToExternalList” function.

    • saveNewItemText: The text on the “save” link.



  • debug: true or false. If true, the underlaying text field will not be hidden, and you will see a yellow information panel in the top of the page.


Questions or feedback

Please use the forum for all questions related to this solution.


Alexander




by Alexander Bautz via SharePoint JavaScripts

Sunday, January 11, 2015

vLookup for SharePoint 2010-13 v2.100 BETA

I have published a BETA version of vLookup Frontend with these changes:



  • Fixed a bug where number columns could not use the “css” set in vLookup setup.

  • Changed how the list name is picked up from the URL as this would fail in some cases – as described here.

  • Added support for settings SPFieldLookupMulti fields when creating children – as requested here.

  • Changed the $ to spjs.$ as I did in the latest BETA of DFFS due to an error in SharePoint when using rich text fields and “Insert > Link > From SharePoint” as the file “assetpicker.js” will “kill” jQuery by overriding the global $ variable.


Get the latest BETA version here (ensure you pick the latest one).


This is released as a BETA due to the changes in how jQuery is referred. Please post any findings or questions in the forum.


Best regards,

Alexander




by Alexander Bautz via SharePoint JavaScripts

DFFS v4.210 BETA

Please note that this version is BETA and is NOT intended for a production environment.

I have released a new BETA version (v4.210 BETA) of DFFS, but I need help testing it as I have made some fundamental changes to how “initial values” are retrieved, and to how read only fields are “styled” to maintain the correct width of the field. There are also a quite a few bugfixes and other changes that I would like your feedback on.


The full change log is as follows

Changes and new features


  • Changed how read only fields are “styled” when using side-by-side to try to maintain the width of the field. This change needs testing – let me know how it works in your setup.

  • Changed how initial value is retrieved when the form loads. Previously DFFS read the values from the fields using the function “getFieldValue”, but now it uses a web service call to get the current item metadata from the DB. This is done to try to overcome the problems some have been experiencing with people pickers not being ready when set to readonly when the form loads. This change needs testing – let me know how it works in your setup.

  • Changed how you reorder fields in tabs in the backend.

  • Boolean values will be displayed as checkboxes in DispForm.

  • New: Changed tab color on hover to a slightly lighter color (update CSS file for the frontend).

  • Added class “dffs-accordion-activePanel” to active accordion panel. You can use this class for your “custom code”.

  • New: Added support for comparing dates with hours and minutes. Please note that you cannot use hour and minute when comparing dates in DispForm.

  • New: Added “between” operator.

  • New: You can now add a new field to the list from the Misc tab (SP 2010 and 2013 only).


Bugfixes


  • When no configuration has been created for a form, the overlay would time out with “This took forever”.

  • When using side-by-side and hidden label you could got a linefeed after the star that indicates that the field is required.

  • Selected tab index trigger: added “change event” as this trigger only fired on load and not on change of tab.

  • Only the first rule using the trigger “Selected tab index” could be used in “and these rules are true”.

  • The rule debug output was missing “run these functions”.

  • Date pickers: In some cases, errors would appear in the developer console in SP2013 when operating date pickers.

  • Date pickers: The “blur” event was not triggered on the “master” datepicker when using “linked” datepickers and modifying the “slave”.

  • When a field was configured in DFFS, but it was not in the current content type, you could in some cases get an error like “unable to get the property “hidden” of undefined or null reference” in the developer console.

  • The Attachement field will no longer trigger the “orphans” tab.

  • In the frontend I have changed from referring jQuery as $ to use spjs.$ due to an error in SharePoint when using rich text fields and “Insert > Link > From SharePoint” as the file “assetpicker.js” will “kill” jQuery by overriding the global $ variable. This would result in a complete halt in all the functionality in DFFS (and other plugins using jQuery). Please note that other plugins must also be updated. Look at the change log for each one to see which one have been updated.

  • Scroll to first input will no longer make the form scroll down. If the first input is off the visisble sceen, it will not get focus.


Get the BETA version here

Follow this link, and ensure you get the latest version. PS: The files are uncompressed, therefore the files are bigger than the production release.


Give feedback in the forum

Please post any findings or questions regarding the 4.210 BETA in this topic in the forums.


Unfortunately I have not been able to test this as thoroughly as I wanted, but I could not wait any longer to make it available. Post any findings to the forum, and I will fix the issues as soon as I can manage.


The more of you that gives feedback, the faster the production version will be released!


Best regards,

Alexander




by Alexander Bautz via SharePoint JavaScripts

Friday, January 9, 2015

Demystified : Breaking the Role Inheritance of a SecurableObject with CSOM

Managing permissions is a very important aspect of SharePoint. As there are so many techniques to authenticate a user to a SharePoint application, the permissions part takes care of the authorization. There are so many articles that discuss the permissions levels, groups etc to a great extent.



In this post I'm going to discuss the following things.


  • Code snippet to break role inheritance of a Securable Object - In current example a list

  • Analyzing the code with User Interface



public static void AssignUniquePermissions(string ctxUrl,string listTitle){
ClientContext ctx = new ClientContext(ctxUrl);
List targetList = ctx.Web.Lists.GetByTitle("listTitle");
ctx.Load(targetList);

// the below line of code breaks the Permission Inheritane
// The below piece of code is equivalent to...
targetList.BreakRoleInheritance(true,false);

/* PermissionKind => is an Enum type that represents
all the permissions available */
/* BasePermissions => is a class to which we set the Selected
Permissions. Later we use 'BasePermissions' object in creating
the 'RoleDefinition' */
BasePermissions permissions = new BasePermissions();
permissions.Set(PermissionKind.ViewListItems);
permissions.Set(PermissionKind.AddListItems);
permissions.Set(PermissionKind.EditListItems);
permissions.Set(PermissionKind.DeleteListItems);


/* Create a new role definition => Creating a Permission Level
@ /_layouts/addrole.aspx of site collection. */
//The below piece of code is equivalent to...
RoleDefinitionCreationInformation roleDefInfo = new RoleDefinitionCreationInformation();
// Permission Level Name
roleDefInfo.Name = "ExampleEditListItems1";
roleDefInfo.Description = "Allows a user to manage list items";
roleDefInfo.BasePermissions = permissions;
/* Adds RoleDefinition => Adds Permission Level
@ /_layouts/role.aspx */
RoleDefinition roleDef = ctx.Site.RootWeb.RoleDefinitions.Add(roleDefInfo);

// Creating another RoleDefinition
BasePermissions permissions2 = new BasePermissions();
permissions2.Set(PermissionKind.ApproveItems);
RoleDefinitionCreationInformation roleDefInfo2 = new RoleDefinitionCreationInformation();
// Permission Level Name
roleDefInfo2.Name = "ExampleEditListItems2";
roleDefInfo2.Description = "Allows a user to Approve Items";
roleDefInfo2.BasePermissions = permissions2;
RoleDefinition roleDef2 = ctx.Site.RootWeb.RoleDefinitions.Add(roleDefInfo2);

/* The permissions we are assigning to the User/Group
Equivalent to 'Grant User Permissions Directly
(in this example) by selecting multiple permission
levels */
// The below piece of code is equivalent To..
RoleDefinitionBindingCollection permissionLevelsCollection = new RoleDefinitionBindingCollection(ctx);
// Add the role to the collection.
permissionLevelsCollection.Add(roleDef);
permissionLevelsCollection.Add(roleDef2);

// User user = ctx.Web.EnsureUser("Domain\\userId"); (or)
Group group = ctx.Web.SiteGroups.GetById(12);

/* The page that contains all the Permissions. =>
@ _layouts/user.aspx of the corresponding securable object */
RoleAssignmentCollection roleAssignmentCollection = targetList.RoleAssignments;
RoleAssignment roleAssignment = roleAssignmentCollection.Add(group, permissionLevelsCollection);

ctx.ExecuteQuery();
Console.WriteLine("Done!!");
Console.ReadKey();
}




targetList.BreakRoleInheritance(true,false);

This above line of code is equivalent to clicking on the 'Stop Inheriting Permissions' option in the ribbon


What is the difference between BreakRoleInheritance(true,true/false)?

This function breaks the role inheritance of the SecurableObject on which we are calling the function in both cases.

The second parameter(true/false) acts on the Child objects of the SecurableObject on which we called the function.

true: It makes the children of the current SecurableObject inherit RoleAssignments from the current SecurableObject even though they have UniqueRoleAssignments on them.

false: It allows the children of the current SecurableObject have their own RoleAssignments(UniqueRoleAssignments) if they have any.

Back To Code



Creating a RoleDefinition:

Creating a RoleDefinition is equivalent to creating a new permission level from the SharePoint UI @ 'addrole.aspx' of the root web


// Adds the permission level to the collection of permission levels at the root web levelRoleDefinition roleDef = ctx.Site.RootWeb.RoleDefinitions.Add(roleDefInfo);

Everything I mentioned in the below image happens only after executing the query.

You find this info when you click on the Permission Level created @

~siteCollectionUrl/_layouts/editrole.aspx?role=ExampleEditListItems1

createRoleDef

Back To The Code


Granting Permissions To a User Or Group:

Adding RoleDefinition Objs to RoleDefinitionBindingCollection obj is equivalent to

select the multiple permission checkboxes as shown in the below image.


permissionLevelsCollection.Add(roleDef); permissionLevelsCollection.Add(roleDef2);

grantPermissions




// if we want to grant permissions to a user User user = ctx.Web.EnsureUser("Domain\\userId"); (or)
// if we want to grant permissions to a Group
// The group id '12' represents 'TestGroup1' as shown in the above image
Group group = ctx.Web.SiteGroups.GetById(12);

// This line of code grants permissions to the Group
RoleAssignment roleAssignment = roleAssignmentCollection.Add(group, permissionLevelsCollection);
// This line of code grants permissions to the User
RoleAssignment roleAssignment = roleAssignmentCollection.Add(user, permissionLevelsCollection);


Original Post

by Saratchandra Peddinti via Everyone's Blog Posts - SharePoint Community

Thursday, January 8, 2015

Wednesday, January 7, 2015

Object Reference error when SharePoint PowerShell Snapin is added

In a SharePoint 2010 farm I wanted to use PowerShell Cmdlets, so run SharePoint 2010 Management Shell as administrator but faced below error:


Add-PSSnapin : Object reference not set to an instance of an object. At D:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\SharePoint.ps1:3 char:13 + Add-PsSnapin <<<< Microsoft.SharePoint.PowerShell + CategoryInfo : NotSpecified: (:) [Add-PSSnapin], NullReferenceException + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.AddPSSnapinCommand



Error I thought it will be a common problem, so googled it but found nothing! No one faced the same exact problem and similar error's solution didn't help me at all. what I tried :



  • Open Windows PowerShell and add SharePoint PowerShell Snapin manually, same error.

  • Check server Event viewer and SharePoint LOGS, everything was Ok.

  • Copy and replace SharePoint Assemblies from another healthy server to test if DLLs are corrupted or not, no success.

  • Re-run SharePoint Configuration Wizard hoping for getting another error to use as keyword for search, but wizard completed successfully!




I changed my way and searched for different methods of adding SharePoint PowerShell Snapin. I noticed that in some PowerShell scripts Microsoft SharePoint assembly was loaded before adding snapin. I don't know why but that Trick worked for me too! If you have same problem follow these steps: navigate to below directory:


%COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\



find SharePoint.ps1 file in this directory. this file is executed every time you run SharePoint 2010 Management Shell.


open it with a Text Editor software like Notepad (much easier than enabling and using Windows PowerShell ISE feature!). add below code before the line which SharePoint PowerShell Snapin has been added:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")|Out-Null



Load DLL


save the file and run SharePoint 2010 Management Shell to see effect of loading DLL !



Error Gone


Original Post (my first and last blog post so far!)




by Mehdi Boroujerdi via Everyone's Blog Posts - SharePoint Community

Monitor SharePoint 2010 with Operations Manager 2007

An updated Management Pack for Operations Manager 2007 brings a fix for a long-standing problem with PowerShell.


read more




by via SharePoint Pro

#SP2015-1 : SPCOM Weekly Top 10 Posts

Firstly Happy New year to you all!


This week we are sharing 10 of the best links from SPCOM and around the net, but before we get started please take a moment to visit our sponsor who kindly donated 3 tablets for our most recent XMAS competition...


1. NEED MORE THAN JUST A STANDARD TICKETING SYSTEM? THEN METAOPTION SCMS CAN HELP YOU!


MetaOption presents SCMS which is all-in-one case management system, built upon the advanced Microsoft SharePoint Portal. It is an innovatively designed ticketing tool that enables companies to streamline customer support, scale with self-service options, and differentiate with proactive engagement. It’s a distinctive blend of engineering powered with Cloud that get straight to what matters most — better customer service and more meaningful conversations.


http://ift.tt/1C5paiz


2. DEEP DIVE INTO DELVE - SPCHAT WITH JEFF FRIED


Microsoft has began rolling out Delve within O365 as "a new way to discover relevant information and connections from across your work life". Announced at SPC2014 as "codename Oslo" and powered by the new Office Graph, Delve is an intriguing application that displays information that is most relevant for each person based on the work they are doing and the people with whom they are engaging. Join Jeff while he 'delves' deeper into MS Delve in this SPChat.


http://ift.tt/1vsC3O6


3. SHAREPOINT COMPARISON MATRIX FOR 3RD PARTY MIGRATION TOOLS


Alex Dove has created a matrix of data migration tools from a variety of vendors. The analysis was done with the assistance of each respective vendor. The current vendors include Metalogix, AvePoint, ShareGate, and MetaVis. Take a look at the screenshot for an overview of the chart. Open the attached Excel spreadsheet for a detailed comparison of the features offered from each vendor.


http://ift.tt/1tIUj65


4. SELECTING A SHAREPOINT MIGRATION TOOL PAPER


"There are are many blogs and papers that cover this challenge. Those I have read emphasis the need to treat migration as a significant project, resource hungry, time consuming, and requires careful planning. This is a legal and political minefield for any records management team and benefits by strong support from senior managers." - Michael Bunyan


http://ift.tt/1yA24lQ


5. SHAREPOINT 2010/2013 SINGLE-MULTI SERVER INSTALLATION USING AUTOSPINSTALLER


Hermant Patel has written a really in-depth guid for SPCOM on how to use AutoSPInstall to install SharePoint. In this article What you he will answer questions such as "How to install SharePoint 2010/2013 single-multiple servers using AutoSPInstaller?", "Which Service Accounts are used and why they are needed for SharePoint Server and SQL Server Installation & configuration?" and "What should we take care while Configuration of AutoSPInstallerGUI?"


http://ift.tt/1tIUkqV


6. ADVANCED INFOPATH FORM & SHAREPOINT DESIGNER WORKFLOW: PART 1


In January, 2014 the announcement that Microsoft InfoPath 2013 is the last release of the desktop client sent shock waves around the SharePoint community. They stated that ‘…we’re retiring InfoPath and investing in new forms technology across SharePoint, Access, and Word. This means that InfoPath 2013 is the last release of the desktop client, and InfoPath Forms Services in SharePoint Server 2013 is the last release of InfoPath Forms Services.’


http://ift.tt/1yA21GH


7. .NET ROCKS - THE NEW SHAREPOINT DEVELOPER (SAHIL MALIK)


What does Sharepoint Development look like today? Carl and Richard talk to Sahil Malik about the amazing changes that have happened to the Sharepoint development community with the impact of Azure and Office 365. Sharepoint used to be a very insular development environment, separate from everything else, but today it is expected to interact with cloud services, on-premise system and a variety of clients, including iPhone, Android, WinPhone and more. Sahil talks about gluing all the pieces together - you can't build it all yourself!


http://ift.tt/1xD6TZY


8. MICROSOFT TO DROP SHAREPOINT ONLINE PUBLIC FACING WEBSITE FROM OFFICE 365


Starting in January 2015, Microsoft is making changes to the SharePoint Online Public Website feature. Exisiting customers of this feature will continue to have access for another two years. New customers who subscribe to Office 365 after the changeover date won’t have access to this feature. Moving forward, Office 365 customers will have access to third-party offerings that will enable them to easily integrate their public presence with their Office 365 service...


http://ift.tt/1tIUkHd


9. DEVELOPING FOR OFFICE 365 – THOUGHTS ON USE OF CUSTOM MASTER PAGES AND WEB TEMPLATES ETC.


As more and more organizations are choosing to deploy SharePoint workloads on Office 365, it’s interesting to see Microsoft change the guidance given to developers on how customizations should be implemented. If you’ve been following closely, you might be aware that the following messages have started to emerge in recent months:


- Avoid custom master pages

- Avoid using web templates

- Avoid using declarative XML (i.e. Feature XML) in a WSP (even a sandbox WSP – and remember, we already should not be using server-side code here either!) continued ...


http://ift.tt/1yA21GL


10. PROGRAMMATICALLY REGISTER NATIVE APPS IN AZURE AD OR OFFICE 365


This blog post applies to both Office 365 and Azure AD since Office 365 lives in Azure AD. And with some tweaks you can easily make this work for non-native apps also (web apps that are single or multi-tenant, and web apis that are single or multi-tenant).


http://ift.tt/1wgUYwF


ANNOUNCEMENT: GRAB YOUR COMPLIMENTARY SPBIZ CONFERENCE PASS


On June 17th 2015 you can attend next year’s best online SharePoint Conference at no charge! SPBiz will consist of 8 hours, 8 tracks and more than 32 online sessions from some of the world’s best SharePoint influencers and business users. SPBiz will cover topics ranging from SharePoint Governance to achieving the best ROI through the use of SharePoint. Taking in SharePoint Search tools, productivity and Office 365 along the way. This will be the online SharePoint Conference for your business. We already have some amazing speakers (http://ift.tt/1x3UfmD) lined up with the likes of Mark Kashman, Richard Harbridge, Christian Buckley, Jasper Oosterveld, Wendy Neal and Laura Rogers all ready to roll. More and more speakers are joining the event - so the only problem you have is who to watch first!


Reserve your free place today : http://ift.tt/1vsC191


ANNOUNCEMENT: O365.TECHNOLOGY BLOGS


O365.Technology is a new service with the single aim of saving you time! We aggregate and categorize over 250 blogs from experts who discuss Office 365, SharePoint, Azure, Exchange, Lync, Dynamics and Office Apps on a regular basis. Bookmark the site and never miss another post.


Visit Site : http://o365.technology/




by Mark Jones via Everyone's Blog Posts - SharePoint Community

Tuesday, January 6, 2015

Semantic Versioning for SPServices?

Late last year I committed to put SPServices onto Github to encourage greater collaboration and contribution from the community. It’s definitely there now, and there are several things I’ve been struggling with since I moved it there:



  • What to name each version

  • How many versions to move into the repo

  • Whether it actually will increase community submissions at all

  • etc.


So far, I have done one release while SPServices has been on Github, which was 2014.02 [Codeplex][ [Github]. Even for that one new release, I wasn’t sure how to structure things. Everyone is moving away for including version numbers in their file names. I’m not sure that’s such a good thing. By including the version number in the file name, we can tell – at a glance – what version we’re working with. Since many SPServices users are more on the end user end of the spectrum rather than the developer end, that’s an excellent thing to be able to do.


Andreas Schultz has recommended that I switch to Semantic Versioning in a pull request for bower.json. Bower is a package manager, and there are a host of others: npm, NuGet, Bower, Ender, volo, component, Jam, and the list goes on. The number of these things is increasing fast. (I’d include links, but these things are easy to find.)


This is a tricky one. I’ve watched as this “semantic versioning” thing gets rolling, and I’m not sure how I feel about it.


Over the first several years I increased the versions for SPServices from 0.2.3 to 0.7.2. The fact that I wasn’t getting to version 1.0 was more me being cantankerous than anything else. Then I had 3 or 4 people tell me – separately – that they weren’t allowed to use software in their organizations unless it was version 1.0 or above. What a crock!


So I switched to numbering like 2013.01 back in May, 2013. The version is greater than 1.0! Since then, I’ve had 2013.02, 2013.02a, 2014.01, and 2014.02. It marches forward and gives some indication of what the versions is, or at least its age.


Semantic versioning seems to give people an excuse to introduce breaking changes. Here’s the summary of the idea from the SemVer site:



Given a version number MAJOR.MINOR.PATCH, increment the:



  1. MAJOR version when you make incompatible API changes,

  2. MINOR version when you add functionality in a backwards-compatible manner, and

  3. PATCH version when you make backwards-compatible bug fixes.


Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.



One of my goals with SPServices going way back to 1999 has been not to introduce *any* breaking changes. I think I’ve done a pretty good job on that, too. Whether you’re using SPServices on SharePoint 2007 with no updates installed or SharePoint 2013 on Office365, it *ought* to work the same way. Code that you wrote with version 0.2.3 *ought* to still work, too, though most likely you’re running a more recent version of jQuery and other things which would make using that ancient version pretty dumb. (That and the fact that the first version didn’t do much.)


If I were to follow the semanatic versioning rules, I’m not sure if I would be at 1.1.14 or 1.14.02 or what. Removing version numbers from files makes me uncomfortable, though.


Switching to semantic versioning seems to be hopping on a train without really understanding if driving is just fine and will get us there at the same time. What are your opinions on this? If you add your $.02 into the comments, please indicate what type of user you are, e.g., end user (“I paste SPCasecadeDropdowns into my forms” or developer “I write solutions using SPServices as the data transport layer” or…




by Marc D Anderson via Marc D Anderson's Blog