How do I enable the Connect to Outlook feature in your user list?

How to enable the function to synchronize my user list with Outlook 2007 or calendar list? I assume this is possible with custom lists too, but I cannot find any documentation on it.

+3
source share
7 answers

As far as I know, this is not possible. If you need to synchronize the task list, create a task list. Then you can delete all the columns that you are not interested in and add all the columns that you want to use.

The same goes for the calendar, if you want the list to be synchronized with your Outlook calendar, then create a list of calendars and customize it to your needs.

+3
source

Extend Philippe's answer.,.

According to this MSDN post, the custom list template has a different type designation (100) than the task template (106 in the article above), 107 in my research SP2010). This is what the user interface is trying to disable the Outlook sync button. So, if your own list is based on the content type you created, you can recreate your list for compatibility with Outlook.

  • If your list already contains data, export it to Excel
  • Create a new list based on the Task template (instead of Custom)
  • CT CT CT ( CT CT, ) , .
  • , , CT ( CT)
  • Datasheet (. )

: (, , ..)

,

+4

/ ( ) - . .

Outlook. , , uniqueId (, ) , .

, - . , , , -.

+2

, , . , , Outlook .

+1

sharepoint, Outlook, , stssync.

, ().

.

, stssync, Outlook:

stssync://sts/? ver = 1.1 & type = calendar & cmd = add-folder & base-url = [URL- ] & list-url = [ URL-] & guid = [GUID ] & site- name= [SiteName] & list- name= [ListName]

+1

, , SharePoint, , . ProperSync. SharePoint Outlook.

: http://propersync.com/default.aspx

0

, .

: http://blogs.msdn.com/b/sharepointdeveloperdocs/archive/2009/12/07/sharepointfoundationhowtoaddtabtoribbon.aspx

To view the OutlookSyncButton list, you must specify Location = "Ribbon.List.Actions.ConnectToClient" in CommandUIDefinition. To view the calendar, you must specify Location = "Ribbon.Calendar.Calendar.Actions.ConnectToClient".

Now in CommandUIHandler / CommandAction you specify the JS code that connects to Outlook (I just take it from SP :)):

alert("Let go!");

var listid = '{ListId}';           
var list;

ExecuteOrDelayUntilScriptLoaded(GetParamsAndSync, 'sp.js');

function GetParamsAndSync()
{
  var clientContext = new SP.ClientContext.get_current();
  var web = clientContext.get_web();
  list = web.get_lists().getById(listid);
  clientContext.load(list);
  clientContext.load(web);

  rf = list.get_rootFolder()
  clientContext.load(rf);

  clientContext.executeQueryAsync(
   function() {
      viewUrl=rf.get_serverRelativeUrl();
      ExportHailStormOverride('calendar','{SiteUrl}','{ListId}', web.get_title(),list.get_title(),viewUrl,viewUrl,'')
    }, 
    function() {alert('Error')});
}

//This function was taken from SharePoint sp.init.js
function  ExportHailStormOverride(type,weburl,guid,webname,listname,viewurl,passport,listrooturl,folderurl,folderid)
{ULSA13:;
    var strAppName=GetCookie('stsSyncAppName');
    var strIconName=GetCookie('stsSyncIconPath');
    var maxLinkLength=500;
    var maxNameLength=20;
    var link='stssync://sts/?ver=1.1'
            +'&type='+escapeProperly(type)
            +'&cmd=add-folder'
            +'&base-url='+escapeForSync(weburl)
            +'&list-url='+escapeForSync('/' 
            + makeAbsUrl(viewurl).substr(weburl.length+1)+'/')
            +'&guid='+escapeProperly(guid);
    if (window.self.offlineBtnUser !=undefined)
        link+='&user-id='+offlineBtnUser;
    var names='&site-name='+escapeForSync(webname)
            +'&list-name='+escapeForSync(listname);
    var context='';
    if (folderurl)
        context+='&folder-url='
             + escapeForSync('/'+folderurl.substr(listrooturl.length+1));
    if (folderid)
        context+='&folder-id='+folderid;
    if (link.length+names.length+context.length > maxLinkLength &&
        (webname.length > maxNameLength || listname.length > maxNameLength))
    {
        if (webname.length > maxNameLength)
            webname=webname.substring(0, maxNameLength-1)+'...';
        if (listname.length > maxNameLength)
            listname=listname.substring(0, maxNameLength-1)+'...';
        names='&site-name='+escapeForSync(webname)
             +'&list-name='+escapeForSync(listname);
    }
    link=link+names+context;
    var L_StssyncTooLong_Text='The name of site or list is too long. Make it shorter.';
    if (link.length > maxLinkLength)
        alert(L_StssyncTooLong_Text);
    else
    {
        try
        {
            window.location.href=link;

        }
        catch (e)
        {
            alert('Sync error.');
        }
    }
}           
0
source

Source: https://habr.com/ru/post/1702962/


All Articles