mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-28 06:35:26 +00:00
See ChangeLog
Monotone-Parent: 1e01e7055612c8aa2f2c0e9151035ef348604b8e Monotone-Revision: ab8b4a7a66ffdb6688f466f2cc301caf1fc40a66 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2010-09-24T19:13:02 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,178 +0,0 @@
|
||||
SOGO Mailer UI
|
||||
==============
|
||||
|
||||
- own (Thunderbird styled) frame
|
||||
- component for tree
|
||||
|
||||
TODO
|
||||
====
|
||||
- a lot ;->
|
||||
- SOPE: does not recognize <input type="button"> !
|
||||
|
||||
Components
|
||||
==========
|
||||
UIxMailAccountView.wox
|
||||
UIxMailAccountsView.wox
|
||||
UIxMailEditor.wox
|
||||
UIxMailToSelection.wox
|
||||
UIxMailListView.wox
|
||||
UIxMailMainFrame.wox
|
||||
UIxMailTree.wox
|
||||
UIxMailView.wox
|
||||
|
||||
Class Hierarchy
|
||||
===============
|
||||
|
||||
[NSObject]
|
||||
MailerUIProduct
|
||||
[WOComponent]
|
||||
[SoComponent]
|
||||
<UIxComponent>
|
||||
UIxFilterList
|
||||
UIxMailAccountView
|
||||
UIxMailAccountsView
|
||||
UIxMailAddressbook
|
||||
UIxMailEditor
|
||||
(Scheduler_Privates)
|
||||
UIxMailListView
|
||||
UIxMailMainFrame
|
||||
UIxMailToSelection
|
||||
UIxMailToolbar
|
||||
UIxMailTree
|
||||
UIxMailView
|
||||
UIxMailSortableTableHeader
|
||||
UIxMailEditorAttach.m
|
||||
UIxMailFilterPanel
|
||||
UIxMailMoveToPopUp
|
||||
UIxMailWindowCloser
|
||||
[WODirectAction]
|
||||
UIxMailEditorAction
|
||||
UIxMailForwardAction
|
||||
UIxMailReplyAction
|
||||
[NSFormatter]
|
||||
UIxMailFormatter
|
||||
UIxMailDateFormatter
|
||||
UIxSubjectFormatter
|
||||
UIxEnvelopeAddressFormatter
|
||||
UIxMailTreeBlock
|
||||
[WOContext]
|
||||
(UIxMailer)
|
||||
|
||||
Defaults
|
||||
========
|
||||
|
||||
SOGoShowInternetMarker - bool
|
||||
- show a marker in the editor that the request is from the outside
|
||||
|
||||
SOGoInternetDetectQualifier - string
|
||||
- an EOQualifier to detect whether a set of HTTP headers is from the outside,
|
||||
eg: "NOT (minequprovenance = 'intranet')"
|
||||
-SOGoInternetDetectQualifier '"NOT (minequprovenance = \"intranet\")"'
|
||||
Note: all header field names are lowercase
|
||||
|
||||
SOGoInternetMailHeaders - dictionary
|
||||
- if a request was detected as coming from the Internet, add the mail headers
|
||||
specified in this default
|
||||
eg: { received = "sogo depuis internet"; }
|
||||
-SOGoInternetMailHeaders "{received=\"sogo depuis internet\"; }"
|
||||
|
||||
SOGoMailEditorKeepTmpFile
|
||||
- for debugging, if a mail was send, keep the file containing the MIME in the
|
||||
temporary directory for review instead of deleting it
|
||||
|
||||
SOGoMailTreeRootClass
|
||||
- configure the root class of the mail tree, eg:
|
||||
- SOGoMailAccounts - standard view, show all IMAP4 accounts
|
||||
- SOGoMailAccount - just show the standard mail account (tree at Inbox!)
|
||||
- SoApplication - stop at the application object (show all folders)
|
||||
|
||||
SOGoDontUseETagsForMailViewer - YES|NO
|
||||
- when enable SOGo won't tag mail viewers with an entity-tag (HTTP etag)
|
||||
- the etag ensures that the viewer will only get resend to the browser when
|
||||
it changed. In the case of IMAP4 this is never because URLs are one-time
|
||||
IDs in the IMAP4 server and messages cannot be edited in IMAP4
|
||||
- use the default for debugging (otherwise you won't see changes ...)
|
||||
|
||||
SOGoUseLocationBasedSentFolder - YES | NO
|
||||
- when enable SOGo looks up the Sent folder by traversing the lookup-path
|
||||
until it finds a SOGoMailAccount object and then asks the account for the
|
||||
Sent folder.
|
||||
|
||||
Notes
|
||||
=====
|
||||
|
||||
- we might want to bind the content viewers as SOPE methods to the mail class?
|
||||
eg "viewTextPlain"
|
||||
- this would not return a WOComponent, but a SoPageInvocation
|
||||
- caching might be more difficult
|
||||
- some 'reuse component' support in SoPageInvocation for stateless
|
||||
components?
|
||||
- watch nested calls
|
||||
- for this we would need to add support for embedded calling of SOPE methods
|
||||
<var:component method="viewTextPlain" /> ?
|
||||
|
||||
Bodystructures
|
||||
==============
|
||||
|
||||
Multiparts: multipart/MIXED, multipart/SIGNED
|
||||
|
||||
Feature: we fetch all plain/text bodies in a single run by traversing the
|
||||
body structure.
|
||||
|
||||
Sample Bodystructure (GPG):
|
||||
---snip---
|
||||
{
|
||||
parts = (
|
||||
{
|
||||
bodyId = "";
|
||||
description = "";
|
||||
encoding = "QUOTED-PRINTABLE";
|
||||
lines = 22;
|
||||
parameterList = {};
|
||||
size = 731;
|
||||
subtype = PLAIN;
|
||||
type = text;
|
||||
},
|
||||
{
|
||||
bodyId = "";
|
||||
description = "Esta parte del mensaje";
|
||||
encoding = 7BIT;
|
||||
parameterList = {name = "signature.asc"; };
|
||||
size = 196;
|
||||
subtype = "PGP-SIGNATURE";
|
||||
type = application;
|
||||
}
|
||||
);
|
||||
subtype = SIGNED;
|
||||
type = multipart;
|
||||
}
|
||||
---snap---
|
||||
|
||||
Sample Body Structure (Image):
|
||||
---snip---
|
||||
{
|
||||
parts = (
|
||||
{
|
||||
bodyId = "";
|
||||
description = "";
|
||||
encoding = BASE64;
|
||||
parameterList = {name = "PoseChau.jpg"; "x-unix-mode" = 0644; };
|
||||
size = 58370;
|
||||
subtype = JPEG;
|
||||
type = image;
|
||||
},
|
||||
{
|
||||
bodyId = "";
|
||||
description = "";
|
||||
encoding = 7BIT;
|
||||
lines = 2;
|
||||
parameterList = {charset = "US-ASCII"; format = flowed; };
|
||||
size = 57;
|
||||
subtype = PLAIN;
|
||||
type = text;
|
||||
}
|
||||
);
|
||||
subtype = MIXED;
|
||||
type = multipart;
|
||||
}
|
||||
---snap---
|
||||
@@ -1,4 +0,0 @@
|
||||
MainUI
|
||||
======
|
||||
|
||||
TODO: document
|
||||
Reference in New Issue
Block a user