This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal


Jun 29, 2016, 11:19 AM
18 Posts

Categorization of emails

  • Category: Mail
  • Platform: All Platforms
  • Release: 9.0.1
  • Role: Administrator
  • Tags: mail,notes,categorization
  • Replies: 3

Hello All,

does anybody know or have an idea, how it would be possible to colour categorize mails in Notes?

In Standard it is only possible to colour the sender.

Background: we are going to migrate a branch from MS Exchange/Outlook to Domino/Notes and the users are heavily using this function in Outlook. If there is not a similar possibility in Notes. I am sure, that I recieve a lot of complaints.

Is this possibility available in one of the next releases?

Thanks and best Regards

Christian

Jun 29, 2016, 1:22 PM
42 Posts
Re; Categorization of emails
Hi Christian,

It looks like it is indeed just the sender colours that can be changed.

You could open an enhancement request with Lotus Support to get this added but currently this functionality is not available.

Regards,

Mark
Jun 29, 2016, 1:39 PM
323 Posts
I don't know about the existing template; native Notes offers some options though.

I'm not sure you'll get an answer to whether features will be implemented in future releases.

It could be somewhat simple to implement (actually less code than this posting), though I'm unsure how you'd like to actually control coloring information on the email. To be sure, there's nothing in Notes that'd prevent an intermediate developer from making this change.

Are the replies also marked with a color when they come in, or when they're sent? That is, is there any inheritance or incoming-email operation that would mark other replies with the same color?

I'm looking at an older template, but it's essentially a formula in a text field on the profile, "ColorProfile": "$Sender1".

I'd also have to assume you're working with the Lotus Notes client, not iNotes. Is this true?

It appears to be possible to add a separate design template on top of the existing template. That would keep the standard template "standard", but allow you to apply more design elements to support color customization. It comes with two significant downsides:

1- If you left the mailbox standard, changes in the mailbox preferences would override any change you injected independently into this profile.

2- Your users need to be able to tag emails for color. If you need the color action available as a view button, instead of the Action menu, then design changes would need to affect the views themselves (so -- customizing the mail template). However if you can tolerate the user selecting say, "Actions..Color ..." from the Lotus Notes menu, that'd keep the design elements separate.

3- We're only talking about the Lotus Notes client users receiving this enhancement.

If you could tolerate 1 - 3, there seems to be a way to design in this change without actually changing the mail template -- just adding a separate template in addition to the standard.

(In interests of disclosure, I'm not offering to do this for money. But I'd be happy to point out how to proceed.)

Jul 23, 2016, 2:09 PM
323 Posts
Here's code that can show you what's going on.

The code is not modifying any design element in the standard email system. It's simply adding an agent, which can be independently managed in its own template.

It does require that your users set some color the first time, then close & reopen their mail. From then on it'll display personalized colors.

 

%REM
    Agent color\set color
    Created Jul 22, 2016 by Mike Woolsey/Mike Woolsey
    Description: Set colors based on user selection
%END REM

Option Public
Option Declare
%Include "lsconst.lss"
Sub Initialize
    Const maxcolor = 9
    On Error GoTo logError
    Dim sess As New NotesSession
    Dim db As NotesDatabase
    Dim coll As NotesDocumentCollection
    Dim profile As NotesDocument
    Set db = sess.Currentdatabase
    Set profile = db.Getprofiledocument("ColorProfile")
    If profile Is Nothing Then
        MsgBox "Color Profile not found."
        Exit Sub
    End If
    Set coll = db.Unprocesseddocuments
    
    Dim ui As New NotesUIWorkspace
    Dim colr As Variant
    Dim colrs(0 To maxcolor) As String
    colrs(0) = "Default"
    colrs(1) = "Blue"
    colrs(2) = "Green"
    colrs(3) = "Red"
    colrs(4) = "Orange"
    colrs(5) = "Yellow"
    colrs(6) = "Purple"
    colrs(7) = "Teal"
    colrs(8) = "Gray"
    colrs(maxcolor) = "Clear Colors"
    
    Dim colrid(0 To maxcolor) As Variant

    'inverse colors
    'colrid(0) = Evaluate(|-1:-1:-1:-1:-1:-1|)
    'colrid(1) = Evaluate(|0:0:128:224:240:255|)
    'colrid(2) = Evaluate(|0:128:0:224:255:224|)
    'colrid(3) = Evaluate(|128:0:0:255:224:230|)
    'colrid(4) = Evaluate(|255:128:0:255:240:208|)
    'colrid(5) = Evaluate(|255:255:208:255:224:24|)
    'colrid(6) = Evaluate(|128:0:128:240:224:255|)
    'colrid(7) = Evaluate(|0:128:128:240:255:255|)
    'colrid(8) = Evaluate(|64:64:64:240:240:240|)

    colrid(0) = Evaluate(|-1:-1:-1:-1:-1:-1|)
    colrid(1) = Evaluate(|224:240:255:0:0:128|)
    colrid(2) = Evaluate(|224:255:224:0:128:0|)
    colrid(3) = Evaluate(|255:224:230:128:0:0|)
    colrid(4) = Evaluate(|255:240:208:255:128:0|)
    colrid(5) = Evaluate(|255:255:208:128:108:0|)
    colrid(6) = Evaluate(|240:224:255:128:0:128|)
    colrid(7) = Evaluate(|240:255:255:0:128:128|)
    colrid(8) = Evaluate(|240:240:240:64:64:64|)
    colrid(maxcolor) = Evaluate(|-1:-1:-1:-1:-1:-1|)
    
    colr = ui.Prompt(PROMPT_OKCANCELLIST, "Select Color", "Select the color you wish and click OK", "", colrs)
    If IsArray(colr) Then Exit Sub
    If CStr(colr) = "1" Or CStr(colr) = "0" Then Exit Sub
    Dim pos As Variant
    pos = ArrayGetIndex(colrs, colr)
    If Not IsNull(pos) Then
        If pos = maxcolor Then
            SetProfile db, profile, True
        Else
            SetProfile db, profile, False
            coll.Stampall "viewcolor", colrid(pos)
        End If
    End If
    Exit Sub
logError:
    MsgBox "Line " & Erl & ": " & Error$
    Exit Sub
End Sub


%REM
    Sub SetProfile
    Description: Set the profiled view column to accept colors
%END REM

Sub SetProfile(db As NotesDatabase, profile As NotesDocument, clearprofilefield As Boolean)
    Dim calprofile As NotesDocument
    Dim formula As String
    If clearprofilefield Then
        Set calprofile = db.GetProfileDocument("CalendarProfile")
        If calprofile.HasItem("$Sender1") Then
            profile.ReplaceItemValue "$Sender1", calprofile.GetItemValue("$Sender1")
            profile.save True, False
        End If
    Else
        formula = profile.GetItemValue("$Sender1")(0)
        If Right(formula, 3) = |"")| Then
            formula = Left(formula, Len(formula) - 3)
            formula = formula & | @Isavailable(viewcolor); viewcolor; " ")|
            profile.Replaceitemvalue "$sender1", formula
            profile.save True, False
        ElseIf formula = "" Then
            formula = |@If(@Isavailable(viewcolor); viewcolor; " ")|
            profile.Replaceitemvalue "$sender1", formula
            profile.save True, False
        End If
    End If
End Sub


This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal