Author: <span>kenio.carvalho</span>

Em ambientes não muito controlados não existem problemas para os usuários instalarem o Activex do iNotes. Mas em ambientes corporativos, onde a segurança das estações é controlada e o acesso dos usuários é cada vez mais restrito, instalar controles Activex é um problema. Não existe ainda um instalador para o Activex do iNotes, ou seja não podemos distribuir como um software a ser instalado na máquina. Para contornar o problema o TN 1278484 explica como permitir que os usuários podem instalar o Activex sem terem direito Power Users (requerido para instalar o Activex).

inotes

Administrar servidores remotamente é o cotidiano de todos os administradores que eu conheço. Uma configuração no RDC (Remote Desktop Client) que eu utilizei por muito tempo me permitia “ver” a console do Domino quando este está em servidores Windows iniciado como serviço. Fiz upgrade do meu Windows XP para SP3 e este recurso parou de funcionar.
A chave que eu utilizava antes era /console agora tem de ser /admin. Veja o TN1209819 da IBM que explica isto.

Domino

Um desafio que enfrentamos no desenvolvimento de Portais (considerando aqui Portal = WebSphere Portal) é a geração de URL’s para passar parâmetros ou mesmo para criar links amigáveis, já que as páginas do portal não são geradas de forma amigável. Este problema advém, na minha opinião, de como as coisas são feitas no mundo das aplicações web tradicionais (tradicional = sem portal) onde é simples endereçar, através de URL, um servlet ou chamar um componente e passar os parâmetros requeridos e obter o resultado.
O que ocorre é que em um portal não são geradas URL’s para Portlets e sim para PÃ�GINAS (API IBM ou JSR168). Existem algumas recursos para contornar este problema, umas passam por utilizar WSRP ou Click to Action (C2A), mas se ainda é necessário utilizar o recurso de URL’s abaixo alguns links que já me ajudaram a resolver este tipo de problema em alguns projetos

How to create a link to target the action of a struts portlet
Portal 6.0 Advanced URL Generation Helper classes
How to create a link to a portlet (Standard API) that passes parameters to that portlet
Creating a link from a servlet to a page in a virtual Portal

portal

Um erro comum que acontece em vários ambientes é aquele quando um usuário é removido do ambiente, sua caixa postal então não é apagada por diversos motivos, técnicos ou não.
Com o passar do tempo o Schedule Manager começa a gerar erros, principalmente quando o servidor é iniciado, informando que o dono (owner) de um banco de dados mailfulano.nsf existe mas o usuário Fulano/Acme não existe.
Fiz um agente que gera um relatório informando se existem caixas postais órfãs. O que o agente faz:
Ele procura as caixas postais, abre o banco de dados, localiza o nome do owner no profile da agenda (calendar profile) e verifica se o owner existe no Domino Directory. Se o usuário não existir um documento é criado.
Não coloquei um método para apagar o banco de dados pois podem aparecer “falsos positivos”.  Executei este agente em dois servidores e apareceram somente 2 falsos positivos entre 400 bancos de dados que teriam de ser realmente apagados.
É necessário criar um Formulário com alguns campos e uma visão para exibir o resultado

Formulário: usuario

Image:Caixas Postais Órfãs
O agente tem o código abaixo

Sub Initialize
       Dim db As NotesDatabase
       Dim ses As NotesSession
       Dim doc As NotesDocument
       Dim docUsu As NotesDocument
       Dim dbdir As NotesDbDirectory
       Dim maildb As NotesDatabase
       Dim Nab As NotesDatabase
       Dim col As NotesDocumentCollection
       Dim Nome As String
       Dim profile As NotesDocument
       Dim Data As New NotesDateTime(“1/1/1980”)
       Dim searchString As String
       Set ses = New NotesSession
       server = Inputbox (“Nome do Servidor) (Enter para Local)”)
       subdir = Inputbox (“Em qual subdiretório o agente deve procurar as bases? ( Enter para todos os diretórios) “)
       If subdir <> “” Then subdir=subdir & “”
       Set db = ses.CurrentDatabase
       Set dbdir = ses.GetDbDirectory(server)
       Set Nab = ses.GetDatabase(server,”names.nsf”)
       Set maildb = dbdir.GetFirstDatabase(DATABASE)        
       While Not (maildb Is Nothing)        
               If Instr(1,maildb.FilePath,subdir,5)<>0 Then
                       Call maildb.Open(“”,””)
                       If maildb.IsOpen Then
                       ‘informações base correio  profile
                               Set profile = maildb.GetProfileDocument(“CalendarProfile”)
                               Nome = profile.Owner(0)
                       ‘procura usuário livro endereços
                               searchString = “Form = ‘Person’ & FullName='” & Nome & “‘”
                               Set col = nab.Search(searchString,data,0)
                               If col.Count=0 Then
                                       Set  docUsu = db.CreateDocument
                                       docUsu.Form = “usuario”
                                       docUsu.NmUsu = Nome
                                       docUsu.ArqMail = maildb.FilePath
                                       docUsu.UtmMdf=maildb.LastModified
                                       Call docUsu.save (True,False)
                               End If
                       End If
               End If
               Set maildb = dbdir.getnextdatabase
       Wend
       
End Sub

cluster

Ontem a IBM publicou um TN  informando que os Applets do Domino também vão necessitar de um “upgrade” da assinatura.
Este alerta já havia sido publicado para o Sametime. A aplicação é simples, veja o TN aqui

Domino

A IBM criou uma nova comunidade chamada My ceveloperWorks utilizando o Lotus Connections. Muito interessante.
 Já criei o meu profile lá, e estarei colocando também algumas coisas.
Para quem se interessar basta ir na  página com as instruções

Comunidade

Após configurar dois servidores Domino 8.5 (Linux SLSES 10) e replicar todos os bancos de dados a nova etapa é fazer tunning dos servidores.
Para que o Cluster funcione corretamente é necessário ajustar o parâmetro SERVER_TRANSINFO_RANGE=n no notes.ini que por default tem o valor de 6.
Este valor default vale para máquinas não tão boas, mas máquinas modernas com vários cores é necessário ajustar este parâmetro para que o seu índice não fique sempre em zero (0 = servidor ocupado e 100 = servidor disponível). Este ajuste é importante para definir também o ponto onde um servidor vai ser considerado ocupado para que ele redirecione requisições para o outro membro do Cluster. No meu caso o ajuste foi -> SERVER_TRANSINFO_RANGE=9.
Para entender como chegar a este valor veja uma apresentação feita no Lotusphere 2009 por Paul Mooney

cluster

A configuração do ICM (Internet Cluster Manager) é uma tarefa relativamente simples. Algumas configurações de ICM são bem simples, por exemplo as que tem somente um ICM e este ICM está dentro do Cluster do Domino.
Realizamos hoje uma configuração que é composta de dois servidores Domino atuando como ICM  para um cluster de 04 servidores Domino de Correio.
Além das configurações normais uma variável nova: NLB da Microsoft como solução de balanceamento (não usamos o DNS Round Robin)
Estamos testando e até agora não tivemos problemas. Para ver como configurar 02 ICM’s para um Cluster Domino veja o TN 1101534

cluster

Estou preparando 4 servidore para funcinarem em cluster Domino. Uma das preocupações é com a marca de não lidos pois por padrão do Domino cria caixas postais com a opção de não replicar estas marcas. Em um ambiente em cluster estas marcas, por opção do cliente, devem ser replicadas entre os servidores.
Como são muitos os bancos de dados e a tarefa desing não altera esta propriedade, mesmo que a atualizemos no template,  fiz um agente para configurar a propriedade do banco de dados. A relação das propriedades que podem ser modificadas via LotusScript pode ser vista no TN 1244071
Basta criar um banco de dados e colocar um agente com o código abaixo:

Sub Initialize
        Dim db As NotesDatabase
        Dim ses As New NotesSession
        Dim doc As NotesDocument
        Dim dbdir As NotesDbDirectory
        Dim maildb As NotesDatabase
        server = Inputbox (“Nome do Servidor) (Enter para Local)”)
        subdir = Inputbox (“Em qual subdiretório o agente deve procurar as bases? ( Enter para todos os diretórios) “)
        If subdir <> “” Then subdir=subdir & “”
        Set db = ses.CurrentDatabase
        Set dbdir = ses.GetDbDirectory(server)        
        Set maildb = dbdir.GetFirstDatabase(DATABASE)
        i = 0
        While Not (maildb Is Nothing)        
                If Instr(1,maildb.FilePath,subdir,5)<>0 Then
                        i = i + 1
                        Call maildb.Open(“”,””)
                        If maildb.IsOpen Then
                                Set doc = maildb.GetDocumentByID(“FFFF0010”)
                                doc.~$Flags=doc.~$Flags(0) & “Q”
                                doc.~$FlagsNoRefresh=”Q”
                                Call doc.save (True,False)
                        End If
                End If
                Set maildb = dbdir.getnextdatabase
        Wend
        Msgbox (“Foi (ram) modificado (s)  “+ i +” banco(s) de dados!” )
End Sub

cluster

Em algums projetos é necessário coexistir o domino com outros sistemas de correio. Um problema até comum é coexistir com outros sistemas de correio que usam o mesmo domínio internet.
Para que o roteamento de correio SMTP entre os dois ambientes funcione corretamente.

1 – Criar um Documento de Domínio global. Isto irá determinar que domínios o Domino considera como local e também controla o formato do endereço internet.

2 – Habilitar a tarefa SMTP

3 – Criar um documento de configuração e em Router/SMTP Basic, habilitar :  “SMTP used when sending messages outside of the local Internet domain” e  “SMTP allowed within the local Internet domain”.

4. Escolher o servidor que funcionará como smart host ou seja o servidor que irá receber o correio SMTP caso o Domino não encontre o usuário no seu diretório  Router/SMTP Basics panel –> “Local Internet domain smart host”

Domino