Event editor is messed up with Skin Builder downloads

Hello,

As I’ve said before there are additional handlers for recurring events on ‘onEventSave’ event which modify it’s properties. The XML you got as result seems to be correct.
Try creating recurring event, then modify one of the occurrences (change it’s text for example) and check XML for it - does it have event_pid property?

Best regards,
Ilya

This is the XML for the test:

<data><event> <start_date><![CDATA[2011-06-06 06:00]]></start_date> <end_date><![CDATA[9999-02-01 00:00]]></end_date> <text><![CDATA[New event(original)]]></text> <id><![CDATA[1307444879553]]></id> <rec_pattern><![CDATA[week_1___1,2,3,4]]></rec_pattern> <rec_type><![CDATA[week_1___1,2,3,4#no]]></rec_type> <stage><![CDATA[STARTUP]]></stage> <event_length><![CDATA[5400]]></event_length> </event> <event> <start_date><![CDATA[2011-06-06 06:00]]></start_date> <end_date><![CDATA[2011-06-06 07:30]]></end_date> <text><![CDATA[New event(modified)]]></text> <id><![CDATA[1307444879560]]></id> <rec_pattern><![CDATA[]]></rec_pattern> <rec_type><![CDATA[]]></rec_type> <stage><![CDATA[STARTUP]]></stage> <event_length><![CDATA[1307329200]]></event_length> </event></data>
No “event_pid” property, but “event_length” looks like an event pid.
:slight_smile: Martti

Have you replaced dhtmlxscheduler_recurring.js file?
I’ve attached updated version (have nothing to do with this problem yet there was an issue).

Try following:

  1. Create normal event
  2. Create recurring event
  3. Edit one of the occurrences
  4. Export to XML

Paste resulting xml here please.
Tried it locally — got all fields for all events.

Kind regards,
Ilya
dhtmlxscheduler_recurring.zip (4.85 KB)

This is the XML-code I get:

<data><event> <start_date><![CDATA[2011-06-06 06:00]]></start_date> <end_date><![CDATA[2011-06-06 07:30]]></end_date> <text><![CDATA[New event(normal)]]></text> <id><![CDATA[1307449418993]]></id> <rec_pattern><![CDATA[]]></rec_pattern> <rec_type><![CDATA[]]></rec_type> <stage><![CDATA[STARTUP]]></stage> </event> <event> <start_date><![CDATA[2011-06-06 10:00]]></start_date> <end_date><![CDATA[9999-02-01 00:00]]></end_date> <text><![CDATA[New event (recurring)]]></text> <id><![CDATA[1307449419000]]></id> <rec_pattern><![CDATA[week_1___2,3,4]]></rec_pattern> <rec_type><![CDATA[week_1___2,3,4#no]]></rec_type> <stage><![CDATA[MONITOR]]></stage> </event> <event> <start_date><![CDATA[2011-06-07 10:00]]></start_date> <end_date><![CDATA[2011-06-07 11:30]]></end_date> <text><![CDATA[New event (recurring to single)]]></text> <id><![CDATA[1307449419001]]></id> <rec_pattern><![CDATA[]]></rec_pattern> <rec_type><![CDATA[]]></rec_type> <stage><![CDATA[MONITOR]]></stage> </event></data>
Propereties are missing!
Have you tried to run my page code?
:confused: Martti

Yes, it worked fine:

"<data><event> <start_date><![CDATA[2011-06-08 03:30]]></start_date> <end_date><![CDATA[2011-06-08 07:00]]></end_date> <text><![CDATA[usual event]]></text> <id><![CDATA[1307457180304]]></id> <event_pid><![CDATA[]]></event_pid> <event_length><![CDATA[]]></event_length> <rec_pattern><![CDATA[]]></rec_pattern> <rec_type><![CDATA[]]></rec_type> <stage><![CDATA[undefined]]></stage> </event> <event> <start_date><![CDATA[2011-06-09 07:00]]></start_date> <end_date><![CDATA[2011-06-11 07:00]]></end_date> <text><![CDATA[recurring for 2 days]]></text> <id><![CDATA[1307457180311]]></id> <event_pid><![CDATA[]]></event_pid> <event_length><![CDATA[5400]]></event_length> <rec_pattern><![CDATA[day_1___]]></rec_pattern> <rec_type><![CDATA[day_1___#2]]></rec_type> <stage><![CDATA[undefined]]></stage> </event> <event> <start_date><![CDATA[2011-06-10 07:00]]></start_date> <end_date><![CDATA[2011-06-10 08:30]]></end_date> <text><![CDATA[recurring for 2 days (EDITED)]]></text> <id><![CDATA[1307457180312]]></id> <event_pid><![CDATA[1307457180311]]></event_pid> <event_length><![CDATA[1307678400]]></event_length> <rec_pattern><![CDATA[]]></rec_pattern> <rec_type><![CDATA[]]></rec_type> <stage><![CDATA[undefined]]></stage> </event></data>"
Are you absolutely sure that you have replaced dhtmlxscheduler_recurring.js (cleared the cache and so on)?

Best regards,
Ilya

Sorry, dhtmlxscheduler_recurring.js was not updated! But now it is and I get the same XML content, which seems to be correct.
But if I look at the event properties at onEventSave, they are for the recurring event:

Mon Jun 06 2011 07:00:00 GMT+0300 (FLE Daylight Time)/Mon Jun 06 2011 08:30:00 GMT+0300 (FLE Daylight Time)/New event/1307510108849/undefined/undefined/week_1___1,2,3#no/STARTUP

Properties event_pid and event_length are missing and end_date is different.
XML includes them also:

<data><event> <start_date><![CDATA[2011-06-06 07:00]]></start_date> <end_date><![CDATA[9999-02-01 00:00]]></end_date> <text><![CDATA[New event]]></text> <id><![CDATA[1307510108849]]></id> <event_pid><![CDATA[]]></event_pid> <event_length><![CDATA[5400]]></event_length> <rec_pattern><![CDATA[week_1___1,2,3]]></rec_pattern> <rec_type><![CDATA[week_1___1,2,3#no]]></rec_type> <stage><![CDATA[STARTUP]]></stage> </event></data>
Shouldn’t these properties be similar?
:question: Martti

Hello,

No, for example you have recurring event with no end date which happens every Monday at 14:00 - 15:00. In XML for such series you will see

<start_date><![CDATA[2011-06-06 04:00]]></start_date> <end_date><![CDATA[9999-02-01 00:00]]></end_date> <event_length><![CDATA[3600]]></event_length>
But then you open lightbox for whole series you won’t see that event ends at 9999 year as time properties will be converted beforehand. Same thing happens when you save it - properties are converted to match/describe whole series.

Best regards,
Ilya

OK, then!
How should I do the event saving? I have to do the server side myself.

  1. Using XML serialize/load to save and load all events at the same time?
  2. Using onEventSave and OnEventChanged events to save per event basis and load as XML?
  3. Using DataProcessor?
  4. Else, what?
    What can you recommend?
    :question: Martti

Hello,

1 and 3 options are the best I believe.

Note that in such case your events will be saved then you click some ‘Save’ button so there would be no dynamic saving.

This way you can update database on the fly.

Best regards,
Ilya