Uma documentação muito legal da IBM é um guia com um cenário simples mas que contém informações muito úteis para migração de um Portal 6.0 para Portal 6.1.
O guia está disponÃvel neste link.
MySphere Posts
O servidor Domino não possui a funcionalidade de resposta automática quando um usuário recebe correio. O motivo para implementar isto é uma simples mudança de telefone e endereço, ou seja , para cada correio que uma pessoa receber um aviso automático irá ser enviado para avisar que o endereço da empresa irá mudar e também o telefone. Pesquisei um pouco e achei “pronto” um TN que sendo “traduzido” resolve o problema. A desvantagem é que para cada correio que chegar vai sair outro, o tráfego vai aumentar bastante. Não encontrei o link do TN no site da IBM o resumo do TN segue abaixo
You can use a LotusScript agent to test for Internet addresses and limit the replies to those senders. For example, the agent below would use the trigger of “After new mail arrives.” The agent tests for an Internet address and then sends a reply to the sender with a “Thank you for your inquiry” response.
NOTE: The code below is a sample script provided to illustrate one way to approach this issue. In order for this example to perform as intended, the script must be laid out exactly as indicated below. IBM Support cannot customize this script for a customer’s own configuration.
In the script, you can customize the BodyText variable as desired. The code can be placed in the Initialize event.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim MailDoc As NotesDocument
Dim Body As NotesRichTextItem
Dim OldBody As NotesRichTextItem
Dim OriginalFromAddress As String
Dim Subject As String
Dim BodyText As String
‘This is the body of the email, Chr(10) indicates a new line
‘you can change the body to whatever you want following this format
BodyText = “Thank you for your inquiry.” + Chr(10) +_
“This is an automatically generated response. Please do not reply.” + Chr(10) +_
“We will contact you shortly regarding your inquiry.” + Chr(10) +_
“Regards,” + Chr(10)+_
“John Doe” ‘SET THIS TO DESIRED NAME
‘set objects
Set db = session.CurrentDatabase
Set col = db.UnprocessedDocuments
Set doc = col.GetFirstDocument
‘set the subject of the email to go out
Subject = “Re: ” + doc.GetItemValue(“Subject”)(0)
‘loop through the document collection
While Not doc Is Nothing
‘check the address to see if it contains an @ sign
If doc.HasItem(“SMTPOriginator”) Then
OriginalFromAddress = doc.GetItemValue(“SMTPOriginator”)(0)
Elseif doc.HasItem(“From”) Then
OriginalFromAddress = doc.GetItemValue(“From”)(0)
Else
Goto nextdoc
End If
‘if an @ sign is found, send a reply
If Instr(OriginalFromAddress,”@”) <> 0 Then
‘create a new mail document
Set MailDoc = db.CreateDocument
‘set the subject and from fields
Call MailDoc.ReplaceItemValue(“Subject”, Subject)
‘set the body and append the body from the original email
Set OldBody = doc.GetFirstItem(“body”)
Set body = MailDoc.CreateRichTextItem(“body”)
Call body.AppendText(bodyText)
Call body.AddNewline(2)
Call body.AppendRTItem(oldBody)
‘send the document
Call MailDoc.Send(False,OriginalFromAddress)
End If
Nextdoc:
‘update the processedDoc flag so that this document isn’t processed
‘again on a subsequent run
Call session.UpdateProcessedDoc(doc)
‘get the next document in the collection
Set doc = col.GetNextDocument(doc)
Wend
Neste fim de semana fizemos um upagrade de um Domino 7.0.2 para a versão 8.5. O Linux instalado antes era o SUSE SLES 9 SP3.
O Domino 8.5 não suporta o SUSE 9 então solicitamos o upgrade para versão SUSE SLES 10 SP1, pois já existem 03 servidores em produção com este Linux.
O upgrade do Linux foi realizado, mas a versão instalada foi o SUSE SLES 10 SP2. Aparentemente tudo ok pois os requesitos de sistema não informam nada sobre SP1 ou SP2 para o SUSE. A instalação terminou com um “warning” informado que o SUSE 10 não é suportado. Foi um warning mas devia ser um “fail” pois o Domino assim que foi iniciado apresentou um CRASH. Veja abaixo a mensagem de erro:
06/20/2009 06:22:49 PM HTTP Server: Using Internet Site Configuration View
Exception in thread “main” java.lang.SecurityException: Signers of ‘lotus.domino.axis.InternalFault’ do not match signers of other classes in package
at java.lang.ClassLoader.checkPackageSigners(ClassLoader.java:312)
at java.lang.ClassLoader.defineClass(ClassLoader.java:254)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:506)
………
Exception in thread “main” java.lang.SecurityException: Signers of ‘lotus.domino.axis.message.RPCParam’ do not match signers of other classes in package
at java.lang.ClassLoader.checkPackageSigners(ClassLoader.java:312)
at java.lang.ClassLoader.defineClass(ClassLoader.java:254)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:506)
……….
Exception in thread “main” java.lang.SecurityException: Signers of ‘lotus.domino.types.Fault’ do not match signers of other classes in package
at java.lang.ClassLoader.checkPackageSigners(ClassLoader.java:312)
at java.lang.ClassLoader.defineClass(ClassLoader.java:254)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:506)
at java.net.URLClassLoader.access$300(URLClassLoader.java:77)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:905)
at java.security.AccessController.doPrivileged(AccessController.java:284)
Stack base = 0xbfeb088c, Stack size = 556 bytes
Fatal Error signal = 0x0000000b PID/TID = 9362/-1263466832
6/20/2009 18:22:51 Running NSD
NSD is in progress ……………..
Verifiquei o install.log e percebi que ele removeu alguns arquivos do diretório /java/bin. Como era um upgrade achamos que poderia ser até normal.
A task que gerava o CRASH era a HTTP. Abrimos um PMR e a IBM não tinha ainda nenhum caso parecido, mas ajudaram pois fizeram um análise do NSD e detectaram que alguns arquivos estavam faltando.
Solução: O Linux foi reinstalado para SUSE SLES 10 SP1 e reinstalamos o Domino 8.5, tudo funcionou perfeitamente.
Portanto cuidado com o SUSE SLES 10 SP2, infelizmente não ficamos sabendo a causa do problema pois o servidor tinha de voltar a operar e a janela de manutenção já estava acabando.
A tarefa update pode causar problemas de performance quando o servidor tem muitos bancos de dados principalmente quando os bancos de dados são grandes. Uma alternativa para evitar problemas, é agendar a frequência de atualização do Ãndice. Isto depende de cada aplicação, do design das views. Uma opção interessante é o agendamento onde pode-se configurar de quanto em quanto tempo ou quando o Ãndice vai ser atualizado.
Para configurar vá nas propriedades do banco de dados e configure a atualização do full text index como na figura abaixo:
Depois crie um programa no Domino Directory para atualizar o Ãndice;
Um log que pode ser muito útil para rastrear as “tarefas” administrativas pode ser configurado no Portal. O seriço é o Auditing Service que gera um log de vários eventos tais como criação de portlets entre outras. Para ver mais detalhes veja neste link.
O serviço tem de ser habilitado alterando-se o arquivo AuditService.properties e reiniciar o portal
Não considero uma boa polÃtica ficar restringindo o uso do Sametime, é uma ferramenta de comunicação muito poderosa, mas… (sempre tem um mas) existem usuários que abusam ou o chefe não compreende a importância do uso do Sametime.
Fui questionado, por um cliente sobre qual a melhor maneira de restringir o uso do Sametime ou seja que alguns usuários não usem o produto. O TN1166845 mostra algumas maneiras de atingir o objetivo.
A opção que fizemos foi usar um atributo do Diretório Domino existente (evita customização) e alterar o filtro de autenticação e busca do Sametime.
SPAM é uma verdadeira praga. Estou procurando soluções para combater esta praga nos nossos servidores e algumas opções já me foram apresentadas, umas pelo google e outra pelo Paulo que trabalha comigo. (Que me lembrou do produto da IBM).
1 – Lotus Protector for Mail Security – É um produto (appliance) que pode ser um Hardware ou VM.
2 – Montar um servidor com SPAMASSASIN – É uma opção open source que é muito usada. Achei alguns links que mostram como montar um servidor destes.
Link 1 e Link 2. Achei o Link 2 mais fácil de acompanhar.
Vou tentar primeiro o Lotus Protector.
Agora que o feriado já passou vou iniciar mais um perÃodo de certificações. Tenho como objetivo renovar as certificações Domino Administrator, Domino Designer e também WebSpehre Portal Administrator. Vou repetir a estratégia de sempre.
A primeira que irei renovar será a Domino Administrator para versão 8. O ambiente que terei de preparar vai ser em uma VM pois meu Note já está com tudo instalado na versão 8.5 e como o objetivo é só a prova mesmo não vale a pena remover tudo.
Um recurso que muitas pessoas estão pedindo, principalmente depois de ver uma apresentação do Sametime, é a capacidade de ver as fotos das pessoas no chat ou em outras partes do produto.
As configurações variam de caso para caso, principalmente com a utilização de LDAP.
Para configurar as fotos e utilizando como diretório LDAP um servidor Domino o TechNote 1244204 resolve o problema. Neste TN tem um passo a passo para inserir a imagem utilizando uma ferramenta do tipo LDAP BROWSER, eu utilizei uma Open Source muito boa chamada JXPlorer. Para colocar uma foto ou poucas é útil mas para colocar um lote de fotografias fica complicado. Achei o código abaixo que é um agente que coloca imagens no campo jpegPhoto uma a uma. Para fazer a carga de várias fotos o agente tem de ser modificado conforme o caso. O que simplificou meu agente foi a padronização dos arquivos de fotos com menos de 64Kb e os nomes formados pela matrÃcula + jpg e o shortName dos usuários ser justamente a matrÃcula.
:
Declare Function NEMGetFile Lib “nnotesws” ( wUnk As Integer, Byval FileName As String, Byval Filter As String, Byval Title As String ) As Integer
Const adTypeBinary = 1
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument
Dim sPath As String
Set db = s.CurrentDatabase
Set col = db.UnprocessedDocuments
Set doc = col.GetFirstDocument
sPath = GetFile
Call doc.ReplaceItemValueCustomDataBytes(“jpegPhoto”,”jpegPhoto”,ReadByteArray(sPath))
Call doc.Save(True, False)
Set doc = Nothing
Set db = Nothing
Set col = Nothing
Set s = Nothing
End Sub
Function ReadByteArray(strFileName As String) As Variant
Dim bytes As Variant
Set bytes = CreateObject(“ADODB.Stream”)
bytes.Type = adTypeBinary
bytes.Open
bytes.LoadFromFile strFileName
ReadByteArray = bytes.Read
End Function
Public Function GetFile() As String
Dim strFileName As String*256
Dim strTitle As String
Dim strFilter As String
strFileName = “*.jpg”
strTitle = “Please select the jpg image to be imported”
strFilter = “JPEG Image|*.jpg”
Call NEMGetFile( 0, strFileName, strFilter, strTitle)
GetFile = Trim(strFileName)
End Function