’Is there a patch we can download that will put public holidays on your calendar’

Mat Newman  October 22 2010 07:25:47
A question came in the other day from a client we recently migrated from Outlook (one of the many they have asked).

"Is there a patch we can download that will put public Holidays on your Calendar".

The answer - of course - is No!  You don't have to download anything, Notes/Domino has this feature built in.

Users simply open their calendar and choose:

Notes 8+ (Standard + Basic)
More -> Import Holidays

Notes 7<
Tools -> Import Holidays

The user then 'Ticks' the Holiday groups they would like to add to their Calendar.

An Administrator (or someone with appropriate access to the Domino Directory) can also add to this list with local/regional holidays.

From the Domino Administrator Client:

Configuration Tab -> Miscellaneous -> Holidays

From the Notes client

Open your Directory on a server, Choose Configuration (from the Navigator) -> Miscellaneous -> Holidays

In either case, then click the Add Holiday action on the Action Bar.

Add the holiday name, group (this is important so that all the local holidays can be identified easily by the user, eg: Tasmania - South), and then the dates that the holiday falls on.  If the Holiday doesn't have a 'standard' repeating date (eg: New-Years Day) just type the specific dates that the Holiday falls on for each year.  Remember also to choose 'Mark Busy' as appropriate so that holidays are already marked as busy time so users aren't accidentally invited to a meeting when a public holiday falls.

So NO, you don't have to download a patch to put holidays on your Calendar in Notes - it's a feature built into the application.

1SouthPaw  10/22/2010 9:15:06  
’Is there a patch we can download that will put public holidays on your calendar’

Don't you mean

Notes 8+ (Standard + Basic)

Within calendar: Actions -> More -> Import Holidays

2Mat Newman

10/22/2010 9:36:48  ’Is there a patch we can download that will put public holidays on your calendar’

@1, SouthPaw: If you are using the Menu, yes - you can also activate this option from the menu: Actions (Menu) -> More -> Import Holidays.

If you are using the Action Bar (the list of Database short-cuts at the top of most Lotus Notes views) the options are as described in my post.

HTH, Mat.

Mat Newman IBM Champion

3SouthPaw  10/22/2010 9:42:09  
’Is there a patch we can download that will put public holidays on your calendar’

Brain fart your correct but I am also.

4Mat Newman

10/22/2010 10:43:50  ’Is there a patch we can download that will put public holidays on your calendar’

@3, SouthPaw: Yes, absolutely you were correct - as with most things Notes, there's more than one way to execute many operations :-)

Mat Newman IBM Champion

5David Schaffer  10/22/2010 23:46:24  
Updating holidays?

Thanks for the tips.

My issue is that the list doesn't update: some of the holiday entries in my directory don't extend beyond 2009. Any easy way to update/extend them?

6Jacqui Coleman  10/23/2010 4:10:45  
Updating Holidays?

Contact your Notes Administrator/s - they have to add them in to the Address Book

7Mat Newman

10/23/2010 10:12:42  How to quickly update repeating holidays

@5, David: It depends on what type of Holiday you are dealing with in the Directory, @6 Jacqui is correct if the Holiday has non-standard dates every year (eg: Christian Easter) you need to edit those holiday records and add the new dates moving forward manually, which normally means contacting your administrator.

However, if the holiday has 'standard' repeating dates (whether it is yearly by date or day) you can use the following code in an agent to update the records.

Create an Agent in the Directory, Choose "Action Menu Selection" and "None" as the Target, choose "LotusScript" as the type if creating the agent in Designer 8+, or switch the Agent to "LotusScript" in Designer 7<. Call the Agent "Extend Holiday Repeating years"

In the "Initialize" event paste the following code:

Dim s As New NotesSession

Dim db As NotesDatabase

Dim dc As NotesDocumentCollection

Dim doc As NotesDocument

Set db=s.currentdatabase

Set dc=db.UnprocessedDocuments

Set doc=dc.GetFirstDocument

While Not doc Is Nothing

'Change the value 15 on the following line to extend the holiday beyond 15 years

Call doc.ReplaceItemValue("RepeatFor", 15)

Call doc.ComputeWithForm(True, False)

Call doc.Save(True, False)

Set doc=dc.GetNextDocument(doc)


In the "Miscellaneous\Holidays" view in the Domino Directory, Tick (Select) the holidays to update, and then choose the new "Extend Holiday Repeating Years" from the "Action" menu. Note: You need to have editor access to the holiday documents in the directory to be able to run this agent.

The code will extend the repeating dates for the holiday beyond the standard 10 years to 15 years. Be aware that the StartDate for your holidays depends on when your Domino system was created, as the Holidays supplied by Lotus default to start on the year your first Domino Server was created (ie: The year your Directory was initialised). As an example, my current Domino Domain was created in 1999, so the StartDates for my Holidays begin in that year. Ticking (selecting) the Holidays in the Domino Directory and running the agent above have extended my holidays out to 2014.

BEWARE: As mentioned above - DO NOT run this agent on Holidays that have 'custom' repeating dates.

Once you have updated the dates, get your users to update their holidays in their calendars (More/Tools -> Import Holidays).

Hope this helps.

Normal caveats, No Liability, No responsibility, Caveat Emptor, IBM 33 1/3 page legal Disclaimer, etc, etc...

Mat Newman IBM Champion

8Andrew  02/22/2011 21:36:02  
’Is there a patch we can download that will put public holidays on your calendar’

Is it just me, or shouldn't IBM provide updated dates? I can't believe as an admin I have to create the docs. Just looked in my DD and very few pass 2010.

9Kevin  04/16/2011 6:36:20  
’Is there a patch we can download that will put public holidays on your calendar’

IBM would rather have thousands of Domino Admins. spend the time to keep this simple task updated. After all Domino/Notes runs so well most admins are just sitting and waiting for something to do.

10Stewart  11/26/2011 3:35:35  
What about pushing calendars to users?

What about being able to "push" holidays to users?

Users can always come and get them, but perhaps we would like to push them? Is this feasible, or am I hiring a scripter to write this?

11Mohan  01/06/2015 0:29:03  
’Is there a patch we can download that will put public holidays on your calendar’


Happy new you are doing good.

Hopefully next time I visit SNG will try to meet you (unlike last time where you were not in SNG and we were able to speak only over phone!!!)

is it possible to achieve this thru agent (i have very very limited exposure to coding!!) , if yes can you help me out.or is it possible to apply policy for this (i was not able to trace any parameters to be included in the policy)


12Rob   03/22/2015 11:48:36  
’Is there a patch we can download that will put public holidays on your calendar’

Here is some code I put together that adds a calendar entry when emailed to a user. The user doesnt need to do anything.

Sub CreateCalendar (Assign As String, Owner As String, Ownercan As String, Descp As String, Locate As String, Start As NotesDateTime,New_User As String)

' Assign - The Person Getting Assigned the Task

' Owner - The Person who originated the document

' Ownercan - Canonical Name of the Person assigned the task

' Descp - Description of the work to be done

' Locate - Where the Task Relates to

' Start - Date the Task is to be done by

' New_User - Name of the New Employee

' Creates Calendar Entry automatically for receipient of this

' Required Fields as above to be passed to this subroutine


' Call like this: ( Note naming of variables can be different, but must be in same order )

' Dim Ret As String

' Dim Chair As String

' Dim Ownercn As String

' Dim Subj As String

' Dim Located As String

' Dim Startdate As New NotesDateTime(doc.Start_Date(0))

' Dim New_User As String


' Call CreateCalendar(Ret, Chair, Ownercn ,Subj,Located,StartDate,New_User)



On Error Goto ProcessError

Dim workspace As New NotesUIWorkspace

Dim CallBody As Variant

Dim rtitem As NotesRichTextItem

Dim richStyle1 As NotesRichTextStyle

Dim richStyle2 As NotesRichTextStyle

Dim maildoc As NotesDocument

Dim maildb As NotesDatabase

Dim session As New NotesSession

Dim uidoc As NotesUIDocument

Dim doc As NotesDocument

Set uidoc = workspace.CurrentDocument

Set doc = uidoc.Document

Set s=New NotesSession

Set datetime = New NotesDateTime("")

'Setup Object Variables for the maildoc note that we will create and it's body field

Set maildb = New NotesDatabase("","")

Call maildb.OpenMail

Set maildoc = New NotesDocument(maildb)

Set rtitem = New NotesRichTextItem(maildoc,"Body")

Set richstyle1 = s.CreateRichTextStyle

Set richstyle2 = s.CreateRichTextStyle

richStyle1.FontSize = 9

richStyle1.Bold = False

richStyle1.NotesColor = COLOR_DARK_BLUE

richStyle2.FontSize = 9

richStyle2.Bold = True

richStyle2.NotesColor = COLOR_DARK_RED

'Get Variables from the current document and set the others

CallDate = Today

CompanyName = "Moffat Ltd"

TaskType = "4" ' 0 = Default Calendar Entry/ 4 = Reminder / 2 = All Day Event / 3 = Meeting

'Specific error trapping for mail send

On Error Goto ErrorSending

'Generate an appointment document

maildoc.Form = "Appointment"

maildoc.AppointmentType = TaskType

'Setup form fields

maildoc.Subject= Descp & " for new Staff Member (" & New_User & ") in " & Locate

maildoc.Chair = Assign

maildoc.ApptUNID = maildoc.UniversalID

maildoc.SendTo = Assign

maildoc.CopyTo = ""

maildoc.From = Owner

Maildoc.Principal = Assign

maildoc.Importance = "1" '= High

maildoc.Categories = "New Staff Member"

maildoc.StartDate = Start.LSLocalTime

maildoc.StartTime = Start.LSLocalTime

maildoc.StartDateTime = Start.LSLocalTime

maildoc.CalendarDateTime = Start.LSLocalTime

maildoc.EndDate = Start.LSLocalTime

maildoc.EndTime = Start.LSLocalTime

maildoc.EndDateTime = Start.LSLocalTime

Call maildoc.ReplaceItemValue("_ViewIcon", 168) ' Show the Task Icon

' maildoc.Principal = s.UserName

maildoc.Topic = maildoc.Subject

'Prepare rich text body

Call rtitem.AppendStyle(richStyle1)

Call rtitem.AppendText("Request raised by : " )

Call rtitem.AppendStyle(richStyle2)

Call rtitem.AppendText(Ownercan)

Call rtitem.AddNewLine(2)

Call rtitem.AppendStyle(richStyle1)

Call rtitem.AppendText("You need to organise : " )

Call rtitem.AppendStyle(richStyle2)

Call rtitem.AppendText(Descp)

Call rtitem.AppendStyle(richStyle2)

Call rtitem.AddNewLine(2)

richStyle2.FontSize = 9

richStyle2.Bold = False

richStyle2.NotesColor = COLOR_DARK_MAGENTA

Call rtitem.AppendStyle(richStyle2)

Call rtitem.AppendText("Click the doclink below to view the new Staff Members Details ")

Call rtitem.AddNewLine(2)

'Put a doclink in the Body field

Call rtitem.AppendDocLink(doc, "DocLink to Details")

'Put a reminder at the bottom about who can see this information

Call rtitem.AddNewLine(2)

Call rtitem.AppendStyle(richStyle1)

Call rtitem.AppendText("Note: Only you can see any information you add here" )

Call rtitem.AddNewLine(1)

Call rtitem.AppendText(" We suggest setting a reminder alarm as appropriate for this task" )

Call rtitem.AddNewLine(1)

'Send to assignee

Call maildoc.Send (False)

Exit Sub


Msgbox "Error (" & Cstr(Err) & " ) -> " & Error$(Err),16,"AssignGroup"

Exit Sub


Msgbox "Error (" & Cstr(Err) & ") -> " & Error$(Err),16,"AssignGroup"

Exit Sub

End Sub

Mat Newman

THE Notes (formerly IBM/Lotus Notes) Guy. Productivity Guru. Evangelist. IBM Champion for IBM Collaboration Solutions, 2011/2012/2013. Former IBMer. HCLite. Views are my own.

#GetProductive #GetHCLNotes

Mat Newman

Home  | 

Get Serious. Get Domino.