[ANNOUNCEMENT] Improved Exchange Plug-in

As announced during Servoy World we added support for MS Exchange 2010 to our Exchange Plug-in.

In fact we created a whole new Plugin: the ExchangeWS Plug-in including improved support for MS Exchange 2007.

You can read more about the Plugin here: http://www.servoycomponents.com/plugins/exchange.php and release notes are below.

Because the Plug-in in its current form is in beta you can download it using the latest Components Manager from command line: java -jar it2be-manager.jar -beta .

Please be advised that this IS BETA software and it can not be mixed with released components due to changes to the core libraries and a new certificate.
The Components Manager will automatically create an archive of your ‘old’ installation. Please do not remove it before you are 100% ok with the new installation.

Have fun!

Marcel

Exchange Plug-in
The JEC (Exchange Plug-in, communicate with MS Exchange 2000, 2003, 2007) and EWSJ (ExchangeWS Plug-in, communicate with MS Exchange 2007, 2010) are not 100% interchangeable due to many differences in the
API.

To find out what is going on ‘under the hood’ you can enable logging for the libraries by adding the following line to servoy.properties: ‘log4j.category.jec.utils.AppLogger=WARN, stdout’.

[chg] improved getFolders method when using a path (use ‘:’ separator within a path)
[chg] moving to folders with getMails(…) etc. now also works with subfolders. Use ‘:’ separator when using nested subfolders
[chg] included latest JEC libraries (1.64_25)
[fix] getAllFolders(connection, folder) now also works with subfolders. Use ‘:’ separator when using nested subfolders

ExchangeWS Plug-in
IMPORTANT
The JEC (Exchange Plug-in, communicate with MS Exchange 2000, 2003, 2007) and EWSJ (ExchangeWS Plug-in, communicate with MS Exchange 2007, 2010) are not 100% interchangeable due to many differences in the
API. The changes that had to be made are shown below as well as new properties and methods.

To find out what is going on ‘under the hood’ you can enable logging for the libraries by adding the following line to servoy.properties: ‘log4j.category.jec.utils.AppLogger=WARN, stdout’.

[chg] deprecated createAppointmentFolder use createCalendarFolder instead
[chg] deprecated createMailFolder use createInboxFolder instead
[chg] dropped removeAppointment use deleteEvent instead
[chg] dropped removeContact use deleteContact instead
[chg] dropped removeMail use deleteMail instead
[chg] dropped removeTask use deleteTask instead
[chg] dropped appointment use event now
[chg] dropped meeting use event now
[chg] saving a new item now returns the id and changeKey
[chg] creating a folder now takes an optional 3rd boolean argument ‘inRoot’ to place a folder in the root
[chg] changed getContact into getContact(id, [changeKey])
[chg] changed getEvent into getEvent(id, [changeKey])
[chg] changed getTask into getTask(id, [changeKey])
[chg] changed getContacts into getContacts(connection, [xmlSearchExpression])
[chg] changed getEvents into getContacts(connection, xmlSearchExpression) or getContacts(connection, startDate, endDate)
[chg] changed getMails into getContacts(connection, [xmlSearchExpression])
[chg] changed getTasks into getContacts(connection, [xmlSearchExpression])
[new] added getMail(id, [changeKey])
[new] added deleteContact(id, changeKey, [deleteType])
[new] added deleteMail(id, changeKey, [deleteType])
[new] added deleteTask(id, changeKey, [deleteType])
[new] added deleteEvent(id, changeKey, deleteType, meetingCancellationType)
[new] added createContactFolder returns folderId
[new] added createInboxFolder returns folderId
[new] added getFolderId(folder) returns folderId to be used when accessing a folder
[new] added moveContact(connector, contact, folderId) and moveContacts(connector, contacts, folderId)
[new] added moveEvent(connector, event, folderId) and moveEvents(connector, events, folderId)
[new] added moveTask(connector, task, folderId) and moveTasks(connector, tasks, folderId)

Connection
[chg] dropped useFBA (not necessary anymore)
[chg] dropped i18n setting of 'default ’ folder names (not necessary anymore)

Contact
[chg] dropped getUid and setUid use getId and setId instead
[chg] dropped getUniqueId and setUniqueId use getChangeKey and setChangeKey instead
[chg] dropped categories use categoriesString instead
[chg] dropped displayName use nickName instead
[chg] dropped otherTelephoneNumber instead
[chg] dropped homePage use businessHomePage instead
[chg] dropped textDescription use body instead
[chg] saving a new item now returns the id and changeKey
[new] added id
[new] added changeKey
[new] added categoriesString
[new] added nickName
[new] added im1Address, im2Address, im3Address
[new] added email1AddressDisplayName, email2AddressDisplayName, email3AddressDisplayName
[new] added homeTelephoneNumber2
[new] added assistantName
[new] added manager
[new] added department
[new] added businessHomePage
[new] added homeFaxNumber
[new] added bodyType
[new] added hasAttachment
[new] added getAttachments
[new] added getAttachmentsNames
[new] added addAttachment

Appointment
[chg] dropped use Event instead

Meeting
[chg] dropped use Event instead

Event
[chg] dropped getUid and setUid use getId and setId instead
[chg] dropped getUniqueId and setUniqueId use getChangeKey and setChangeKey instead
[chg] dropped all recurrenceTypes
[chg] dropped getFormattedEndDate
[chg] dropped getFormattedStartDate
[chg] dropped getFormattedAllDayEvent
[chg] dropped timezone use timezoneString instead
[chg] dropped lastModificationDate use creationDate instead
[chg] dropped sender
[chg] dropped senderEmailAddress
[chg] dropped senderEmailType
[chg] dropped senderName
[chg] organizer is now a property
[chg] recurringRule now takes an xml string (see Netcomps EWSJ documentation)
[chg] saving a new item now returns the id and changeKey
[new] added id
[new] added changeKey
[new] added categoriesString
[new] added eventType
[new] added llDayEventTimeZoneString
[new] added organizer
[new] added sensitivity
[new] added priority
[new] added timezoneString
[new] added getCreationDate()
[new] added getSentDate()
[new] added getImportanceString()
[new] added hasAttachment
[new] added getAttachments
[new] added getAttachmentsNames
[new] added reminderMinutesBeforeStart

Mail
[chg] dropped getUid and setUid use getId and setId instead
[chg] dropped getUniqueId and setUniqueId use getChangeKey and setChangeKey instead
[chg] dropped attachmentName
[chg] dropped dateReceived use dateSent instead
[chg] dropped dateReceivedString
[chg] dropped lastModificationTime use dateCreated instead
[chg] dropped htmlBody use bodyType instead
[chg] dropped getToEmailAddresses
[chg] dropped getToEmailNames
[chg] dropped getToEmailNamesForDisplay
[chg] dropped meetingId use associatedEventId and associatedEventChangeKey instead
[chg] dropped isMeetingRequest
[chg] dropped getMimeMultipart
[chg] dropped setDeliveryReceipt
[chg] dropped getAttachmentBytes
[chg] deprecated sender use fromEmailAddress instead
[chg] deprecated getSenderEmailAddress use fromEmailAddress instead
[chg] deprecated getSenderEmailName use fromFullAddress instead
[chg] deprecated getSenderName use fromName instead
[chg] deprecated isUnread use isRead instead
[chg] to, cc and bcc now return and take a string array of email addresses instead of a single string value
[chg] saving a new item now returns the id and changeKey
[new] added id
[new] added changeKey
[new] added categoriesString
[new] added hasAttachment
[new] added associatedEventId
[new] added associatedEventKey
[new] added importance
[new] added sensitivity
[new] added bodyType
[new] added sizeInBytes

Task
[chg] dropped getUid and setUid use getId and setId instead
[chg] dropped getUniqueId and setUniqueId use getChangeKey and setChangeKey instead
[chg] dropped categories use categoriesString instead
[chg] dropped getLastModificationTime
[chg] dropped getLastModificationDate
[chg] dropped priority use importance
[chg] dropped from
[chg] saving a new item now returns the id and changeKey
[new] added id
[new] added changeKey
[new] added categoriesString
[new] added hasAttachment
[new] added getAttachments
[new] added getAttachmentsNames
[new] added addAttachment
[new] added importance
[new] added sensitivity
[new] added reminderDueByDate
[new] added isCompleted

Type
[chg] dropped email_RECEIVED
[chg] dropped email_SENT
[chg] dropped email_SENTANDRECEIVED
[new] added body_HTML
[new] added body_TEXT
[new] added calendarStatus_BUSY
[new] added calendarStatus_FREE
[new] added calendarStatus_OUT_OF_OFFICE
[new] added calendarStatus_TENTATIVE
[new] added calendarImportace_HIGH
[new] added calendarImportace_LOW
[new] added calendarImportace_NORMAL
[new] added folderType_CALENDER_FOLDER
[new] added folderType_CONTACTS_FOLDER
[new] added folderType_FOLDER
[new] added folderType_SEARCH_FOLDER
[new] added folderType_TASKS_FOLDER