2009-05-11 Adam Tauno Williams * zOGIAction.h: Added accessor for can-delete-tasks default/setting. (v1.5.59) * zOGIAction+Task.h|m: Added task deletion support. (v1.5.59) * zOGIRPCAction.m: Added support for task deletion. (v1.5.59) 2009-05-09 Adam Tauno Williams * zOGIAction+Object.m: Added some error checking & logging. (v1.5.57) * zOGIAction+Task.m: RPC side support for criteria searching. (v1.5.57) * zOGIAction.m: Added some error checking & logging. (v1.5.57) * zOGIAction.m: Moved static defaults loading into initialize, added the zOGITaskDeleteEnabled default. (v1.5.58) 2009-04-11 Adam Tauno Williams * zOGIAction+Company.m: Added more specific logging for Contact and Enterprise creation and update. (v1.5.56) * zOGIAction+Appointment.m|h: Added logging on appointment updates. (v1.5.55) * GNUmakefile: Added email support files. (v1.5.55) * zOGIAction+Mail.h|m: Preliminary e-mail support. (v1.5.55) 2009-04-10 Adam Tauno Williams * zOGIAction+Appointment.m: Added logging for participant status updates. (v1.5.54) 2009-04-03 Adam Tauno Williams * zOGIAction+Task.m: If the parentTaskObjectId during a putObject has a value of 0 map it to an EONull, this allows the value to be cleared from crappy languages like PHP that don't have a real NULL value. (v1.5.53) 2009-03-30 Adam Tauno Williams * zOGIAction+Task.m: added support for returning the task graph on membership (128) detail level. (v1.5.52) 2009-03-25 Adam Tauno Williams * zOGIAction+Task.m: added support for rendering and setting parentJobId value for hierarchical tasks. (v1.5.51) 2009-02-27 Adam Tauno Williams * product.plist: removed duplicate entry for getAuditEntries. (v1.5.50) 2008-11-03 Adam Tauno Williams * zOGIAction+Assignment.m: potential fix for zOGI Issue#34. Enterprise assignment modification will not remove Teams assignments. (v1.5.49) 2008-08-19 Adam Tauno Williams * zOGIAction+Task.m: fix-up to avoid crash if an objectId is listed in obj_info as a task but has subsequently been deleted without obj_info having been cleaned out. (v1.5.48) 2008-07-11 Adam Tauno Williams * zOGIAction+Appointment.m: mapped priorDuration and postDuration attributes to the travel time attributes of the Appointment entity. The intent of these is to allow specification of busy time prior to and after an appointment. (v1.5.47) 2008-06-15 Adam Tauno Williams * zOGIAction+Account.m: added appointmentWriteAccess and calendarPanelObjectIds defaults to _DEFAULTS key. (v1.5.46) * zOGIAction+Defaults.h|m: added _getDefaultWriteAccessFromDefaults method to render default write access of events to object id list. Storing defaults now supports the appointmentWriteAccess and calendarPanelObjectIds defaults. (v1.5.46) 2008-06-08 Adam Tauno Williams * zOGIAction+Contact.m: encode a null isAccount flag as a zero rather than an empty string. (v1.5.45) 2008-05-23 Adam Tauno Williams * zOGIAction+Contact.m: include contactId attribute, encode a null isPrivate flag as a zero rather than an empty string. (v1.5.44) * zOGIAction+Appointment.m: encode start and end offset based upon users timezone setting. (v1.5.44) * zOGIAction+Note.h|m: support direct update of notes. (v1.5.44) * zOGIAction+Object.m: improved object link handling (v1.5.44) * zOGIAction+Enterprise.m: include contactId attribute (v1.5.44) * zOGIRPCAction.m: support direct creation and deletion of notes. (v1.5.44) * product.plist: bind getAuditEntries method. Support three arguements for getNotifications (v1.5.44) 2008-03-24 Adam Tauno Williams * zOGIAction+Appointment.m: Minor cleanup. (v1.5.42) * zOGIAction+Enterprise.m: Added elapsted time to Enterprise rendering if debugging enabled. (v1.5.42) * zOGIAction.h|m: Added support for zOGIProfileEnabled default to separate debugging and profiling. (v1.5.42) * zOGIAction+Task.m: _getTaskForKey should only return one task and not an array of one task. (v1.5.42) * zOGIAction+Notifications.h|m: Add support for flags to the getNotifications method. Allow the noCommit flags so that notifications can be retrieved without clearing the notifications. (v1.5.42) * zOGIAction+Project.m: Never return a null rootDocument. A zero equals no folder assigned; possibly this is a bug in Logic? (v1.5.42) * zOGIRPCAction.m: Support flags in getNotifications. (v1.5.42) * zOGIAction+Document.m: If zOGI_INCLUDE_CONTENTS detail is specified in request return the base64 encoded contents of the Document entity in the content attribute. (v1.5.42) * zOGIAction+Note.m: Note entityName should be "note" not "Note". (v1.5.43) 2008-03-05 Adam Tauno Williams * zOGIRPCAction.m: Added getAuditEntries support, clients can retrieve all changes from the server since a specified log entry. Relates to bug#1736. (v1.5.41) * product.plist: Mapped getAuditEntries method. (v1.5.41) 2008-01-11 Adam Tauno Williams * zOGIAction+Account.m: If the detail level of getLoginAccount is zOGI_INCLUDE_CONTACTS then render the login account as a Contact instead of as an Account. (v1.5.40) 2007-11-19 Adam Tauno Williams * zOGIAction+Contact.m: Always render the superuser account (10000) as an Account entity and not as a Contact. (v1.5.39) * zOGIAction+Object.m: Make the objectId of an objectLink entity numeric rather than a string. Fix case where objectId of an Unknown entity was an EOGlobalId rather than an integer. (v1.5.39) * zOGIAction+Team.h|.m: Add support for updating the members of a Team via the memberObjectIds attribute (v1.5.39) * zOGIAction+Project.m: Return objectId of a Project entity as an integer. (v1.5.39) * zOGIRPCAction.m: Support "revolve" feature when searching for Contact or Enterprise objects, support filters when performing getObjectsById, and log duration of getObjectsById calls. Enable updating Teams via putObject. (v1.5.39) * zOGIAction+Document.m: Remove superfluous log message. Fix error when an object was requested from an emtpy array. Fixes Consonance / ZOGI.Net issue#22. (v1.5.39) 2007-11-27 Adam Tauno Williams * zOGIAction+Appointment.m: Remove concrete class check. (v1.5.38) * zOGIAction+Property.m: Remove concrete class check (v1.5.38) 2007-11-26 Adam Tauno Williams * zOGIAction+Contact.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Appointment.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+AppointmentConflicts.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Defaults.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Assignment.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Enterprise.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Property.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Team.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Company.m: Removed use of concrete classes. (v1.5.37) * zOGIRPCAction.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Notifications.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+News.m: Removed use of concrete classes. (v1.5.37) * zOGIAction+Document.m: Removed use of concrete classes. (v1.5.37) * common.h: Removed use of concrete classes. (v1.5.37) 2007-11-10 Adam Tauno Williams * zOGIRPCAction.m|h: Clean to retrieval of server's time. Also return server's perspective of client's time. (v1.5.36) 2007-11-09 Adam Tauno Williams * zOGIAction+Account.m: Add isTimeZoneSet element to DEFAULTS key in response to getLoginAccount. Indicates if the time zone is defaulting or if the user has selected the indicated time zone. (v1.5.35) * zOGIAction+Appointment.m: Support server side time zone offsets via timeZone attribute. Provide client with offsets between users default time zone and GMT with the endOffset, startOffset, and offsetTimeZone attributes. (v1.5.35) * zOGIAction.m|h: makeCalendarDate now guaranteers provided dates are turned into GMT; optionally offsets the date time to GMT on behalf of the client. (v1.5.35) * zOGIRPCAction.m|h: Clients can retrieve server's time zone tables and current time via searchForObjects. (v1.5.35) 2007-11-08 Adam Tauno Williams * zOGIAction+Contact.m: Fixed memory leak. (v1.5.34) * zOGIAction+Appointment.m: Fix memory leaks. Render participants into NONVISIBLE appointments if participants were requested via detail; this duplicates the behaviour of WebUI. (v1.5.34) * zOGIAction+AppointmentConflicts.m: Fix memory leak. (v1.5.34) * zOGIAction+Note.m: Fix memory leaks. (v1.5.34) * zOGIAction+Assignment.m: Fix memory leaks. (v1.5.34) * zOGIAction+Enterprise.m: Fix memory leak. (v1.5.34) * zOGIAction+Property.m: Fix memory leaks. (v1.5.34) * zOGIAction+Resource.m: Fix memory leak. (v1.5.34) * zOGIAction+Task.m: Fix memory leaks. (v1.5.34) * zOGIAction+Company.m: Fix memory leaks. (v1.5.34) * zOGIAction+Project.m: Fix memory leaks. (v1.5.34) * zOGIRPCAction.m: Fix memory leak. (v1.5.34) * zOGIAction+News.m: Fix memory leak. (v1.5.34) * zOGIAction+Document.m: Fix memory leak. (v1.5.34) 2007-11-04 Adam Tauno Williams * zOGIAction+Account.m: Correctly handle users who have no notification CC: address when rendering defaults for the logged in user account. (v1.5.32) * zOGIAction+Defaults.m: Correctly handle retrieving the notification CC: address from user defaults when none has been set. (v1.5.33) 2007-11-03 Adam Tauno Williams * zOGIAction+Contact.m: Include zOGIAction+Defaults.h. (v1.5.31) * zOGIAction+Account.m: Include zOGIAction+Defaults.h. Removed panel rendering, which is now in the Defaults category. (v1.5.31) * zOGIAction+Appointment.m: Resources can now be specified, by objectd, as participants when searching for appointments. Removed a useless log message. "isConflictDisabled" attribute is now rendered in the Appointment entity. (v1.5.31) * zOGIAction+Defaults.h|m: New category for handling retrieval and manipulation of user defaults. User's schedular panel, notification CC address, and timezone can now be changed via zOGI API. (v1.5.31) * zOGIAction+AppointmentConflicts.m: _renderConflictsForDate now respects the "isConflictDisabled" attribute and sets an empty array of conflicts if conflict detection is disabled for the appointment. (v1.5.31) * zOGIAction+Object.m: Include zOGIAction+Defaults.h. (v1.5.31) * zOGIAction+Enterprise.m: Include zOGIAction+Defaults.h. (v1.5.31) * zOGIAction+Team.m: Include zOGIAction+Defaults.h. (v1.5.31) * zOGIAction.h|m: Removed methods relating to defaults. (v1.5.31) * zOGIAction+Company.m: Include zOGIAction+Defaults.h. (v1.5.31) * zOGIRPCAction.m: Include zOGIAction+Defaults.h. A putObject of a "defaults" entity now invokes _storeDefaults from the Defaults category. (v1.5.31) * zOGIAction+Notifications.m: Include zOGIAction+Defaults.h. (v1.5.31) 2007-10-29 Adam Tauno Williams * common.h: Added include of NSFileManager.h (v1.5.29) * zOGIRPCAction.m: Fixed a memory leak. searchForObjects and getObjectsByObjectId report profiling information if zOGI debugging is enabled. getObjectsByObjectId groups contact and enterprise requests and retrieves them from Logic with a bulk request instead of one-by-one providing a huge performance improvement. (v1.5.29) * zOGIAction+Company.m: Fixed a memory leak. Correct double dipping into Logic loading company phone numbers; get-by-globalid already loads phone numbers. (v1.5.29) * zOGIAction.m: Fixed a memory leak. Removed useless log message. (v1.5.29) * zOGIAction+Resource.m: Apply limit to resource searches. (v1.5.29) * zOGIAction+Team.m: Fixed a memory leak. Preperation for bulk get support. (v1.5.29) * zOGIAction+Enterprise.m: Get enterprises from Logic in a bulk request. (v1.5.29) * zOGIAction+Object.m: Support for bulk requests. Fixed a memory leak. (v1.5.29) * zOGIAction+AppointmentConflicts.m: Fixed a memory leak. (v1.5.29) * zOGIAction+Appointment.m: Fixed a memory leak. (v1.5.29) * zOGIAction+Contact.m: Fixed a memory leak. Support for bulk requests. (v1.5.29) * zOGIAction+AppointmentConflicts.m: Removed useless log message. (v1.5.30) 2007-10-12 Adam Tauno Williams * zOGIAction.m: Added method to retrieve the notification CC address of a specified account. (v1.5.28) * zOGIAction+Notifications.m: Broke up enormous method in smaller functional pieces. Teams are now expanded to members for notification and duplicates are suppressed. (v1.5.28) 2007-10-11 Adam Tauno Williams * zOGIAction.m: Added methods to load a specified user's defaults and retrieve a specified user's default time zone. (v1.5.27) * zOGIAction+Notifications.m: Provide startTimeZone, startOffsetFromGMT, endTimeZone, endOffsetFromGMT attributes in notification so user can be notified in the appropriate time zone (v1.5.27) 2007-10-10 Adam Tauno Williams * zOGIAction+Appointment.m: Participants are no longer lost when an update is made to an Appointment without a PARTICIPANTS key, such as when doing an appointment move. Appointment creation without a PARTICIPANTS key automatically adds the current user as a sole participant with a status of "ACCEPTED" and a role of "REQ-PARTICIPANT". (v1.5.26) * zOGIAction+Object.m: Direct a request for a NewsArticle to the appropriate method. (v1.5.26) 2007-10-08 Adam Tauno Williams * zOGIAction+Account.m: return some key default values in response to a call to getLoginAccount. (v1.5.25) * zOGIAction+Appointment.m: always provide a status value for appointment participants. Deal with a user having no defined default timezone. (v1.5.25) * zOGIAction.m: getDefault returns the value of the specified default without forcing it to be a string. (v1.5.25) * zOGIAction+Company.m: Fix crash when value of a company value was provided as an empty array. (v1.5.25) 2007-10-03 Adam Tauno Williams * zOGIAction+News.h|m: Begin support for managing articles via RPC. (v1.5.24) 2007-10-01 Adam Tauno Williams * zOGIAction+Company.m: Render the value of type 9 company values as an array of values. If a companyValues's value is sent via putObject as an array store the value as a comma seperated list of values. (v1.5.23) 2007-09-25 Adam Tauno Williams * GNUMakefile.preable: Uncomment mistakenly commented lines. (v1.5.22) 2007-09-24 Adam Tauno Williams * zOGIAction+Appointment.m: Change participant translation to match behaviour of improved LSDateAssignmentCommand. (v1.5.21) 2007-09-20 Adam Tauno Williams * zOGIAction+Appointment.m: Fix bug for storing readAccessTeamId when value is provides as a string. (v1.5.20) * zOGIAction+Team.m: Supress expansion of membership to the all "all intranet" team unless the zOGIExpandAllIntranet default is YES. (v1.5.19) * zOGIRPCAction.m: Change handling of flags in searchForObjects (v1.5.19) 2007-09-19 Adam Tauno Williams * zOGIAction+Contact.m: Change limit flag handling. (v1.5.18) * zOGIAction+Enterprise.m: Change limit flag handling. (v1.5.18) * zOGIRPCAction.m: Change limit flag handling. (v1.5.18) * zOGIAction+Document.m: Support common object details on documents; logs & properties. (v1.5.18) * zOGIRPCAction.m: Improved logging, returning of empty results, and returning of Exceptions. (v1.5.17) * product.plist: Registered arguement#4 for searchForObjects. (v1.5.17) * zOGIAction+Contact.m: Support passing flags to search routine. Support the "limit" flag. (v1.5.16) * zOGIAction+Account.m: Support passing flags to search routine. (v1.5.16) * zOGIAction+Appointment.m: Support passing flags to search routine. (v1.5.16) * zOGIAction+Object.m: Minor code cleanup. (v1.5.16) * zOGIAction+Enterprise.m: Support passing flags to search routine. Support the "limit" flag. (v1.5.16) * zOGIAction+Team.m: Support passing flags to search routine. (v1.5.16) * zOGIAction+Resource.m: Support passing flags to search routine. (v1.5.16) * zOGIAction+Task.m: Support passing flags to search routine. (v1.5.16) * zOGIAction+Project.m: Support passing flags to search routine. (v1.5.16) * zOGIRPCAction.m: Receive flags for searchForObjects. If a "filter" flag is supplied further filter the seach results after search operation. (v1.5.16) * zOGIAction+Notifications.m: Request person.imAddress and person.isAccount from list-participants command. (v1.5.16) 2007-09-14 Adam Tauno Williams * zOGIAction+Appointment.m: Fix bug in handling of participants criteria when searching for appointments. (v1.5.15) * product.plist: Registered zogi.getNotifications method. (v1.5.14) * zOGIAction+Appointment.m: Search appointments now supports appointment types qualification. (v1.5.13) * zOGIAction+Contact.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Account.m: Code cleanup and added comments. Can now return the accounts team membership in "_TEAMS" at the zOGI_INCLUDE_MEMBERSHIP detail level. (v1.5.12) * zOGIAction+Appointment.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+AppointmentConflicts.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Note.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Object.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Assignment.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Enterprise.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Property.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Team.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Task.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Company.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Project.m: Code cleanup and added comments. (v1.5.12) * zOGIRPCAction.m: Code cleanup and added comments. Added support for zogi.getNotifications method (only available to OGo superuser). (v1.5.12) * zOGIAction+Document.m: Code cleanup and added comments. (v1.5.12) * zOGIAction+Notifications.m: Provides a method to retrieve, and clear, pending appointment notifications. (v1.5.12) 2007-09-13 Adam Tauno Williams * zOGIAction+Object.m: Project ACLs are now reported correctly, preperation for saving Project ACLs. Minor code cleanups. (v1.5.11) * zOGIAction+Project.m: Participant reporting removed from Projects as it is redundant. Project rendering uses bulk Logic operations; also include the WRITE or READONLY flags in result. (v1.5.11) * zOGIAction+Company.m: Updated to use the signature of revised saveACLs method. (v1.5.11) 2007-09-11 Adam Tauno Williams * zOGIAction+Appointment.m: Resources can now be assigned to appointments via the _RESOURCES key. (v1.5.10) * zOGIAction+Resource.m: Added member to get eo record of a resource by objectId. (v1.5.10) * zOGIAction+Resource.m: Added _renderNamedResources method for use by appointment rendering. (v1.5.9) * zOGIAction+Appointment.m: Added _RESOURCES key to rendered appointment; like _PHONES and _ADDRESSES of a Contact entity this key always appears regardless of detail level. (v1.5.9) * zOGIAction+Resource.m: Improved searching. Sending an empty criteria will return all defined resources. Also returns a null notificationTime attribute as a zero rather than an empty string. (v1.5.8) 2007-09-10 Adam Tauno Williams * zOGIAction+Appointment.m: Fix a double free (v1.5.6) * zOGIAction+AppointmentConflicts.m: Code cleanup and debug entries claused by isDebug. (v1.5.6) * zOGIAction+Team.m: Searching for teams now supports two modes - "all" and "mine". Teams can render members in two modes depending upon detail level; either as Contact entities or as an array of member objectIds. (v1.5.6) * zOGIAction+Team.m: Fix a double free (v1.5.7) * zOGAction+Account.m: Account rendering supports including teams account is member of. Also some minor code clean-up. (v1.5.6) 2007-08-27 Adam Tauno Williams * zOGIAction+Enterprise.m: Fix data-loss when creating contacts via businessCard mode and inheriting ACLs. (v1.5.5) * zOGIAction+Company.m: No longer NIL encode phone number type field, phone numbers always have types. (v1.5.5) 2007-08-22 Adam Tauno Williams * zOGIAction+Task.m: Encode null values in isTeamJob, totalWork, sensitivity, notify, priority, actualWork, and percentComplete attributes as zero. (v1.5.4) 2007-08-21 Adam Tauno Williams * zOGIAction.m: Debug messages can now be disabled/enabled with zOGIDebugEnabled default (v1.5.2) * zOGIAction+Assignment.m: Removed superfluous log message (v1.5.2) * zOGIAction+Company.m: Code cleanup (v1.5.3) * zOGIAction+Enterprise.m: ACLs from enterprise are inherited by contacts when created in businessCard mode if no ACLs were specifically provided for the contact. (v1.5.3) 2007-08-19 Adam Tauno Williams * Initial commit of zOGI bundle to ZideStore * Corrected missing comment attribute in Enterprise entity