quarta-feira, 21 de maio de 2014

Error occurred in deployment step 'Add Solution': Error: Cannot add the specified assembly to the global assembly cache: XXX.dll

Este erro ocorre no VS (Visual Studio) ao tentarmos fazer Deploy.

Error occurred in deployment step 'Add Solution': Error: Cannot add the specified assembly to the global assembly cache: XXX.dll

Como resolver:

1) Vá ao GAC (C:\windows\assembly) e remova a DLL manualmente. [remove DLL manually from GAC]
2) Realize deploy novamente [do deploy again!]

Problema: TimerJob habilitado e rodando para todos os Web App do Server

Olá Amigos,

Hoje venho compartilhar uma boa dica com vocês.

Possuo um Timer Job super pesado e lento, ao verificar o histórico de execução dos job no CA (Central Administration > Job History ) percebi que o mesmo estava sendo executado para cada um dos WebApps (Web Applications) do server e é óbvio que este não era o comportamento que eu desejava.

A solução é bastante simples, existe uma propriedade na Feature de Ativação do Timer Job que é responsável pela ativação/vinculação automática do Timer Job a todos os WebApp, basta desativa-la e após vincula-la manualmente ao WebApp Correto.

Na imagem abaixo é possível visualizar a propriedade que deve ser alterada. Por default seu valor é True, devemos passar para False para que a Ativação fique em Manual.



Após fazer o deploy do projeto, basta voltar ao CA e Naveguar até "Gerenciar o Aplicativo Web" (Central Administration -> Application Management -> Manage Web Application)

Selecione seu Web Application e vá em "Gerenciar Recursos" (Manage Features)

Localize a feature de ativação do Timer Job e clique em "Ativar" (Activate)


Era isso ;)

Abraço,
Leonardo

Fontes:
http://www.codeproject.com/Tips/634208/Create-and-Deploy-Custom-Timer-Job-Definition-in-S

http://www.splessons.com/2013/12/create-a-timer-job-in-sharepoint-2013/#SPLessonPhoto[myGallery]/13/


segunda-feira, 19 de maio de 2014

Questão sobre SPDailySchedule e sua propriedade BeginHour

Olá PessoALL,

Hoje foi questionado sobre como "setar" a hora inicial de um SPDailySchedule para as 22 horas.

Para quem não sabe, o SPDailySchedule é utilizado, principalmente, para "setarmos" o horário de agendamento de um Timer Job.

Normalmente temos no código algo como isto:

            //Configura o Timer Job para rodar todos os dias de 1 hora da manhã.
            SPDailySchedule dailySchedule = new SPDailySchedule();
            dailySchedule.BeginHour = 01;
            dailySchedule.EndHour = 01;
            dailySchedule.EndMinute = 30;

 Então surge a dúvida, é 01 am ou 01pm...

A resposta é bem simples na verdade, a propriedade BeginHour é 24 horas, portanto se quisermos rodar o job as 22, basta "setar" o número 22 ;)


            //Configura o Timer Job para rodar todos os dias de 22 horas
            SPDailySchedule dailySchedule = new SPDailySchedule();
            dailySchedule.BeginHour = 22;
            dailySchedule.EndHour = 22;
            dailySchedule.EndMinute = 30;

Bem simples e indolor ;)

Abraço,
Leonardo

quinta-feira, 15 de maio de 2014

Tratando problemas de performance e logs gigantes

A apresentação do Link abaixo é muito interessante. 

Ótimo recurso para quem está enfrentando lentidão em WP customizadas em seu ambiente SharePoint. 

Entender a relação SPRequest e SPSite/SPWeb é a chave para esta jornada de otimização de webparts. 

Muito útil para quem tem erros do tipo:

 Potentially excessive number of SPRequest objects (XX) currently unreleased on thread X

http://pt.slideshare.net/kcponce/sharepoint-underground-unmanaged-code-and-sharepoint-internals

Outro link interessante para o mesmo problema é:

http://blog.meligo.be/2013/10/sprequest-things-i-couldnt-find-about-it/

Existe uma centena de outras dicas que te auxiliarão a cuidar deste caso, mas isto é assunto para outro momento.

Por hoje é só pessoal =D

quinta-feira, 27 de setembro de 2012

BCS : There are no addresses available for this application

Olá :)

Tive esse erro logo após criar o serviço do BCS

"There are no addresses available for this application"

Ainda bem que é de fácil solução :)

Basta iniciar o serviço "“Business Data Connectivity Service" dentro de Application Management > Manage Services on Server

Após IISRESET

Agradecimentos ao site[1]  gringo abaixo :)

[1]
http://nkelkar.wordpress.com/2011/06/16/bcs-there-are-no-addresses-available-for-this-application/

Como renomear o nome de um WebApplication (WebApp) (SharePoint 2010)

Como renomear um WebApp?

Bastante simples ;)

Execute seguinte comando via Power Shell =]

$a=Get-SPWebApplication | where {$_.Name -match "Antigo nome do web application"}

$a.Name

$a.Name="Novo nome do web application"

$a.Update()

Get-SPWebApplication | where {$_.Name -match "Novo nome do web application"}

sexta-feira, 23 de setembro de 2011

XSL Data por extenso. (Sharepoint)

Olá Amigos,

Importante dizer que o código abaixo, funcionará somente no Sharepoint.
Tanto versão 2007 quanto 2010.

Problema:
Formatar data no seguinte formato: "28 de Janeiro de 2011"

Solução:

<xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'dd')"/>
de
<xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'MMMM')"/>
de
<xsl:value-of select="ddwrt:FormatDateTime(string(@DataPublicacao),1046,'yyyy')"/>