RDK is not as powerful as I thought

After having a whole view of the RDK, I found that the RDK is not as powerful as I thought.

Eg. Now days, endnote can find full text of a record by chick find full text menu. But the directory and filename of the full text pdf is fixed by endnote . Some times we want to determine the name of filename and directory by ourselves. So maybe create a plugin is a choise.

If I want to create a plugin to handle every “find full text” operation and to Create our own filenames and directory names of the full text file. We should have a callback of every find full text operation. But we don’t have. And in FindFullTextSession, the OnComplete is to simple that cann’t get any information of which record has found full text, which one not.

So the only way left is that ,first we use find full text to find full text pdf. then select all the full text found records , using plugin to rename the full text pdf filename and directory. This is not a good choise.

I have not tried to do what you described, but it seems like IDatabaseNotifyCallback:: OnRecordChanged should work for you.  You could have that callback check to see if it has a file attachment that does not use your location/naming convention.  Then you could move/rename the PDF from within the OnRecordChanged callback.

While you could move/rename the PDF obtained through Find Full Text, doing so could lead to problems.  If you renamed the PDF, additional Find Full Text calls on that record could result in the PDF being downloaded again for example.

Since what you are trying to perform is presently not available in the existing APIs, this is being looked at as a possible Enhancement to the API.

@ptravis wrote:

While you could move/rename the PDF obtained through Find Full Text, doing so could lead to problems.  If you renamed the PDF, additional Find Full Text calls on that record could result in the PDF being downloaded again for example.

 

Since what you are trying to perform is presently not available in the existing APIs, this is being looked at as a possible Enhancement to the API.

How does EndNote determine the full text PDF has been downloaded or not?

For example, one Find Full Text calls downloaded the pdf and stored the pdf file under directory “Bidrawn-2008-Efficient reduction-1304931870” named by “Bidrawn-2008-Efficient reduction.pdf”.

It seems that 1304931870 is a random number. How does EndNote determine the full text pdf has been downloaded or not for this record? Check folder that contains “Bidrawn-2008-Efficient reduction”? or something else? If we know How EndNote determine that, maybe we can rename the Full Text PDF while EndNote works right.

The name obtained by EndNote is not clear for users, users may want full text pdf named by their own rules.

@ptravis wrote:

I have not tried to do what you described, but it seems like IDatabaseNotifyCallback:: OnRecordChanged should work for you.  You could have that callback check to see if it has a file attachment that does not use your location/naming convention.  Then you could move/rename the PDF from within the OnRecordChanged callback.

OK, I will check about that.

Hi,

I know it’s been awhile, but we were wondering if you were able to make any progress using these suggestions (I see on another thread you were successful using formatting interfaces, but I wasn’t sure if that was a later step in this plugin or entirely unrelated to what you were attempting here).

I’ve already finished a plugin for several months, it’s been released on other forum.

BTW: I use the plugin to rename the attachments of selected records according to the rules that users defined.

BTW2: These is no any possibility for me to rename the attachments as soon as  the “findFulltext” or “attach  file”, only possibility is rename them later. maybe can do this by hook, but this is not the one I want. So now plugin only support rename selected records.

Here is link, but what I should mention is that the language of the forum is Chinese. :slight_smile:

http://emuch.net/bbs/viewthread.php?tid=2843360