Attachments can be output from the server through multiple ways.
Fetch_by_* commands : All commands that you can use to fetch the event will now have an extra argument to fetch attachment within the event itself.
fetchattach = 0/1 : A value of '0' does not return the attachment within the ical event structure but only return information about the event as follows:
<>BEGIN:VEVENT UID:uid1 RECURRENCE-ID:rid1 DTSTAMP:20050919T165229Z SUMMARY:Calendar Server Engineering meeting DTSTART:20050919T223000Z DTEND:20050919T233000Z CREATED:20050627T184431Z LAST-MODIFIED:20050829T221947Z PRIORITY:5 SEQUENCE:5 CLASS:PUBLIC ORGANIZER;CN="Your Name" ;X-NSCP-ORGANIZER-UID=Short Name ;X-S1CS-EMAIL=firstname.lastname@email.com :savri ATTACH;X-S1CS-ATTACH-ID=attach-id1 ;X-S1CS-CLIENT-ATTACH-ID=client-attach-id1 ;FMTTYPE=text/plain ;X-S1CS-FILENAME=test.txt ;X-S1CS-FILESIZE=347 :http://host:port/fetchattachments.wcap?uid=uid1&rid=rid1 &attach-id=attach-id1 ATTACH;X-S1CS-ATTACH-ID=attach-id2 ;FMTTYPE=image/jpeg X-S1CS-FILENAME=pic.jpeg ;X-S1CS-FILESIZE=4355 <>:http://host:port/fetchattachments.wcap?uid=uid1&rid=rid1 &attach-id=attach-id2 STATUS:CONFIRMED TRANSP:OPAQUE X-NSCP-ORIGINAL-DTSTART:20050919T223000Z X-NSCP-LANGUAGE:en X-NSCP-DTSTART-TZID:America/Los_Angeles X-NSCP-TOMBSTONE:0 X-NSCP-ONGOING:0 X-NSCP-ORGANIZER-EMAIL:firstname.lastname@email.com X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT= "REQUEST-PENDING":131073 END:VEVENT |
The X-S1CS-CLIENT-ATTACH-ID will be emitted out only if the client had supplied its own id while storing the attachment. The URI is a WCAP URL that can be used by clients in conjunction with the session id to fetch the actual attachment.
A value of '1' to the fetchattachment command yields the actual attachment within the event itself as follows:
BEGIN:VEVENT UID:uid1 RECURRENCE-ID:rid1 DTSTAMP:20050919T165229Z SUMMARY:Calendar Server Engineering meeting DTSTART:20050919T223000Z DTEND:20050919T233000Z CREATED:20050627T184431Z LAST-MODIFIED:20050829T221947Z PRIORITY:5 SEQUENCE:5 CLASS:PUBLIC ORGANIZER;CN="Your Name" ;X-NSCP-ORGANIZER-UID=Short Name ;X-S1CS-EMAIL=firstname.lastname@email.com :savri ATTACH;;X-S1CS-ATTACH-ID=attach-id1 ;X-S1CS-CLIENT-ATTACH-ID=client-attach-id1 ;X-S1CS-FILENAME=pic.jpeg ;FMTTYPE=image/basic;ENCODING=BASE64;VALUE=BINARY: MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1U EBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIE <...remainder of "BASE64" encoded binary data...> ATTACH;;X-S1CS-ATTACH-ID=attach-id2 ;X-S1CS-FILENAME=pic2.jpeg ;FMTYPE=IMAGE/JPEG;ENCODING=BASE64;VALUE=BINARY:MIICajC CAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDA qBgNVBAoTI05ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uMRw <...remainder of "BASE64" encoded binary data...> STATUS:CONFIRMED TRANSP:OPAQUE X-NSCP-ORIGINAL-DTSTART:20050919T223000Z X-NSCP-LANGUAGE:en X-NSCP-DTSTART-TZID:America/Los_Angeles X-NSCP-TOMBSTONE:0 X-NSCP-ONGOING:0 X-NSCP-ORGANIZER-EMAIL:firstname.lastname@email.com X-NSCP-GSE-COMPONENT-STATE;X-NSCP-GSE-COMMENT="REQUEST-PENDING":131073 END:VEVENT |
It is advisable to specify fetchattach=0, to accelerate the response of fetch command in case there are lots of attachments. Instead, use the URL in the VEVENT to fetch the actual attachment when requested by the end user.