Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117753258
bonnie.po
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
31 KB
Referenced Files
None
Subscribers
None
bonnie.po
View Options
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2013, Jeroen van Meeuwen
# This file is distributed under the same license as the Kolab Groupware package.
#
# Translators:
msgid
""
msgstr
""
"
Project-Id-Version:
Kolab Documentation\n"
"
Report-Msgid-Bugs-To:
\n"
"
POT-Creation-Date:
2014-11-28 13:30+1300\n"
"
PO-Revision-Date:
2014-11-28 00:36+0000\n"
"
Last-Translator:
FULL NAME <EMAIL@ADDRESS>\n"
"
Language-Team:
German (http://www.transifex.com/projects/p/kolab-"
"documentation/language/de/)\n"
"
MIME-Version:
1.0\n"
"
Content-Type:
text/plain; charset=UTF-8\n"
"
Content-Transfer-Encoding:
8bit\n"
"
Language:
de\n"
"
Plural-Forms:
nplurals=2; plural=(n != 1);\n"
#: ../../source/architecture-and-design/bonnie.rst:44
msgid
"Archival, Backup, Data-Loss Prevention and e-Discovery"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:46
msgid
""
"Different challenges could potentially be resolved by implementing a single "
"solution, providing each of the functional aspects in an integrated fashion."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:50
msgid
"A brief overview of the functional components:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:52
msgid
"**Archival**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:54
msgid
""
"Archival is the retention of business records, in a fashion that allows them "
"to be used as evidence."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:57
msgid
""
"Many archival solutions only include actual communications that descend over "
"an SMTP server that can keep the archival solution in the loop."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:61
msgid
"**Backup**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:63
msgid
""
"Backup is the lesser part to the ability to restore, a frequently occuring, "
"everyday event."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:66
msgid
""
"It is often requested backup happens on a per-mailbox or even per-message "
"level."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:69
msgid
"**Data-Loss Prevention**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:71
msgid
"**e-Discovery**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:73
msgid
""
"Maintenance of a changelog on object entries that can change state (email "
"read/deleted), or are volatile (changes to an appointment)."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:77
msgid
"Functional Requirements"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:79
msgid
"**Audit Trail**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:81
msgid
"**Item Changelog**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:83
msgid
"A per-item changelog, of whom changed what, to what item, and when."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:85
msgid
"**Queue ID Chasing**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:87
msgid
""
"Chase so-called Queue IDs for messages being exchanged with the outside "
"world, and internally between systems throughout the deployment."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:92
msgid
"Functional Design"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:95
msgid
"Functional Components"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:97
msgid
"**Dealer**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:99
msgid
""
"A dealer is a script executed once for each event notification, used to "
"receive the initial event notification from Cyrus IMAP 2.5, and broadcast "
"the event on to the message bus or queue."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:103
msgid
""
"The dealer awaits confirmation of a broker having received the event "
"notification."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:106
msgid
"**Broker**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:108
msgid
""
"A broker retrieves the notifications from the message bus or queue, and "
"acknowledges having received the event notification."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:111
msgid
""
"The event notification is put in to a persistent queue, awaiting workers to "
"become ready for handling the event notification."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:114
msgid
"**Worker**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:116
msgid
""
"The worker is where the processing happens -- one can have as many workers "
"as necessary, or as few as required."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:119
msgid
""
"The worker announces its presence to the broker, which subsequently assigns "
"jobs to the worker [#]_."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:122
msgid
""
"The worker may require additional information to be obtained, such as the "
"message payload [#]_."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:125
msgid
"**Collector**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:127
msgid
""
"The collector daemon is an optional component subscribing to requests for "
"additional information that can only reliably be obtained from a Cyrus IMAP "
"backend spool directory."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:131
msgid
"**System Log Centralization**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:133
msgid
""
"The centralization of system log files such as :file:`/var/log/maillog` aids "
"in tracing the exchange of messages as they descend across infrastructure, "
"and helps in associating, for example, a Login event to an IMAP frontend "
"with the corresponding web server session [#]_."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:140
msgid
"Operational Requirements"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:195
msgid
"Broker -- Worker Interaction"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:197
msgid
"When the broker starts up, it creates three listener sockets:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:199
msgid
"A dealer router,"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:201
msgid
""
"used for incoming event notifications from IMAP servers passed through the "
"Dealer component."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:203
msgid
"A worker router,"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:205
msgid
"used to exchange job information and notification payload with workers."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:207
msgid
"A control router,"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:209
msgid
"used to exchange worker and job state information."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:211
msgid
""
"When the worker starts, it connects to both the control router and worker "
"router."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:214
msgid
""
"Using the controller channel, the worker let's the broker know it is ready "
"to receive a job."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:230
msgid
"The broker adds the worker to its list of workers."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:232
msgid
""
"The broker will continue to receive occasional messages from the worker to "
"allow it to determine whether or not it is still available."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:236
msgid
""
"The broker, maintaining a queue of jobs to assign to workers, lets the "
"worker know about a newly assigned job -- again using the controller channel."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:252
msgid
""
"The worker internally triggers the retrieval of the job using the worker "
"channel."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:269
msgid
""
"The worker is now in state BUSY and must respond within a set interval or "
"the broker will set the job back in to PENDING state, and mark the worker as "
"unavailable."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:276
msgid
"Worker Design"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:278
msgid
""
"The worker is built out of plugins, that subscribe to an event type, where "
"event types available are listed in :ref:`and-bonnie-event-notification-"
"types`."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:282
msgid
""
"Each event type individually may require handling -- for example, a logout "
"event is associated with the corresponding login event."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:285
msgid
"The following components will be pluggable and configurable:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:287
msgid
""
"subscribing to a message bus or queue, as ``inputs``, initially including "
"only ``zmq``."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:290
msgid
""
"event handling, as ``handlers``, initially including only one handler per "
"event notification and higher level processors ``changelog`` and "
"``freebusy`` to detect changes in groupwware objects."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:295
msgid
""
"result output, as ``output``, initially including only ``elasticsearch``."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:298
msgid
""
"storage for transactions pending or aggregated meta information, as "
"``storage``, initialy including only ``elasticsearch``."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:301
msgid
""
"Assuming an installation path of :file:`bonnie/worker/`, the following "
"depicts its tree layout:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:319
msgid
""
"To take the changelog and freebusy handlers as an example, the following "
"event notification types may need to be subscribed to."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:322
#: ../../source/architecture-and-design/bonnie.rst:386
msgid
":ref:`and-bonnie-event-mailboxcreate`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:324
msgid
"A new mailbox that is an event folder may have been created."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:326
msgid
""
"The initial event is handled by the base handler for the event notification "
"type."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:329
msgid
""
"Passing this event right through to the changelog handler would make it "
"require obtaining the ``/shared/vendor/kolab/folder-type`` and/or ``/private/"
"vendor/kolab/folder-type`` metadata value(s) in order to determine whether "
"the folder indeed is an event folder."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:334
msgid
""
"However, the setting of metadata is an event separate from the mailbox "
"creation, and at the moment the handler receives the initial event "
"notification, the metadata may not have been set yet."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:340
msgid
""
"At the time of this writing, no separate event notification for setting "
"folder-level METADATA exists."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:343
#: ../../source/architecture-and-design/bonnie.rst:387
msgid
":ref:`and-bonnie-event-mailboxdelete`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:345
msgid
"A mailbox that was an event folder may have been deleted."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:347
#: ../../source/architecture-and-design/bonnie.rst:388
msgid
":ref:`and-bonnie-event-mailboxrename`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:349
msgid
"A mailbox that was an event folder may have been renamed."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:351
#: ../../source/architecture-and-design/bonnie.rst:391
msgid
":ref:`and-bonnie-event-messageappend`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:353
msgid
""
"Only applicable to event folders, this depicts a new or updated version of "
"an existing event has been appended."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:356
#: ../../source/architecture-and-design/bonnie.rst:392
msgid
":ref:`and-bonnie-event-messagecopy`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:358
msgid
""
"One or more events may have been copied from an event folder into another "
"event folder."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:361
#: ../../source/architecture-and-design/bonnie.rst:395
msgid
":ref:`and-bonnie-event-messagemove`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:363
msgid
""
"One or more events may have been moved from one event folder into another "
"event folder."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:368
msgid
""
"Plugins that are interested in the vendor/kolab/folder-type METADATA "
"value(s) of a folder can reply with additional commands for the collector "
"component which will put the current job back into the PENDING state and "
"send it through the handler again once the requested information was added "
"to the notification payload."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:378
msgid
"Event Notification Types"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:380
msgid
"Event types available include, in alphabetical order:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:382
msgid
":ref:`and-bonnie-event-flagsclear`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:383
msgid
":ref:`and-bonnie-event-flagsset`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:384
msgid
":ref:`and-bonnie-event-login`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:385
msgid
":ref:`and-bonnie-event-logout`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:389
msgid
":ref:`and-bonnie-event-mailboxsubscribe`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:390
msgid
":ref:`and-bonnie-event-mailboxunsubscribe`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:393
msgid
":ref:`and-bonnie-event-messageexpire`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:394
msgid
":ref:`and-bonnie-event-messageexpunge`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:396
msgid
":ref:`and-bonnie-event-messagenew`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:397
msgid
":ref:`and-bonnie-event-messageread`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:398
msgid
":ref:`and-bonnie-event-messagetrash`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:399
msgid
":ref:`and-bonnie-event-quotaexceeded`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:400
msgid
":ref:`and-bonnie-event-quotawithin`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:401
msgid
":ref:`and-bonnie-event-quotachange`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:406
msgid
"FlagsClear"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:408
msgid
""
"This event notification type indicates one or more messages have had its "
"flags cleared."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:411
msgid
""
"Flags having been cleared may include ``\\Seen``, but also ``\\Deleted``, "
"and any custom other flag on an IMAP message."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:414
#: ../../source/architecture-and-design/bonnie.rst:424
#: ../../source/architecture-and-design/bonnie.rst:444
#: ../../source/architecture-and-design/bonnie.rst:453
msgid
"Subscribe to this notification for:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:416
#: ../../source/architecture-and-design/bonnie.rst:426
msgid
"Backup/Restore"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:417
#: ../../source/architecture-and-design/bonnie.rst:427
#: ../../source/architecture-and-design/bonnie.rst:446
#: ../../source/architecture-and-design/bonnie.rst:455
msgid
"e-Discovery"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:422
msgid
"FlagsSet"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:432
msgid
"Login"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:434
msgid
"Additional information to obtain for this event notification type:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:436
msgid
"The persistent unique attribute for the user object."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:437
msgid
"Additional LDAP object attributes."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:439
msgid
"Information storage:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:441
msgid
""
"This event needs to be stored until it can be associated with a :ref:`and-"
"bonnie-event-logout` event notification type."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:451
msgid
"Logout"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:460
msgid
"MailboxCreate"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:462
msgid
"Additional information to obtain"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:467
msgid
"MailboxDelete"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:472
msgid
"MailboxRename"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:477
msgid
"MailboxSubscribe"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:482
msgid
"MailboxUnsubscribe"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:487
msgid
"MessageAppend"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:492
msgid
"MessageCopy"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:497
msgid
"MessageExpire"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:502
msgid
"MessageExpunge"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:507
msgid
"MessageMove"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:512
msgid
"MessageNew"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:517
msgid
"MessageRead"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:522
msgid
"MessageTrash"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:527
msgid
"QuotaExceeded"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:532
msgid
"QuotaWithin"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:537
msgid
"QuotaChange"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:540
msgid
"An Integrated Solution"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:542
msgid
"The following aspects of an environment need to be tracked;"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:544
msgid
""
"Logs such as ``/var/log/maillog``, which contain the information about "
"exchange of messages between internal and external systems and software "
"(Postfix/LMTP -> Cyrus IMAP)."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:548
msgid
"Cyrus IMAP 2.5 Events broadcasted."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:585
msgid
""
"In this picture, IMAP (using Cyrus IMAP 2.5) issues so-called :term:`event "
"notifications` to a message bus, that can be picked up by the appropriate "
"subscribers."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:589
msgid
""
"Note that the subscribers are different components to plug in and enable, or "
"leave out -- not everyone has a need for Archival and e-Discovery "
"capabilities."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:592
msgid
""
"As such, a component plugged in could announce its presence, and start "
"working backwards as well as start collecting the relevant subsets of data "
"in a retro- active manner."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:618
msgid
""
"To allow scaling, the intermediate medium is likely a message bus such as "
"ActiveMQ, AMQP, ZeroMQ, etc."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:621
msgid
""
"Between Cyrus IMAP 2.5 and the message bus must be a thin application that "
"is capable of:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:624
msgid
"Retrieving the payload of the message(s) involved if necessary,"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:625
msgid
"Submit the remainder to a message bus."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:627
msgid
"This is because Cyrus IMAP 2.5:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:629
msgid
""
"at the time of this writing, does not support submitting the event "
"notifications to a message bus directly [#]_,"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:632
msgid
""
"the size of the message payload is likely to exceed the maximum size of an "
"event notification datagram [#]_."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:635
msgid
""
"Processing of inbound messages must happen real-time or near-time, but "
"should also be post-processed:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:638
msgid
""
"e-Discovery requires post-processing to sufficiently associate the message "
"in its context, and contains an audit trail."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:641
msgid
""
"Archival and Backup require payload, and may also use post-processing to "
"facilitate Restore."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:645
msgid
"Event Notifications"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:647
msgid
"The following events trigger notifications:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:682
msgid
""
"In addition, Kolab Groupware makes available the following event "
"
notifications:
"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:692
msgid
"This means the following event notifications are lacking:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:694
msgid
"METADATA change notification"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:696
msgid
""
"It is possible to run Cyrus IMAP 2.5 notifications in a blocking fashion, "
"allowing the (post-)processing operation(s) to complete in full before the "
"IMAP session is allowed to continue / confirms the modification/mutation."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:706
msgid
"Queries and Information Distribution"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:709
msgid
"ZeroMQ"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:733
msgid
"Dealer <-> Broker <-> Worker Message Exchange"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:735
msgid
""
"Modelled after an article about tracking worker status at http://rfc.zeromq."
"org/spec:14"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:767
msgid
"**Dealer - Broker Concerns**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:769
msgid
""
"The dealer is queuing without a high-water mark and without a local swap "
"defined. It is only after the broker is available this queue is flushed. "
"This could introduce a loss of notifications."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:773
msgid
""
"The dealer is not awaiting confirmation in the sense that it will replay the "
"submission if needed, such as after the dealer has been restarted. This too "
"could introduce a loss of notifications."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:777
msgid
""
"The dealer is certainly not awaiting confirmation from any worker that the "
"notification had been submitted to for handling."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:780
msgid
""
"The dealer is a sub-process of the cyrus-imapd service, and should this "
"service be restarted, is not handling such signals to preserve state."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:783
msgid
"**Broker Concerns**"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:785
msgid
""
"The broker is keeping the job queue in memory for fast updates and responses."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:788
msgid
""
"The broker component shall periodically dump the job queue and registered "
"worker and collector connections into a persistant storage layer which has "
"yet to be defined."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:877
msgid
"Storage Layout and Schema"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:880
msgid
"Logging Event Notifications"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:882
msgid
""
"Logging event notification into the storage backend (currently "
"elasticsearch) is inspired by logstash and writes to daily rotated indexes "
"``logstash-Y-m-d`` using document type ``logs``. The basic schema of an "
"event notification contains the following attributes:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:903
msgid
""
"The very minimal attributes required for an event notification entry are"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:905
msgid
"``@timestamp``: The UTC time when the event was logged"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:906
msgid
"``@version``: Bonnie data API version"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:907
msgid
"``event``: The Cyrus IMAP event"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:908
msgid
""
"``service``: \"imap\" denoting that this logstash entry represents an IMAP "
"event notification"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:909
msgid
"``session_id``: The Cyrus IMAP session identifier"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:910
msgid
"``user``: The authenticated user who triggered the event"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:912
msgid
""
"Depending on the event type, additional attributes containg message IDs, "
"message headers or payload, flag names or ACL. For message or mailbox based "
"events the ``uri`` attribute is added and refers to the mailbox/folder the "
"operation was executed on."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:916
msgid
""
"From the basic attributes, some relations to metadata (see :ref:`and-bonnie-"
"storing-metadata`) are extracted and the logstash entry is extended with "
"identifiers referring to user and folder metadata entries:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:920
msgid
""
"``folder_uniqueid``: The gobally unique folder identifer of a mailbox folder "
"from IMAP."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:922
msgid
""
"``folder_id``: Links to a folder entry representing the current state of a "
"mailbox folder at the time the event occurred. This includes folder name, "
"metadata and access rights."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:925
msgid
""
"``user_id``: Unique identifier (from the LDAP ``nsuniqueid`` attribute) of "
"the use who executed the logged operation in IMAP."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:932
msgid
"Storing Metadata"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:934
msgid
""
"Metadata records are used to amend log data with more complete and "
"persistent information of rather volatile attributes like username and "
"mailbox URIs issued by Cyrus IMAP 2.5 notifications. For example, the same "
"physical human being (jane.gi@example.org) could change email addresses for "
"any of many unrelated causes (jane.doe@example.org) and IMAP folders can be "
"renamed at any given time."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:941
msgid
"Users"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:943
msgid
"Stored in ``objects/user`` with the following schema:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:954
msgid
""
"The ``nsuniqueid`` attribute from the LDAP is used as the primary key/id of "
"user records."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:958
msgid
"Folders"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:960
msgid
"Stored in ``objects/folder`` with the following schema:"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:989
msgid
""
"The primary key/id of folder records is computed as a checksum of all "
"attributes and metadata entries considered relevant for the \"state\" of a "
"folder. This means that a new folder record is created when ACLs or folder "
"type metadata is changed."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:994
msgid
""
"The keys of ``acl`` entries provided by the Collector module from IMAP data "
"are translated into static user identifers."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:999
msgid
""
"In order to compute the folder identifier, the complete set of folder "
"information like metadata and acl has to be pulled from IMAP using a "
"collector job on every single event notification. Once Cyrus IMAP supports "
"notifications for metadata changes (`#3698 <https://issues.kolab.org/"
"show_bug.cgi?id=3698>`_), this could be skipped and the folder metadata "
"records can be updated on specific events only."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1009
msgid
"Object Relations"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1011
msgid
""
"Although elasticsearch isn't a relational database, the Bonnie storage model "
"implies a simple object relation model between logs and metadata."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1052
msgid
"Accessing the Collected Data"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1054
msgid
""
"Some of the collected data, primarily changelogs of groupware objects, shall "
"be made available to Kolab clients to display the history of a certain "
"object or creation/last-modification information including the according "
"usernames which is not stored in the Kolab data format itself."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1059
msgid
""
"A dedicated web service provides access to the archived data through an API "
"and thereby translates the raw information from the storage backend into "
"more concrete groupware object related data."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1063
msgid
"See the :ref:`and-bonnie-client-api` for details."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1067
msgid
"Footnotes"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1070
msgid
""
"The worker shall be a multi-threaded daemon (using multiprocessing.Pool), "
"that is a pluggable application."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1075
msgid
":ref:`and-bonnie-worker-design`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1076
msgid
":ref:`and-bonnie-broker-worker-interaction`"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1080
msgid
""
"The worker shall determine based on functional features enabled, and "
"existing data, whether or not it requires a copy of the original message "
"payload."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1086
msgid
""
"It is assumed we'll be working with RSyslog, Logstash and Elastic Search."
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1091
msgid
""
"
http:
//git.cyrusimap.org/cyrus-imapd/tree/notifyd?"
"id=8bdaeae3f891ba2a748ba91a4c324ee11346e292"
msgstr
""
#: ../../source/architecture-and-design/bonnie.rst:1095
msgid
""
"Needs further investigation, for the actual maximum size of a datagram may "
"have ceased to be hard-coded. Yet, to submit a large message through the "
"notification daemon while the notification target is eligible to pick up the "
"message contents from the filesystem seems like duplication."
msgstr
""
File Metadata
Details
Attached
Mime Type
text/x-po
Expires
Sat, Apr 4, 5:18 AM (5 d, 14 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18822676
Default Alt Text
bonnie.po (31 KB)
Attached To
Mode
rD docs
Attached
Detach File
Event Timeline