jump to navigation

Open Advanced Shared Item . Time Out September 20, 2017

Posted by juanpablo1manrique in SharePoint, SharePoint2013.
add a comment


In this days I have a problem when I tried to enter at page of advanced shared.

  • In the item click in (…)
  • An other time (…)
  • Share With
  • but Waiting … and waiting … till time out,

in SharePoint Logs you find

Slow Query Duration: 104507.8692

If you have a farm with a upper version of 15.0.4571.1502 Apr 2014

You can run

$db = Get-SPContentDatabase -Identity WSS_CONTENT_etc

You maybe should make backup after,



SPFederationAuthenticationModule.IsRedirectToLogOnPage: Detected a redirection but the redirect is not to a known signin page: September 15, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment

Deshabilitar el servicio Request Management

get current user ASP.NET Forms August 1, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment


Read CSV file Powershell March 29, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment


$unarchivo = “c:/afd.csv”
param ([string]$unarchivo = $(throw “variable vacia”))
import-csv $unarchivo | foreach-object {
$USRPrincipalName = $_.Column1
$OldPrimary = $_.Column2
$NewPrimary = $_.Column3
#el powershell deseado
Set-Mailbox -identity $UserPrincipalName -EmailAddresses @{add=”SMTP:” + “$NewPrimary”}

Update Enterprise Keyword Column OnPremise : TaxKeyword March 10, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment


Muy buenas,

private static void TestUpdateKeyWords()
 using (SPSite site = new SPSite(urlSite))
 using (SPWeb web = site.OpenWeb("subweb"))
 SPList list = web.Lists.GetList(new Guid("00000-ad33-4d53-91c0-6310ba1baf09"), true);
 SPListItem item = list.GetItemById(228);
 //Set Field
 SPField field = list.Fields.GetFieldByInternalName("TaxKeyword");
 var taxKeywordField = (TaxonomyField)field;
 string[] values = { "keyword1","keyword2" };
 var keywords = values.Select(value => EnsureKeyword(taxKeywordField, value)).ToList();
 string strKeyWordsToInsert = GetTermsString(keywords);
 item[taxKeywordField.Id] = strKeyWordsToInsert;
 item.File.CheckIn("Actualizacion datos", SPCheckinType.MajorCheckIn);



private static Term EnsureKeyword(TaxonomyField taxField, string name)
 int DefaultLanguage = 1033;

TaxonomySession session = new TaxonomySession(taxField.ParentList.ParentWeb.Site);

var termStore = session.TermStores[0];
 var keywords = termStore.KeywordsTermSet.GetAllTerms();
 var result = keywords.Where(k => k.Name == name);

var keyword = result.FirstOrDefault();
 if (keyword != null)
 return keyword;
 keyword = termStore.KeywordsTermSet.CreateTerm(name, DefaultLanguage, Guid.NewGuid());
 return keyword;

private static string GetTermString(Term term)
 return string.Format("-1;#{0}{1}{2}", term.Name, "|", term.Id);

private static string GetTermsString(IEnumerable<Term> terms)
 var termsString = terms.Select(GetTermString).ToList();
 return string.Join(";#", termsString);


Para ver la version Online




UnauthorizedAccessException SharePoint _api February 28, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment

Hola amigos,


Me ha pasado que

UnauthorizedAccessException “_api/SP.UserProfiles.PeopleManager”

Pense que era permisos de algo pero descubrí que tambien fallaba,



Pero funcionaba con un usuario administrador,

Al verificar …
site settings->site permissions->permissions level->read->

Integration client features
Use remote interface

Estaban deshabilitadas, que mano de vueltas para habilitar estos dos niveles de permisos,


Felices fiestas



Wait for an array of deferreds January 23, 2017

Posted by juanpablo1manrique in SharePoint.
add a comment

var deferredArray = [];
for(var i = 0; i < data.length; i++)
$.when.apply($, deferredArray).then(
function () {
function () {

WebHttpBinding “HttpContext.Current” null WCF SharePoint October 20, 2016

Posted by juanpablo1manrique in SharePoint.
add a comment

Desafortunadamente WCF no soporta estado y en SharePoint todos los trucos posibles no funcionaron,

[ServiceContract(Namespace = “”)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class MiService : ServiceBase

Tambien intente.

string cookieHeader = WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Cookie];
// Here you can see the OutgoingResponse Header has set the cookies.
Match match = Regex.Match(cookieHeader, @”^SessionID=(?.*)$”);
if (match.Success)

//YEAH!!! I get it; but nop, never passed this way,
throw new Exception(match.Groups[“SessionID”].Value);
WebOperationContext.Current.OutgoingResponse.Headers[HttpResponseHeader.SetCookie] = cookieHeader + “;” + string.Format(“SessionID={0}”, “MIDATOAGUARDAR”);

Y tampoco,

Si saben algo me cuentan



Una solucion que encontre para este caso es la siguiente,

ObtenerObjeto de negocio -> enviarlo como entrada en todos los métodos siguientes.

Finalmente en la nueva programación FronEnd ya no utilizamos el aburrido ViewState, así que manejamos el estado nosotros mismos,

Parallax heart October 7, 2016

Posted by juanpablo1manrique in SharePoint.
add a comment

.bgimg-1, .bgimg-2, .bgimg-3 {
position: relative;
opacity: 0.65;
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;





SPContext.Current == null August 30, 2016

Posted by juanpablo1manrique in SharePoint.
add a comment

Create fake SPContext.Current

using (SPSite oSPsite = new SPSite(webUrl))
using (SPWeb oSPWeb = oSPsite.OpenWeb())

HttpContext newContext = null;
if (HttpContext.Current == null)
var request = new HttpRequest(“”, oSPWeb.Url, “”);
newContext = new HttpContext(request, new HttpResponse(TextWriter.Null));
HttpContext.Current = newContext;
HttpContext.Current.Items[“HttpHandlerSPWeb”] = oSPWeb;
HttpContext.Current.Items[“HttpHandlerSPSite”] = oSPsite;