Posts
52
Comments
22
Trackbacks
0
Saturday, April 13, 2013
CSOM (Client Side Object Model) - Slide deck from my presentation @ SharePoint Saturday Houstom
Here is the slide deck I used today @ SharePoint Saturday Houston.

Happy Sharing!
Posted On Saturday, April 13, 2013 1:46 PM | Comments (0)
Tuesday, April 2, 2013
SharePoint 2013 Apps - Policies and Permissions

As we all start working on apps with SharePoint 2013 it becomes very critical to know how permissions with apps work. 

Firstly, we need to know that both the app and the user need permissions to perform operations spec'd for the app. It wouldn't really matter if I was a Site Admin and tried to write to a list using an App if the app itself didn't have adequate permissions and vice versa. 

Basically the app is making a call into SharePoint by providing the OAuth access token.  SharePoint sees that no user credentials were provided in the request and an OAuth access token is present.  When acting on behalf of a user, the token will include user information, so the context will be the App+User context.

Can I use RunWithElevatedPrivileges with Apps?

So many developers use it but don’t quite understand what the API is doing but that is a different discussion... The answer is NO!

The new app model does away with this impersonation confusion and makes things quite a bit more straightforward because there is no impersonation capability in the API. No the question arises: how do we use the new app model to perform actions when the user doesn’t have permission?  The answer is the App Only Policy. 

Our new scenario of an app performing work that the user does not have permission to means we will use the app only policy.  An OAuth access token is present, and this time the token does not contain user information.  In this case, we are solely evaluating permissions based on the permission of the app and not on the user. The first step is to request permission to use the app only policy in your app manifest by adding the AllowAppOnlyPolicy attribute to the AppPermissionRequests node with a value of true.

This capability is only available to provider-hosted and Azure auto-hosted apps.  It is not available to SharePoint-hosted apps.  In a SharePoint-hosted app, there is necessarily always an app+user context. 

S2S - App Only Context 

Creating a provider-hosted app that leverages only policy using S2S is actually very easy.  The first step is to make sure that you add the AllowAppOnlyPolicy attribute in the app manifest.  The next step is to use the TokenHelper::GetS2SAccessTokenWithWindowsIdentity method, passing a null for the WindowsIdentity parameter.

string appOnlyAccessToken = 

   TokenHelper.GetS2SAccessTokenWithWindowsIdentity(_hostWeb, null);

If the app manifest has the AllowAppOnlyPolicy attribute set to true, this call will succeed and return a valid OAuth access token that does not contain user information.  Once you have the access token, then you can use the TokenHelper::GetClientContextWithAccessToken method to obtain a CSOM client context.

using (ClientContext clientContext = 

    TokenHelper.GetClientContextWithAccessToken(_hostWeb.ToString(), appOnlyAccessToken))

{

    List list = clientContext.Web.Lists.GetByTitle("Announcements");

    ListItemCreationInformation info = new ListItemCreationInformation();

    Microsoft.SharePoint.Client.ListItem item = list.AddItem(info);

    item["Title"] = "Created from CSOM";

    item["Body"] = "Created from CSOM " + DateTime.Now.ToLongTimeString();


    item.Update();

    clientContext.Load(item);

    clientContext.ExecuteQuery();

}

To test this, deploy the app and then log on as a user that only has read permission to the list.  Execute the code, and a new item is created even though the user does not have permission to create items in the list.  The Created By and Modified By fields in the list will reflect that it was only the app’s permissions that were used to create the item.

If we had included a user identity (as the code generated by Visual Studio does by default), then the created by and modified by fields would look a little different, showing that code was executed on behalf of an individual.

ACS - App Only Context

Creating an app-only context with a provider-hosted app using a trust to ACS is just slightly more involved.  A trust to ACS is automatically established when you create your O365 tenant.  If you are self-hosting your SharePoint farm, then a trust to ACS can be established between your SharePoint farm and ACS.

We use a similar approach as before, but this time we need to extract the context token string and validate the token in order to retrieve information such as the authentication realm.  Provided this information, we can now request an app-only token using TokenHelper::GetAppOnlyAccessToken.  Once we have the access token, we can now obtain the client context using TokenHelper::GetClientContextWithAccessToken.

string _hostWeb = new Uri(Request.QueryString["SPHostUrl"]);

string _contextTokenString = TokenHelper.GetContextTokenFromRequest(Page.Request);

//Get context token.

SharePointContextToken contextToken =

    TokenHelper.ReadAndValidateContextToken_contextTokenString, Request.Url.Authority);

//Get app only access token.

string appOnlyAccessToken = 

    TokenHelper.GetAppOnlyAccessToken(contextToken.TargetPrincipalName, 

            _hostWeb.Authority, contextToken.Realm).AccessToken;

Response.Write("<h2>Valid app-only access token retrieved</h2>");

Response.Write("<p>" + appOnlyAccessToken + "</p>");

Response.Flush();

using (ClientContext clientContext = 

    TokenHelper.GetClientContextWithAccessToken(_hostWeb.ToString(), appOnlyAccessToken))

{

    List list = clientContext.Web.Lists.GetByTitle("Announcements");

    ListItemCreationInformation info = new ListItemCreationInformation();

    Microsoft.SharePoint.Client.ListItem item = list.AddItem(info);

    item["Title"] = "Created from CSOM";

    item["Body"] = "Created from CSOM " + DateTime.Now.ToLongTimeString();

    item.Update();

    clientContext.Load(item);

    clientContext.ExecuteQuery();

}

The result is the same as before… a user that does not have write permission to a list is able to execute the app, which has been granted the AllowAppOnlyPolicy in the permission requests in the app manifest, and the write to list operation now succeeds.


Posted On Tuesday, April 2, 2013 4:37 PM | Comments (0)
How to create a Multilingual Apps For SharePoint 2013 using JavaScript
How do you localize apps?
Using multiple languages in JavaScript code in SharePoint 2013 apps. 
Step 1: Add languages in AppManifest.xml
Update the .resx files, that are used to localize .xml definitions, while JavaScript files are used to localize text displayed on pages with HTML and JavaScript.

Step 2: Add this code to HEAD part of your (app) page:
<script type="text/javascript" src="../scripts/Resources.<SharePoint:EncodedLiteral runat='server' text='<%$Resources:wss,language_value%>' EncodeMethod='HtmlEncode' />.js"></script>

Let's say we want to localize word "All" in French:
Step 3: Add Resources.js file to "Scripts" module in your project
Step 4: Add this code to Resources.js:

function Resources_All() { return "All"; }

Step 6: Add Resources.fr-FR.js file to "Scripts" module
Step 7: Add this code to Resources.fr-FR.js:

function Resources_All() { return "Tout"; }

That's all. Use it in variable:

var all=Resources_All();

"var all=Resources_All();" will return "Tout" on French SharePoint sites, and it will return "All" for sites in other languages.

Happy Localizing!

Posted On Tuesday, April 2, 2013 4:07 PM | Comments (0)
Thursday, January 31, 2013
BlackBerry 10: 5 cool new features should know before you buy!
BB launched the new BlackBerry Z10 and Q10 and it's new OS 'BlackBerry 10'. 
The platform will be available on both its new phones Z10 & Q10.
Z10 
The Z10 model features a 4.2-inch touchscreen with 356ppi pixel density and 1280x768p resolution, an 8MP camera that can take 1080p videos, and a 2MP unit in the fron... cool huh!
Here's more it' powered by a dual-core 1.5GHz Krait processor and comes with 2GB RAM. 
It also comes with a 16GB onboard storage and can support expansion up to 32GB via microSD card. 
Q10 
The Q10 BB has a 3.1-inch SuperAMOLED touchscreen with 328ppi pixel density and 720x720p resolution and the beloved 'Qwerty' keyboard (Z10 looks like it has a similarly laid out touch keyboard). It also has the same dual-core processor and the same 2GB RAM.

What's New? 5 Cool new additions
BlackBerry Hub
Apps like Facebook have been completely integrated with the BlackBerry 10 hub. All emails and notifications from such applications as Twitter and Facebook go to the BlackBerry Hub, a nerve centre accessible with a finger swipe even if you have another application open. One can peek into it and open an email, or return to the previous application without opening the email.

BB Remember
BB Remember is meant to organise content into folders and is integrated into BlackBerry Hub. This feature allows users to flag messages, set due dates, take voice notes, add attachments and find contacts.

BlackBerry Balance
A big asset of BlackBerry 10 is what the company has dubbed the "BlackBerry Balance," a system that allows users to separate professional communications and applications from music, photographs and other personal items. 
For instance, IT managers can prevent personal apps from running inside corporate firewalls, but those managers won't have access to personal data on the device. Such an option means that if a user changes job, his or her former company can disable the device's corporate side without affecting personal data. 

Story Maker
BlackBerry introduced Story Maker, an app to aggregate content such as photos and videos into one stream. BlackBerry Story Maker is meant to allow users to create mini movies and share them on social networks.

Other features
It has multilingual support, and users can flick words with one thumb. Also improved are the picture editor, and a multitude of other features that positions the device both as a consumer device and an enterprise device simultaneously. And now the BBM chat allows you to switch from Chat to Video seamlessly. Apps: The company said that more than 70,000 apps are available for users in the BlackBerry World.

I hope this lives up to the expectations and promises to revive the Canadian Manufacturer's market position/share!

Happy Shopping!
PS: I'm guessing the phone releases in US around march but its already out in Canada and some other countries.
Posted On Thursday, January 31, 2013 4:06 AM | Comments (0)
Monday, November 26, 2012
CSOM (Client Side Object Model) - What's new with SharePoint 2013
SharePoint CSOM
The Client-Side Object Model or CSOM came out with SharePoint 2010. CSOM is accessible through client.svc but all client.svc calls must go through supported WFC entry points (supported entry points are .NET, Silverlight and JavaScript). So a developer would need to use client side proxy objects exposed by either a .NET assembly or a JavaScript library. 

Changes with SharePoint 2013
  • REST Capabilities - Direct access to client.svc
  • New APIs - App Model
REST Capabilities
One of the most important changes to the CSOM with SharePoint 2013 is that the web service entry point of client.svc has been extended to allow direct access  via REST-Based web service calls. This is a really critical change since its going to make the SharePoint platform accessible to any other platform, opening the horizons of integration and collaboration with other REST based platforms and devices. OData (a really popular standard data access API for HTTP-based clients) is supported similar to 2010 but will be a more important aspect of SharePoint 2013 development.

New API's
CSOM for SharePoint 2013 has been buffed up with several new APIs for not only SharePoint server functionality but also an API for Windows Phone applications. For a SharePoint 2010 farm most of the new APIs mentioned below are available only via server side APIs:
  1. Search
  2. Taxonomy
  3. Publishing
  4. Workflow
  5. User Profiles
  6. E-Discovery
  7. Analytics
  8. Business Data
  9. IRM
  10. Feeds
SharePoint 2013 remote APIs being accessible through both CSOM and REST is very important to the new app model where developers can no longer run code in a SharePoint environment nor can they access the server-side APIs. So CSOM plays the savior here.

Also, you can now substitute the alias '_api' in order to reference '_vti_bin/client.svc'.
Posted On Monday, November 26, 2012 4:48 PM | Comments (0)
Monday, November 5, 2012
Must Read: Programming using the SharePoint 2013 REST service
http://msdn.microsoft.com/en-us/library/office/apps/fp142385(v=office.15).aspx
Posted On Monday, November 5, 2012 9:00 AM | Comments (0)
Wednesday, October 3, 2012
SharePoint 2013 Certifications - MCSE
Microsoft Certified Solutions Expert (MCSE): SharePoint.

Yes you read it right :) 

SharePoint 2013 Certifications are here... 
The two certifications mentioned below are expected to be published on February 05, 2013. And will count as credit to the new MCSE certificate. 

Posted On Wednesday, October 3, 2012 1:51 AM | Comments (0)
Tuesday, October 2, 2012
Remove a bad/erroneous WebPart from a SharePoint page
If you've added a poorly written webpart to your 'default.aspx' page, the consequence of this action will be that you won't be able to load the page anymore... Don't be sad, there is still a way to remove the webpart from the page :) (Yes, even removing the webpart from the webpart gallery would not solve this issue).

Steps to fix this:
1. Append the following query string to your URL: ?Contents=1.
Once you've added Contents=1 as a query string to the webpart page's URL it will display the Webpart Maintenance Page. 
Example: http://mysharepointserver/default.aspx?contents=1

2. On that page you can now see the webparts added to the page, delete the problematic webpart.
Now try reloading the default.aspx page... Tadaaa!!! you can view your page again :)

3. Leave a thank you note @ comments section :)
Posted On Tuesday, October 2, 2012 10:28 AM | Comments (0)
Friday, September 21, 2012
Automatically Reset Theme To Default, SharePoint 2010


Manually/Through UI

On the top link bar, click Site Settings.

On the Site Management page, in the Customization section, click Apply theme to site.

On the Apply Theme to Web Site page, select No Theme(Default) from the list.

Click Apply.


Through Script

function Apply-SPDefaultTheme([string]$SiteUrl, [string]$webName)

{

$site = new-object Microsoft.SharePoint.SPSite($SiteUrl)

$web = $site.OpenWeb($webName)


$theme = [Microsoft.SharePoint.Utilities.ThmxTheme]::RemoveThemeFromWeb($web,$false)

$web.Update()

$web.Dispose()

$site.Dispose()

}

After looking in the SPTHEMES.XML file found in the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\1033 folder, you do see there is a theme with a theme name of "none". Since there is no "default" theme in 2010. So make sure if you wanna reset it to default you know that there is no default, you need to select 'none' :)

Posted On Friday, September 21, 2012 9:03 AM | Comments (1)
Monday, September 10, 2012
Ensure Future Browser Compatibility - SharePoint Branding

HTML and Future Internet Explorer Compatibility with SharePoint

As new versions of Internet Explorer are released, the way HTML is rendered by the browser could change over time. To address the possibility of changes, Microsoft uses the X-UA-Compatible META tag that targets HTML markup to a specific version of Internet Explorer. The default SharePoint 2010 master pages are set to force current and future versions of Internet Explorer to render HTML in Internet Explorer 8 mode like the following markup:

<meta http-equiv="X-UA-Compatibile" content="IE=IE8" />

The Adventure Works Travel HTML includes the META tag to help ensure future Internet Explorer versions will display the SharePoint HTML properly.

For more information about the Internet Explorer Standards Mode, see META Tags and Locking in Future Compatibility.

Posted On Monday, September 10, 2012 8:43 AM | Comments (0)
Tuesday, September 4, 2012
Working with documents and SharePoint - Best practices
Follow these simple guidelines to make collaboration using SharePoint easier:

1. File Name:

  • While it is allowed to use spaces in your filename (and maybe it seems even logical to do so), don’t use them if your file will end up (or is born on) SharePoint. 

    When you use the “download a copy” functionality, SharePoint will replace the spaces with an “_”. This might (will) result in inconsistency when you upload the “same” file again, since SharePoint will see this as a different file (since the filename is different). 

    I recommend using a filename with Capitalization style naming guideline. For instance: the document “Overall governance model.docx” would be named “OverallGovernanceModel.docx”

  • Use the TITLE field in the office applications to give your document a title (and subtitle and keywords, .) The title column can be used in a view in a library. You can get to the document properties by clicking on 'Office Button/Prepare/Properties'. (Office 2007). This is metadata that is stored with the document, and will remain in the document (even if you exchange this document via e-mail, via an external hard drive). The filename cannot be longer than 128 characters. (and that is IMHO far beyond reasonable) You cannot use any of these characters: ” # % & * : < > ? \ / { | } ~ 

2. Versioning:

SharePoint has a built-in versioning system. You can work with major (published) versions, and minor (draft) versions. Of each of these two document types, you can store a numbers of versions that are kept. Watch out, each version is saved, not only the delta between 2 versions, and this counts to your Site Collection Quota. (Example: you have a Word document with a size of 2 MB. When you keep 5 Drafts this will result in storing (and consuming) 10 MB.
So, don’t call your document “NewUserAccountProcessDRAFTv1.docx”, but “NewUserAccountProcess.docx” and use versioning setting in your library.

  • You can enable views on your library to display the version number.
  • You can enable the version number to be displayed in a Word document.

3. Use Metadata

Use metadata to assign other properties to documents, so it can be easily identified, sorted- or grouped by. 

Posted On Tuesday, September 4, 2012 11:52 AM | Comments (2)
Thursday, August 30, 2012
Benefits of a SharePoint Extranet

Read more @ Benefits of a SharePoint Extranet - http://www.brightstarr.com/Pages/benefits-of-a-sharepoint-extranet.aspx

Posted On Thursday, August 30, 2012 6:03 AM | Comments (2)
Tuesday, August 14, 2012
SharePoint 2013 – Workflows.

Workflows in SharePoint 2013

There’s a new Workflow model at the core of SharePoint 2013. It is built on the same OAuth authentication and iFrames model that all new apps must work with. It is a redesigned workflow infrastructure that is built on Windows Workflow Foundation 4 and brings new power and flexibility to workflow authoring in SharePoint 2013.

Rich Workflows: If workflows were a sore point in SharePoint 2010, they've gotten a lot better and seem much more able to handle more complex activities, including looping and working with web services (anyone thinking orchestration?). "A new action that enables no-code web service calls from within a workflow, new actions for creating a task and starting a task process and new workflow building blocks such as Stage, Loop, and App Step". With Azure Workflows you can even do "REST and Service Bus Messaging". Find out more about what is new in workflow in SharePoint 2013 from the Microsoft blog. Finally, machine translation provides automated translation into various languages - I’m looking forward to really seeing what our business can do with this translation service.

· ASP.NET 4.5, SQL 2008 R2, WCF 5.0 and Other new base technologies used

image

A fully declarative authoring environment enables information workers to use SharePoint Designer 2013 Preview to author powerful workflows, and a new set of Visual Studio 2012 workflow project templates let developers access more sophisticated features like custom actions.

SharePoint 2013 Preview workflows are powered by Windows Workflow Foundation 4, which was substantially redesigned from earlier versions. Windows Workflow Foundation (WF), in turn, is built on the messaging functionality that is provided by Windows Communication Foundation (WCF).

Conceptually, workflows model structured business processes. Therefore, Windows Workflow Foundation 4 workflows are a structured collection of workflow "activities," each of which represents a functional component of a business process.

The workflow platform in SharePoint 2013 Preview uses the Windows Workflow Foundation 4 activity model to represent a SharePoint-based business process. Additionally, SharePoint 2013 Preview introduces a higher-level stage-gate model on which to create workflows.

It is important to note the relationship between workflow activities and SharePoint actions. Workflow activities represent the underlying managed objects whose methods drive workflow behaviors. Workflow actions, on the other hand, are wrappers that encapsulate the underlying activities and present them in a user-friendly form in SharePoint Designer. Workflow authors interact with the workflow actions, whereas the workflow execution engine acts on the corresponding activities.

The activities, which are implementations of activity classes, are implemented declaratively by using XAML.

Workflow activities are invoked using loosely coupled web services that use messaging APIs to communicate with SharePoint. These APIs are built on the messaging functionality that is provided by Windows Communication Foundation (WCF).

Posted On Tuesday, August 14, 2012 7:06 AM | Comments (0)
SharePoint 2013 – Mobile Support.

With the increase in mobile browsing and greater demand for a mobile workforce, I’m pleased to see that SharePoint 2013 offers vast improvements to the mobile browser experience. SharePoint 2013 introduces the new ‘Contemporary View’. Depending on the mobile browser, users have one of the following browsing options, other than the ‘Mobile View’ explained next, here's a link - http://tempuri.org/tempuri.html  to another blog post by my colleague on SharePoint's mobile capabilities:

· Contemporary view: This view offers an optimised mobile browser experience to users and renders in HTML5. This view is available to Mobile Internet Explorer version 9.0 or later versions for Windows Phone 7.5, Safari version 4.0 or later versions for iPhone 4.0, and the Android browser for Android 4.0 or later versions.

· Classic view: This view renders in HTML format, or similar markup languages (CHTML, WML, and so on), and provides backward compatibility for mobile browsers that cannot render in the new contemporary view. The classic experience in SharePoint Server 2013 Preview is identical to the mobile browser experience of SharePoint Server 2010.

· Full-screen UI: There is also the ability to have a full desktop view of a SharePoint site on a smartphone device.

The following figure shows a classic, contemporary, and full-screen UI rendering for a smartphone browser.

clip_image002

Mobile browser redirection

To access a site by using the optimized mobile browser experience, a new feature named Automatic Mobile Browser Redirection must be activated on the site. When activated and a mobile browser is accessing the site, this feature checks the mobile browser to determine whether it can handle HTML5. If the mobile browser supports HTML5, the contemporary view is rendered. Otherwise, the classic view is rendered.

By default, this feature is activated when any of the following site templates are used:

· Team Site

· Blank Site

· Document Workspace or Center

· Project Site

You must explicitly activate the feature on sites created with other templates. You can activate or deactivate Automatic Mobile Browser Redirection at the site level.

Mobile views and the browser definition file

A mobile view is a version of the SharePoint site that was optimized for mobile devices. The browser definition file lists the mobile browsers and devices that are supported by SharePoint Server 2013 Preview and is used to redirect mobile browsers to the mobile views. You can modify the browser definition file to change the redirect behavior of a mobile browser, or to add or delete entries from the list of supported mobile devices.

The browser definition file lists the mobile browsers and devices that can access mobile views in SharePoint Server 2013 Preview. When a user browses a SharePoint site from a mobile device, the mobile browser submits to the site an HTTP GET request that includes a user agent string. If the mobile browser and device model in the user agent string are listed in the browser definition file and the isMobileDevice setting for the mobile browser is set to true, SharePoint Server 2013 Preview redirects the mobile browser to the mobile view of the site. Otherwise, a standard view of the site is shown in the mobile browser. You can modify the file to change the redirect behavior of a mobile browser.

The browser definition file lists the mobile browsers and devices that are supported by SharePoint Server 2013 Preview. The file can be updated when product updates to SharePoint Server 2013 Preview are released. You can also modify the file to add a mobile browser or device to the list. For more information about how to modify the browser definition file, see Configure the browser definition file in SharePoint Server 2013 Preview.

Note: Here’s a List of Supported Mobile Devices by SharePoint 2013.

Yet another cool feature of SharePoint 2013!

Posted On Tuesday, August 14, 2012 7:05 AM | Comments (0)
SharePoint 2013 – Enhanced User Experience, User Interface.

SharePoint 2013 - User Experience, User Interface and a ‘Brandable’ Central Administration

Original Post @ http://www.brightstarr.com/Pages/sharepoint-2013-and-user-experience.aspx

Having been playing around with the preview of SharePoint 2013 for a while now and having blogged a series of articles on individual features and enhancements including SharePoint 2013 search and social features, workflows in SharePoint 2013 and the new SharePoint 2013 App Model, there are so many more improvements that I love. Here are some of the other top features that caught my attention at the first site of SharePoint 2013, related to the SharePoint 2013 user experience, user interface and administration.

The new GUI: SharePoint 2013 adopts Microsoft’s big user interface (Windows 8 Metro) that is easier to use, snazzy, and well, different (in a good way). While there appears to be some uncertainty over the on-going use of the name ‘metro’ to describe its new, radical UI design, there is no doubt that the concept itself will be around for a while. Microsoft are planning to use Metro as the default UI for SharePoint, as well as user tools like Office, Windows, Xbox and mobile devices.

Cleaner messages: With 2013, SharePoint is bringing out a better way to present messages and notifications.

For example:

clip_image002

Is much easier on the eye than:

clip_image004

And even

clip_image006

Is much better than:

clip_image008

‘Brandable’ Central Administration

clip_image010

Yes, you heard/read it right. You can now add branding to even the ‘Ugly’ central administration portal. You will have the same capabilities to include a custom master page, css and images to the central admin site as you would for a publishing portal.

Tablet View

Regular View

clip_image012

Tablet View

clip_image014

Isn’t it cool? Read more on the mobile/tablet view and its benefits in my previous blog about Mobile Browsing in SharePoint 2013.

Drag and Drop documents: Within any document library you can simply drag and drop your documents and files. A simple feature, but I can see it dramatically reducing time taken to add content to SharePoint.

clip_image016

Cleaner and Less Cluttered Ribbon

clip_image018

Easier on the eye context menus

You no longer have to deal with drop downs and weird context menus. SharePoint 2013 bring out much easier to use and better to look at menus which give you appropriate amount of information with the capability to always view more J

clip_image020

Live Doc Preview — By default, there is now a live document preview, not just something you see in search, but available for all documents by default.

Taxonomy Based Navigation — There is now a new way to navigate through a site — using taxonomies based on term stores. You can attach more than one taxonomy to a site, which is good if you want to create navigation for product sections of a website or any navigation that doesn’t follow the site structure.

Security on Term Stores — Want to restrict certain parts of your term store to certain groups? You can do that now by applying permissions to term stores. As this topic is very near and dear to my heart, we’ll provide you a more detailed look at this capability in a later article.

As a closing note, I am really happy that branding has gotten a lift – bigger than anybody imagined probably imagined. May be now users who were not finding SharePoint usable have a change in opinion J. Metro design principles and guidelines have been used to create a cleaner and more responsive user experience.

Posted On Tuesday, August 14, 2012 7:04 AM | Comments (0)
SharePoint 2013 – Social & Enterprise Collaboration.

Perhaps the most exciting changes in SharePoint 2013 relate to enhanced social capabilities. The list of new features is extensive - micro blogs, activity feeds, community sites, following, likes and reputations are the ones that standout the most.

With the new Activity Feeds, I really like the idea that I can get real notifications of what's happening on a site. I really like ‘Following’ function, which adds the ability to "follow" people, sites, documents and topics, with subsequent actions of the followed entity appearing in the user's activity stream. Keeping up to date with the activities of colleagues in SharePoint has never been easier and I can see it really improving employee productivity and collaboration.

I think the new community features will be interesting, with Microsoft’s new site templates I can see an increase in micro-blogging happening within SharePoint; I'm certainly excited to see how our internal communities use them. Find out more about what is new in social computing in SharePoint 2013 on the Microsoft blog.

More collaboration and social integration features that are definitely worth mentioning are:

Communities – ‘Communities’ is a new subsite template that can be used and is based on the wiki pages infrastructure. It leverages discussion groups, likes, ratings.

Categories Categories can be configured per community to allow people to see discussions being had with much more granularity.

Reputation Reputation has been introduced to allow you to rate users within the community from 1 to 5 stars. This is different from 2010 where now the rating is actually stored in the subsite data rather than the social databases in the service application.

Community Badges – Badges are new to 2013. Essentially rules can be set when particular levels are reached in the community as seen from the screen shot below.

As an aside, it is worth noting that the social tools market is hot and feature advances are coming fast and furious. In this environment I do worry that Microsoft's three year product release cycle seems like an anachronism, leaving it constantly lagging behind its competitors.

Posted On Tuesday, August 14, 2012 6:58 AM | Comments (0)
SharePoint 2013 – Search, what’s new?

Search functionality in SharePoint 2013 Preview includes several enhancements, custom content processing with the Content Enrichment web service, and a new framework for presenting search result types. Additionally, there have been significant enhancements made to the keyword query language (KQL). A hot topic within SharePoint 2013, below is a summary of some of the enhancements within search in the new version of SharePoint.

Search Engine Optimisation & Analytics: Search has dramatically improved in SharePoint 2013 (see my colleague Marwan’s post specifically about SharePoint 2013 @ http://www.brightstarr.com/Pages/sharepoint-2013-for-search.aspx). Much of this is due to analytics moving into search. The Analytics Processing Component in SharePoint Server 2013 Preview runs different analytics jobs to analyse content in the search index and user actions that were performed on a site, to identify items that users perceive as more relevant than others.

Content Search Web Part: This new web part is cool, but it may take a demo to understand its power. In many ways this is the next generation of the previous Content Query Web Part - "The Content Search Web Part displays content that was crawled and added to the search index. You can use category pages when you want to aggregate content that meets certain criteria or parameters. For example, in an intranet scenario, all company events are maintained in a list that is shared as a catalogue. A query is issued from the Content Search Web Part to return all items from the search indexes that are specified in the query”. (See the Microsoft blog on ‘What is new in web content management for SharePoint 2013’ for more information).

More to follow on Web Content Management features soon, but in the meantime, take a look at my colleague Will’s article on SharePoint 2013 for WCM.

Also worth exploring for Search enthusiasts are these articles:

Manage the search schema in SharePoint 2013

Create and deploy a thesaurus in SharePoint 2013

Overview of Search Schema in SharePoint 2013

Posted On Tuesday, August 14, 2012 6:57 AM | Comments (1)
SharePoint 2013 – Everything is an ‘App’!

Lists, libraries, sites and even calendars are now ‘Apps’. In an interesting move that will at one stroke empower end users, reduce load on overworked IT operations departments and add fuel to the already active after-market for SharePoint add-ons, Microsoft is introducing an Apps Store model with SharePoint 2013.

SharePoint 2013 Preview introduces a Cloud App Model that enables you to create apps. Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website. An app may include SharePoint components such as lists, workflows, and site pages, but it can also surface a remote web application and remote data in SharePoint. An app has few or no dependencies on any other software on the device or platform where it is installed, other than what is built into the platform. This characteristic enables apps to be installed simply and uninstalled cleanly. Apps have no custom code that runs on the SharePoint servers. Instead, all custom logic moves "up" to the cloud or "down" to client computers. Additionally, SharePoint 2013 Preview introduces an innovative delivery model for apps for SharePoint that includes components like the SharePoint Store and the App Catalog.

clip_image002

This new app model will take you Microsoft into the New Online World – "The new app model embraces web standards: You can develop the user experience with HTML and JavaScript, and leverage SharePoint and other REST services right from the client using JavaScript and JSON. You can even create your own REST services and provide a web hosting platform of your choice to handle complex logic and integration of data and services. The new cloud app model also takes advantage of OAuth to allow for secure communication between SharePoint and remote hosted apps and services."

clip_image004

Why ‘Apps’?

- Provide users with an easy discovery, purchase, and installation process.

- Provide administrators with the safest SharePoint extensions

- Provide you with the simplest marketing and sales system based on a Microsoft-provided online app store.

- Maximise your flexibility in developing future upgrades.

- Maximize your ability to leverage your existing non-SharePoint programming skills

- Integrate cloud-based resources in smoother and more flexible way

clip_image006

- Enable your extension to have permissions that are distinct from the permissions of the user who is running the app

- Enable you to use cross-platform standards, including HTML, REST, OData, JavaScript, and OAuth.

- Enable you to leverage the SharePoint cross-domain JavaScript library to access SharePoint data. Alternatively, you can use a Microsoft-provided secure token service that is OAuth-compliant

- Can extend SharePoint Online websites as well as on-premises SharePoint websites.

Here’s an example of how a user would see apps:

- Need a Calendar on your site/page – Add the calendar app!

clip_image008

clip_image010

clip_image012

Initial SharePoint 2013 app offerings are already being promoted by Microsoft and it will be interesting to see how this space grows with the full release of SharePoint 2013.

Posted On Tuesday, August 14, 2012 6:53 AM | Comments (0)
New with SharePoint 2013 Series

As a consolidation effort and improving readability, I'm going to convert my 3 previous blogs about the new features with SharePoint 2013 into a 7 blog series.

The original posts will be published @ http://www.brightstarr.com/ in a series with better structure and formatting :)

SharePoint 2013 – Everything is an ‘App’!

SharePoint 2013 – Search, what’s new?

SharePoint 2013 – Social & Enterprise Collaboration.

SharePoint 2013 – Design and Branding Features.

SharePoint 2013 – Enhanced User Experience, User Interface.

SharePoint 2013 – Mobile Support.

SharePoint 2013 – Workflows.

Posted On Tuesday, August 14, 2012 6:50 AM | Comments (0)
Wednesday, August 8, 2012
10 coolest new features of SharePoint 2013
1. Everything is an app!

Lists, libraries, sites and even calendars are now ‘Apps’.

image

clip_image002

clip_image004

In an interesting move that will at one stroke empower end users, reduce load on overworked IT operations departments and add fuel to the already active after-market for SharePoint add-ons, Microsoft is introducing an Apps Store model with SharePoint 2013.

App vs a classic solution:

  • They provide users with the easiest discovery, purchase, and installation process.

  • They provide administrators with the safest SharePoint extensions.

  • They provide you with the simplest marketing and sales system based on a Microsoft-provided online app store.

  • They maximize your flexibility in developing future upgrades.

  • They maximize your ability to leverage your existing non-SharePoint programming skills.

  • They integrate cloud-based resources in smoother and more flexible ways.

image

  • They enable your extension to have permissions that are distinct from the permissions of the user who is running the app.

  • They enable you to use cross-platform standards, including HTML, REST, OData, JavaScript, and OAuth.image

  • They enable you to leverage the SharePoint cross-domain JavaScript library to access SharePoint data. Alternatively, you can use a Microsoft-provided secure token service that is OAuth-compliant.

  • They can extend SharePoint Online websites as well as on-premises SharePoint websites.

 

Initial app offerings are already being promoted by Microsoft.

 

2.     Cleaner Messages and a brandable Central Admin

image

image

image

3.  Icons, Design Mapper and Image Renditions

Design Manager - This new feature is so important that Microsoft even added it as a top level selection under Site Actions in Publishing sites! It includes links to a lot of common design tasks including some of the previous topics I’ve discussed but it also includes the following new features:

image 

  • Create and Edit Master Pages - This is probably the biggest change for SharePoint branding folks. From here you can create a minimal master page or convert an existing HTML design. Did that get your attention? Yes, you can actually add an HTML design with CSS and images to the Master Page Gallery and then use this feature to convert it to a functioning master page. You also get a preview of the new master page and a snippet gallery that allows you to copy and paste SharePoint functionality (like navigation, search, web parts, etc.) right into your HTML based design.

clip_image012
You no longer have to edit .master files; you can continue editing your HTML file in whatever editor you like and every time you hit save SharePoint will notice the changes and update the corresponding .master file.
Does this mean that SharePoint branding is so easy now that anyone can do it? Yes and no, if you need to make a branded SharePoint site you probably can do it all from the Design Manager with converting an HTML design and using snippets. However to make a fully branded portal or web site you will still need to understand a lot of SharePoint CSS and you still need to understand how Content Placeholders and a variety of other SharePoint specific technology works.
I'll be very curious to see how the SharePoint branding community reacts to this feature and see where we land with what newcomers can do with SharePoint branding on their own. I tend to think the Design Manager is a great starting point that changes things so that there is no middle level effort branding... either there is branding that anyone can do with the Design Manager or there is advanced branding that you need to understand the underpinnings in order to make things work the way you want.

Convert HTML to Master Page

  • Create and Edit Page Layouts - When you create a page layout from the Design Manager you get an HTML file that contains a minimal page layout and all the fields that come from the content type that you base the page layout on. When you make changes to this HTML file the corresponding .ASPX page layout is updated behind the scenes
  • Create a Design Package - Export your entire design from one place to another (even a completely different server). You can then import the design package to another site collection or server from Site Actions > Import Design Package.

 

Image Renditions -

Image Renditions are one of the new capabilities of the SharePoint 2013 platform that can help you improve the user experience of your website by optimizing images. Using Image Renditions you can have original (large) images stored in your website and then define a number of scaled variants to be used throughout the website.

image

By default there are already a few renditions defined but you can define your own renditions as well.

After defining renditions, the last step is to specify for every image how its renditions should look like. Although SharePoint 2013 automatically sizes the image to match renditions’ dimensions, you can also crop your image to ensure that the important details are not lost.

You can edit renditions for your images by navigating to your Image Library, selecting your image, opening its menu and choosing the Edit Renditions option.

On the Edit Renditions page you can see how the particular image looks like in all the different renditions and you can edit specific renditions as well.

image

 

As mentioned before, when editing renditions you can not only just resize an image but you can crop it as well to ensure that the important details are preserved. With that the process of configuring Image Renditions is completed and you can start using optimized images on your website. After you insert an image, you can use the Pick Rendition option to choose the Image Rendition you want to use.

image

4. Tablet View

Regular View

image

Tablet View

image

Mobile browser experience

SharePoint Server 2013 Preview offers improvements to the mobile browser experience with the introduction of a new contemporary view. Depending on the mobile browser, users have one of the following browsing options:

  • Contemporary view   This view offers an optimized mobile browser experience to users and renders in HTML5. This view is available to Mobile Internet Explorer version 9.0 or later versions for Windows Phone 7.5, Safari version 4.0 or later versions for iPhone 4.0, and the Android browser for Android 4.0 or later versions.

  • Classic view   This view renders in HTML format, or similar markup languages (CHTML, WML, and so on), and provides backward compatibility for mobile browsers that cannot render in the new contemporary view. The classic experience in SharePoint Server 2013 Preview is identical to the mobile browser experience of SharePoint Server 2010.

  • Full-screen UI   There is also the ability to have a full desktop view of a SharePoint site on a smartphone device.

The following figure shows a classic, contemporary, and full-screen UI rendering for a smartphone browser.

Figure: Classic, contemporary, and full-screen UI on a smartphone browser

Views of a smartphone browser

5. Drag and Drop documents

On any document library you can simple Drag and Drop the document and it will be upload with a quick progress bar. Here is how this feature works

Simply select a document from local and drag it towards the document library. The window will change to “Drag here”

image

6. Cleaner and Less Cluttered Ribbon

image

7. Easier on the eye context menus

image

8. ASP.NET 4.5, SQL 2008 R2, WCF 5.0 and Other new base technologies like the new workflow engine.

image

9. Metro

Last, in this super 7 list is Metro, the Microsoft’s big user interface bet that’s easier to use, snazzy and well, different (in a good way). While there appears to be some uncertainty over the ongoing use of the name "Metro" to describe its new, radical UI design, there is no doubt that the concept itself will be around for a while — Microsoft are planning to use Metro as the default UI for SharePoint as well as user tools like Office, Windows, Xbox and mobile devices.

10. Social Enterprise

Perhaps the most exciting changes in SharePoint 2013 relate to social capabilities. The list of new features is extensive: micro blogs, activity feeds, community sites, Following, Likes and Reputations are the standouts.

image

clip_image001[4]Of these I really like Following, which adds the ability to "follow" people, sites, documents and topics, with subsequent actions of the followed entity appearing in the user's activity stream. Keeping up to date with the activities of colleagues in SharePoint has never been easier.
As an aside, it is worth noting that the social tools market is white hot and feature advances are coming fast and furious. In this environment, Microsoft's three year product release cycle seems like an anachronism, leaving it constantly lagging behind its competitors.

Other ‘Cool Features’: Managed Navigation and SEO Properties….

Posted On Wednesday, August 8, 2012 4:37 PM | Comments (0)
Friday, July 27, 2012
SharePoint 2010 Workflow - Stuck with the error "Due to heavy load, the latest workflow operation has been queued"
If you're working with SharePoint 2010 and visual studio or designer workflows, sooner or later you will be Stuck! All you'll have is a non reactive screen with tasks not moving or created... you will have the error "Due to heavy load, the latest workflow operation has been queued"...

After hours of attempts to some how reset the workflow engine by server reboots and IISResets etc. I found a solution which actually worked.
Follow the following 2 steps and thank me later:
1. Execute the following command to increase from 15 to 30 the WorkflowPostponeThreshold farm configuration parameter:  

Set-SpFarmConfig -WorkflowPostponeThreshold 30

2. Execute the forllowing command to increase the frequency of execution for the job-workflow SP timer job to every minute:

get-sptimerjob | ?{$_.name -like "job-workflow"} | set-sptimerjob -schedule "every 1 minutes between 0 and 59"

Good Luck if even this doesn't move your workflow :)
Posted On Friday, July 27, 2012 6:36 AM | Comments (1)
SharePoint 2013 - 5 things to look out for!

1. Search Engine Optimization & Analytics is in Search – Search is TONS better. Much of this is due to Analytics moving into search. This will make Analytics Processing Component in SharePoint Server 2013 Preview runs different analytics jobs to analyze content in the search index and user actions that were performed on a site to identify items that users perceive as more relevant than others. TechNet Analytics Recommendations


2. Content Search WebPart – This webpart is cool, but it may take a demo to understand the power. In many ways this is the next generation of Content Query Web Part. "Content Search Web Part that displays content that was crawled and added to the search index. You can use category pages when you want to aggregate content that meets certain criteria or parameters. For example, in an intranet scenario, all company events are maintained in a list that is shared as a catalog. A query is issued from the Content Search Web Part to return all items from the search index that are specified in the query." Content Search Web Part

3. Rich Workflows – If workflows were a sore point, they've gotten a lot better and seem much more able to handle more complex activities including looping and working with webservices (anyone thinking orchestration?). "A new action that enables no-code web service calls from within a workflow, New actions for creating a task and starting a task process and New workflow building blocks such as Stage, Loop, and App Step" With Azure Workflows you can even do "REST and Service Bus Messaging" Workflow in SharePoint 2013 Machine Translation – Looking forward to really seeing what our business can do with this translation service. Automated translation into various languages!

4. Social Features: Activity feeds – I really like the idea that I can get real notifications of what's happening on a site including following documents, following sites, and following people… and automatically following team members (if you want).Communities – I think Microsoft's new site template communities will be interesting with integrated microblogging. I'm definitely anxious to see how our internal communities use them. What's new in social computing

5. New App Model – This new app model will take you into the New Online World – "The new app model embraces web standards: You can develop the user experience with HTML and JavaScript, and leverage SharePoint and other REST services right from the client using JavaScript and JSON. You can even create your own REST services and provide a web hosting platform of your choice to handle complex logic and integration of data and services. The new cloud app model also takes advantage of OAuth to allow for secure communication between SharePoint and remote hosted apps and services."

More to follow... 
Posted On Friday, July 27, 2012 3:17 AM | Comments (0)
SharePoint 2013 - First Look!

5 things that caught my attention for at the first site of SharePoint 2013.

  • The new GUI — SharePoint 2013 adopts the Windows 8 Metro interface.
  • Live Doc Preview — By default, there is now a live document preview, not just something you see in search, but available for all documents by default.
  • Taxonomy Based Navigation — There is now a new way to navigate through a site — using taxonomies based on term stores. You can attach more than one taxonomy to a site, which is good if you want to create navigation for product sections of a website or any navigation that doesn’t follow the site structure.
  • Security on Term Stores — Want to restrict certain parts of your term store to certain groups? You can do that now by applying permissions to term stores. As this topic is very near and dear to my heart, we’ll provide you a more detailed look at this capability in a later article.
  • Workflow — There’s a new Workflow model at the core of SharePoint 2013. It is built on the same OAuth authentication and iFrames model that all new apps must work with. The old way will still work, but new workflows will need to be built using the new model.

More to follow... 
Posted On Friday, July 27, 2012 3:16 AM | Comments (0)
SharePoint 2013 - Favorite 5!

5 things that caught my attention for at the first site of SharePoint 2013.

  • The new GUI — SharePoint 2013 adopts the Windows 8 Metro interface.
  • Live Doc Preview — By default, there is now a live document preview, not just something you see in search, but available for all documents by default.
  • Taxonomy Based Navigation — There is now a new way to navigate through a site — using taxonomies based on term stores. You can attach more than one taxonomy to a site, which is good if you want to create navigation for product sections of a website or any navigation that doesn’t follow the site structure.
  • Security on Term Stores — Want to restrict certain parts of your term store to certain groups? You can do that now by applying permissions to term stores. As this topic is very near and dear to my heart, we’ll provide you a more detailed look at this capability in a later article.
  • Workflow — There’s a new Workflow model at the core of SharePoint 2013. It is built on the same OAuth authentication and iFrames model that all new apps must work with. The old way will still work, but new workflows will need to be built using the new model.

More to follow... 
Posted On Friday, July 27, 2012 3:10 AM | Comments (0)
Modernizr - Detect HTML5 and CSS3 features
We all know not all browsers support all HTML5 and CSS3 features at this moment. Modernizr comes to rescue here for all Sites that want to use rich HTML5 and CSS3 features. 

So what is Modenizer? 
Modernizr is a JavaScript library that detects which HTML5 or CSS3 features are supported by your visitor's browser. 

Where can I use Modernizer? 
If your site is using HTML5 or CSS3 feature and want to detect if that feature is supported by your visitor’s browser. If not, you can provide fallback for browsers that do not support those features. 

How to use Modenizer for detect HTML5 features 
Step1: download modernizr.js file from http://modernizr.com/ 
Step2: Add reference to modernizr.js in your html document 

Example 
<!DOCTYPE html>
<html class="no-js" lang="en">
<head>
  <meta charset="utf-8">
  <title>Hello Modernizr</title>
<script src="modernizr1.js" type="text/javascript"></script>

</head>
<body>
    <script>
        if (Modernizr.video) {
            document.write("Yes, support video feature");
        } else {
            document.write("no, doesn't support video feature");
        }
</script>
</body>
</html>
Posted On Friday, July 27, 2012 2:57 AM | Comments (2)