Archive

Archive for the ‘Uncategorized’ Category

Como juntar (merge) vários arquivos CSV em um único arquivo CSV

December 12, 2018 Leave a comment

CENÁRIO:

Olá!

Por várias vezes precisei consolidar arquivos CSV em um único arquivo para facilitar análises de dados e indicadores. Quase sempre realizava o bom e velho copy/paste em um novo arquivo.

Mas, chegou o derradeiro dia de realizar essa operação com mais de 20 arquivos…

SOLUÇÃO:

Pra facilitar, coloque todos os seus arquivos CSV em uma pasta separada.

artigocsv1

Agora vá no “Terminal” (Mac OS) ou “prompt de comando” (Windows) e use o respectivo comando para juntar os arquivos em um único arquivo novo.

Dica: Se os seus arquivos possuem “cabeçalho” (headers), remova-os antes, pois o comando irá juntar todos os arquivos e os cabeçalhos ficarão no meio das linhas.

Mac:

cat *.csv > novoarquivo.csv

artigocsv2

artigocsv3

Windows:

copy *.csv novoarquivo-win.csv

artigocsv4artigocsv5

Abraço!

 

Advertisements

Como buscar informações de status do Workflow no SharePoint Online (365)

November 28, 2018 Leave a comment

CENÁRIO:

Olá!

Nas versões antigas (on-premises) do SharePoint Server é bem fácil obter o status do workflow bastando apenas adicionar uma coluna na view que contém o nome do Workflow.

Entretanto, no SharePoint Online (365) é um pouco diferente. Ainda temos a coluna do workflow (WorkflowColumnStatus), mas ela fica “em branco”. Como fazer para verificar, programaticamente, o status do workflow que foi desenvolvido dentro de um SharePoint Add-in?

ERRO:

Colunas em branco:

wfkcolumn

SOLUÇÃO:

Utilizando o SharePoint CSOM ou JSOM (Javascript Object Model) é possível instanciar o WorkflowServicesManager e obter as informações do workflow.

wfkmanageinstance

Em texto:

var workflowServicesManager = new WorkflowServicesManager(ctx, ctx.Web);

 

// connect to the instance service

var workflowInstanceService = workflowServicesManager.GetWorkflowInstanceService();

 

// get all instances

var workflowInstances = workflowInstanceService.EnumerateInstancesForListItem(listId, itemId);

ctx.Load(workflowInstances, i => i.Include(f => f.Id, f => f.LastUpdated, f => f.Status));

ctx.ExecuteQuery();

foreach (var instance in workflowInstances)

{

try

{

if (instance.Status.ToString() != “Completed”)

{

Console.WriteLine(“{0} – {1} – {2}”,

instance.Id.ToString(),

instance.LastUpdated,

instance.Status.ToString());

 

}

}

catch (Exception ex)

{

_telemetry.TrackException(ex);

}

}

. J

Abraço!

 

Alto consumo CPU e memória noderunner.exe – SharePoint 2013

February 1, 2018 Leave a comment

CENÁRIO:

Olá!

Apesar de ter montando uma máquina virtual de desenvolvimento com um hardware razoável (gastar menos $$) sofri com consumo excessivo de CPU e memória em um servidor com SharePoint 2013, SQL Server 2008 R2 e Visual Studio 2017 instalado.

ERRO:

Não é um erro, mas é um comportamento pesado para um ambiente de desenvolvimento.

Picture1

SOLUÇÃO:

Analisando um pouco o comportamento do servidor para descobrir o “vilão” da jogada… notei que o processo “noderunner.exe” estava consumindo muita memória e CPU considerável.

Picture2

Noderunner.exe é um componente do serviço de busca do SharePoint 2013.

Para ambientes de Dev, podemos reduzir o consumo desse serviço. Principalmente se não estamos usando a busca do SharePoint 2013 no desenvolvimento. Inclusive, desabilitar o serviço.

No caso, eu precisava de um “pouco” de busca… :/

Então, utilizei os passos a seguir para reduzir o impacto da busca no consumo de recursos do servidor.

  1. Rode o cmdlet Powershell abaixo para reduzir o consumo de CPU

Set-SPEnterpriseSearchService -PerformanceLevel Reduced

  1. Altere o parâmetro “memoryLimitMegabytes” do arquivo “exe.config”. Por padrão, a configuração é “0” – ilimitado.

C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config

Picture3

  1. Reinicie o serviço de busca do SharePoint com o cmdlet a seguir

Restart-Service SPSearchHostController

Picture4

Agora o servidor ganhou “algum” fôlego.

Informações adicionais: https://docs.microsoft.com/en-us/powershell/module/sharepoint-server/Set-SPEnterpriseSearchService?view=sharepoint-ps

Reduced: Total number of threads = number of processors, Max Threads/host = number of processors

Partly Reduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 time the number of processors

Maximum: Total number of threads = number of processors

Abraço!

 

The virtual machine cannot restart. The current virtual machine state is RoleStateUnknown

Olá! Smile

Cenário:

Uma dica rápida… que quase me fez chorar… rs

Montei uma VM SharePoint 2010 no Windows Azure Virtual Machine Preview… até aí beleza… Massss… resolvi desligar a máquina para aumentar a memória. Desliguei e pra ligar de novo?

ERRO:

The virtual machine cannot restart. The current virtual machine state is RoleStateUnknown.

Não liga nem com reza brava! Horas de trabalho indo pro limbo… 😥

É um problema da plataforma, e provavelmente será corrigido posteriormente, mas e minha VM? rs

SOLUÇÃO:

Achei uma dica no fórum do Windows Azure americano:

http://social.msdn.microsoft.com/Forums/en-US/WAVirtualMachinesforWindows/thread/5b7063d7-51b4-4258-bff5-2269dd385f85

Mas, resumindo o procedimento…

1. Delete a sua VM (sim, apague!)

2. Cria uma nova VM > From Gallery e escolha o disco da VM que você acabou de deletar.

3. A VM vai voltar e ligar sozinha. Você vai perder a URL anterior (por que não vai conseguir criar com o mesmo DNS, pois já em uso anteriormente por você mesmo – não testei esperar pra ver se o nome fica livre depois de um tempo…) e também os Endpoints.

Tem um esquema de exportar e importar as configurações no link… talvez isso mantenha as configurações anteriores.

É isso aí, até mais! Smile

Abraço!

2011 in review

January 11, 2012 Leave a comment

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 16,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 6 sold-out performances for that many people to see it.

Click here to see the complete report.

Categories: Uncategorized

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

November 7, 2011 Leave a comment

Olá! Alegre

Cenário:

Algumas coisinhas que acontecem quando temos variáveis diferentes ao nosso Portal!

Nesta ocasião o Portal será exposto na Internet, e usuários com permissão somente leitura irão acessar o Portal.

Nos primeiros testes tudo Ok, mas algumas páginas usam determinados recursos que precisam de permissão elevada para rodar.

ERRO:

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.

Ao tentar usar uma funcionalidade bem simples, como SPWeb.Webs, a excetion acima é gerada.

SOLUÇÃO:

Para solucionar o problema podemos forçar nosso código para rodar com permissões elevadas. O SharePoint nos ajuda com isso com o método:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx – SPSecurity.RunWithElevatedPrivileges Method

public static void RunWithElevatedPrivileges(

SPSecurity..::..CodeToRunElevated secureCode)

Então basta instanciar nossos objetos usando este método! Algo assim:

SPSecurity.RunWithElevatedPrivileges(delegate()

{

using (SPSite site = new SPSite(web.Site.ID))

{

// seu código aqui!

}

});

Seu código irá rodar com a conta do Application Pool, a qual possui permissões de SiteCollection Administrator em todas as sitecollections hospedadas nessa Application Pool.

Abraço!

Categories: Uncategorized

2010 in review

January 2, 2011 Leave a comment

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads This blog is doing awesome!.

Crunchy numbers

Featured image

A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 2,000 times in 2010. That’s about 5 full 747s.

 

In 2010, there were 41 new posts, growing the total archive of this blog to 54 posts. There were 330 pictures uploaded, taking up a total of 19mb. That’s about 6 pictures per week.

The busiest day of the year was December 13th with 78 views. The most popular post that day was Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully.

Where did they come from?

The top referring sites in 2010 were google.com.br, social.msdn.microsoft.com, google.pt, twitter.com, and linhadecodigo.com.br.

Some visitors came searching, mostly for error: command: ‘c:program filescommon filesmicrosoft sharedserver14server setup controllerdbwrap.exe’ failed with error code: -2068643839. type: 8::commandfailed..

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully November 2010
1 comment

2

WorkFlow State Machine no SharePoint 2010 September 2010
2 comments

3

Extraindo informações de listas no SharePoint e carregando em tabelas no SQL Server usando Integration Services October 2010
3 comments

4

Acessando e processando dados externos de planilhas via Excel Services Web Services October 2010
3 comments

5

Usando Foreach Loop Container e Variáveis para extrair informações de sites/listas diferentes do SharePoint usando Integration Services November 2010
1 comment

Categories: Uncategorized