X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ChangeLog;h=60b5ef6e7049a5428cc023e255417d65e2b42775;hb=8582b76160f03c2f4188f3f14873d346a28e18f5;hp=e236403f15bc01e8467c8846b4751c0840bcc643;hpb=676baa9a4356a8dd9d99d1c88fc7589d742149b9;p=scalable-opengroupware.org diff --git a/ChangeLog b/ChangeLog index e236403f..60b5ef6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,467 @@ +2007-04-10 Wolfgang Sourdeau + + * 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 + + * UI/Contacts/UIxContactsListView.m ([UIxContactsListView + -selectorComponentClass]): restored method. + +2007-04-03 Wolfgang Sourdeau + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * SoObjects/SOGo/SOGoUser.m ([SOGoUser + -rolesForObject:objectinContext:context]): test for + "rolesOfUser:inContext:" in addition to "roleOfUser:...". + + * SoObjects/Appointments/SOGoCalendarComponent.m + ([SOGoCalendarComponent -rolesOfUser:logininContext:context]): + returns the roles of the user on the container object if the event + is uncreated. + +2007-02-15 Wolfgang Sourdeau + + * UI/MailPartViewers/UIxMailRenderingContext.m: returns the + alternativeViewer a multipart/related message is being handled. + + * UI/MailPartViewers/UIxMailPartHTMLViewer.m: reimplemented module + from scratch. + + * UI/MailPartViewers/UIxMailPartAlternativeViewer.m: select the + text/html component before text/plain. + + * SoObjects/Mailer/SOGoMailObject.m ([SOGoMailObject + -addRequiredKeysOfStructure:path:toArray:recurse:]): accepts the + fetching of HTML parts. + + * SoObjects/Appointments/SOGoCalendarComponent.m + ([SOGoCalendarComponent -componentTag]): new template method that + returns the vcalendar tag of the current object. + ([SOGoCalendarComponent -component]): new method that returns the + first object matching [self componentTag] within the current + calendar object. This method replaces 'firstEventInCalendar:' as + well as "firstTaskInCalendar:". + ([SOGoCalendarComponent -roleOfUser:logininContext:context]): + moved method from SOGoAppointmentObject.m. + +2007-02-13 Wolfgang Sourdeau + + * UI/Scheduler/UIxCalMulticolumnDayView.[hm]: new daily view + module which shows each selected user's calendar in a different + column instead of mixing their events together. + + * UI/Scheduler/UIxCalView.m ([UIxCalView -redirectForUIDsAction]): + replaced use of [NSString stringByTrimmingWhiteSpaces] with + [NSString stringByTrimmingSpaces]. + + * UI/MailPartViewers/UIxMailPartICalViewer.m: request the key + "cnWithoutQuotes" instead of "cnForDisplay", which no longer + exists. + + * UI/Scheduler/UIxCalDayOverview.m, + UI/Scheduler/UIxCalDayChartview.m, + UI/Scheduler/UIxCalDayListview.m, + UI/Scheduler/UIxCalWeekOverview.m, + UI/Scheduler/UIxCalWeekChartview.m, + UI/Scheduler/UIxCalWeekListview.m, + UI/Scheduler/UIxCalInlineMonthOverview.m, + UI/Scheduler/UIxCalYearOverview.m: removed unused modules. + +2007-02-09 Wolfgang Sourdeau + + * SoObjects/Contacts/SOGoContactFolders.m ([SOGoContactFolders + -appendPersonalSourcesInContext:context]): release connectoin + channel when everything is done. + + * UI/Contacts/UIxContactFoldersView.m ([UIxContactFoldersView + -newAbAction]): new action method to crate a new contact folder + from the web UI. + + * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder -create]): new method + that requests the folder manager to create a folder table with the + specified type at the specified path. The type is taken from [self + folderType]. + + * SoObjects/Contacts/SOGoContactGCSFolder.m ([SOGoContactGCSFolder + -folderType]): implemented. + + * SoObjects/Appointments/SOGoAppointmentFolder.m + ([SOGoAppointmentFolder -folderType]): implemented. + + * SoObjects/Contacts/SOGoContactFolders.m ([SOGoContactFolders + -appendPersonalSourcesInContext:context]): we now fetch all + folders with type "Contact" that belong to the current user. + ([SOGoContactFolders -newFolderWithName:name]): new method to + create a new contact folder. + + * UI/SOGoUI/UIxComponent.m ([UIxComponent -userFolderPath]): treat + resulting url with [NSString+Utilities hostlessURL] instead of + using NSURL. This is because the url in question sometimes has a + hostname and sometimes not. "hostlessURL" ensure the hostname is + removed anyway. + ([UIxComponent -applicationPath]): same as above. + +2007-02-08 Ludovic Marcotte + + * SoObjects/Mailer/SOGoMailFolder.m: priorize the lookup of + folders before doing the one on messages. + +2007-02-08 Wolfgang Sourdeau + + * SoObjects/SOGo/NSArray+Utilities.m: added an implementation of + makeObjectsPerform:withObject:withObject: for GNUstep + compatibility. + + * OGoContentStore/GNUmakefile, Protocols/common.make, + SoObjects/common.make, UI/common.make: install in + GNUSTEP_INSTALLATION_DIR instead of GNUSTEP_USER_DIR. + +2007-02-07 Ludovic Marcotte + + * UI/Scheduler/English.lproj/Localizable.strings: fixed typo for + "Agendas" + +2007-02-05 Wolfgang Sourdeau + + * UI/MailerUI/UIxMailTree.m ([UIxMailTree + -getTitle:folderType:andIcon:forObject:]): disabled Sieve folders + for the moment. + + * SoObjects/SOGo/SOGoAuthenticator.m ([SOGoAuthenticator + -checkLogin:_loginpassword:_pwd]): fixed a bug where a wrong + password would be accepted anyway as long as its length was > 0. + This can be the case ONLY when LDAP is disabled otherwise we have + a serious security issue... + + * SoObjects/Appointments/SOGoAppointmentObject.m + ([SOGoAppointmentObject -roleOfUser:logininContext:context]): if a + user is not an organizer nor a participant, he is declared as + "Owner" if he owns the calendar the entry where the entry is + contained. Other cases should not be possible. + +2007-02-02 Wolfgang Sourdeau + + * UI/Contacts/UIxContactEditor.m: display and handle the new + Freebusy URL entry. + + * SoObjects/Contacts/SOGoContactLDAPFolder.m + ([SOGoContactLDAPFolder -_searchAttributes]): retrieve "calFBURL" + from the server. + + * SoObjects/Contacts/SOGoContactLDAPEntry.m ([SOGoContactLDAPEntry + -vCard]): put the LDAP "calFBURL" field in the vCard's "FBURL" + entry. + +2007-01-31 Wolfgang Sourdeau + + * SoObjects/Appointments/SOGoCalendarComponent.m + ([SOGoCalendarComponent -sendEMailNotifications]): new method that + returns the value of ud "SOGoAppointmentSendEMailNotifications" + (iMIP/iTIP). + ([SOGoCalendarComponent + -sendEMailUsingTemplateNamed:_pageNameforOldObject:_oldObjectandNewObject:_newObjecttoAttendees:_attendees]): method moved from SOGoAppointmentObject/SOGoTaskObject, replacing occurences of "appointment" to "object" in its name. + 2007-01-30 Wolfgang Sourdeau * UI/MailerUI/UIxMailListView.m ([UIxMailListView