Posts Tagged SharePoint Online

Microsoft Ignite 2017 – SharePoint

Quite excited. Below are some of announcements that were made at Microsoft Ignite 2017

SharePoint 2019: Yes. Yes and Yes. Preview version will be available by mid of 2018.

Hub site: Group together related sites to share navigation and look and feel. Bring together announcements, news and activities. Making search easy and can associate team sites / communication sites.

DIP: Document Information Panel is back for Word 2016.

Threshold Limit: Predicative indexing will automatically index columns once increased 5000 items. Yes, we are getting rid of paging and contents will load as scroll.

Columns Formatters: Script to format columns.

Custom Forms with Power Apps: Not sure how much powerful but we can built custom forms using power apps as previously accomplished by InfoPath or code.

Flow Launch Panel: This is existing. A form to get input when starting workflow using Flow.

Attention View: View that list items with missing required columns.

New Admin Center: As usual, a new admin center to learn and find desired info.

Migration Tool: This is unexpected. Free of cost migration tool to migrate data from File Server, SharePoint On-Premises and CSV file to SharePoint Online. Migration tool can be downloaded from @ https://hrcppestorageprod.blob.core.windows.net/migrationtool/default.htm

Session Timeout Policies: Enables to set up policies to sign out a session after a certain time of inactivity.

Device Access Policies: Enables to set up policies on site collection level to limit access of devices.

Geo-Capabilities: Good news for government sector to meet data residency requirements. A single O365 tenant can span to multiple regions based upon user or site.

Shorter Url: Shorter Url for file sharing.

Sharing Files: Share file with people outside organizations using simple email based verification.

O365 Groups and Existing sites: Existing sites can be connected with O365 groups.

MS Teams: Can open pages of SharePoint sites in MS Teams.

New Web Part: Yammer web parts, file viewer web parts, Planner and connector web part.

 

 

Advertisements

Leave a Comment

SharePoint Online – Synch is not working

Scenario:

Installed Office 2016 on computers and unable to Synch document libraries

Resolution:

First check the version of OneDrive. Please make sure when press synch, exe should be running OneDrive.exe not groove.exe. If OneDrive.exe is running, please make sure OneDrive sync client must be version 17.3.6674.1021 or higher. If not, please follow steps:

  1. Download and install the preview build of the new OneDrive sync client.
  2. Download and open TeamSiteSyncPreview.reg to enable SharePoint document library sync.
  3. Restart computer
  4. Use Chrome to Synch document library.

Source:

https://support.office.com/en-us/article/Transition-from-the-previous-OneDrive-for-Business-sync-client-for-SharePoint-sites-887b9846-2192-4511-9311-de562ef64076

https://support.office.com/en-us/article/Get-started-syncing-SharePoint-sites-with-the-new-OneDrive-sync-client-Preview-6de9ede8-5b6e-4503-80b2-6190f3354a88?ui=en-US&rs=en-US&ad=US

Comments (1)

SharePoint 2101: Migrate List Views to SharePoint Online

Scenario:

We need to migrate List Views from SharePoint 2010 Server to SharePoint Online. We can use Web Services or Client Model. We decided to use Views Web Service.

Resolution:

First, we created a class which stores view information.

public class ListViewInfo

{

public ListViewInfo()

{

}

[DataMember]

public string listName { get; set; }

[DataMember]

public string viewName { get; set; }

[DataMember]

public string viewGUID { get; set; }

[DataMember]

public string openApplicationExtension { get; set; }

[DataMember]

public XmlNode viewFields { get; set; }

[DataMember]

public XmlNode viewQuery { get; set; }

[DataMember]

public XmlNode rowLimit { get; set; }

[DataMember]

public string type { get; set; }

[DataMember]

public bool makeViewDefault { get; set; }

[DataMember]

public XmlNode viewHeader { get; set; }

[DataMember]

public XmlNode viewBody { get; set; }

[DataMember]

public XmlNode viewFooter { get; set; }

[DataMember]

public XmlNode viewEmpty { get; set; }

[DataMember]

public XmlNode rowLimitExceeded { get; set; }

[DataMember]

public XmlNode viewToolBar { get; set; }

[DataMember]

public XmlNode viewAggregations { get; set; }

[DataMember]

public XmlNode viewFormat { get; set; }

}

We created two methods to get views information and to create views.

public static List<ListViewInfo> GetViewDetails(string listUrl)

{

List<ListViewInfo> listViewList = new List<ListViewInfo>();

ListViewInfo listView = new ListViewInfo();

string viewXML = string.Empty;

XmlDocument doc = new XmlDocument();

using (SPSite spSite = new SPSite(“SiteURL”))

{

using (SPWeb spWeb = spSite.OpenWeb())

{

SPList spList = spWeb.GetList(listUrl);

SPViewCollection spViewColl = spList.Views;

foreach (SPView spView in spViewColl)

{

viewXML = spView.HtmlSchemaXml;

doc.LoadXml(viewXML);

XmlNode root = doc.FirstChild;

listView.listName = spList.Title;

listView.viewName = root.Attributes[“DisplayName”].Value;

listView.viewGUID = root.Attributes[“Name”].Value;

listView.viewFields = root.SelectSingleNode(“/View/ViewFields”);

listView.viewQuery = root.SelectSingleNode(“/View/Query”);

listView.rowLimit = root.SelectSingleNode(“/View/RowLimit”);

listView.type = spView.Type;

listView.makeViewDefault = spView.DefaultView;

listView.viewHeader = root.SelectSingleNode(“/View/ViewHeader”);

listView.viewFooter = root.SelectSingleNode(“/View/ViewFooter”);

listView.viewBody = root.SelectSingleNode(“/View/ViewBody”);

listView.viewEmpty = root.SelectSingleNode(“/View/ViewEmpty”);

listView.viewToolBar = root.SelectSingleNode(“/View/ViewToolbar”);

listView.viewAggregations = root.SelectSingleNode(“/View/Aggregations”);

listView.viewFormat = root.SelectSingleNode(“/View/Formats”);

listView.openApplicationExtension = spView.OpenApplicationExtension;

listViewList.Add(listView);

listView = new ListViewInfo();

doc.RemoveAll();

}

}

}

return listViewList;

}

public static void createOrUpdateListView(List<ListViewInfo> listViewList)

{

ViewSvr.Views viewSrv = new ViewSvr.Views();

viewSrv.Credentials = System.Net.CredentialCache.DefaultCredentials;

viewSrv.Url = “http://SiteURL/_vti_bin/Views.asmx&#8221;;

if (listViewList.Count > 0)

{

string listName = listViewList[0].listName;

XmlNode viewColl = viewSrv.GetViewCollection(listName);

XmlDocument xmlDoc = new XmlDocument();

xmlDoc.LoadXml(“<root>” + viewColl.InnerXml + “</root>”);

XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDoc.NameTable);

nsmgr.AddNamespace(“XYZ”, “http://schemas.microsoft.com/sharepoint/soap/&#8221;);

foreach (XPSListView listView in listViewList)

{

XmlNode foundView = xmlDoc.SelectSingleNode(@”/root/XYZ:View[@DisplayName='” + listView.viewName + “‘]”, nsmgr);

if (foundView == null)

{

//add view

XmlNode nv = viewSrv.AddView(listView.listName, listView.viewName, listView.viewFields, listView.viewQuery, listView.rowLimit, listView.type, listView.makeViewDefault);

}

else

{

//update view

XmlNode uv = viewSrv.UpdateViewHtml2(listView.listName, foundView.Attributes[“Name”].Value, null, listView.viewToolBar, listView.viewHeader, listView.viewBody, listView.viewFooter, listView.viewEmpty, listView.rowLimitExceeded, listView.viewQuery,listView.viewFields, listView.viewAggregations,listView.viewFormat,listView.rowLimit, listView.openApplicationExtension);                    }

foundView = null;

}

}

}

P.S. We have used UpdateViewHtml2 Method to update the view but not able to find viewProperties. Please let me know if anyone find the mapping.

Also, please add web reference of Views Web Service in your project and replace following line with your web reference

ViewSvr.Views viewSrv = new ViewSvr.Views();

Leave a Comment