Namespaces in SP Online

SharePoint 2013 provides a Microsoft .NET server programming model that you can use to build custom solutions and apps that include eDiscovery functionality.
As per the documentation we can see this programming model applies to Sharepoint Server.
Can we use the same programming model Microsoft.Office.Server.Discovery namespace in SharePoint Online.
when we tried to use this namespace it says the reference missing so is there any web reference assembly for
this namespace so that we can create and use custom functionality with eDiscovery case template. Also we can not create custom template for case in eDiscovery team site.Please suggest.

Hi,
Please understand that this is the queue dedicated for SharePoint 2013 On-Premise. As the question is specific to development in SharePoint Online, I would suggest you to post the question on following queues.
Microsoft Online: SharePoint Online
http://social.technet.microsoft.com/Forums/msonline/en-US/home?forum=onlineservicessharepoint
Microsoft office 365 community forums--->sites and document sharinghttp://community.office365.com/en-us/forums/154.aspx
Miles LI TechNet Community Support

Similar Messages

  • Default XI parameters in 7.1, soap sender.

    Hi,
    I have a quick question about Default XI Parameters in Soap sender adapter in PI 7.1.
    Why are they not present in PI 7.1( sender interface and sender NS )?
    which are mandatory parameters in 7.0.
    I was guessing that , this ways we can create a generic soap sender CC.
    Does anyone have a exact answer as why it was removed?
    Regards,
    Venkat..

    > Even in PI 7.0 we will add interface name and CC to the URL.
    > 1. Do you mean that we are supposed to have NS too along with above entries?
    Yes, you should add interface and namespace as it is mentioned in SAP Note 856597
    > 2. What do you mean by aligning behavior of SOAP adapter with other adapters?
    Other adapters (File, JMS) get interface and namespace from a sender agreement connected to a sender channel. The behaviour of the SOAP adapter was different before.
    I was told by development that migrated channels from 7.0 work without any change. If this is not the case, open an OSS ticket for this.
    For new channels you have to call the SOAP adapter always with interface name and namespace. The online help is not correct.
    Regards
    Stefan

  • SP Online Auth Error: Direct login to WLID is not allowed for this federated namespace

    I receive the error "Direct login to WLID is not allowed for this federated namespace" when authenticating for Sharepoint online over https using code from: code.msdn.microsoft.com/windowsapps/Office-365-Create-Windows-5a88ccfc/view/SourceCode#content
    Is there any setting on Sharepoint Online that is preventing successful authentication. The credentials passed are valid.
    Thanks.

    No. SharePoint uses claims authentication for login by default. Since SharePoint doesn't recognize the source of connection you are trying to connect. Try using secure store from SharePoint online to add credentials of your windows app and then try
    working it. Even if that doesn't work then try modifying the C sharp connection to SharePoint code.
    If you find this information useful then please propose this as answer and vote.
    Thanks.
    Ujjwal Patel
     |
    SharePoint Online Support Engineer, MCPD, MCTS, MCAD.

  • SharePoint online 2013 event receiver error

    I am currently working on a SharePoint online project. My code generates 6 documents in 6 different document libraries along with other metadata. When I save data to a List, the event receiver fires and creates all the 6 documents. But sometimes it stops creating
    the 6 documents and left with 1 or 2 documents. Sometimes documents has been created but without any metadata.
    The same code is working fine in my on-premises environment, but it sometimes breaks in the Office 365 environment. I also created a log list to track the issue as we cannot debug in Office 365. In the log list I found a error message saying "Thread was
    being aborted." Below is my code. please help it is happening only in Office 365 environment.
    namespace ExcelGen.ExcelGenReceiver
    using System;
    using Microsoft.SharePoint;
    /// <summary>
    /// List Item Events
    /// </summary>
    public class ExcelGenReceiver : SPItemEventReceiver
    /// <summary>
    /// The template URL
    /// </summary>
    private const string TemplateUrl = "/Quotation Analysis Electrical/Forms/Quotation Analysis Sheet ELEC_Blank.xlsm";
    /// <summary>
    /// The template url1
    /// </summary>
    private const string TemplateUrl1 = "/Quotation Analysis Mechanical/Forms/Quotation Analysis Sheet MECH_Blank.xlsm";
    /// <summary>
    /// The template url2
    /// </summary>
    private const string TemplateUrl2 = "/TenderSummaryLib/Forms/TenderSummaryBlankMaster1.xlsm";
    /// <summary>
    /// The RFI template URL
    /// </summary>
    private const string RfiTemplateUrl = "/EstimatingRFI/Forms/RFI Schedule MASTER.docx";
    /// <summary>
    /// The drawing template URL
    /// </summary>
    private const string DrawingTemplateUrl = "/Tender and Drawing Schedule/Forms/Tender Document Drawing Schedule.docx";
    /// <summary>
    /// The tender return template URL
    /// </summary>
    private const string TenderReturnTemplateUrl = "/Est_Tender_Pricing_Document/Forms/Tender Pricing Document blank.xlsm";
    /// <summary>
    /// The project number
    /// </summary>
    private string projectNumber = string.Empty;
    /// <summary>
    /// The project name
    /// </summary>
    private string projectName = string.Empty;
    /// <summary>
    /// The no bid
    /// </summary>
    private string noBid;
    /// <summary>
    /// The team
    /// </summary>
    private string team;
    /// <summary>
    /// The description
    /// </summary>
    private string description;
    /// <summary>
    /// The status
    /// </summary>
    private string status;
    /// <summary>
    /// The electrical
    /// </summary>
    private SPUser electrical;
    /// <summary>
    /// The mechanical
    /// </summary>
    private SPUser mechanical;
    /// <summary>
    /// The document date
    /// </summary>
    private DateTime? docDate;
    /// <summary>
    /// The tender received
    /// </summary>
    private DateTime? tenderReceived;
    /// <summary>
    /// The tender return
    /// </summary>
    private DateTime? tenderReturn;
    /// <summary>
    /// The pre construction program start date
    /// </summary>
    private DateTime? preConstructionProgramStart;
    /// <summary>
    /// The pre construction program end date
    /// </summary>
    private DateTime? preConstructionProgramEnd;
    /// <summary>
    /// The sector
    /// </summary>
    private string sector;
    /// <summary>
    /// The design build
    /// </summary>
    private string designBuild;
    /// <summary>
    /// The build type
    /// </summary>
    private string buildType;
    /// <summary>
    /// The service program start date
    /// </summary>
    private DateTime? serviceProgramStart;
    /// <summary>
    /// The service program completion date
    /// </summary>
    private DateTime? serviceProgramCompletion;
    /// <summary>
    /// The client1
    /// </summary>
    private string client1;
    /// <summary>
    /// The client2
    /// </summary>
    private string client2;
    /// <summary>
    /// The client3
    /// </summary>
    private string client3;
    /// <summary>
    /// The client4
    /// </summary>
    private string client4;
    /// <summary>
    /// The consultant
    /// </summary>
    private string consultant;
    /// <summary>
    /// An item is being added.
    /// </summary>
    /// <param name="properties">The Item Event properties</param>
    public override void ItemAdded(SPItemEventProperties properties)
    //this.EventFiringEnabled = false;
    var web = properties.Web;
    var listItem = properties.ListItem;
    try
    LogIssue(web, null, "Item Added", "List Item Id {0}", listItem.ID);
    if (!this.AttemptCopyProcess(listItem))
    LogIssue(web, null, "List Id : " + listItem.ID, "AttemptCopyProcess failed.");
    catch (Exception ex)
    LogIssue(web, ex, "List Id : " + listItem.ID, "AttemptCopyProcess failed.");
    finally
    //this.EventFiringEnabled = true;
    LogIssue(web, null, "List Id : " + listItem.ID, "Event Receiver completed sucessfully.");
    /// <summary>
    /// Logs any issues found
    /// </summary>
    /// <param name="webContext">The web context.</param>
    /// <param name="exception">The exception, if null not exception details are written</param>
    /// <param name="contextId">The context identifier, a unique identifier that allows us to know where the call originated, i.e. a List and ListItem Id, or a Page Url</param>
    /// <param name="comment">The comment.</param>
    /// <param name="args">The arguments.</param>
    private static void LogIssue(SPWeb webContext, Exception exception, string contextId, string comment, params object[] args)
    //// if (webContext.AllProperties.ContainsKey("EnableLogging"))
    var list = webContext.Lists.TryGetList("ErrorIssues");
    if (list != null)
    var item = list.AddItem();
    item["Title"] = contextId;
    if (exception != null)
    item["Message"] = exception.Message;
    item["InnerException"] = exception.InnerException ?? (object)string.Empty;
    item["StackTrace"] = exception.StackTrace;
    if (!string.IsNullOrEmpty(comment))
    item["Comment"] = string.Format(comment, args);
    item.Update();
    /// <summary>
    /// Assigns the field.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>The fields string value if present, otherwise string.empty.</returns>
    private static string AssignField(SPListItem listItem, string fieldName, string contextId)
    var fieldValue = string.Empty;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    fieldValue = listItem[fieldName].ToString();
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return fieldValue;
    /// <summary>
    /// Assigns the field as a DateTime
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>Returns the date if found, otherwise returns DateTime.MinValue</returns>
    private static DateTime? AssignDateField(SPListItem listItem, string fieldName, string contextId)
    DateTime? fieldValue = null;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    fieldValue = Convert.ToDateTime(listItem[fieldName].ToString());
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return fieldValue;
    /// <summary>
    /// Creates the folder.
    /// </summary>
    /// <param name="listdoc">The list.</param>
    /// <param name="folderName">Name of the folder.</param>
    private static void CreateFolder(SPList listdoc, string folderName)
    LogIssue(listdoc.ParentWeb, null, "List Id : " + listdoc.ID, "Creating folder {0} in {1}", folderName, listdoc.RootFolder.ServerRelativeUrl);
    // Updated by Indusnet
    SPListItem folder1 = listdoc.Items.Add(listdoc.RootFolder.ServerRelativeUrl, SPFileSystemObjectType.Folder);
    folder1["Name"] = folderName;
    folder1.Update();
    listdoc.Update();
    // End Updated
    /// <summary>
    /// Assigns the user field.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>Returns the user if found, otherwise null.</returns>
    private static SPUser AssignUserField(SPListItem listItem, string fieldName, string contextId)
    SPUser user = null;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    var userField = (SPFieldUser)listItem.Fields.GetField(fieldName);
    var fieldValue = (SPFieldUserValue)userField.GetFieldValue(listItem["electrical_proj_manager"].ToString());
    user = fieldValue.User;
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return user;
    /// <summary>
    /// Attempts the copy process.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <returns>True if it successfully processed, false otherwise.</returns>
    private bool AttemptCopyProcess(SPListItem listItem)
    if (listItem.ParentList.Title != "Enquiry_Template")
    LogIssue(listItem.Web, null, "List Id : " + listItem.ID, "ListItem titles is not Enquiry_Template, aborting.");
    return false;
    var finalNum = "15-" + new Random().Next(0, 9999).ToString("D4");
    this.Initialize(listItem, finalNum);
    if (this.noBid != "Yes")
    LogIssue(listItem.Web, null, "List Id : " + listItem.ID, "The noBid field does not equal Yes, aborting.");
    return false;
    this.CopyFiles(listItem.Web, finalNum);
    this.CreateFolders(listItem.Web);
    return true;
    /// <summary>
    /// Copies the files.
    /// </summary>
    /// <param name="web">The web.</param>
    /// <param name="finalNum">The final number.</param>
    private void CopyFiles(SPWeb web, string finalNum)
    LogIssue(web, null, "Web Id : " + web.ID, "Setting the copying of files ...");
    var mechanicalQuoteList = web.Lists["Quotation Analysis Mechanical"];
    var electricalQuoteList = web.Lists["Quotation Analysis Electrical"];
    var tenderSummarList = web.Lists["TenderSummaryLib"];
    var estimatingList = web.Lists["EstimatingRFI"];
    var tenderSheduleList = web.Lists["Tender and Drawing Schedule"];
    var tenderPricingList = web.Lists["Est_Tender_Pricing_Document"];
    var url1 = mechanicalQuoteList.RootFolder.ServerRelativeUrl;
    var url = electricalQuoteList.RootFolder.ServerRelativeUrl;
    var url2 = tenderSummarList.RootFolder.ServerRelativeUrl;
    var urlA = estimatingList.RootFolder.ServerRelativeUrl;
    var urlB = tenderSheduleList.RootFolder.ServerRelativeUrl;
    var urlC = tenderPricingList.RootFolder.ServerRelativeUrl;
    var foldername1 = string.Empty;
    var foldername = string.Empty;
    var foldername2 = string.Empty;
    var foldernameA = string.Empty;
    var foldernameB = string.Empty;
    var foldernameC = string.Empty;
    var folder1 = web.Folders[url1 + "/" + foldername1];
    var folder = web.Folders[url + "/" + foldername];
    var folder2 = web.Folders[url2 + "/" + foldername2];
    var folderA = web.Folders[urlA + "/" + foldernameA];
    var folderB = web.Folders[urlB + "/" + foldernameB];
    var folderC = web.Folders[urlC + "/" + foldernameC];
    if (!folder1.Exists && !folder.Exists && !folder2.Exists && !folderA.Exists && !folderB.Exists && !folderC.Exists)
    var folders1 = web.GetFolder(url1).SubFolders;
    var folders = web.GetFolder(url).SubFolders;
    var folders2 = web.GetFolder(url2).SubFolders;
    var foldersA = web.GetFolder(urlA).SubFolders;
    var foldersB = web.GetFolder(urlB).SubFolders;
    var foldersC = web.GetFolder(urlC).SubFolders;
    folders1.Add(foldername1);
    folders.Add(foldername);
    folders2.Add(foldername2);
    foldersA.Add(foldernameA);
    foldersB.Add(foldernameB);
    foldersC.Add(foldernameC);
    var file1 = web.GetFile(web.Site.Url + TemplateUrl1);
    var file = web.GetFile(web.Site.Url + TemplateUrl);
    var file2 = web.GetFile(web.Site.Url + TemplateUrl2);
    var fileA = web.GetFile(web.Site.Url + RfiTemplateUrl);
    var fileB = web.GetFile(web.Site.Url + DrawingTemplateUrl);
    var fileC = web.GetFile(web.Site.Url + TenderReturnTemplateUrl);
    if (file1 != null && file != null && file2 != null && fileA != null && fileB != null && fileC != null)
    var fileName = string.Format("{0}/{1}{2}", folder1.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 1 {0} to {1}...", file1.Name, fileName);
    var byteArray1 = file1.OpenBinary();
    var uploadedFile1 = folder1.Files.Add(fileName, byteArray1, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 1 Uploaded with new ID of {0}", uploadedFile1.Item.ID);
    this.EventFiringEnabled = false;
    var listitem1 = uploadedFile1.Item;
    listitem1["Name"] = this.projectName;
    listitem1["EnquiryNo"] = finalNum;
    listitem1["Project_Name"] = this.projectName;
    listitem1["Tender_Received"] = this.tenderReceived;
    listitem1["Tender_Return"] = this.tenderReturn;
    listitem1["Quotation_Analysis_Mech_Url"] = "https://my site url/Quotation%20Analysis%20Mechanical/Forms/DispForm.aspx?ID=" + listitem1.ID;
    listitem1.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 1.");
    fileName = string.Format("{0}/{1}{2}", folder.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 2 {0} to {1}...", file.Name, fileName);
    var byteArray = file.OpenBinary();
    var uploadedFile = folder.Files.Add(fileName, byteArray, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 2 Uploaded with new ID of {0}", uploadedFile.Item.ID);
    this.EventFiringEnabled = false;
    var listitem = uploadedFile.Item;
    listitem["Name"] = this.projectName;
    listitem["EnquiryNo"] = finalNum;
    listitem["Project_Name"] = this.projectName;
    listitem["Tender_Received"] = this.tenderReceived;
    listitem["Tender_Return"] = this.tenderReturn;
    listitem["Quotation_Analysis_Elec_Url"] = "https://my site url/Quotation%20Analysis%20Electrical/Forms/DispForm.aspx?ID=" + listitem.ID;
    listitem.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 2.");
    fileName = string.Format("{0}/{1}{2}", folderA.ServerRelativeUrl, this.projectName, ".docx");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 3 {0} to {1}...", fileA.Name, fileName);
    var byteArrayA = fileA.OpenBinary();
    var uploadedFileA = folderA.Files.Add(fileName, byteArrayA, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 3 Uploaded with new ID of {0}", uploadedFileA.Item.ID);
    this.EventFiringEnabled = false;
    var listitemA = uploadedFileA.Item;
    listitemA["Name"] = this.projectName;
    listitemA["EnquiryNo"] = finalNum;
    listitemA["Project_Name"] = this.projectName;
    listitemA["Date"] = this.docDate;
    listitemA["Description"] = this.description;
    listitemA["ProjectNo"] = this.projectNumber;
    listitemA["RFIUrl"] = "https://my site url/EstimatingRFI/Forms/DispForm.aspx?ID=" + listitemA.ID;
    listitemA.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 3.");
    fileName = string.Format("{0}/{1}{2}", folderB.ServerRelativeUrl, this.projectName, ".docx");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 4 {0} to {1}...", fileB.Name, fileName);
    var byteArrayB = fileB.OpenBinary();
    var uploadedFileB = folderB.Files.Add(fileName, byteArrayB, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 4 Uploaded with new ID of {0}", uploadedFileB.Item.ID);
    this.EventFiringEnabled = false;
    var listitemB = uploadedFileB.Item;
    listitemB["Name"] = this.projectName;
    listitemB["EnquiryNo"] = finalNum;
    listitemB["Project_Name"] = this.projectName;
    listitemB["Date"] = this.docDate;
    listitemB["Description"] = this.description;
    listitemB["ProjectNo"] = this.projectNumber;
    listitemB["DrawingURL"] = "https://my site url/Tender%20and%20Drawing%20Schedule/Forms/DispForm.aspx?ID=" + listitemB.ID;
    listitemB.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 4.");
    fileName = string.Format("{0}/{1}{2}", folderC.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 5 {0} to {1}...", fileC.Name, fileName);
    var byteArrayC = fileC.OpenBinary();
    var uploadedFileC = folderC.Files.Add(fileName, byteArrayC, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 5 Uploaded with new ID of {0}", uploadedFileC.Item.ID);
    this.EventFiringEnabled = false;
    var listitemC = uploadedFileC.Item;
    listitemC["Name"] = this.projectName;
    listitemC["EnquiryNo"] = finalNum;
    listitemC["Project_Name"] = this.projectName;
    listitemC["Date"] = this.docDate;
    listitemC["Description"] = this.description;
    listitemC["ProjectNo"] = this.projectNumber;
    listitemC["PricingURL"] = "https://my site url/Est_Tender_Pricing_Document/Forms/DispForm.aspx?ID=" + listitemC.ID;
    listitemC.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 5.");
    fileName = string.Format("{0}/{1}{2}", folder2.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 5 {0} to {1}...", file2.Name, fileName);
    var byteArray2 = file2.OpenBinary();
    var uploadedFile2 = folder2.Files.Add(fileName, byteArray2, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 6 Uploaded with new ID of {0}", uploadedFile2.Item.ID);
    this.EventFiringEnabled = false;
    var listitem2 = uploadedFile2.Item;
    listitem2["Name"] = this.projectName;
    listitem2["EnquiryNo"] = finalNum;
    listitem2["Project_Name"] = this.projectName;
    listitem2["Date"] = this.docDate;
    listitem2["Team"] = this.team;
    listitem2["Estimator_Electrical"] = this.electrical;
    listitem2["Estimator_Mechanical"] = this.mechanical;
    listitem2["Status"] = this.status;
    listitem2["Tender_Received"] = this.tenderReceived;
    listitem2["Tender_Return"] = this.tenderReturn;
    listitem2["Sector"] = this.sector;
    listitem2["Design_Build"] = this.designBuild;
    listitem2["Build_Type"] = this.buildType;
    listitem2["Service_Prog_Start"] = this.serviceProgramStart;
    listitem2["Service_Prog_Completion"] = this.serviceProgramCompletion;
    listitem2["Client_1"] = this.client1;
    listitem2["Client_2"] = this.client2;
    listitem2["Client_3"] = this.client3;
    listitem2["Client_4"] = this.client4;
    listitem2["Consultant"] = this.consultant;
    listitem2["Pre-construction_Prog_Start"] = this.preConstructionProgramStart;
    listitem2["Pre-construction_Prog_End"] = this.preConstructionProgramEnd;
    listitem2["Tender_Summary_Url"] = "https://my site url/TenderSummaryLib/Forms/DispForm.aspx?ID=" + listitem2.ID;
    listitem2.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 6.");
    /// <summary>
    /// Creates the folders.
    /// </summary>
    /// <param name="web">The web.</param>
    private void CreateFolders(SPWeb web)
    var projectListId = web.Lists.Add(this.projectName.Replace(' ', '_'), string.Empty, SPListTemplateType.DocumentLibrary);
    var projectList = web.Lists[projectListId];
    projectList.OnQuickLaunch = true; // The document library will appear in Quick Launch bar.
    CreateFolder(projectList, "1.Tender Documents");
    CreateFolder(projectList, "2. Electrical");
    CreateFolder(projectList, "3. Mechanical");
    CreateFolder(projectList, "4. Correspondance");
    CreateFolder(projectList, "5. Settlement Meeting Docs");
    CreateFolder(projectList, "6. Tender Return Docs");
    CreateFolder(projectList, "7. Tender Handover");
    projectList.Update();
    /// <summary>
    /// Initializes the specified list item.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="finalNum">The final number.</param>
    private void Initialize(SPListItem listItem, string finalNum)
    var contextId = string.Format("List:{0}, Id:{1}", listItem.ParentList.Title, listItem.ID);
    this.noBid = AssignField(listItem, "Bid", contextId);
    this.projectName = AssignField(listItem, "Project_Name", contextId);
    var teamlookup = AssignField(listItem, "Team", contextId);
    var lookupParts = teamlookup.Split(new[] { ";#" }, StringSplitOptions.None);
    this.team = lookupParts[1];
    this.description = AssignField(listItem, "Description", contextId);
    this.status = AssignField(listItem, "enquiry_status", contextId);
    this.electrical = AssignUserField(listItem, "electrical_proj_manager", contextId);
    this.mechanical = AssignUserField(listItem, "mechanical_proj_manager", contextId);
    this.docDate = AssignDateField(listItem, "Date", contextId);
    this.tenderReceived = AssignDateField(listItem, "Tender_Received", contextId);
    this.tenderReturn = AssignDateField(listItem, "Tender_Return", contextId);
    this.preConstructionProgramStart = AssignDateField(listItem, "Pre-construction_Prog_Start", contextId);
    this.preConstructionProgramEnd = AssignDateField(listItem, "Pre-construction_Prog_End", contextId);
    this.sector = AssignField(listItem, "Sector", contextId);
    this.designBuild = AssignField(listItem, "Design_Build", contextId);
    this.buildType = AssignField(listItem, "Build_Type", contextId);
    this.serviceProgramStart = AssignDateField(listItem, "Service_Prog_Start", contextId);
    this.serviceProgramCompletion = AssignDateField(listItem, "Service_Prog_Completion", contextId);
    this.client1 = AssignField(listItem, "Client_1", contextId);
    this.client2 = AssignField(listItem, "Client_2", contextId);
    this.client3 = AssignField(listItem, "Client_3", contextId);
    this.client4 = AssignField(listItem, "Client_4", contextId);
    this.consultant = AssignField(listItem, "Consultant", contextId);
    if (this.status == "Won")
    this.projectNumber = string.Format("15-{0}-{1}", this.team, new Random().Next(0, 9999).ToString("D4"));
    if (this.status == "Active" || this.status == "Closed")
    this.projectNumber = "No Project No";
    listItem["ProjectNo"] = this.projectNumber;
    listItem["EnquiryNo"] = finalNum;
    listItem.Web.AllowUnsafeUpdates = true;
    listItem.SystemUpdate(false);

    Hi,
    In this forum we mainly discuss questions and feedbacks about Office client products, as your question is about SharePoint 2013, I suggest you post this thread in SharePoint forum:
    https://social.technet.microsoft.com/Forums/office/en-US/home?category=sharepoint
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Regards,
    Melon Chen
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs. Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • The type or namespace name 'Optimization' does not exist in the namespace 'System.Web'

    App_Start\BundleConfig.cs (1): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     Global.asax.cs (4): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     App_Start\BundleConfig.cs (8): The type or namespace name 'BundleCollection' could not be found (are you missing a using directive or an assembly reference?)
    I'm getting the above errors when attempting to create a remote build.
    I've tried the solution found here (http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html) but no luck.

    Hi,
    I have an asp.net mvc project in Visual Studio 2013. I'm hosting it on Visual Studio Online. 
    The project builds fine on my local machine/Visual Studio 2013. When i try to do a build on Visual Studio Online (i created a build definition there), i get similar errors. 
     App_Start\BundleConfig.cs (2): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     App_Start\FilterConfig.cs (2): The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     App_Start\RouteConfig.cs (5): The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     Controllers\HomeController.cs (5): The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     Controllers\HomeController.cs (9): The type or namespace name 'Controller' could not be found (are you missing a using directive or an assembly reference?)
     Global.asax.cs (5): The type or namespace name 'Mvc' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     Global.asax.cs (6): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
     App_Start\BundleConfig.cs (9): The type or namespace name 'BundleCollection' could not be found (are you missing a using directive or an assembly reference?)
     App_Start\FilterConfig.cs (8): The type or namespace name 'GlobalFilterCollection' could not be found (are you missing a using directive or an assembly reference?)
     Controllers\HomeController.cs (11): The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an assembly reference?)
     Controllers\HomeController.cs (16): The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an assembly reference?)
     Controllers\HomeController.cs (23): The type or namespace name 'ActionResult' could not be found (are you missing a using directive or an assembly reference?)
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,
    processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.Optimization". Check to make sure the assembly exists on disk. If this
    reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL".
    Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,
    processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,
    processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,
    processorArchitecture=MSIL". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "WebGrease". Check to make sure the assembly exists on disk. If this reference is required
    by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "Antlr3.Runtime". Check to make sure the assembly exists on disk. If this reference
    is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Could not resolve this reference. Could not locate the assembly "Newtonsoft.Json". Check to make sure the assembly exists on disk. If this reference
    is required by your code, you may get compilation errors.
     C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697): Assembly strong name "System.Web.Mvc, Version=__MvcPagesVersion__, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" is
    either a path which could not be found or it is a full assembly name which is badly formed. If it is a full assembly name it may contain characters that need to be escaped with backslash(\). Those characters are Equals(=), Comma(,), Quote("), Apostrophe('),
    Backslash(\).

  • How to migrate mails from Google Apps to MS Exchange Online IMAP (Getting error)

    Any tips on How to migrate mails from Google Apps to MSOL? What is required? When I am trying to migrate using IMAP but getting fpollowing error
    =======================
    Summary: 1 item(s). 0 succeeded, 1 failed.
    Elapsed time: 00:00:11
    [email protected]
    Failed
    Error:
    Failed to log on successfully for the following reason:
    Server rejected Basic login with following message : * CAPABILITY IMAP4rev1 UNSELECT LITERAL+ IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE.
    Exchange Management Shell command attempted:
    'Microsoft.Exchange.Transporter.Provider.PopImap.InternetMailboxMeta' | Move-XsIMAPMailboxToExchangeOnline -AllowUnsecureConnection $false -TargetCredential 'System.Management.Automation.PSCredential' -MaxThreadCount '10' -Quiet
    Elapsed Time: 00:00:11
    ======================
    Any help will be much appreciated.
    Regards
    Sunil DK

    I just finished migrating a client from Google Apps to Microsoft Exchange Online using the IMAP option in the Microsoft Online Services Migration Tool.  
    I added the mailboxes by creating a CSV file [i.e. GoogleApps(Gmail)_Mailboxes.csv] in the following format:
    SourceIdentity,SourceServer,SourceLoginID,SourcePassword,TargetIdentity
    [email protected],imap.gmail.com,[email protected],P@ssword1,[email protected]
    [email protected],imap.gmail.com,[email protected],P@ssword2,[email protected]
    [email protected],imap.gmail.com,[email protected],P@ssword3,[email protected]
    Then I created a custom folder map XML file [i.e. GoogleApps(Gmail)_FolderMap.xml] to map the Google Apps (Gmail) labels to the appropriate Exchange (Outlook) mailbox folders and create those that didn't exist (i.e. Important, Starred, Follow up,
    Misc, Priority) as sub-folders under the Inbox:
    <?xml version="1.0" encoding="utf-8"?>
    <FolderMappings xmlns="http://tempuri.org/FolderMap.xsd">
    <!-- This xml contains the mapping of foldername in source server to folders in target server -->
    <!--
    "path" is the name of the folder in source server
    "Name" is the name of the folder to be mapped into target server
    "SpecialFolder" is the name of the special folder to be mapped into
    target server (Name will be ignored) valid values are :
    Inbox
    Calendar
    Tasks
    Sent Items
    Deleted Items
    Drafts
    Junk E-mail
    Contacts
    Outbox
    Journal
    Notes
    "Description" Description of the folder
    "ExcludeFolder" indicates folders to exclude. Valid values are:
    true (case sensitive)
    false (case sensitive)
    0
    1
    -->
    <!-- Default Mapping Section -->
    <Folder path = "INBOX">
    <Property SpecialFolder = "Inbox"/>
    </Folder>
    <Folder path = "New Mail">
    <Property SpecialFolder = "Inbox"/>
    </Folder>
    <Folder path = "[Root]">
    <Property SpecialFolder = "Inbox"/>
    </Folder>
    <Folder path = "">
    <Property SpecialFolder = "Inbox"/>
    </Folder>
    <Folder path = "Calendar">
    <Property SpecialFolder = "Calendar"/>
    </Folder>
    <Folder path = "Tasks">
    <Property Name = "Migration items/Tasks"/>
    </Folder>
    <Folder path = "Sent Items">
    <Property SpecialFolder = "Sent Items"/>
    </Folder>
    <Folder path = "Sent Mail">
    <Property SpecialFolder = "Sent Items"/>
    </Folder>
    <Folder path = "Sent">
    <Property SpecialFolder = "Sent Items"/>
    </Folder>
    <Folder path = "Deleted Items">
    <Property SpecialFolder = "Deleted Items"/>
    </Folder>
    <Folder path = "Trash">
    <Property SpecialFolder = "Deleted Items"/>
    </Folder>
    <Folder path = "Drafts">
    <Property SpecialFolder = "Drafts"/>
    </Folder>
    <Folder path = "Draft">
    <Property SpecialFolder = "Drafts"/>
    </Folder>
    <Folder path = "Junk E-mail">
    <Property SpecialFolder = "Junk E-mail"/>
    </Folder>
    <Folder path = "Spam">
    <Property SpecialFolder = "Junk E-mail"/>
    </Folder>
    <Folder path = "Contacts">
    <Property Name = "Migration Items/Contacts"/>
    </Folder>
    <Folder path = "Outbox">
    <Property SpecialFolder = "Outbox"/>
    </Folder>
    <Folder path = "Journal">
    <Property SpecialFolder = "Journal"/>
    </Folder>
    <Folder path = "Notes">
    <Property SpecialFolder = "Notes"/>
    </Folder>
    <Folder path = "Public Folders">
    <Property ExcludeFolder = "true"/>
    </Folder>
    <!-- Google Apps (Gmail) Specific Mapping Section -->
    <Folder path = "[Gmail]/All Mail">
    <Property ExcludeFolder = "true"/>
    </Folder>
    <Folder path = "All Mail">
    <Property ExcludeFolder = "true"/>
    </Folder>
    <Folder path = "[Gmail]/Drafts">
    <Property SpecialFolder = "Drafts"/>
    </Folder>
    <Folder path = "[Gmail]/Important">
    <Property Name = "Inbox/Important"/>
    </Folder>
    <Folder path = "[Gmail]/Sent Mail">
    <Property SpecialFolder = "Sent Items"/>
    </Folder>
    <Folder path = "[Gmail]/Spam">
    <Property SpecialFolder = "Junk E-mail"/>
    </Folder>
    <Folder path = "[Gmail]/Starred">
    <Property Name = "Inbox/Starred"/>
    </Folder>
    <Folder path = "[Gmail]/Trash">
    <Property SpecialFolder = "Deleted Items"/>
    </Folder>
    <!-- Custom Mapping Section -->
    <Folder path = "Follow up">
    <Property Name = "Inbox/Follow up"/>
    </Folder>
    <Folder path = "Misc">
    <Property Name = "Inbox/Misc"/>
    </Folder>
    <Folder path = "Priority">
    <Property Name = "Inbox/Priority"/>
    </Folder>
    </FolderMappings>
    Additionally, I had to tell the Internet E-mail Mailbox Migration Wizard to use the "Individual Account Credentials" option since I was able to specify each account password in the CSV file when adding the mailboxes to Microsoft Online Services Migration
    Tools console.
    Just to note, the users had to manually export their contacts to a CSV file and calendars to iCal (ICS) files in order to import those items into Outlook.
    I hope this will benefit others since Microsoft doesn't seem to have a custom, specifically defined migration strategy for this scenario.  With Google Apps being in direct competition with BPOS/Office365, I assumed that Microsoft would have a simple
    strategy using something like ActiveSync to facilitate the migration of email, contacts, calendar entries, etc.  Hopefully we'll see something along those lines become available in a future release of the migration tools.
    --Jon Payne

  • Issue in adding new items to a O365 SharePoint Online List having lookup columns (Client Object Model)

    I have two Lists i.e. Publisher and Products in my SharePoint Online site. They are having the following structures:
    1. Publisher:
    Publisher (Single line of txt)
         A1
         A2
         A3
         A4
         A5
         A6
    2. Products:
    Publisher (lookup to the above column)       
    ProductName (Single line of txt)
         A1                                                                   Apple
         A2                                                                   Samsung
         A3                                                                   Nokia
    And I have an excel file named Products.xlsx in my local machine which has the following data:
    Publisher        ProductName
         A1                   Apple
         A2                   Samsung
         A3                   Nokia
         A4                   Motorola
         A5                   LG
         A6                   HTC
    Now I have written the below client-side (CSOM) code to fetch the data from the Excel and update the corresponding fields in the Products table:
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Web;
    using System.IO;
    using System.Data;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Xml.Linq;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.Client;
    using File =
    Microsoft.SharePoint.Client.File;
    using System.Security;
    namespace ExcelToSP
        public class
    ExcelToSP
            //Main function to get the command line values and invoke the getSPList function to pull SP List data
            public
    static void Main(string[] args)
                //Instantiate Class object
                ExcelToSP p
    = new ExcelToSP();
                try
                    p.LoadExcelData();
    //Exit with Sucess code
    Environment.Exit(0);
                catch
    (Exception ex)
    //Invoke writeErrorLog function to log the exception details
    //p.WriteErrorLog(ex);
            public
    void LoadExcelData()
                try
                string fileName
    = @"E:\Products.xlsx";
                string fileExtension
    = Path.GetExtension(fileName).ToUpper();
                string connectionString
    = "";
                 if
    (fileExtension == ".XLS")
                    connectionString
    = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='"
    + fileName + "'; Extended Properties='Excel 8.0;HDR=YES;'";
                else
    if (fileExtension ==
    ".XLSX")
                    connectionString
    = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='"
    + fileName + "';Extended Properties='Excel 12.0 Xml;HDR=YES;'";
                if
    (!(string.IsNullOrEmpty(connectionString)))
    string[] sheetNames =
    GetExcelSheetNames(connectionString);
    if ((sheetNames !=
    null) &&
    (sheetNames.Length
    > 0))
    DataTable dt = null;
    OleDbConnection con =
    new OleDbConnection(connectionString);
    OleDbDataAdapter da =
    new OleDbDataAdapter("SELECT * FROM ["
    + sheetNames[0]
    + "]", con);
                        dt
    = new DataTable();
                        da.Fill(dt);
    InsertIntoList(dt,"Products");
                catch
    (Exception ex)
    throw ex;
            private
    string[] GetExcelSheetNames(string strConnection)
                var connectionString
    = strConnection;
                String[] excelSheets;
                using
    (var connection =
    new OleDbConnection(connectionString))
                    connection.Open();
    var dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
    null);
    if (dt ==
    null)
    return null;
                    excelSheets
    = new String[dt.Rows.Count];
    int i = 0;
    // Add the sheet name to the string array.
    foreach (DataRow row
    in dt.Rows)
                        excelSheets[i]
    = row["TABLE_NAME"].ToString();
                        i++;
                return excelSheets;
            private
    void InsertIntoList(DataTable listTable,
    string ListName)
                try
    string username = "[email protected]";
    string pwd = "contoso@1234";//this.Dts.Variables["password"].Value.ToString();
    ClientContext clientContext =
    new ClientContext("https://contoso.sharepoint.com/teams/myPOC/");
    SecureString password =
    new SecureString();
    char[] decryptpwd = pwd.ToCharArray();
    foreach (char c
    in decryptpwd)
                        password.AppendChar(c);
                    clientContext.Credentials
    = new SharePointOnlineCredentials(username, password);
                    clientContext.ExecuteQuery();
    //Setting SiteURL Client context
    Web web = clientContext.Web;//
                    clientContext.Load(web);
                    clientContext.ExecuteQuery();
    List lstProductFamily = web.Lists.GetByTitle("Products");
    for (int iRow
    = 0; iRow < listTable.Rows.Count; iRow++)
    ListItemCreationInformation itemCreateInfo =
    new ListItemCreationInformation();
    ListItem newItem = lstProductFamily.AddItem(itemCreateInfo);
    //FieldLookupValue flv = newItem["Publisher"] as FieldLookupValue ;
    //string lkup = flv.LookupValue;
    //int valueid = 0;
    //valueid = flv.LookupId;
                        newItem["Publisher"]
    = Convert.ToString(listTable.Rows[iRow][0]);
                        newItem["ProductName"]
    = Convert.ToString(listTable.Rows[iRow][1]);
                        newItem.Update();
                        clientContext.ExecuteQuery();
                catch
    (Exception ex)
    throw ex;
    But I'm getting the following error on running the above code "Invalid data has been used to update the list item. The field you are trying to update may be read only." 
    Can anybody please help me out?

    Hi,
    According to your description, my understanding is that you want to update data to look up field.
    I have a test about updating look up field using Client Object Model in my environment. lookup field will accept an array to set the field value.
    Here is the code snippet:
    Microsoft.SharePoint.Client.ClientContext ctx = new ClientContext("http://sp2013sps/sites/test/");
    if (ctx != null)
    List list = ctx.Web.Lists.GetByTitle("List3");
    ListItem itemToUpdate = list.GetItemById(1);
    ctx.Load(itemToUpdate);
    ctx.ExecuteQuery();
    FieldLookupValue newLookUpField = new FieldLookupValue();
    newLookUpField.LookupId = 3;
    FieldLookupValue newLookUpField1 = new FieldLookupValue();
    newLookUpField1.LookupId = 4;
    FieldLookupValue[] newarr = { newLookUpField, newLookUpField1 };
    itemToUpdate["lookup"] = newarr;
    itemToUpdate.Update();
    ctx.Load(itemToUpdate);
    ctx.ExecuteQuery();
    Best regards
    Patrick Liang
    TechNet Community Support

  • Exchange 2013 - CAS Server Multi Namespace & Site Deployment

    Hello,
    I am
    currently designing the new Excahnge 2013 environment that I am looking to deploy by the end of the month. And I have come up with two designs on what could be deployed. The first being an active/passive design with a single namespace across two sites.
    One site being the primary site and the other being the secondary DR site in a single DAG. Now this is a common design and similar setups are documented in detail online on many blogs and such.
    Where my trouble is with the second design I have come up with which is an active/active model using a multi namespace across the same two sites utilizing two DAGs. The idea here being the first
    site is the corporate head office which would only contain those users. While the second site would contain everyone else not based out of the head office. The goal being to cut out internal users from connecting all of the way into the primary site when they
    are external to it.
    Now the way in which the network is setup between the two sites. Accessing the internet from the primary site requires you to go through the secondary. So for the second design my idea would
    be for external Outlook, OWA and ActiveSync connections would connect into the secondary site for it to then proxy over to the primary. Now I am used to how Excahnge 2010 did its proxying and if the ExternalUrl property was blank is knew to proxy to the other
    site. Is that still the case with Excahnge 2013 or it does not care at all and I can just populate both the internal/external url properties for all of the CAS servers at the primary site?
    Now assuming I do populate both the internal/external url property in Excahnge 2013 for the primary site. And for this example I am going to use mail01.domainname.com for the primary site and
    mail02.domainname.com for the second. To get Outlook, OWA and ActiveSync to connect for users of the primary site externally would it be as simple as having that external internet DNS entry for mail01.domainname.com point to the same IP as mail02.domainname.com
    would be? With mail02.domainname.com pointing to a externally accessible load balancer for the second site.
    Now applying the above logic and assuming as long as you hit a CAS server. And it will find your mailbox for you does that mean I can could also use the same namespace in both locations for
    say OWA and ActiveSync? So the idea being we want to keep using webmail.domainname.com for OWA access. So if I set that URL for both the primary and secondary site as long as I hit a CAS server in the secondary site. It will be able to connect over to the
    mailbox in the primary site for OWA?
    Nicholas

    Hello Angela,
    I need some clarification to your reply as it has left me a little more confused. Where you start by saying “all client requests will firstly access the internet-facing server”.
    Are you talking about when the client is connecting in externally or when the client is internal? As this would make it seem like in my second design where only the secondary site would have internet facing CAS. That clients in the primary site internally
    would connect over to the secondary site then be proxyed back to the primary.
    Then for the separate namespace portion of your reply. I am assuming you mean the secondary site form my example which will have the internet-facing CAS server? If that is
    the case my public DNS entry would be mail02.domain.com only but then how would the client from the primary site who use mail01.domain.com which is not on an internet facing CAS server. Then figure out they can connect in on mail02.domain.com externally from
    the internet?
    And when you talk about both sites using the same namespace. And using two public DNS entries pointing to the CAS servers in both datacenters. Is that not just going to do
    DNS round robin? As described in this technet blog?
    http://blogs.technet.com/b/exchange/archive/2014/02/28/namespace-planning-in-exchange-2013.aspx
    Or is it because both datacenters will be hosting active mailboxes. Will the clients query each CAS server till it finds one in its site? I do also plan to deploy a load balancer with my CAS servers. So I would think that would cancel our using the two public
    DNS option.
    Nicholas

  • Opening a aspx page on IFrame in SharePoint online

    Hi I m developing an app for SharePoint Online 2013. I want to open a aspx page (from my project ) on a Iframe as follows. 
    Default.aspx page as follows 
    <button type="button" id ="Button1" name="Button1">Click Me!</button> 
    <iframe name ="frame1" id ="frame1"  width="800" height="800" runat="server" ></iframe>
    App.JS File as follows 
    $(document).ready(function () {
    $("#Button1").click(function() {
        redirectPage();
    function redirectPage() {
    document.getElementById("frame1").src = "/Pages/Default1.aspx";
    This is not working can someone please help me. Thanks.
    d.n weerasinghe

    Hi,
    Thank you very much for your reply. I have managed to work it as you mentioned I had to remove the "Runat server".
    But Still I cannot display a SharePoint page on a Iframe.
    I m tryng to do this
    <li><a OnCLICK="document.getElementById('frame1').src = 'https://xxxx-my.sharepoint.com';" >Personal Address</a></li>
    Then I get the following error
    "To help protect the security of information you enter into this website, the publisher of this content does not allow it to be displayed in a frame"
    I have added the following code to mysite.master page on the saharepoint , still now working . Any help please.
    <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <WebPartPages:AllowFraming  runat="server" __WebPartId="{D6E530AE-958F-4E81-B06F-AA5AC60DFF94}" />
    d.n weerasinghe

  • XSLT Mapping: Namespace for prefix 'ns0' has not been declared

    Hello, I am working on a synchronous SOAP call and having some trouble with the response message. The web service has its own namespace and I am trying to convert this to my custom data type in PI. PI wants the message to be in format of having ns0 prefix and namespace like we have defined (http://foo for example).
    I have an XSLT mapping (see below) which works fine with my test response payload (pulled from SXMB_MONI source) on this online XSLT test site:
    http://www.freeformatter.com/xsl-transformer.html
    However when I import this archive to PI and test with operation mapping it always says "Namespace for prefix 'ns0' has not been declared."
    This is very confusing because when I test it online, I see both prefix and namespace declaration perfectly. Is there a way to see the results in the PI test tool? After this XSLT java error it doesn't give me the output even in Trace Level All mode.
    Please advise on this issue or if you know an easier way (such as altering my datatype/message type to match the inbound SOAP message). I tried working with the 3rd party WSDL but the response message types show a different root level node than what PI is receiving so I gave up to make my own matching datatype. I just have to solve this last inbound namespace issue and should be finished.
    FYI I have refreshed all PI caches and activated all objects.
    Thanks for your ideas!
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ns0="http://foo"
      <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
      <xsl:template match="@* | node()">
        <xsl:copy>
          <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="/*">
        <xsl:element name="ns0:{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
      <xsl:template match="/">
        <xsl:element name="{local-name()}">
          <xsl:apply-templates select="@* | node()" />
        </xsl:element>
      </xsl:template>
    </xsl:stylesheet>

    Some additional info, here is an example payload which goes through the XSLT mapping perfectly, but in PI I get the error about missing ns0 declaration.
    XML input:
    <bar xmlns='http://irrelevantnamespace'
    xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
    <foo/>
    </bar>
    XSLT mapped output using test tool and XSL above:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:bar xmlns:ns0="http://foo">
       <foo />
    </ns0:bar>

  • How to deploy SCOM Dashboard solution to sharepoint online

    i have come through many articles saying how to deploy scom dashboard solution to sharepoint server,
    but how do i deploy SCOM WSP solution to sharepoint online office 365.
    i need to show my SCOM dashboards on sharepoint online.
    Can anyone help me in doing this?
    Thanks & Regards, Suresh Gaddam

    Yes i did the same thing but when i hit activate it threw some error saying you cannot deploy farm solution to sharepoint
    This solution
    contains invalid markup or elements that cannot be deployed as part of a sandboxed solution. Solution manifest for solution 'c125f6b7-8c1e-40ae-86e2-bd2d5e568ca2' failed validation, file manifest.xml, line 14, character 4: The element 'Solution' in namespace
    'http://schemas.microsoft.com/sharepoint/' has invalid child element 'RootFiles' in namespace 'http://schemas.microsoft.com/sharepoint/'. List of possible elements expected: 'ActivationDependencies, FeatureManifests' in namespace 'http://schemas.microsoft.com/sharepoint/'.
    TECHNICAL
    DETAILS
    Thanks & Regards, Suresh Gaddam

  • Split Suite Bar and Ribbon Menu in SharePoint Online / O365

    As we all know the suite bar and ribbon menu controls are loaded from a single control. I have a requirement to place a div between suite bar and ribbon menu as shown in the image. Is it possible in SharePoint Online / O365? 
    Current suite bar and ribbon menu control(HTML Master Page Template)
            <div id="ms-designer-ribbon">
                <!--SPM:<%@Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
                <div id="TurnOnAccessibility" style="display:none" class="s4-notdlg noindex">
                    <a id="linkTurnOnAcc" href="#" class="ms-accessible ms-acc-button" onclick="SetIsAccessibilityFeatureEnabled(true);UpdateAccessibilityUI();document.getElementById('linkTurnOffAcc').focus();return
    false;">
                        <!--MS:<SharePoint:EncodedLiteral runat="server" text="&#60;%$Resources:wss,master_turnonaccessibility%&#62;" EncodeMethod="HtmlEncode">-->
                        <!--ME:</SharePoint:EncodedLiteral>-->
                    </a>
                </div>
                <div id="TurnOffAccessibility" style="display:none" class="s4-notdlg noindex">
                    <a id="linkTurnOffAcc" href="#" class="ms-accessible ms-acc-button" onclick="SetIsAccessibilityFeatureEnabled(false);UpdateAccessibilityUI();document.getElementById('linkTurnOnAcc').focus();return
    false;">
                        <!--MS:<SharePoint:EncodedLiteral runat="server" text="&#60;%$Resources:wss,master_turnoffaccessibility%&#62;" EncodeMethod="HtmlEncode">-->
                        <!--ME:</SharePoint:EncodedLiteral>-->
                    </a>
                </div>
                <!--SID:02 {Ribbon Snippet}-->
                <!--PS: Start Preview--><div class="DefaultContentBlock" style="background:rgb(0, 114, 198); color:white; width:100%; padding:8px; height:64px; ">In true previews of your site, the SharePoint
    ribbon will be here.</div><!--PE: End Preview-->
            </div>
            <!--MS:<SharePoint:SPSecurityTrimmedControl runat="server" AuthenticationRestrictions="AnonymousUsersOnly">-->
                <!--SPM:<wssucw:Welcome runat="server" EnableViewState="false"/>-->
            <!--ME:</SharePoint:SPSecurityTrimmedControl>-->
    Actual Requirement 

    Hi,
    According to your description, my understanding is that you want to do customization in SharePoint Online with the requirement above.
    For the first question, continue to Scott, you can read the rss feed, the rss feed effectively contains the items from the list, you can read the list using Client Object Model to get RSS feed.
    For the second question, if you want to get current log in profile in my site, then you can try to use user profile rest api to get it.
    User profiles REST API reference
    For the third question, if you want to deploy the announcement app from on-premise to Online, if it's OOTB app, then it's not necessary, SharePoint Online have the announcement app as well.
    For the fourth question, if the CapIQ is a customize solution, I suggest you can use SharePoint hosted app to publish to the SharePoint online site.
    How to: Publish an app for SharePoint by using Visual Studio
    For the fifth question, if you want to upload the questions not create in site to the survey,  you can use Client Object Model to create the questions.
    Here is a similiar thread for your reference:
    Importing
    Questions into a Sharepoint Survey
    For the sixth question, if the information is stored in the list, then you can read the list using Client Object Model and it's better to create a SharePoint hosted app to achieve it.
    More information:
    How to: Create a basic SharePoint-hosted app
    Retrieve list item
    Thanks
    Best Regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • XML Namespace Question

    Hi folks,
    I'm new to XML, and have been trying to validate an XML document against a schema using an online validator.
    I have given ultra-simple examples of my schema and document below:
    Schema
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.com"
    xmlns="http://www.example.com">
         <xs:element name="letter">
                   <xs:complexType>
                        <xs:sequence>
                             <xs:element name="to" type="xs:string"/>
                             <xs:element name="from" type="xs:string"/>
                        </xs:sequence>
                   </xs:complexType>
         </xs:element>
    </xs:schema>
    Document
    <?xml version='1.0' ?>
    <letter xmlns="http://www.example.com">
              <to>You</to>
              <from>Me</from>
    </letter>When I try to validate the document against this schema I get the following errors:
    Validation error:
    Error at (3,4): The element 'http://www.example.com:letter' has invalid child element 'http://www.example.com:to'. Expected 'to'.
    Error at (3,4): The 'http://www.example.com:to' element is not declared. An error occurred at , (3, 4).<to>You</to>
    Error at (4,4): The 'http://www.example.com:from' element is not declared. An error occurred at , (4, 4).<from>Me</from> </letter>
    I must be doing something wrong when declaring namespaces, but I can't see what. Can anyone point me in the right direction, please?
    Thanks,
    s.

    This is what I have for your code:
    import java.io.IOException;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.ParserConfigurationException;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.NamedNodeMap;
    import org.xml.sax.SAXException;
    import org.xml.sax.SAXParseException;
    import org.xml.sax.helpers.DefaultHandler;
    public class JAXPValidator
         public void validateXML(String XmlDocumentUrl) throws Exception
              System.setProperty( "javax.xml.parsers.DocumentBuilderFactory",
                                       "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              factory.setNamespaceAware(true);
              factory.setValidating(true);
              factory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage",
                                        "http://www.w3.org/2001/XMLSchema");
              DocumentBuilder builder = factory.newDocumentBuilder();
              Validator handler = new Validator();
              builder.setErrorHandler(handler);
              Document doc = builder.parse(XmlDocumentUrl);
              if( handler.hasValidationError() )
                   throw( handler.getParseException() );
    // these simple loops assume that the xml has already been validated!
              NodeList letters = doc.getElementsByTagName( "letter" );
              for( int i = 0; i < letters.getLength(); i++ )
                   NodeList letterChildren = letters.item( i ).getChildNodes();
                   for( int j = 0; j < letterChildren.getLength(); j++ )
                        Node nextNode = letterChildren.item(j);
                        if( nextNode.getNodeType() == Node.ELEMENT_NODE )
                             Node nextNodeValue = nextNode.getFirstChild();
                             System.out.println( "nextNode.getLocalName() is " + nextNode.getLocalName() );
                             System.out.println( "nextNodeValue.getNodeValue() is " + nextNodeValue.getNodeValue() );
         private class Validator extends DefaultHandler
              private boolean validationError = false;
              private SAXParseException saxParseException = null;
              public boolean hasValidationError()
                   return( validationError );
              public Exception getParseException()
                   return( saxParseException );
              public void error(SAXParseException exception) throws SAXException
                   validationError = true;
                   saxParseException = exception;
              public void fatalError(SAXParseException exception) throws SAXException
                   validationError = true;
                   saxParseException = exception;
              public void warning(SAXParseException exception) throws SAXException
                   validationError = true;
                   saxParseException = exception;
         public static void main(String[] argv)
              JAXPValidator validator = new JAXPValidator();
              try
                   validator.validateXML(argv[0]);
              catch( Exception e )
                   e.printStackTrace( System.err );
    }This was compiled with:
    javac -classpath .;..\xerces-2_7_0\xercesImpl.jar;..\xerces-2_7_0\xml-apis.jar JAXPValidator.javaand run with
    java -classpath .;..\xerces-2_7_0\xercesImpl.jar;..\xerces-2_7_0\xml-apis.jar JAXPValidator sunforum.xmlIt assumes that the XML and XSD that I posted before are in the same directory as the program is being run from.

  • Unable to register custom workflow activity on MS CRM 2015 Online

    Hi All,
    I am trying to register custom workflow activity using plugin registration tool on MS CRM 2015 Online.
    Error says that 'No Plugin have been selected from list. Please select atleast one and try again'
    In short my assembly is not considered as custom workflow activity.
    I am giving my code let me know, If any thing is wrong.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Activities;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Workflow;
    namespace Training.SamplePlugin
        public class SampleCustomworkflow : CodeActivity
            [Input("Birthday")]
            public InArgument<DateTime> BirthDate { get; set; }
            [Output("NextBirthday")]
            public OutArgument<DateTime> NextBirthDay { get; set; }
            protected override void Execute(CodeActivityContext executionContext)
                //Create the tracing service
                ITracingService tracingService = executionContext.GetExtension<ITracingService>();
                //Create the context
                IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
                IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
                IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
                if (context.PrimaryEntityName.ToLowerInvariant() == "contact")
                    DateTime birthDate = BirthDate.Get<DateTime>(executionContext);
                    DateTime nextBirthDate = new DateTime(DateTime.Now.AddYears(1).Year, birthDate.Month, birthDate.Day);
                    //NextBirthDay.Set(executionContext, nextBirthDate);
                    Entity newContact = new Entity();
                    newContact.LogicalName = "contact";
                    newContact.Id = context.PrimaryEntityId;
                    newContact["new_nextbirthday"] = nextBirthDate;
                    service.Update(newContact);
    If code is correct then has somebody faced this kind of issue earlier, what is resolution.
    Thanks
    Apurv

    Have your signed your assembly ??
    Microsoft Dynamics CRM Training|Our Blog |
    Follow US |
    Our Facebook Page |
    Microsoft Dynamics CRM 2011 Application Design
    Make sure to "Vote as Helpful" and "Mark As Answer",if you get answer of your question.

  • SharePoint Connector to SharePoint Online

    Has anyone been able to push custom user profile properties in SharePoint Online using the FIM SharePoint connector?

    While I couldn't get the connector to work, I did manage to create PowerShell that works ... so that means use your favoriate PowerShell connector and let it do the work for you .. here is the sample script I used. All I needed to install prior were the
    SharePoint Server 2013 Client Components SDK (http://www.microsoft.com/en-us/download/details.aspx?id=35585)
    [CmdletBinding()]
    param
    [string] $Uri = 'https://contoso-admin.sharepoint.com',
    [PSCredential] $Credential = $(Get-Credential)
    Add-Type -AssemblyName 'Microsoft.SharePoint.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
    Add-Type -AssemblyName 'Microsoft.SharePoint.Client.Runtime, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
    $SPOAuth = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials ($Credential.UserName,$Credential.Password)
    $SPOCookie = $SPOAuth.GetAuthenticationCookie($Uri)
    $UPS = New-WebServiceProxy "${Uri}/_vti_bin/userprofileservice.asmx" -Namespace 'SPOUserProfileService'
    $UPS.CookieContainer = New-Object System.Net.CookieContainer
    $UPS.CookieContainer.SetCookies($Uri, $SPOCookie)
    $UPS.GetUserPropertyByAccountName('i:0#.f|membership|[email protected]', 'PropertyName').Values
    $Properties = @(New-Object SPOUserProfileService.PropertyData -Property @{Name = 'PropertyName'; IsValueChanged = $true; Values = @(New-Object SPOUserProfileService.ValueData -Property @{Value = 'NEW VALUE'})})
    $UPS.ModifyUserPropertyByAccountName('i:0#.f|membership|[email protected]', $Properties)
    $UPS.GetUserPropertyByAccountName('i:0#.f|membership|[email protected]', 'PropertyName').Values

Maybe you are looking for

  • Error while filling setup tables for 2lis_13_vahdr

    Dear friends, I am getting below Error while filling setup tables for 2lis_13_vahdr. More faulty documents found than the tolerated 0000000000 Message no. M2222 Can any one guide me how to address this issue. Thanks and Regards Nithya

  • Receiver Determination Step in process (not in directory)

    I get a little confused about the receiver determination step when i doing the process design i have looked through the example: http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm 1.does it mean that when i get

  • IPhone restores from backup but continues to think it's a new phone?

    I had to get my iPhone 4s replaced today because of a speaker problem and I just plugged it into my computer to restore from backup. I get the 'Welcome to your new iPhone' page in iTunes, choose my most recent backup, it seems to go through the entir

  • Excel 2013 Conditional Formatting problem

    Hello! A customer of mine has recently transitioned from Office 2007 to Office 365. This has been a major hurdle for them, and they're still experiencing some issues with things not behaving the way they used to. I'm not an Excel expert, so I have no

  • Discoloration in display

    Anyone having a problem like this with a 24" cinema display?  It first turns on looking perfect, after a few minutes, this starts to appear and gets worse.  The picture below is after a few hours of being on.  Doesn't matter which laptop or OS I use,