NotesCalendar (JavaScript™)
Represents a Domino® calendar.
Usage
This object provides access to calendar and scheduling services in a Domino® mail application in standardiCalendar
format. See Internet
Calendaring and Scheduling Core Object Specification (iCalendar)
at http://tools.ietf.org/html/rfc5545 for the format.To create a NotesCalendar object, call getCalendar in NotesSession.
You
can access calendar entries as NotesDocument objects,
but this interface should be used sparingly. In a standard Domino® mail application, calendar
documents can be accessed through the ($Calendar)
view.
For sample code, see getEntryByNoteID or getEntryByUNID. You can access calendar documents
directly with getAsDocument in NotesCalendarEntry and getAsDocument in NotesCalendarNotice. For a description of
calendar documents, see http://www-01.ibm.com/support/docview.wss?uid=swg21229486.
Examples
This button event gets calendar and scheduling information for the current user for today and tomorrow.// Get calendar for current user
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var dt1:NotesDateTime = session.createDateTime("Today 08");
var dt2:NotesDateTime = session.createDateTime("Tomorrow 17");
// Read range and set to requestScope variable bound to multiline text box
requestScope.status = cal.readRange(dt1, dt2);
This
is sample output.
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
BEGIN:VEVENT
DTSTART:20120403T183000Z
DTEND:20120403T190000Z
TRANSP:OPAQUE
RECURRENCE-ID:20120403T183000Z
DTSTAMP:20120403T141313Z
SEQUENCE:3
X-LOTUS-ORGANIZER:CN=Robert F Harwood/OU=Westford/O=IBM
CLASS:PUBLIC
SUMMARY:Domino Designer ID Team meeting
UID:F0A3694E4E7E20938525790F004D370A-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
BEGIN:VEVENT
DTSTART:20120403T190000Z
DTEND:20120403T200000Z
TRANSP:OPAQUE
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Craig Lordan/OU=Westford/O=IBM
X-LOTUS-ROOM:B2-B2104/LKG2/550 King St/MA-Littleton@IBMUS
CLASS:PUBLIC
SUMMARY:Translation packaging enablement session by Bruce Webster
LOCATION:USA: 888-555-5555 | passcode: 5555555
UID:C4FC689987507AC2852579CF00720024-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
X-LOTUS-ONLINEMEETING-URL:http://www.webdialogs.com/
X-LOTUS-ONLINEMEETING-CONFID:w555
END:VEVENT
BEGIN:VEVENT
DTSTART:20120404T124500Z
DTEND:20120404T131500Z
TRANSP:OPAQUE
RECURRENCE-ID:20120404T124500Z
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Maire Kehoe/OU=Ireland/O=IBM
X-LOTUS-ROOM:G07 - Meeting Room/Campus Building 6@IBMIE
CLASS:PUBLIC
SUMMARY:XPages scrum
LOCATION:Location: \nIRELAND Toll-Free
: 1-800-555-555\nIRELAND Caller Paid
: 0-1-5555555\nUSA Caller Paid 555-555-5555\nUSA Toll-Free 888-555-55
55\nUnited Kingdom Caller Paid 0-55-55555555\nUnited Kingdom Toll-Free
0800-555-5555\nParticipant Code: 5555555\nFor other Countries
: \nhttps
://www.teleconference.att.com/servlet/glbAccess?process=1&accessCode=5
555555&accessNumber=015555555
UID:26CBC9B27E8660C1802579B3003DF9C0-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
END:VCALENDAR
LotusScript® examples
This agent gets calendar and scheduling information for the current user for today and tomorrow.Sub Initialize
Dim session As New NotesSession
Dim maildb As New NotesDatabase("", "")
Dim cal As NotesCalendar
Dim dt1 As NotesDateTime
Dim dt2 As notesdatetime
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim body As NotesRichTextItem
REM Get calendar for current user
Call maildb.Openmail()
Set cal = session.getCalendar(maildb) ' Not In ref pane
Set dt1 = session.createdatetime("Today 08")
Set dt2 = session.Createdatetime("Tomorrow 17")
Set db = session.CurrentDatabase
REM Create document to post results
Set doc = db.CreateDocument
doc.Form = "main"
doc.Subject = "Today 08"
Set body = doc.Createrichtextitem("body")
REM Read range and put in body of document
Call body.Appendtext(cal.ReadRange(dt1, dt2))
Call doc.Save( True, True )
End Sub
Java™ examples
This agent gets calendar and scheduling information for the current user for today and tomorrow.import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
// Get calendar for current user
DbDirectory dbdir = session.getDbDirectory("");
Database maildb = dbdir.openMailDatabase();
NotesCalendar cal = session.getCalendar(maildb);
DateTime dt1 = session.createDateTime("Today 08");
DateTime dt2 = session.createDateTime("Tomorrow 17");
// Create document to post results
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
doc.appendItemValue("Form", "main");
doc.appendItemValue("subject", "Today 08");
RichTextItem body = doc.createRichTextItem("body");
// Read range and put in body of document
body.appendText(cal.readRange(dt1, dt2));
doc.save(true, true);
NotesCalendarNotice caln = cal.getNoticeByUNID("");
} catch(Exception e) {
e.printStackTrace();
}
}
}