Curtis, 

Your observation is correct, almost.

The create entry operation can be sent from API clients even for
Join/display-only forms. Then it is up to server (or, in fact the
workflow tied to the forms in question) to do whatever is necessary.

Typically join forms that are part of a reasonable app do have necessary
workflow performing necessary 'pushing data' to base forms. Thus for
end-user (interactive user or a client program) - they would be able to
successfully perform entry submissions. Only catch is that -- the system
does not give out an entry id in such cases since one is not created by
it directly as in regular form's case (instead join entry got created
via workflow).

So the workflow author may take additional steps to include some kind of
INFO message or some thing that includes hints about the just created
entry (i.e. a primary form entry id and secondary form entry id
together).  I am not too sure how easy such a thing could be considering
multi-level joins etc and also app author may not consider this as a
core use case as part of their app. 

Another workaround for an API client program is to follow up the create
operation with a query with appropriate qualification identifying the
just created entry.

Regards
Appajee


-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Curtis Gallant
Sent: Wednesday, October 25, 2006 6:50 AM
To: [email protected]
Subject: Re: Java AR API weirdness

Not sure if the same applies for the Java API, but for the C API
according to documentation, you can't createEntry to a Join, you should
createEntry to the base forms that make up the Join.

I might be way off but I hope this helps

Cheers, 


--------
Curtis Gallant

-----Original Message-----
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of John Baker
Sent: Wednesday, October 25, 2006 9:34 AM
To: [email protected]
Subject: Java AR API weirdness

Hello,

Consider the following:

      EntryFactory entryMan = EntryFactory.getFactory();
      Entry entry = (Entry)entryMan.newInstance();
      entry.setContext(serverUser);
      entry.setEntryItems(items);
      entry.setSchemaID(new NameID(schema));
      entry.create();
      System.out.println(entry.getEntryID().toString());

Should create a new Entry and output the EntryID. This works fine,
unless the entry was created in a Join Form, in which case an empty
string (not null) is output.

I've tested with the v7.0 API (patch 1 & 2). 

Has anyone else seen this behaviour? Is it really a bug or just
incorrect use of the API?


John

Java System Solutions : http://www.javasystemsolutions.com

________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

________________________________________________________________________
_______
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

Reply via email to