From 51985bc67eea4dbea36b2b453eb9f865a64fe195 Mon Sep 17 00:00:00 2001 From: Thorsten Eckel Date: Mon, 12 Dec 2016 10:34:07 +0100 Subject: [PATCH] Fixed issue #520 - OTRS import: Customer user is not overtaken from first article and into created_by_id. --- lib/import/otrs/article_customer.rb | 52 +- lib/import/otrs/article_customer_factory.rb | 6 +- lib/import/otrs/ticket.rb | 23 +- .../import/otrs/ticket/unknown_customer.json | 1436 +++++++++++++++++ spec/import/otrs/article_customer_sepc.rb | 6 - spec/import/otrs/ticket_spec.rb | 41 +- 6 files changed, 1520 insertions(+), 44 deletions(-) create mode 100644 spec/fixtures/import/otrs/ticket/unknown_customer.json diff --git a/lib/import/otrs/article_customer.rb b/lib/import/otrs/article_customer.rb index 330ca164a..4d63e0a42 100644 --- a/lib/import/otrs/article_customer.rb +++ b/lib/import/otrs/article_customer.rb @@ -4,44 +4,44 @@ module Import include Import::Helper def initialize(article) - user = import(article) - return if !user - article['created_by_id'] = user.id + import(article) rescue Exceptions::UnprocessableEntity => e log "ERROR: Can't extract customer from Article #{article[:id]}" end + class << self + + def find(article) + email = extract_email(article['From']) + user = ::User.find_by(email: email) + user ||= ::User.find_by(login: email) + user + end + + def extract_email(from) + Mail::Address.new(from).address + rescue + return from if from !~ /<\s*([^\s]+)/ + $1 + end + end + private def import(article) - find_user_or_create(article) + find_or_create(article) end - def extract_email(from) - Mail::Address.new(from).address - rescue - return from if from !~ /<\s*([^\s]+)/ - $1 + def find_or_create(article) + return if self.class.find(article) + create(article) end - def find_user_or_create(article) - user = user_found?(article) - return user if user - create_user(article) - end - - def user_found?(article) - email = extract_email(article['From']) - user = ::User.find_by(email: email) - user ||= ::User.find_by(login: email) - user - end - - def create_user(article) - email = extract_email(article['From']) + def create(article) + email = self.class.extract_email(article['From']) ::User.create( login: email, - firstname: extract_display_name(article['from']), + firstname: extract_display_name(article['From']), lastname: '', email: email, password: '', @@ -53,7 +53,7 @@ module Import rescue ActiveRecord::RecordNotUnique log "User #{email} was handled by another thread, taking this." - return if user_found?(article) + return if self.class.find(article) log "User #{email} wasn't created sleep and retry." sleep rand 3 diff --git a/lib/import/otrs/article_customer_factory.rb b/lib/import/otrs/article_customer_factory.rb index 1ab64fe58..95bc24db9 100644 --- a/lib/import/otrs/article_customer_factory.rb +++ b/lib/import/otrs/article_customer_factory.rb @@ -4,9 +4,9 @@ module Import extend Import::Factory def skip?(record) - return true if record['sender'] != 'customer' - return true if record['created_by_id'].to_i != 1 - return true if record['from'].empty? + return true if record['SenderType'] != 'customer' + return true if record['CreatedBy'].to_i != 1 + return true if record['From'].empty? false end end diff --git a/lib/import/otrs/ticket.rb b/lib/import/otrs/ticket.rb index 605b89f51..4c40666ca 100644 --- a/lib/import/otrs/ticket.rb +++ b/lib/import/otrs/ticket.rb @@ -9,7 +9,6 @@ module Import MAPPING = { Changed: :updated_at, Created: :created_at, - CreateBy: :created_by_id, TicketNumber: :number, QueueID: :group_id, StateID: :state_id, @@ -79,7 +78,7 @@ module Import { owner_id: owner_id(ticket), customer_id: customer_id(ticket), - created_by_id: 1, + created_by_id: created_by_id(ticket), updated_by_id: 1, } .merge(from_mapping(ticket)) @@ -119,17 +118,24 @@ module Import customer = ticket['CustomerUserID'] return default if !customer - user = user_lookup(customer) + user = user_lookup(customer) return user.id if user first_customer_id = first_customer_id(ticket['Articles']) - return first_customer_id if first_customer_id default end + def created_by_id(ticket) + default = 1 + return ticket['CreateBy'] if ticket['CreateBy'].to_i != default + return default if ticket['Articles'].blank? + return default if ticket['Articles'].first['SenderType'] != 'customer' + customer_id(ticket) + end + def user_lookup(login) ::User.find_by(login: login.downcase) end @@ -137,10 +143,11 @@ module Import def first_customer_id(articles) user_id = nil articles.each { |article| - next if article['sender'] != 'customer' - next if article['from'].empty? - - user_id = article['created_by_id'].to_i + next if article['SenderType'] != 'customer' + next if article['From'].empty? + user = Import::OTRS::ArticleCustomer.find(article) + break if !user + user_id = user.id break } user_id diff --git a/spec/fixtures/import/otrs/ticket/unknown_customer.json b/spec/fixtures/import/otrs/ticket/unknown_customer.json new file mode 100644 index 000000000..d6010183b --- /dev/null +++ b/spec/fixtures/import/otrs/ticket/unknown_customer.json @@ -0,0 +1,1436 @@ +{ + "Age": 75685896, + "PriorityID": "3", + "ServiceID": "", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "Created": "2014-07-17 14:29:43", + "DynamicField_TicketFreeText11": null, + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "QueueID": "2", + "CreateBy": "1", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "EscalationResponseTime": "0", + "UnlockTimeout": "0", + "DynamicField_ProcessManagementProcessID": null, + "ArchiveFlag": "n", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "DynamicField_CustomerLocation": null, + "DynamicField_OpenExchangeTN": null, + "DynamicField_SugarCRMRemoteID": "422", + "Type": "Incident", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "ResponsibleID": "1", + "ChangeBy": "1", + "DynamicField_Combine": "466", + "RealTillTimeNotUsed": "0", + "GroupID": "1", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "Priority": "3 normal", + "DynamicField_SugarCRMCompanySelectedID": "409", + "History": [ + { + "HistoryID": "7468", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:43", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%2014071754002471%%Raw%%3 normal%%new%%540" + }, + { + "HistoryID": "7469", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:43", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "ServiceUpdate", + "TypeID": "1", + "HistoryTypeID": "38", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%NULL%%%%NULL%%" + }, + { + "HistoryID": "7470", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:43", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "SLAUpdate", + "TypeID": "1", + "HistoryTypeID": "39", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%NULL%%%%NULL%%" + }, + { + "HistoryID": "7471", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:43", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "CustomerUpdate", + "TypeID": "1", + "HistoryTypeID": "21", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%CustomerID=606;CustomerUser=237@company-support.com;" + }, + { + "HistoryID": "7472", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:43", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2695", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7473", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2696", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7474", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2697", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7475", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2698", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7476", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2699", + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7477", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2700", + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7478", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2701", + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7479", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2702", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7480", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2703", + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7481", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "NewTicket", + "TypeID": "1", + "HistoryTypeID": "1", + "ArticleID": "2704", + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "Some free text!" + }, + { + "HistoryID": "7482", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%FieldName%%Vertriebsweg%%Value%%347" + }, + { + "HistoryID": "7483", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "%%FieldName%%TETest%%Value%%114" + }, + { + "HistoryID": "7484", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%FieldName%%SugarCRMRemoteID%%Value%%422" + }, + { + "HistoryID": "7485", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "%%FieldName%%SugarCRMCompanySelectedID%%Value%%409" + }, + { + "HistoryID": "7486", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "%%FieldName%%SugarCRMCompanySelection%%Value%%454" + }, + { + "HistoryID": "7487", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%FieldName%%Combine%%Value%%466" + }, + { + "HistoryID": "7488", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "1", + "TicketID": "540", + "Name": "%%FieldName%%TopicID%%Value%%70" + }, + { + "HistoryID": "7489", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "%%FieldName%%OpenExchangeTicketNumber%%Value%%471" + }, + { + "HistoryID": "7490", + "PriorityID": "3", + "CreateTime": "2014-07-17 14:29:44", + "OwnerID": "1", + "QueueID": "2", + "HistoryType": "TicketDynamicFieldUpdate", + "TypeID": "1", + "HistoryTypeID": "28", + "ArticleID": 0, + "StateID": "1", + "CreateBy": "2", + "TicketID": "540", + "Name": "%%FieldName%%SWICAHostname%%Value%%177" + } + ], + "UntilTime": 0, + "EscalationUpdateTime": "0", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "State": "new", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "DynamicField_Department": null, + "Articles": [ + { + "CcRealname": "590@example-support.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "here are some other lines with what ever on information\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nalal \t lala\nhere are some other lines with what ever on information\nRepeating thoughts and actions is an essential part of learning. \nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nalal \t lala\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\n fall, which are the warmest months of the year. Due to its sharp topography\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nThe goal of invariant sections, ever since the 80s when we first made the GNU\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nand we go an very long way to home\nThe combination of cold ocean water and the high heat of the California mainland create\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nhere are some other lines with what ever on information\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\n\n\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nany subject matter itself. While the Document itself is wholly editable\nand we go an very long way to home\n fall, which are the warmest months of the year. Due to its sharp topography\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\n\nLocation of the City and County of San Francisco, California\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nsure they could not be removed. Specifically, to make sure that distributors\nsome body alalal\nalal \t lala\nhere are some other lines with what ever on information\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\n\n\nsure they could not be removed. Specifically, to make sure that distributors\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685896, + "TicketFreeKey11": null, + "ArticleID": "2695", + "Created": "2014-07-17 14:29:43", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "590@example-support.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600183", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Do not get out of your house!", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "974@slow-company-example-support.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "974@slow-company-example-support.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "458@company-sales.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "458@company-sales.com" + }, + { + "CcRealname": "251@company-support.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "is fully formed. The speed at which a pathway is formed depends on the individual, but \nand we go an very long way to home\nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nRepeating thoughts and actions is an essential part of learning. \nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nManifesto an invariant section in the Emacs Manual, was to make\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nRe: body alalal 1234\nclimate with little seasonal temperature variation\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nRe: body alalal 1234\nManifesto an invariant section in the Emacs Manual, was to make\nalal \t lala\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nand we go an very long way to home\nThe combination of cold ocean water and the high heat of the California mainland create\n\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nclimate with little seasonal temperature variation\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nalal \t lala\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nclimate with little seasonal temperature variation\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nis usually localised resulting in talents.[citation needed]\nsome body alalal\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nLocation of the City and County of San Francisco, California\n\n\n\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nwhich they might think of doing because those statements criticize their actions.\nThe goal of invariant sections, ever since the 80s when we first made the GNU\n\"widely available\" and \"proprietary\" inconsistently and without defining them. According to a strict interpretation of the license, the references to \"generic text editors\" \nsome body alalal\n\nsome body alalal\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nalal \t lala\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685896, + "TicketFreeKey11": null, + "ArticleID": "2696", + "Created": "2014-07-17 14:29:43", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "251@company-support.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600183", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Re: RE: AW: subject with very long lines", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "721@fast-company-example-sales.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "721@fast-company-example-sales.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "490@fast-company-example.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "490@fast-company-example.com" + }, + { + "CcRealname": "382@fast-company-example-support.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "climate with little seasonal temperature variation\nand we go an very long way to home\nRepeating thoughts and actions is an essential part of learning. \nRe: body alalal 1234\nRe: body alalal 1234\nsure they could not be removed. Specifically, to make sure that distributors\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nRepeating thoughts and actions is an essential part of learning. \nsure they could not be removed. Specifically, to make sure that distributors\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nalal \t lala\nclimate with little seasonal temperature variation\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nhere are some other lines with what ever on information\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\n fall, which are the warmest months of the year. Due to its sharp topography\nclimate with little seasonal temperature variation\nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nsome body alalal\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nsure they could not be removed. Specifically, to make sure that distributors\nLocation of the City and County of San Francisco, California\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nis usually localised resulting in talents.[citation needed]\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\n fall, which are the warmest months of the year. Due to its sharp topography\n fall, which are the warmest months of the year. Due to its sharp topography\nThe combination of cold ocean water and the high heat of the California mainland create\n1237891234123412784 2314 test testsetsetset set set\nManifesto an invariant section in the Emacs Manual, was to make\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nwhich they might think of doing because those statements criticize their actions.\nalal \t lala\nany subject matter itself. While the Document itself is wholly editable\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\n\"widely available\" and \"proprietary\" inconsistently and without defining them. According to a strict interpretation of the license, the references to \"generic text editors\" \nhere are some other lines with what ever on information\n\"widely available\" and \"proprietary\" inconsistently and without defining them. According to a strict interpretation of the license, the references to \"generic text editors\" \n\nsure they could not be removed. Specifically, to make sure that distributors\nLocation of the City and County of San Francisco, California\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2697", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "382@fast-company-example-support.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Some other smart subject!", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "662@example-support.net", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "662@example-support.net", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "361@slow-company-example-sales.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "361@slow-company-example-sales.com" + }, + { + "CcRealname": "425@example.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "Repeating thoughts and actions is an essential part of learning. \nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\n\n\nsome body alalal\nhere are some other lines with what ever on information\nsure they could not be removed. Specifically, to make sure that distributors\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nand we go an very long way to home\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nand we go an very long way to home\nhere are some other lines with what ever on information\nThe combination of cold ocean water and the high heat of the California mainland create\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nThe combination of cold ocean water and the high heat of the California mainland create\nclimate with little seasonal temperature variation\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nRepeating thoughts and actions is an essential part of learning. \nis usually localised resulting in talents.[citation needed]\nManifesto an invariant section in the Emacs Manual, was to make\n\n\nwhich they might think of doing because those statements criticize their actions.\n\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nThe combination of cold ocean water and the high heat of the California mainland create\nclimate with little seasonal temperature variation\nLocation of the City and County of San Francisco, California\n fall, which are the warmest months of the year. Due to its sharp topography\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nalal \t lala\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nsome body alalal\n1237891234123412784 2314 test testsetsetset set set\nLocation of the City and County of San Francisco, California\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\n\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nalal \t lala\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2698", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "425@example.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Why am I here?", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "429@company.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "429@company.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "502@company-support.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "502@company-support.com" + }, + { + "CcRealname": "424@slow-company-example.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": " fall, which are the warmest months of the year. Due to its sharp topography\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nThe combination of cold ocean water and the high heat of the California mainland create\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nThe combination of cold ocean water and the high heat of the California mainland create\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nManifesto an invariant section in the Emacs Manual, was to make\nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nManifesto an invariant section in the Emacs Manual, was to make\nhere are some other lines with what ever on information\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nRe: body alalal 1234\nsome body alalal\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nalal \t lala\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nis usually localised resulting in talents.[citation needed]\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nis fully formed. The speed at which a pathway is formed depends on the individual, but \nis usually localised resulting in talents.[citation needed]\n\n\n\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nThe combination of cold ocean water and the high heat of the California mainland create\nany subject matter itself. While the Document itself is wholly editable\nalal \t lala\n\n1237891234123412784 2314 test testsetsetset set set\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nRepeating thoughts and actions is an essential part of learning. \nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\n\nsome body alalal\nalal \t lala\nsome body alalal\n Emacs that also distribute non-free software could not remove the statements of our philosophy,\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2699", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "424@slow-company-example.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Re: RE: AW: subject with very long lines", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "833@fast-company-example-sales.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "2", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "833@fast-company-example-sales.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "916@fast-company-example-support.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "916@fast-company-example-support.com" + }, + { + "CcRealname": "311@example.net", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "1237891234123412784 2314 test testsetsetset set set\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nclimate with little seasonal temperature variation\nThe combination of cold ocean water and the high heat of the California mainland create\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nalal \t lala\n fall, which are the warmest months of the year. Due to its sharp topography\nLocation of the City and County of San Francisco, California\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nany subject matter itself. While the Document itself is wholly editable\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nhere are some other lines with what ever on information\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\nsure they could not be removed. Specifically, to make sure that distributors\nand we go an very long way to home\nalal \t lala\nsome body alalal\nany subject matter itself. While the Document itself is wholly editable\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nhere are some other lines with what ever on information\nLocation of the City and County of San Francisco, California\n\"widely available\" and \"proprietary\" inconsistently and without defining them. According to a strict interpretation of the license, the references to \"generic text editors\" \nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nis usually localised resulting in talents.[citation needed]\n fall, which are the warmest months of the year. Due to its sharp topography\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nand we go an very long way to home\nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nis fully formed. The speed at which a pathway is formed depends on the individual, but \nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\n1237891234123412784 2314 test testsetsetset set set\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nsure they could not be removed. Specifically, to make sure that distributors\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nfrom axon to dendrite. After several repetitions a pathway begins to form and the\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2700", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "311@example.net", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Some other smart subject!", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "348@company.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "2", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "348@company.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "838@example-sales.net", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "838@example-sales.net" + }, + { + "CcRealname": "318@company-sales.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "Location of the City and County of San Francisco, California\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nclimate with little seasonal temperature variation\n1237891234123412784 2314 test testsetsetset set set\n fall, which are the warmest months of the year. Due to its sharp topography\nqualify as transparent, since a subset of .doc files can be edited perfectly using \nany subject matter itself. While the Document itself is wholly editable\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\n fall, which are the warmest months of the year. Due to its sharp topography\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nsure they could not be removed. Specifically, to make sure that distributors\n1237891234123412784 2314 test testsetsetset set set\nManifesto an invariant section in the Emacs Manual, was to make\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\n\n\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nRepeating thoughts and actions is an essential part of learning. \nRe: body alalal 1234\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nsure they could not be removed. Specifically, to make sure that distributors\nhere are some other lines with what ever on information\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nsome body alalal\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\n\"widely available\" and \"proprietary\" inconsistently and without defining them. According to a strict interpretation of the license, the references to \"generic text editors\" \nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nManifesto an invariant section in the Emacs Manual, was to make\nis usually localised resulting in talents.[citation needed]\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\n fall, which are the warmest months of the year. Due to its sharp topography\nis usually localised resulting in talents.[citation needed]\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nclimate with little seasonal temperature variation\nManifesto an invariant section in the Emacs Manual, was to make\nclimate with little seasonal temperature variation\nhere are some other lines with what ever on information\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nany subject matter itself. While the Document itself is wholly editable\n fall, which are the warmest months of the year. Due to its sharp topography\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2701", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "318@company-sales.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "No problem, everything is ok!", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "701@example-support.net", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "2", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "701@example-support.net", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "44@example-sales.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "44@example-sales.com" + }, + { + "CcRealname": "597@company-support.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": " Emacs that also distribute non-free software could not remove the statements of our philosophy,\nalal \t lala\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nalal \t lala\nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nclimate with little seasonal temperature variation\nand we go an very long way to home\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nManifesto an invariant section in the Emacs Manual, was to make\nany subject matter itself. While the Document itself is wholly editable\nManifesto an invariant section in the Emacs Manual, was to make\n1237891234123412784 2314 test testsetsetset set set\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nis fully formed. The speed at which a pathway is formed depends on the individual, but \n1237891234123412784 2314 test testsetsetset set set\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\n\n\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nsome body alalal\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nis fully formed. The speed at which a pathway is formed depends on the individual, but \nThe goal of invariant sections, ever since the 80s when we first made the GNU\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\nsure they could not be removed. Specifically, to make sure that distributors\nLocation of the City and County of San Francisco, California\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\n fall, which are the warmest months of the year. Due to its sharp topography\nclimate with little seasonal temperature variation\nsure they could not be removed. Specifically, to make sure that distributors\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nqualify as transparent, since a subset of .doc files can be edited perfectly using \n\n\n\n fall, which are the warmest months of the year. Due to its sharp topography\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nThe combination of cold ocean water and the high heat of the California mainland create\nThe goal of invariant sections, ever since the 80s when we first made the GNU\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2702", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "597@company-support.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Some other smart subject!", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "221@fast-company-example-support.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "221@fast-company-example-support.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "786@company-support.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "786@company-support.com" + }, + { + "CcRealname": "292@example-sales.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "news as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nRe: body alalal 1234\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\nsure they could not be removed. Specifically, to make sure that distributors\n fall, which are the warmest months of the year. Due to its sharp topography\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nnews as it is constantly updated.[14][15] When Time Magazine recognized \"You\" as their Person of\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\n\n\n fall, which are the warmest months of the year. Due to its sharp topography\n\nwhich they might think of doing because those statements criticize their actions.\nLocation of the City and County of San Francisco, California\nThinking about a specific memory will make it easy to recall. This is the reason why reviews are\nalal \t lala\nand we go an very long way to home\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nand the format therefore is not one \"that can be read and edited only by proprietary word processors.\nManifesto an invariant section in the Emacs Manual, was to make\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nsome body alalal\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\n\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nsome body alalal\ntask becomes easier. When the task becomes so easy that you can perform it at any time, the pathway\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nwhich they might think of doing because those statements criticize their actions.\nRe: body alalal 1234\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\n fall, which are the warmest months of the year. Due to its sharp topography\nIn addition to being an encyclopedic reference, Wikipedia has received major media attention as an online source of breaking\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nword-processor; according to a loose interpretation, however, Microsoft Word .doc format could\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nwhich they might think of doing because those statements criticize their actions.\nLocation of the City and County of San Francisco, California\nThe goal of invariant sections, ever since the 80s when we first made the GNU\nThe definition of a \"transparent\" format is complicated, and may be difficult to apply. For example, drawings are required to be in a format that allows\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\n\n Emacs that also distribute non-free software could not remove the statements of our philosophy,\n\n\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2703", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "292@example-sales.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Ask me about performance", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "107@company-support.com", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "2", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "107@company-support.com", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "793@fast-company-example-support.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "793@fast-company-example-support.com" + }, + { + "CcRealname": "332@example-support.com", + "Age": 75685896, + "PriorityID": "3", + "ContentType": "text/plain; charset=ISO-8859-15", + "DynamicField_SugarCRMCompanySelection": [ + "454" + ], + "ServiceID": null, + "TicketFreeText11": null, + "DynamicField_ITSMDueDate": null, + "DynamicField_Topic": null, + "StateID": "1", + "DynamicField_Hostname": "177", + "Body": "some body alalal\n\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nand we go an very long way to home\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\n1237891234123412784 2314 test testsetsetset set set\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nhere are some other lines with what ever on information\nsome body alalal\nclimate with little seasonal temperature variation\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\nand we go an very long way to home\nclimate with little seasonal temperature variation\nsome body alalal\n fall, which are the warmest months of the year. Due to its sharp topography\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nclimate with little seasonal temperature variation\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\nsure they could not be removed. Specifically, to make sure that distributors\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\ncould be interpreted as ruling out any non-human-readable format even if used by an open-source \nRe: body alalal 1234\nLocation of the City and County of San Francisco, California\nand we go an very long way to home\nThe license explicitly separates any kind of \"Document\" from \"Secondary Sections\", which may not be integrated with the Document\n\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nwet winters and dry summers.[31] In addition, since it is surrounded on three sides by water,\nthem to be revised straightforwardly with \"some widely available drawing editor.\" The definition\nsome body alalal\nsome body alalal\nis usually localised resulting in talents.[citation needed]\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nalal \t lala\nLocation of the City and County of San Francisco, California\nfrom axon to dendrite. After several repetitions a pathway begins to form and the\nInkscape editor is rapidly maturing, but has not yet reached version 1.0. This section, which was rewritten somewhat between versions 1.1 and 1.2 of the license, uses the terms\nUrban planning projects in the 1950s and 1960s saw widespread destruction and redevelopment of westside \nRe: RE: AW: body with very long lines body with very long lines body with very long lines body with very long lines \nSan Francisco is located on the west coast of the U.S. at the tip of the San Francisco Peninsula\nsuch an integral part of education. On first performing a task, it is difficult as there is no path\n\nof \"widely available\" may be difficult to interpret, and may change over time, since, e.g., the open-source\nthe Year 2006, praising the accelerating success of on-line collaboration and interaction by millions\nof users around the world, Wikipedia was the first particular \"Web 2.0\" service mentioned.\n", + "DynamicField_ZammadMigratorChanged": null, + "EscalationTime": "0", + "Changed": "2014-07-17 14:29:44", + "OwnerID": "1", + "DynamicField_ZarafaTN": null, + "DynamicField_ProcessManagementActivityID": null, + "DynamicField_TopicID": "70", + "DynamicField_ScomHostname": null, + "Owner": "root@localhost", + "AgeTimeUnix": 75685895, + "TicketFreeKey11": null, + "ArticleID": "2704", + "Created": "2014-07-17 14:29:44", + "DynamicField_ScomUUID": null, + "DynamicField_TicketFreeText11": null, + "DynamicField_TicketFreeKey11": null, + "DynamicField_ITSMReviewRequired": null, + "DynamicField_OpenExchangeTicketNumber": "471", + "DynamicField_ITSMDecisionDate": null, + "ArticleTypeID": "10", + "QueueID": "2", + "ReplyTo": "", + "DynamicField_ITSMImpact": null, + "TicketID": "540", + "DynamicField_ITSMRecoveryStartTime": null, + "Cc": "332@example-support.com", + "EscalationResponseTime": "0", + "DynamicField_ProcessManagementProcessID": null, + "IncomingTime": "1405600184", + "Charset": "ISO-8859-15", + "DynamicField_CheckboxExample": null, + "DynamicField_Location": null, + "CustomerUserID": "237@company-support.com", + "DynamicField_Vertriebsweg": "347", + "Attachments": [], + "DynamicField_CustomerLocation": null, + "DynamicField_SugarCRMRemoteID": "422", + "DynamicField_OpenExchangeTN": null, + "Service": "", + "Type": "Incident", + "ContentCharset": "ISO-8859-15", + "DynamicField_TETest": [ + "114" + ], + "Responsible": "root@localhost", + "SenderType": "customer", + "ResponsibleID": "1", + "SLA": "", + "MimeType": "text/plain", + "DynamicField_Combine": "466", + "Subject": "Why am I here?", + "InReplyTo": "", + "RealTillTimeNotUsed": "0", + "DynamicField_ScomService": null, + "CustomerID": "606", + "TypeID": "1", + "MessageID": "", + "Priority": "3 normal", + "To": "932@example-sales.net", + "DynamicField_SugarCRMCompanySelectedID": "409", + "UntilTime": 0, + "EscalationUpdateTime": "0", + "CreatedBy": "1", + "Queue": "Raw", + "DynamicField_ITSMRepairStartTime": null, + "ToRealname": "932@example-sales.net", + "State": "new", + "SenderTypeID": "3", + "DynamicField_ZammadMigratorChangedOld": null, + "Title": "Ask me about performance", + "DynamicField_ScomState": null, + "References": "", + "DynamicField_Department": null, + "ArticleType": "note-external", + "StateType": "new", + "FromRealname": "470@company-support.com", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "Lock": "unlock", + "CreateTimeUnix": "1405600183", + "SLAID": null, + "DynamicField_ITSMCriticality": null, + "From": "470@company-support.com" + } + ], + "StateType": "new", + "EscalationSolutionTime": "0", + "LockID": "1", + "TicketNumber": "2014071754002471", + "DynamicField_ITSMDecisionResult": null, + "CreateTimeUnix": "1405600183", + "Lock": "unlock", + "SLAID": "", + "DynamicField_ITSMCriticality": null +} \ No newline at end of file diff --git a/spec/import/otrs/article_customer_sepc.rb b/spec/import/otrs/article_customer_sepc.rb index 45396124a..4c6d6caac 100644 --- a/spec/import/otrs/article_customer_sepc.rb +++ b/spec/import/otrs/article_customer_sepc.rb @@ -14,26 +14,20 @@ RSpec.describe Import::OTRS::ArticleCustomer do it 'finds customers by email' do expect(import_object).to receive(:find_by).with(email: 'kunde2@kunde.de').and_return(existing_object) - expect(existing_object).to receive(:id).and_return(instance_id) expect(import_object).not_to receive(:create) start_import_test - expect(object_structure['created_by_id']).to eq(instance_id) end it 'finds customers by login' do expect(import_object).to receive(:find_by).with(email: 'kunde2@kunde.de') expect(import_object).to receive(:find_by).with(login: 'kunde2@kunde.de').and_return(existing_object) - expect(existing_object).to receive(:id).and_return(instance_id) expect(import_object).not_to receive(:create) start_import_test - expect(object_structure['created_by_id']).to eq(instance_id) end it 'creates customers' do expect(import_object).to receive(:find_by).at_least(:once) expect(import_object).to receive(:create).and_return(existing_object) - expect(existing_object).to receive(:id).and_return(instance_id) start_import_test - expect(object_structure['created_by_id']).to eq(instance_id) end end diff --git a/spec/import/otrs/ticket_spec.rb b/spec/import/otrs/ticket_spec.rb index 0c4a4612b..389aaaef1 100644 --- a/spec/import/otrs/ticket_spec.rb +++ b/spec/import/otrs/ticket_spec.rb @@ -24,7 +24,7 @@ RSpec.describe Import::OTRS::Ticket do expect(Import::OTRS::ArticleCustomerFactory).to receive(:import) expect(Import::OTRS::ArticleFactory).to receive(:import) expect(Import::OTRS::HistoryFactory).to receive(:import) - expect(User).to receive(:find_by).twice.and_return(nil) + allow(::User).to receive(:find_by).and_return(nil) # needed, otherwise 'ActiveRecord::UnknownAttributeError' for # DynamicFields will arise allow(Import::OTRS::DynamicFieldFactory).to receive('skip_field?').and_return(true) @@ -97,4 +97,43 @@ RSpec.describe Import::OTRS::Ticket do updates_with(zammad_structure) end end + + context 'unknown customer' do + + let(:object_structure) { load_ticket_json('unknown_customer') } + let(:zammad_structure) { + { + owner_id: 1, + customer_id: 1337, + created_by_id: 1337, + updated_by_id: 1, + updated_at: '2014-07-17 14:29:44', + created_at: '2014-07-17 14:29:43', + number: '2014071754002471', + group_id: '2', + state_id: '1', + priority_id: '3', + title: 'Ask me about performance', + id: '540' + } + } + + def article_based_customer_expectation + user = instance_double(::User) + allow(user).to receive(:id).and_return(1337) + allow(Import::OTRS::ArticleCustomer).to receive(:find).with(hash_including('From' => '458@company-sales.com')).and_return(user) + end + + it 'creates' do + import_backend_expectations + article_based_customer_expectation + creates_with(zammad_structure) + end + + it 'updates' do + import_backend_expectations + article_based_customer_expectation + updates_with(zammad_structure) + end + end end