]> err.no Git - scalable-opengroupware.org/blobdiff - ChangeLog
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1101 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / ChangeLog
index 6ded5d6109aac256592e0b4cc9cd0016168f567c..607614a8dbf57a092c2dc1988ffee8714f4561ea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,291 @@
+2007-07-10  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoMailBaseObject.m ([SOGoMailBaseObject
+       -imap4URL]): rewrote method to support accented mailbox names.
+       ([SOGoMailBaseObject imap4Password]): rewrote to simply use
+       SOGoAuthenticator's passwordInContext:.
+
+       * UI/Scheduler/UIxTaskEditor.m ([UIxTaskEditor
+       -takeValuesFromRequest:_rqinContext:_ctx]): explicitly set the
+       start and due dates to nil if hasStartDate and hasDueDate are
+       false.
+
+       * SoObjects/SOGo/SOGoAuthenticator.m ([SOGoAuthenticator
+       -passwordInContext:context]): made method public.
+
+       * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor
+       -extractQuickFieldsFromTodo:_task]): set "isallday" and "isopaque"
+       to false to avoid a null violation.
+
+2007-07-04  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -contentAsString]): returns the message encoded in ISO Latin 1
+       again.
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser +initialize]): read the
+       SOGoSuperUsername user defaults.
+       ([SOGoUser -initWithLogin:newLoginroles:newRoles]): simplified
+       method.
+       ([SOGoUser -rolesForObject:objectinContext:context]): if the
+       current user is the superuser, grant him/her the "owner" role.
+
+       * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder -ocsFolder]): create
+       the folder only if the current user is the owner of the future
+       folder.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([SOGoCalendarComponent -contentAsString]): we return the content
+       based on the permissions returned by the security manager instead
+       of by looking at the user roles.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder -calendarFolders]): read the calendar
+       folders of the user to whom this folder belongs instead of the
+       active user. This way, a delegate user will be able to have the
+       same view that the original user has if he connects from his user
+       directory.
+
+       * Main/SOGo.m ([SOGo -lookupUser:_keyinContext:]): check if the
+       user exists before creating the SOGoUserFolder instance. If not,
+       returns nil.
+
+       * UI/MailerUI/UIxMailSourceView.[hm]: new class module designed to
+       return the message source code in plain text.
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -contentAsString]): returns the message encoded in UTF8.
+
+2007-07-03  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * OGoContentStore/iCalRepeatableEntityObject+OCS.m
+       ([iCalRepeatableEntityObject -cycleInfo]): no longer take the
+       leading tagname into account when serializing the element values.
+
+       * Main/SOGoProductLoader.m: only load bundle directories ending
+       with the "SOGo" extension.
+
+       * Main/SOGo.m ([SOGo
+       -_checkTableWithCM:cmtableURL:urlandType:tableType]): empty the
+       result set if the query has caused no exception. Otherwise we get
+       an "evaluation is in progress exception".
+
+2007-06-29  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+       -generateSQLForInsert]): initialize error to nil before the
+       serialization. Otherwise the method can get confused if it ever is
+       initialized to something else.
+
+       * SoObjects/SOGo/SOGoUserFolder.m ([SOGoUserFolder
+       -folderIsMandatory]): returns NO unconditionnally.
+
+       * SoObjects/Contacts/SOGoContactFolders.m ([SOGoContactFolders
+       -appendPersonalSources]): add the "personal" folder to the list of
+       user folders even if it doesn't exist, so that it is created when
+       the user accesses it.
+
+       * SoObjects/Contacts/SOGoContactGCSFolder.m ([SOGoContactGCSFolder
+       -folderIsMandatory]): returns YES if nameInContainer is set to
+       "personal", which is the default address book.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder -folderIsMandatory]): returns YES since
+       users must have one Calendar folder (one and only one).
+       ([SOGoAppointmentFolder -_privacySqlString]): unescape the
+       escaping '\' so make the carriage return a real one. This way,
+       PgSQL 8 won't complain about escaping the string.
+
+       * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder -ocsFolder]): new
+       method that create the folder if considered mandatory.
+       ([SOGoFolder -folderIsMandatory]): new method that determines
+       whether the folder should be created automatically or not. To be
+       overriden by subclasses.
+
+       * Main/SOGo.m ([SOGo -run]): override method and create the
+       missing system tables if needed.
+
+2007-06-28  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailerUI/WOContext+UIxMailer.m ([WOContext
+       -mailDateFormatter]): returns the user's date formatter.
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject -date]):
+       applies the user timezone to the date object before returning it.
+
+       * UI/Common/UIxSortButton.m: removed useless class module.
+
+       * UI/Common/UIxSortableTableHeader.m: removed useless class
+       module.
+
+       * UI/Contacts/UIxContactsListView.m ([UIxContactsListView
+       -contactInfos]): use the "asc" url parameter instead of "desc" to
+       determine the ordering.
+       ([-sortOrdering]): removed method.
+       ([UIxContactsListView -init]): removed the "searchText" ivar.
+       (general): the template no longer use the UIxSortableTableHeader
+       components.
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView
+       -defaultSortKey]): default sort following the messages arrival
+       instead of their date.
+       ([-isSortedDescending]): removed method.
+       ([-imap4SortOrdering]): use the "asc" url parameter instead of
+       "desc" to determine the ordering.
+       (general): the template no longer use the UIxSortableTableHeader
+       components.
+
+2007-06-27  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/MailerUI/UIxMailListView.m ([UIxMailListView -sleep]):
+       removed method.
+       ([-setQualifier:_msg], [-qualifier]): removed methods.
+       ([UIxMailListView -defaultAction]): added code to handle the
+       search criteria and value passed as url parameters. Also, we now
+       handle the same search criterias as Thunderbird/Icedove.
+
+2007-06-22  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/PreferencesUI/UIxJSONPreferences.m ([UIxJSONPreferences
+       -jsonDefaultsAction]): bug fix: returns a WOResponse instance with
+       the string instead of the string itself.
+       ([UIxJSONPreferences -jsonSettingsAction]): same as above.
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser +initialize]): new module
+       bool var "acceptAnyUser" that is set when the AuthenticationMethod
+       user default is nil.
+       ([SOGoUser -initWithLogin:newLoginroles:newRoles]):
+       unconditionnally returns an instance whenever acceptAnyUser is set.
+
+2007-06-21  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * Main/sogod.m (main): prevent SOGo from running as root.
+
+2007-06-19  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoUser.m ([SOGoUser
+       -setCurrentPassword:newPassword]): new stub method.
+       ([SOGoUser -dateFormatterInContext:context]): new method that
+       returns an instance of SOGoDateFormatter configured based on the
+       user defaults.
+
+       * UI/Common/UIxPageFrame.m ([UIxPageFrame
+       -relativePreferencesPath]): new method.
+
+       * UI/Scheduler/UIxComponentEditor.m ([-titleDateFormatter]):
+       removed useless method.
+
+       * SoObjects/SOGo/SOGoDateFormatter.m: rewrote class to accept
+       different configurable formats (long and short date + time).
+
+       * SoObjects/SOGo/SOGoDateFormatter.[hm]: moved from UI/SOGoUI/.
+
+       * SoObjects/Mailer/SOGoMailAccounts.m ([SOGoMailAccounts
+       -isInternetRequest]): removed method.
+
+       * SoObjects/SOGo/AgenorUserDefaults.m ([AgenorUserDefaults
+       -jsonRepresentation]): new method with an explicit name.
+
+       * UI/PreferencesUI/product.plist: new bundle that provides a web
+       ui for handling user defaults.
+
+       * UI/Scheduler/UIxTaskView.[hm]: removed unused module.
+
+       * UI/Scheduler/UIxAppointmentView.[hm]: removed unused module.
+
+       * SoObjects/SOGo/WOContext+Agenor.[hm]: removed unused module.
+
+2007-06-14  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/SOGo/SOGoLRUCache.m: removed unused module.
+
+2007-06-13  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/NSArray+Scheduler.m ([NSArray
+       -compareEventsAscending:otherEvent]): no longer use compare: on
+       the time objects since one of them could be an NSNull, which
+       crashes when comparing with anything.
+
+       * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+       -eventsListAction]): sort events from here.
+       ([UIxCalListingActions -tasksListAction]): sort tasks from here.
+
+       * SoObjects/SOGo/NSObject+AptComparison.[hm]: removed category
+       module, replaced with NSArray+Scheduler in UI/SchedulerUI/.
+
+       * SoObjects/Appointments/SOGoAppointmentFolder.m
+       ([SOGoAppointmentFolder
+       -fetchFields:_fieldsfromFolder:_folderfrom:_startDateto:_endDatecomponent:_component]):
+       no longer sort elements from here.
+
+2007-06-12  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject
+       -aclsForUser:uid]): implemented method by forwarding the request
+       to the container. This fixes a bug where users could no longer
+       read emails from shared folders.
+
+       * SoObjects/Appointments/SOGoCalendarComponent.m
+       ([SOGoCalendarComponent -init]): "isNew" is no longer defined
+       here, but rather in its parent class.
+
+       * UI/SOGoUI/SOGoDateFormatter.m ([SOGoDateFormatter
+       -stringForSecondsSinceThe70s:seconds]): new utility method.
+
+       * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+       -eventsListAction]): no longer reduce the end day of one day for
+       all day events since everything has been fixed in
+       OCSiCalFieldExtractor.
+
+       * OGoContentStore/OCSiCalFieldExtractor.m ([OCSiCalFieldExtractor
+       -extractQuickFieldsFromEvent:_event]): reduce the seconds/70 of
+       the end date of all day events of 1 so that they stay on their
+       real last day.
+
+2007-06-11  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalMonthView.m: no longer retrieve appointments.
+
+       * UI/Scheduler/UIxCalView.m ([-fetchCoreAppointmentsInfos]):
+       removed method.
+       ([-fetchCoreTasksInfos]): removed method.
+
+       * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+       -init]): initialize an instance of SOGoDateFormatter.
+       ([UIxCalListingActions -eventsListAction]): the display start and
+       end dates are added to the listing for each event.
+
+       * UI/Scheduler/UIxCalDayTable.m: no longer retrieve appointments.
+
+       * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor
+       -isAllDay]): returns YES if the "hm" url parameter is set to
+       "allday".
+       ([UIxAppointmentEditor -defaultAction]): if isAllDay, the enddate
+       is displayed one day earlier.
+
+2007-06-07  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
+
+       * UI/Scheduler/UIxCalListingActions.m ([UIxCalListingActions
+       -_setupContext]): take the range of dates specified by the popup
+       into account.
+
+       * UI/Scheduler/UIxCalListingActions.[hm]: new subclass of
+       WODirectAction that returns WOResponse objects with the events or
+       todos satisfying the parameters passed in the url.
+
+       * UI/Scheduler/UIxAppointmentEditor.m ([UIxAppointmentEditor
+       -takeValuesFromRequest:_rqinContext:_ctx]): take the new ivar
+       "isAllDay" into account and compute the amount of days to pass to
+       the iCalEvent.
+
+2007-06-06  Francis Lachapelle <flachapelle@inverse.ca>
+
+       * SoObjects/SOGo/NSNumber+Utilities.m: initial import.
+       * SoObjects/SOGo/NSNull+Utilities.m: initial import.
+       * UI/Scheduler/UIxCalTasksListView.m ([WOResponse -tasksListAction]): 
+       new method that returns a json-formatted array of the visible tasks
+       for the current user.
+
 2007-06-05  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/Appointments/SOGoAppointmentObject.m: the owner of the