Hi
I‘m struggling to read the date entry togehter with time entry from smart classifier and combine them in right ics syntax. I followed the Tutorial „Creating a file with calendar invitation - ics file“ and I can create the ics file but it only Shows Date from smart classifier but no time. All efforts to insert the time entry to syntax failed.
We have three entries from smart classifier field „meeting“:
[entry.meeting.Date] followed by [entry.meeting.TimeBeg] and [entry.meeting.TimeEnd]
Here’s what I got so far:
DTSTART:[entry.meeting.Date.formatDate(yyyyMMdd‘T‘HHmmssZ)]
DTEND:[entry.meeting.Date.formatDate(yyyyMMdd‘T‘HHmmssZ)]
On what Position do I have to concatenate the [entry.meeting.TimeBeg] and [entry.meeting.TimeEnd] to the ics syntax?
Could you please assist?
Thanks
Something like this probably
DTSTART:[entry.meeting.Date.formatDate(yyyyMMdd)][entry.meeting.TimeBeg.formatDate(‘T‘HHmmssZ)]
That‘s it. I‘ve tried it like this but didn‘t split the formatDate in date and time part.
Again great support Alex!
Thank you so much
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Ute D_Agostino ,
You're close with the tutorial, but the Smart Classifier fields in ConfiForms (Server/Data Center) store date and time separately, so you need to concatenate the date part from [entry.meeting.Date] with the time part from [entry.meeting.TimeBeg/TimeEnd] before formatting into ICS syntax. The formatDate function expects a full datetime string, so partial times cause the missing HHmmss in DTSTART/DTEND. You can refer to this similar question here.
1) In the template body (for the ICS file content), replace your DTSTART/DTEND lines with:
Note: Add Z for UTC (or use your TZID if needed, like ;TZID=Europe/Berlin: before the value).
2) In full form in ICS Block: BEGIN:VEVENT
DTSTART:[entry.meeting.Date.formatDate(yyyyMMdd) + entry.meeting.TimeBeg.formatDate(HHmmss) + Z]
DTEND:[entry.meeting.Date.formatDate(yyyyMMdd) + entry.meeting.TimeEnd.formatDate(HHmmss) + Z]
SUMMARY:Your Meeting
DESCRIPTION:[entry.meeting.Description]
END:VEVENT
3) Then, save the template, test by submitting a form entry -> download the ICS and import to a calendar to verify times. If TimeBeg/End are stored as separate date fields (not time-only), use formatDate(HHmmss) on them to strip date parts. For multi-day events, adjust DTEND date if needed (ex: [entry.meeting.Date.plusDays(1).formatDate(yyyyMMdd) + entry.meeting.TimeEnd.formatDate(HHmmss) + Z]).
This way should work in Confofirms 2.x+.
You can refer to the below docs:
I hope everything works out well for you.
Best,
Peter
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The Date smart classifier only contains the day, not the time. That is why the ICS output shows the date but not the time fields. You need to manually combine the date with the TimeBeg and TimeEnd entries before formatting them.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.