]> err.no Git - scalable-opengroupware.org/blobdiff - ChangeLog
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1265 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / ChangeLog
index c7e3787f186c0c07175f5fe900dbda17033dbfcd..1f711462f46b8fef09cd80085b55945303c9a4b5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,249 @@
+2007-11-18  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor -saveAction]):
+       invoke saveComponent:.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor -hasOrganizer])
+       ([UIxComponentEditor -organizerName]): new template accessor
+       related to displaying the event's organizer.
+       ([-containsConflict:_component]): removed method.
+       ([UIxComponentEditor -takeValuesFromRequest:_rqinContext:_ctx]):
+       set RSVP to "TRUE" on each attendee.
+
+       * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor
+       -saveAction]): invoke saveComponent:.
+
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -isLoggedInUserTheOrganizer]): make use of
+       the -userIsOrganizer: category method.
+       ([-isLoggedInUserAnAttendee]): make use of -userIsParticipant:.
+       ([UIxMailPartICalViewer -hasSenderStatusChanged]): new template
+       accessor that determines whether the "Update" button should be
+       displayed.
+
+       * UI/MailPartViewers/UIxMailPartICalActions.m
+       ([UIxMailPartICalActions -deleteFromCalendarAction]): implemented
+       action.
+       ([UIxMailPartICalActions -updateUserStatusAction]): implemented
+       action.
+
+       * UI/Common/UIxPageFrame.m ([UIxPageFrame
+       -setCssFiles:newCSSFiles]): new accessor that enables the
+       sub-templates to specify extra CSS files to load.
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser
+       -homeFolderInContext:context]): cache the home folder of the user
+       object instead of the current user.
+
+       * SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder
+       -deleteEntriesWithIds:ids]): invokes the "prepareDelete" optional
+       method if the child object implements it.
+
+       * SoObjects/SOGo/SOGoContentObject.m ([-setContentString:])
+       removed method.
+
+       * SoObjects/SOGo/LDAPSource.m ([LDAPSource
+       -setBaseDN:newBaseDNIDField:newIDFieldCNField:newCNFieldUIDField:newUIDFieldmailFields:newMailFieldsandBindFields:newBindFields]):
+       take a new "mailFields" parameter defining an array of fields
+       where to look at when searching the user's emails. It defaults to
+       the standard "mail" LDAP field.
+
+       * SoObjects/Appointments/SOGoAptMailICalReply.[hm]: new
+       SoComponent implementing a template for ITIP replies.
+
+       * SoObjects/Appointments/iCalPerson+SOGo.m ([iCalPerson
+       -mailAddress]): new method that returns a properly formatted email
+       address for the specified person entry.
+       ([iCalPerson -uid]): new method that tests whether the user is
+       known to the system and if so, returns its user id.
+
+       * SoObjects/Appointments/iCalPerson+SOGo.[hm]: new category module.
+
+       * SoObjects/Appointments/iCalEventChanges+SOGo.m
+       ([iCalEventChanges -sequenceShouldBeIncreased]): determine whether
+       the changes involved need a sequence inscrease, based on the
+       RFC2446 (ITIP).
+
+       * SoObjects/Appointments/iCalEventChanges+SOGo.[hm]: new category
+       module.
+
+       * SoObjects/Appointments/iCalEvent+SOGo.m ([iCalEvent
+       -isStillRelevant]): new overriden method determining the relevance
+       of the current event based on its end date.
+
+       * SoObjects/Appointments/iCalEvent+SOGo.[hm]: new category module.
+
+       * SoObjects/Appointments/iCalEntityObject+SOGo.m
+       ([iCalEntityObject -attendeeUIDs]): new category methods that
+       returns an array containing the uids of the system-know attendees.
+       ([iCalEntityObject -isStillRelevant]): new template method.
+       ([iCalEntityObject -itipEntryWithMethod:method]): clone the
+       current entry calendar with the specified ITIP method.
+       ([iCalEntityObject -attendeesWithoutUser:user]): returns an array
+       of attendees while making sure the specified user is not listed.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([SOGoCalendarComponent -calendar:create:secure]): new name for
+       -calendar:. Added a "secure" parameter that specifies whether a
+       stripped calendar instance is needed or not. Also, we no longer
+       cache the content to simplify handling of new data.
+       ([SOGoCalendarComponent -component:create:secure]): same as above.
+       ([SOGoCalendarComponent
+       -sendEMailUsingTemplateNamed:_pageNameforOldObject:_oldObjectandNewObject:_newObjecttoAttendees:_attendees]):
+       test whether the component is "still relevant" before sending an
+       email...
+       ([SOGoCalendarComponent -sendResponseToOrganizer]): new method for
+       sending ITIP replies.
+       ([SOGoCalendarComponent -getUIDsForICalPerson:iCalPerson]):
+       removed method. Replaced with -[iCalPerson uid] category method.
+
+       * SoObjects/Appointments/SOGoAppointmentObject.[hm]: rewrote
+       class. No longer override saveContentString:,
+       saveContentString:baseSequence:, .... Implemented the
+       saveComponent: and the prepareDelete methods instead. Those
+       methods are called only from the web methods. This avoids the
+       risks related to email sending and changes propagation.
+
+       * UI/Common/UIxTabItem.m: removed useless class module.
+
+       * UI/Common/UIxTabView.[hm]: removed useless class module.
+
+       * UI/Common/UIxPrintPageFrame.m: removed useless class module.
+
+       * UI/Common/UIxAppNavView.m: removed useless class module.
+
+2007-11-16  Ludovic Marcotte <ludovic@inverse.ca>
+
+        * SoObjects/Mailer/SOGoMailBaseObject.m
+       Fixed typo.
+
+       * SoObjects/Mailer/SOGoMailBodyPart.m
+       We also grok image/jpeg and return the SOGoMailBodyPart
+       for attachments fetching.
+
+       * SoObjects/Mailer/SOGoMailObject+Draft.m
+       Prevent a crash in case body decoding failed during
+       a reply.
+
+       * SoObjects/Mailer/SOGoMailObject.m
+       Improved body decoding during a reply to also try
+       latin1 as an encoding.
+
+       * UI/MailPartViewers/UIxMailRenderingContext.m
+       Greatly improved the display mechanisms for emails.
+       Also properly consider the content disposition for
+       most content types.
+
+       * UI/MailerUI/UIxMailToSelection.m
+       Removed worthless code.
+
+       * UI/WebServerResources/MailerUI.css
+       CSS fix for table views.
+
+2007-11-15  Ludovic Marcotte <ludovic@inverse.ca>
+
+        * UI/WebServerResources/MailerUI.js
+        We now check for empty selection and warn the
+        user about it when deleting messages
+        * SoObjects/Mailer/SOGoDraftObject.m
+        Correctly check for the presence of a subject
+        before attempting to forward a message from
+        the Drafts folder.
+
+        * SoObjects/Mailer/SOGoMailObject+Draft.m
+        We no longer use "[Fwd: ]" but simply "Fwd:"
+        when forwarding email messages.
+        * SoObjects/SOGo/SOGoUser.m
+        Modified the default forwarding format to be
+        inline instead of "attachment".
+        * SoObjects/Mailer/SOGoDraftObject.m
+        We now create and use a NGMimeContentDispositionHeaderField
+        in order to avoid encoding the whole Content-Disposition
+        header in case a non-ASCII char is present!
+
+2007-11-13  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/iCalEntityObject+Utilities.m ([iCalEntityObject
+       -findParticipant:user]): new method based on the one removed from
+       SOGoCalendarComponent below.
+
+       * SoObjects/SOGo/iCalEntityObject+Utilities.[hm]: new category
+       module for iCalEntityObject.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([-findParticipant:user]): removed method.
+
+       * SoObjects/SOGo/SOGoContentObject.m ([SOGoContentObject
+       -setContentString:newContent]): new accessor method.
+       ([SOGoContentObject
+       -saveContentString:newContentbaseVersion:newBaseVersion]): invoke
+       -[self setContentString:].
+
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -authorativeEvent]): returns the most
+       up-to-date event.
+       ([-isLoggedInUserTheOrganizer]): make use of -[SOGoUser
+       hasEmail:].
+
+       * UI/MailPartViewers/UIxMailPartTextViewer.m ([NSString
+       -stringByConvertingCRLNToHTML]): fixed crashes due to overflows in
+       temporary buffer we are handing.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+       -setComponent:newComponent]): check that newComponent is non-nil
+       before replacing the default values.
+       ([UIxComponentEditor -calendarList]): privacy is already an ivar.
+       We don't need to refetch it.
+
+2007-11-12  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject
+       -fetchMailForReplying:sourceMailtoAll:toAll]): remove the current
+       user from the list of recipients and make sure no other address is
+       counted twice.
+
+       * UI/MailPartViewers/UIxMailPartTextViewer.m ([NSString
+       -stringByConvertingCRLNToHTML]): build the returned NSString
+       without the ending \0.
+
+2007-11-09  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailPartViewers/UIxMailPartICalViewer.m
+       ([UIxMailPartICalViewer -acceptLink])
+       ([UIxMailPartICalViewer -declineLink])
+       ([UIxMailPartICalViewer -tentativeLink]): removed useless methods.
+
+       * UI/MailPartViewers/UIxMailPartICalAction.m
+       ([UIxMailPartICalAction -addToCalendarAction])
+       ([UIxMailPartICalAction -deleteFromCalendarAction]): new stub
+       methods.
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -lookupImap4BodyPartKey:]): make use of the new method below.
+
+       * SoObjects/Mailer/SOGoMailBodyPart.m ([SOGoMailBodyPart
+       +bodyPartClassForMimeType:mimeTypeinContext:_ctx]): new method
+       that returns an appropriate Class depending on a given mime type.
+
+       * UI/SOGoUI/UIxComponent.m ([UIxComponent -canCreateOrModify]):
+       new boolean accessor that determines whether someone can create
+       (i.e. modify a new entry) or modify an existing entry.
+
+       * SoObjects/SOGo/SOGoObject.m ([SOGoObject
+       -lookupName:lookupNameinContext:localContextacquire:acquire]):
+       overriden method to bind looked up keys to So methods but by
+       avoiding a call to toOneRelationshipKeys. This will be the top
+       method of the chain, meant to override SoObject's behaviour.
+
+       * SoObjects/Contacts/SOGoContactLDAPFolder.m
+       ([SOGoContactLDAPFolder
+       -lookupName:objectNameinContext:lookupContextacquire:acquire]):
+       removed hack to prevent [super lookupName...] to read the entire
+       LDAP directory when looking up a record.
+
 2007-11-08  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/SOGo/SOGoGCSFolder.m ([SOGoGCSFolder