Como aumentar o tamanho da assinatura de e-mail no Zimbra Desktop

“As maravilhas do software livre me levaram à solução desse incidente….”

Na empresa em que trabalho, estamos homologando o Zimbra e instalamos em toda TI o Zimbra Desktop para irmos nos acostumando com a interface, já que teremos de dar suporte para o software em pouco tempo.

Ao configurar a assinatura de e-mail padrão da empresa, nos deparamos com o seguinte erro “A assinatura HTML ultrapassa o tamanho máximo de 1024 ‘Incluindo as tags HTML'”. Foi então que precisamos correr atrás de uma solução…

Para solucionar esse problema é preciso alterar as configurações diretamente nos arquivos JavaScipt.

1º PASSO

No arquivo C:\Program Files\Zimbra\Zimbra Desktop\jetty\webapps\zimbra\js\NewWindow_2_all.js Procure pela linha abaixo e altere o valor 1024 pelo valor desejado (eu coloquei 2048).


name:"zimbraMailSignatureMaxLength",type:ZmSetting .T_COS,dataType:ZmSetting.D_INT,defaultValue:<strong>1024</strong>}

2º PASSO

No arquivo C:\Program Files\Zimbra\Zimbra Desktop\jetty\webapps\zimbra\js\Startup1_2_all.js Procure pela linha abaixo e altere o valor 1024 pelo valor desejado (eu coloquei 2048).

name:"zimbraMailSignatureMaxLength",type:ZmSetting .T_COS,dataType:ZmSetting.D_INT,defaultValue:<strong>1024</strong>}

3º PASSO

Por fim, edite o valor de 1024 pelo tamanho desejado, também no arquivo C:\Program Files\Zimbra\Zimbra Desktop\jetty\webapps\zimbra\js\zimbraMail\prefs\Z mPreferencesApp.js. Procure pela linha abaixo.

settings.registerSetting("SIGNATURE_MAX_LENGTH", {name:"zimbraMailSignatureMaxLength", type:ZmSetting.T_COS, dataType:ZmSetting.D_INT, defaultValue:<strong>1024</strong>});

Observação: Para GNU/Linux, basta alterar o path do zimbra (C:\Arquivos de programas\Zimbra) para o path correto (/opt/zimbra/zdesktop/).

4º PASSO

Reinicie o seu Zimbra Desktop.

Até a próxima!

GRRF: Erro com banco de dados

Recentemente, tivemos problemas em instalar o GRRF em uma máquina no ambiente da Empresa.

Atualmente, trabalhamos com Domínios e usuários com direitos limitados e por esse fato, muitas aplicações dão um trabalho danado na hora de serem executadas. Não diferente, as aplicações do nosso Governo (geralmente dão mais trabalho), o aplicativo GRRF deu muita dor de cabeça por aqui.

Como encontramos a solução, vou disponibiliza-la para que a dor de cabeça de vocês seja menor que a minha…

ATENÇÃO

Se você não trabalha com infraestrutura de TI ou não é familiarizado com isso, apenas execute o programa como administrador. Tem um comentário do Felipe Fonseca aqui em baixo que explica como fazer isso e essa dica foi dada pela Myller Meirelles também nos comentários.
Caso contrário, segue o baile… valeu!

  1.  Primeiramente, é necessário setar permissão para o grupo de usuários em questão nos arquivos Hl_med32.dllHl_pub32.dllHlsoft32.dll localizados no diretório C:\WINDOWS\SYSTEM32.
  2. Depois, dê também permissão no diretório C:\WINDOWS\PREFETCH
  3. Também em C:\Arquivos de programas\Caixa e em HKLM\SOFTWARES\Caixa
  4. Vá no Painel de Controle > Ferramentas Administrativas > Diretivas de Segurança Local > Configurações de Segurança > Diretivas Locais > Atribuição de Direitos de Usuário > ‘Criar Objetos Globais’ > Adicionar o usuário ou adicione à uma GPO.
Mais auxílio para esse problema, pode ser encontrado nesse link (que foi de onde tirei tudo isso hehe) http://social.technet.microsoft.com/Forums/pt-BR/winvistapt/thread/905b1d18-90a3-4e50-80fe-028035209677
Abraço!

Ferramentas de Administração de Servidor Remoto para Windows 7

Ferramentas de administração remota

Na maioria das vezes, não é tão prático acessarmos o nosso servidor via terminal server somente para verificar alguma configuração ou fazer algo rotineiro.

Para essas tarefas, existe um pacote de MMC’s já configurados que se chama “Pacote de Administração de Servidor Remoto”. Com ele, nós podemos administrar o nosso ambiente diretamente da nossa estação de trabalho, logicamente, se tivermos permissão para isso.

Ele simplesmente gera o “atalho” Ferramentas administrativas, idêntico ao presente em servidores, porém, em alguns consoles, é necessário que informemos o computador/servidor destino.

No Microsoft Windows 7, temos uma particularidade que não ocorria no Microsoft Windows XP. Nesse caso, o pacote também é baixado como um update, mas é instalado como uma feature do sistema operacional.

Na vídeo aula abaixo, explico como fazer para instalar e ativar esse pacote.


Link para download do pacote (gratuito): http://www.microsoft.com/downloads/details.aspx?familyid=7d2f6ad7-656b-4313-a005-4e344e43997d&displaylang=pt-br
Grande abraço!

Place holders – Loren Ipsum e PlaceKitten

Place Kitten Grayscale 400x250

Salve gurizada do café!

Com muita frequência, precisamos desenvolver um layout sem ter fotos de boa qualidade ou até mesmo sem nenhuma imagem ou texto fornecidos pelo cliente.

São nesses casos que nós fazemos uso dos “place holders”, que de uma tradução livre e bem escrota, significa “reservar um lugar”.
Quando não temos assunto suficiente para criar testes “enchedores de linguiça” e para não ficar tão feio como “hfasdiuhf asidufasidufh” utilizamos o famoso “Loren Ipsum”.

Loren Ipsum

Reza a lenda que o Loren Ipsum é um trecho de um texto escrito em latim retirado de um antigo livro. Para utilizar é bem simples.
Primeiro você acessa o site http://www.lipsum.com/, depois você preenche os dados que deseja no canto inferior direito e clicar em “Generate Loren Ipsum”. Selecione o texto retornado e cole onde quiser no seu layout.

Place Kitten

OK! Já temos como “reservar” espaços para textos, mas e aí, como ficam com as imagens?
Pensando nesse fato, alguém (que eu não sei quem é hehe) criou o http://placekitten.com/. Esse place holder, funciona de forma extremamente fácil, basta você digitar na URL do site a largura, e a altura e pressionar enter. O site imediatamente vai gerar uma linda imagem de um gatinho para você copiar e colocar no seu layout.
Ainda é possível gerar uma imagem em “preto e branco”, basta simplesmente adicionar um “parâmetro” g, também na URL.

Confira os exemplos:

COLORIDA: Copie e cole no seu navegador para gerar uma imagem colorida: http://placekitten.com/500/250

Esse link irá gerar uma imagem colorida com 500 px de width e 250 px de height.

Place Kitten 500x250

Place Kitten 500x250

[PRETO E BRANCO] Copie e cole no seu navegador para gerar uma imagem preto e branco (tons de cinza/grayscale): http://placekitten.com/g/400/120

Esse link irá gerar uma imagem em grayscale com 400 px de width e 250 px de height.

Place Kitten Grayscale 400x250

Place Kitten Grayscale 400x250

Em breve farei uma vídeo aula para exemplificar.

Grande abraço!

robots.txt – Restrições aos buscadores

Por quê?

Muitas vezes precisamos “esconder” determinados diretórios, arquivos e até mesmo sites inteiros dos gulosos robôs de busca, também conhecidos como robots e webcrawlers. Com um simples arquivo texto chamado robots.txt, podemos fazer isso!

Esse arquivo deve ser salvo no diretório ROOT do seu servidor web com o nome de robots.txt de forma que possa ser acessível a todos como esse exemplo:

http://www.seusite.com.br/robots.txt

O que são Robot’s?

Robot (ou robô) é um programa de computador que percorre automaticamente as páginas da Internet em busca de documentos, a fim de indexá-los, validá-los ou monitorar alterações de conteúdo.
Hoje em dia, alguns robôs estão tão avançados que podem aceitar um sitemap e até preencher um formulário para ver a saída no navegador, como é o caso do GoogleBot, motor de busca do Google.
O arquivo robots.txt foi proposto como um padrão para esses mecanismos, onde nós, desenvolvedores podemos informar diretórios e arquivos que possam ou não ser indexados por eles. Não podemos confundir com possibilidade de acesso, esse arquivo, simplesmente faz como que o conteúdo não seja indexado. Para proibir acesso, utilizamos as permissões de arquivos e/ou o arquivo .htaccess.

O arquivo robots.txt

Existem alguns sites que geram esse arquivo conforme o preenchimento de um formulário, mas vou explicar aqui como você mesmo pode criar o seu.

Basicamente ele é dividido em três partes:

  1. Definição dos motores
  2. Permissões
  3. Sitemap (somente para Yahoo, Google e MSN)
Você pode criar esse arquivo em qualquer editor de texto, como o NOTEPAD ou VI por exemplo.
1. Definições de motores
É possível setar diferentes permissões para motores de busca distintos, por exemplo, deixar o motor do Yahoo ver o diretório “produtos” mas o Google não. Essas definições são feitas com a diretiva:
User-agent

Possíveis valores para User-agent, são:

  • Google: User-agent: Googlebot
  • Yahoo: User-agent: Slurp
  • MSN: User-agent: msnbot
  • Todos os mecanismos: User-agent: *

Seguindo nosso exemplo, nosso robots.txt ficaria da seguinte forma:

User-agent:Slurp
Disallow: /
Allow: /produtos

User-agent:Googlebot
Allow: /
Disallow: /produtos

2. Permissões

As permissões são facilmente definidas pelas diretivas Allow e Disallow, para permitir e negar, respectivamente os diretórios ou arquivos sequentes.

User-agent:*
Allow:/
Disallow: /admin
Disallow: /fotos
Allow: /produtos
Allow: /artigos

O Exemplo acima utiliza o caractere “/” para definir todo o site e nega a indexação dos diretórios admin e fotos, liberando os diretórios produtos e artigos.

Assim como em expressões regulares, temos os caractéres “*” (asterísco) e “$” (sifrão), que indicam,  “qualquer coisa” e “terminado com” respectivamente, alguns exemplos abaixo:

User-agent:*
Disallow:produtos/*.png$
Allow:produtos/
Disallow:admin/*.js
Disallow:fotos/*?*cat=cordas

O Googlebot, preenche os formulários contidos na página para verificar a resposta obtida. Para bloquearmos esse tipo de ação, caso estejamos utilizando o método GET, podemos fazer da seguinte forma.

</pre>
<form action="search.php?s=" method="get">...</form>
<pre>

Nesse caso precisamos negar a indexação de “search.php?s” para isso acrescentaremos a seguinte linha na seção do googlebot no nosso robots.txt

User-agent: Googlebot
Disallow: /search.php?s=*

Quando especificar mais de um motor ele ignora o resto e passa a utilizar somente as especificações daquele motor, isto é, NÃO HÁ HERANÇA!

Meta-tag’s e links

Também é possível especificar uma META-TAG para fazer a proibição diretamente na página:

<meta name="robots" content="noindex,nofollow">
<a href="foo.php" rel="nofollow">Foo</a>

O “parâmetro” noindex, diz ao bot que o site não deve ser indexado e o parâmetro nofollow, que o site no link não deve ser seguido.
Nofollow é muito útil em seções de comentários, onde os spans abusam da nossa paciência. Essa forma não é eficaz para acabar com essa praga, mas pelo menos o eles não ganham pontos com links no Googlebot por exemplo.

Links para testar

É possível testar se os caminhos especificados no robots.txt realmente existem. Fora a identificação de prováveis erros de sintaxe em arquivos muito grandes e gerados manualmente, não vejo muita utilidade nesses caras. Para testar utilize o próprio arquivo robots do Google, até nele eles apontam erros, principalmente relacionados ao ‘*’.

http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php
http://www.frobee.com/robots-txt-check

Exemplos

Podemos visualizar alguns bons exemplos nos links abaixo:

http://www.google.com.br/robots.txt
http://www.facebook.com.br/robots.txt (leia os direitos)
http://www.marketingdebusca.com.br/robots.txt
http://www.mestreseo.com.br/robots.txt (bem humorado hehe)

Segundo o site BrPoint, o seguinte robots.txt é ideal para quem utiliza WordPress.

User-agent: *
# remova os diretorios
Disallow: /cgi-bin/
Disallow: /tag/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /trackback/
Disallow: /feed/
Disallow: /tags/
User-agent: Googlebot
# remover scrips css e afins
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.gz$
Disallow: /*.wmv$
Disallow: /*.cgi$
Disallow: /*.xhtml$
# qualquer endereco que contenha ?
Disallow: /*?*
# permitir o adsense em qualquer url
User-agent: Mediapartners-Google*
Disallow:
Allow: /*
#Sitemap
Sitemap: http://www.brpoint.net/sitemap.xml

Geradores de robots.txt

Fontes:

MaskInputMoney – Máscara para campos de moeda

O plugin Mask Input Money do jQuery foi desenvolvido para fornecer uma máscara específica para moedas, sendo possível definir o símbolo (R$, US$, $, etc), número de casas, entre outras opções.

Para utilização de máscara de forma mais genérica, verifique o post sobre Masked Input Plugin – Máscara para campos de texto.

O plugin deve “atacar” o input em questão e aceita os seguintes parâmetros:

  thousands
  decimal
  allowZero
  allowNegative
  defaultZero
  symbol
  showSymbol
  symbolStay
  precision

thousands

Aceita um caractér (CHAR) como valor e o define como o símbolo para milhares. Padrão: ",".

decimal

Aceita um caractér (CHAR) como valor e o define como o símbolo para decimal. Padrão: ".".

allowZero

Aceita um true ou false (BOOLEAN) como valor e define se o campo vai aceitar zeros (true) ou não (false).  Padrão: "false".

allowNegative

Aceita um true ou false (BOOLEAN) como valor e define se o campo vai aceitar um valor negativo (true) ou não (false). Padrão: "false".

defaultZero

Aceita true ou false (BOOLEAN) como valor e define se o campo vai aparecer com os valores zerados na inicialização (ao receber focus). Padrão "true".

symbol

Aceita uma string como valor e define o símbolo da moeda. Padrão: "US$"

showSymbol

Aceita true ou false (BOOLEAN) como valor e define se o campo deverá mostrar o símbolo (true) ou não (false). Padrão? "false".

symbolStay

Aceita true ou false (BOOLEAN) como valor e define se o campo deverá permanecer mostrando o símbolo quando perder o foco (evento blur, change, etc). Padrão: "false".

precision

Aceita um inteiro (INT) como valor e define quantas casas decimais o valor poderá conter. Padrão: "2".

Carregando o arquivo

Como premissa, devemos ter carregado o jQuery e em, seguida podemos carregar o arquivo do plugin, diretamente do nosso servidor (fazendo o download do arquivo) ou então do Github.

<head>
 ...
 <script src="//raw.github.com/plentz/jquery-maskmoney/master/jquery.maskMoney.js" type="text/javascript"></script>
 ...
</head>

Exemplos de utilização

HTML: supomos que temos um campo de texto com o ID “GRANA”.

...
<input type="text" name="dinheiro" id="GRANA" />
...

JS (jQuery): utilizamos o seguinte código para atribuir uma máscara de REAL (R$) à esse campo.

$("#GRANA").maskMoney({thousands:".", decimal:",", symbol:"R$", showSymbol:true, symbolStay:true});

Vídeo-aula

Nesse vídeo você encontrará mais explicações e verá os exemplos em funcionamento.

Download

https://github.com/plentz/jquery-maskmoney/downloads

Link do projeto 

https://github.com/plentz/jquery-maskmoney

Active Directory: Adicionar grupos como filhos de outro grupo

Se ao utilizar um domínio Microsoft Windows Server 2003 e você não está conseguindo adicionar um ou mais grupos como filhos de um grupo, ou até mesmo não consegue pesquisar por grupos na hora de adicionar os membros, provavelmente seu domínio está trabalhando com o tipo misto (compatibilidade com Microsfot Windows 2000).

Para solucionar o problema, você precisa extender o seu domínio para Microsoft Windows Server 2003 Nativo, pois essa funcionalidade não existia no Micorsoft Windows 2000.

CUIDADO: certifique-se de que você não tem nenhum domínio Microsoft Windows 2000 ou estações abaixo de Microsoft Windows XP, caso contrário você vai ter problemas.

Para fazer isso, siga os passos abaixo:

  1. Acesse um dos seus Domain Controllers
  2. Abra o console de administração do Active Directory Users and Computers
  3. Clique sobre Raise Domain Function Level
  4. Selecione Windows Server 2003 no selectbox
  5. Clique em Raise
  6. Clique duas vezes no OK

Obs.: Você também pode fazer os passos apartir do item 3 para o console Active Directory Domain and Trusts

Conforme informado, essa tarefa será replicada para os outros servidores através do serviço de replicação automática. Para monitorar utilize o repmon

Nota: Esse procedimento também é necessário para fazer a migração do domínio para Microsoft Windows Server 2003

Erro ao adicionar o computador no domínio. Não é possível alcançar o local da rede

Hoje me deparei com um erro que nunca havia encontrado. Uma das máquinas, parecia não ter relação de confiança com o domínio, como arrecém troquei um domain server, revisei todo o processo.

Revisei os DS, o DNS, as polices e nada! Então tive a brilhante ideia de tirar a máquina do domínio para depois ingressar novamente. Saiu tranquilo, mas na hora de voltar, dava essa mensagem de erro “Erro ao adicionar o computador no domínio. Não é possível alcançar o local da rede” e no log de Aplicativo, ficava essa informação

Tipo de evento:	Erro
Fonte de evento:	Userenv
Categoria do evento:	Nenhuma
Id. do evento:	1058
Data:		13/12/2011
Hora:		15:43:25
Usuário:		DOMAIN\user
Computador:	MAQUINA01
Descrição:
O Windows não pode acessar o arquivo gpt.ini para GPO cn={1A736F71-7555-4DC6-B3DE-1D25F8219DC8},cn=policies,cn=system,DC=domain,DC=empresa,DC=local. O arquivo deverá estar em . (Não é possível alcançar o local da rede. Para obter informações sobre solução de problemas de rede, consulte a Ajuda do Windows. ). Processamento da diretiva de grupo cancelado. 

Para obter mais informações, visite o Centro de ajuda e suporte em http://go.microsoft.com/fwlink/events.asp.

Depois de muitos testes resolvi ativar o serviço “Auxiliar NetBios TCP/IP” e pronto!

Se você também tem esse problema, certifique-se de que esse serviço está configurado como Automático no console services.msc.

Como ativar o logon automático no Windows

Microsoft Hotfix 50529 - Primeira etapa

Muitas vezes não queremos que o Windows solicite para inserir as credenciais de acesso, quaisquer sejam os motivos.

Existem algumas maneiras de fazer isso, vou descreve-las abaixo:

1ª Forma – Hotfix da Microsoft

Uma forma (minha predileta) é utilizar os hotfix 50529 para registrar um usuário automático e 50532 para desregistrar.

A execução do aplicativo é extremamente simples e pode ser observada nas imagens abaixo:

 
2ª Forma – Allterar o registro do Windows

Sempre que for alterar o registro do Windows, faça um backup e tenha em mente que essa operação pode ser traumatica.

  1. Clique em Iniciar
  2. Clique em Executar
  3. Digite regedit.exe e pressione Enter
  4. Pesquise pelas chaves abaixo:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AutoAdminLogon"="1"
"DefaultUserName"="nome do usuário"
"DefaultPassword"="senha do usuário"
"DefaultDomainName"="dominio local"
"DontDisplayLastUserName"="0"

Alterando a o valor  do parâmetro AutoAdminLogon para 1, você está informando para o Sistema Operacional que ele deverá utilizar os parâmetros seguintes para fazer o logon automaticamente.

Preencha os parâmetros DefaulUserNameDefaultPassword com os dados do usuário que queres que inicie diretamente o sistema.

Já na chave DefaultDomainName, preencha com o nome do seu Domínio de rede ou então com o próprio nome da máquina, em caso de máquinas locais.

Mantenha o valor de DontDisplayLastUserName em 0.

Agora feche o registro e reinicie o computador.

Regedit - Autologon

Regedit - Autologon

3ª Forma – Aplicativo userpasswords2 do Painel de controle (Control)

A terceira e última forma é utilizando o aplicativo userpassword2 do Painel de controle.

  1. Clique em Iniciar
  2. Clique em Executar
  3. Digite control userpasswords2
  4. Desmarque a opção “Os usuários devem digitar um nome de usuário e senha para acessar esse computador”.

    UserPasswords2 - Autologon

    UserPasswords2 - Autologon

 

 

Fonte: http://support.microsoft.com/kb/315231/pt-br