To set properties of several calendars at one time, set the multiple parameter to the number of calendars to be set, then pass a cal parameter for each calendar. The cal parameter contains an encoded string with the complete property parameter list for the identified calendar. In this string, replace all special characters with a percent character (%), followed by the hexadecimal ASCII code for the special character. ASCII hex codes for common special characters are as follows:
Character |
Code |
---|---|
= |
%3D |
& |
%26 |
"" |
%22 |
For example, the following URL modifies three calendars with ID's xxxx, yyyy, and zzzz, setting the descriptions to X-Calendar, Y-Calendar, and Z-Calendar, respectively:
http://calendarserver?id=fasdfzd3ds &multiple=3 &cal=calid%3Dxxxx%26description%3DX-Calendar &cal=calid%3Dyyyy%26description%3DY-Calendar &cal=calid%3Dzzzz%26description%3DZ-Calendar
This is the equivalent of the following three URL's:
http://calendarserver?id=fasdfzd3ds&calid=xxxx&desc=X-Calendar http://calendarserver?id=fasdfzd3ds&calid=yyyy&desc=Y-Calendar http://calendarserver?id=fasdfzd3ds&calid=zzzz&desc=Z-Calendar
In the example, notice that since the multiple parameter is set to 3, there are three instances of the cal parameter. The value of each cal parameter is an encoded list of parameters and their values. The server decodes each cal parameter and set the properties appropriately.