segunda-feira, 22 de dezembro de 2014

SharePoint 2013 - "The URL is invalid." na criação de subsites.


Os eventos abaixo ocorrem normalmente na criação de subsites caso que campos nativos foram modificados no pai do novo subsite.

1. O evento na interface do SharePoint:
Sorry, something went wrong The URL '<URL>/<SITE>.aspx' is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.


2. No ULS: "The URL '<URL>/<SITE>.aspx' is invalid." 
System.Runtime.InteropServices.COMException: <nativehr>0x81020030</nativehr><nativestack></nativestack>The URL '<URL>/<SITE>.aspx' is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder th   at is not in the current Web., StackTrace:      at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)       at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename, Boolean bPreserveItemUIVersion)    

3. No ULS: "Parameter '@tp_Author' was supplied multiple times."
System.Data.SqlClient.SqlException (0x80131904): Parameter '@tp_Author' was supplied multiple times.             at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)             at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)             at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)             at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)             at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)             at System.Data.SqlClient.SqlDataReader.TryNextResult(Boolean& more)             at System.Data.SqlClient.SqlDataReader.NextResult()             at Microsoft.SharePoint.SPSqlClient.ExecuteQueryInternal(Boolean retryfordeadlock)             at Microsoft.SharePoint.SPSqlClient.ExecuteQuery(Boolean retryfordeadlock)

O seguinte script identifica o campo a partir da coluna identificada "tp_author" no evento 3.
## informe o url do pai do novo subsite
$web = get-spweb "http://url/pai"
## informe a coluna identificada 
$web.fields | where-object {$_.schemaxml -like "*tp_author*"} | select title


Os desenvolvedores do SharePoint introduziram no SharePoint 2013 um novo método para esse caso - Microsoft.SharePoint.SPField.RevertCustomizations() que nós podemos utilizar para reverter as customizações em campos nativos:

($web.fields | where-object {$_.schemaxml -like "*tp_author*"}).RevertCustomizations()

Observação: Não utilize o método update para concluir a atualização, isso adicionaria a infomação (indesejada) da versão no schema do campo:



[] 

quarta-feira, 17 de dezembro de 2014

Configurar SharePoint 2013 para usar o Servidor do Office Web Apps (OWA)


Quando usado juntamente com o SharePoint 2013, o Office Web Apps fornece versões atualizadas do Word Web App, Excel Web App, PowerPoint Web App e OneNote Web App. Os usuários podem exibir e dependendo da licença, editar documentos do Office no navegador em computadores e em vários dispositivos móveis, como Windows Phone, iPhone, iPad e Tablets sem depender da instalação local do Office.

Além dos novos recursos, a arquitetura e o método de implantação mudaram, o que permite que o Office Web Apps forneça as mesmas funcionalidades para o Exchange 2013 e o Lync Server 2013.

Modo de abertura padrão para documentos abertos a partir de bibliotecas de documentos do SharePoint 2013

É possível configurar se os arquivos do Word, do PowerPoint, do Excel e do OneNote são abertos em um aplicativo cliente (caso esteja instalado) ou no navegador. Por padrão, após a configuração do SharePoint 2013 para usar o Office Web Apps, os arquivos do Office são abertos no navegador.

Há duas formas de alterar o comportamento padrão a fim de permitir que aplicativos clientes abram os arquivos diretamente:

  1. Global: O comportamento pode ser ajustado usando os cmdlets New-SPWOPIBindingSet-SPWOPIBinding e Remove-SPWopibinding. Por exemplo: o comando Remove-SPWOPIBinding -Application "Excel" remove o binding do Excel do OWA.
  2. Em conjuntos de sites ou bibliotecas de documento: Os administradores e usuários de conjuntos de sites podem especificar se os arquivos do Office são abertos em aplicativos clientes. Usuários podem alterar essa configuração nas propriedades da biblioteca de documentos e os administradores do conjunto de sites podem alterar a configuração na parte administrativa do conjunto de sites.

Instalação do Office Web Apps

A instalação do produto é simples e possuiu requisitos ligeiramente diferentes dependendo da versão do servidor Windows. O seguinte KB contém todos os passos necessários para realizar a instalação.



Configurar o Office Web Apps para SharePoint 2013

O cmdlet New-OfficeWebAppsFarm cria o servidor / o farm do OWA. O seguinte exemplo criará um farm usando HTTP e habilitará a edição (recomendado é HTTPS):

New-OfficeWebAppsFarm -InternalURL "http://owa.contoso.com" -AllowHttp -EditingEnabled

Parâmetros:
  • –InternalURL: é um nome de domínio totalmente qualificado (FQDN) do servidor que executa o Servidor do Office Web Apps, como http://nomeservidor.contoso.com.
  • –ExternalURL: é o FQDN que pode ser acessado na Internet.
  • –CertificateName: é o nome amigável do certificado.
  • –EditingEnabled: é opcional e habilita a edição no Office Web Apps quando utilizado com o SharePoint 2013. Este parâmetro não é utilizado pelo Lync Server 2013 ou Exchange Server 2013 porque não suportam a edição.

Configurar o SharePoint 2013 para Office Web Apps

O cmdlet New-SPWOPIBinding conecta SharePoint com o OWA. O seguinte exemplo conectará o SharePoint com o farm do Office Web Apps "OWA" permitindo o HTTP:

New-SPWOPIBinding -ServerName owa -AllowHTTP


Importante: A utilização do HTTP requer adicionalmente que nós permitamos essa forma de comunicação, que não é recomendado, no serviço do Security Token por meio do script abaixo:


$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()


Atualizações do Office Web Apps

A instalação das atualizações nos servidores do OWA requer a recriação do farm do OWA. Execute o cmdlet Remove-OfficeWebAppsMachine antes da instalação e recrie o farm utilizando o cmdlet New-OfficeWebAppsFarm.

Importante: Também é recomendado a recriação da configuração no lado do SharePoint utilizando o cmdlet Remove-SPWOPIBinding -All:$true



Fontes adicionais:


quarta-feira, 26 de novembro de 2014

Livro eletrônico gratuito:Deployment guide for Microsoft SharePoint 2013



O "Deployment guide for Microsoft SharePoint 2013" é uma coleção de boas práticas do SharePoint e abrange vários tópicos, como por exemplo, a atualização do Workflow Manager, a configuração do SharePoint para ADFS e o gerenciamento do distributed cache, entre outros.

Download


Livro eletrônico gratuito: Explore SharePoint 2013


O livro é uma introdução excelente ao SharePoint 2013 e detalhe as diferenças da versão nova e do antecessor.

Sumário:

Learn how new capabilities in SharePoint Server 2013 can help IT pros better 
manage cost, risk, and time.
This guide describes how SharePoint Server 2013 builds on the investments of previous 
SharePoint releases to help you do the following: 

  • Lower IT costs with a flexible and scalable collaboration platform.
  • Better manage risk by safeguarding your business with secure and reliable capabilities.
  • Increase productivity through cost-effective and efficient management.



Download

[]

quinta-feira, 20 de novembro de 2014

SharePoint 2013 - Workflow suspenso: HTTP 401 Invalid JWT token



O fluxo de trabalho no SharePoint 2013 fica normalmente no estado suspenso com a mensagem de erro "HTTP 401 Invalid JWT token. Could not resolve issuer token." após a re-instalação do Workflow Manager. A causa é um token de autenticação (S2S - server to server autentication) inválido.

Mensagem de erro no interface:
An unhandled exception occurred during the execution of the workflow instance. Exception details: HTTP 401 {"error_descritption":Invalid JWT token. Could not resolve issuer token."}
Mensagem de error nos logs do SharePoint:

Application Authentication    High    SPApplicationAuthenticationModule: Invalid token or signature. Exception: System.IdentityModel.Tokens.SecurityTokenException: Invalid JWT token. Could not resolve issuer token.     at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadTokenCore(String token, Boolean isActorToken)     at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadActor(IDictionary`2 payload)     at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadTokenCore(String token, Boolean isActorToken)     at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.TryExtractAndValidateToken(HttpContext httpContext, SPIncomingTokenContext& tokenContext)
SharePoint Foundation    Application Authentication    High    SPApplicationAuthenticationModule: Error authenticating request, Error details: Header: 3000006;reason="Token contains invalid signature.";category="invalid_client", Body: {"error_description":"Invalid JWT token. Could not resolve issuer token."}
SharePoint Foundation    General    Medium    Application error when access _vti_bin/client.svc, Error=Invalid JWT token. Could not resolve issuer token.   at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadTokenCore(String token, Boolean isActorToken)     at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadActor(IDictionary`2 payload)     at Microsoft.IdentityModel.S2S.Tokens.JsonWebSecurityTokenHandler.ReadTokenCore(String token, Boolean isActorToken)     at Microsoft.SharePoint.IdentityModel.SPApplicationAuthenticationModule.TryExtractAndValidateToken(HttpContext httpContext, SPIncomingTokenContext& tokenContext)

Solução:

Execute o timer job "Refresh Trusted Security Token Services Metadata feed" do SharePoint utilizando Powershell (Start-SPTimerJob RefreshMetadataFeed) ou na interface.

[]

sábado, 8 de novembro de 2014

Modern.IE - Ferramentas de teste de interoperabilidade e relatórios de compatibilidade


A Microsoft lançou recentemente uma nova plataforma de testes web / desenvolvimento. Modern.IE é atualmente composto por cinco componentes: um assistente para a avaliação automática do código (Relatório de compatibilidade), uma ferramenta para testes em diferentes sistemas operacionais e navegadores (Acesso instantâneo a navegadores reais a partir do BrowserStack), máquinas virtuais prontas para o uso, uma ferramenta para avaliar a aparência do site em nove navegadores e dispositivos comuns e RemoteIE, a versão mais recente do Internet Explorer sem a necessidade de ter como sistema operacional Windows!


Máquinas virtuais


Versões de teste do IE usando máquinas virtuais que você baixa e gerencia em seu próprio ambiente de desenvolvimento.

https://www.modern.ie/pt-br/virtualization-tools#downloads


Telas de navegador


Obtenha screenshots do seu site, para avaliar a aparência do site em nove navegadores e dispositivos comuns. 



RemoteIE


RemoteIE a versão mais recente do Internet Explorer sem a necessidade de ter como sistema operacional Windows!

https://remote.modern.ie/


Acesso instantâneo a navegadores reais a partir de BrowserStack



Serviço web que disponibiliza inumeros VMs para testar sites. BrowserStack pode ser utilizado nos primeiros três meses gratuitamente.

https://www.modern.ie/pt-br/tools

Relatório de compatibilidade


O assistente aponta, por exemplo, se há uma versão desatualizada do jQuery e propõe soluções rápidas. Ele também indica quando uma página tem problemas de compatibilidade que impedem que ele seja exibido corretamente no Internet Explorer na versão atual.

https://www.modern.ie/pt-br/compat-scan

[]

segunda-feira, 3 de novembro de 2014

SharePoint PermissionMask Translator‏


Estou orgulhoso de poder apresentar uma nova ferramenta de troubleshooting  para a comunidade do SharePoint do Brasil. O aplicativo foi projetado em colaboração com o desenvolvedor Carlos Eduardo T.K. Suguinoshita (SharePoint, ASP.NET C#, PHP)

A ferramenta SharePoint PermissionMask Translator‏ converte permissões acumuladas para as permissões de base do sistema. Por exemplo, usuários com as permissões "ViewListItems", "ViewFormPages", "Open" e "Open Items" terão o valor 0x2000011001 como sua máscara de permissão que é utilizada para avaliar os seus respectivos acessos.


0x00000005 versus 0x2000011001

Isto poderá ajudar a identificar possíveis problemas com as permissões do SharePoint em casos que o usuário final não consiga acessar páginas desejadas.

O acesso a essas páginas resulta normalmente no seguinte evento nos logs do SharePoint (modo verbose):
PermissionMask check failed. asking for <VALOR>, have <VALOR>
E "SharePoint PermissionMask Translator" ajudará a identificar as permissões necessárias para realizar o acesso / a ação.


SharePoint Base Permissions:


Mask
Name
Description
 0x00000000
EmptyMask
Has no permissions on the Web site. Not available through the user interface. Groups: N/A.
 0x00000001
ViewListItems
View items in lists, documents in document libraries, and view Web discussion comments. Groups: Reader, Contributor, Web Designer, Administrator.
 0x00000002
AddListItems
Add items to lists, add documents to document libraries, and add Web discussion comments. Groups: Contributor, Web Designer, Administrator.
 0x00000004
EditListItems
Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries. Groups: Contributor, Web Designer, Administrator.
 0x00000008
DeleteListItems
Delete items from a list, documents from a document library, and Web discussion comments in documents. Groups: Contributor, WebDesigner, Administrator.
0x00000100 
CancelCheckout
Check in a document without saving the current changes. Groups: WebDesigner, Administrator.
 0x00000200
ManagePersonalViews
Create, change, and delete personal views of lists. Groups: Contributor, WebDesigner, Administrator.

ManageListPermissions
 No longer used.
 0x00000800
ManageLists
Create and delete lists, add or remove columns in a list, and add or remove public views of a list. Groups: WebDesigner, Administrator.

AnonymousSearchAccessList
Make content of a list or document library retrieveable for anonymous users through SharePoint search. The list permissions in the site do not change.

AnonymousSearchAccessWebLists
Content of lists and document libraries in the website will be retrievable for anonymous users through SharePoint search if the list or document library has AnonymousSearchAccessList set.
 0x00010000
OpenWeb
Allow users to open a Web site, list, or folder. Groups: Guest, Reader, Contributor, WebDesigner, Administrator.
0x00020000 
ViewPages
View pages in a Web site. Groups: Reader, Contributor, WebDesigner, Administrator.
 0x00040000
AddAndCustomizePages
Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a Windows SharePoint Services–compatible editor. Groups: WebDesigner, Administrator.
 0x00080000
ApplyThemeAndBorder
Apply a theme or borders to the entire Web site. Groups: Web Designer, Administrator.
 0x00100000
ApplyStyleSheets
Apply a style sheet (.css file) to the Web site. Groups: WebDesigner, Administrator.
 0x00200000
ViewUsageData
View reports on Web site usage. Groups: Administrator.
 0x00400000
CreateSSCSite
Create a Web site using Self-Service Site Creation. Groups: Reader, Contributor, Web Designer, Administrator.
0x00800000 
ManageSubwebs
Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites. Groups: Administrator.
 0x01000000
CreatePersonalGroups
Create a group of users that can be used anywhere within the site collection. Groups: Administrator.
 0x02000000
ManageRoles
Create, change, and delete site groups, including add users to the site groups and specifyi which rights are assigned to a site group. Groups: Administrator.
 0x04000000
BrowseDirectories
Enumerate files and folders in a Web site by using Microsoft Office SharePoint Designer 2007 and Web DAV interfaces. Groups: Contributor, WebDesigner, Administrator.
 0x08000000
BrowseUserInfo
View information about users of the web site. Guest, Reader, Contributor, Web Designer, Administrator.
 0x10000000
AddDelPrivateWebParts
Add or remove personal Web Parts on a Web Part. Groups: Contributor, WebDesigner, Administrator.
 0x20000000
UpdatePersonalWebParts
Update Web Parts to display personalized information. Groups: Contributor, WebDesigner, Administrator.
 0x40000000
ManageWeb
Manage a site, including the ability to perform all administration tasks for the site and manage contents and permissions. Groups: Administrator.
 -1
FullMask
Has all permissions on the Web site. Not available through the user interface. Groups: N/A.


Fontes:

quinta-feira, 30 de outubro de 2014

SharePoint 2013 - Distributed Cache: There is a temporary failure. Please retry later.

Following communication issue occurred in my test environment (two-tier farm) after the initial set up and I was forced to reconfigure the Distributed cache.

Events:

1. ErrorCode ERRCA0017, SubStatus ES0006 (RetryLater / CacheServerUnavailable)
Exception in SPDistributedCachePointerWrapper::InitializeDataCacheFactory for usage 'DistributedLogonTokenCache' - Exception 'Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure. Please retry later. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. For on-premises cache clusters, also verify the following conditions. Ensure that security permission has been granted for this client account, and check that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the serialized object size sent from the client.). Additional Information : The client was trying to communicate with the server : net.tcp://SP2013:22233     at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody, RequestBody reqBody)     at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCacheProperties(RequestBody request, IClientChannel channel)     at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(String cacheName)     at Microsoft.SharePoint.DistributedCaching.SPDistributedCachePointerWrapper.InitializeDataCacheFactory()'
2. No connection could be made because the target machine actively refused it.
Unexpected Exception in SPDistributedCachePointerWrapper::InitializeDataCacheFactory for usage 'DistributedLogonTokenCache' - Exception 'Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure. Please retry later. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. For on-premises cache clusters, also verify the following conditions. Ensure that security permission has been granted for this client account, and check that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the serialized object size sent from the client.) ---> System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://sp2013:22233/. The connection attempt lasted for a time span of 00:00:00. TCP error code 10061: No connection could be made because the target machine actively refused it 10.0.0.20:22233.  ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 10.0.0.20:22233     at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)     at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)     at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)     --- End of inner exception stack trace ---    Server stack trace:      at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)     at System.ServiceModel.Channels.BufferedConnectionInitiator.Connect(Uri uri, TimeSpan timeout)     at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)     at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout)     at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)     at Microsoft.ApplicationServer.Caching.CacheResolverChannel.Open(TimeSpan timeout)     at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)     at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)    Exception rethrown at [0]:      at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)     at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)     at Microsoft.ApplicationServer.Caching.CacheResolverChannel.OpenDelegate.EndInvoke(IAsyncResult result)     at Microsoft.ApplicationServer.Caching.ChannelContainer.Opened(IAsyncResult ar)     --- End of inner exception stack trace ---     at Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ResponseBody respBody, RequestBody reqBody)     at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCacheProperties(RequestBody request, IClientChannel channel)     at Microsoft.ApplicationServer.Caching.DataCacheFactory.GetCache(String cacheName)     at Microsoft.SharePoint.DistributedCaching.SPDistributedCachePointerWrapper.InitializeDataCacheFactory()'

Cause:

The server was not listening on ports 22233-22266. 


Solution:


1. At the SharePoint Management Shell command prompt, run the following Command stop-spdistributedcacheserviceinstance -gracefull on all cache hosts.

2. At the SharePoint Management Shell command prompt, run the following command remove-spdistributedcacheserviceinstance on all cache hosts.

3. Execute the SharePoint Products Configuration Wizard on all SharePoint servers.

4. At the SharePoint Management Shell command prompt, run the following Command add-spdistributedcacheserviceinstance on all cache hosts.

SharePoint 2013 - Distributed Cache (App Fabric) Error Codes
Manage the Distributed Cache service in SharePoint Server 2013
Original post

quarta-feira, 29 de outubro de 2014

Usefull tools: Err.exe (Microsoft Exchange Server Error Code Look-up)

The tool "Microsoft Exchange Server Error Code Look-up" to the contrary to what the name suggests serves to decipher almost any error code.



Here as an example the utilization of the tool deciphering the classic COM error 0x80070005 (Access is denied):

c:\err.exe 0x80070005
# for hex 0x80070005 / decimal -2147024891 :
  COR_E_UNAUTHORIZEDACCESS              corerror.h
# MessageText:
# Access is denied.
  DIERR_OTHERAPPHASPRIO                        dinput.h
  DIERR_READONLY                                          dinput.h
  DIERR_HANDLEEXISTS                                 dinput.h
  DSERR_ACCESSDENIED                             dsound.h
  ecAccessDenied                                               ec.h
  ecPropSecurityViolation                                    ec.h
  MAPI_E_NO_ACCESS                                    mapicode.h
  STIERR_READONLY                                        stierr.h
  STIERR_NOTINITIALIZED                                 stierr.h
  E_ACCESSDENIED                                         winerror.h
# General access denied error
# 11 matches found for "0x80070005"

It returns codes from 172 sources such as SQL, AD, Exchange and so on.

Code sources

Description:



Use the Error Code Lookup tool to determine error values from decimal and hexadecimal error codes in Microsoft Windows® operating systems. The tool can look up one or more values at a time. All values on the command line will be looked up in Exchange’s internal tables and presented to you. If available, informational data associated with the value or values will also be shown.

Microsoft Exchange Server Error Code Look-up
Original Post

Free ebook: Microsoft Project Server 2013 Administrator's Guide




This eBook is a must read for all administratores taking care of SharePoint and Project Server. 

The guide covers all possible product configurations, such as the configuration of resources, permissions ,OLAP cubes and workflows among others .

Microsoft Project Server 2013 Administrator's Guide

Summary:

There are several important tasks that an administrator must manage in Microsoft Project Server 2013 for Project Web App users to access and interact effectively with project data, including

Managing users, groups, and categories.
· Customizing Project Web App to fit the specific needs of your organization.
· Managing workflows.
· Managing enterprise data (custom fields, calendars, views, etc.).
· Managing queue settings for your specific environment.
· Managing time and task tracking.
· Configuring Active Directory synchronization to security groups and resources.

[]

quinta-feira, 16 de outubro de 2014

SharePoint 2013 - Workflow suspenso: System.ApplicationException: HTTP 401



O fluxo de trabalho no SharePoint 2013 fica normalmente no estado suspenso com a mensagem de erro "System.ApplicationException: HTTP 401" se o fluxo está configurado para enviar e-mail(s) para um grupo do SharePoint que não permite a exibição da associações.



Mensagem de erro no interface:
RequestorId: <GUID>. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ApplicationException: HTTP 401 {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPRequestGuid":["<GUID>"],"request-id":["<GUID>"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4569"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],"Cache-Control":["max-age=0, private"],"Date":["Tue, 15 Oct 2014 14:24:05 GMT"],"Server":["Microsoft-IIS\/8.5"],"WWW-Authenticate":["NTLM"],"X-AspNet-Version":["4.0.30319"],"X-Powered-By":["ASP.NET"]}
Mensagem de error nos logs do SharePoint:


Exception occured in scope Microsoft.SharePoint.Utilities.SPUtility.SendEmail. Exception=System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))     at Microsoft.SharePoint.SPGlobal.HandleUnauthorizedAccessException(UnauthorizedAccessException ex)     at Microsoft.SharePoint.Library.SPRequest.GetUsersDataAsSafeArray(String bstrUrl, UInt32 dwUsersScope, UInt32 dwUserCollectionFlags, String bstrValue, UInt32 dwValue, UInt32& pdwColCount, UInt32& pdwRowCount, Object& pvarDataSet)     at Microsoft.SharePoint.SPUserCollection.InitUsersCore(Boolean fCustomUsers, String[] strIdentifiers, SPUserCollectionFlags ucf)     at Microsoft.SharePoint.SPBaseCollection.GetEnumerator()     at Microsoft.SharePoint.Utilities.SPUtility.ResolveAddressesForEmail(SPWeb web, IEnumerable`1 addresses, AddressReader func)     at Microsoft.SharePoint.Utilities.SPUtility.SendEmail_Client(EmailProperties properties)     at Microsoft.SharePoint.ServerStub.Utilities.SPUtilityServerStub.InvokeStaticMethod(String methodName, ClientValueCollection xmlargs, ProxyContext proxyContext, Boolean& isVoid)     at Microsoft.SharePoint.Client.ServerStub.InvokeStaticMethodWithMonitoredScope(String methodName, ClientValueCollection args, ProxyContext proxyContext, Boolean& isVoid)


Solução: Permitir a exibição das associações para todos os usuários do SharePoint ou utilizar um outro grupo.

Fontes:

HTTP Unauthorized to /_vti_bin/client.svc/sp.utilities.utility.SendEmail

[]