In GEODI 5.1 and above versions, an automatic notification can be provided when a searched phrase is encountered.

Tasks to be run at times specified with jSettings files to be placed in Settings/Notifications/TimedNotification folder and emails to be sent can be specified.

There is no Macro object in the definition to be placed in this folder. Geodi/Mobidi Office is application-independent. If there is a subreport to be used, the objects to be referenced must access itself via Context .

(warning) Event information can be accessed with c.GetHttpItem("NoticifationArgs") in environments that can use macros.


General E-mail sending (Factory.ActionFactory: TimedSendMail object)


DescriptionIt is used to send emails at the specified time.
Request


{
 "__type": "Factory.ActionFactory:TimedSendMail",
 "BodyReport": "",
 "Attachments": [ 
	 {
	 "Report": "",
	 "DisplayName" : ""
	 }
	 ],
 "Subject": "..",
 "ToMail": "...",
  "Timed": {
    "Period": { "PeriodType": "Week", "Value": 1 }
	"Offset" : { "Days": 6, "Hours":22 , Minutes:30 } 
  }
}


Definition Values
  • BodyReport (path): It is the HTML report definition way to be used for the email body. Examples can be found under Settings/Notifications/Templates.
  • Attachments: Attachments list

    • Report (path) : It is the report definition path to be used for the attached file. Zip, HTML, Excel, CSV report definitions can be used. There are examples under Settings/Notifications/Templates.

    • DisplayName(string) : The name of the attachment file. If not defined, it is named with the additional order no.
  • Subject(string): It is the e-mail header. Supports simple macros. The query used is written in [Query], the number of results found is written in [TotalDoc].

  • ToMail (string): It allows sending messages to email addresses. Supports macros.
  • Language(string) : If defined, all Localize processes in the email are done with this language.
  • Timed: It is used to determine the start time and repeat period. The example here will run every Friday at 22:30.
  • Attributes : In any environment where macros can be used, the content can be accessed using the key given to the objects to be written. Example: c.GetHttpItem("MyNameAttribute")
Example


{
  "__type": "Factory.ActionFactory:TimedSendMail",
  "BodyReport": "%App%\\Settings\\Notifications\\Templates\\MySimpleReport.html",
  "Subject": "Informative message",
  "ToMail":"....;....",
"Timed": {
 	"Period": { "PeriodType": "Week", "Value": 1 }
	"Offset" : { "Days": 6, "Hours":22 , Minutes:30 } 
  }
}




Running a command line task  (Factory.ActionFactory: TimedRunCommand object)


DescriptionIt sends e-mails when the conditions to be determined are met.
Request


{
 "__type": "Factory.ActionFactory:TimedRunCommand",
 "FileName": "",
 "Arguments": "",
 "UseShellExecute": true/false,
 "CreateNoWindow": true/false,
 "WorkingDirectory":"",
 "UserName":"",
 "Password":"",
 "Timeout":0;
  "Timed": {
	"Period": { "PeriodType": "Month", "Value": 3 }
	"Offset": { "Days": 20, "Hours":10 , Minutes:0 } 
  }
}


Definition Values
  • It is equivalent to the features in the ProcessStartInfo link. Definitions other than FileName are optional.
  • Timed: It is used to determine the start time and repeat period.
Example


{
  "__type": "Factory.ActionFactory:TimedRunCommand",
  "FileName":"%SystemX86%\\cmd.exe ping 127.0.0.1 -r 9",
    "Timed": {
	"Period": { "PeriodType": "Day", "Value": 1 }
	"Offset": { "Hours":10 , Minutes:0 } 
  }
}


Time Definition Examples

The ScheduleSettings object is used in the Timed definition.

Everyday at 10:20


Timed: {
	Period: { PeriodType: "Day" },
	Offset: { Hours:10, Minutes:20 } 
}


Every Friday at 17:00


Timed: {
	Period: { PeriodType: "Week" },
	Offset: { Days:6 , Hours:17, Minutes:0 } 
}


Second calendar day of each month, 15:00


Timed: {
	Period: { PeriodType: "Month" },
	Offset: { Days:2 , Hours:15, Minutes:0 } 
}


Fourth business day of the month 09:00


Timed: {
	Period: { PeriodType: "Month" },
	Offset: { Days:4 , Hours:9, Minutes:0 },
	DayCounting:"WorkDays"
}


The third quarter of every year


Timed: {
	Period: { PeriodType: "Quarter", Value:3 }
}


The first working day of every January 09:00


Timed: {
	Period: { PeriodType: "Year" },
	Offset: { Hours:9, Minutes:0 },
	DayCounting:"WorkDays"
}


15:00 on the first Tuesday of every month 


Timed: {
	Period: { PeriodType: "Mounth" },
	Offset: { Days:3, Hours:15, Minutes:0 }
}


The first Tuesday of the month or the first business day after 15:00


Timed: {
	Period: { PeriodType: "Mounth" },
	Offset: { Days:3, Hours:15, Minutes:0 },
	DayCounting:"WorkDays"
}


Every hour between 2 dates


Timed: {
	Start:"2019-12-02",
	End:"2019-12-10",
	Period: { PeriodType: "Hour" }
}