Oracle Calendar Application Developer's Guide Release 2 (9.0.4) Part Number B10893-01 |
|
|
View PDF |
This chapter contains frequently asked questions and troubleshooting information for the Oracle Calendar SDK.
The newest release of the Calendar SDK will include a migration utility for pre-9.0.4 versions. This will allow you to port your old applications to the new Calendar server.
With the 9.0.4 release of the Oracle Calendar SDK, many new features have been added. In addition to the new server, which provides better performance and more efficient processing, the following has been added to the SDK package:
The Oracle Calendar SDK is a package of C/C++ function calls, so any language that can natively support C can be used to create a wrapper and access these functions.
Options include using Visual Basic, Perl, Java, and Python. There may be other independent efforts in existence; the Oracle Calendar SDK forum on Oracle OTN is a good place to look for such information.
Either replace the event by calling CSDK_StoreEvents and supplying an iCalendar without an ATTENDEE property for the user, or use CAPI_GetHandle for the user you want to remove from the list of attendees, followed by a call to CAPI_DeleteEvent.
Provide an ATTENDEE property for the user when calling CSDK_StoreEvents.
Yes. Calendar SYSOP login is supported as of release 9.0.4 of the Oracle Calendar SDK.
Use the function CSDK_DeleteEvents, supplying the event UID.
See the latest Oracle Calendar SDK Readme file for this information.
Chapter 6, "Calendar SDK Status Codes", contains a list of Oracle Calendar SDK status codes. Each code can be divided into five fields, each describing a different level of the problem.
The two helper functions, CSDK_GetStatusLevels() and CSDK_GetStatusString(), can help decode the error easily. You can also look at the demo applications that ship with Oracle Calendar SDK for an example of how to decode error codes.
Since an e-mail address is required to generate the iCalendar ATTENDEE property, Oracle Calendar SDK will skip any attendee who does not have an e-mail address when exporting an iCalendar event. The suggested workaround is to make sure all attendees have an e-mail address stored on the calendar server.
Oracle Calendar SDK encodes its output in UTF-8, in which the character is represented as 2 bytes: 0xC3 and 0xA9. When returning MIME-encapsulated data, Oracle Calendar SDK further encodes those bytes in quoted-printable strings, which results in =C3=A9.
No, this is not a bug. =3D
is really an equal sign (=)
encoded in quoted-printable. So, where you might expect to see partstat=confirmed
, you would actually see partstat=3Dconfirmed
.
When using CAPI_StoreEvents to invite people to an event, you need to supply a CAPIHandle for each attendee.
Oracle Calendar SDK was compiled with Visual C++ 6; older versions need a patch to work. Search the Microsoft Web site for available patches.
Ensuring that you are using Visual C++ will mitigate linking errors you may encounter with other C compilers. Refer to the demo applications project for recommended compiler and linker settings.
You need to link your application using Microsoft's C runtime library (the /MD switch if you're using the command line) as opposed to the static C libraries. This is required because the FILE pointer used by the file stream has different definitions depending on which version of the C library is being used.
CSDK_CreateFileStreamFromFilenames can be used, in which case the FILE pointer will not need to be passed between the SDK and your application.
There are a couple of possible answers:
1. Your resource name may contain accented or special characters such as "#". Oracle Calendar SDK expects user and resource identification strings to be in UTF-8. Be sure to use the proper UTF-8 values to describe accented or special characters.
2. Your resource name contains a forward-slash / character, such as ""Training / Meeting Room"". The use of this character inside resource names conflicts with the / used by default as the field delimiter. To fix this, simply use another character as your delimiter. For example, RS=Work/.
You can only set a vAlarm (reminder) on events in your own agenda.
This is the normal behavior of the function. To retrieve reminders (vAlarms), it is recommended that you use the functions CSDK_FetchEventsBy..., CAPI_FetchEventByID() or CAPI_FetchEventsByAlarmRange().