Outlook.MailItem.DownloadState What it is and what it is used for? - outlook

I have seen the property Outlook.MailItem.DownloadState which is explained here.
Anyway I am not able to understand what is it and what is it used for. Some can explain me that?

To decrease the capacity of the local storage and save the bandwidth users may not download large emails getting only a small subset of data (metadata) which contains the headers describing the email.
There are possible states for the MailItem.DownloadState property:
The olHeaderOnly means only the header has been downloaded.
The olFullItem value means the full item has been downloaded.
If the message was not fully downloaded in Outlook you can set the MailItem.MarkForDownload property. It returns or sets an OlRemoteStatus constant that determines the status of an item once it is received by a remote user.
if(obj.DownloadState == olHeaderOnly)
{
'Mark the item to be downloaded
obj.MarkForDownload = olMarkedForDownload;
}

Outlook has header-only mode when it downloads headers first and full item (body and attachment) only when the message is selected - see https://www.officetooltips.com/outlook_2016/tips/how_to_set_outlook_to_download_only_e-mail_headers.html

Related

How do I use "maxPageSize" with the new Xrm.API?

Edit 2
It was a Microsoft bug. My CRM updated recently and the query is now executing as expected
Server version: 9.1.0000.21041
Client version: 1.4.1144-2007.3
Edit
If it is a Microsoft bug, which looks likely thanks to Arun's research, then for future reference, my CRM versions are
Server version: 9.1.0000.20151
Client version: 1.4.1077-2007.1
Original question below
I followed the example as described in the MSDN Documentation here.
Specify a positive number that indicates the number of entity records to be returned per page. If you do not specify this parameter, the value is defaulted to the maximum limit of 5000 records.
If the number of records being retrieved is more than the specified maxPageSize value or 5000 records, nextLink attribute in the returned promise object will contain a link to retrieve the next set of entities.
However, it doesn't appear to be working for me. Here's my sample JavaScript code:
Xrm.WebApi.retrieveMultipleRecords('account', '?$select=name', 20).then
(
result => console.log(result.entities.length),
error => console.error(error.message)
);
You can see that my query doesn't include any complex filter or expand expressions
maxPageSize is 20
When I run this code, it's returning the full set of results, not limiting the page size at all:
I noticed this too, but this happens only in UCI. Whereas this issue wont be reproduced when you run the same code in classic web UI.
Probably this is a bug in MS side, pls create a ticket so they can fix it.
UCI
Classic

Kaltura Notifications are occationally deactivated?

We are using Kaltura to notify our CMS about changes in the videos. In the KMC under Settings->Integrations Settings we have checked all the checkboxes under "Sent by Server".
Some times these checkmarks disappear? IT happens maybe once a week or once a month. How can we find the reason to these boxes being deactivated?
Those notifications are being stored on the partner object in partner table. The actual data is stored in the custom_data field, which holds large amount of PHP-serialized data.
I can suspect cases that due to updates of other fields in the custom_data object, the notifications section will be erased.
Your best shot would be first check the value of that field when the config got erased. If it was actually erased in the database, try to find the following log messages in api_v3.log (which can lead you to the actual API request that modified the field):
[2124167851][propel] */ UPDATE partner SET
`UPDATED_AT`='2017-10-04 14:11:36',
`NOTIFY`='1',
`CUSTOM_DATA`='a:79:{s:9:"firstName";s:5:"Roman";s:12:"isFirstLogin";b:0;
... tons of PHP serialized data ...
i:1;s:19:"notificationsConfig";s:42:"*=0;1=1;2=1;3=1;4=0;21=0;6=0;7=0;26=0;5=0;";
... tons of PHP serialized data ...
}' WHERE partner.ID='101' AND MD5(cast(partner.CUSTOM_DATA as char character set latin1)) = '7eb7781cc04c7f98077efc2e3c1e9426'
The key that stores the notifications config is notificationsConfig (Each number represents the notification type, then 0 / 1 for off / no).
As a side note, which CE version are you using? There might be a more reliable way to integrate with your CMS.

IRS AIR 1095B Manifest Schema -- OriginalReceiptID

I'm attempting to upload AIR test 2C via the IRS UI web portal and received the following submission error: "The manifest file does not match our current schema. In particular, our system has detected a potential issue with the following element(s)" OriginalReceiptID
Here's our manifest file:
top portion of our manifest file
Can anyone find the errors of my ways?
You need to provide the OriginalReceiptId (on the Manifest) only when sending a Replacement record type for a previously "Rejected" Transmission.
The OriginalUniqueSubmissionId (on the 1094-C) should be provided only when sending a Replacement record type for a previously "Rejected" Submission.
Note: You will receive Transmission-level error if you include both the OriginalReceiptId and OriginalUniqueSubmissionId. The type of rejection dictates which one is needed to be used. The Type of Rejection is caused by either the Transmission or Submission, and is defined by the reason for the rejection and the structure of the Error Data File received from the status response.
CorrectedUniqueSubmissionId on the 1094-C is used when sending a
Correction record type for a previously "Accepted" or "Accepted with Errors" 1094-C record.
CorrectedUniqueRecordId on the 1095-C is used when sending a
Correction record type for a previously "Accepted" or "Accepted with Errors" 1095-C record.
I don't think you need original receipt id for the correction files, it is for rejected files. refer to IRS air composition referece guide at https://www.irs.gov/pub/irs-pdf/p5165.pdf

Teamcity email only 10 changes are shown, how to show more changes

The Teamcity notification email after build successful only show 10 changes. I want to know how to config in teamcity to show more changes.
Thanks!
you can create the internal.properties in config folder, and included following properties,
teamcity.notification.template.update.interval - how often the templates are reread by system (integer, in seconds, default 60)
teamcity.notification.includeDebugInfo - include debug information into the message in case of template processing errors (boolean, default false)
teamcity.notification.maxChangesNum - max number of changes to list in e-mail message (integer, default 10)
teamcity.notification.maxCompilationDataSize - max size (in bytes) of compilation error data to include in e-mail message (integer, default 20480)
teamcity.notification.maxFailedTestNum - max number of failed tests to list in e-mail message (integer, default 50)
teamcity.notification.maxFailedTestStacktraces - max number of test stacktraces in e-mail message (integer, default 5)
teamcity.notification.maxFailedTestDataSize - max size (in bytes) of failed test output data to include in a single e-mail message (integer, default 10240)
more details see, https://confluence.jetbrains.com/display/TCD9/Configuring+TeamCity+Server+Startup+Properties
Imho, it seems TC does not clearly support anything away from out of the box defaults. In other words, lots of things are apparently configurable but there is no documentation nor will a query to their board receive a reply. Instead, the solution seems to be to assume that all the template files can be edited pretty much at will to provide the desired results.
This issue is a case in point. One user gave a generic answer to how to find/edit the notification template in general;
http://devnet.jetbrains.net/thread/293800
TeamCity 5.1 Email template :: JetBrains Developer Community
devnet.jetbrains.net/thread/293800Feb 7, 2011 – I'm going to begin use TeamCity for our projects. ... getViewChangesUrl(bean.build)}'>${modNum} change<#plural modNum/> ...
Note that he cites the "modNum" value, which is our problematic item. Its default appears to be 10 per out-of-the-box settings. (I don't think we can see that part.) I was able to easily change it by assigning a new value.
In my file [ServerConfigsPath]\config_notifications\email\common.ftl , I now have;
<!-- was #assign modNum=bean.modificationsNumber/ -->
<#assign modNum=100/>
I hope this helps you or another newbie. I love SO!
//sorry for spacing on the code, I can't see how to get it right...

Ruby IMAP "changes" since last check

I'm working on an IMAP client using Ruby and Rails. I can successfully import messages, mailboxes, and more... However, after the initial import, how can I detect any changes that have occurred since my last sync?
Currently I am storing the UIDs and UID validity values in the database, comparing them, and searching appropriately. This works, but it doesn't detect deleted messages or changes to message flags, etc.
Do I have to pull all messages every time to detect these changes? How do other IMAP clients do it so quickly (i.e. Apple Mail and Postbox). My script is already taking 10+ seconds per account with very few email addresses:
# select ourself as the current mailbox
#imap_connection.examine(self.location)
# grab all new messages and update them in the database
# if the uid's are still valid, we will just fetch the newest UIDs
# otherwise, we need to search when we last synced, which is slower :(
if self.uid_validity.nil? || uid_validity == self.uid_validity
# for some IMAP servers, if a mailbox is empty, a uid_fetch will fail, so then
begin
messages = #imap_connection.uid_fetch(uid_range, ['UID', 'RFC822', 'FLAGS'])
rescue
# gmail cries if the folder is empty
uids = #imap_connection.uid_search(['ALL'])
messages = #imap_connection.uid_fetch(uids, ['UID', 'RFC822', 'FLAGS']) unless uids.empty?
end
messages.each do |imap_message|
Message.create_from_imap!(imap_message, self.id)
end unless messages.nil?
else
query = self.last_synced.nil? ? ['All'] : ['SINCE', Net::IMAP.format_datetime(self.last_synced)]
#imap_connection.search(query).each do |message_id|
imap_message = #imap_connection.fetch(message_id, ['RFC822', 'FLAGS', 'UID'])[0]
# don't mark the messages as read
##imap_connection.store(message_id, '-FLAGS', [:Seen])
Message.create_from_imap!(imap_message, self.id)
end
end
# now assume all UIDs are valid
self.uid_validity = uid_validity
# now remember that we just fetched all those messages
self.last_synced = Time.now
self.save!
There is an IMAP extension for Quick Flag Changes Resynchronization (RFC-4551). With this extension it is possible to search for all messages that have been changed since the last synchronization (based on some kind of timestamp). However, as far as I know this extension is not widely supported.
There is an informational RFC that describes how IMAP clients should do synchronization (RFC-4549, section 4.3). The text recommends issuing the following two commands:
tag1 UID FETCH <lastseenuid+1>:* <descriptors>
tag2 UID FETCH 1:<lastseenuid> FLAGS
The first command is used to fetch the required information for all unknown mails (without knowing how many mails there are). The second command is used to synchronize the flags for the already seen mails.
AFAIK this method is widely used. Therefore, many IMAP servers contain optimizations in order to provide this information quickly. Typically, the network bandwidth is the limiting factor.
The IMAP protocol is brain dead this way, unfortunately. IDLE really should be able to return this kind of stuff while connected, for example. The FETCH FLAGS suggestion above is the only way to do it.
One thing to be careful of, however, is that UIDs are only valid for a given session per the spec. You should not store them, even if some servers persist them.

Resources