Skip to main content

Events

There are two ways to generate events:
  • Server-side script using the gs.eventQueue() method
  • Workflow Create Event activity

gs.eventQueue() Method

The eventQueue() method is part of the GlideSystem server-side API. The eventQueue() method inserts an event in an event queue. The eventQueue() method is typically passed four parameters but can also take an optional 5th parameter:
  1. Event name. Enclose the event name in quotes.
  2. GlideRecord object, typically current but can be any GlideRecord object from the event's table.
  3. Any value that resolves to a string. This is known as parm1 (Parameter 1). Can be a string, variable that resolves to a string, or method that resolves to a string.
  4. Any value that resolves to a string. This is known as parm2 (Parameter 2). Can be a string, variable that resolves to a string, or method that resolves to a string.
  5. (Optional) Name of the queue to manage the event.

DEVELOPER TIP: Use gs.getUserName() and gs.getUserID() for parm1 and parm2 if no other values are required to see which user triggered the event in the event log.

The Create Event workflow activity is part of the Notifications category.

In the Events Log, an entry with [object Object] for the table has a problem with the record that was passed by the gs.eventQueue() method. The most likely cause is that the object passed was for the wrong table.


Application that create a large volume of events and/or events that take a long time to process should use a custom queue.

Populate the Queue field for the event in the Event Registry to define a custom queue. Use only lowercase letters, no spaces, and no special characters except underscore (_).

Comments

Popular posts from this blog

Dynamically changing the combo box values in Javascript:(Lotus Notes)

I need to change the 2nd combobox value depend on the value of the first combobox value. Steps: 1) Create a combo box name it as "cmbValue" . And have some values. 2) Give  default value to that combobox. 3) In the Onchange of that combo box place the code below. 4) Create another combobox value and name it as "cmbValue1" . 5) Give default value to that combobox also. Sample Code(Modify according to your values):   var doc = document.forms[0].cmbValue; var doc1 = document.forms[0].cmbValue1; if(doc.options[doc.selectedIndex].text=="--Select--") { doc1.remove(0) doc1.options[0] = new Option("--Select--","cmbValue1") return false; } else { if(doc.options[doc.selectedIndex].text=="One") {     doc1.options[0] = new Option("four","cmbValue1")     doc1.options[1] = new Option("five","cmbValue1")     return false; } else if(doc.options[doc.selectedIndex].text=="Two") {     doc1.opt...

"Error in Agent" or "Error loading USE or USELSX" running Out-of-Office agent after upgrading to Domino 6.x

Question After upgrading from one Lotus® Domino® server version to another (for example, 5.0.11 to 6.x), you find that the Out of Office agent does not work and produces errors written to the console and the log (if enabled). The error message in the Domino console is as follows: "Error in Agent ´OutOfOffice OutOfOffice´ calling script library ´Common´: Script library signer ´CN=ServerA/O=Widgets´ does not have proper rights Agent ´OutOfOffice OutOfOffice´ error: Error loading USE or USELSX module: Common AMgr: Agent ´outofoffice´ in ´mail\jdoe.nsf´ completed execution" Maintenance on the database did not resolve the problem, nor did replacing the design or running fixup, updall -r, or compact. Answer Agent security rights in Domino 6.0 were revised to be more robust. This issue occurs when the signer of the script library does not have the correct rights to execute on the Domino server, and/or the script library has not been signed in Notes/Domino 6...

Lotusscript to establish ODBC connection:

The script, when executed from a button, will create a new record in a specified ODBC data source, attempt to save the new record and display a message indicating whether the operation was completed successfully. If the operation is not completed sucessfully, it is likely that either your data source is read-only or your ODBC driver does not permit updates to the data source. Important: Complete each of the four steps below before running the script. 1. Create a new agent and add the following UseLSX command to the Options event: UseLSX "*LSXODBC" 2. Add the following script to the Initialize event of the agent. NOTE: Do not add the 'Sub' and 'End Sub' lines. Dim ui As New NotesUIWorkspace     Dim uidoc As NotesUIDocument     Dim doc As NotesDocument     Dim connection As ODBCConnection     Dim query As ODBCQuery     Dim result As ODBCResultSet         Set uidoc=ui.CurrentDocument ...