Upload files through API and use them as attachments for Ideas

I am migration Ideas from a 3rd party platform into Verint (version 13.x). 

Many of the ideas have image and file (pptx, pdf etc) attachments. I am using the following REST API to upload these files into Verint. 

community-ppe.thomsonreuters.com/.../temporary.json

thereafter, I am using the downloadUrl returned by the above API to use it in href attribute within the content of the idea description. Initially, it all works well - i am able to view the uploaded file on the idea - if its an image, it appears inline where it should, if its a file, a link appears and I am able to download the file too,

However, if I check the same idea a day or two later, all the images/files have broken links - I am guessing its becuase the upload is taking place to some temporary location as indicated by the API endpoint. How do I make these uploaded files and their url persist permanently?

Has anyone tried doing this? 

  • You should not use the obtained url directly as href  as its referencing the temporary store.

    You need to use the DownloadUrl which you have obtained after you upload file to the /temporary.json.

    Inside the body/description you need to use a format  as below when referencing the file  in the body from the rest endpoint. Verint while creating the idea will store this to a permanent location and references the permanent url in the background. 

    [View:{DownloadUrl}:320:240]

    Where 320 , 240 are the dimensions of the image/file. ( you can specify your own dimensions). 

    Ex description below

    string description = $"<p>Lorem Ipsum is simply dummy text of the printing and 
    typesetting industry. Lorem Ipsum has been the industry's standard dummy 
    text ever since the 1500s, when an unknown printer took a galley 
    of type and scrambled it to make a type specimen book. 
    It has survived not only five centuries,
    but also the leap into electronic typesetting, remaining essentially unchanged. 
    It was popularised in the 1960s with the release of 
    Letraset sheets containing Lorem Ipsum passages, 
    and more recently with desktop publishing software like Aldus 
    PageMaker including versions of Lorem Ipsum</p> [View:{embedimageurl}:320:240] <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. 
    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
    when an unknown printer took a galley of type and scrambled it to make a type 
    specimen book. It has survived not only five centuries, 
    but also the leap into electronic typesetting, remaining essentially unchanged.
    It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum</p>";

  • Yeah  is correct, you need to embed a tag within the html content, one caveat is that Telligent can be quite picky about the format of the url so you may need to handle that 

    I quickly tried this from the UX to see the requests the platform would make for a manual post of an embedded pdf file

    and the Body of the idea had a truncated url 



    If successful when you create the idea you should see the file stored in __key/tellignt-ideas as you are adding an idea, similar approaches can be taken for other content types and they would be stored in separate cfs folders

    Hope this helps 

  • than you      and   for all your help. 

    I looked at the suggestions from Robert and suspected I wasnt handling the users right - point 3 in the troubleshooting suggestions.

    After trying a quick couple of tests that was indeed the case - the user under which I was uploading the attachment was different from the user that I was using to create the idea - the file wasnt transferring to the right CFS location (i.e still showing as 

    __key/CommunityServer-Components-MultipleUploadFileManager/
    After ensuring the creating use was consistent across the file upload and the idea create requests, I now see the file is in the correct location i.e
    __key/telligent-ideas/
    Thank you very much to all of you for helping out. greatly appreciate it!
  • Note: The original question was posted in two different Groups. I'm copying my answer here as well in case someone comes here first.

    When you upload an image it will drop it into a file store called "CommunityServer-Components-MultipleUploadFileManager", which you can see in the URL. This is a temporary file store. And then, when you reference this URL or the UploadContextId in the content it will move the file to a different store depending on the content type you are using it in.

    So what you should expect is that you upload the file, and then use it in the body of an Idea like this:

    <img src="{{DownloadUrl}}" />

    And then as as soon as you create the Idea the image URL should change automatically. You can see this by viewing the Idea in your web browser and looking at the source HTML. You should see that the URL has changed, and will not reference the file store used for Ideas.

    If the URL doesn't change, then something isn't working right. Make sure that you are using the DownloadUrl as-is so that Verint can recognize it and handle it properly.

    Satish also linked to a solution about using the View Macro. You can use the View Macro instead of an <img> tags, and it can be used for not only images but also Word Docs, PDFs, and other embedded files. It works by putting this into the body:

    community.telligent.com/{{UploadContextId}}:{{Width}}:{{Height}}

    Example: [View:https://...:{{Width}}:{{Height}}:0:0]

    I generally tend to use the <img> tag for images because then I can include other attributes for the image. But I will use the View Macro for embedding file links.

    Some troubleshooting suggestions:

    • Make sure that the UploadContextId is unique for each file you upload
    • Make sure that you use the full and unedited DownloadUrl when using it in an <img> tag or View Macro
    • Make sure that the same user account is used to upload the image and create the Idea
    • Make sure that you create the Idea soon after you upload the image. Within an hour should be fine.

    There is a Job in Verint that runs every so often to delete files in the temporary file store. I think it typically runs every few hours or so, so the image will sit there for awhile, but will eventually get deleted automatically unless Verint moved the file to a non-temporary file store.