How to change user name in Documentum

Server version is 4.X then

Open DA
Go to user properties and click Rename User link
Write the new name
Select Run Now

If 5.x then:

Open DA
Go to User Management and select Users
Mark the checkbox in the left of the user
From Tools menu select Reassign User

Just put the name of the user you want – Its great!  The user does not actually have to exist. 

Select Run Now

Check report in /System/sysadmin/reports/userrename – that will have the name of the user and you can see if it has worked.

Adding to web.config

Add this on the MONO .NET config

Found at

/opt/mono/etc/mono/2.0/web.config

Add to configuration section.

<dllmap dll=”dmcl40″>
<dllmap dll=”dmcl40.dll” target=”libdmcl40.so”/>
<dllmap dll=”cygwin1.dll” target=”libc.so”/>
</dllmap>

Documentum and C#

One of the advantages of Documentum is that its true multi-platform software.  Historically the problem of scripting in Documentum was addressed with a product they did themselves called Docbasic. A nice idea based on VB3 – and still an integral part of the product as Docbasic is implemented on all platforms.

However I was thinking that the only alternative to multi-platform scripting is java-bloat. You know the sort of thing – you need to devote large parts of your life to get a successful print statement.

Well I had a look at MONO for this. If you have a requirement for writing back-end scripts for Documentum and you don’t want them in Docbasic and you dont want in them in java-bloat then MONO could be thing as C# is much easier and nicer to work with.

I put a small class together –  http://www.dhrobertson.com/projects/csharp/dmclcom.zip

Its quite straight forward – this is a VS 2005 project. But if you build it as an exe, it will run on Linux and get this – Solaris 8 under Mono.

What you do need to do on the mono side is provide DLL/lib mapping. Modify your web.config file on Solaris to map cygwin1.dll to libc.so.1 and dmcl40.dll to libdmcl40.so.1 – all very simple really.

So its possible to write quite nice scripts or applications in the lovely C# – with WinForms and be able to run them cross platform. You don’t need Java-bloat and you can program in something nice and easy and rich – C#. Also note that you can use MS Visual Studio to develop the apps and then run them on Solaris – so you don’t need a Java-bloated IDE – most of which are bloatware tosh. Given this, you could also write VB.NET if you wanted and do the same thing.

Nice I think.

I had to figure out about memory management between managed and un-managed code here, but that all seems pretty straight forward.

Yes I know its not DFC and you could just use a COM wrapper – feature rich but heavy and bloated (well it is all java right!) but for simple, high speed automation for Documentum tasks, this is a good alternative to Docbasic – and you can have VB style windows and buttons to drive it – all of which works in Solaris or Linux.

In commercial terms, I’m thinking that most sensible people would want to write their client (web inlcuded!) in C#.  If they had a sensible OS running Oracle and Documentum – like Solaris or Linux, then they might have to write that in Java – which would then add to the complexity and cost of a large project.  Use this approach and you can write it all in C# and have .NET as the basis.  .NET is much better for writing web/client applications.

Useful Documentum Code

URL to refresh WDK config

http://host:port/webtop/wdk/refresh.jsp
 

Error msg: DM_LOCALE_E_UNKNOWN_LOCALE_NAME
Put this on your dmcl.ini at DMAPI_CONFIGURATION section.

client_locale=en_GB ( Assuming its missing the GB)

Publishing locale-specific information to the data dictionary

1. From the command prompt on the server on which eContent Server is installed, run this dmbasic command:

where:

docbase_name: The name of the Docbase.
user_name: Your user name.
password: Your password.
data_file: The data file that contains data dictionary information that is specific to the locale you want to publish.

Path: ‘$DM_HOME/bin’ (normally).

dmbasic -f dd_populate.ebs -e LoadDataDictionary — docbase_name user_name password data_file
Open the IAPI utility and execute this API command:

where:

session: The session for IAPI (usually s0).
Locale: The locale for which you want to publish data dictionary information. For example, ja for Japanese. The default is the locale that is specified for the current client session.
Type: The specific object type for which you want to publish data dictionary information.
attribute: The specific attribute for which you want to publish data dictionary information. You must enter the type argument for which the attribute is defined.

publish_dd,session[,locale][,type][,attribute]
How to obtain physical path of a document in Documentum

Launch this neat API call:

getpath,c,<r_object_id>

DAXCAD Lives Again

DaxCAD was and still is a Mechanical CAD Package used by a handful of companies throughout the world in the late ‘80s and early ‘90s.  It is still in use by a manufacturing company in the UK. It’s origin stems from Paisley College of Technology, now known as Paisley University. 

It was written to be able to be an inexpensive, simple to use CAD application for a range of industries.  As it happens it was sold to just a about all sectors from government to finance. 

In fact General Accident insurance used DaxCAD to design all of their regional offices.  DaxCAD was integrated by RACAL as their circuit board designer and by Advent as their vector mapping tool (English Heritage).  All in all, not a bad pedigree.

Welcome to the web blog of Dave Robertson

Welcome to my blog site. I can tell you right now that I am still not convinced of the purpose of blog other than to allow people to avoid speaking to each other and generally soak up the vast amount of leisure time that people seem to have to write and view vast quantities of useless opinions. I remain, forever cynical.