Le Café Central de DeVa              

                    let.us.develop.share.messaging.more... DeVa blogs!!




 

Blog - Title

November, 2008

  • Le Café Central de DeVa

    Outlook Programming : How to get the File Menu commands programmatically?

    • 0 Comments

    This time we will try using the Outlook Object model, we can able to get the Outlook File Menu commands programmatically (I tried with Outlook 10)

       1:          ...
       2:          ' First get the ActiveExplorer
       3:          Dim oExp As Outlook.Explorer = oApp.ActiveExplorer()
       4:   
       5:          ' Then get the menu bar.
       6:          Dim oCmdBars As Office._CommandBars = oExp.CommandBars
       7:          Dim oCmdBar As Office.CommandBar = oCmdBars("Menu Bar")
       8:          'If needed display the CommandBar Name 
       9:          Console.WriteLine(oCmdBar.Name)
      10:   
      11:          ' Get the controls 
      12:          Dim oBrCrls As Office.CommandBarControls = oCmdBar.Controls
      13:   
      14:         ' Then get the File menu.
      15:          Dim oBPop As Office.CommandBarPopup = oBrCrls("File")
      16:         ' If needed display the caption
      17:          Console.WriteLine(oBPop.Caption)
      18:          oBrCrls = oBPop.Controls
      19:   
      20:          ' Then loop each menu & display the caption
      21:          Dim oBtn As Office.CommandBarControl
      22:          For Each oBtn In oBrCrls
      23:              Console.WriteLine(oBtn.Caption)
      24:          Next
      25:          ....
  • Le Café Central de DeVa

    Office e-documents & Metadata

    • 1 Comments

    Do we share metadata?

    Yes, we do, it may be knowingly or unknowingly. Take the case, that you share electronic versions of your documents (may be legal documents too). Along with that even without your knowledge you may supply more information.

    What is a Metadata:

    Whenever you create, open, or save a document in Microsoft Word, the document may store information, which is know as metadata. Even we had no intention of including or disclosing.

    What it is used for?

    Metadata is used for a variety of legitimate purposes, and it adds functionality to the editing, viewing, filing, and retrieving capabilities of Microsoft Office.

    However, if some of this information is passed on to inappropriate parties (for example, opposing counsel), that disclosure can create adverse consequences for you and your client. In order to avoid these consequences, you should make yourself familiar with the types of metadata contained in your documents and take steps to remove it whenever necessary.

    Some examples of metadata that may be stored in your documents

    Some metadata is readily accessible through the user interface of each Office program. Other metadata is only accessible through extraordinary means, such as opening a document in a low-level, binary file editor. Some examples of metadata that may be stored in your documents are,

    • Your name
    • Your initials
    • Your company or organization name
    • The name of your computer
    • The name of the network server or hard disk where you saved the document
    • Other file properties and summary information
    • Non-visible portions of embedded OLE objects
    • The names of previous document authors
    • Document revisions
    • Document versions
    • Template information
    • Hidden text or cells
    • Personalized views
    • Comments

    How we can minimize metadata in Office documents?

    We need to be careful when we share the electronic versions of the documents. Because some metadata is readily accessible through the user interface of each Office program or extraordinary means; please refer the following article which talks how we can minimize metadata in Office documents.

  • Le Café Central de DeVa

    Transport Agent Factories

    • 1 Comments

    Transport agent implementation:

    Then, what is the Transport Agent factories all about...

    • The agent factory is the type that is specified when the agent is installed, and it is the only object that the transport code knows about. When transport has to create an instance of the agent, it actually calls into the CreateAgent method of the agent factory to create that instance.

    Do you wonder then where do instances of transport agents come from? Why, transport agent factories, of course! ...so, where i can get more details...  you can the above answers from this.

  • Le Café Central de DeVa

    Video : Demo of Exchange Server 2007, Windows Vista and Office 2007

    • 1 Comments

    Find the enclosed demo of Exchange Server 2007, Windows Vista and Office 2007, which can give a glimpse of the products, new features etc; though it's quite older, but worth of watching this.

  • Le Café Central de DeVa

    Gotcha - PermanentURL & WebDAV Series # 1

    • 4 Comments

    Take this scenario. One of my customer wanted to updated the contact fields using PR_ENTRY_ID and other fields. He can able to obtain the other all fields and getting issue with this property whenever he retrieve using WebDAV·  He gets garbage values at one client and another client it leads him to Exception.

    In this scenario, instead of using the MAPI property, we can make use of PermanentURL. In order to access the property we need to make use of the following property:

     
    Note: This property is unique across all servers.

    There are certain things that needs to be considered when we use the PermanentURL is listed below:

    If you use the permanenturl field, be aware of the following issues:

    . This field is the field for a permanent URL that can always be used to access an item even if the URL to the item is either renamed or moved.

    . The size of the permanenturl fields is computed according to the following conditions:

    . The flat URL name uses the following format, where the folder ID (FID) and the message ID (MID) are in long format (GUID + ID). These IDs are unique on a server.

    . For folders: http://server/virtual_root/-FlatUrlSpace-/text-format-fid-of-folder

    . For messages: http://server/virtual_root/-FlatUrlSpace-/text-format-fid-of-folder/text-format-mid-of-message

    . There must be hyphen (-) between the GUID and the ID.

    . When you change the ID to a text format, you must leave out the leading zeros. The following text is an example of a flat URL to a folder whose FID is 1-287. This example assumes that replid 1 maps to GUID 3B6D774A33B6D211AEB500C04FB6B4C6:

       1:  "/-FlatUrlSpace-/3B6D774A33B6D211AEB500C04FB6B4C6-287"   

    The following text is an example of a flat URL to a message in folder 1-287 whose MID is 1-30A:

       1:  "/-FlatUrlSpace-/3B6D774A33B6D211AEB500C04FB6B4C6-287/3B6D774A33B6D211AEB500C04FB6B4C6-30A" 

    The maximum size is:

       1:  http://long_server_name/long_virtual_root name/3B6D774A33B6D211AEB500C04FB6B4C6-FFFFFFFFFFFE/3B6D774A33B6D211AEB500C04FB6B4C6-FFFFFFFFFFFF  

    . You cannot have two permanenturl values that differ by case that point to separate items. Computer names, virtual roots, GUIDs, and hexadecimal-format FIDs and MIDs are all defined as case-insensitive.

    . To have successful queries, you may have to remove the section before "/-FlatUrlSpace-/b8d01..." in the syntax from the queries. For example, you may have to remove http://servername/folder from the following query:

    "http://servername/folder/-FlatUrlSpace-/b8d01... 

    The following section includes examples of queries.

    . To test with webDAV (HTTP), run either of the following queries:

       1:  <sql> Select "http://schemas.microsoft.com/exchange/permanenturl","DAV:id 
       2:   
       3:  http://schemas.microsoft.com/exchange/permanenturl" FROM Scope('SHALLOW 
       4:   
       5:  TRAVERSAL OF ""') WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  /-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1de6'

    -or-

       1:  <sql> Select "http://schemas.microsoft.com/exchange/permanenturl","DAV:id 
       2:   
       3:  http://schemas.microsoft.com/exchange/permanenturl" FROM Scope('SHALLOW 
       4:   
       5:  TRAVERSAL OF ""') WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  'http://servername/folder/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1de6'  

    . To test with Microsoft ActiveX Data Objects (ADO) (the ExOLEDB file), run either of the following queries:

       1:  SELECT "http://schemas.microsoft.com/exchange/permanenturl" FROM scope('shallow traversal of 
       2:   
       3:  "file://./backofficestorage/mycompany.com/MBX/user/Calendar"' 
       4:   
       5:  file://./backofficestorage/mycompany.com/MBX/user/Calendar) 
       6:   
       7:  WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       8:   
       9:  '/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1db5' 

    -or-

       1:  SELECT "http://schemas.microsoft.com/exchange/permanenturl" FROM scope('shallow traversal of 
       2:   
       3:  "file://./backofficestorage/mycompany.com/MBX/user/Calendar"' 
       4:   
       5:  file://./backofficestorage/mycompany.com/MBX/user/Calendar)WHERE "http://schemas.microsoft.com/exchange/permanenturl" = 
       6:   
       7:  'file://./backofficestorage/servername/folder/-FlatUrlSpace-/b8d014e9f474644ba656cb6adcef9d7b-1c/b8d014e9f474644ba656cb6adcef9d7b-1db5'  
  • Le Café Central de DeVa

    Creating Outlook rules not possible using Exchange Web Services?

    • 1 Comments

    When i working with the customer who is working with Exchange Server 2007, the discussion turned towards the Exchange Web Services. He is interested to create rules on Outlook using Exchange Web Services (EWS) and looks how to proceed on this.

    At the end of research, we found that it's not possible to create rules for a specific mailbox using EWS. In the similar way, it is not possible to view the rules that are set on a mailbox with the EWS. This happens due to when we work with EWS we can't access the rules table.

    We recommended customer to make use of the following API's:

    1) using Messaging API (MAPI) with the Outlook Object Model (OOM)
    2) using Extended MAPI

    Email rules protocol specification docs - Available:

    You can find the Email rules related protocol specification documentation by clicking here.

  • Le Café Central de DeVa

    Outlook 2007 : Color category not getting printed AS-IS

    • 1 Comments

    One of my customer reported that whenever he assign the color categories to his Outlook items (in Outlook 2007), he facing an unique issue. For example, if he chooses the color category - a dark color except black, whenever he took the printout it prints lighter than the other color categories; which leads him trouble to isolate it from other color. This is not a programming issue.

    This issue is fixed in the Outlook 2007 post-Service Pack 1 hotfix package that is dated September 24, 2008. It's recommended to download this package and install the hotfix as recommended.

  • Le Café Central de DeVa

    Microsoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments

    • 2 Comments

    As you know Hardware Virtualization software enables you to run multiple, separate operating systems concurrently on a single physical machine. Please find the Microsoft support policies enclosed here for running currently supported versions of Microsoft Exchange Server in production in a hardware Virtualization environment & recommendations for running Exchange Server in production in a hardware Virtualization environment.

    Apart from Microsoft based Hardware Virtualization, please find more details about the Microsoft support policy for third-party hardware virtualization software:

    When i was reading this article from Virtualization team, i got more input some related information. So, what's new... Thoughts on technical support..

    As of today, you'll see that we're expanding tech support policy for (initial) 31 server applications for customers that run these apps on WS08 Hyper-V, Microsoft Hyper-V Server or any other validated hypervisor (type 1 or 2). The nut of it is ... customers will be able to get the same level of tech support for virtualized workloads that they get today with non-virtualized workloads.

    The kicker here, and where many journos reported inaccurate information, is that 3rd-party vendors' hypervisors must first pass the validation test before customers can get cooperative support from Microsoft and that vendor. For example, it was reported that VMware signed an agreement to participate in the Server Virtualization Validation Program. That much is true. However, it doesn't mean that cooperative support is now in place. First, ESX Server must go through and pass the validation test. Once validated, they'll be added to KB article 944987, where we list "support partners for non-Microsoft hardware virtualization software." Today only Novell is listed, and that's due to the broader technical collaboration agreement in place between the companies.

    The other thing to note is that the server application teams have posted configurations that will be supported running on validated hypervisors. For example, the Exchange team posted a blog about their policy, which can be summarized as: 

    • Exchange Server 2007 Service Pack 1 is supported on Hyper-V and other validated hypervisors when deployed according to the guidelines published on TechNet. 
  • Le Café Central de DeVa

    Monitoring event sink # 29 - Event Sink & VSAPI

    • 1 Comments

    Viruses, worms, and other malicious content transmitted by e-mail systems are a destructive reality faced by most Microsoft Exchange administrators. Therefore, we should develop a defensive antivirus deployment for all messaging systems. Now we can have a look on VSAPI.

    VSAPI is used for...

    This enables non-Microsoft vendors to implement the virus scanners or AV's, which check each message for malicious attachments and data structures before they reach their destinations.

    These features will give the antivirus products more options to delete infected messages and, with additional message properties in VSAPI 2.5, automatically send a warning message back to the sender that a virus was detected and the e-mail was deleted, thus helping prevent further spreading.

    For example you can take Exchange server 2003 and its latest versions, it will give customers more confidence in the security of their e-mail infrastructures by reducing the number of infected e-mail messages end users receive and administrators have to manage and thereby mitigating the further propagation of viruses.

    Where it's implemented?

    This event sink is implemented in OnSubmit.dll.

    Where it's registered?

    This event is registered for the OnSubmission event.

    Can you name couple of versions...

    Exchange Server 2000: Virus Scanning API (VSAPI) version 2.0 released along with Exchange Server 2000 environment. It provided improved support for scanning Internet content and reporting on the sender and receiver of the virus.

    Exchange Server 2003:

    • VSAPI 2.5 released along with Exchange Server 2003. It improves the VSAPI by allowing antivirus vendor products to run on Exchange servers that do not have resident Exchange mailboxes (for example, gateway servers or bridgehead servers).
    • Also it allows antivirus vendor products to delete an infected message and send a notification message to the sender of the infected message. The vendor products can also create additional virus status messages to allow clients to indicate the infection status of a particular message.

    Note:

    1) By default, transport scanning is not enabled, as it causes messages to be scanned twice, once at the SMTP layer and once in the Exchange store

    2) Transport-scanning functionality is available only with Exchange virus scanners that are based on Virus Scanning Application Programming Interface (VSAPI) 2.5.

    Is it VSAPI vs Event sink or ...?

    VSAPI shares the same event listener and response model like any other event sink, but this special sink is implemented in the client and Transport model to check the incoming messages.

  • Le Café Central de DeVa

    Monitoring event sink # 28 - Attachments Are Missing When You Use an Event Sink to Modify the Stream of Messages

    • 1 Comments

    One of my customer reported that they have a store event sink, which is used to modify the stream of incoming messages in Exchange Server environment (2003). But their attachments are missing when they open & view the message in Microsoft Outlook or in Microsoft Outlook Web Access (OWA); But contrarily when we view the message in Microsoft Outlook Express or by using Collaboration Data Objects (CDO), we can open and view the attachments in the message.

    When we investigated regarding the issue, we found that this problem occurs because messages are incorrectly processed when we use a store event sink to modify the stream of messages in Exchange Server 2003 environment. There is an hotfix available for the above issue

Page 1 of 2 (12 items) 12