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