Category Archives: Office365

How To : SAP Integration with .Net 4.0 (SAP Connection Manager) & SharePoint

This is a simple, C# class library project to connect .NET applications with SAP.

ppt_img[1]

 

This component internally implements SAP .NET Connector 3.0. The SAP .NET Connector is a development environment that enables communication between the Microsoft .NET platform and SAP systems.

This connector supports RFCs and Web services, and allows you to write different applications such as Web form, Windows form, or console applications in the Microsoft Visual Studio .NET.

With the SAP .NET Connector, you can use all common programming languages, such as Visual Basic. NET, C#, or Managed C++.

Features
Using the SAP .NET Connector you can:

Write .NET Windows and Web form applications that have access to SAP business objects (BAPIs).

Develop client applications for the SAP Server.

Write RFC server applications that run in a .NET environment and can be installed starting from the SAP system.

Following are the steps to configure this utility on your project

Download and extract the attached file and place it on your machine. This package contains 3 libraries:

SAPConnectionManager.dll
sapnco.dll
sapnco_utils.dll

Now go to your project and add the reference of all these four libraries. Sapnco.dll and sapnco_utils.dll are inbuilt libraries used by SAP .NET Connector. SAPConnectionManager.dll is the main component which provides the connection between .NET and SAP.

Once the above steps are complete, you need to make certain entries related to SAP server on your configuration file. Here are the sample entries that you have to maintain on your own project. You need to change only the values which are marked in Bold. Rest remains unchanged.

<appSettings>
<add key=”ServerHost” value=”127.0.0.1″/>
<add key=”SystemNumber” value=”00″/>
<add key=”User” value=”sample”/>
<add key=”Password” value=”pass”/>
<add key=”Client” value=”50″/>
<add key=”Language” value=”EN”/>
<add key=”PoolSize” value=”5″/>
<add key=”PeakConnectionsLimit” value=”10″/>
<add key=”IdleTimeout” value=”600″/>
</appSettings>

To test this component, create one windows application. Add the reference of sapnco.dll, sapnco_utils.dll, andSAPConnectionManager.dll on your project.

Paste the below code on your Form lode event

SAPSystemConnect sapCfg = new SAPSystemConnect();
RfcDestinationManager.RegisterDestinationConfiguration(sapCfg);
RfcDestination rfcDest = null;
rfcDest = RfcDestinationManager.GetDestination(“Dev”);

sap_integration_en_round[1]
That’s it. Now you are successfully connected with your SAP Server. Next you need to call SAP business objects (BAPIs) and extract the data and stored it in DataSet or list.

Demo Code available on request!!

How To : Add a Promoted Links Web Part to SharePoint 2013 App Default page

This article helps you to add Promoted links web part to your default app page as the following figure:

 

To do this follow the following steps:
Open the shortcut menu for the project, and then choose Add, New Item
Add Picture Textbox, and two buttons to infopath form

 

In the Templates pane, choose the List template, and then choose the Add button :

Enter list name and choose the Create a non-customizable list based on an existing list type of option button, and then, in its list, choose Promoted links, and then choose the Finish button

Binding the CAPTCHA image
In Solution Explorer, under the list instance node, open the Elements.xml file.
Add the promoted links items as the following:
<?versionencodingutf-8?>
Elementsxmlnshttp://schemas.microsoft.com/sharepoint/
ListInstanceTitleMyPromotedLinks
OnQuickLaunch
TemplateType
FeatureId192efa95-e50c-475e-87ab-361cede5dd7f
Lists/MyPromotedLinks
DescriptionMy List Instance
FieldTitleTwitter</Field
FieldBackgroundImageLocation/PromotedLinksApp/Images/twitter.png
FieldDescriptionMuawiyah Shannak Twitter
FieldLinkLocationhttps://twitter.com/MuShannak</Field
FieldOrder</Field
</
FieldTitle</Field
FieldBackgroundImageLocation/PromotedLinksApp/Images/blogger.png
FieldDescriptionMuawiyah Shannak Blog
FieldLinkLocationhttp://mushannak.blogspot.com</Field
FieldOrder</Field
</
FieldTitleLinkedin</Field
FieldBackgroundImageLocation/PromotedLinksApp/Images/linkedin.png
FieldDescriptionMuawiyah Shannak Linkedin
FieldLinkLocationhttp://ae.linkedin.com/in/shannak</Field
FieldOrder</Field
</
</
</
<!–ListInstance
</Elements
In Solution Explorer, under the Pages node, open the Default.aspx file. Add following tags inside the PlaceHolderMain Place Holder:
WebPartPagesWebPartZone=”WebPartZone”runat=”server”FrameType=”None”>
WebPartPagesXsltListViewWebPart=”XsltListViewAppPromotedList”
runat=”server”ListUrl=”Lists/MyPromotedLinks”IsIncluded=”True”
NoDefaultStyle=”TRUE”Title=”Images used in switcher”
PageType=”PAGE_NORMALVIEW”Default=”False”
ViewContentTypeId=”0x”>
</WebPartPagesXsltListViewWebPart
</WebPartPagesWebPartZone

Deploy a solution and you will find nice promoted links web part in the app default page!

How To : Manually add common consent to your Office 365 APIs Preview app

Windows_Azure_Wallpaper_p754[1]office365logoorange_web[1]

 

Learn how to manually add Microsoft Azure Active Directory common consent to your ASP.NET application so that it can access secured services.

Prerelease content Prerelease content
The features and APIs documented in this article are in preview and are subject to change. Do not use them in production.

In this article, you’ll learn how to build a web application hosted on an Azure website that uses the OneDrive for Business API to access secured folders and files.

You can easily set up access to the OneDrive for Business using the Office 365 API Preview Tools for Visual Studio 2013. If you’re not using the tools, you’ll need to manually set up your app in your development environment, register your app with Microsoft Azure Active Directory, write code to handle tokens, and write the code to work with the OneDrive for Business resources. All these steps are described in this article.

Note Note
This article covers OneDrive for Business apps, but the same steps apply to apps that access any other secured resource.

Before you manually add common consent to your app, make sure that you have the following:

  • An Office 365 account. If you don’t have one, you can sign up for an Office 365 developer site.
  • Visual Studio 2012 or Visual Studio 2013.
    Note Note
    The Office 365 API Preview Tools for Visual Studio 2013, which simplify development, are available for Visual Studio 2013 only.
  • A test account to use in your application.

We also recommend that you familiarize yourself with the Authorization Code Grant Flow. This will help you understand the authentication process that takes place in the background between your application, Azure AD, and the Office 365 resource so that you can better troubleshoot as you develop.

If you’ve already created an account within your Azure tenancy, you can use that account. Otherwise, you will have to create a new organizational user account to use in this sample.

To create an organizational user account

  1. Go to https://manage.windowsazure.com/.
  2. Choose the Active Directory icon on the left side in the Azure portal.
  3. Choose Add a user.
  4. Fill in the user name.
  5. Move to the next screen.
  6. Create a user profile. To do this:
    1. Enter a first and last name.
    2. Enter a display name.
    3. Set the Role to Global Administrator.
    4. After you set the role you will be asked for an alternate email address. You can enter the email address that you used to create the subscription, or a different one.
  7. Move to the next screen.
  8. Choose create.
  9. A temporary password is generated. You will use this to sign in later. You will have to change it at that time.
  10. Choose the check mark to finish creating the organizational user account.

The next step is to create the actual app that contains the UI and code needed to work with the OneDrive for Business REST APIs to list the folders and files in the user’s OneDrive.

To create the Visual Studio project

  1. Open Visual Studio 2013 and create a new ASP.NET Web Application project. Name the application Get_Stats. Choose OK.
  2. Choose the MVC template and choose the Change Authentication button. Select the Organization Accounts option. This will display additional options for authentication.
  3. Choose Cloud – Single Organization.
  4. Specify the domain of your Azure AD tenancy.
  5. Set the Access Level to Single Sign On, Read directory data.

    Under More Options, you will see the App ID URI is set automatically.

  6. Choose OK to continue. This brings up a dialog box to authenticate.
    Note Note
    If you receive an invalid domain name error, you might need to implement a workaround by substituting a real domain name, such as *.onmicrosoft.com, from another Azure subscription that you have. When you complete the Visual Studio new project dialog box, Visual Studio creates a temporary app registration entry on the domain that you specify. You can delete that entry later.

    As part of the workaround, you need to adjust the web.config settings and manually register the web app in the correct Azure AD domain.

  7. Enter the credentials of the user you created earlier.
  8. Choose OK to finish creating the new project. Visual Studio will automatically register the new web app in the Azure AD tenant you specified.
  9. Run the Visual Studio project, and sign on using the test account you created earlier. After the project is running, you can verify that single-sign on is working because the test account user name is displayed in the upper right corner of the web app.
  1. Log on with your Azure account.
  2. In the left navigation, choose Active Directory. Your directory will be listed.
  3. Choose your directory.
  4. In the top navigation, choose Applications.
  5. On the Active Directory tab, choose Applications.
  6. Add a new application in your Office 365 domain (created at Office 365 sign up) by choosing the “ADD” icon at the bottom of the portal screen. This will bring up a dialog box to tell Azure about your application.
  7. Choose Add an application my organization is developing.
  8. For the name of the application, enter Get Stats. For the Type, leave Web application and/or Web API. Then choose the arrow to move to step 2.
  9. For the Sign-On URL, enter the localhost URL from your Get_Stats Visual Studio project. To find the URL:
    1. Open your project in Visual Studio.
    2. In Solution Explorer, choose the Get_Status project.
    3. From the Properties window, copy the SSL URL value.
    4. Enter an App ID URI. Because the ID must be unique, it’s a good idea to choose a name that is similar to the app name. For example, you can use your Sign-on URL with your app name, such as https://locahost:44044/Get_Stats.
    5. Choose the checkmark to finish adding the application. You will be notified that the application was added successfully.
  1. Copy the APP ID URI to the clipboard.
  2. In your Get_Stats Visual Studio project, open the web.config file.
  3. Locate the ida:Realm key and paste the APP ID URI for the value.
  4. Locate the ida:AudienceUri key and paste the same APP ID URI for the value.
  5. Locate the audienceUris element and paste the same APP ID URI for the add element’s value.
  6. Locate the wsFederation element, and paste the same APP ID URI for the realm.
  7. In the Azure Portal, copy the federation metadata document URL to the clipboard.
  8. In the web.config file, locate the ida:FederationMetadataLocation key, and paste the URL for the value.
  9. In the Azure Portal, choose the View Endpoints icon at the bottom.
  10. Copy the WS-Federation Sign-On Endpoint to the clipboard.
  11. In the web.config file, locate the wsFederation element and paste the endpoint value for the issuer.
  12. Save your changes and run the project. You will be prompted to sign on. Sign on by using the test account you created earlier. You should see your account user name displayed in the upper right corner of the web app.

Get an application key


Next, you need to generate a key that you can use to identify your application for access tokens.

To get an application key for your app

  1. In the Azure Portal, select the Get_Stats application in the directory.
  2. Choose the Configure command and then locate the keys section.
  3. In the Select duration drop-down box, choose 1 year.
  4. Choose Save.

    The key value is displayed.

    Note Note
    This is the only time that the key is displayed.
  5. In Visual Studio, open the Get_Stats project, and open the web.config file.
  6. Locate the ida:Password element, and paste the key value for the value. Now your project will always send the correct password when it is requested.
  7. Save all files.
Configure API permissions


You need to specify which web APIs your web app needs access to, and what level of access it needs. This determines what scopes and permissions are requested on the consent form for your web app that is displayed for users and admins.

To configure API permissions

  1. In the Azure Portal, select the Get Status application in the directory.
  2. From the top navigation, choose Configure. This displays all the configuration properties.
  3. At the bottom is a web apis section. Notice that your web app has already been granted access to Azure AD.
  4. Choose Office365 SharePoint Online API.
  5. Choose Delegated Permissions and select Read items in all site collections.
    Note Note
    The options activate when you move over them.
  6. Choose Save to save these changes. Your web app will now request these permissions.

    You can also manage permissions by using a manifest. You can download your manifest file by choosing Manage Manifest.

Add the GraphHelper project to your solution


The easiest way to call graph APIs in Azure AD is to use the Graph API Helper Library. The following instructions show how to include the GraphHelper project into your Get_Stats solution.

To configure the Graph API Helper Library

  1. Download the Azure AD Graph API Helper Library.
  2. Copy the C# folder from the Graph API Helper Library to your project folder (i.e. \Projects\Get_Stats\C#.)
  3. Open the Get_Stats solution in Visual Studio.
  4. In the Solution Explorer, choose the Get-Stats solution and choose Add Existing Project.
  5. Go to the C# folder you copied, and open the WindowsAzure.AD.Graph.2013_04_05 folder.
  6. Select the Microsoft.WindowsAzure.ActiveDirectory.GraphHelper project and choose Open.
  7. If you are prompted with a security warning about adding the project, choose OK to indicate that you trust the project.
  8. Choose the Get_Stats project References folder and then choose Add Reference.
  9. In the Reference Manager dialog box, select Extensions and then select the Microsoft.Data.OData version 5.6.0.0 assembly and the Microsoft.Data.Services.Client version 5.6.0.0 assembly.
  10. In the same Reference Manager dialog box, expand the Solution menu on the left, and then select the checkbox for the Microsoft.WindowsAzure.ActiveDirectory.GraphHelper.
  11. Choose OK to add the references to your project.
  12. Add the following using directives to the top of HomeController.cs.
    using Microsoft.WindowsAzure.ActiveDirectory;
    using Microsoft.WindowsAzure.ActiveDirectory.GraphHelper;
    using System.Data.Services.Client;
    
    
  13. Save all files.

Add code to manage tokens and requests


Because your web app accesses multiple workloads, you need to write some code to obtain tokens. It’s best to place this code in some helper methods that can be called when needed.Note that the Office 365 API Preview tools will handle all this coding for you.

Your custom code handles the following scenarios:

  • Obtaining an authentication code
  • Using the authentication code to obtain an access token and a multiple resource refresh token
  • Using the multiple resource refresh token to obtain a new access token for a new workload

To create code to manage tokens and requests

  1. Open your Visual Studio project for Get_Stats.
  2. Open the HomeController.cs file.
  3. Create a new method named Stats by using the following code.
    public ActionResult Stats()
    {
        var authorizationEndpoint = "https://login.windows.net/"; // The oauth2 endpoint.
        var resource = "https://graph.windows.net"; // Request access to the AD graph resource.
        var redirectURI = ""; // The URL where the authorization code is sent on redirect.
    
        // Create a request for an authorization code.
        string authorizationUrl = string.Format("{1}common/oauth2/authorize?&response_type=code&client_id={2}&resource={3}&redirect_uri={4}",
               authorizationEndpoint,
               ClaimsPrincipal.Current.FindFirst(TenantIdClaimType).Value,
               AppPrincipalId,
               resource,
               redirectURI);
    
    
  4. The Stats method constructs a request for an authorization code and sends the request to the Oauth2 endpoint. If successful, the redirect returns to the specified CatchCode URL. Next, create a method to handle the redirect to CatchCode.
    public ActionResult CatchCode(string code)
    {}
    
    
  5. Acquire the access token by using the app credentials and the authorization code. Use your project’s correct port number in the following code.
    //  Replace the following port with the correct port number from your own project.
        var appRedirect = "https://localhost:44307/Home/CatchCode";
    
    //  Create an authentication context.
        AuthenticationContext ac = new AuthenticationContext(string.Format("https://login.windows.net/{0}",
        ClaimsPrincipal.Current.FindFirst(TenantIdClaimType).Value));
    
    //  Create a client credential based on the application ID and secret.
    ClientCredential clcred = new ClientCredential(AppPrincipalId, AppKey);
    
    //  Use the authorization code to acquire an access token.
        var arAD = ac.AcquireTokenByAuthorizationCode(code, new Uri(appRedirect), clcred);
    
    
  6. Next use the access token to call the Graph API and get the list of users for the Office 365 tenant. Paste the list into the following code.
    //  Convert token to the ADToken so you can use it in the graphhelper project.
    
        AADJWTToken token = new AADJWTToken();
        token.AccessToken = arAD.AccessToken; 
    
    //  Initialize a graphService instance by using the token acquired in the previous step.
    
        Microsoft.WindowsAzure.ActiveDirectory.DirectoryDataService graphService = new DirectoryDataService("09f9ea02-9be8-4597-86b9-32935a17723e", token);
        graphService.BaseUri = new Uri("https://graph.windows.net/09f9ea02-9be8-4597-86b9-32935a17723e");
    
    //  Get the list of all users.
    
        var users = graphService.users;
        QueryOperationResponse<Microsoft.WindowsAzure.ActiveDirectory.User> response;
        response = users.Execute() as QueryOperationResponse<Microsoft.WindowsAzure.ActiveDirectory.User>;
        List<Microsoft.WindowsAzure.ActiveDirectory.User> userList = response.ToList();
        ViewBag.userList = userList; 
    
    
  7. Now you need to call Microsoft OneDrive for Business, and this requires a new access token. Verify that the current token is a multiple resource refresh token, and then use it to obtain a new token. Paste the token into the following code.
    //  You need a new access token for new workload. Check to determine whether you have the MRRT.
    
        if (arAD.IsMultipleResourceRefreshToken)
        {
            // This is an MRRT so use it to request an access token for SharePoint.
            AuthenticationResult arSP = ac.AcquireTokenByRefreshToken(arAD.RefreshToken, AppPrincipalId, clcred, "https://imgeeky.spo.com/");
        }
    
    
  8. Finally, call Microsoft OneDrive for Business to get a list of files in the Shared with Everyone folder. Paste the list into the following code and replace any placeholders with correct values.
    //  Now make a call to get a list of all files in a folder. 
    //  Replace placeholders in the following string with correct values for your domain and user name. 
        var skyGetAllFilesCommand = "https://YourO365Domain-my.spo.com/personal/YourUserName_YourO365domain_spo_com/_api/web/GetFolderByServerRelativeUrl('/personal/YourUserName_YourO365domain_spo_com/Documents/Shared%20with%20Everyone')/Files";
    
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(skyGetAllFilesCommand);
        request.Method = "GET";
    
        WebResponse wr = request.GetResponse();
    
        ViewBag.test = wr.ToString();
    
        return View(); 
    
    
  9. Create a view for the CatchCode method. In Solution Explorer, expand the Views folder and choose Home, and then choose Add View.
  10. Enter CatchCode as the name of the new view, and choose Add.
  11. Paste the following HTML to render the users and Microsoft OneDrive for Business response from the CatchCode method.
    @{
        ViewBag.Title = "CatchCode";
    }
    <h2>Users</h2>
    <ul id="users">
    
        @foreach (var user in ViewBag.userList)
        {
            <li>@user.displayName</li>
        }
    </ul>
    <h2>OneDrive for Business Response</h2>
    <p>@ViewBag.skyResponse</p>
    
    
  12. Build and run the solution. Verify that you get a list of users, and that you get an XML response from the OneDrive for Business method call. To change the XML response, add files to the OneDrive for Business Share with Everyone folder.

New SharePoint 2010 & 2013, Online Connector for Outlook available!!

SharePoint Connector  For Outlook makes it easier for office users to upload emails to SharePoint and attach SharePoint documents to an email message .

 

Please contact me through my blog or at tomas.floyd@outlook.com for more information on pricing, licensing and trials.

 

   SharePointOutlookConnectorAttachingSharePointOutlookExplorer_2

FEATURES

  • Workflow integration
  • Attach items as attachments into email item functionality
  • Multiple site configuration
  • Check Out/Check In functionality
  • Drag & Drop files(attachments) into a folder
  • Copy, delete and open item/document functionalities
  • Version History for files
  • Saving email meta data to SharePoint document item (title, to, from etc) functionality
  • Works with all SharePoint versions
  • Saving email message as list item and attachments as attachment of the list item functionality
  • Template based search functionality
  • Windows explorer right click upload
  • Editing metadata on uploading document
  • Multiple site configuration
  • File System Integration has been added. (This allows you to integrate live mesh folders into outlook)
  • Attach items as attachments into email item functionality
  • Advanced Alert System
  • Library Content Viewer
  • Saving email message as list item and attachments as attachment of the list item functionality

Free Code to Create Cross-site Publishing Apps for SharePoint Online

Cross-site publishing is one of the powerful new capabilities in SharePoint 2013.  It enables the separation of data entry from display and breaks down the container barriers that have traditionally existed in SharePoint (ex: rolling up information across site collections). 

 IC648720[1]

Cross-site publishing is delivered through search and a number of new features, including list/library catalogs, catalog connections, and the content search web part.  Unfortunately, SharePoint Online/Office 365 doesn’t currently support these features.  Until they are added to the service (possibly in a quarterly update), customers will be looking for alternatives to close the gap.  In this post, I will outline several alternatives for delivering cross-site and search-driven content in SharePoint Online and how to template these views for reuse

I’m a huge proponent of SharePoint Online.  After visiting several Microsoft data centers, I feel confident that Microsoft is better positioned to run SharePoint infrastructure than almost any organization in the world.  SharePoint Online has very close feature parity to SharePoint on-premise, with the primary gaps existing in cross-site publishing and advanced business intelligence.  Although these capabilities have acceptable alternatives in the cloud (as will be outlined in this post), organizations looking to maximize the cloud might consider SharePoint running in IaaS for immediate access to these features.

 

Apps for SharePoint

The new SharePoint app model is fully supported in SharePoint Online and can be used to deliver customizations to SharePoint using any web technology.  New SharePoint APIs can be used with the app model to deliver an experience similar to cross-site publishing.  In fact, the content search web part could be re-written for delivery through the app model as an “App Part” for SharePoint Online. 
Although the app model provides great flexibility and reuse, it does come with some drawbacks.  Because an app part is delivered through a glorified IFRAME, it would be challenging to navigate to a new page from within the app part.  A link within the app would only navigate within the IFRAME (not the parent of the IFRAME).  Secondly, there isn’t a great mechanism for templating a site to automatically leverage an app part on its page(s).  Apps do not work with site templates, so a site that contains an app cannot be saved as a template.  Apps can be “stapled” to sites, but the app installed event (which would be needed to add the app part to a page) only fires when the app is installed into the app catalog.

REST APIs and Script Editor

The script editor web part is a powerful new tool that can help deliver flexible customization into SharePoint Online.  The script editor web part allows a block of client-side script to be added to any wiki or web part page in a site.  Combined with the new SharePoint REST APIs, the script editor web part can deliver mash-ups very similar to cross-site publishing and the content search web part.  Unlike apps for SharePoint, the script editor isn’t constrained by IFRAME containers, app permissions, or templating limitations.  In fact, a well-configured script editor web part could be exported and re-imported into the web part gallery for reuse.

Cross-site publishing leverages “catalogs” for precise querying of specific content.  Any List/Library can be designated as a catalog.  By making this designation, SharePoint will automatically create managed properties for columns of the List/Library and ultimately generate a search result source in sites that consume the catalog.  Although SharePoint Online doesn’t support catalogs, it support the building blocks such as managed properties and result sources.  These can be manually configured to provide the same precise querying in SharePoint Online and exploited in the script editor web part for display.

Calling Search REST APIs

<div id=”divContentContainer”></div>
<script type=”text/javascript”>
    $(document).ready(function ($) {
        var basePath = “https://tenant.sharepoint.com/sites/somesite/_api/&#8221;;
        $.ajax({
            url: basePath + “search/query?Querytext=’ContentType:News'”,
            type: “GET”,
            headers: { “Accept”: “application/json;odata=verbose” },
            success: function (data) {
                //script to build UI HERE
            },
            error: function (data) {
                //output error HERE
            }
        });
    });
</script>

 

An easier approach might be to directly reference a list/library in the REST call of our client-side script.  This wouldn’t require manual search configuration and would provide real-time publishing (no waiting for new items to get indexed).  You could think of this approach similar to a content by query web part across site collections (possibly even farms) and the REST API makes it all possible!

List REST APIs

<div id=”divContentContainer”></div>
<script type=”text/javascript”>
    $(document).ready(function ($) {
        var basePath = “https://tenant.sharepoint.com/sites/somesite/_api/&#8221;;
        $.ajax({
            url: basePath + “web/lists/GetByTitle(‘News’)/items/?$select=Title&$filter=Feature eq 0”,
            type: “GET”,
            headers: { “Accept”: “application/json;odata=verbose” },
            success: function (data) {
                //script to build UI HERE
            },
            error: function (data) {
                //output error HERE
            }
        });
    });
</script>

 

The content search web part uses display templates to render search results in different arrangements (ex: list with images, image carousel, etc).  There are two types of display templates the content search web part leverages…the control template, which renders the container around the items, and the item template, which renders each individual item in the search results.  This is very similar to the way a Repeater control works in ASP.NET.  Display templates are authored using HTML, but are converted to client-side script automatically by SharePoint for rendering.  I mention this because our approach is very similar…we will leverage a container and then loop through and render items in script.  In fact, all the examples in this post were converted from display templates in a public site I’m working on. 

Item display template for content search web part

<!–#_
var encodedId = $htmlEncode(ctx.ClientControl.get_nextUniqueId() + “_ImageTitle_”);
var rem = index % 3;
var even = true;
if (rem == 1)
    even = false;

var pictureURL = $getItemValue(ctx, “Picture URL”);
var pictureId = encodedId + “picture”;
var pictureMarkup = Srch.ContentBySearch.getPictureMarkup(pictureURL, 140, 90, ctx.CurrentItem, “mtcImg140”, line1, pictureId);
var pictureLinkId = encodedId + “pictureLink”;
var pictureContainerId = encodedId + “pictureContainer”;
var dataContainerId = encodedId + “dataContainer”;
var dataContainerOverlayId = encodedId + “dataContainerOverlay”;
var line1LinkId = encodedId + “line1Link”;
var line1Id = encodedId + “line1”;
 _#–>
<div style=”width: 320px; float: left; display: table; margin-bottom: 10px; margin-top: 5px;”>
   <a href=”_#= linkURL =#_”>
      <div style=”float: left; width: 140px; padding-right: 10px;”>
         <img src=”_#= pictureURL =#_” class=”mtcImg140″ style=”width: 140px;” />
      </div>
      <div style=”float: left; width: 170px”>
         <div class=”mtcProfileHeader mtcProfileHeaderP”>_#= line1 =#_</div>
      </div>
   </a>
</div>

 

Script equivalent

<div id=”divUnfeaturedNews”></div>
<script type=”text/javascript”>
    $(document).ready(function ($) {
        var basePath = “https://richdizzcom.sharepoint.com/sites/dallasmtcauth/_api/&#8221;;
        $.ajax({
            url: basePath + “web/lists/GetByTitle(‘News’)/items/?$select=Title&$filter=Feature eq 0”,
            type: “GET”,
            headers: { “Accept”: “application/json;odata=verbose” },
            success: function (data) {
                //get the details for each item
                var listData = data.d.results;
                var itemCount = listData.length;
                var processedCount = 0;
                var ul = $(“<ul style=’list-style-type: none; padding-left: 0px;’ class=’cbs-List’>”);
                for (i = 0; i < listData.length; i++) {
                    $.ajax({
                        url: listData[i].__metadata[“uri”] + “/FieldValuesAsHtml”,
                        type: “GET”,
                        headers: { “Accept”: “application/json;odata=verbose” },
                        success: function (data) {
                            processedCount++;
                            var htmlStr = “<li style=’display: inline;’><div style=’width: 320px; float: left; display: table; margin-bottom: 10px; margin-top: 5px;’>”;
                            htmlStr += “<a href=’#’>”;
                            htmlStr += “<div style=’float: left; width: 140px; padding-right: 10px;’>”;
                            htmlStr += setImageWidth(data.d.PublishingRollupImage, ‘140’);
                            htmlStr += “</div>”;
                            htmlStr += “<div style=’float: left; width: 170px’>”;
                            htmlStr += “<div class=’mtcProfileHeader mtcProfileHeaderP’>” + data.d.Title + “</div>”;
                            htmlStr += “</div></a></div></li>”;
                            ul.append($(htmlStr))
                            if (processedCount == itemCount) {
                                $(“#divUnfeaturedNews”).append(ul);
                            }
                        },
                        error: function (data) {
                            alert(data.statusText);
                        }
                    });
                }
            },
            error: function (data) {
                alert(data.statusText);
            }
        });
    });

    function setImageWidth(imgString, width) {
        var img = $(imgString);
        img.css(‘width’, width);
        return img[0].outerHTML;
    }
</script>

 

Even one of the more complex carousel views from my site took less than 30min to convert to the script editor approach.

Advanced carousel script

<div id=”divFeaturedNews”>
    <div class=”mtc-Slideshow” id=”divSlideShow” style=”width: 610px;”>
        <div style=”width: 100%; float: left;”>
            <div id=”divSlideShowSection”>
                <div style=”width: 100%;”>
                    <div class=”mtc-SlideshowItems” id=”divSlideShowSectionContainer” style=”width: 610px; height: 275px; float: left; border-style: none; overflow: hidden; position: relative;”>
                        <div id=”divFeaturedNewsItemContainer”>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script type=”text/javascript”>
    $(document).ready(function ($) {
        var basePath = “https://richdizzcom.sharepoint.com/sites/dallasmtcauth/_api/&#8221;;
        $.ajax({
            url: basePath + “web/lists/GetByTitle(‘News’)/items/?$select=Title&$filter=Feature eq 1&$top=4”,
            type: “GET”,
            headers: { “Accept”: “application/json;odata=verbose” },
            success: function (data) {
                var listData = data.d.results;
                for (i = 0; i < listData.length; i++) {
                    getItemDetails(listData, i, listData.length);
                }
            },
            error: function (data) {
                alert(data.statusText);
            }
        });
    });
    var processCount = 0;
    function getItemDetails(listData, i, count) {
        $.ajax({
            url: listData[i].__metadata[“uri”] + “/FieldValuesAsHtml”,
            type: “GET”,
            headers: { “Accept”: “application/json;odata=verbose” },
            success: function (data) {
                processCount++;
                var itemHtml = “<div class=’mtcItems’ id=’divPic_” + i + “‘ style=’width: 610px; height: 275px; float: left; position: absolute; border-bottom: 1px dotted #ababab; z-index: 1; left: 0px;’>”
                itemHtml += “<div id=’container_” + i + “‘ style=’width: 610px; height: 275px; float: left;’>”;
                itemHtml += “<a href=’#’ title='” + data.d.Caption_x005f_x0020_x005f_Title + “‘ style=’width: 610px; height: 275px;’>”;
                itemHtml += data.d.Feature_x005f_x0020_x005f_Image;
                itemHtml += “</a></div></div>”;
                itemHtml += “<div class=’titleContainerClass’ id=’divTitle_” + i + “‘ data-originalidx='” + i + “‘ data-currentidx='” + i + “‘ style=’height: 25px; z-index: 2; position: absolute; background-color: rgba(255, 255, 255, 0.8); cursor: pointer; padding-right: 10px; margin: 0px; padding-left: 10px; margin-top: 4px; color: #000; font-size: 18px;’ onclick=’changeSlide(this);’>”;
                itemHtml += data.d.Caption_x005f_x0020_x005f_Title;
                itemHtml += “<span id=’currentSpan_” + i + “‘ style=’display: none; font-size: 16px;’>” + data.d.Caption_x005f_x0020_x005f_Body + “</span></div>”;
                $(‘#divFeaturedNewsItemContainer’).append(itemHtml);

                if (processCount == count) {
                    allItemsLoaded();
                }
            },
            error: function (data) {
                alert(data.statusText);
            }
        });
    }
    window.mtc_init = function (controlDiv) {
        var slideItems = controlDiv.children;
        for (var i = 0; i < slideItems.length; i++) {
            if (i > 0) {
                slideItems[i].style.left = ‘610px’;
            }
        };
    };

    function allItemsLoaded() {
        var slideshows = document.querySelectorAll(“.mtc-SlideshowItems”);
        for (var i = 0; i < slideshows.length; i++) {
            mtc_init(slideshows[i].children[0]);
        }

        var div = $(‘#divTitle_0’);
        cssTitle(div, true);
        var top = 160;
        for (i = 1; i < 4; i++) {
            var divx = $(‘#divTitle_’ + i);
            cssTitle(divx, false);
            divx.css(‘top’, top);
            top += 35;
        }
    }

    function cssTitle(div, selected) {
        if (selected) {
            div.css(‘height’, ‘auto’);
            div.css(‘width’, ‘300px’);
            div.css(‘top’, ’10px’);
            div.css(‘left’, ‘0px’);
            div.css(‘font-size’, ’26px’);
            div.css(‘padding-top’, ‘5px’);
            div.css(‘padding-bottom’, ‘5px’);
            div.find(‘span’).css(‘display’, ‘block’);
        }
        else {
            div.css(‘height’, ’25px’);
            div.css(‘width’, ‘auto’);
            div.css(‘left’, ‘0px’);
            div.css(‘font-size’, ’18px’);
            div.css(‘padding-top’, ‘0px’);
            div.css(‘padding-bottom’, ‘0px’);
            div.find(‘span’).css(‘display’, ‘none’);
        }
    }

    window.changeSlide = function (item) {
        //get all title containers
        var listItems = document.querySelectorAll(‘.titleContainerClass’);
        var currentIndexVals = { 0: null, 1: null, 2: null, 3: null };
        var newIndexVals = { 0: null, 1: null, 2: null, 3: null };

        for (var i = 0; i < listItems.length; i++) {
            //current Index
            currentIndexVals[i] = parseInt(listItems[i].getAttribute(‘data-currentidx’));
        }

        var selectedIndex = 0; //selected Index will always be 0
        var leftOffset = ”;
        var originalSelectedIndex = ”;

        var nextSelected = ”;
        var originalNextIndex = ”;

        if (item == null) {
            var item0 = document.querySelector(‘[data-currentidx=”‘ + currentIndexVals[0] + ‘”]’);
            originalSelectedIndex = parseInt(item0.getAttribute(‘data-originalidx’));
            originalNextIndex = originalSelectedIndex + 1;
            nextSelected = currentIndexVals[0] + 1;
        }
        else {
            nextSelected = item.getAttribute(‘data-currentidx’);
            originalNextIndex = item.getAttribute(‘data-originalidx’);
        }

        if (nextSelected == 0) { return; }

        for (i = 0; i < listItems.length; i++) {
            if (currentIndexVals[i] == selectedIndex) {
                //this is the selected item, so move to bottom and animate
                var div = $(‘[data-currentidx=”0″]’);
                cssTitle(div, false);
                div.css(‘left’, ‘-400px’);
                div.css(‘top’, ‘230px’);

                newIndexVals[i] = 3;
                var item0 = document.querySelector(‘[data-currentidx=”0″]’);
                originalSelectedIndex = item0.getAttribute(‘data-originalidx’);

                //annimate
                div.delay(500).animate(
                    { left: ‘0px’ }, 500, function () {
                    });
            }
            else if (currentIndexVals[i] == nextSelected) {
                //this is the NEW selected item, so resize and slide in as selected
                var div = $(‘[data-currentidx=”‘ + nextSelected + ‘”]’);
                cssTitle(div, true);
                div.css(‘left’, ‘-610px’);

                newIndexVals[i] = 0;

                //annimate
                div.delay(500).animate(
                    { left: ‘0px’ }, 500, function () {
                    });
            }
            else {
                //move up in queue
                var curIdx = currentIndexVals[i];
                var div = $(‘[data-currentidx=”‘ + curIdx + ‘”]’);

                var topStr = div.css(‘top’);
                var topInt = parseInt(topStr.substring(0, topStr.length – 1));

                if (curIdx != 1 && nextSelected == 1 || curIdx > nextSelected) {
                    topInt = topInt – 35;
                    if (curIdx – 1 == 2) { newIndexVals[i] = 2 };
                    if (curIdx – 1 == 1) { newIndexVals[i] = 1 };
                }

                //move up
                div.animate(
                    { top: topInt }, 500, function () {
                    });
            }
        };

        if (originalNextIndex < 0)
            originalNextIndex = itemCount – 1;

        //adjust pictures
        $(‘#divPic_’ + originalNextIndex).css(‘left’, ‘610px’);
        leftOffset = ‘-610px’;

        $(‘#divPic_’ + originalSelectedIndex).animate(
            { left: leftOffset }, 500, function () {
            });

        $(‘#divPic_’ + originalNextIndex).animate(
            { left: ‘0px’ }, 500, function () {
            });

        var item0 = document.querySelector(‘[data-currentidx=”‘ + currentIndexVals[0] + ‘”]’);
        var item1 = document.querySelector(‘[data-currentidx=”‘ + currentIndexVals[1] + ‘”]’);
        var item2 = document.querySelector(‘[data-currentidx=”‘ + currentIndexVals[2] + ‘”]’);
        var item3 = document.querySelector(‘[data-currentidx=”‘ + currentIndexVals[3] + ‘”]’);
        if (newIndexVals[0] != null) { item0.setAttribute(‘data-currentidx’, newIndexVals[0]) };
        if (newIndexVals[1] != null) { item1.setAttribute(‘data-currentidx’, newIndexVals[1]) };
        if (newIndexVals[2] != null) { item2.setAttribute(‘data-currentidx’, newIndexVals[2]) };
        if (newIndexVals[3] != null) { item3.setAttribute(‘data-currentidx’, newIndexVals[3]) };
    };
</script>

 

End-result of script editors in SharePoint Online

Separate authoring site collection

Final Thoughts

A Look At : The importance of people in a SharePoint project

Image

As with all other sizeable new business software implementations, a successful SharePoint deployment is one that is well thought-out and carefully managed every step of the way.

However in one key respect a SharePoint deployment is different from most others in the way it should be carried out. Whereas the majority of ERP solutions are very rigid in terms of their functionality and in the nature of the business problems they solve, SharePoint is far more of a jack-of-all-trades type of system. It’s a solution that typically spreads its tentacles across several areas within an organisation, and which has several people putting in their two cents worth about what functions SharePoint should be geared to perform.

So what is the best approach? And what makes for a good SharePoint project manager?

From my experience with SharePoint implementations, I would say first and foremost that a SharePoint deployment should be approached from a business perspective, rather than from a strictly technology standpoint. A SharePoint project delivered within the allotted time and budget can still fail if it’s executed without the broader business objectives in mind. If the project manager understands, and can effectively demonstrate, how SharePoint can solve the organisation’s real-world business problems and increase business value, SharePoint will be a welcome addition to the organisation’s software arsenal.

Also crucial is an understanding of people. An effective SharePoint project manager understands the concerns, limitations and capabilities of those who will be using the solution once it’s implemented. No matter how technically well-executed your SharePoint implementation is, it will amount to little if hardly anyone’s using the system. The objective here is to maximise user adoption and engagement, and this can be achieved by maximising user involvement in the deployment process.

 

Rather than only talk to managers about SharePoint and what they want from the system, also talk to those below them who will be using the product on a day-to-day basis. This means not only collaborating with, for example, the marketing director but also with the various marketing executives and co-ordinators.

 

It means not only talking with the human resources manager but also with the HR assistant, and so on. By engaging with a wide range of (what will be) SharePoint end-users and getting them involved in the system design process, the rate of sustained user adoption will be a lot higher than it would have been otherwise.

 

An example of user engagement in action concerns a SharePoint implementation I oversaw for an insurance company. The business wanted to improve the tracking of its documentation using a SharePoint-based records management system. Essentially the system was deployed to enhance the management and flow of health insurance and other key documentation within the organisation to ensure that the company meets its compliance obligations.

 

The project was a great success, largely because we ensured that there was a high level of end-user input right from the start. We got all the relevant managers and staff involved from the outset, we began training people on SharePoint early on and we made sure the change management part of the process was well-covered.

 

Also, and very importantly, the business value of the project was sharply defined and clearly explained from the get-go. As everyone set about making the transition to a SharePoint-driven system, they knew why it was important to the company and why it was going to be good for them too.

By contrast a follow-up SharePoint project for the company some months later was not as successful. Why? Because with that project, in which the company abandoned its existing intranet and developed a new one, the business benefits were poorly defined and were not effectively communicated to stakeholders. That particular implementation was driven by the company’s IT department which approached the project from a technical, rather than a business, perspective. User buy-in was not sought and was not achieved.

 

When the SharePoint solution went live hardly anyone used it because they didn’t see why they should. No-one had educated them on that. That’s the danger when you don’t engage all your prospective system end-users throughout every phase of a SharePoint implementation project.

As can be seen, while it is of course critical that the technical necessities of a SharePoint deployment be met, that’s only part of the picture. Without people using the system, or with people using the system to less than its maximum potential, the return on your SharePoint investment will never materialize.

Comprehensive engagement with all stakeholders, that’s where the other part of the picture comes in. That’s where a return on investment, an investment of time and effort, will most assuredly be achieved.

Tool to analyse and then upgrade your old SharePoint VBA Web Parts to Apps!!

office365[1]

Welcome to Microsoft VBA and SharePoint Code Analyzer

 Now is the time to still use that old VBA code you have!!

This is an online tool where you can upload your file and generate reports collecting detailed statistics about the user’s VBA and SharePoint source code files, providing useful information about migrating VBA and SharePoint applications.

To analyze your files please follow up this simple 4 steps:

Almost 150 FREE Microsoft eBooks, covering Windows 7, Windows 8, Office 2010, Office 2013, Office 365, Office Web Apps, Windows Server 2012, Windows Phone 7, Windows Phone 8, SQL Server 2008, SQL Server 2012, SharePoint Server 2010, SharePoint Server 2013, Azure

Here’s the list of the Top 50 FREE Microsoft eBooks downloaded so far:

Windows 7 Power Users GuidePDF Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI
Programming Windows Phone 7
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2008 R2
PDF
XPS
Get started with SharePoint Server 2010
PDF
EPUB
MOBI
Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI
Understanding Microsoft Virtualization R2 Solutions
PDF
XPS
Microsoft Office 2010 First Look
PDF
XPS
Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS
Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS
Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB
Programming Windows Phone 7 (Special Excerpt 2)
PDF
Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI
Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI
Deploying Windows 7 Essential Guidance
PDF
Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI
Own Your Future
PDF
XPS
Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI
Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI
Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI
Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI
Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI
Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF
Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI
SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI
Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI
Master Data Services Capacity Guidelines
PDF
EPUB
MOBI
Configure Kerberos Authentication for SharePoint 2010 Products
DOCX
PDF
EPUB
MOBI
Deployment guide for Office 2013
EPUB
MOBI
PDF
SQL Server 2012 Developer Training KitPDF Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF
Developing Applications for the Cloud, 2nd EditionPDF Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS
Programming Windows 8 Apps 2nd Preview
PDF
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS
Welcome to Windows 7PDF Explore SharePoint 2013
EPUB
MOBI
PDF
Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI
Operations guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

5) The other thing I have been asked many times is, “Do you have one single post with all of the eBooks listed so we can go through them instead of bouncing between the three different posts?” The answer to that has been No to date; however, I figured that since I was pulling together all of the stats last night, I could pull together the books into a single list as well. As such, here they are, almost 150 completely FREE Microsoft eBooks for you to download and use: (NOTE: If you don’t see a list of links below the book image, it is because it is only available in one format. Just click on the image and your download will begin)

Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF
Programming Windows Phone 7
PDF
EPUB
MOBI
Programming Windows Phone 7 (Special Excerpt 2)
PDF
Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS
Windows 7 Power Users Guide Deploying Windows 7 Essential Guidance
PDF
Welcome to Windows 7 What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS
Administrator’s Guide for Microsoft Application Virtualization (App-V) 5.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft BitLocker Administration and Monitoring 1.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 7
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 8.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft User Experience Virtualization (UE-V) 1.0
EPUB
MOBI
PDF
Developing an end-to-end Windows Store app using C++ and XAML: Hilo
PDF
Developing an end-to-end Windows Store app using JavaScript: Hilo
PDF
Prism for the Windows Runtime: Developing a Windows Store business app using C#, XAML, and Prism
PDF
Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI
Microsoft Office 2010 First Look
PDF
XPS
Deployment guide for Office 2013
EPUB
MOBI
PDF
Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF
Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS
Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI
Planning guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Deployment guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Deployment guide for Office 2013 Preview Office 2010 Developer Training Kit Office 365 Developer Training Kit Office 365 Guides for professionals and small businesses
Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI
Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI
Get started with SharePoint Server 2010
PDF
EPUB
MOBI
Explore SharePoint 2013
EPUB
MOBI
PDF
Deployment guide for SharePoint 2013
EPUB
MOBI
PDF
Test Lab Guide: eBook for SharePoint Server 2013 Intranet and Team Sites
EPUB
MOBI
PDF
DOC
Create a Balanced Scorecard (SharePoint Server 2010)
EPUB
MOBI
PDF
SharePoint Server for Business Intelligence
EPUB
MOBI
PDF
Deployment guide for SharePoint 2013 Preview Getting started with Microsoft SharePoint Foundation 2010 Technical reference for Microsoft SharePoint Server 2010
Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI
Remote BLOB storage for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Upgrading to SharePoint Server 2010
PDF
EPUB
MOBI
Getting Started with SharePoint Server 2010
PDF
DOC
XPS
EPUB
MOBI
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 2
PDF
DOC
XPS
Planning guide for server farms and environments for Microsoft SharePoint Server 2010
PDF
XPS
DOC
Capacity planning for Microsoft SharePoint Server 2010
PDF
XPS
DOC
5 Tips for a Smooth SSIS Upgrade to SQL Server 2012
EPUB
MOBI
PDF
A Hitchiker’s Guide to Microsoft StreamInsight Queries
EPUB
MOBI
PDF
Data Mining Extensions (DMX) Reference
EPUB
MOBI
PDF
Data Quality Services
EPUB
MOBI
PDF
High Availability Solutions
EPUB
MOBI
PDF
Master Data Services
EPUB
MOBI
PDF
Monitor and Tune for Performance
EPUB
MOBI
PDF
Multidimensional Expressions (MDX) Reference
EPUB
MOBI
PDF
SQL Server Distributed Replay
EPUB
MOBI
PDF
Transact-SQL Data Definition Language (DDL) Reference
EPUB
MOBI
PDF
XQuery Language Reference
EPUB
MOBI
PDF
Extracting and Loading SharePoint Data in SQL Server Integration Services
EPUB
MOBI
PDF
Integration Services: Extending Packages with Scripting
EPUB
MOBI
PDF
Multidimensional Model Programming
EPUB
MOBI
PDF
Optimized Bulk Loading of Data into Oracle
EPUB
MOBI
PDF
Planning Disaster Recovery for Microsoft SQL Server Reporting Services in SharePoint Integrated Mode
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Reporting Services
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Writing Transact-SQL Statements
EPUB
MOBI
PDF
SQL Server Community FAQs Manual
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI
Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI
Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI
QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI
Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI
Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI
SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI
Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI
Master Data Services Capacity Guidelines
PDF
EPUB
MOBI
SQL Server 2012 Developer Training Kit Cmdlet Reference for App Controller in System Center 2012 SP1
EPUB
MOBI
PDF
Technical Documentation for System Center 2012 – Virtual Machine Manager
EPUB
MOBI
PDF
Upgrade Team Foundation Server 2012: the ultimate upgrade guide
EPUB
MOBI
PDF
Better Unit Testing with Microsoft Fakes
EPUB
MOBI
PDF
Dependency Injection with Unity
PDF
Developer’s Guide to Microsoft Enterprise Library (Second Edition)
PDF
Testing for Continuous Delivery with Visual Studio 2012
PDF
ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs
EPUB
MOBI
PDF
ASP.NET Web Deployment using Visual Studio
EPUB
MOBI
PDF
Developing Modern Mobile Web Apps
EPUB
MOBI
PDF
The Entity Framework 4.0 and ASP.NET Web Forms – Getting Started
EPUB
MOBI
PDF
Getting Started with the Entity Framework 4.1 using ASP.NET MVC
EPUB
MOBI
PDF
Project Silk: Client-Side Web Development for Modern Browsers
PDF
Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI
Windows Azure Prescriptive Guidance
PDF
EPUB
MOBI
Windows Azure Service Bus Reference
PDF
EPUB
MOBI
Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB
MOBI
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI
Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI
Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI
Own Your Future
PDF
XPS
Developing an Advanced Windows Phone 7.5 App that Connects to the Cloud Developing Applications for the Cloud, 2nd Edition
Autoscaling Application Block and Transient Fault Handling Application Block Reference
EPUB
MOBI
PDF
Create Your First Application: Node.js and Windows Azure
EPUB
MOBI
PDF
Developing Multi-tenant Applications for the Cloud on Windows Azure (3rd Edition)
PDF
Drupal on Windows Azure
EPUB
MOBI
PDF
Exploring CQRS and Event Sourcing: A journey into high scalability, availability, and maintainability with Windows Azure
PDF
Migrating Data-Centric Applications to Windows Azure
EPUB
MOBI
PDF
Moving Applications to the Cloud on Windows Azure (3rd Edition)
PDF
Using Windows Azure Mobile Services to Cloud-Enable your iOS Apps
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable Your Windows Phone 8 Apps
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable your Windows Store Apps in C#
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable Your Windows Store Apps in JavaScript
EPUB
MOBI
PDF
Windows Azure and SQL Database Tutorials
EPUB
MOBI
PDF
Building Hybrid Applications in the Cloud on Windows Azure Building Elastic and Resilient Cloud Applications – Developer’s Guide to the Enterprise Library 5.0 Integration Pack for Windows Azure
PDF
EPUB
MOBI
Deployment guide for Duet Enterprise for Microsoft SharePoint and SAP Server 2.0 Preview Microsoft Dynamics GP 2010 Guides: Financials
Microsoft Dynamics CRM 2011 User’s Guide Dynamics CRM 2011 Developer Training Kit Microsoft Dynamics CRM 2011 Implementation Guide Digital Storytelling
Free Tools in the Classroom Windows Live Movie Maker in the Classroom Windows 7 in the Classroom Microsoft Office Web Apps Teaching Guide
Microsoft Office in the Classroom Developing Critical Thinking through Web Research Skills Bing in the Classroom A Guide to Claims-Based Identity and Access Control, Second Edition
PDF
Introducing Windows Server 2012
EPUB
MOBI
PDF
TCP/IP Fundamentals for Microsoft Windows
PDF
Understanding Microsoft Virtualization R2 Solutions
PDF
XPS
Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2008 R2
PDF
XPS
Lync for Mac 2011 Deployment Guide Microsoft Lync Server 2010 Resource Kit Tools
Microsoft Lync Server 2010 Resource Kit Microsoft Lync Server 2010 Security Guide Developing Applications for the Cloud – 2nd Edition Visual Studio LightSwitch Training Kit
“Own Your Space–Keep Yourself and Your Stuff Safe Online” Digital Book for Teens

Once again, thank you to all of you for sharing this information with others to let them know about these resources being made available to them from Microsoft, absolutely FREE! Please continue to share these with others so they too can have access to this information to help them as they travel down their path of learning and knowledge in the computer field. I’m sure I will be putting future collections of eBooks up here on the blog as I come across more and compile further lists, so be sure you are subscribed to the blog and following me online through my variety of social media entities, including through my Microsoft Info Partner Windows Phone mobile app that brings you the latest Microsoft information directly from our teams here at Microsoft. Also, if you’re heading to Worldwide Partner Conference this year, be sure to come up, introduce yourself (if we haven’t met before), or say Hi (if we have met) and join in on becoming part of the Fantastic People of WPC13 that I will be compiling this year.

Did you find this information helpful? If so, you may want to make sure you are utilizing all of the areas I share information online, such as:

Get the Microsoft Info Partner Mobile App and get access to the latest from all of those plus: product teams, MPN teams, Microsoft News and hundreds more resources here at Microsoft right on your phone:

image

Brand new Web Part Available!! Script Box WebPart for SharePoint…

This Script Box WebPart (Not the OTB Script Editor WebPart) provides easy options to refer scripts and CSS in SharePoint 2013 and SharePoint 2010 Applications. Apart from using it as a WebPart, this can also be used as a delegate control to inject scripts and CSS into SharePoint Pages without editing the pages.

Why not OTB Script Editor WebPart?

The above would be the first question that might crop in mind while having a look at the title of this blog post. This SharePoint Frontier Script Box web part differs from OTB Script Editor in following aspects.

1. Provides option to inject Scripts and CSS without editing the Page

2. All scripts and CSS are controlled by a configuration list, which enables to manage assets across application at ease.

3. Script Box can also be added as WebPart to a page.

4. Binding script and CSS are based on reference keys rather than actual content. Actual content is stored in a SharePoint List and value provided in title column is used as the key to inject the actual content.

5. Allows tokens for site and site collection URL in script and CSS file path.

6. Once added to a Page, further changes to the list of scripts and CSS to be referred on that page can be done without editing that page.

Deployment and Configuration

1. Download the WSP solution from the bottom of the blog post and deploy it in your SharePoint environment.

2. Once deployed, this will add a Site Collection scoped Feature named “SharePoint Frontier Script Box WebPart” and a Site scoped feature named “SharePoint Frontier Script Box Delegate

3. Activation of “SharePoint Frontier Script Box WebPart” feature provisions a Web Part named “SCRIPT BOX”. This WebPart can be used in a page to inject scripts and CSS.

4. Activation of “SharePoint Frontier Script Box Delegate” creates a SharePoint List named “Script Box Params”. This list acts a reference repository and has reference to the actual content that has to be injected into the page

5. To add reference to scripts, open the “Site Box Params” list and click “Add new item” .

6. The below table explains the columns available in “Site Box Params” list and its usage

Sl.No Column Name Usage Example
1 Title Used as Key in WebPart based script reference. Does not have any impact on Header based rendering Global AssetsSite Assets
2 Target Decides the rendering type. Header / WebPart
3 Content Accepts reference to JS, CSS file, JS script block, CSS block. Also accepts [SITE_URL] and [SITE_COLLECTION_URL] as tokens in reference URLs. // <!–[CDATA[
javascript” src=”[SITE_COLLECTION_URL]/Style Library/js/sfs.core.js”>
// ]]>
4 IsActive If set as false, content associated with that key won’t be considered for injecting into the page Yes /No

clip_image002

Configuring WebPart based Script Injection

1. WebPart based rendering mode requires Site Collection scoped Feature named “SharePoint Frontier Script Box WebPart” to be activated.

2. Add a new item to the “Script Box Params” list (created on activation of feature) with target set to “WebPart” and set the value for title field as “Site Assets” and add a script or link element to content column(refer image above).

3. Edit the page which you would like to inject the script that you have referenced in “Script Box Params” list.

4. Add the WebPart named “Script Box” located under the category “SharePoint Frontier” to the page.

Select Webpart

5. Edit the Web Part and set the Script ID property to “Site Assets” (The value for Title column provided in Script Box Params List)

6. Enable “Refer Script From Root Site”, if you would like to re-use the “Script Box Params” list located in root site of the site collection rather than pointing to list available in current web.

clip_image003

Configuring Delegate based Script Injection

This method injects Scripts and CSS into page header via additionalpageheader delegate control. Any item added to the “Script Box Params” list in the current web with target type set to “Header” is injected into page header section. This method does not require the page to be edited to inject the content , as the script injection is performed via delegate control

Note: This mode uses delegate control to inject script into page header. So this option will not work in Office 365 and Sandbox based deployments as Sandbox solutions does not support delegate controls.

Result as seen in FireBug console of FireFox

This Script Box WebPart (Not the OTB Script Editor WebPart) provides easy options to refer scripts and CSS in SharePoint 2013 and SharePoint 2010 Applications. Apart from using it as a WebPart, this can also be used as a delegate control to inject scripts and CSS into SharePoint Pages without editing the pages.

Why not OTB Script Editor WebPart?

The above would be the first question that might crop in mind while having a look at the title of this blog post. This SharePoint Frontier Script Box web part differs from OTB Script Editor in following aspects.

1. Provides option to inject Scripts and CSS without editing the Page

2. All scripts and CSS are controlled by a configuration list, which enables to manage assets across application at ease.

3. Script Box can also be added as WebPart to a page.

4. Binding script and CSS are based on reference keys rather than actual content. Actual content is stored in a SharePoint List and value provided in title column is used as the key to inject the actual content.

5. Allows tokens for site and site collection URL in script and CSS file path.

6. Once added to a Page, further changes to the list of scripts and CSS to be referred on that page can be done without editing that page.

Deployment and Configuration

1. Download the WSP solution from the bottom of the blog post and deploy it in your SharePoint environment.

2. Once deployed, this will add a Site Collection scoped Feature named “SharePoint Frontier Script Box WebPart” and a Site scoped feature named “SharePoint Frontier Script Box Delegate

3. Activation of “SharePoint Frontier Script Box WebPart” feature provisions a Web Part named “SCRIPT BOX”. This WebPart can be used in a page to inject scripts and CSS.

4. Activation of “SharePoint Frontier Script Box Delegate” creates a SharePoint List named “Script Box Params”. This list acts a reference repository and has reference to the actual content that has to be injected into the page

5. To add reference to scripts, open the “Site Box Params” list and click “Add new item” .

6. The below table explains the columns available in “Site Box Params” list and its usage

Sl.No Column Name Usage Example
1 Title Used as Key in WebPart based script reference. Does not have any impact on Header based rendering Global AssetsSite Assets
2 Target Decides the rendering type. Header / WebPart
3 Content Accepts reference to JS, CSS file, JS script block, CSS block. Also accepts [SITE_URL] and [SITE_COLLECTION_URL] as tokens in reference URLs. // <!–[CDATA[
javascript” src=”[SITE_COLLECTION_URL]/Style Library/js/sfs.core.js”>
// ]]>
4 IsActive If set as false, content associated with that key won’t be considered for injecting into the page Yes /No

clip_image002

Configuring WebPart based Script Injection

1. WebPart based rendering mode requires Site Collection scoped Feature named “SharePoint Frontier Script Box WebPart” to be activated.

2. Add a new item to the “Script Box Params” list (created on activation of feature) with target set to “WebPart” and set the value for title field as “Site Assets” and add a script or link element to content column(refer image above).

3. Edit the page which you would like to inject the script that you have referenced in “Script Box Params” list.

4. Add the WebPart named “Script Box” located under the category “SharePoint Frontier” to the page.

Select Webpart

5. Edit the Web Part and set the Script ID property to “Site Assets” (The value for Title column provided in Script Box Params List)

6. Enable “Refer Script From Root Site”, if you would like to re-use the “Script Box Params” list located in root site of the site collection rather than pointing to list available in current web.

clip_image003

Configuring Delegate based Script Injection

This method injects Scripts and CSS into page header via additionalpageheader delegate control. Any item added to the “Script Box Params” list in the current web with target type set to “Header” is injected into page header section. This method does not require the page to be edited to inject the content , as the script injection is performed via delegate control

Note: This mode uses delegate control to inject script into page header. So this option will not work in Office 365 and Sandbox based deployments as Sandbox solutions does not support delegate controls.

Result as seen in FireBug console of FireFox

clip_image004

150 FREE Microsoft eBooks, covering Windows 7, Windows 8, Office 2010, Office 2013, Office 365, Office Web Apps, Windows Server 2012, Windows Phone 7, Windows Phone 8, SQL Server 2008, SQL Server 2012, SharePoint Server 2010, SharePoint Server 2013, Azure

FREE!

Now there’s a word that everyone can get excited about, right? Well, after looking at the results of the three “Free Microsoft eBooks” posts I have shared here this fiscal year (Microsoft’s fiscal year is July 1 – June 30), it is amazing to see the excitement that has come about from them and the incredible amount of downloads that have taken place to date!

Today, I am happy to share some fantastic news and some information I have been asked for that you said would be helpful for you:

Here’s the list of the Top 50 FREE Microsoft eBooks downloaded so far:

Windows 7 Power Users GuidePDF Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI
Programming Windows Phone 7
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2008 R2
PDF
XPS
Get started with SharePoint Server 2010
PDF
EPUB
MOBI
Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI
Understanding Microsoft Virtualization R2 Solutions
PDF
XPS
Microsoft Office 2010 First Look
PDF
XPS
Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS
Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS
Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB
Programming Windows Phone 7 (Special Excerpt 2)
PDF
Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI
Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI
Deploying Windows 7 Essential Guidance
PDF
Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI
Own Your Future
PDF
XPS
Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI
Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI
Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI
Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI
Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI
Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF
Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI
SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI
Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI
Master Data Services Capacity Guidelines
PDF
EPUB
MOBI
Configure Kerberos Authentication for SharePoint 2010 Products
DOCX
PDF
EPUB
MOBI
Deployment guide for Office 2013
EPUB
MOBI
PDF
SQL Server 2012 Developer Training KitPDF Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF
Developing Applications for the Cloud, 2nd EditionPDF Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS
Programming Windows 8 Apps 2nd Preview
PDF
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS
Welcome to Windows 7PDF Explore SharePoint 2013
EPUB
MOBI
PDF
Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI
Operations guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

5) The other thing I have been asked many times is, “Do you have one single post with all of the eBooks listed so we can go through them instead of bouncing between the three different posts?” The answer to that has been No to date; however, I figured that since I was pulling together all of the stats last night, I could pull together the books into a single list as well. As such, here they are, almost 150 completely FREE Microsoft eBooks for you to download and use: (NOTE: If you don’t see a list of links below the book image, it is because it is only available in one format. Just click on the image and your download will begin)

Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF
Programming Windows Phone 7
PDF
EPUB
MOBI
Programming Windows Phone 7 (Special Excerpt 2)
PDF
Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS
Windows 7 Power Users Guide Deploying Windows 7 Essential Guidance
PDF
Welcome to Windows 7 What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS
Administrator’s Guide for Microsoft Application Virtualization (App-V) 5.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft BitLocker Administration and Monitoring 1.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 7
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 8.0
EPUB
MOBI
PDF
Administrator’s Guide for Microsoft User Experience Virtualization (UE-V) 1.0
EPUB
MOBI
PDF
Developing an end-to-end Windows Store app using C++ and XAML: Hilo
PDF
Developing an end-to-end Windows Store app using JavaScript: Hilo
PDF
Prism for the Windows Runtime: Developing a Windows Store business app using C#, XAML, and Prism
PDF
Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI
Microsoft Office 2010 First Look
PDF
XPS
Deployment guide for Office 2013
EPUB
MOBI
PDF
Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF
Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS
Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI
Planning guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Deployment guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Deployment guide for Office 2013 Preview Office 2010 Developer Training Kit Office 365 Developer Training Kit Office 365 Guides for professionals and small businesses
Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS
Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI
Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI
Get started with SharePoint Server 2010
PDF
EPUB
MOBI
Explore SharePoint 2013
EPUB
MOBI
PDF
Deployment guide for SharePoint 2013
EPUB
MOBI
PDF
Test Lab Guide: eBook for SharePoint Server 2013 Intranet and Team Sites
EPUB
MOBI
PDF
DOC
Create a Balanced Scorecard (SharePoint Server 2010)
EPUB
MOBI
PDF
SharePoint Server for Business Intelligence
EPUB
MOBI
PDF
Deployment guide for SharePoint 2013 Preview Getting started with Microsoft SharePoint Foundation 2010 Technical reference for Microsoft SharePoint Server 2010
Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI
Remote BLOB storage for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI
Upgrading to SharePoint Server 2010
PDF
EPUB
MOBI
Getting Started with SharePoint Server 2010
PDF
DOC
XPS
EPUB
MOBI
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS
Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 2
PDF
DOC
XPS
Planning guide for server farms and environments for Microsoft SharePoint Server 2010
PDF
XPS
DOC
Capacity planning for Microsoft SharePoint Server 2010
PDF
XPS
DOC
5 Tips for a Smooth SSIS Upgrade to SQL Server 2012
EPUB
MOBI
PDF
A Hitchiker’s Guide to Microsoft StreamInsight Queries
EPUB
MOBI
PDF
Data Mining Extensions (DMX) Reference
EPUB
MOBI
PDF
Data Quality Services
EPUB
MOBI
PDF
High Availability Solutions
EPUB
MOBI
PDF
Master Data Services
EPUB
MOBI
PDF
Monitor and Tune for Performance
EPUB
MOBI
PDF
Multidimensional Expressions (MDX) Reference
EPUB
MOBI
PDF
SQL Server Distributed Replay
EPUB
MOBI
PDF
Transact-SQL Data Definition Language (DDL) Reference
EPUB
MOBI
PDF
XQuery Language Reference
EPUB
MOBI
PDF
Extracting and Loading SharePoint Data in SQL Server Integration Services
EPUB
MOBI
PDF
Integration Services: Extending Packages with Scripting
EPUB
MOBI
PDF
Multidimensional Model Programming
EPUB
MOBI
PDF
Optimized Bulk Loading of Data into Oracle
EPUB
MOBI
PDF
Planning Disaster Recovery for Microsoft SQL Server Reporting Services in SharePoint Integrated Mode
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Reporting Services
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Writing Transact-SQL Statements
EPUB
MOBI
PDF
SQL Server Community FAQs Manual
EPUB
MOBI
PDF
SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI
Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI
Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI
QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI
Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI
Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI
SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI
Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI
SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI
Master Data Services Capacity Guidelines
PDF
EPUB
MOBI
SQL Server 2012 Developer Training Kit Cmdlet Reference for App Controller in System Center 2012 SP1
EPUB
MOBI
PDF
Technical Documentation for System Center 2012 – Virtual Machine Manager
EPUB
MOBI
PDF
Upgrade Team Foundation Server 2012: the ultimate upgrade guide
EPUB
MOBI
PDF
Better Unit Testing with Microsoft Fakes
EPUB
MOBI
PDF
Dependency Injection with Unity
PDF
Developer’s Guide to Microsoft Enterprise Library (Second Edition)
PDF
Testing for Continuous Delivery with Visual Studio 2012
PDF
ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs
EPUB
MOBI
PDF
ASP.NET Web Deployment using Visual Studio
EPUB
MOBI
PDF
Developing Modern Mobile Web Apps
EPUB
MOBI
PDF
The Entity Framework 4.0 and ASP.NET Web Forms – Getting Started
EPUB
MOBI
PDF
Getting Started with the Entity Framework 4.1 using ASP.NET MVC
EPUB
MOBI
PDF
Project Silk: Client-Side Web Development for Modern Browsers
PDF
Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI
Windows Azure Prescriptive Guidance
PDF
EPUB
MOBI
Windows Azure Service Bus Reference
PDF
EPUB
MOBI
Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB
MOBI
Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI
Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI
Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI
Own Your Future
PDF
XPS
Developing an Advanced Windows Phone 7.5 App that Connects to the Cloud Developing Applications for the Cloud, 2nd Edition
Autoscaling Application Block and Transient Fault Handling Application Block Reference
EPUB
MOBI
PDF
Create Your First Application: Node.js and Windows Azure
EPUB
MOBI
PDF
Developing Multi-tenant Applications for the Cloud on Windows Azure (3rd Edition)
PDF
Drupal on Windows Azure
EPUB
MOBI
PDF
Exploring CQRS and Event Sourcing: A journey into high scalability, availability, and maintainability with Windows Azure
PDF
Migrating Data-Centric Applications to Windows Azure
EPUB
MOBI
PDF
Moving Applications to the Cloud on Windows Azure (3rd Edition)
PDF
Using Windows Azure Mobile Services to Cloud-Enable your iOS Apps
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable Your Windows Phone 8 Apps
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable your Windows Store Apps in C#
EPUB
MOBI
PDF
Using Windows Azure Mobile Services to Cloud-Enable Your Windows Store Apps in JavaScript
EPUB
MOBI
PDF
Windows Azure and SQL Database Tutorials
EPUB
MOBI
PDF
Building Hybrid Applications in the Cloud on Windows Azure Building Elastic and Resilient Cloud Applications – Developer’s Guide to the Enterprise Library 5.0 Integration Pack for Windows Azure
PDF
EPUB
MOBI
Deployment guide for Duet Enterprise for Microsoft SharePoint and SAP Server 2.0 Preview Microsoft Dynamics GP 2010 Guides: Financials
Microsoft Dynamics CRM 2011 User’s Guide Dynamics CRM 2011 Developer Training Kit Microsoft Dynamics CRM 2011 Implementation Guide Digital Storytelling
Free Tools in the Classroom Windows Live Movie Maker in the Classroom Windows 7 in the Classroom Microsoft Office Web Apps Teaching Guide
Microsoft Office in the Classroom Developing Critical Thinking through Web Research Skills Bing in the Classroom A Guide to Claims-Based Identity and Access Control, Second Edition
PDF
Introducing Windows Server 2012
EPUB
MOBI
PDF
TCP/IP Fundamentals for Microsoft Windows
PDF
Understanding Microsoft Virtualization R2 Solutions
PDF
XPS
Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI
Introducing Microsoft SQL Server 2008 R2
PDF
XPS
Lync for Mac 2011 Deployment Guide Microsoft Lync Server 2010 Resource Kit Tools
Microsoft Lync Server 2010 Resource Kit Microsoft Lync Server 2010 Security Guide Developing Applications for the Cloud – 2nd Edition Visual Studio LightSwitch Training Kit
“Own Your Space–Keep Yourself and Your Stuff Safe Online” Digital Book for Teens

Once again, thank you to all of you for sharing this information with others to let them know about these resources being made available to them from Microsoft, absolutely FREE! Please continue to share these with others so they too can have access to this information to help them as they travel down their path of learning and knowledge in the computer field. I’m sure I will be putting future collections of eBooks up here on the blog as I come across more and compile further lists, so be sure you are subscribed to the blog and following me online through my variety of social media entities, including through my Microsoft Info Partner Windows Phone mobile app that brings you the latest Microsoft information directly from our teams here at Microsoft. Also, if you’re heading to Worldwide Partner Conference this year, be sure to come up, introduce yourself (if we haven’t met before), or say Hi (if we have met) and join in on becoming part of the Fantastic People of WPC13 that I will be compiling this year.

Did you find this information helpful? If so, you may want to make sure you are utilizing all of the areas I share information online, such as:

Get the Microsoft Info Partner Mobile App and get access to the latest from all of those plus: product teams, MPN teams, Microsoft News and hundreds more resources here at Microsoft right on your phone:

Almost 150 FREE Microsoft eBooks, covering Windows 7, Windows 8, Office 2010, Office 2013, Office 365, Office Web Apps, Windows Server 2012, Windows Phone 7, Windows Phone 8, SQL Server 2008, SQL Server 2012, SharePoint Server 2010, SharePoint Server 2013,

FREE! Now there’s a word that everyone can get excited about, right? Well, after looking at the results of the three “Free Microsoft eBooks” posts I have shared here this fiscal year (Microsoft’s fiscal year is July 1 – June 30), it is amazing to see the excitement that has come about from them and the incredible amount of downloads that have taken place to date! Just last week, I put up the third post in the series of Free Microsoft eBooks giveaways this fiscal year and said that I wanted to give away 1,000,000 FREE downloads of the Microsoft eBooks. I’ll admit, some people thought I was crazy to put up a target as large as 1,000,000, but I had faith in my blog readers and social media followers to help spread the word and share the excitement about the offer.

Today, I am happy to share some fantastic news and some information I have been asked for that you said would be helpful for you:

1) I am happy to announce that we have reached the 1,000,000 FREE download mark for the Microsoft eBooks since my post went live last week! Thank you to all of you for helping spread the word and let others know about this offer.

2) I went back and looked at how we’re doing on the downloads of all of the eBooks from my three FREE Microsoft eBooks posts this fiscal year, and I am happy to share that we have now exceeded the 3,500,000 FREE downloads mark for the almost 150 Microsoft eBooks included in my posts since they went live! It only seemed fitting that we hit the 1,000,000 mark for last week’s post in the same 24 hour period that we exceeded the 3,500,000 mark all up for the giveaways. Again, thank you to all of you for sharing these offers this year!

3) I have been asked if once we hit the 1,000,000 FREE download mark if the offer to download the books would expire. The answer is, “No, please keep downloading the books and sharing these links with your peers, counterparts, and anyone else you think could benefit from them!”

4) Several people have asked me, “Do you have a list of the most popular eBooks being downloaded out of the ones you’ve shared?” Well, I hadn’t tallied up the list and shared anything prior to today; however, since I’ve received the ask enough times and was looking at the numbers last night, I thought I would share with you the top 50 FREE Microsoft eBooks in order, in terms of number of downloads to date since I posted about them, so you can see what they are (and make sure you have them if you don’t already). Now, something to keep in mind as you look at this list of the top 50 below, remember that two of my posts went live last July and the third one just went up last week. I call this out because the ones that have been posted since last July have obviously had more time to be downloaded, so the numbers will be skewed a little just based on that. An interesting thing I found while compiling this list of the top 50 though was, there are actually four of them that are from my post last week! That’s VERY impressive to see the download numbers grow that fast for these items in just over week to overcome 11 months worth of download time for the others. The four from last week that are flying up the charts are:

  • Microsoft Office 365 for professionals and small businesses: Help and How To
  • Deployment guide for Office 2013
  • Programming Windows 8 Apps with HTML, CSS, and JavaScript
  • Explore SharePoint 2013

So if you want to glean some insights into what’s hot right now and on top of people’s minds, it’s Office 365, Office 2013, Windows 8 (and app development for it), and SharePoint 2013. When you compare that list to the rest in the top 50, you see lots of interest in these topics, plus Windows Server, SQL Server, Microsoft Virtualization and Windows Phone, just to name a few. So, are you up to speed on these hot topics? If not, why not grab some FREE eBooks and get going?

Here’s the list of the Top 50 FREE Microsoft eBooks downloaded so far:

   

Windows 7 Power Users Guide

PDF

Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI

Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI

Programming Windows Phone 7
PDF
EPUB
MOBI

Introducing Microsoft SQL Server 2008 R2
PDF
XPS

Get started with SharePoint Server 2010
PDF
EPUB
MOBI

Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI

Understanding Microsoft Virtualization R2 Solutions
PDF
XPS

Microsoft Office 2010 First Look
PDF
XPS

Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS

Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS

Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB

Programming Windows Phone 7 (Special Excerpt 2)
PDF

Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI

SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI

Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI

SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI

Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI

Deploying Windows 7 Essential Guidance
PDF

Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI

Own Your Future
PDF
XPS

Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI

SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI

Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI

Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI

Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI

Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI

Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI

Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF

Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI

Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI

SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI

Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI

Master Data Services Capacity Guidelines
PDF
EPUB
MOBI

Configure Kerberos Authentication for SharePoint 2010 Products
DOCX
PDF
EPUB
MOBI

Deployment guide for Office 2013
EPUB
MOBI
PDF

SQL Server 2012 Developer Training Kit

PDF

Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF

Developing Applications for the Cloud, 2nd Edition

PDF

Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS

Programming Windows 8 Apps 2nd Preview
PDF

Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS

Welcome to Windows 7

PDF

Explore SharePoint 2013
EPUB
MOBI
PDF

Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI

Operations guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

5) The other thing I have been asked many times is, “Do you have one single post with all of the eBooks listed so we can go through them instead of bouncing between the three different posts?” The answer to that has been No to date; however, I figured that since I was pulling together all of the stats last night, I could pull together the books into a single list as well. As such, here they are, almost 150 completely FREE Microsoft eBooks for you to download and use: (NOTE: If you don’t see a list of links below the book image, it is because it is only available in one format. Just click on the image and your download will begin)

Programming Windows 8 Apps with HTML, CSS, and JavaScript
EPUB
MOBI
PDF

Programming Windows Phone 7
PDF
EPUB
MOBI

Programming Windows Phone 7 (Special Excerpt 2)
PDF

Moving to Microsoft Visual Studio 2010
VS2005 PDF
VS2005 XPS
VS2008 PDF
VS2008 XPS

Windows 7 Power Users Guide

Deploying Windows 7 Essential Guidance
PDF

Welcome to Windows 7

What You Can Do Before You Call Tech Support (Windows 7)
PDF
XPS

Administrator’s Guide for Microsoft Application Virtualization (App-V) 5.0
EPUB
MOBI
PDF

Administrator’s Guide for Microsoft BitLocker Administration and Monitoring 1.0
EPUB
MOBI
PDF

Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 7
EPUB
MOBI
PDF

Administrator’s Guide for Microsoft Diagnostics and Recovery Toolset (DaRT) 8.0
EPUB
MOBI
PDF

Administrator’s Guide for Microsoft User Experience Virtualization (UE-V) 1.0
EPUB
MOBI
PDF

Developing an end-to-end Windows Store app using C++ and XAML: Hilo
PDF

Developing an end-to-end Windows Store app using JavaScript: Hilo
PDF

Prism for the Windows Runtime: Developing a Windows Store business app using C#, XAML, and Prism
PDF

Office 365 – Connect and Collaborate virtually anywhere, anytime
PDF
EPUB
MOBI

Microsoft Office 2010 First Look
PDF
XPS

Deployment guide for Office 2013
EPUB
MOBI
PDF

Microsoft Office 365 for professionals and small businesses: Help and How To
EPUB
MOBI
PDF

Getting started with
Microsoft Office 2010 – For IT Professionals
PDF
MOBI
DOC
XPS

Security and Privacy for Microsoft Office 2010 Users
PDF
EPUB
MOBI

Planning guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

Deployment guide for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

Deployment guide for Office 2013 Preview

Office 2010 Developer Training Kit

Office 365 Developer Training Kit

Office 365 Guides for professionals and small businesses

Technical reference for Microsoft Office 2010 – For IT professionals
DOC
PDF
XPS

Business continuity management for SharePoint Server 2010
PDF
EPUB
MOBI

Deployment guide for SharePoint Server 2010
PDF
EPUB
MOBI

Get started with SharePoint Server 2010
PDF
EPUB
MOBI

Explore SharePoint 2013
EPUB
MOBI
PDF

Deployment guide for SharePoint 2013
EPUB
MOBI
PDF

Test Lab Guide: eBook for SharePoint Server 2013 Intranet and Team Sites
EPUB
MOBI
PDF
DOC

Create a Balanced Scorecard (SharePoint Server 2010)
EPUB
MOBI
PDF

SharePoint Server for Business Intelligence
EPUB
MOBI
PDF

Deployment guide for SharePoint 2013 Preview

Getting started with Microsoft SharePoint Foundation 2010

Technical reference for Microsoft SharePoint Server 2010

Governance guide for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

Profile synchronization guide for SharePoint Server 2010
PDF
EPUB
MOBI

Remote BLOB storage for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

Technical reference for Microsoft SharePoint Server 2010
PDF
EPUB
MOBI

Upgrading to SharePoint Server 2010
PDF
EPUB
MOBI

Getting Started with SharePoint Server 2010
PDF
DOC
XPS
EPUB
MOBI

Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 1
PDF
DOC
XPS

Planning guide for sites and solutions for Microsoft SharePoint Server 2010, Part 2
PDF
DOC
XPS

Planning guide for server farms and environments for Microsoft SharePoint Server 2010
PDF
XPS
DOC

Capacity planning for Microsoft SharePoint Server 2010
PDF
XPS
DOC

5 Tips for a Smooth SSIS Upgrade to SQL Server 2012
EPUB
MOBI
PDF

A Hitchiker’s Guide to Microsoft StreamInsight Queries
EPUB
MOBI
PDF

Data Mining Extensions (DMX) Reference
EPUB
MOBI
PDF

Data Quality Services
EPUB
MOBI
PDF

High Availability Solutions
EPUB
MOBI
PDF

Master Data Services
EPUB
MOBI
PDF

Monitor and Tune for Performance
EPUB
MOBI
PDF

Multidimensional Expressions (MDX) Reference
EPUB
MOBI
PDF

SQL Server Distributed Replay
EPUB
MOBI
PDF

Transact-SQL Data Definition Language (DDL) Reference
EPUB
MOBI
PDF

XQuery Language Reference
EPUB
MOBI
PDF

Extracting and Loading SharePoint Data in SQL Server Integration Services
EPUB
MOBI
PDF

Integration Services: Extending Packages with Scripting
EPUB
MOBI
PDF

Multidimensional Model Programming
EPUB
MOBI
PDF

Optimized Bulk Loading of Data into Oracle
EPUB
MOBI
PDF

Planning Disaster Recovery for Microsoft SQL Server Reporting Services in SharePoint Integrated Mode
EPUB
MOBI
PDF

SQL Server 2012 Tutorials: Reporting Services
EPUB
MOBI
PDF

SQL Server 2012 Tutorials: Writing Transact-SQL Statements
EPUB
MOBI
PDF

SQL Server Community FAQs Manual
EPUB
MOBI
PDF

SQL Server 2012 Tutorials: Analysis Services – Tabular Modeling
PDF
EPUB
MOBI

Microsoft SQL Server AlwaysOn Solutions Guide for High Availability and Disaster Recovery
PDF
EPUB
MOBI

Transact-SQL Data Manipulation Language (DML) Reference
PDF
EPUB
MOBI

QuickStart: Learn DAX Basics in 30 Minutes
PDF
EPUB
MOBI

SQL Server 2012 Tutorials: Analysis Services – Data Mining
PDF
EPUB
MOBI

Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide
PDF
EPUB
MOBI

Data Analysis Expressions (DAX) Reference
PDF
EPUB
MOBI

SQL Server 2012 Upgrade Technical Guide
PDF
EPUB
MOBI

Backup and Restore of SQL Server Databases
PDF
EPUB
MOBI

SQL Server 2012 Tutorials: Analysis Services – Multidimensional Modeling
PDF
EPUB
MOBI

Master Data Services Capacity Guidelines
PDF
EPUB
MOBI

SQL Server 2012 Developer Training Kit

Cmdlet Reference for App Controller in System Center 2012 SP1
EPUB
MOBI
PDF

Technical Documentation for System Center 2012 – Virtual Machine Manager
EPUB
MOBI
PDF

Upgrade Team Foundation Server 2012: the ultimate upgrade guide
EPUB
MOBI
PDF

Better Unit Testing with Microsoft Fakes
EPUB
MOBI
PDF

Dependency Injection with Unity
PDF

Developer’s Guide to Microsoft Enterprise Library (Second Edition)
PDF

Testing for Continuous Delivery with Visual Studio 2012
PDF

ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs
EPUB
MOBI
PDF

ASP.NET Web Deployment using Visual Studio
EPUB
MOBI
PDF

Developing Modern Mobile Web Apps
EPUB
MOBI
PDF

The Entity Framework 4.0 and ASP.NET Web Forms – Getting Started
EPUB
MOBI
PDF

Getting Started with the Entity Framework 4.1 using ASP.NET MVC
EPUB
MOBI
PDF

Project Silk: Client-Side Web Development for Modern Browsers
PDF

Moving Applications to the Cloud, 2nd Edition
PDF
EPUB
MOBI

Windows Azure Prescriptive Guidance
PDF
EPUB
MOBI

Windows Azure Service Bus Reference
PDF
EPUB
MOBI

Intro to ASP.NET MVC 4 with Visual Studio (Beta)
PDF
EPUB
MOBI

Deploying an ASP.NET Web Application to a Hosting Provider using Visual Studio
PDF
EPUB
MOBI

Getting Started with ASP.NET 4.5 Web Forms (Beta)
PDF
EPUB
MOBI

Introducing ASP.NET Web Pages 2
PDF
EPUB
MOBI

Own Your Future
PDF
XPS

Developing an Advanced Windows Phone 7.5 App that Connects to the Cloud

Developing Applications for the Cloud, 2nd Edition

Autoscaling Application Block and Transient Fault Handling Application Block Reference
EPUB
MOBI
PDF

Create Your First Application: Node.js and Windows Azure
EPUB
MOBI
PDF

Developing Multi-tenant Applications for the Cloud on Windows Azure (3rd Edition)
PDF

Drupal on Windows Azure
EPUB
MOBI
PDF

Exploring CQRS and Event Sourcing: A journey into high scalability, availability, and maintainability with Windows Azure
PDF

Migrating Data-Centric Applications to Windows Azure
EPUB
MOBI
PDF

Moving Applications to the Cloud on Windows Azure (3rd Edition)
PDF

Using Windows Azure Mobile Services to Cloud-Enable your iOS Apps
EPUB
MOBI
PDF

Using Windows Azure Mobile Services to Cloud-Enable Your Windows Phone 8 Apps
EPUB
MOBI
PDF

Using Windows Azure Mobile Services to Cloud-Enable your Windows Store Apps in C#
EPUB
MOBI
PDF

Using Windows Azure Mobile Services to Cloud-Enable Your Windows Store Apps in JavaScript
EPUB
MOBI
PDF

Windows Azure and SQL Database Tutorials
EPUB
MOBI
PDF

Building Hybrid Applications in the Cloud on Windows Azure

Building Elastic and Resilient Cloud Applications – Developer’s Guide to the Enterprise Library 5.0 Integration Pack for Windows Azure
PDF
EPUB
MOBI

Deployment guide for Duet Enterprise for Microsoft SharePoint and SAP Server 2.0 Preview

Microsoft Dynamics GP 2010 Guides: Financials

Microsoft Dynamics CRM 2011 User’s Guide

Dynamics CRM 2011 Developer Training Kit

Microsoft Dynamics CRM 2011 Implementation Guide

Digital Storytelling

Free Tools in the Classroom

Windows Live Movie Maker in the Classroom

Windows 7 in the Classroom

Microsoft Office Web Apps Teaching Guide

Microsoft Office in the Classroom

Developing Critical Thinking through Web Research Skills

Bing in the Classroom

A Guide to Claims-Based Identity and Access Control, Second Edition
PDF

Introducing Windows Server 2012
EPUB
MOBI
PDF

TCP/IP Fundamentals for Microsoft Windows
PDF

Understanding Microsoft Virtualization R2 Solutions
PDF
XPS

Introducing Windows Server 2012 – RTM Edition!
PDF
EPUB
MOBI

Introducing Microsoft SQL Server 2012
PDF
EPUB
MOBI

Introducing Microsoft SQL Server 2008 R2
PDF
XPS

Lync for Mac 2011 Deployment Guide

Microsoft Lync Server 2010 Resource Kit Tools

Microsoft Lync Server 2010 Resource Kit

Microsoft Lync Server 2010 Security Guide

Developing Applications for the Cloud – 2nd Edition

Visual Studio LightSwitch Training Kit

“Own Your Space–Keep Yourself and Your Stuff Safe Online” Digital Book for Teens

New “Focus On…” Web Part Released!!

The “Focus On…” Web Part selects a random entry from the specified Sharepoint Library and displays a picture, a title and an         abstract of the selected person or item.

The Web Part can be used with Windows Sharepoint Services V3, MOSS 2007, Sharepoint 2010 and Sharepoint 2013.

Feauture of the day 2
You can configure the following web part properties:

  • the Sharepoint Library
  • the List fields corresponding to the picture, title, abstract and detail link
  • enable or suppress the “Details..” URL.
  • show a new entry every day or on every page refresh

This allows you to display random data contained in any Sharepoint List by specifying the desired Sharepoint List name and the desired list column names.

How to use :

Create a new Sharepoint Picture Library if you do not intend to use an existing Picture Library.
If you decide to create a new Sharepoint list to store the Spotlight entries, create a new Sharepoint Picture Library anywhere in the Sharepoint site collection (the web part is able to access any picture library within the site collection).
The list needs the following columns to hold the entries:
– Title
– Abstract
– optional Detail Link URL

Focus on 2

Configure the following relevant Web Part properties in the Web Part Editor “Miscellaneous” pane section as needed:

  • Site Name: Enter the name of the site that contains the Spotlight Picture Library:
    – leave this field empty if the Library is in the current site (eg. the Web Part is placed in the same site)
    – Enter a “/” character if the Library is contained in the top site
    – Enter a path if the Library is in a subsite of the current site (eg. in the form of “current site/subsite”)
  • List Name: Enter the desired Sharepoint Picture Library
  • View Name: Optionally enter the desired List View of the list specified above. A List View allows you to specify specific data filtering and sorting.
    Leave this field empty if you want to use the List default view.
  • Title Field Name: Enter the desired Library Column name that contains the titles (Default=”Title”)
  • Abstract Field Name: Enter the desired Library Column name that contains the abstracts (Default=”Abstract”)You can alternatively specify a “Field Template” by entering the desired Library fields (surrounded by curly braces). You can specify HTML tags and CSS styles to freely format the text.

Focus on 4

  • Example:
    <strong>{JobTitle}</strong>
    <br>{Description}

    5px; margin-top:5px; background-color:orange”>


    <strong>Schools:</strong><br>
    {Bio}
    </div>

    The above example assumes that the Sharepoint Library includes a “JobTitle”, a “Description” and a “Bio” column.

  • Details URL Field Name: (optional) Enter the desired Library Column name that contains the Detail page links (Default=”DetailURL”). Leave this field empty if you don’t want to provide a detail link.
    If you want to automatically link to the corresponding Sharepoint List Detail View page, enter the keyword “DetailView” into this field.
    If you want to automatically link to the corresponding user’s “MySite” page, enter the keyword “MySite” into this field.
  • Open Details Link in new window: opens the link in a new browser window.
  • Details Caption: allows to localize the “Details..” link displayed in the lower right part of the web part (if a “Details” link is specified).
  • Text Layout: specify the placing of the Text with respect to the Image:
    – Right
    – Wrap
    – Bottom
    – Left
    – WrapLeft
  • Image Height: specify the image height in pixels. Enter “0” if you want to use the default picture size.
  • Default User Image: (optional) specify a default user picture (if there is no user picture available) by entering a relative URL to the imageExample:
    /yoursite/yourPictureLibrary/yourDefaultUser.jpg
  • Title CSS Style: enter optional CSS styles to format the Title (default: bold)
  • Text CSS Style:  enter optional CSS styles to format the Body Text (default: none)
  • Background Color (optional):  To set the desired Web Part Background color, enter either a HTML color name (as eg. “yellow”) or a hexadecimal RGB color value (as eg. “#ffcc33”). Leave this field empty if you don’t want to use a specific background color.
  • Show new Entry: shows a new entry depending on the below setting:
    – always (a new entry is displayed on every page refresh)
    – every Day
    – every Week
    – every Month
    – top Entry (the most recently added entry unless a View is used with a specific custom sorting order)
  • Show specific Entry: optionally enter the List ID of the List Item to be displayed.
  • Nbr. of Items to show: optionally enter two ore more items to be displayed side by side:

Focus on 6

  • Center Web Part: horizontally centers the Web Part within the available space.

Focus on 5

Contact me now for this awesome Web Part!

SharePoint 2013 App Available -Retrieves cross-domain data by using JSONP

This is a SharePoint-hosted app for SharePoint that uses JSON with Padding (JSONP) to retrieve data from a proxy page on a Windows Azure Web Site. The sample contains two solutions, one for the App and one for its use on a SharePoint page.

The App deploys the JSONPClient  App part for SharePoint.

You add the app part to a page and then enter the URL of the proxy page and the URL of a feed. The proxy page gets data from the feed that’s specified in the app part, and returns the data in JavaScript Object Notation (JSON) format.

The app part gets the feed data from the proxy page by using JSONP, and then displays the data.

Figure 1. The JSONPClient SharePoint App displays data from the specified feed on the page/s it is placed

 

SP15_app_JsonpAppPart (2)

 

Please contact me for this or any other SharePoint and Office365 Web Parts / Apps :

On-Premise and for the Cloud and Azure

Dynamics CRM, SharePoint, and Office – A Great Combo (Channel 9 Video)

Office, SharePoint and CRM

With the first release of the OBA Sample Application Kit for SAP, http://archive.msdn.microsoft.com/obasapsak, you learned the concepts around OBAs. These powerful composite applications bring Line-of-Business (LOB) data (e.g. SAP, PeopleSoft, or Dynamics) to the end-user’s fingertips within the context of the Office applications they use and know.

Version 1.0 of the Sample Application Kit for SAP was built on Microsoft Office SharePoint Server 2007 and Microsoft Office 2007. Version 2.0 is built on SharePoint 2010 and Office 2010 using Visual Studio 2010.

The sample application is a travel package booking application designed to allow users to work within their familiar Microsoft Office environment to access and update some LOB data in SAP.

The sample application is composed of an Excel 2010 add-in, and on SharePoint 2010, a Silverlight user experience is used for interacting with LOB data via Business Connectivity Services (BCS).Each part of the sample application is developed, at least partially, with Visual Studio 2010.

The SharePoint portion, of course, uses SharePoint specific tools.The OBA Sample Application Kit for SAP v. 2.0 accesses data from both SAP via Web services and from SQL Server.

These OBA resources were recommended reading for v. 1.0 and still provide an excellent conceptual foundation for v. 2.0:

  1. Six Office Business Applications (MS Press) or Programming Microsoft Office Business Applications (MS Press).
  2. Overview of an OBA: http://msdn2.microsoft.com/en-us/library/bb614538.aspx 

3. Overview of OBA Solution Patterns: http://msdn2.microsoft.com/en-us/library/bb614541.aspx 

So, with the above in hand what is this OBA Sample Application Kit for SAP v. 2.0?

In many cases, developers don’t have the knowledge on how to programmatically integrate Office applications with LOB systems.

What this kit provides is guidance on how you can integrate with Web services that have been generated from within SAP and then consume those services within a .NET and managed code environment.

The OBA Sample Application Kit for SAP v. 2.0 (one in a series of kits) includes a deep dive technical document, istallation document, demo walkthrough document of the end-user experience and source code.

The sample application kit is composed of an Excel 2010 add-in and a SharePoint 2010 site.

The Excel 2010 add-in facilitates the process of purchasing packages, maintaining packages and associated events and booking flights.

The application is also used to dynamically generate PowerPoint 2010 presentations using the Open XML SDK.

These PowerPoint 2010 presentations are shown to potential customers and display marketing information designed to entice customers to purchase packages.

The SharePoint 2010 site is a web site that enables the browsing of packages, events, flights and customer data.

The goal of the kit is to provide developers with information on how they can learn to programmatically integrate SAP with Office and SharePoint using Visual Studio 2010.

So click on the Downloads tab where you’ll find links to the documents and source code.

Please note that the download items are unsupported and are intended only for instructional use.

Additional Office and SharePoint Resources:

1. Office Developer Training Course on MSDN: http://msdn.microsoft.com/en-us/Office2010DeveloperTrainingCourse .

  1. SharePoint DeveloperTraining Course on MSDN:http://msdn.microsoft.com/en-us/SP2010DevTrainingCourse 

3. SharePoint Sideshow for Developers on Channel 9:http://channel9.msdn.com/Shows/SharePointSideshow 

4. Video instructions for how to get and setup a turn-key VHD for Office and SharePoint development and demo: http://bit.ly/hSd8nJ .

5. Office Developer Center on MSDN: http://msdn.microsoft.com/office 

I hope you enjoy the v. 2.0 kit, and if you’re looking for something on PeopleSoft integration, the OBA Sample Application Kit for PeopleSoft v. 2.0 is here, http://bit.ly/obapsftsak20 .

Writing data from apps to Office documents

A key feature of Office extensibility is that you can interact with your documents. For example, the Wikipedia app for Word and Excel, which we just released to the marketplace, enables you to insert content into Word documents or Excel spreadsheets. Although we do not recommend directly quoting Wikipedia in your papers (even Wikipedia says not to use Wikipedia in as an authoritative source), the app is a great way to assemble notes or quickly understand ideas from your reading.

clip_image002Figure 1. Wikipedia app in Word

Although the Wikipedia app is a great example of adding content via apps, you can add even more content types on your own. In this article, we walk through the types of content you can use and provide some samples you can refer to as you get started.

What data can I write with my apps?

The data you can put into documents changes depending on the kind of document your app is inserted into. Apps for Word and Excel are particularly good candidates for inserting content.

Platform Content
Images Text Matrices1 Tables HTML OOXML2
Word 2013
Excel 2013
Excel Web App
PowerPoint 2013

1- Matrices are tables without headers and are manipulated as 2D arrays rather than JavaScript objects
2- Word documents can be edited by directly adding/removing/changing their XML nodes

Understanding where the app model’s features are enabled is key to creating quality apps. The Wikipedia app is usable in Word and Excel 2013, but it handles insertion differently depending on what Office product the user is working from. Apps written for Outlook or Project are for other scenarios, so we disabled using the app there from the app manifest.

Interacting with documents through Office.js

The JavaScript library file Office.js provides the APIs used to insert content into your documents. There are three major objects within Office.js that are key to inserting content into your document: Office.contextOffice.context.document, and Office.documentMode.

Office.context

Office.context represents the runtime environment of the app—this object gets you the locales of the application, information on the document/mailbox (through Office.context.document), and any saved custom Outlook settings that the app may have. It’s useful if you want to change your inserted content depending on your user’s location or language.

Office.context.document

This API contains everything you need to directly manipulate your documents. There’s a whole lot this object can do, but to keep it simple here, we just focus on its setSelectedDataAsync method.

Office.documentMode

Office.documentMode is called to see if you have the proper permissions to read and write to your document. It returns a DocumentMode enumeration value (either Office.DocumentMode.ReadWrite or Office.DocumentMode.ReadOnly) that lets you see whether the document can or cannot be written to.

If the document is read-only, you won’t be able to insert any content. Allowing your users to try to write to a read-only document will cause the insertion call to fail. It’s a good idea to watch for this and to notify your user if and when this occurs.

Inserting data with setSelectedDataAsync()

You can insert content into your documents by calling Office.context.document.setSelectedDataAsync. The parameters passed through to the method change depending on the content being placed, but mainly focus on the data being inserted, what the content should be rendered as (we’ll call this the coercion type), and the function that is called when the method returns. The apps for Office API docs have a good overview of the details—check them out to learn more.

Text

Oftentimes, you want to insert some kind of text into your user’s document. The user can then format and adapt the inserted text to fit his or her needs. In the Wikipedia app, we use this to insert snippets of articles, but for simplicity here, we insert a static line of text.

To insert text, pass a string object as the data in setSelectedDataAsync. No coercion type is necessary.

   clip_image004

Tables and matrices

If you have tabular data, you can insert content through tables or matrices. Matrices are simple grids of information and can be inserted as two-dimensional arrays.

  clip_image006

If you want to include headers, or want to use the data as a JavaScript object before it is inserted, you can create an Office.TableData object and insert the data that way.

 clip_image008

HTML

If you want to format some content before putting it in your document, you can do so using HTML.

 clip_image010Although your inserted text takes the document formatting, you must insert HTML to do app-specific styling.

OOXML

In the event that you cannot insert content through any of the above methods, and if you are in Word 2013, you can directly alter the structure of the document by inserting OOXML nodes. This gets complicated fast—refer to the Apps for Office CustomXmlNode APIs for more information.

Images

There is no image coercion type for setSelectedDataAsync. If the image you are trying to insert already exists, and you have a path to it, you can insert it as HTML. If you have programmatically created the image or do not have a URL to include in your HTML snippet, you can insert the binary image in an OOXML node. Inserting the image through HTML is much simpler, but if your document goes offline or the image URL changes, the image won’t appear in the document. Make your design decision based on your situation and what format your data is in.

I have a cross-platform app. How can I know what data I can use?

“But I’m writing a cross-platform app!” you say, and, “I don’t know if my users are in Word or Project! Can I add HTML? What should I do?”

Instead of checking the product that your app is operating in, check whether the feature you want to use is enabled. Here, we are checking if the product the app is living in can even insert data into the first place:

 clip_image012

Once you determine that the product can actually insert content, you can check whether your coercion type is supported in your document. The following example checks if OOXML is supported by your app’s document.

clip_image014Once those two checks have successfully completed, go ahead and insert your data.

If you want to make sure the content is successfully inserted, you can add a simple if statement within the return function:

 clip_image016The status property of AsyncResult (result in the above code sample) returns an AsyncResultStatus enumeration, which indicates success or failure by its type.

What about Project and Outlook?

For now, apps living in Project and Outlook are consumption oriented. That is, they provide contextual information that complements your user’s work. While there are great apps you can write for these platforms, focus on consuming document data instead of inserting your own.

Where can I find some working examples?

If you’d like some working examples of app insertion, we have several examples to check out. All of the above examples are available in the attached Visual Studio solution, so you can see the code in action. Alternatively, the Wikipedia app for Office is open source – you can dig through the source on Codeplex.

Use data in your documents!

Apps for Office that insert content into documents allow users to gather information without leaving Office. It saves time for the user and improves efficiency. Write apps that insert data to help your users get things done!

References

Debugging SharePoint 2013 workflows using Visual Studio 2013

   Learn about the new tools for remotely debugging workflows in Visual Studio 2012

 

In Office Developer Tools for Visual Studio 2012, we enabled remote event debugging using Windows Azure Service Bus.

Now, in Visual Studio 2013, we have implemented a similar approach for remotely debugging workflows in apps for SharePoint.

The new and re-worded debugging options are available on the SharePoint tab under the Properties page of your app for SharePoint project, as shown in Figure 1.

Figure 1. Configure remote event and workflow debuggingFigure 1. Configure remote event and workflow debugging

To debug workflows on Office 365, select the “Enable Workflow debugging” and “Enable debugging via Windows Azure Service Bus” check boxes and enter the Service Bus endpoint connection string. If you try to debug without providing a connection string, you will be prompted to supply one.

Figure 2. Prompt for a connection stringFigure 2. Prompt for a connection string

As mentioned in the previous blog post, you’ll need to follow these steps to use the Windows Azure Service Bus for debugging remote events:

  1. Register for a Windows Azure account and then create a Service Bus namespace.
  2. See Managing Service Bus Service Namespaces for more information about managing namespaces.
  3. To get the Service Bus connection string, select your service namespace, choose Access Key, and then copy the Connection String.

After you have enabled remote event debugging and configured the Service Bus connection string, you can debug remote events.

FAQ

  1. How can I turn on/off the notification from Visual Studio that tells me to provide a Service Bus connection string?      If you are debugging an Office 365 workflow in your project and have not configured Service Bus debugging, Visual Studio will prompt you to configure it (see Figure 2). You can change this behavior by clearing the Notify me if Windows Azure Service Bus debugging is not configured check box on the SharePoint project property page.
  2. When do I need to enable the Service Bus debugging for workflows?      You must enable Service Bus debugging if you want to debug workflows on Office 365. If your project targets SharePoint installed on your local network, you do not need to enable Service Bus debugging. Instead, you need to open incoming connections to TCP port 12292. If you use Windows Firewall with Advanced Security, you can simply enable the rule “Workflow Manager Tools 1.0 for Visual Studio 2012 – Test Service Host”. If you try to debug against a SharePoint host on the local network without opening the port, Visual Studio will prompt you to enable the rule.
  3. Do I have to enable Service Bus debugging for every project?      Even though you configure the settings in project properties, Service Bus debugging settings are saved for the current user of the workstation so that you can reuse the settings across different projects. However, this setting is not saved into source control (TFS), so if they are needed by a different user or on a different machine, they need to be entered again.
  4. Will I be charged for Service Bus usage?      Yes. Remote event debugging uses the Relay Service component of the Service Bus. Refer to the Service Bus Pricing FAQ for more information.       If you are currently a Visual Studio Professional, Premium, or Ultimate with MSDN subscriber, you can check out the special offer on Windows Azure, which provides Service Bus Relay Hours of up to 1,500, 3,000, and 3,000 respectively.
  5. Do I have to change debugging settings before I publish my app to the marketplace or to the Corporate Gallery?      No. The package created by the Publish command in Visual Studio has the .app extension and does not contain any debugging information. A separate package, having the .debugapp extension is the only one used during debugging.
  6. Can I use Service Bus to debug workflows in SharePoint sandbox or farm solutions?      No. SharePoint solutions can only be debugged against SharePoint installed on the developer’s workstation.
  7. Can I use Service Bus to debug SharePoint 2010 workflows?      No. You can only use it for debugging apps for SharePoint, and apps cannot contain SharePoint 2010 workflows.