quarta-feira, 30 de dezembro de 2015

SharePoint 2013: ScopeNotFoundException: Workflow publicado não é exibido


O evento abaixo ocorre, se o (sub)escopo do subsite no Workflow Manager não foi criado. Isso pode ocorrer após a importação de um subsite.

Maiores detalhes sobre o escopo do fluxo de trabalho:
"A scope is a named and securable container for Activities, Workflows, Instances, configuration and child Scopes.. It also provides a boundary for multi-tenancy and messaging (notifications). Scopes can be created and modified using the Workflow Client API. It is represented in the Client API by the T:Microsoft.Workflow.Client.ScopeInfo class."

Evento no log do SharePoint:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Microsoft.Workflow.Client.ScopeNotFoundException: Scope '/SharePoint/default/<site collection GUID>/<subsite GUID>' was not found. HTTP headers received from the server - ActivityId: <GUID>. NodeId: <Server name>. Scope: /SharePoint/default/<site collection GUID>/<subsite GUID>. Client ActivityId : <GUID>. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)
at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content) -
-- End of inner exception stack trace ---
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Solução:

Execute os dois comandos abaixo para desabilitar e habilitar o feature oculto "WorkflowServiceStore" para forçar a cria do escopo, em seguida publique os fluxos de trabalhos.
1. Disable-SPFeature WorkflowServiceStore -Url <endereço do subsite>
2. Enable-SPFeature WorkflowServiceStore -Url <endereço do subsite>

segunda-feira, 28 de dezembro de 2015

Let's Encrypt - certificados SSL grátis para todos!



"Let's Encrypt" iniciou a fase beta pública no dia 3 de dezembro, e está emitindo certificados SSL gratuitos - classificados pelos navegadores como confiáveis.

Atrás da autoridade de certificação "Let's Encrypt" estão organizações famosas, como Mozilla, Akamai, Cisco e a Electronic Frontier Foundation. Elas fundaram o Grupo Internet Security Research Group (ISRG). O objetivo do projeto é nada menos do que estabelecer conexões criptografadas HTTPS como o padrão da internet e, assim, garantir mais privacidade e segurança. 


Patrocinadores do projeto
O Grupo Internet Security Research Group quer alcançar isso com certificados gratuitos, os quais são classificados pelos principais navegadores como confiáveis. Além disso, o ISRG desenvolveu um novo protocolo chamado ACME, o que torna a emissão de certificados mais fácil e automatizada.


Relacionamento dos certificados do Let's Encrypt

A instalação e configuração é simples (consulte o artigo Instalador letsencrypt-win-simple), os certificados são validos por 90 dias e renovados automaticamente.

Observação: a configuração adicionará arquivos à página no IIS e será necessário validar o funcionamento após a aplicação das atualizações do SharePoint.

Fontes:

Passos para usar Let's Encrypt no IIS
Instalador letsencrypt-win-simple
Arquitetura

quarta-feira, 23 de dezembro de 2015

Office Web Apps 2013: Impossível abrir arquivos com a extensão XLS



Eu trabelhei esses dias na análise de um caso interessante: o OWA (Office Web Apps 2013) não abriu arquivos com a extensão XLS. O problema estava limitada a extensão XLS e não ocorreu com a versão mais recente (XLSX).

A resolução final foi habilitar o serviço do Firewall do Windows (MpsSvc), pois alguns produtos como por exemplo o Excel utilizam o serviço.

“If you tried to install Windows Essentials, but received error code 0x800706d9 or 0x80070643, you may need to turn on Windows Firewall. Windows Firewall is a program included with Windows XP, Windows Vista, and Windows 7 that monitors all of the data coming into and going out of your computer. Some programs included in Windows Essentials can only be installed if Windows Firewall is turned on.” 


Evento na interface:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
“Não sabemos o que aconteceu, mas houve algum erro. Você poderia tentar novamente?”
("We don't know what happened, but something went wrong. Could you please try that again?")
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Os eventos encontrados no log do OWA:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1.
Failed to create AppContainer profile: 0x800706d9

2.
ExcelService.PostProcessRequest: Excel Server Exception: System.InvalidOperationException: Failed to create XLS converter process, Hr=-2147467259
at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.<LoadWorkbookJobAsync>d__18.MoveNext()
at Microsoft.Office.Excel.Server.AsyncManager.Continue(Object ar) System.InvalidOperationException: Failed to create XLS converter process, Hr=-2147467259
at Microsoft.Office.Excel.Server.CalculationServer.BaseWorkbook.<LoadWorkbookJobAsync>d__18.MoveNext()
at Microsoft.Office.Excel.Server.AsyncManager.Continue(Object ar) StackTrace:
at uls.native.dll: (sig=53fdbc46-a3b4-42e3-b44b-f74a4e17fa48|2|uls.native.pdb, offset=26EA2)
at uls.native.dll: (offset=1F865)

3.
Watson bucket parameters: Uninitialized ULS, ULSException14, 86423e32 "excel web app", 0f0011a5 "15.0.4517.0", e6cb4d65 "microsoft.office.excel.server.calculationserver", 0f0011a5 "15.0.4517.0", 51a73998 "thu may 30 04:35:52 2013", 0000121a "0000121a", 00000252 "00000252", 54e7243f "invalidoperationexception", 65636931 "eci1"
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+