Wednesday, September 5, 2012

A great migration tool

On my current project, we needed that to merger quite a lot of documents from one SharePoint to another SharePoint. To begin with, we expected that the project should do the merger of the documents and therefore we should spend a lot of time on it. We discuss it in the project group and came up with some solution proposal, which ranged from console application to PowerShell. However, we kept coming back to a problem. That we in the project did not know the structure that we had to migrate documents into, that was only our customer who is familiar structure. Of course, we could talk to the customer about how we should save every single document. After some discussion back and forth, we end up finally but not a particularly good solution. So back to the drawing board. Now, if we could create a program that could even be able to use and even stand to migrate documents, it would be the best solution. After some discussion back and forth, we end up finally, not a particularly good solution. So back to the drawing board. Now, if we could make a program that the customer could use and themselves migrate the documents, it would be the best solution. We estimate tasks and found out, if we create the program, it would take a very long time to develop. Therefore, we began to search for a 3-party tool. We found a few tools, but we found a tool from Share Gate.

ShareGate tool had several advantages, which we need, as they highlight on their website:

  • Drag & drop
  • Migrate SharePoint list items and documents
  • Preserve version history
  • Preserve created and modified information
  • Assign new content types
  • Field validation

But the most important of all, an interface that is easy and inviting, so that our customer does not need constant support to them and it's ShareGates "Copy SharePoint Content" tool.

Product Information:
Company: http://en.share-gate.com/
Product: http://en.share-gate.com/sharepoint-tools/copy-move-sharepoint-list-items-documents-with-metadata-and-version-history
Download: http://en.share-gate.com/download

Monday, August 27, 2012

SharePoint Manager 2013 release note

I release the SharePoint Manager 2013 some time ago, more precisely on Jul 19 2012 and it now has over 2500 downloads on CodePlex witch I think is very good. This version is only intend as an upgrade of the 2010 version. However, I has added two new features. Both based on the feedback that has come from the 2010 version about speed. The first function is the most visual of the two. Function is plain and simply a splash screen that displays a picture as soon as you start the SharePoint Manager. The second feature is a configuration value in app.config file. The function is called “ShallowExpand”. Set it to true and the next time you start the SharePoint Manager only loads the farm and webapplication objects into treeview.

Screenshot of the loading screen:
loading

Screenshot then the shallowexpand is false:
standardload

Screenshot then the shallowexpand is true:
quickload

But what should you expect? Keutmann and I are working to rewrite the whole core, so we would like to do SharPoint Manager yet quick and support even more properties

Saturday, January 21, 2012

To use one-liner or not to use one-liner?

A recurring problem in many of the projects I'm working on is a link to open a link up in a pop / model window. My first thought was to do as Venkatesh R've described it here http://geekswithblogs.net/venkatx5/archive/2010/11/17/how-to-open-a-page-in-sharepoint-2010-dialog-framework.aspx. By making a new SP.UI. $ create_DialogOptions (); object and call SP.UI.ModalDialog.showModalDialog. Not because it's hard but if you do not need the callback. So it is easier to do as described in the SharePoint Developer Team Blog http://blogs.msdn.com/b/sharepointdev/archive/2011/06/23/how-to-open-a-list-form-in-a-modal-dialog-box.aspx whereas in a one-liner can open link in a model window.
<div id="displayDiv"> <p> Please help us with our survey. Take our poll now! </ P> <input onclick = "javascript: SP.UI.ModalDialog.showModalDialog ({url: '.. / Lists / GBE / NewForm.aspx', title: 'User Survey'}); return false; "id =" btnVote "type =" button "value =" Vote "/> </ div>

Which approach would you choose? Post a comment with your solution.

Monday, December 19, 2011

Change the user profile property display ordre

On the last couple of projects, the customer wants to change the display order of the user profile properties and there is the PowerShell to do it.

To see the current user profile display order call the script like this

& '.\change userprofile display ordre.ps1' http://spsite

To change the order call the script like this

& '.\change userprofile display ordre.ps1' http://spsite nameoftheuserprofileproperty sortorder

e.g. & '.\change userprofile display ordre.ps1' http://spsite firstname 5000

Download the powershell here

Sunday, November 6, 2011

Playing with SharePoint Rich Text Editor (RTE)

At my current project we needed to add a text highlight function button to the Rich Text Editors (RTE) ribbon, so when the user click on the button a selected text in the RTE, is wrapped with a predetermined HTML tag, indicating the text has been highlighted. Like <span css=”highlight”>the selected text</span>

The thing we need is:

1) The button in the ribbon, only showed when we are in the context of the RTE

2) The JavaScript snippet the will interact with the RTE

3) A feature the adds the ribbon button and the JavaScript to the page

The button is added to the style group like this:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
   Id="Ribbon.Demo.HighlightText"
   Location="CommandUI.Ribbon"
   Title="Insert Tooltips">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.EditingTools.CPEditTab.Styles.Controls._children">
          <Button
           Id="Ribbon.Demo.HighlightText.Button"
           Sequence="12"
           LabelText="High light text"
           Alt="High light text"
           TemplateAlias="o1"
           Image32by32="/_layouts/RTE.Demo/images/highlight32.png"
           Command="Ribbon.Demo.HighlightText.Command"
           ToolTipTitle="High light text"
      />
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler
         Command="Ribbon.Demo.HighlightText.Command"
         CommandAction="javascript:HighLightText();"
         EnabledScript="true" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

The JavaScript snippet looks like this:

function HighLightText() {
    var rng = RTE.Cursor.get_range().$3_0;
    var selectedText = RTE.Cursor.s_range.get_text();
    RTE.Cursor.get_range().deleteContent();
    var d = rng.ownerDocument;
    var a = d.createElement("span");
    a.innerHTML = selectedText;
    a.setAttribute("class", "highlight");
    SP.UI.UIUtility.insertAfter(a, rng);
}

Download the full project here