See ChangeLog

Monotone-Parent: ea7589320f5747a3bd1bbec33e1bd8776e4041db
Monotone-Revision: cc4b29880c63c661301ca909ec3695f67b0775dd

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2009-04-21T15:20:52
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Ludovic Marcotte
2009-04-21 15:20:52 +00:00
parent fa7408ebc1
commit d1bbd65944
76 changed files with 7520 additions and 5817 deletions
-266
View File
@@ -1,266 +0,0 @@
2005-08-02 Helge Hess <helge.hess@skyrix.com>
* SOGoAppointmentObject.[hm]: added method to change participation
status of logged-in user (v0.9.50)
2005-07-21 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: place a hint ('isRecurrent') into flattened
rows created from recurrent events so these can be signaled in the
UI (v0.9.49)
2005-07-20 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.48
* SOGoAptMailInvitation.m, SOGoAptMailUpdate.m, SOGoAptMailDeletion.m,
SOGoAptMailRemoval.m: updated to contain new classes for additional
languages
* SOGoAptMailInvitation.wo, SOGoAptMailUpdate.wo,
SOGoAptMailDeletion.wo, SOGoAptMailRemoval.wo: replaced with language
dependend counterparts
* SOGoAptMail{English,French}Invitation.wo,
SOGoAptMail{English,French}Update.wo,
SOGoAptMail{English,French}Deletion.wo,
SOGoAptMail{English,French}Removal.wo: new language dependend
templates. Please note that due to an unresolved bug we cannot use
the standard WO lookup mechanism here.
2005-07-15 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.47
* SOGoAptMailDeletion.[wo,m]: new template being used when appointment
is deleted
* SOGoAptMailRemoval.[wo,m]: new template being used when attendee is
removed from appointment
* SOGoAppointmentObject.m: now sends emails for removal of attendees
and deletion of appointment
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: fixed Cocoa warnings (v0.9.46)
* SOGoAppointmentFolder.m: fixed gcc 4.0 warnings (v0.9.45)
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.44
* SOGoAppointmentFolder.m: explicitly set encoding for text and
calendar attachment parts
* SOGoAptMailNotification.m: added -appointmentURL accessor
* SOGoAptMailInvitation.wo, SOGoAptMailUpdate.wo: display
-appointmentURL instead of -homePageURL
* v0.9.43
* SOGoAppointmentFolder.m: changed redirect from 'schedule' to
'weekoverview'
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: moved +globallyUniqueObjectId method to
SOGoFolder.m baseclass (v0.9.42)
2005-07-13 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: added a method to determine the resource
name from a vevent UID (v0.9.41)
2005-07-12 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentObject.m: tries ambitiously to detect the baseURL in
-homePageURLForPerson: now. This code doesn't really belong here
but currently there's no appropriate controller for dealing with it
around. Also removed mail notification testing code. (v0.9.40)
2005-07-12 Helge Hess <helge.hess@opengroupware.org>
* fixed compilation (v0.9.39)
2005-07-12 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.38
* GNUmakefile: changed inclusion of bundle.make to wobundle.make
because of new components
* v0.9.37
* SOGoAptMailNotification.[hm]: new component forming the basis for
the mail notification templates
* SOGoAptMailInvitation.[wo, m]: invitation mail template, sent to all
new attendees of an appointment
* SOGoAptMailUpdate.[wo, m]: update mail template, sent to all
attendees when appointment time is changed
* SOGoAppointmentObject.m: rewritten to use the iCalEventChanges object
from NGiCal to discover changes to saved appointments. Additionaly
email notifications are emitted on certain occasions (this is not
full iMip, yet). In case the appointment time changes, state for
all attendees is reset to NEEDS-ACTION.
2005-07-08 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: added 'partmails' and 'partstates' to
infos returned by -fetchOverviewInfosFrom:to: (v0.9.36)
2005-07-06 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.35
* GNUMakefile: added SOGoFreeBusyObject.m
* product.plist: added SOGoFreeBusyObject
* SOGoFreeBusyObject.[hm]: new class resembling free/busy information
for a particular user. Because free/busy information isn't solely
based upon appointments, this is now a part of the user folder.
However the information contained therein is still based on
information provided by appointments, only. This should be fixed in
a later release.
* SOGoAppointmentFolder.m: new API to lookup freeBusyObjects for an
array of uids.
2005-07-05 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: fetch new priority field in core infos
(v0.9.34)
2005-07-04 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: fetch new priority field in overview infos
(v0.9.33)
2005-03-20 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: changed to use GDLContentStore (v0.9.32)
2005-03-03 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoGroupAppointmentFolder.m: fixed incorrect creation of a mutable
dictionary (was still immutable) (v0.9.31)
2005-03-02 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: make sure fetchedInfos are sorted
ascending - this simplifies client code (v0.9.30)
* SOGoAppointmentFolder.m: changed debugLog to use NGLogging (v0.9.29)
2005-03-01 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointmentFolder.m: significantly changed handling of cyclic
events. Information for cyclic event calculation is now contained
in the quick info, making full fetches obsolete - performance
should improve significantly this way (v0.9.28)
2005-02-22 Helge Hess <helge.hess@skyrix.com>
* SOGoAppointmentFolder.m: minor code cleanups (v0.9.27)
2005-02-17 Helge Hess <helge.hess@opengroupware.org>
* fixed for removal of SOGoLogic (v0.9.26)
2005-02-06 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentObject.m, SOGoAppointmentFolder.m: added proper
message/folder class (v0.9.25)
2004-11-09 Helge Hess <helge.hess@skyrix.com>
* SOGoAppointmentObject.m: improved error handling in save method
(v0.9.16)
2004-10-20 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: fixed a warning on MacOSX (v0.9.15)
* SOGoAppointmentObject.m(saveContentString:): fixed a warning with new
objects (v0.9.14)
2004-10-19 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.h: added -fetchAllSOGoAppointments method
which performs a bulk fetch on all files contained in the folder
and parses all contents into an array of SOGoAppointment objects
(used in the iCal file support, try to avoid this method, expensive!)
(v0.9.13)
2004-09-25 Helge Hess <helge.hess@opengroupware.org>
* fixed compilation on MacOSX (v0.9.12)
2004-09-08 Helge Hess <helge.hess@opengroupware.org>
* SOGoGroupAppointmentFolder.m: do not call -sleep in fetch method
(disconnects the folder from the parent folder), instead added a
-resetFolderCaches methods which performs some cleanups before a
fetch (v0.9.11)
2004-08-16 Helge Hess <helge.hess@skyrix.com>
* SOGoAppointmentFolder.m: added method to create a group folder and
a group calendar for a set of IDs (for internal queries) (v0.9.10)
* SOGoAppointmentObject.m, SOGoAppointmentFolder.m: moved calendar
folder lookup methods to folder class (the object uses its container
to lookup the folder) (v0.9.9)
* SOGoAppointmentObject.m: finished multi folder storage methods
(v0.9.8)
* SOGoAppointmentObject.m: added multi folder storage methods (v0.9.7)
2004-08-14 Helge Hess <helge.hess@skyrix.com>
* SOGoGroupAppointmentFolder.m: implemented proper URL generation for
group calendars (will lookup the appointment in the proper "exact"
folder (v0.9.6)
* SOGoAppointmentFolder.m: fetch location, isallday, iscycle and
partmails fields in -fetchCoreInfo (v0.9.5)
2004-08-12 Helge Hess <helge.hess@skyrix.com>
* v0.9.4
* SOGoAppointmentFolder.m: added -baseURLForAptWithUID:inContext: for
determining the resource URL of an appointment, used by calendar
views to locate the viewer page
2004-08-11 Helge Hess <helge.hess@skyrix.com>
* SOGoGroupAppointmentFolder: can merge input folders, tracks conflicts
in 'conflicts' key of the record (should be displayed somehow in the
UI) (v0.9.3)
* v0.9.2
* SOGoAppointmentFolder.m, SOGoGroupAppointmentFolder: added
-calendarUIDs method which returns the UIDs of the currently
displayed persons (eg the members of a group)
* started SOGoGroupAppointmentFolder
2004-07-02 Helge Hess <helge.hess@opengroupware.org>
* SOGoAppointmentFolder.m: added method to fetch core info from other
OCS folders, correct timezone to MET after fetch core info
2004-07-01 Helge Hess <helge.hess@opengroupware.org>
* redirect to weekoverview if GET is run on the folder itself
* created ChangeLog
+5 -2
View File
@@ -38,7 +38,7 @@ Appointments_RESOURCE_FILES += \
Version \
product.plist \
Appointments_LANGUAGES = Dutch English French German Italian Spanish
Appointments_LANGUAGES = Dutch English French German Italian Spanish Welsh
Appointments_LOCALIZED_RESOURCE_FILES = Localizable.strings
@@ -67,7 +67,10 @@ Appointments_COMPONENTS += \
SOGoAptMailSpanishICalReply.wo \
SOGoAptMailSpanishDeletion.wo \
SOGoAptMailSpanishUpdate.wo \
SOGoAptMailWelshInvitation.wo \
SOGoAptMailWelshICalReply.wo \
SOGoAptMailWelshDeletion.wo \
SOGoAptMailWelshUpdate.wo
ADDITIONAL_INCLUDE_DIRS += -I../../SOPE/
ADDITIONAL_LIB_DIRS += -L../../SOPE/GDLContentStore/obj/
@@ -1,6 +1,6 @@
/*
Copyright (C) 2004-2005 SKYRIX Software AG
Copyright (C) 2007-2008 Inverse inc.
Copyright (C) 2007-2009 Inverse inc.
This file is part of OpenGroupware.org.
@@ -0,0 +1 @@
<#IsSubject>Digwyddiad wedi'i ganslo: <#summary/> <#IsBody><#organizer/> <#HasSentBy>(anfonwyd gan <#sentBy/>) wedi canslo'r digwyddiad hwn: <#summary/>.
@@ -0,0 +1,27 @@
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}
organizer: WOString {
value = organizerName;
escapeHTML = NO;
}
summary: WOString {
value = summary;
escapeHTML = NO;
}
HasSentBy: WOConditional {
condition = hasSentBy;
}
sentBy: WOString {
value = sentBy;
escapeHTML = NO;
}
@@ -0,0 +1 @@
<#IsSubject>Ymateb i wahoddiad: <#summary/> <#IsBody><#attendee/> wedi <#HasSentBy>(anfon gan <#sentBy/>) <#HasAccepted>wedi derbyn<#HasDeclined>wedi gwrthod<#HasNotAcceptedNotDeclined>heb benderfynu ar eich gwahoddiad eto.
@@ -0,0 +1,39 @@
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}
summary: WOString {
value = summary;
escapeHTML = NO;
}
attendee: WOString {
value = attendeeName;
escapeHTML = NO;
}
HasAccepted: WOConditional {
condition = hasAccepted;
}
HasDeclined: WOConditional {
condition = hasDeclined;
}
HasNotAcceptedNotDeclined: WOConditional {
condition = hasNotAcceptedNotDeclined;
}
HasSentBy: WOConditional {
condition = hasSentBy;
}
sentBy: WOString {
value = sentBy;
escapeHTML = NO;
}
@@ -0,0 +1 @@
<#IsSubject>Gwahoddiad i ddigwyddiad: <#summary/> <#IsBody><#organizer/> <#HasSentBy>(anfonwyd gan <#sentBy/>) wedi eich gwahodd i <#summary/>.
@@ -0,0 +1,27 @@
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}
organizer: WOString {
value = organizerName;
escapeHTML = NO;
}
summary: WOString {
value = summary;
escapeHTML = NO;
}
HasSentBy: WOConditional {
condition = hasSentBy;
}
sentBy: WOString {
value = sentBy;
escapeHTML = NO;
}
@@ -0,0 +1 @@
<#IsSubject>Mae'r apwyntiad "<#Summary />" ar <#OldAptStartDate /> am <#OldAptStartTime /> wedi newid <#IsBody> Mae'r apwyntiad yma<#HasSentBy> (anfonwyd gan <#sentBy/>), yn flaenorol ar <#OldAptStartDate /> am <#OldAptStartTime /><#HasOldLocation> (<#OldAptLocation />) yn awr wedi'i drefnu ar <#NewAptStartDate /> am <#NewAptStartTime /><#HasNewLocation> (<#NewAptLocation />). Gwnewch benderfyniad ar y newidiadau yma os gwelwch yn dda.
@@ -0,0 +1,79 @@
OldAptStartDate: WOString {
value = oldStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
OldAptStartTime: WOString {
value = oldStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
IsNotOldAllDay: WOConditional {
condition = previousApt.isAllDay;
negate = YES;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
NewAptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
IsNotNewAllDay: WOConditional {
condition = apt.isAllDay;
negate = YES;
}
Organizer: WOString {
value = organizerName;
escapeHTML = NO;
}
OldAptLocation: WOString {
value = previousApt.location;
escapeHTML = NO;
}
NewAptLocation: WOString {
value = apt.location;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}
Summary: WOString {
value = summary;
escapeHTML = NO;
}
HasNewLocation: WOConditional {
condition = hasNewLocation;
}
HasOldLocation: WOConditional {
condition = hasOldLocation;
}
HasSentBy: WOConditional {
condition = hasSentBy;
}
sentBy: WOString {
value = sentBy;
escapeHTML = NO;
}
@@ -0,0 +1,8 @@
"Personal Calendar" = "Calendr Personol";
vevent_class0 = "(Digwyddiad cyhoeddus)";
vevent_class1 = "(Digwyddiad preifat)";
vevent_class2 = "(Digwyddiad cyfrinachol)";
vtodo_class0 = "(Tasg gyhoeddus)";
vtodo_class1 = "(Tasg breifat)";
vtodo_class2 = "(Tasg gyfrinachol)";
-102
View File
@@ -1,102 +0,0 @@
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* common.make: fixed for OSX compilation
2005-07-12 Marcus Mueller <znek@mulle-kybernetik.com>
* common.make: provide default install dir and bundle extension to
WO bundles
2005-03-20 Helge Hess <helge.hess@opengroupware.org>
* common.make: link against GDLContentStore instead of OGoContentStore
2005-02-24 Helge Hess <helge.hess@opengroupware.org>
* common.make (ADDITIONAL_LIB_DIRS): removed SOGoLogic from the linking
path
2005-02-17 Marcus Mueller <znek@mulle-kybernetik.com>
* common.make: removed dependency to removed libSOGoLogic
2005-02-15 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.25
* GNUmakefile.preamble: added libNGiCal as a dependency
* Appointments/SOGoAppointmentObject.[hm]: added -event as a
convenience to retrieve a complete iCalEvent from the stored
representation. This is used by SOGoAppointmentFolder to perform
necessary range calculations on recurrent events.
* Appointments/SOGoAppointmentFolder.[hm]: extended -fixupRecord: and
-fixupRecords: to accept a fetchRange: as second parameter. This
is used for cyclic (recurrent) events to determine the required
'amount' of fixup that needs to be done. During -fixupRecords: its
correctly determined now whether the record describes a recurrent
event - if that's the case, the whole event is retrieved and the
record gets duplicated (memory efficiently) as necessary to resemble
the appropriate fetch information in the desired range.
2004-12-22 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.24
* Appointments/SOGoAppointmentFolder.[hm]: added -fetchFreebusy...
Removed all -fetchXXXInfosFromFolder: methods. There's a single
method to override now, making the job in SOGoGroupAppointmentFolder
much easier (to understand).
* Appointments/SOGoGroupAppointmentFolder.m: added necessary fetch
abstraction.
2004-12-17 Marcus Mueller <znek@mulle-kybernetik.com>
* Appointments/SOGoAppointmentFolder.[hm]: added "partstates" to
coreInfos for fetching. Also added new API to fetch a stripped down
version of coreInfos, suitable for overviews. (v0.9.23)
2004-12-15 Marcus Mueller <znek@mulle-kybernetik.com>
* Appointments/SOGoAppointmentFolder.m: default redirect is now
"schedule" instead of "weekoverview" (0.9.22)
* Appointments/SOGoAppointmentFolder.m: cleanup (v0.9.21)
* Appointments/SOGoAppointmentFolder.m: compile fix (v0.9.20)
2004-12-13 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.19
* Appointments/SOGoAppointmentFolder.[hm]: new method to fetch generic
fields (better suited for freebusy), fixed some "mailto:" prefix
madness
* Appointments/SOGoAppointmentFolder.m: fixed bug in
-uidsFromICalPersons: (v0.9.18)
2004-12-10 Marcus Mueller <znek@mulle-kybernetik.com>
* Appointments/SOGoAppointmentFolder.m: added new quickinfo attributes
for fetching (v0.9.17)
2004-12-08 Marcus Mueller <znek@mulle-kybernetik.com>
* GNUmakefile: added Sieve product
* Appointments/SOGoGroupAppointmentFolder.m,
Appointments/SOGoAppointmentFolder.m, SOGo/SOGoContentObject.m,
SOGo/SOGoUserFolder.m: changed to NGLogging.
2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
* added "Mailer" product
2004-08-25 Marcus Mueller <znek@mulle-kybernetik.com>
* added "Contacts" product
* ChangeLog: created
-73
View File
@@ -1,73 +0,0 @@
2005-07-21 Helge Hess <helge.hess@opengroupware.org>
* product.plist: make addressbook only available to owner (v0.9.15)
2005-07-18 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactObject.m: print an error log if a vCard could not be
parsed, cached failed parsing attempts (v0.9.14)
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactFolder.m: fixed a gcc 4.0 warning (v0.9.13)
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactFolder.m: use +globallyUniqueObjectId method from
SOGoFolder.m baseclass (v0.9.12)
2005-07-13 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactObject.m: hardened against vCard content (v0.9.11)
* SOGoContactObject.m: removed special GET action, the redirect to
'view' seems to be handled by SOPE now. This also makes WebDAV GET
work (v0.9.10)
2005-03-20 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactFolder.m: changed to use GDLContentStore (v0.9.9)
2005-02-24 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactObject.m: fixed a MacOSX warning (v0.9.8)
2005-02-18 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactObject.m: added a REST method to patch a single field of
the contact (v0.9.7)
2005-02-06 Helge Hess <helge.hess@opengroupware.org>
* SOGoContactObject.m, SOGoContactFolder.m: added proper
message/folder class (v0.9.6)
2004-12-08 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoContactFolder.m: changed to NGLogging (v0.9.5)
2004-09-25 Helge Hess <helge.hess@opengroupware.org>
* fixed compilation on MacOSX (v0.9.4)
2004-08-27 Helge Hess <helge.hess@skyrix.com>
* v0.9.3
* SOGoContactObject.m: use 'cn' as davDisplayName
* SOGoContactObject.[hm]: can now decode the property list stored in
the store (v0.9.2)
* started implementation of contact folders (v0.9.1)
2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
* Product.m: typo in comment fixed
* SOGoContactFolder.h, SOGoContactObject.h: changed _Appointments_ to
_Contacts_
2004-08-25 Marcus Mueller <znek@mulle-kybernetik.com>
* ChangeLog: created
+1 -1
View File
@@ -22,7 +22,7 @@ Contacts_RESOURCE_FILES += \
Version \
product.plist \
Contacts_LANGUAGES = Dutch English French German Italian Spanish
Contacts_LANGUAGES = Dutch English French German Italian Spanish Welsh
Contacts_LOCALIZED_RESOURCE_FILES = Localizable.strings
@@ -0,0 +1 @@
"Personal Address Book" = "Llyfr Cyfeiriadau Personol";
-718
View File
@@ -1,718 +0,0 @@
2005-07-30 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: fetch Kolab parts for inline display (v0.9.126)
* SOGoMailObject.m: added 'outlookMessageClass' property with some
mail tagging for Kolab entities (v0.9.125)
* SOGoMailBodyPart.m, SOGoMailObject.m: added default to disable etag
delivery/checks for mail objects (SOGoMailDisableETag) (v0.9.124)
2005-07-22 Helge Hess <helge.hess@opengroupware.org>
* v0.9.123
* SOGoMailAccount.m: added -preferredIdentity method
* SOGoUser+Mail.m: added a method to retrieve the primary identity of
an account
* SOGoSharedMailAccount.m: do not show the drafts folder in share
mailboxes (v0.9.122)
* SOGoUser+Mail.m: properly set email field of share account identities
(v0.9.121)
* v0.9.120
* SOGoMailBaseObject.m: added a method to locate the mail accounts
folderby traversing the container hierarchy
* SOGoMailIdentity.m: include sent folder in -description
* SOGoMailAccounts.m: added method to fetch just the identities with
emitter permissions
* SOGoUser+Mail.m: properly create mail identity objects
2005-07-21 Helge Hess <helge.hess@opengroupware.org>
* v0.9.119
* SOGoMailAccounts.m: fetch identities from SoUser
* added SOGoUser+Mail category for mail specific SoUser fields
* SOGoMailIdentity.m: added ivars/accessors/description
* v0.9.118
* SOGoMailAccounts.m: reject access to the folder in case the name of
the home folder doesn't match the logged in account (a user tries to
access another users Mail application)
* started work on account based identities
* SOGoMailObject.m: added a -davEntityTag (v0.9.117)
2005-07-20 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: improved -doesMailExist check (do not refetch if
the coreinfo is available anyways) (v0.9.116)
* v0.9.115
* SOGoMailObject.m: do not use clientObject when fetching the
coreinfos, added a -doesMailExist method to cheaply check for
mail existance
* SOGoMailBodyPart.m, SOGoMailObject.m: added a constant etag for
content (possible for IMAP4 content), check etag prior delivering
content (return a 304 in case the constant etag is supplied)
* SOGoMailObject.m: added handling for some specific headers (v0.9.114)
2005-07-19 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: changed to fetch and parse the full mail header,
can be disabled using the 'SOGoDoNotFetchMailHeader' default. The
overhead is about 10ms on the dev-system (v0.9.113)
* SOGoMailFolder.m: report NO in -isCreateAllowed when the folder is
the INBOX and SOGoSpecialFoldersInRoot (altnamespace) is enabled
(#1472) (v0.9.112)
* SOGoDraftObject.m: made 'SOGoInternetMailSuffix' a pattern which can
access request values (v0.9.111)
* SOGoDraftObject.m: added support for adding a marker to the textpart
of the message in case the client is accessing the server from the
Internet. The text can be specified using the
'SOGoInternetMailSuffix' default (v0.9.110)
* v0.9.109
* added fragile base class version checks to most classes
* SOGoMailBaseObject.m: cache failed login attempts (+ connection) to
improve failed-login behaviour
2005-07-18 Helge Hess <helge.hess@opengroupware.org>
* SOGoDraftObject.m: send text/* attachments with disposition 'attach'
instead of 'inline' (inline can still be enabled with the
'SOGoShowTextAttachmentsInline' default, but be aware of the charset
issues with text attachments!) (v0.9.108)
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* v0.9.107
* SOGoMailBodyPart.m: check lookup key path extension to determine the
part subclass to instantiate (note: the link generator in the UI
must generate proper links including the extension to make this work)
* added special part subclasses SOGoVCardMailBodyPart and
SOGoCalendarMailBodyPart
* SOGoMailObject.m: map vcf extension to vcard mime type, added some
debug logging
* SOGoMailFolder.m: fixed a stupid bug in permission parsing (v0.9.106)
* SOGoMailFolder.m: added support for more Cyrus permission flags
(v0.9.105)
* SOGoMailObject.m, SOGoMailBodyPart.m, SOGoDraftObject.m: fixed gcc4.0
warnings (v0.9.104)
* SOGoMailManager.h: fixed a gcc 4.0 warning (v0.9.103)
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
* v0.9.102
* SOGoSharedMailAccount.m: create an object of class
SOGoSharedInboxFolder in case the lookup key is INBOX
* added SOGoSharedInboxFolder.m for inboxes of shared mail accounts
(which have a different location than standard inboxes and never
contain subfolders)
* SOGoSharedMailAccount.m: prepared code to support a shared INBOX
folder (v0.9.101)
* v0.9.100
* SOGoMailAccounts.m: create an object of class SOGoSharedMailAccount
in case the lookup-key contains an ".-."
* SOGoMailAccount.[hm]: added some functionality to deal with shared
mail accounts
* added SOGoSharedMailAccount class for shared mailboxes
2005-07-12 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailAccounts.m: use new SoUser API instead of AgenorUserManager
(v0.9.99)
2005-07-11 Helge Hess <helge.hess@opengroupware.org>
* v0.9.98
* use new -imap4Connection API everywhere
* SOGoMailBaseObject.m: deprecated -mailManager method, added
-imap4Connection method
* SOGoMailBaseObject.[hm]: removed unused -imap4Client method (v0.9.97)
* moved SOGoMailManager related API to NGImap4 (NGImap4Connection,
NGImap4ConnectionManager, etc) (v0.9.96)
2005-07-11 Helge Hess <helge.hess@opengroupware.org>
* v0.9.95
* SOGoMailBaseObject.m: removed -imapFolderName method
* SOGoMailManager.m, SOGoMailConnectionEntry.m: moved implementations
of operations to SOGoMailConnectionEntry
2005-07-08 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailAccounts.m: use WOContext method from libSOGo to detect
Internet access (v0.9.94)
* SOGoMailAccounts.m: only deliver share-names as subobjects if the
request is not coming from the Internet. Ensure that limitation in
-lookupName:. Can be enabled using SOGoInternetDetectQualifier just
like in UIxMailEditor (v0.9.93)
* v0.9.92
* SOGoMailManager.m, SOGoMailConnectionEntry.m: added caching of
per-folder permissions to avoid an IMAP4 query on each folder click
* SOGoMailFolder.m: fixed an inconsistency in the naming of flags
2005-07-07 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailManager.m, SOGoMailFolder.m: added methods to "bulk add"
flags to all messages contained in a folder
(-addFlags:toAllMessagesInURL:password: for the manager,
-addFlagsToAllMessages: for the SOGoFolder) (v0.9.91)
* added specific SOGoTrashFolder.m class (subclass of SOGoMailFolder)
to allow hooking up a different UI (v0.9.90)
* SOGoMailAccounts.m: expose shared mailboxes retrieved via
AgenorUserManager (aka LDAP) in -toManyRelationshipKeys (v0.9.89)
* SOGoMailObject.m: implemented -trashInContext: method (v0.9.88)
2005-07-06 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: prefetch pgp-signature parts (v0.9.87)
* SOGoMailObject.m: started -trash action (v0.9.86)
* v0.9.85
* SOGoMailFolder.m: added ability to check certain ACL permissions (and
cache them for one invocation)
* SOGoMailObject.m: implemented -isDeletionAllowed by asking the folder
for deletion
* SOGoMailManager.m: added methods to retrieve the ACL and the myrights
from an IMAP4 mailbox
* SOGoMailManager.m: detect Cyrus 'permission denied' when changing
flags and deliver a http-code 403 exception (v0.9.84)
2005-03-25 Helge Hess <helge.hess@opengroupware.org>
* v0.9.83
* SOGoMailManager.m: properly select folder prior changing flags
* SOGoMailObject.m: added a special DELETEAction: for mails, it marks
a mail deleted and expunges the folder to ensure the mail is deleted
(this is different to the -delete method!)
* SOGoMailFolder.m: implemented content datasource for efficient WebDAV
listings (currently uses hardcoded parts and has inefficient DASL
support) (v0.9.82)
* v0.9.81
* SOGoMailFolder.m: implemented mailbox renaming using WebDAV MOVE
* SOGoMailManager.m: added support for renaming mailboxes
* v0.9.80
* SOGoMailFolder.m: now ensures during lookup that mailboxes actually
exist, this may slow down the lookup if the hierarchy was not fetched
yet
* SOGoMailObject.m, SOGoMailFolder.m: prepared for WebDAV move and copy
operations
* v0.9.79
* SOGoMailFolder.m: ensure that mailbox exists if a DAV depth:0 query
is run on the folder (by selecting the mailbox)
* SOGoMailManager.m: added method to retrieve mailbox select info
* SOGoMailAccount.m: added ability to create mailboxes at the root
(account) level (v0.9.78)
2005-03-03 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailManager.m: improved compatibility with Cocoa Foundation
(some weird difference in NGImap4 result processing) (v0.9.77)
2005-02-21 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: generate proper .ics extension for text/calendar
message parts, fetch text/calendar parts as plain content (v0.9.76)
2005-02-15 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailAccount.m: added 'SOGoSpecialFoldersInRoot' default to
make SOGo lookup Sent/Trash in the IMAP4 root instead of under
INBOX (that is, set SOGoSpecialFoldersInRoot to YES if you have
'altnamespace' in Cyrus set to yes) (v0.9.75)
2005-02-14 Helge Hess <helge.hess@opengroupware.org>
* v0.9.74
* SOGoMailAccount.m: fetch all root folders from IMAP4, do not assume
"INBOX"
* SOGoMailManager.m: properly support rootfolders in IMAP4
2005-02-13 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailAccount.m: changed short title creation to use login@host
(v0.9.73)
* SOGoMailFolder.m: do not fetch message ids on folder traversal
(v0.9.72)
2005-02-09 Helge Hess <helge.hess@opengroupware.org>
* v0.9.71
* SOGoMailObject.m: -lookupInfoForBodyPart: can now deal with string
parameters (eg 1.2.3) in addition to arrays and returns the full
body structure for empty strings ("")
added support for fetching parts as NSString's (by applying the
charset in the body structure)
2005-02-08 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailObject.m: added method to fetch individual plain/text parts
* v0.9.70
* SOGoMailManager.m: only perform IMAP4 select if the folder changes
(gives a major speed boost), can be disabled with the
'SOGoAlwaysSelectIMAP4Folder' default
* SOGoMailAccount.m: added code to take the IMAP4 login from the
HTTP request
* v0.9.69
* reworked for new NGImap4 v4.5.210 API
* SOGoMailObject.m: removed fromEnvelopeAddress in favor of
fromEnvelopeAddresses to match the new NGImap4 v4.5.210 API
2005-02-07 Helge Hess <helge.hess@opengroupware.org>
* v0.9.68
* SOGoDraftObject.m: added ability to specify additional headers
* v0.9.67
* SOGoMailFolder.m: detect special folder names and return proper
folder type
* SOGoMailAccount.m: made Sent/Trash folder name configurable using the
'SOGoSentFolderName'/'SOGoTrashFolderName' defaults
2005-02-06 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailFolder.m, SOGoDraftsFolder.m: added proper folder classes
(v0.9.66)
2005-01-31 Helge Hess <helge.hess@opengroupware.org>
* v0.9.65
* SOGoMailManager.m, SOGoMailFolder.m: added expunge method
* SOGoMailObject.m: improve bulk key collector
* SOGoMailObject.m: moved more bulk fetching to SoObject (v0.9.64)
* SOGoMailObject.m: moved in plain/text bulk fetch method from mail
viewer (since it is general purpose) (v0.9.63)
* SOGoMailObject.m: properly handle part lookup in the context of
embedded message/rfc822 content (v0.9.62)
2005-01-30 Helge Hess <helge.hess@opengroupware.org>
* v0.9.61
* SOGoMailObject.m, SOGoMailBodyPart.m, product.plist: added type
specific SOGoMailBodyPart controller objects, reduced debug logs
* v0.9.60
* SOGoDraftObject.m: added -content and -contentAsString methods (Note:
those are expensive operations!), added GETAction: to retrieve the
MIME representation of a draft
* SOGoDraftsFolder.m: added -toOneRelationshipKeys to support SOPE
WebDAV access
* v0.9.59
* SOGoDraftObject.m: improved attachment/info API to return exceptions,
minor improvement to attachment name check, properly generate
message/rfc822 mime type for mail attachments, properly generate
"text/plain; utf8" header
* SOGoMailAccount.m: use a constant for INBOX folder name, disabled
'Filters' folder unless the 'SOGoEnableSieveFolder' is set (since
Sieve support is incomplete)
2005-01-28 Helge Hess <helge.hess@skyrix.com>
* v0.9.58
* SOGoMailObject.m: implemented a simple delete by setting the IMAP4
delete flag
* SOGoMailManager.m: added method to mark a message deleted
* SOGoMailFolder.m: just override -delete instead of implementing
-DELETAction: directrly
* SOGoMailAccount.m: added ability to retrieve Sent/Trash and INBOX
special mail folders
* v0.9.57
* SOGoMailBodyPart.m: enhanced lookup to allow for arbitary filenames
being attached to a body-part name. Improves download behaviour.
* SOGoMailBaseObject.m, SOGoMailObject.m: moved
-isBodyPartKey:inContext: method to base object for reuse in
SOGoMailBodyPart
* SOGoMailBodyPart.m: minor code cleanup
2005-01-26 Helge Hess <helge.hess@skyrix.com>
* v0.9.56
* SOGoMailManager.m, SOGoMailFolder.m: added method to save new
content in an SOGoMailFolder (to support #1054)
* SOGoMailAccount.m: minor code cleanup
2004-12-08 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoMailAccount.m, SOGoMailBaseObject.m, SOGoMailObject.m,
SOGoMailManager.m, SOGoDraftsFolder.m, SOGoMailAccounts.m,
SOGoMailBodyPart.m, SOGoDraftObject.m: changed to use NGLogging
(v0.9.55)
2004-11-27 Helge Hess <helge.hess@skyrix.com>
* SOGoMailAccount.m: added 'Filters' key and lookup of Sieve filters
(v0.9.54)
2004-11-11 Helge Hess <helge.hess@skyrix.com>
* v0.9.53
* SOGoMailAccounts.m: added -allFolderPathes methods to retrieve the
names of all folders associated with the account
* SOGoMailManager.m: added -allFoldersForURL:password: method
2004-11-09 Helge Hess <helge.hess@skyrix.com>
* added support for toggling mail flags (v0.9.52)
* moved all tree navigation code to UIxMailTree (v0.9.51)
* SOGoMailBaseObject.m, SOGoMailAccounts.m: moved tree code to separate
file (v0.9.50)
* SOGoMailBaseObject.m, SOGoMailManager.m, SOGoMailConnectionEntry.m:
added cache flush operations for getmail (v0.9.49)
2004-11-08 Helge Hess <helge.hess@skyrix.com>
* SOGoMailManager.m: improved a log message (v0.9.48)
2004-10-30 Helge Hess <helge.hess@skyrix.com>
* v0.9.47
* SOGoMailFolder.m: added ability to create and delete subfolders using
WebDAV
* SOGoMailConnectionEntry.m: added method to flush folder hierarchy
cache
* product.plist: added default role for adding folders (owner)
* SOGoMailObject.m: added -content and -contentAsString method to
retrieve raw IMAP4 message content, added GETAction to query a
message (v0.9.46)
2004-10-29 Helge Hess <helge.hess@skyrix.com>
* SOGoDraftObject.m: add 'name' parameter to content-type, properly
encode binary attachments (v0.9.45)
2004-10-28 Helge Hess <helge.hess@skyrix.com>
* SOGoDraftObject.m: do not patch NGImap4Envelope ivars and use the new
constructor method (v0.9.44)
2004-10-27 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailManager.m: added 'SOGoIMAP4StringSeparator' default to
configure to folder separator. Default is '/' instead of '.'
(v0.9.43)
* v0.9.42
* SOGoDraftObject.m: implements some SOGoMailObject methods
* SOGoDraftsFolder.m: implemented some draft folder listing
* SOGoDraftObject.m: added mail send functionality (v0.9.41)
* SOGoDraftObject.m: added ability to create NGMime objects from draft
(v0.9.40)
2004-10-26 Helge Hess <helge.hess@opengroupware.org>
* SOGoDraftObject.[hm]: added method to delete attachments (v0.9.39)
2004-10-26 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoDraftObject.h: lF compile fix (v0.9.38)
2004-10-25 Helge Hess <helge.hess@opengroupware.org>
* SOGoDraftObject.m: added ability to manage a draft object folder
(v0.9.37)
2004-10-21 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailBaseObject.m: extract IMAP4 password from HTTP basic
authentication (v0.9.36)
2004-10-20 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoMailAccounts.m: changed methods according to new API of
AgenorUserManager (v0.9.35)
2004-10-19 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoMailAccounts.m: values for toManyRelationshipKeys are constructed
from information retrieved by the AgenorUserManager now. (v0.9.34)
2004-10-11 Helge Hess <helge.hess@opengroupware.org>
* SOGoDraftsFolder.m: added methods to deal with new draft objects
(v0.9.33)
* started SOGoDraftObject (v0.9.32)
2004-10-10 Helge Hess <helge.hess@opengroupware.org>
* SOGoDraftsFolder.m: added methods to be compatible with the mail
folder (v0.9.31)
2004-10-08 Helge Hess <helge.hess@opengroupware.org>
* v0.9.30
* SOGoMailObject.m: added support for davContentLength, added
RFC822.SIZE to coreinfo attributes
* SOGoMailFolder.m: added .mail path extensions to generated
toOneRelationshipKeys
* SOGoMailObject.m: fixed body part id (starts with 1, not with 0)
* v0.9.29
* SOGoMailObject.m: added toOneRelationshipKeys/toManyRelationshipKeys
(return the contained body parts)
* SOGoMailFolder.m: added toOneRelationshipKeys (returns the message
uids)
* marked collections as WebDAV collections (v0.9.28)
2004-10-06 Helge Hess <helge.hess@opengroupware.org>
* started SOGoDraftsFolder (v0.9.27)
* v0.9.26
* SOGoMailConnectionEntry.m: added caching of sorted UIDs sets
* SOGoMailManager.m: moved SOGoMailConnectionEntry class to own file
2004-10-05 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailManager: removed range argument from -fetchUIDsInURL:..,
since IMAP4 doesn't support ranges anyway ... (v0.9.25)
2004-10-04 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailBodyPart.m: improved MIME type generation (v0.9.24)
* SOGoMailBodyPart.m, SOGoMailObject.m: finished first part fetching
support (v0.9.23)
* SOGoMailObject.m: added method to fetch core infos of a mail, added
various methods to retrieve core info data (like subject or date)
(v0.9.22)
2004-10-03 Helge Hess <helge.hess@opengroupware.org>
* v0.9.21
* SOGoMailObject.m: lookup 'number' names as part child objects
* added SOGoMailBodyPart as a child object of SOGoMailObject
* SOGoMailAccounts.m: changed link generation for active folder
* v0.9.20
* SOGoMailObject.m: added method to fetch parts
* SOGoMailManager.m: properly select folder prior fetch, added method
to fetch parts of a single (message) URL
2004-10-02 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailFolder.[hm]: removed ability to restrict UID fetch range,
need to fetch all (qualifier matching!) UIDs anyway (v0.9.19)
2004-10-01 Helge Hess <helge.hess@opengroupware.org>
* more work on fetching mails (v0.9.18)
* v0.9.17
* SOGoMailFolder.m: -fetchUIDsMatchingQualifier:sortOrdering:range: was
added to retrieve message UIDs
* SOGoMailManager.m: added method for fetching message ids with server
side sorting
2004-09-30 Helge Hess <helge.hess@skyrix.com>
* v0.9.16
* SOGoMailBaseObject.m: improved debug logging
* SOGoMailManager.m: fixed an Apple/libFoundation incompatibility
2004-09-29 Helge Hess <helge.hess@skyrix.com>
* SOGoMailManager.m: minor improvement to error logging (v0.9.15)
2004-09-29 Helge Hess <helge.hess@opengroupware.org>
* v0.9.14
* SOGoMailAccounts.m: added tree navigation support
* SOGoMailBaseObject.m: moved fetchSubfolders method to SOGoObject
* SOGoMailBaseObject.m: fixed WebDAV include (v0.9.13)
* v0.9.12
* SOGoMailAccount.m: added -shortTitle and use that as the
-davDisplayName
* SOGoMailBaseObject.m, SOGoMailAccounts.m: added path tree navigation
support
2004-09-28 Helge Hess <helge.hess@opengroupware.org>
* SOGoMailManager.m: added caching of folder hierarchy (v0.9.11)
* SOGoMailManager.m: added connection pooling (v0.9.10)
* v0.9.9
* SOGoMailBaseObject.m: added -mailManager method to retrieve the
mail manager object for a folder/mail/account
* added SOGoMailManager class, will probably be moved to SOGoLogic
in the long run
* SOGoMailBaseObject.m, SOGoMailAccount.m: added -mailAccountFolder
method to find the active root folder along the SOPE chain (v0.9.8)
* SOGoMailAccount.m: be graceful if the IMAP4 login failed (v0.9.7)
2004-09-27 Helge Hess <helge.hess@opengroupware.org>
* v0.9.6
* added basic folder listing
* SOGoMailAccount.m: list "INBOX" as the sole account subfolder
2004-09-26 Helge Hess <helge.hess@opengroupware.org>
* v0.9.5
* added SOGoMailBaseObject as a base object for the other mailer
SoObjects
* added -imapURL method to the mail SoObjects (the imapURL is used to
locate the object in the IMAP4 server, just like in Thunderbird)
2004-09-25 Helge Hess <helge.hess@opengroupware.org>
* fixed compilation on MacOSX (v0.9.4)
2004-09-20 Helge Hess <helge.hess@skyrix.com>
* SOGoMailAccounts.m: added hardcoded mail-account key (v0.9.3)
2004-09-08 Helge Hess <helge.hess@skyrix.com>
* added missing account objects (v0.9.2)
2004-08-26 Marcus Mueller <znek@mulle-kybernetik.com>
* ChangeLog: created
+3 -1
View File
@@ -46,12 +46,14 @@ Mailer_RESOURCE_FILES += \
SOGoMailGermanForward.wo \
SOGoMailItalianForward.wo \
SOGoMailSpanishForward.wo \
SOGoMailWelshForward.wo \
SOGoMailDutchReply.wo \
SOGoMailEnglishReply.wo \
SOGoMailFrenchReply.wo \
SOGoMailGermanReply.wo \
SOGoMailItalianReply.wo \
SOGoMailSpanishReply.wo
SOGoMailSpanishReply.wo \
SOGoMailWelshReply.wo
ADDITIONAL_INCLUDE_DIRS += -I../../SOPE/
@@ -0,0 +1 @@
-------- Original Message -------- Testun: <#subject/> Dyddiad: <#date/> Oddi wrth: <#from/> <#hasReplyTo>Ymateb i: <#replyTo/><#hasOrganization>Sefydliad: <#organization/>I: <#to/> <#hasCc>CC: <#cc/><#hasNewsGroups>Grwpiau newyddion: <#newsgroups/><#hasReferences>Cyfeirnodau: <#references/> <#messageBody/> <#signature/>
@@ -0,0 +1,74 @@
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}
@@ -0,0 +1 @@
<#signaturePlacementOnTop> <#signature/> <#outlookMode>-------- Neges Wreiddiol -------- Testun: <#subject/> Dyddiad: <#date/> Oddi wrth: <#from/> <#hasReplyTo>Ymateb i: <#replyTo/><#hasOrganization>Sefydliad: <#organization/>I: <#to/> <#hasCc>CC: <#cc/><#hasNewsGroups>Grwpiau newyddion: <#newsgroups/><#hasReferences>Cyfeirnodau: <#references/> <#standardMode>Ar <#date/>, <#from/> ysgrifennodd: <#messageBody/> <#signaturePlacementOnBottom><#signature/>
@@ -0,0 +1,101 @@
outlookMode: WOConditional {
condition = outlookMode;
}
standardMode: WOConditional {
condition = outlookMode;
negate = YES;
}
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}
replyPlacementOnTop: WOConditional {
condition = replyPlacementOnTop;
}
replyPlacementOnBottom: WOConditional {
condition = replyPlacementOnTop;
negate = YES;
}
signaturePlacementOnTop: WOConditional {
condition = signaturePlacementOnTop;
}
signaturePlacementOnBottom: WOConditional {
condition = signaturePlacementOnTop;
negate = YES;
}
-374
View File
@@ -1,374 +0,0 @@
2005-08-01 Helge Hess <helge.hess@skyrix.com>
* added FHS installation (v0.9.70)
* SOGoObject.m: added class security declarations (previously in
product.plist of MainUI) (v0.9.69)
2005-07-21 Helge Hess <helge.hess@opengroupware.org>
* SOGoUser.m: added a method to fetch share/emitter address pairs from
the AgenorUserManager (v0.9.68)
* AgenorUserManager.m: rewrote to use NSMutableDictionary instead of
SOGoLRUCache. Flush caches every hour (configurable using
'AgenorCacheCheckInterval' default). Added method to retrieve the
shares and the emitter emails in one step. (v0.9.67)
2005-07-20 Helge Hess <helge.hess@opengroupware.org>
* v0.9.66
* SOGoContentObject.m: properly quote etag
* SOGoObject.m: changed to check etag when the content is accessed in
WebDAV mode and return a 304 if the tag stayed the same.
Do not strip quotes from etags in if-*match headers.
Properly implement if-none-match for GET requests.
* SOGoContentObject.m: moved generic etag checking to SOGoObject (to
share implementation with Mailer) (v0.9.65)
2005-07-19 Marcus Mueller <znek@mulle-kybernetik.com>
* AgenorUserManager.m: properly implemented internet/intranet vacation
message status detection (v0.9.64)
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.63
* SOGoAppointment.[hm]: new API to cancel appointments, NSCopying
support
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* v0.9.62
* SOGoGroupFolder.m, SOGoUser.m: fixed a gcc 4.0 warning
* GNUmakefile.preamble: properly use SYSTEM_LIB_DIR
* v0.9.61
* SOGoContentObject.m: fixed a Cocoa warning
* GNUmakefile.preamble: added proper linking flags for OSX
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.60
* SOGoAppointment.[hm]: added 'method' and 'userComment' accessors
* SOGoAppointmentICalRenderer.m: properly render 'method' of
appointment if it's set - otherwise assume 'REQUEST'
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
* SOGoUser.m: added -homeFolderInContext: and
-schedulingCalendarInContext: methods (v0.9.59)
* moved in SOGoUser and SOGoAuthenticator from Main (v0.9.58)
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
* AgenorUserManager.[hm]: added accessors and cache for the
'mineqMelReponse' flag. Please note that the implementation isn't
fully fleshed out because the technical specification isn't correct.
(v0.9.57)
* AgenorUserManager.[hm]: added accessors and cache for the
'mineqOgoAccesInternet' flag (v0.9.56)
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
* SOGoContentObject.m: added empty davCopy/davMove methods (v0.9.55)
* v0.9.54
* SOGoContentObject.m: added support for special 'new' key (server will
assign a name and add the new location in a special response header)
* SOGoFolder.m: added +globallyUniqueObjectId (previously the method
was duplicated in each subclass)
* SOGoContentObject.m: added transactionally save etag-checks in PUT
(use the etag value as the baseVersion in the content store)
(v0.9.53)
2005-07-13 Helge Hess <helge.hess@opengroupware.org>
* v0.9.52
* SOGoObject.m: properly add etag during a GET (if available)
* SOGoContentObject.m: generate etag from content object version, added
methods to check request preconditions, check preconditions prior
running a PUT, added new etag after running a PUT
* SOGoObject.m, SOGoFolder.m: added +version methods to detect fragile
base class issues (v0.9.51)
* SOGoFolder.m: changed to use plain column names (v0.9.50)
2005-07-12 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoUserFolder.m: forbid access (403) to SOGoGroupFolders if access
is not from the Intranet (v0.9.49)
2005-07-12 Helge Hess <helge.hess@opengroupware.org>
* AgenorUserDefaults.m: added automagic profile row creation (v0.9.48)
* AgenorUserDefaults.m: implemented saving of changed profiles
(v0.9.47)
2005-07-12 Marcus Mueller <znek@mulle-kybernetik.com>
* AgenorUserManager.[hm]: new API for extracting UIDs from iCalPersons
(v0.9.46)
2005-07-12 Helge Hess <helge.hess@opengroupware.org>
* v0.9.45
* AgenorUserDefaults.m: properly fetch profile contents
* agenor_defaults.m: read operation can now return all defined keys
* v0.9.44
* AgenorUserDefaults.m: added typed value accessors and proper
initializers
* AgenorUserManager.m: added 'AgenorProfileURL' default to configure
the database location of the user profile table
* finished agenor_defaults tool
2005-07-12 Helge Hess <helge.hess@opengroupware.org>
* v0.9.43
* added agenor_defaults tool to test defaults functionality
* AgenorUserManager.[hm]: added -getUserDefaultsForUID: method to
retrieve the profile of a user (incomplete)
* added AgenorUserDefaults class (incomplete) as a wrapper for the
profile data of Agenor users
2005-07-08 Helge Hess <helge.hess@opengroupware.org>
* v0.9.42
* added agenor_emails4uid tool to check whether the
uid=>allowed-from-mails discovery in AgenorUserManager works
* AgenorUserManager.m: added -getSharedMailboxEMailsForUID: method to
discover the shared emails the user is allowed to post from,
added caching of shared emails and Cyrus-logins
* WOContext+Agenor.m: use SOGoInternetDetectQualifier for detecting
Internet access level (v0.9.41)
2005-07-08 Marcus Mueller <znek@mulle-kybernetik.com>
* WOContext+Agenor.[hm]: new category for discovering if the current
context is via access from the intranet. (v0.9.40)
2005-07-07 Helge Hess <helge.hess@opengroupware.org>
* added agenor_shares4uid tool to check whether the uid=>shared mailbox
discovery in AgenorUserManager works
* AgenorUserManager.m: fixed a major string scanning bug in
_serverCandidatesForMineqMelRoutage: method,
added -getSharedMailboxAccountStringsForUID: method to discover
shared IMAP4 accounts (v0.9.39)
2005-07-07 Helge Hess <helge.hess@opengroupware.org>
* AgenorUserManager.m: added a simple -description method (v0.9.38)
* added agenor_email2uid.m tool to check whether the email=>uid mapping
in AgenorUserManager works
2005-07-06 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.37
* SOGoUserFolder.m: added 'freebusy.ifb' as an object to the
collection for proper display via DAV.
* SOGoAppointmentICalRenderer.m: fixed header inclusion
* AgenorUserManager.[hm]: added proposed future API for discovering
URLs for free/busy information (implementation currently returns
nil)
2005-07-05 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoAppointment.m: fixed a wrong -release (v0.9.36)
2005-03-25 Helge Hess <helge.hess@opengroupware.org>
* SOGoObject.m: fixed DELETEAction to return a boolean if the delete
was successful (required by SoObjectRequestHandler) (v0.9.35)
2005-03-20 Helge Hess <helge.hess@opengroupware.org>
* changed to use GDLContentStore (v0.9.34)
2005-03-03 Marcus Mueller <znek@mulle-kybernetik.com>
* SOGoGroupFolder.m: switched logging to NGLogging (v0.9.33)
2005-03-02 Marcus Mueller <znek@mulle-kybernetik.com>
* NSObject+AptComparison.[hm]: new comparison method. This is used
in SOGoAppointmentFolder currently. (v0.9.32)
2005-02-20 Helge Hess <helge.hess@opengroupware.org>
* AgenorUserManager.m: refactoring of the LDAP fetch code, added the
'SOGoFallbackIMAP4Server' default to configure the IMAP4 server when
LDAP is disabled (v0.9.31)
2005-02-17 Helge Hess <helge.hess@opengroupware.org>
* moved in code from libSOGoLogic (unnecessarily a separate library)
(v0.9.30)
2005-02-10 Helge Hess <helge.hess@opengroupware.org>
* SOGoObject.m: fixed a warning on MacOSX (v0.9.29)
2005-02-07 Helge Hess <helge.hess@opengroupware.org>
* SOGoObject.h: added prototype for GETAction (v0.9.28)
2005-02-06 Helge Hess <helge.hess@opengroupware.org>
* added -outlookMessageClass / -outlookFolderClass (v0.9.27)
2004-10-19 Helge Hess <helge.hess@opengroupware.org>
* SOGoFolder: added method -fetchContentStringsAndNamesOfAllObjects
which fetches the contents of all folders objects (avoid to use this
high overhead method!). Required for iCalendar file generation.
(v0.9.26)
2004-10-08 Helge Hess <helge.hess@opengroupware.org>
* SOGoUserFolder.m: enhanced object lookup so that when a Calendar
is opened with an extensions (eg "Calendar.ics") (v0.9.25)
* SOGoFolder.m: added facility to define default extensions (v0.9.24)
* SOGoObject.m: fixed not implemented return status (501, not 502)
(v0.9.23)
* SOGoUserFolder.m: do not try to fetch file names in this folder
(v0.9.22)
* v0.9.21
* SOGoContentObject.m: added PUTAction:
* SOGoObject.m: implemented special WebDAV support in GETAction:
* SOGoFolder.m: added -toOneRelationshipKeys method (enables listing of
contained objects in WebDAV), added container name to logging prefix,
explicitly mark as WebDAV collection
* SOGoContentObject.m: mark as WebDAV non-collection
2004-10-07 Helge Hess <helge.hess@opengroupware.org>
* SOGoUserFolder.m: added toManyRelationshipKeys, marked as WebDAV
collection (v0.9.20)
2004-09-29 Helge Hess <helge.hess@opengroupware.org>
* SOGoObject.m: added -fetchSubfolders method to resolve all
toManyRelationshipKeys to SOPE objects (v0.9.19)
2004-09-20 Helge Hess <helge.hess@skyrix.com>
* SOGoObject.m: added a default GET method which redirects to
url + "/view" (v0.9.18)
* SOGoObject.m(-description): added name of container (v0.9.17)
2004-09-08 Helge Hess <helge.hess@skyrix.com>
* SOGoGroupFolder.m: separate -resetFolderCaches method from -sleep
(v0.9.16)
2004-09-08 Helge Hess <helge.hess@skyrix.com>
* SOGoUserFolder.m: map "Mail" key to SOGoMailAccounts object (v0.9.15)
2004-09-01 Marcus Mueller <znek@mulle-kybernetik.com>
* v0.9.14
* GNUmakefile.preamble: fixed for gsmake 1.9.2 build
* GNUmakefile: include ../../Version also
2004-08-26 Helge Hess <helge.hess@skyrix.com>
* SOGoUserFolder.m: added ability to create Contacts folder (v0.9.13)
2004-08-24 Maxime Wacker <mwacker@linagora.com>
* GNUmakefile.preamble: fixes for the build process (v0.9.12)
2004-08-16 Helge Hess <helge.hess@skyrix.com>
* SOGoCustomGroupFolder.m: added -initWithUIDs:inContainer: for using
the groups folder for internal group fetches (v0.9.11)
* SOGoContentObject.m: updated multi-save things (which belong into the
SOGoAppointmentObject class), implement -sleep to release the content
(v0.9.10)
2004-08-15 Helge Hess <helge.hess@skyrix.com>
* SOGoContentObject.m: implement first version of -delete (v0.9.9)
* SOGoObject.[hm], SOGoUserFolder.[hm]: implemented SOPE
-ownerInContext: (v0.9.8)
2004-08-14 Helge Hess <helge.hess@skyrix.com>
* v0.9.7
* SOGoGroupFolder.m: renamed -reset method to -sleep (called by SOPE)
* SOGoObject.m: added SOPE -sleep method (resets container and can be
called by subclasses)
* SOGoGroupFolder.m: made the folder found note log a debug log
2004-08-11 Helge Hess <helge.hess@skyrix.com>
* v0.9.6
* SOGoUserFolder.m: added "Groups" folder name and lookup
* added: SOGoGroupsFolder, SOGoGroupFolder, SOGoCustomGroupFolder
2004-07-02 Helge Hess <helge.hess@opengroupware.org>
* SOGoObject.m: added -delete method (but not yet implemented)
2004-06-30 Helge Hess <helge.hess@opengroupware.org>
* SOGoContentObject.m: added -contentAsString method
* created ChangeLog
+2 -1
View File
@@ -351,7 +351,8 @@ static NSLock *lock;
defaults = [[[SOGoUserDefaults alloc] initWithTableURL: url
uid: theLogin
fieldName: [NSString stringWithFormat: @"c_%@", theKey]]
fieldName: [NSString stringWithFormat: @"c_%@", theKey]
shouldPropagate: YES]
autorelease];
[defaults setValues: theValues];
[self setDefaults: defaults forLogin: theLogin key: theKey];
+6 -1
View File
@@ -694,13 +694,18 @@ static NSArray *childRecordFields = nil;
}
else
{
// The current user is a superuser...
SOGoUser *subscriptionUser;
int i;
for (i = 0; i < [delegatedUsers count]; i++)
{
// We trust the passed user ID here as it might generate tons or LDAP
// call but more importantly, cache propagation calls that will create
// contention on GDNC.
subscriptionUser = [SOGoUser userWithLogin: [delegatedUsers objectAtIndex: i]
roles: nil];
roles: nil
trust: YES];
[self _subscribeUser: subscriptionUser
reallyDo: reallyDo
+1 -1
View File
@@ -1,6 +1,6 @@
/* SOGoParentFolder.h - this file is part of SOGo
*
* Copyright (C) 2006, 2007 Inverse inc.
* Copyright (C) 2006-2009 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
+1 -1
View File
@@ -1,6 +1,6 @@
/* SOGoParentFolder.m - this file is part of SOGo
*
* Copyright (C) 2006, 2007 Inverse inc.
* Copyright (C) 2006-2009 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
+9
View File
@@ -69,6 +69,7 @@ extern NSString *SOGoWeekStartFirstFullWeek;
NSString *language;
NSArray *allEmails;
NSString *cn;
BOOL propagateCache;
}
+ (NSString *) language;
@@ -76,6 +77,14 @@ extern NSString *SOGoWeekStartFirstFullWeek;
+ (SOGoUser *) userWithLogin: (NSString *) login
roles: (NSArray *) roles;
+ (SOGoUser *) userWithLogin: (NSString *) login
roles: (NSArray *) roles
trust: (BOOL) b;
- (id) initWithLogin: (NSString *) newLogin
roles: (NSArray *) newRoles
trust: (BOOL) b;
- (void) setPrimaryRoles: (NSArray *) newRoles;
- (void) setCurrentPassword: (NSString *) newPassword;
+42 -18
View File
@@ -223,6 +223,13 @@ _timeValue (NSString *key)
+ (SOGoUser *) userWithLogin: (NSString *) newLogin
roles: (NSArray *) newRoles
{
return [self userWithLogin: newLogin roles: newRoles trust: NO];
}
+ (SOGoUser *) userWithLogin: (NSString *) newLogin
roles: (NSArray *) newRoles
trust: (BOOL) b
{
SOGoCache *cache;
SOGoUser *user;
@@ -231,7 +238,7 @@ _timeValue (NSString *key)
user = [cache userNamed: newLogin];
if (!user)
{
user = [[self alloc] initWithLogin: newLogin roles: newRoles];
user = [[self alloc] initWithLogin: newLogin roles: newRoles trust: b];
if (user)
{
[user autorelease];
@@ -245,18 +252,31 @@ _timeValue (NSString *key)
- (id) initWithLogin: (NSString *) newLogin
roles: (NSArray *) newRoles
trust: (BOOL) b
{
LDAPUserManager *um;
NSString *realUID;
// We propagate the cache if we do NOT trust the login names.
// When trusting login names, we 'assume' we're dealing with a
// super user doing kungfu with the system. We definitively don't
// want to propagate the cache to other sogod instances when
// dealing with massive number of ops.
propagateCache = !b;
if ([newLogin isEqualToString: @"anonymous"]
|| [newLogin isEqualToString: @"freebusy"])
realUID = newLogin;
else
{
um = [LDAPUserManager sharedUserManager];
realUID = [[um contactInfosForUserWithUIDorEmail: newLogin]
objectForKey: @"c_uid"];
if (b)
realUID = newLogin;
else
{
um = [LDAPUserManager sharedUserManager];
realUID = [[um contactInfosForUserWithUIDorEmail: newLogin]
objectForKey: @"c_uid"];
}
}
if ([realUID length])
@@ -431,7 +451,8 @@ _timeValue (NSString *key)
o = [[SOGoUserDefaults alloc] initWithTableURL: SOGoProfileURL
uid: login
fieldName: @"c_defaults"];
fieldName: @"c_defaults"
shouldPropagate: propagateCache];
[o autorelease];
return o;
@@ -443,7 +464,8 @@ _timeValue (NSString *key)
o = [[SOGoUserDefaults alloc] initWithTableURL: SOGoProfileURL
uid: login
fieldName: @"c_settings"];
fieldName: @"c_settings"
shouldPropagate: propagateCache];
[o autorelease];
return o;
@@ -491,12 +513,13 @@ _timeValue (NSString *key)
[[SOGoCache sharedCache] setDefaults: defaults
forLogin: login key: @"defaults"];
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: @"SOGoUserDefaultsHaveLoaded"
object: nil
userInfo: d
deliverImmediately: YES];
if (propagateCache)
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: @"SOGoUserDefaultsHaveLoaded"
object: nil
userInfo: d
deliverImmediately: YES];
}
}
}
@@ -536,12 +559,13 @@ _timeValue (NSString *key)
[d setObject: [SOGoProfileURL absoluteString] forKey: @"url"];
[[SOGoCache sharedCache] setDefaults: settings forLogin: login key: @"settings"];
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: @"SOGoUserSettingsHaveLoaded"
object: nil
userInfo: d
deliverImmediately: YES];
if (propagateCache)
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: @"SOGoUserSettingsHaveLoaded"
object: nil
userInfo: d
deliverImmediately: YES];
}
}
}
+3 -1
View File
@@ -45,6 +45,7 @@
NSString *fieldName;
NSCalendarDate *lastFetch;
NSMutableDictionary *values;
BOOL propagateCache;
struct
{
@@ -56,7 +57,8 @@
- (id) initWithTableURL: (NSURL *) theURL
uid: (NSString *) theUID
fieldName: (NSString *) theFieldName;
fieldName: (NSString *) theFieldName
shouldPropagate: (BOOL) b;
/* value access */
- (void) setValues: (NSDictionary *) theValues;
+11 -8
View File
@@ -1,6 +1,6 @@
/*
Copyright (C) 2005 SKYRIX Software AG
Copyright (C) 2008-2009 Inverse inc.
Copyright (C) 2005 SKYRIX Software AG
This file is part of SOGo.
@@ -47,6 +47,7 @@ static NSString *uidColumnName = @"c_uid";
- (id) initWithTableURL: (NSURL *) theURL
uid: (NSString *) theUID
fieldName: (NSString *) theFieldName
shouldPropagate: (BOOL) b
{
if ((self = [self init]))
{
@@ -57,6 +58,7 @@ static NSString *uidColumnName = @"c_uid";
url = [theURL copy];
uid = [theUID copy];
defFlags.ready = YES;
propagateCache = b;
}
else
{
@@ -304,13 +306,14 @@ static NSString *uidColumnName = @"c_uid";
forLogin: uid
key: ([fieldName isEqualToString: @"c_defaults"] ? @"defaults" : @"settings")];
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: ([fieldName isEqualToString: @"c_defaults"]
? @"SOGoUserDefaultsHaveChanged"
: @"SOGoUserSettingsHaveChanged")
object: nil
userInfo: d
deliverImmediately: YES];
if (propagateCache)
[(NSDistributedNotificationCenter *)[NSDistributedNotificationCenter defaultCenter]
postNotificationName: ([fieldName isEqualToString: @"c_defaults"]
? @"SOGoUserDefaultsHaveChanged"
: @"SOGoUserSettingsHaveChanged")
object: nil
userInfo: d
deliverImmediately: YES];
}
return rc;
-45
View File
@@ -1,45 +0,0 @@
2005-07-15 Helge Hess <helge.hess@opengroupware.org>
* SOGoSieveScriptObject.m: fixed a gcc 4.0 warning (v0.9.11)
2005-07-11 Helge Hess <helge.hess@opengroupware.org>
* SOGoSieveBaseObject.[hm]: removed unused -imap4Client method
(v0.9.10)
* SOGoSieveBaseObject.m: updated to use new NGImap4 API (v0.9.9)
2005-02-10 Helge Hess <helge.hess@opengroupware.org>
* SOGoSieveScriptObject.m: fixed a compile warning on MacOSX (v0.9.8)
2005-02-06 Helge Hess <helge.hess@opengroupware.org>
* SOGoSieveScriptObject.m, SOGoSieveScriptsFolder.m: assigned
folder/message class (v0.9.7)
2005-01-30 Helge Hess <helge.hess@opengroupware.org>
* SOGoSieveScriptObject.m: implemented Sieve script upload (v0.9.6)
* some work on script upload (v0.9.5)
2004-12-03 Helge Hess <helge.hess@skyrix.com>
* SOGoSieveScriptObject.m, SOGoSieveScriptsFolder.m: added script
activation action (v0.9.4)
* v0.9.3
* SOGoSieveScriptObject.m: added ability to fetch content
* SOGoSieveScriptsFolder.m: added ability to lookup/construct
SOGoSieveScriptObject's
2004-11-28 Helge Hess <helge.hess@skyrix.com>
* added list capability, does not work with 'dotted' logins? (v0.9.2)
2004-11-27 Helge Hess <helge.hess@skyrix.com>
* started Sieve product