Print Page   |   Contact Us   |   Sign In   |   Register

Join Vivit
Contact Vivit
Become a Leader
Become a Sponsor
Community Search

Digital Transformation with HPE Cloud Management

Deliver Amazing Apps Fast in the Idea Economy: a DevOps Transformation

Virginia / Mid-Atlantic VIVIT Chapter Meeting

Chicago Chapter Webinar

Learn how HPE’s Mobile Solutions Revolutionize Synthetic Monitoring

LinkedInTwitterFacebookGoogle Plus

HPE Software Products: SDK / API Support
Share |

External Document StoreOpen in a New Window

Is there any documentation on what is involved in developing an External Document Store?

Under Administration -> Document Stores -> New document store -> External


ServiceAPI / .NET - Can you upload a file from a byte[] array?Open in a New Window

Hi all,

I'm wondering whether there's a way to create a new record and upload a file to it using the .NET ServiceAPI interface, but where the file content is contained in a byte[] array rather than an existing file on disk?

It looks like the only option is to write the content to a file and then pass a filename through to the API, which is a bit wasteful when you already have the data available in memory.

Does anyone know whether you can pass this content over to the ServiceAPI via the .NET interface, without needing to write it to a temporary file?

Many thanks!


How to determine the ownerOpen in a New Window


I am creating a webapp that creates a new records in HPRM8.3.
I've been able to create the record just fine however to make this happen the user must enter their business unit which I then assign as the owner. I think this is expected because the  application pool uses a services account which does not have a Orgamisation/Business value but I was wondering if anyone has a code example that determines the correct value of the owner given the username.

Our setup is that users have positions and positions are associated with Organisation/Business Units and the Organisation/Business name becomes the owner. Maybe this is incorrect and the owner is recorded somewher else




Change record container using Service API from .NET clientOpen in a New Window

Hi ,

How can I change the container of a record and add some notes using Service API from a .NET exe? Kindly advise.






URI Maximum limitOpen in a New Window


What is the maximum limit of URI? Should it be treated as Int32 or Int64 in C#?



TRIM 7.3 SDK Search with "[" characterOpen in a New Window

I need to search some records from TRIM using the typedTitle search method. Currently doing as follows; 

RecordType type = _db.GetRecordType("Document");

int typeUri = type.Uri;

 // Construct a new search object
 RecordSearch objSearch = _db.NewRecordSearch();

//Generate search string.
objSearch.QueryString = string.Format(@"typedTitle:Some title type:{0}", typeUri);

Records seachedRecords = objSearch.GetRecords();

But when the title contains [ or ] character this throws an exception. For example if the search is like below an exception is thrown "You have specified an unknown search method 'Intelligence'. Refer to HPE Records Manager documentation for a list of valid search methods."

objSearch.QueryString = string.Format(@"typedTitle:A maintenance application for Business Intelligence\[1\].doc type:{0}", typeUri);

Is there a way to search with [ or ] characters in the search string?



ServiceAPI .NET bindings - how to retrieve a Record's RecordType URI?Open in a New Window

Hi all,

I'm new to the .NET ServiceAPI bindings so please forgive this basic question!

I am retrieving a record, but I would like to find out what type of record it is, as if it is a certain record type then it will contain child records so I'll have to issue another request to retrieve the child records.

It seems straightforward to indicate which properties/fields you wish to retrieve, at least until you want to ask for the Record Type.

Records rqRecords = new Records() {
	q = "container:" + res.Results[0].Uri,
	Properties = new PropertyList(

Here, PropertyIds does not appear to have a value for the record type's Uri, nor a value for the whole record type like you would get if you used the string "RecordType" in the GET request.  If I use the RecordTypeLevel property, then later when I go to use it, it hasn't retrieved any data:

RecordsResponse rres = this.trim.Get<RecordsResponse>(req);
foreach (Record r in rres.Results) {
	Debug.Print(r.RecordType.Title); // ok
	Debug.Print(r.RecordType.Level.ToString()); // fail: r.RecordType is null
	Debug.Print(r.RecordType.Uri.ToString()); // fail: r.RecordType is null

The RecordType member is null, even though I asked for one of its values in the search.

However, if I ask for the whole record type as a string in the original request instead:

Properties = new PropertyList(

Then it retrieves a valid RecordType object with the Uri so I can use this as needed:

Debug.Print(r.RecordType.Uri.ToString()); // all good now

I am a little confused about the disconnect between the PropertyIds not having an option for RecordType (or the RecordType's Uri), yet the options it does have for the RecordType don't actually return any data.  That and using a string instead to ask for the RecordType actually works.

Am I doing something wrong?


Where are the .NET bindings to the ServiceAPI?Open in a New Window

I've recently used the HPRM ServiceAPI (the REST/JSON interface) from a Linux C++ application and it worked very well.  Now I need to perform a similar task from within a C# .NET app, however although it looks like there are .NET bindings for the ServiceAPI, I can't seem to find where they are!

The ServiceAPI documentation says this:

Using the .Net Client Libraries

The .Net client libraries are installed in the folder DotNetClient, to use them:

  1. copy them to your client machine,
  2. reference them from a .Net Solution
  3. from the class in which you will call the ServiceAPI add the following using statements:
    • using HP.HPTRIM.Service.Client
    • using HP.HPTRIM.ServiceModel;

Ensure that all five DLLs are referenced:

  • HP.HPTRIM.Service.Client.dll
  • HP.HPTRIM.ServiceModel.dll
  • ServiceStack.Common.dll
  • ServiceStack.Interfaces.dll
  • ServiceStack.Text.dll

But I can't find those DLLs.  They aren't included in any of the installation files I have, and they aren't installed on a machine with HPRM Desktop installed.  I can't see a "DotNetClient" folder anywhere.

Whereabouts do you obtain these DLLs from?

I am hoping using these will work better than the .NET SDK as from what I read this will be slowly phased out, and it's not as easy to work with either (e.g. you need HPRM installed on the machine running the .NET app, which is not so great for a server-side program, and you can't easily specify which user to connect to in the event that the service account running your app does not have HPRM access.)

For this reason I'd like to stick with the REST/JSON ServiceAPI interface, however before I go down the path of issuing raw HTTP GET/POST commands and deserialising the JSON myself, I'd like to investigate the above .NET library as it looks like it handles all this already.

Any pointers to where you can obtain this will be much appreciated!


External Link (New Executable)Open in a New Window

Hi all, I'm looking for a little direction which may lead to other questions in the future.

I created a Winforms application using .NET framework in VS 2012 and RM API that integrates with Records Manager client.  I added it as an External Link as a "New Executable" and and asociated it to a particular Record Type.  So now I can right click on the record type, click send to, click my program name, my program launches, recieves parameters, and displays data just fine.

Now I am looking to deploy this to a group of users and I am not sure how to make this available to them.  

Can I please get some feedback as to how we should be deploying this to our users?




Print report Page Header "Count" field not functioningOpen in a New Window

We have upgraded to HPRM 8.3 to "fix" a number of the print report issues.  Now we notice that the page header - available items to add - common items -  "Count" does not populate in the reports.  This field used to count the number of entries in the report but now always shows zero.  We have removed and replaced the "count" field just in case HPRM didn't recognize it in the original report and have created a new report and neither will populate the count.  Is there another available field that will show the number of entries populating on the report?  Any suggestions? 

Additionally, why can't a pdf be attached to this forum?  if i want to provide an example report out of HPRM jpg, gif, and png are not options (that i see) so i have to convert the pdf to attach?  


Finalise previous versions of documentsOpen in a New Window


Using the RM8 Service API (v8.3), Is there a way to prevent a previous version of a document becoming finalised when a new version is created? If not is there a way of deleting the previous finalised versions of a document, just leaving the latest document?




Creating Trim RequestOpen in a New Window

Using the .Net SDK (RM8.2) I am trying to create a Request for record. When the Request is created, we are getting error message "The product feature 'Advanced Request Processing' is not activated."

We were able to create requests in V7 SDK with no errors.

We do not have Advanced Processing turned on, and users can create requests via the Trim desktop UI. These are showing as RequestType.RetrieveTemporary but when I try to create via the .Net SDK I get the above error.


trimDocument.MakeRequest(HP.HPTRIM.SDK.RequestTypes.RetrieveTemporary, employee, wdp6MonthRequest.Date,

public void MakeRequest(TRIM.RequestTypes requestType, TRIM.Location requestorLocation, DateTime dueDate, TRIM.RequestPriority priority)
var request = new TRIM.Request(requestType, this.InnerRecord, priority);
request.Requestor = requestorLocation;
request.DueDate = dueDate;


Using ADFS authentication with COM SDKOpen in a New Window


Does anyone know how to use ADFS authentication with the COM SDK? I can easily set the AuthenticationMethod in .Net SDK but our application is using the COM SDK.



Use of Kofax Capture or Kofax Express Export Connector to HPRMOpen in a New Window

HPRM v 8.1 offers a Kofax Capture Template for Kofax Capture to export images into HPRM.  I have tried to install the Export Connector to try to adapt it to Kofax Express. Since the connector was not created by Kofax, they can offer only limited support for installation and use. Kofax does not offer a trial download for Capture, so my testing is with Kofax Express 3.2 install on the same client as HPRM Desktop.  I can see the Kofax Capture Export connector in Kofax Express Options, but when selecting HP TRIM Export Connector, the .dll fails to register and there is an error that Kofax Express is unable to load the export connector 'tsjAscRel10.dll'. Error: This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. (HRESULT: 0x8013101B).

Does anyone have experience with the Kofax Capture Export Connector for HPRM?

Thanks, ShirleyG


How to update Records to show that they are "Parts" of a whole after they have been created?Open in a New Window

In the desktop GUI you can set "Related Records" as "Parts" of a whole.

How is this done via the Service API after the fact as well?


How to set the RelatedRecords fields for Parts?Open in a New Window

I am using the Web Service API.

How do I format a JSON to POST to update things like RecordLastPartRecord,. RecordPrevPartRecord, RecordNextPartRecord, etc?

I can't find any documentation or examples on how this is supposed to be accomplished.


Change Parent classification of an existing classificationOpen in a New Window


i am wondering if there is a simple way of changing the parent classification of a classification ??

In my case I have a classification called “Software Classified” under the parent classification “S” and after changing the classification’s name to “Elllef Classified” I want to move it the parent classification “E” (a classification that already exists).


Anyone interested in Python?Open in a New Window

Anyone out there interested in SDK development using Python please let me know.


Setting the Author on a Record using the Wrapper around the service APIOpen in a New Window

The scenario we have is that our users want to set the Author on a Record, just using a name, through our application. We are integrating with RM8 using the ServiceAPI

I can set the Author property on a record happily using the .NET wrapper around the ServiceAPI, and use the FindBy property on the LocationRef to perform a search for a user.

However the problem comes when there is no user with that name - the Post fails with an argument exception. 

Is there any way to have the serviceAPI create the location if not present ?

I have seen the GUI do something similar when I imported an email, it created a location for the Sender automatically - it's something similar we would like to do ?

Otherwise I will have to make extra calls - to search for the location, and if not present create it , then setup the location ref.

Thanks for any suggestions



How to pass Prefix characters of Manual Record number patternOpen in a New Window


I have a record type with Manual number pattern of ZZZ-AAAA-GGG, can someone please share their experience of how to pass only ZZZ-AAAA values using SDK and let the GGG still autogenerated.

(Background: I have an application that passes ZZZ and AAA as metadata of Asset code that I would like to use as a part of the Record number.)

I tried the RecordLongNumber property but that overwrites the compete Record number and puts GGG instead of actually populating it. Thanks in advance.

Sign In

Forgot your password?

Haven't registered yet?

Vivit Blog