Ontem estávamos fazendo um upgrade de um servidor Domino 7.0.3IF1 Linux para a versão 8.5. Um erro estranho aconteceu nesta máquina. Já haviamos realizado 4 instalações da mesma forma. A diferença é que este servidor era um dos mais antigos. O instalador do Domino no Linux simplesmente abortava sem mensagem de erro o TN 1295755 resolveu o problema.
MySphere Posts
Um artigo muito bom sobre como trocar o Notes de máquina e de sistema operacional Migrating/upgrading IBM Lotus Notes clients from either Linux or Microsoft Windows to Lotus Notes 8.0.x for Windows.
Em alguns casos é desejado ou necessário que algumas pessoas possam administrar os grupos no diretório Domino. Aparentemente é suficiente colocar o usuário ou grupo de usuários com acesso de editor/autor na ACL do names.nsf e marcar a role GroupModifier. O problema é que se for dado este direito o usuário pode alterar qualquer grupo do Diretório, inclusive se colocar como LocalDomainAdmins ou Administrator ou outro grupo de segurança.
Para solucionar o problema com segurança o TN 1370433 explica uma alternativa onde não é necessário alterar o design do formuário Groups
O tema sobre performance de aplicativos é recorrente mas ele sempre aparece com mais força quando um servidor está com baixa performance e causando problemas.
Sabemos que I/O em servidores Domino é uma questão sensÃvel. Hoje temos um I/O muito melhorado e com possibilidades de melhorá-lo sem precisar redesenhar aplicativos, mas pode acontecer que algumas propriedades do aplicativo ou código esteja causando problemas. As soluções dependem de cada caso mas dois artigos podem ajudar a enfrentar o problema:
Application Performance Tuning, Part-1
Applicatin Performance Tuning, Part-2
Uma outra dica é utilizar estas propriedades avançadas, mas devem ser utilizadas com cuidado.
Esta semana concluà o processo de integrar o Sametime 8.0.2 com o iNotes 8.5. O trabalho não é muito grande mas algumas dicas são importantes, principalmente se um documento do tipo “How to” está disponÃvel. O TN 1319618 é um destes tipos de documento, ajudou muito.
Estamos com um problema de expansão de grupos no cliente Sametime do iNotes e um PMR já foi aberto. Acho que é um bug mas como a integração de produtos sempre tem umas “pegadinhas” vamos ver o resultado.
Obs: Grupos aninhados não são suportados no cliente iNotes
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).
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.
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
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
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
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