June 10, 2014

Attachments (DOCLINKS) Configuration

This procedure describes how to set up attached documents in Maximo 7.1 and above with IBM WebSphere Application Server.

In this procedure I will use [IHSDIR] and [DOCLINKSDIR] tags to identify IBM HTTP Server and attachments home directory respectively. Replace those tags according to your environment. Here are the default values.

Windows
  • [IHSDIR] - C:\Program Files\IBM\HTTPServer
  • [DOCLINKSDIR] - C:\doclinks

UNIX
  • [IHSDIR] -  /home/IBMHTTPD
  • [DOCLINKSDIR] - /home/doclinks


Attachment repository

First of all you have to create the create the [DOCLINKSDIR] directory to store your attachments. For example: C:\doclinks for Windows or /home/doclinks for UNIX.

This directory must be accessible from both the application servers and from the web servers. If you have a simple environment running on a single system you are done. Otherwise you have to share this directory and mount it on all the involved servers. This article describes several techniques to configure such environment on Windows systems.



IBM HTTP Server configuration

The second step is to publish the [DOCLINKSDIR] directory through the HTTP Server. This will allow to retrieve the attachments stored in it from the users web browser.
  1. Locate the configuration directory of the IBM HTTP Server . For example C:\Program Files\IBM\HTTPServer\conf for Windows and /home/IBMHTTPD/conf for UNIX
  2. Backup httpd.conf file
  3. Open the httpd.conf file with a text editor
  4. Find 'DocumentRoot' and change like below
    DocumentRoot "[DOCLINKSDIR]"
  5. Find '# This should be changed to whatever you set DocumentRoot to.' and change like below
    <Directory "[DOCLINKSDIR]">
  6. Save and close httpd.conf file
  7. Restart the HTTP Server
  8. Verify that the HTTP Server is configured correctly
    1. Create a test file text.txt into [DOCLINKSDIR] directory
    2. Open a web browser and type in address: http://[MXHOSTNAME]/test.txt where [MXHOSTNAME] is the hostname of your server
    3. You should be able see your test.txt document in this window. If you cannot open the test file, you must go back and check the configuration steps.


Maximo configuration


The last step is to configure where Maximo will store the attachments and how it will retrieve them.
  1. Login to Maximo with administrative rights
  2. Go To - System Configuration - Platform Configuration - System Properties
  3. Set the following properties according to your configuration
    mxe.doclink.doctypes.defpath = [DOCLINKSDIR]
    mxe.doclink.path01 = [DOCLINKSDIR] = http://[MXHOSTNAME]

    Note: These paths in Windows and Unix are case sensistive.
  4. Reload the properties with a ‘Live Refresh’ or restart application server
The mxe.doclink.doctypes.defpath defines where Maximo is storing the attachments locally. The mxe.doclink.path01 allows to translate local paths to the correct HTTP links.

Go To any application which has attachments and select Action > Attachment Library/Folders > Manage folders. Set or check the following:
  • Attachments: [DOCLINKSDIR]\attachments
  • CAD: [DOCLINKSDIR]\cad
  • Diagrams: [DOCLINKSDIR]\diagrams
  • Images: [DOCLINKSDIR]\images
Note these Default file paths are case-sensitive and must match the case of directory structure and that of the doclink.properties file.

Finally test that everything is working fine.


References


17 comments:

  1. Hi Bruno,

    I am new to maximo
    In sccd i created a new record in incident application ex:INC1 and added a attachment to this record ex:Test1, Now i created a ServiceRequest ex:(SR1) to the incident (INC1) through SelectAction>Create>ServiceRequest, In the Service Request (SR1) i can view Attachment (Test1) now i added a new attachment to the Service requiest(SR1) ex:Test2 ,Now in the ServiceRequest i can view both the attachments (Test1,Test2) now client want to view Test2 attachment in Incident Record also(INC1)

    please help me...!

    ReplyDelete
  2. Hi Bruno,

    I got a problem that an attachment is able to create and view through application web UI but it is unable to open in web UI if it was created through email listener. The error message is "Error 404: javax.servlet.ServletException: Filter [HttpXFrameOptionsFilter]: filter is unavailable." when opening from web.
    The attachment created from web is located in [home]\DOCLINKS\ATTACHMENTS while if it is created from email listener is located in [home]\DOCLINKS. Would you please kindly advise what's wrong or anything configuration is missing? Thanks

    ReplyDelete
    Replies
    1. Hi Anfield, have you had any luck troubleshooting this? We've just started experiencing the same symptom.

      Delete
    2. Please take a look on properties "mxe.doclink.doctypes.defpath" and see any wired. If there are any changes, restart MXServer and try again.

      Delete
    3. This comment has been removed by the author.

      Delete
    4. Any luck is solving this, as we are experiencing the same issue..

      Delete
  3. Hi Bruno! I think there is a small mistake in the guide.
    You should change "\" to "/" like it is in original http.conf (in Windows systems too).

    --- original ---
    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "C:/Program Files/IBM/HTTPServer/htdocs"

    ReplyDelete
  4. Up to you, but you can skip the "IBM HTTP Server configuration" section if you just
    set doclinks under the htdocs. Like Apache, htdocs is the default root for web server.

    mxe.doclink.doctypes.defpath
    Default path for doclinks
    /ibm/HTTPServer/htdocs/doclinks

    mxe.doclink.path01
    Path 01 for doclinks
    /ibm/HTTPServer/htdocs/doclinks = http://maximo.yoursite.com/doclinks

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. How Can we approach about customising attachment to allow multiple file selection at a time

    ReplyDelete
  7. Looking for how to do build automation (Continuous Integration Build) for Maximo Anywhere project. Any help is highly appreciated

    ReplyDelete
  8. Hi,

    I have followed the above steps and done the configuration for attachments. I am able to upload the document but getting below exception while viewing the attachment:

    SRVE0255E: A WebGroup/Virtual Host to handle /D:/DOCLINKS/ATTACHMENTS/Check-inconfirmed-1.pdf has not been defined.

    **************************************************
    SRVE0255E: A WebGroup/Virtual Host to handle d-113062609:9080 has not been defined.


    IBM WebSphere Application Server

    ********************************************************************

    Any suggestions how to fix this issue. Thanks.

    ReplyDelete
  9. Hi Bruno, we have different hostnames for the web server and the app server, could you please help,after following the above steps we are still facing the 404 error while trying to view the attachemnt. Can you kindly help us

    ReplyDelete
    Replies
    1. Hi Siva, did you resolved this issue? I'm having the same behavior. Seems like the system always saves the file in the App Server directory and not in the http server

      Delete
  10. Thanks a lot. This was really helpful.

    ReplyDelete
  11. Is there a way to force lower case on all attachment uploads. So, if I upload IMG_022.JPG, it gets written to the file system as img_022.jpg ?

    ReplyDelete
  12. Need to set System Property: "mxe.doclink.doctypes.topLevelPaths" to "/home/doclinks" (assuming Document Root is /home/doclinks). Required in ICD 7.6. Not sure when this property came to life.

    ReplyDelete