SP 2013 ONLINE + Branding artifacts Deployment Options?
Hi,
To deploy branding artifacts (master pages, CSS etc.) I have used Visual Studio; however, the SP2013 Online does not allow WSPs. From my research, sandboxed solution is
one way; however, MS calls it deprecated feature so I would look to continue researching. Now one could make the changes directly in the SP2013 Online and then save the artifacts in code repository but NOT
ideal.
So, what are our options (Best Practice) to be able to deploy customization to the SP2013 Online?
Thank you in advance for your time.
you can build the master page using below link
http://blog.blksthl.com/2013/02/26/a-guide-to-quick-sharepoint-2013-branding/
Once you have the master pages you can package them using sandbox solution. Only managed code is not allowed in sandbox but CSS and JavaScript can be deployed
http://blogs.msdn.com/b/sharepointdev/archive/2014/01/14/deprecation-of-custom-code-in-sandboxed-solutions.aspx
http://msdn.microsoft.com/en-US/library/office/jj163114(v=office.15)#SPAppVsClassic_Overview
My Blog- http://www.sharepoint-journey.com|
If a post answers your question, please click Mark As Answer on that post and Vote as Helpful
Similar Messages
-
Is there any way to deploy the Sandbox solution .wsp file to sharepoint 2013 online publishing site using powershell or CSOM or any other way?
Hi,
According to your post, my understanding is that you wanted to deploy sandboxed solution .wsp file to sharepoint 2013 online.
"Add-SPSolution" command is not available in SharePoint Online management shell. So, we cannot use PowerShell to update and deploy a solution in SharePoint Online environment. Meanwhile, here is index of Windows PowerShell for SharePoint Online
cmdlets for your reference:
http://technet.microsoft.com/en-us/library/fp161364.aspx
You can CSOM to deploy solution using helper class from CodePlex. The activation code is as follows: SandboxSolutions.ActivateSolution(siteCollectionURl, cookies, "solution_name.wsp");
About the Client Side Object Model (CSOM), it is a development related issue, we have a specific support channel for the SharePoint developers, so I recommend you go to our MSDN forum for further assistance.
Here is a similar thread for you to take a look at:
http://community.office365.com/en-us/forums/156/t/197404.aspx
In addition, if you would like to upload and activate sandbox solution manually, you can refer to:
http://community.office365.com/en-us/forums/154/p/64010/244496.aspx#244496
Best Regards,
Linda Li
Linda Li
TechNet Community Support -
Unable to save lookup field data in SharePoint 2013 online list
Dear Support,
I had successfully created provider hosted app and deployed on SharePoint 2013 online site, in my project I created orderservice.asmx.cs web service and write a code for save record on SharePoint
2013 online list as I mentioned below and calling on App1.js file.
But I am unable to save lookup field value as mentioned below code
Customer is a lookup field I want to save data in SharePoint 2013 online list( Order)where I had successfully
inserted text field data (Title &
Special_x0020_Instruction).
i am getting error as mentioned below
500 Internal Server Error {"Message":"Invalid web service call, missing value for parameter: \u0027Title1\u0027.","StackTrace":" at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2
parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData,
IDictionary`2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
Please let me know the code how to insert lookup field value (Customer)
in SharePoint online list.
OrderService.asmx.cs
Public
int InsertOrder (Order
orderRecord)
pwd.MakeReadOnly();
clientContext.Credentials =
new
SharePointOnlineCredentials (myUserName, pwd);
try
Web
oWeb = clientContext.Web;
ListCollection lists = oWeb.Lists;
List oOrderlist = clientContext.Web.Lists.GetByTitle("Order");
clientContext.Load<ListCollection>(lists);
clientContext.Load<List>(oOrderlist);
ListItemCreationInformation
itemCreateInfo = new ListItemCreationInformation();
ListItem oListItem = oOrderlist.AddItem(itemCreateInfo);
oListItem["Title"]
= Title; listItem["Special_x0020_Instruction"]
= orderRecord.Instruction;
listItem ["Customer"]
= orderRecord.CustomerId;
listItem.Update();
clientContext.ExecuteQuery();
return 1;
catch
return -1;
App1.JS
$("#Save").click(function
debugger;
var OrderProfile = $('#orderprofile').val();
var CustomerId = $('#exCustomerlist').jqxComboBox('getItem',
$('#exCustomerlist').val());
//var Instruction = $('#instruction').val();
alert(OrderProfile);
alert(CustomerId);
var obj = {
'Title': OrderProfile,
'Customer': CustomerId }
$.ajax({
url:
"OrderService.asmx/InsertOrder",
type:
"POST",
dataType:
"json",
data: JSON.stringify(obj),
contentType:
"application/json; charset=utf-8",
beforeSend:
function (XMLHttpRequest) {
//Specifying this header ensures that the results will be returned as JSON.
XMLHttpRequest.setRequestHeader("Accept",
"application/json");
success:
function (response) {
$(".errMsg ul").remove();
var myObject = response.d;
alert(myObject);
error:
function (response) {
alert(response.status +
' ' + response.statusText +
' ' + response.responseText);
Regards,
AkhileshHi Alex Brassington,
Thanks for your reply.
I am having the Site Administrator Permission of the public site.
I am having the permission of Company Administrator of that site but still unable to find
Device Channel on Site Setting. still I gave the user full control from Site Permission but nothing is happening.
What should I do next? -
My main question is: Can new PWA views be created whereby a filter for that view can be set, and associate to the view by default? (Project Server 2013 ONLINE)? and can I have a filter set to filter on person logged on to...
In previous versions of Project Server, when CREATING a PWA view, we were able to apply/ define a filter for that view. Does not seem like it is the case in Project Server 2013 Online. And if I remember, we could also use the URL Guid_view_id.
Please confirm; and / or tell me how-to.
What I was hoping to do is the following... Given that our standard that we have adopted for reporting time is 'My Timesheets' (fyi, Single Mode Entry=ON), we have some resources who have others who do it on their behalf via 'My Tasks' (ie., accomplished
by using the 'Assignment Owner' field, accordingly). Therefore, when entering time on someone else's behalf within 'My Tasks', we like to present the user that is logged in only the tasks that they are are assigned to update on others' behlaf.
I know that there is another more elegant approach to doing this which may be to use the Delegation feature. But since we are trying to stick to Sharepoint Security mode for now, this is not an option for the time being.
Any help appreciated would be greatly appreciated.
\Spiro Theopoulos PMP, MCITP. Montreal, QC (Canada)Hi Spiro,
1- You still can define in Project Online a filter in the view settings, it is located just above the category setting. Here is a screenshot of the summary project center view:
2- The view GUID is not anymore in the URL, since the URL triggers an action only on the webpart and not on the whole page. I agree this is annoying since it was great to send a URL with a specific view.
3- Concerning the access to my timesheet versus my task, I'm not sure to get a full understanding but on a general way, it is much more easy to deal with those situation using categories which you cannot do with the SP permission mode.
Hope this helps,
Guillaume Rouyre, MBA, MVP, P-Seller | -
Anonymous User forms in Sharepoint 2013 Online
I'm using Sharepoint 2013 online with Office 365.
Is there any way for an anonymous user to communicate with the site using forms (preferably Infopath)?
There are many, many versions of this question on the web. Several lead to
http://claytoncobb.wordpress.com/2011/06/03/infopath-allowing-anonymous-users-to-submit-forms-in-sharepoint-2010/, but this is about Sharepoint 2010, not 2013. Other answers talk about features that are not in Sharepoint online 2013, such as Application
Management in Central Administration. There is also a Sandbox solution from CodePlex that gets touted,
https://anonymous365.codeplex.com/, but this fails in Sharepoint Online 2013.
The only feature I can find is the Excel Survey in Form Templates. This is at least a start, but what I really want is the ability for an anonymous user (a customer) to submit information into a Custom List using a form; or, second best, in an email (WITHOUT
having to have Infopath Filler installed). Seems a pretty basic need, really - letting your customers place orders. This is all do-able for a fully-subscribed user of the intranet site, but I can't afford to buy individual subscriptions for all my customers.
Nor do I want them seeing each other's data, or accessing my intranet!
I have spent so long researching this and getting nowhere, and really need to know if it's just a straight 'no, it's impossible', or keep trying.
Thanks
JonathanThanks pramod7
Yes, I am using the public site. But unless I'm missing something, Custom Lists (and associated forms) cannot be exposed to anonymous users. They are just not in the permissions list.
I can create a page in the public site and add a Form Templates web part. The options I then get for creating a new form in the Form Templates library are Word Document, Excel Workbook, Powerpoint Presentation, One Note Notebook or Excel Survey. An
InfoPath form is not an option. None of these (as far as I can see) allow for any data entered in the 'form' by a user to be stored in a Custom List for further processing. Most require the user to have Word/Excel/whatever on their machine, rather than
just use the browser. The nearest you get is the Excel Survey, which at least regularises the data entered by an anonymous user into columns in a spreadsheet, but this is not sophisticated enough for, say, an online ordering system in which you would not want
customers seeing each other's orders. -
Workflow in Project server 2013 online not going particular stage after Approval
Hi All,
i have created workflow using sharepoint designer 2013 for project server 2013 online. and i have also set the approver after the first stage. when i create a project using this workflow, project is created successfully and the approval task also go for
a approval to specific user. and i have set the property that after approval it has to go on specific stage. but the problem is when user approve the task it shows approved but my stage in workflow is remain same. it is not going to any stage.
i don't know why this type of problem is occur.
FYI, i have created same workflow for Project server 2013 on premise(Which is installed in my server) and
it is working fine but when i want to deploy this workflow in
project server 2013 online its giving error.
so please help me to solve this type of issue.
ThanksI am also experiencing issues with this. After the approval task is completed, the Workflow gets cancelled with the following message
RequestorId: 60d96368-4cb4-b059-8086-604972a92e60. Details: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at Microsoft.Activities.Hosting.Runtime.Subroutine.SubroutineChild.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager
bookmarkManager, Location resultLocation)
All other desired workflow actions work as expected. Emails are sent, project is moved from stage to stage, however as soon as the workflow approval task is completed, either Approved or Rejected, the Internal Status is changed to Canceled and the
workflow fails.
What is interesting is when the Approval task is completed, the approver will receive an email notification that the task was CANCELLED or DELETED....
not COMPLETED, which is what would be expected.
Has anyone seen this - any potential resolution? -
How to show User Auditing data in dashboard/reports in MS CRM 2013 online?
HI,
I am having requirement to show user auditing details like user last logged in date/ session spent time in MS CRM 2013 online.
I did not found any option to query user Auditing data.
I found the Audit summary View but don't know how to use it.
Could any one suggest me how to achieve this.
Thanks
Baji RahamanPlease try this
Public Function Decompress(ByVal arr As Byte()) As Byte()
Dim s As Byte()
Dim notCompressed As Boolean
notCompressed = False
Dim MS As System.IO.MemoryStream
MS = New System.IO.MemoryStream()
MS.Write(arr, 0, arr.Length)
MS.Position = 0
Dim stream As System.IO.Compression.GZipStream
stream = New System.IO.Compression.GZipStream(MS, System.IO.Compression.CompressionMode.Decompress)
Dim temp As System.IO.MemoryStream
temp = New System.IO.MemoryStream()
Dim buffer As Byte() = New Byte(4096) {}
While (True)
Try
Dim read As Integer
read = stream.Read(buffer, 0, buffer.Length)
If (read <= 0) Then
Exit While
Else
temp.Write(buffer, 0, buffer.Length)
End If
Catch ex As Exception
notCompressed = True
Exit While
End Try
End While
If (notCompressed = True) Then
stream.Close()
Return temp.ToArray()
Else
Return temp.ToArray()
End If
End Function
Thanks & Regards Manoj -
"Deploy" Option Missing from VS
We just finished installing SharePoint 2013 RTM and VS 2012 for development purposes. I also installed the Preview 2 of the Office and SharePoint Dev Tools. The "Deploy" option which was previously present in Visual Studio to deploy SharePoint projects seems
to have disappeared. Oddly, I can however still tell the projects to Debug, which does the equivalent of Deploy + starts the debugger.
This is an extremely annoying issue as it is much faster to Deploy without starting the debugger. If anyone has any solution I'd be very appreciative. Thanks.try these linsk:
https://louisliang.wordpress.com/2013/07/02/deploy-option-missing-from-visual-studio-2012-for-sharepoint-project/
https://social.msdn.microsoft.com/forums/sharepoint/en-US/c7b00231-680f-4fa1-b7ea-0008697c8122/visual-studio-2012-missing-deploy-option-on-build-menu
http://stackoverflow.com/questions/22944015/deploy-option-missing-visual-studio-2012
http://sharepoint.stackexchange.com/questions/49718/where-is-package-menu-item-in-visual-studio-2012
http://sharepoint.stackexchange.com/questions/82878/missing-deploy-button-visual-studio-2012
Please mark as answer if you find it useful else vote for it if it is close to answer..happy sharepointing -
SCCM 2012 Deployment Option Missing
Hey all,
I have a strange problem. I have build a custom task sequence (TS) to install operating systems on our computers. This TS runs scripts, installs applications and packages. I also have a front-end HTA that allows us to select certain software to be installed
and which OS image to apply. The issue I have is that every time the TS gets to the Run HTA part of the TS, which may I add is the very first step, the TS fails with error code 0x800700A1.
Now after several days of investigation I believe that the issue is that the deployment option is set to 'Download Content Locally when needed by running Task Sequence.' The problem, that is the only deployment option I can select. The other option, which
should be 'Access content directly from distribution point' is not even available. Researching this issue I found that I should make sure all my packages were copied to shares on the distribution points. So I did this, and to no avail. I made sure that a NAA
is set. Still, same error. A couple more things to note.
I am testing in a VMWare environment.
I have added the appropriate drivers to the boot image
Software deployments are working appropriately including the app catalog.
The NAA is a local admin on the distribution point.
All servers in the environment are Server 2012
So, I also began to think, "Well maybe SCCM doesn't like installing Applications from a TS and only handles packages...since applications are new to 2012."So I created a very simple TS that only installed an OS and still the same error. I added
the HTA just for kicks, same error. I have combed the smsts.log file and all of the errors keep leading me to dead ends or repeating steps I had already performed and then hoping for a different result. That's insane right?! If anyone has encountered this
error, and knows how to fix it, I would be forever grateful. If you would like the log file, I can accommodate. I just figured pasting a 4159 line long log file was a bit much.>The problem, that is the only deployment option I can select.
The 'Run from DP' option is a Task Sequence-wide option in general, meaning that all the content would have to be duplicated to the package share in order to use it. Unless all the content is on the package share, this option is not available. The
only exception is the Apply OS step has its own setting.
If you have a step that uses content, but there is no formatted partition for the TS to download content to, you will receive an error. So, your first steps need to partition/format the drive if there is no usable partition before you try to download
content (like the files required for your HTA).
I usually steal the logic from the default MDT 2013 task sequence when integrated with ConfigMgr 2012 R2, even though I don't use MDT with ConfigMgr. The first real step is a format with this condition on it so it only runs if there isn't already a
local disk available:
If None of the Conditions are true:
select * from Win32_LogicalDisk where DriveType=3 and DeviceID != 'X:'
I hope that helps,
Nash
Nash Pherson, Senior Systems Consultant
Now Micro -
My Blog Posts
If you found a bug or want the product to work differently,
share your feedback.
<-- If this post was helpful, please click the up arrow or propose as answer. -
NI Industrial Communications for EtherCAT 2.4 requires FPGA deployment option?
I am using NI Industrial Communications for EtherCAT 2.4, along with PXI real time target and some third party EtherCAT devices.
When I right clicked on my third party slave device in the LabVIEW project tree and selected Online Device State it started searching for NiFpgaBitfileGet_all.vi, then put up a message Cannot display selected category. I have temporarily fixed it by installing the FPGA deployment option. Will the fix still work once the 30-day evaluation period is over? I shouldn't need FPGA deployment option so why is there a dependency?I do not have any NI slave devices. The third party device is a Micro-Epsilon confocalDT 2451 distance measurement probe. My controller is a NI PXI-8109, and I am using a PXI-8231 as the EtherCAT master. I am using LabVIEW 2011 with LabVIEW Real-Time 11.1. As an initial test setup I have just the one slave, as the attached project tree shows. I eventually want to have eight of these slaves, but that will need another thread. I have not had the opportunity to try "Revert to Default Personality" yet.
Paul
Attachments:
LV2.jpg 34 KB -
Dynamic CRM 2013 Online how to execute Report, generate PDF and email
Dear All,
I am using Dynamic CRM 2013 online. For quote, I have workflow and Dialogue processes for review process. On approval, I want the system to generate a PDF of quote report, attach the PDF and email it to the Customer.
Better I would like, When approver, clicks on the approve button, the system should auto generate a PDF of quote report, attach the PDF and email it to the Customer, without any further input from the user. If its not possible, I may have to put button on
quote form.
I am using the attached code, but facing various issues.
1. Under prepare the SOAP Message coding part, I am not sure what should be the below URL for CRM 2013 Online?
xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
2. What should be the emailid here? Is it Recepient Contact id(Guid) ?
var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
alert("emailid" + emailid.toString());
3. Using this code, not able to create Entity for "ActivityMimeAttachment", I am getting newEntity as undefined.
Below is the code I am using. Please check and help me out, where I am going wrong. Let me know if any better way to implement it. At present, I have put one button on quote form, on click event, below code will get executed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var Xrm;
if (window.opener) { Xrm = window.opener.Xrm; }
else if (window.parent) { Xrm = window.parent.Xrm; }
function getReportingSession() {
var reportName = "Quotation_Report"; //set this to the report you are trying to download
var reportId = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
var recordid = Xrm.Page.data.entity.getId();
// recordid = recordid.substring(1, 37); //getting rid of curly brackets
alert(recordid);
var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
retrieveEntityReq.send("id=%7B" + reportId + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" + reportName + "&isScheduledReport=false");
var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
x = retrieveEntityReq.responseText.indexOf("ControlID=");
ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
return ret;
function createEntity(ent, entName, upd) {
var jsonEntity = JSON.stringify(ent);
var createEntityReq = new XMLHttpRequest();
var ODataPath = Xrm.Page.context.getServerUrl() + "XRMServices/2011/OrganizationData.svc";
createEntityReq.open("POST", ODataPath + "/" + entName + "Set" + upd, false);
createEntityReq.setRequestHeader("Accept", "application/json");
createEntityReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
createEntityReq.send(jsonEntity);
var newEntity = JSON.parse(createEntityReq.responseText).d;
alert("new entity" + newEntity);
return newEntity;
function createAttachment() {
var params = getReportingSession();
var recordid = Xrm.Page.data.entity.getId();
alert("recordid " + recordid);
var orgName = Xrm.Page.context.getOrgUniqueName();
var userID = Xrm.Page.context.getUserId();
//create email record
// Prepare the SOAP message.
var xml = "<?xml version='1.0' encoding='utf-8'?>" +"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'" +
" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" +
" xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
"<soap:Header>" +
"</soap:Header>" +
"<soap:Body>" +
"<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
"<entity xsi:type='email'>" +
"<regardingobjectid type='quote'>" + recordid + "</regardingobjectid>" +
"<subject>" + "Email with Attachment4" + "</subject>" +
"</entity>" +
"</Create>" +
"</soap:Body>" +
"</soap:Envelope>";
// Prepare the xmlHttpObject and send the request.
var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xHReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Create");
xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xHReq.setRequestHeader("Content-Length", xml.length);
xHReq.send(xml);
// Capture the result
var resultXml = xHReq.responseXML;
// alert("resultXml " + resultXml);
// Check for errors.
var errorCount = resultXml.selectNodes('//error').length;
if (errorCount != 0) {
alert("ERROR");
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
alert(msg);
var emailid = resultXml.selectSingleNode("//CreateResult").nodeTypedValue;
alert("emailid" + emailid.toString());
//var emailid = userID;
var post = Object();
post.Body = encodePdf(params);
var email = new Array();
email[0] =new Object();
email[0].id = emailid;
email[0].entityType ='email';
post.Subject ="File Attachment";
post.AttachmentNumber = 1;
post.FileName ="Report.pdf";
post.MimeType ="application/pdf";
post.ObjectId = Object();
post.ObjectId.LogicalName ="email";
post.ObjectId.Id = email[0].id;
post.ObjectTypeCode ="email";
alert(post.ObjectId.Id);
createEntity(post,"ActivityMimeAttachment", "");
alert("created successfully");
email.Subject = "Your Order";
//Set The current order as the Regarding object
email.RegardingObjectId = {
Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
//Create Email Activity
SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
// Email Call Back function
function EmailCallBack(result) {
email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
var activityPartyFrom = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyFrom.PartyId = {
Id: customerId, // id of entity you want to associate this activity with.
LogicalName: "contact"
// Set the "activity" of the ActivityParty
activityPartyFrom.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
// Create the from ActivityParty for the email
SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
var activityPartyTo = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyTo.PartyId = {
Id: ownerId, // id of entity you want to associate this activity with.
LogicalName: "systemuser"
// Set the "activity" of the ActivityParty
activityPartyTo.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity). activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
// Create the from ActivityParty
SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
//ActivityParty From Callback
function ActivityPartyFromCallBack(result) {
//ActivityParty To Callback
function ActivityPartyToCallBack(result) {
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
this.toString = function () {
return this.parts.join('');
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input[i++];
chr2 = input[i++];
chr3 = input[i++];
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
else if (isNaN(chr3)) {
enc4 = 64;
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
return output.toString();
var bdy = new Array();
var bdyLen = 0;
function concat2Bdy(x) {
bdy[bdyLen] = x;
bdyLen++;
function encodePdf(params) {
bdy = new Array();
bdyLen = 0;
var retrieveEntityReq = new XMLHttpRequest();
var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] + "&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] + "&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
retrieveEntityReq.open("GET", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.send();
BinaryToArray(retrieveEntityReq.responseBody);
return encode64(bdy);
</SCRIPT>
<SCRIPT type=text/vbscript>
Function BinaryToArray(Binary)
Dim i
ReDim byteArray(LenB(Binary))
For i = 1 To LenB(Binary)
byteArray(i-1) = AscB(MidB(Binary, i, 1))
concat2Bdy(AscB(MidB(Binary, i, 1)))
Next
BinaryToArray = byteArray
End Function
</SCRIPT>
</head>
<body>
<input type="button" onclick="createAttachment();" value="Attach Report" />
</body>
</html>
Thanks. and waiting for your valuable comments.
- MittalHello,
Yes, I was able to make my code working as below. Tested on CRM online 2013.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof (SDK) == "undefined")
{ SDK = { __namespace: true }; }
SDK.JScriptRESTDataOperations = {
_context: function () {
if (typeof GetGlobalContext != "undefined")
{ return GetGlobalContext(); }
else {
if (typeof Xrm != "undefined") {
return Xrm.Page.context;
else { return new Error("Context is not available."); }
_getServerUrl: function () {
var serverUrl = this._context().getServerUrl()
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
return serverUrl;
_ODataPath: function () {
return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
_errorHandler: function (req) {
return new Error("Error : " +
req.status + ": " +
req.statusText + ": " +
JSON.parse(req.responseText).error.message.value);
_dateReviver: function (key, value) {
var a;
if (typeof value === 'string') {
a = /Date\(([-+]?\d+)\)/.exec(value);
if (a) {
return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
return value;
Create: function (object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 201) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Retrieve: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
Update: function (id, object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "MERGE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Delete: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "DELETE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
if (filter != null) {
filter = "?" + filter;
else { filter = ""; }
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set" + filter, true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
__namespace: true
</script>
<script type="text/javascript">
//Create Email and link it with Order as Regarding field
var Xrm;
var email = new Object();
var ownerID = "";
var CustomerId = "";
if (window.opener) { Xrm = window.opener.Xrm; }
else if (window.parent) { Xrm = window.parent.Xrm; }
//Get ownerid who send email of quotation to customer
function GetOwnerID() {
var owner = Xrm.Page.getAttribute("ownerid").getValue();
ownerID = owner[0].id;
var ownerName = owner[0].name;
var entityType = owner[0].entityType;
GetToEmailGUID();
//Get customerid who receive email of quotation from owner
function GetToEmailGUID() {
var Customer = Xrm.Page.getAttribute('customerid').getValue();
CustomerId = Customer[0].id;
var CustomerName = Customer[0].name;
var entityType = Customer[0].entityType;
//if CustomerId is type of "Account" then get Primary Contact id of that account
if (entityType == "account") {
var contact = Xrm.Page.getAttribute("customerid").getValue();
if (contact === null) return;
var serverUrl = Xrm.Page.context.getClientUrl();
var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
var req = new XMLHttpRequest();
req.open("GET", oDataSelect, false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
var retrieved = JSON.parse(req.responseText).d;
CustomerId = retrieved.PrimaryContactId.Id;
else {
alert(this.statusText);
req.send();
function CreateEmail() {
GetOwnerID();
email.Subject = "Email with Report Attachment";
//Set The current order as the Regarding object
email.RegardingObjectId = {
Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
//Create Email Activity
SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
// Email Call Back function
function EmailCallBack(result) {
email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
var activityPartyFrom = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyFrom.PartyId = {
Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "contact"
// Set the "activity" of the ActivityParty
activityPartyFrom.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
// Create the from ActivityParty for the email
SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
var activityPartyTo = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyTo.PartyId = {
Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "systemuser"
// Set the "activity" of the ActivityParty
activityPartyTo.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
// Create the from ActivityParty
SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
//ActivityParty From Callback
function ActivityPartyFromCallBack(result) {
//ActivityParty To Callback
function ActivityPartyToCallBack(result) {
GetReportId('Quotation');
//Create attachment for the created email
function CreateEmailAttachment() {
//get reporting session and use the params to convert a report in PDF
var params = getReportingSession();
//Email attachment parameters
var activitymimeattachment = Object();
activitymimeattachment.ObjectId = Object();
activitymimeattachment.ObjectId.LogicalName = "email";
activitymimeattachment.ObjectId.Id = email.ActivityId;
activitymimeattachment.ObjectTypeCode = "email",
activitymimeattachment.Subject = "File Attachment";
activitymimeattachment.Body = encodePdf(params);
activitymimeattachment.FileName = "Report.pdf";
activitymimeattachment.MimeType = "application/pdf";
//Attachment call
SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
//ActivityMimeAttachment CallBack function
function ActivityMimeAttachmentCallBack(result) {
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
var width = "800px";
var height = "600px";
window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
// To open window which works in outlook and IE both
//openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width, height, features);
//This method will get the reportId based on a report name that will be used in getReportingSession() function
function GetReportId(reportName) {
var oDataSetName = "ReportSet";
var columns = "ReportId";
var filter = "Name eq '" + reportName + "'";
retrieveMultiple(oDataSetName, columns, filter, onSuccess);
function retrieveMultiple(odataSetName, select, filter, successCallback) {
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
if (select) {
odataUri += "$select=" + select + "&";
if (filter) {
odataUri += "$filter=" + filter;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
success: function (data) {
if (successCallback) {
if (data && data.d && data.d.results) {
successCallback(data.d.results);
else if (data && data.d) {
successCallback(data.d);
else {
successCallback(data);
error: function (XmlHttpRequest, errorThrown) {
if (XmlHttpRequest && XmlHttpRequest.responseText) {
alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
function onSuccess(data) {
reportId = data[0].ReportId.replace('{', ").replace('}', ");
CreateEmailAttachment(); // Create Email Attachment
//Gets the report contents
function getReportingSession() {
var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
var Id = Xrm.Page.data.entity.getId();
var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
quotationGUID = quotationGUID.replace('}', "");
var reportName = "Quotation"; //set this to the report you are trying to download
var reportID = "7C39D18F-1DC6-E311-8986-D89D6765B238"; //set this to the guid of the report you are trying to download
var rptPathString = ""; //set this to the CRMF_Filtered parameter
var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName=" +
reportName + "&isScheduledReport=false&p:CRMAF_Filteredquote=" + strParameterXML;
//remove the part starting from &p:salesorderid if your report has no parameters
retrieveEntityReq.send(rptPathString);
var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
x = retrieveEntityReq.responseText.indexOf("ControlID=");
ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
return ret;
var bdy = new Array();
var bdyLen = 0;
function concat2Bdy(x) {
bdy[bdyLen] = x;
bdyLen++;
function encodePdf(params) {
bdy = new Array();
bdyLen = 0;
var retrieveEntityReq = new XMLHttpRequest();
var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
"&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
"&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
retrieveEntityReq.open("GET", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.send();
BinaryToArray(retrieveEntityReq.responseBody);
return encode64(bdy);
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
this.toString = function () {
return this.parts.join('');
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input[i++];
chr2 = input[i++];
chr3 = input[i++];
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
return output.toString();
</script>
<script type="text/vbscript">
Function BinaryToArray(Binary)
Dim i
ReDim byteArray(LenB(Binary))
For i = 1 To LenB(Binary)
byteArray(i-1) = AscB(MidB(Binary, i, 1))
concat2Bdy(AscB(MidB(Binary, i, 1)))
Next
BinaryToArray = byteArray
End Function
</script>
</head>
<body>
<input type="button" onclick="CreateEmail();" value="Attach Report" />
</body>
</html>
Thank you,
Mittal. -
Unable to search successfully on Company field in a Contact list - SharePoint 2013 online
When searching for a company in a contact list, I get NO search results when the line items returned should be abundant.
I am using SharePoint 2013 Online with an Office 365 E3 license. I am the global administrator as well as site collection owner.
Since Company is an existing site collection column, I went to its managed property in the SharePoint Administration portal. I went to Search > Manage Search Schema > Managed properties and opened CompanyOWSTEXT in order to click the Searchable checkbox.
All items were grayed out and unable to be edited. The Searchable check box was UNCHECKED.
Why am I unable to edit that property?
How can I ensure that the Company field is crawled and can return search results?
Thank youPlease post your question to below SharePoint Online Technet forum:
http://social.technet.microsoft.com/Forums/msonline/en-us/home?forum=onlineservicessharepoint
Please ensure that you mark a question as Answered once you receive a satisfactory response. -
Hybrid Search not working from SharePoint 2013 Online to SharePoint On-premise
Hi,
I have setup a SharePoint 2013 Hybrid environment setup with the following –
Windows Server 2012 R2
SharePoint Server 2013 with April 2014 CU
SQL Server 2014
ADFS 3.0 using SSO with Web proxy and DirSync
SharePoint 2013 Online tenant on Office 365 Enterprise Subscription
I have configured the Hybrid following the article
http://technet.microsoft.com/en-us/library/jj838715(v=office.15).aspx and configured Hybrid Search. The hybrid environment was working fine including Search both ways initially
but after upgrade to April CU 2014 (along with upgrade to SQL 2014 from SQL 2012), now search from SharePoint online to SharePoint in-Premise is not working anymore.
I am still able login with the federated IDs in both the environments and get results from SharePoint Online in SharePoint in-Premise environment.
I have already tried most of the troubleshooting steps mentioned at
http://technet.microsoft.com/en-us/library/dn518363(v=office.15).aspx
Now every time, we perform a search in our SharePoint Online site, which is configured to show hybrid results from SharePoint in-premise, we don’t get results from in-premise and instead we see the following error logged in SharePoint
In-premise Web Server –
Error - An exception occurred when trying to issue security token: Exception of type 'System.ArgumentException' was thrown. Parameter name: value.
And ULS log shows the following – Even though the message seems apparent that there could be duplicate users in user profile Application, but that’s not the case. There are just 2 unique users added there.
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Portal Server
User Profiles ae0sx
Unexpected Error trying to search in the UPA. The exception message is 'System.ArgumentException: Exception of type 'System.ArgumentException' was thrown. Parameter name: value at Microsoft.SharePoint.Administration.Claims.SPIdentityProviders.GetIdentityProviderType(String
value) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.SearchUsingNameIdOrThrow(UserProfileManager upManager, String nameId, String nameIdIssuer) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager
upManager, IEnumerable`1 identityClaims)' 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (Executing the user mapping operation in GetMappedIdentityClaim()). Execution Time=1.4449 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Portal Server
User Profiles ae0su High The set of claims
could not be mapped to a single user identity. Exception Exception of type 'System.ArgumentException' was thrown. Parameter name: value has occured. 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (Inside SPIdentityClaimMapperOperations.GetClaimFromExternalMapper(); calling the registered SPIdentityClaimMapper). Execution Time=1.5596
4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Claims Authentication ae0tc
High The registered mappered failed to resolve to one identity claim. Exception: System.InvalidOperationException: Exception of type 'System.ArgumentException' was thrown. Parameter name: value ---> System.ArgumentException:
Exception of type 'System.ArgumentException' was thrown. Parameter name: value at Microsoft.SharePoint.Administration.Claims.SPIdentityProviders.GetIdentityProviderType(String value) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.SearchUsingNameIdOrThrow(UserProfileManager
upManager, String nameId, String nameIdIssuer) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager, IEnumerable`1 identityClaims)
--- End of inner exception stack trace --- at Microsoft... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1C88)
0x2494 SharePoint Foundation Claims Authentication
ae0tc High ....Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager
upManager, IEnumerable`1 identityClaims) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.<>c__DisplayClass2.<GetMappedIdentityClaim>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated
secureCode) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetMappedIdentityClaim(Uri context, IEnumerable`1 identityClaims) ...
4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Claims Authentication af3zp
Unexpected STS Call Claims Saml: Problem getting output claims identity. Exception: 'System.InvalidOperationException: Exception of type 'System.ArgumentException' was thrown. Parameter name: value ---> System.ArgumentException:
Exception of type 'System.ArgumentException' was thrown. Parameter name: value at Microsoft.SharePoint.Administration.Claims.SPIdentityProviders.GetIdentityProviderType(String value) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.SearchUsingNameIdOrThrow(UserProfileManager
upManager, String nameId, String nameIdIssuer) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager, IEnumerable`1 identityClaims) ---
End of inner exception stack trace --- at Microsoft.O... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint
Foundation Claims Authentication fo1t
Monitorable STS Call: Failed to issue new security token. Exception: System.InvalidOperationException: Exception of type 'System.ArgumentException' was thrown. Parameter name: value ---> System.ArgumentException:
Exception of type 'System.ArgumentException' was thrown. Parameter name: value at Microsoft.SharePoint.Administration.Claims.SPIdentityProviders.GetIdentityProviderType(String value) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.SearchUsingNameIdOrThrow(UserProfileManager
upManager, String nameId, String nameIdIssuer) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager, IEnumerable`1 identityClaims)
--- End of inner exception stack trace --- at Microsoft.Office.Server.Secu... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1C88)
0x2494 SharePoint Foundation Claims Authentication
fo1t Monitorable ...rity.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager, IEnumerable`1
identityClaims) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.<>c__DisplayClass2.<GetMappedIdentityClaim>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.<RunWithElevatedPrivileges>b__3()
at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated
secureCode) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetMappedIdentityClaim(Uri context, IEnumerable`1 identityClaims) at Microsoft.ShareP... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1C88)
0x2494 SharePoint Foundation Claims Authentication
fo1t Monitorable ...oint.IdentityModel.SPIdentityClaimMapperOperations.GetClaimFromExternalMapper(Uri contextUri, List`1 claims)
at Microsoft.SharePoint.IdentityModel.SPIdentityClaimMapperOperations.ResolveUserIdentityClaim(Uri contextUri, ClaimCollection inputClaims) at Microsoft.SharePoint.IdentityModel.SPIdentityClaimMapperOperations.GetIdentityClaim(Uri contextUri,
ClaimCollection inputClaims, SPCallingIdentityType callerType) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.GetLogonIdentityClaim(SPRequestInfo requestInfo, IClaimsIdentity inputIdentity, IClaimsIdentity outputIdentity,
SPCallingIdentityType callerType) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.EnsureSharePointClaims(SPRequestInfo requestInfo, IClaimsIdentity outputIdentity, SPCallingIdentityTy... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1C88)
0x2494 SharePoint Foundation Claims Authentication
fo1t Monitorable ...pe callerType) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.AugmentOutputIdentityForRequest(SPRequestInfo
requestInfo, IClaimsIdentity outputIdentity) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.GetOutputClaimsIdentity(IClaimsPrincipal principal, RequestSecurityToken request, Scope scope) at Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.Issue(IClaimsPrincipal
principal, RequestSecurityToken request) at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.Issue(IClaimsPrincipal principal, RequestSecurityToken request)
4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (SPSecurityTokenService.Issue). Execution Time=6.3185 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=12774004 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Execution Time=6.3185 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nasq Verbose
Entering monitored scope (CleanUpSecurityTokenServiceOperation). Parent ExecuteSecurityTokenServiceOperationServer 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (CleanUpSecurityTokenServiceOperation). Execution Time=0.0282 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=14832078 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Execution Time=0.0282 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring b4ly Medium
Leaving Monitored Scope (ExecuteSecurityTokenServiceOperationServer). Execution Time=7.2841 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____WebPart Events Offsets=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____User Address= 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____=00000000-0000-0000-0000-000000000000 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Log Correlation Id=4c8b979c-f112-d050-9764-c445282f9184 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Service Calls=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Claims Counter=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Critical Events=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____ULS Large Gap= 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Execution Time=7.2841 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Current SharePoint Operations=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____SPRequest Objects=2 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Distributed Cache=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____SQL Query Count=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Current User= 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Request Management= 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Monitoring nass Verbose
____Page Checkout Level=Published 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Logging Correlation Data 77a3 Verbose
Ending correlation. Transfer to 4c8b979c-f112-d050-9764-c834ee4cf36d 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Unified Logging Service cn4g Verbose
Trace level override is turned off. 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1C88) 0x2494 SharePoint Foundation
Logging Correlation Data 77a3 Verbose
Ending correlation. 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nasq Verbose
Entering monitored scope (CleanUpSecurityTokenServiceOperation). Parent ExecuteSecurityTokenServiceOperationCaller:http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (CleanUpSecurityTokenServiceOperation). Execution Time=0.0257 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____Execution Time=0.0257 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=2377140 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope (ExecuteSecurityTokenServiceOperationCaller:http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue). Execution Time=13.2855 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____Execution Time=13.2855 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=0 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Claims Authentication fsq7
High SPSecurityContext: Request for security token failed with exception: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Exception of type 'System.ArgumentException' was thrown. Parameter name:
value (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.InvalidOperationException: Exception of type 'System.ArgumentException' was thrown. Parameter name: value ----> System.ArgumentException:
Exception of type 'System.ArgumentException' was thrown. Parameter name: value at Microsoft.SharePoint.Administration.Claims.SPIdentityProviders.GetIdentityProviderType(String value) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.SearchUsingNameIdOrThrow(UserProfileManager
upManager, ... 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1EEC)
0x26BC SharePoint Foundation Claims Authentication
fsq7 High ...String nameId, String nameIdIssuer) at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager
upManager, IEnumerable`1 identityClaims) --- End of inner ExceptionDetail stack trace --- at Microsoft.Office.Server.Security.UserProfileIdentityClaimMapper.GetSingleUserProfileFromClaimsList(UserProfileManager upManager,
IEnumerable`1 identityClaims) at Microsoft.Office.Server.Security.UserProfileI...). 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Claims Authentication 8306
Critical An exception occurred when trying to issue security token: Exception of type 'System.ArgumentException' was thrown. Parameter name: value. 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring b4ly Verbose
Leaving Monitored Scope ([S2S] Getting token from STS and setting Thread Identity). Execution Time=16.83 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____Execution Time=16.83 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=7084490 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring b4ly Medium
Leaving Monitored Scope (Application Authentication Pipeline). Execution Time=20.6415 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____Execution Time=20.6415 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Monitoring nass Verbose
____CPU Cycles=14789795 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
Application Authentication ajezs High SPApplicationAuthenticationModule:
Error authenticating request, Error details { Header: {0}, Body: {1} }. Available parameters: 3001000;reason="There has been an error authenticating the request.";category="invalid_client" {"error_description":"Exception
of type 'System.ArgumentException' was thrown.\u000d\u000aParameter name: value"} . 4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59 w3wp.exe (0x1EEC) 0x26BC SharePoint Foundation
General
8nca Medium Application error when access /_vti_bin/sites.asmx, Error=Exception of type 'System.ArgumentException' was thrown.
Parameter name: value at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.ReadResponse(Message response) at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityTokenResponse&
rstr) at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustChannel.Issue(RequestSecurityToken rst) at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForContext(Uri context, Boolean bearerToken, SecurityToken
onBehalfOf, SecurityToken actAs, SecurityToken delegateTo, SPRequestSecurityTokenProperties properties) at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForApplicationAuthentication(Uri context, SecurityToken onBe...
4c8b979c-f112-d050-9764-c834ee4cf36d
06/04/2014 12:58:41.59* w3wp.exe (0x1EEC)
0x26BC SharePoint Foundation General
8nca Medium ...halfOf)
at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.<>c__DisplayClass4.<GetLocallyIssuedToken>b__3() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode)
at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.ConstructIClaimsPrincipalAndSetThreadIdentity(HttpApplication httpApplication, HttpContext httpContext, SPFederationAuthenticationModule fam) at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.AuthenticateRequest(Object
sender, EventArgs e) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
4c8b979c-f112-d050-9764-c834ee4cf36d
Any ideas?
Anupam ShrivastavaI am experiencing the same issue. Don't have the answer yet about what's wrong exactly. And my SSO works fine too.
I know precisely what makes the SharePoint throw the ArgumentException, but I can't yet figure out how to influence this behavior. I will respond back if I find out, but I hope the following will create an "aha moment" for someone.
So the SP Online issues an OAuth request to the on-prem SharePoint. If verbose logging is on for the Claims category, you may see how it reads these claims. One of them is this:
Claim['nii':'urn:federation:microsoftonline']
Using this claim and the nameid claim the profile mapping logic then reports the following immediately before the error (Set User Profiles to verbose to see this):
Creating encoded sid for nameid '100300008b29cb02' and nameidissuer 'urn:federation:microsoftonline'
Inspecting this logic with Reflector, I can see that it then attempts to infer the identity provider type from the nameidissuer, and throws the exception, because "federation" is not what it expects. It expects either "windows", "trusted" or "forms" for
the provider type.
So the user's actions to lead to this error were as follows:
1. I connect to the Office 365 portal, and get redirected to my ADFS server (same domain for the ADFS server, on-prem SharePoint, and the user accounts).
2. I log on, and from the SP Online portal I issue my search query using a result source configured as per the Hybrid TechNet guidance.
So thanks in advance for any suggestions, on what it could be. -
Data refresh of Excel file on Sharepoint 2013 Online (E3)
Is it possible to refresh data in an Excel PowerPivot model from external data (SQL Server 2012) on the
SharePoint 2013 Online solution that comes with the Office365 E3 plan?
I need to either have the Excel file itself on the public facing website with data refresh there, or possibly have the Excel file in a private Business Intelligence Center subsite and then publish webparts or whatever on the public site, as long as the charts
are refreshed and publicly viewable. I've found a lot of conflicting info on this.
Re
DCurrently, when a workbook that contains a Data Model is published to a library in Office 365, data refresh is unavailable.
However, you can use a PowerShell script to configure a workaround.
donwload this white paper for workaround:
http://technet.microsoft.com/en-us/library/jj992650.aspx
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog -
I have an Access 2013 Web App in my Sharepoint 2013 online website. It contains a query to report on its data (several, actually, but let's keep it simple). I want to connect an Excel spreadsheet to the query, visualise the data in pivot tables/graphs/whatever,
save the spreadsheet in a Document Library, and let other team site Sharepoint users open the spreadsheet (preferably in Excel online, but with Excel client if it has to be) and see/copy the data, refreshed with the latest information from the Access Web App.
Simple, surely!
The way I'm doing it at the moment is to create an ODC file to connect to the cloud-based Access 2013 database, save that ODC in a Data Connection Library in the SP site, and use the saved ODC file as data source in the Excel spreadsheet. This works and
successfully keeps everything 'in the cloud' but I can't get it to refresh in Excel Online, and if I open the spreadsheet in Excel Client I have to enter the database password every time to refresh it. I don't really want to issue this password to everyone
who might want to view the data. There must be a better way than this ODC method, I suspect.
Googlings on this have led down various blind alleys - Excel Services, PowerPivots, Web Parts - but I'm stuck on which to follow through. Please, someone, point me to an article/book/website that explains how to do this step-by-step in simple language..
thanks
JonathanI don't see any quick way of achieving it - at least there's no such functionality exists in SharePoint. All you can do, develop an event receiver that will update the fields in the list item once the excel file is added/updated. You can use OpenXml API
to manipulate the excel file.
Thanks,
Sohel Rana
http://ranaictiu-technicalblog.blogspot.com
Maybe you are looking for
-
Can I use my ipad with an o2 sim card to to find a local carrier like I can with my iphone ?
-
my imessage is active through apple id and phone number both but still i cant receive and send imessage
-
DO NOT INSTALL XCODE 4.1
I have been attempting to install Xcode 4.1 from the app store on my iMac, recently upgaded to Lion. On the first two attempts, after 12 hours of waiting to confirm, the install locked the machine and the only way out was to power off. On powering
-
HELP CS2 will not install on my new MacBook - it's killing me!
Hi Guys Okay I'm tearing my hair out here! This is carrying on from an earlier issue. I connected my new MacBook to an iBook to transfer my stuff across, the thing is CS2 didn't transfer properly so on the advice of Adobe after trashing what I had tr
-
I cannot log on to my Comcast e-mail from my IMac anymore. This is a new issue, recently I had to delete cookies from my system in order so my email wasn't frozen, but over the past few days it has went from bad to worse. I am able to enter my logi