Archive

Archive for February, 2008

Invalid DQL String: SELECT not found

February 29, 2008 doquent 1 comment

In a 5.3 environment, we encountered this error in customized Simple Search. The customization appeared to be really minor and the exception stack trace didn’t reveal any involvement of custom code.

Google search of this error message revealed two relevant results – both in discussion forums. One pertained to search – it was unanswered. Another was about incorrect use of UPDATE with dm_query. This seemed to be relevant but it was puzzling to understand why the out-of-the-box classes were throwing this exception.

In order to troubleshoot, we focused on the custom search_component.xml. One by one, we removed all customization but the error didn’t go away. The only thing remaining in the XML file was the reference to the component it was extending. So we moved on to the component being extended, and the mystery unraveled pretty quickly.

Right at the top it said – <scope version="5.2.5">. So the customization was implemented in 5.2.5. In 5.3 a new WDK Search implementation was introduced, while the old one was scoped to 5.2.5 only. Altering the custom search_component.xml to point to the search component under searchex fixed the problem.

Categories: Documentum Tags: , , , ,

Joomla! 1.5 Doesn’t List Core Modules

February 19, 2008 doquent 6 comments

UPDATE: See the comments on this post that may make this post irrelevant :)

A minimal Joomla! 1.5 install without any sample data seems to not show core modules such as mod_syndicate. It turns out that this is so by design. This excellent post shows how to enable these extensions.

Essentially, the module XML file does not list all the files that are part of the module. These need to be added to the XML file and then the module files can be zipped up and installed through the administrator. You do need to remove the corresponding folder from the server before attempting to install it.

Is Punctuation a Virtue?

February 15, 2008 doquent Leave a comment

Maybe not, if you use a comma or an apostrophe in a string argument to API calls through DFC.

This happened in DFC 5.3 SP2 environment in a call to the queue() method on a workflow item. The user name argument had a comma since the name was in the last name, first name format. Apparently, under the hood, an API call string is created and the string argument is not quoted. As a result, the name is split into two arguments and the following arguments all get shifted by one. This results in a type mismatch on certain arguments and an exception is thrown. The BAD DATE exception is a common symptom of this situation. Note that this problem has been fixed in DFC 5.3 SP3.

The research on Powerlink showed that this is a more common problem and can occur with any API call (as a support note explains). It is not clear if the problem has been fixed for all API calls in DFC 5.3 SP3.

The workaround for the problem is to enclose string arguments in single quotes, as in ‘last name, first name’. An apostrophe in the argument should be escaped with another, as in ‘O”Hare, Chicago’.

Deleting a Document Chokes Content Server

February 9, 2008 doquent Leave a comment

This happened in Documentum 5.3 SP3 environment but potentially could happen in others as well.

Start a workflow with a document attached to it. Delete this document before the last activity in the workflow has kicked off. When the workflow agent tries to package this document for an activity transition, it throws an exception. Then it retries repeatedly, in the process opening new sessions. This is evident from the content server log. Depending on the rate at which the open sessions are reclaimed, clients may encounter connection problems.

Since the document is gone, the workflow instance can usually be aborted. The API command for aborting a workflow is:

abort,c,workflow_id

If you also want to clean up the objects related to this workflow, you can run the dmclean with -clean_aborted_wf option. See the section on Using dmclean in Content Server Administrator’s Guide.