]> err.no Git - scalable-opengroupware.org/blobdiff - ChangeLog
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1044 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / ChangeLog
index 5f811c70f91b83fbf384c2e7690e591cf8ca2df1..60b5ef6e7049a5428cc023e255417d65e2b42775 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,314 @@
+2007-04-10  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Contacts/SOGoContactGCSEntry.m ([SOGoContactGCSEntry
+       -vCard]): test the prefix of the card in a case-independent way.
+
+       * OGoContentStore/OCSContactFieldExtractor.m
+       ([OCSContactFieldExtractor
+       -extractQuickFieldsFromContent:content]): we no longer accept
+       records in a format other than versit vCard so we can get rid of a
+       lot of code.
+
+2007-04-04  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Contacts/UIxContactsListView.m ([UIxContactsListView
+       -selectorComponentClass]): restored method.
+
+2007-04-03  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalTasksListView.m ([UIxCalTasksListView
+       -shouldDisplayCurrentTask]): the current task is not displayed if
+       it is NOT completed or if the "showCompletedTasks" flag is set.
+       The logic was inverted in Lightning and is now in SOGo too.
+
+2007-04-02  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Contacts/UIxContactView.m ([UIxContactView -workUrl]): we
+       want the "work" url instead of the "home".
+
+       * UI/Contacts/UIxContactEditor.m ([UIxContactEditor
+       -_saveSnapshot]): save url values from snapshot.
+       ([UIxContactEditor -initSnapshot]): load url values from snapshot.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+       -calendarList]): new method replacing "availableCalendars".
+
+       * UI/Scheduler/UIxCalendarSelector.m ([UIxCalendarSelector
+       -calendarFolders]): we now take the list of subscribed calendar
+       from the container.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder -calendarFoldersInContext:context]): new
+       method derived from and replacing [UIxCalView calendarFolders].
+
+2007-03-30  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoMailAccount.m ([SOGoMailAccount
+       -toManyRelationshipKeys]): don't put the predefined folders in the
+       list if they are returned by the server.
+
+       * UI/MailerUI/UIxMailTree.m ([UIxMailTree -flattenedNodes]): we no
+       longer store the "flattenedBlocks" in a dictionary since the
+       object will be deleted anyway and we don't need to put the folders
+       in cache.
+
+       * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+       ([UIxMailPartHTMLViewer -_attachmentIds]): take the current
+       attachment path into account when computing the part urls.
+
+2007-03-29  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Contacts/UIxContactsListViewContainer.m
+       ([UIxContactsListViewContainer -additionalFolders]): take the list
+       of subscribed folders from the new property list used for the user
+       settings. The value of its key is SubscribedFolders for the
+       dictionary entry named "Contacts".
+
+       * UI/Contacts/UIxContactsListView.m ([UIxContactsListView
+       -canAccessContentAction]): new method to override the one from
+       UIxFoldersActions by taking into account the fact that, this time,
+       the clientObject is an ldap folder. Removed many method that used
+       to be related to the handling of the user selector.
+
+       * UI/Scheduler/UIxCalDayView.m: commented out many unused methods
+       to make sure they can be removed.
+
+       * UI/Scheduler/UIxCalView.m ([UIxCalView -_setupCalendarFolders]):
+       populate the calendar entries based on the user settings plist.
+
+       * UI/Contacts/UIxContactFoldersView.m ([UIxContactFoldersView
+       -selectForMailerAction]): restored method.
+
+       * UI/Scheduler/UIxCalendarSelector.m: new template module derived
+       from a simplified version of the old UIxContactEditor (removed).
+
+       * UI/Contacts/UIxContactsUserFolders.m: new template module for
+       selecting users or user folders through an LDAP search of which
+       the results are displayed as a tree.
+
+       * UI/WebServerResources/UIxMailEditor.js: moved previous generic
+       method "onContactAdd" here since the Mailer is now the only module
+       to use it when composing emails.
+
+       * UI/WebServerResources/generic.js: added code for handling the
+       new scheme used for describing SOGo folders, common code to handle
+       folder addition or removal.
+
+       * UI/Common/UIxFolderActions.m ([UIxFolderActions
+       -activateFolderAction]): new method that change the "active"
+       settings in the folder-related fields in the user settings.
+       ([UIxFolderActions -deactivateFolderAction]): see above.
+
+       * UI/Contacts/UIxContactFoldersView.m ([UIxContactFoldersView
+       -checkRightsAction]): removed method.
+
+       * UI/Contacts/UIxContactFoldersView.m ([UIxContactFoldersView
+       -updateAdditionalAddressBooksAction]): removed method.
+
+       * UI/Scheduler/UIxCalMainView.m ([UIxCalMainView
+       -updateCalendarsAction]): removed method.
+
+2007-03-28  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalMainView.m ([UIxCalMainView
+       -checkRightsAction]): removed method.
+
+       * UI/Common/UIxFolderActions.m ([UIxFolderActions
+       -canAccessContentAction]): new method designed to replace
+       [UIxCalMainView checkRightsAction] in a more universal way.
+
+2007-03-27  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Contacts/SOGoContactFolders.m ([SOGoContactFolders
+       -roleOfUser:uidinContext:context]): take all the subkeys into
+       account, not only the "personal" folder.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+       -takeValuesFromRequest:_rqinContext:_ctx]): append a "uid" field
+       to the new components.
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser -userSettings]): new method
+       (see below).
+
+       * SoObjects/SOGo/AgenorUserManager.m ([AgenorUserManager
+       -getUserDefaultsForUID:uid]): rewrote method to use the "defaults"
+       field of the sogo_user_profile table, where the user-customizable
+       changes will be saved.
+       ([AgenorUserManager -getUserSettingsForUID:uid]): new method
+       similar to the one above, using the "settings" field where the
+       automatic settings will be saved.
+
+       * SoObjects/SOGo/AgenorUserDefaults.m: rewrote a big part of the
+       module to bind the userdefaults to a property list contained in a
+       specified field of the sogo_user_profile table.
+       ([AgenorUserDefaults
+       -initWithTableURL:tableURLuid:userIDfieldName:defaultsFieldName]):
+       added a "fieldName" parameter.
+
+       * UI/Common/UIxFolderActions.m: new module implementing web
+       actions common to all GCS-based folders.
+
+2007-03-26  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalDayTable.m ([UIxCalDayTable -labelForDay]):
+       put a carriage return after the day name.
+
+       * UI/MainUI/SOGoUserHomePage.m ([SOGoUserHomePage
+       -readFreeBusyAction]): restored method.
+
+2007-03-22  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MainUI/SOGoUserHomePage.m ([SOGoUserHomePage
+       -defaultAction]): remade module to redirect automatically to the
+       Calendar url.
+
+       * SoObjects/Contacts/NSDictionary+Contact.m: removed module.
+
+2007-03-21  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Contacts/UIxContactsListView.m ([UIxContactsListView
+       -deleteAction]): new web method to delete personal addressbook
+       folders.
+
+       * SoObjects/Contacts/SOGoContactGCSFolder.m ([SOGoContactGCSFolder
+       -delete]): override method to refuse the deletion of the folder if
+       its nameInContainer is "personal".
+
+       * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder -delete]): new method
+       that forwards the deletion request to the folder manager.
+
+2007-03-19  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxAttendeesEditor.m ([UIxAttendeesEditor
+       -zoomList]): new method that returns the list of available zoom factors.
+
+       * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor
+       -changeStatusAction]): rewrote method.
+
+       * UI/Scheduler/UIxComponentEditor.m ([UIxComponentEditor
+       -_handleAttendeesEdition]): make sure "attendeesNames" has a
+       length > 0 before computing the attendees. Otherwise there will be
+       an invalid empty entry.
+       ([UIxComponentEditor -_handleOrganizer]): new method that adds the
+       organizer when there are attendees and remove it when the
+       attendees are removed.
+
+2007-03-18  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxAttendeesEditor.m): new component.
+
+       * UI/Scheduler/UIxComponentEditor.m: no longer a superclass for
+       the task and appointment editors. Now a container component
+       handling the common elements of tasks and events.
+
+       * UI/Scheduler/UIxTaskEditor.m: same as below.
+
+       * UI/Scheduler/UIxAppointmentEditor.m: rewrote template. No longer
+       a subclass of UIxComponentEditor but a subcomponent of it.
+
+       * UI/Common/UIxToolbar.m ([UIxToolbar -toolbarConfig]): the
+       toolbar can have the special value "none" to indicate there is
+       none attached to the window.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([SOGoCalendarComponent -isOrganizer:emailorOwner:login]): new
+       method.
+       ([SOGoCalendarComponent -isParticipant:email]): new method.
+       ([SOGoCalendarComponent -calendar:create]): takes one parameter
+       "create" which is a boolean indicating whether we want to create
+       the calendar if it does not exist.
+
+2007-03-12  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalMonthView.m: changed view to use divs instead
+       of a table, the same way the dayly and weekly views have been for
+       a few months now.
+
+2007-02-09  Helge Hess  <helge.hess@opengroupware.org>
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m: added CalDAV
+         resourcetype
+
+       * SoObjects/SOGo/SOGoUserFolder.m: added davCalendarHomeSet CalDAV
+         property to point at the user folder
+
+2007-03-07  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoAuthenticator.m ([SOGoAuthenticator
+       -userInContext:]): returns "SOGoUser".
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([SOGoCalendarComponent -contentAsString]): overriden method that
+       takes the privacy into account and discard the relevant fields if
+       needed by generating a new content string and caching it.
+       ([SOGoCalendarComponent
+       -saveContentString:contentStringbaseVersion:baseVersion]): if the
+       new method above has cached a content string, release it and set
+       it to nil so that it will have to be regenerated in the case it is
+       requested further.
+       ([SOGoCalendarComponent -_filterPrivateComponent:component]):
+       discard the fields that have to be hidden when the card is
+       private.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder
+       -appendObject:objectwithBaseURL:baseURLtoREPORTResponse:r]): make
+       sure the cards are now handled as instances of
+       SOGoCalendarComponent instead of SOGoContentObject so that their
+       content string is taking the privacy classifiction into account.
+       ([SOGoAppointmentFolder -_privacySqlString]): new method that
+       generates a query to determine what information can be given and
+       if the card itself has to be shown.
+
+       * UI/Scheduler/UIxComponent+Agenor.m ([UIxComponent
+       -getICalPersonsFromValue:selectorValue]): removed useless
+       "isAccessRestricted" method.
+
+       * UI/Scheduler/UIxCalInlineAptView.m ([UIxCalInlineAptView
+       -setStyle:_style]): test whether the values of orgmail and
+       partmails are null before manipulating them, otherwise SOGo sends
+       a "rangeOfString:" message to an NSNull, which makes it crashes.
+
+       * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor
+       -extractQuickFieldsFromEvent:_event]): we now use the new
+       "symbolicAccessClass" method from iCalEntity to determine the
+       value of the "classifiction" field.
+       ([OCSiCalFieldExtractor -extractQuickFieldsFromTodo:_task]): same
+       as above.
+
+2007-03-05  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder
+       -fetchCoreInfosFrom:_startDateto:_endDatecomponent:_component]):
+       see below, the query is adapted consequently.
+
+       * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor
+       -extractQuickFieldsFromTodo:_task]): the field "ispublic" was
+       renamed to "classification" and can any integer as value.
+       ([OCSiCalFieldExtractor -extractQuickFieldsFromEvent:_event]):
+       idem.
+
+2007-02-26  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailPartViewers/UIxMailPartHTMLViewer.m
+       ([_UIxHTMLMailContentHandler -_appendStyle:_charslength:_len]):
+       don't prepend anything to the class and id named. Instead, we
+       make each style embedded in the ".SOGoHTMLMail-CSS-Delimiter"
+       class.
+
+2007-02-21  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoContentObject.m ([SOGoContentObject
+       -rolesOfUser:logininContext:context]): if object does not exists
+       (for example when it's being created), the current user has the
+       same rights on it than he/she has on its parent container.
+
+       * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder
+       -nameExistsInFolder:objectName]): methods that tests if a c_name
+       corresponding to the name passed as parameter is present in the db
+       folder.
+
 2007-02-16  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/SOGo/SOGoUser.m ([SOGoUser