PB with the Scorm API

Hi,
I am facing a problem with the lms API in the standard scorm
html file included in captivate 1.
most of the scos I have created with Captivate 1 for one of
my courses contain several animations.
so I have modified the scorm.html template in order so that
each animation is able to call a javascript which will replace the
object tag. The javascript gives the name of the captivate movie
that has to be loaded and displayed.
the first movie runs well, and sends the usual api commands
to the lms. at the end of the movie, a javascript is called, with
the name of the next animation to be run.
that works perfectly, but from that moment, the animations
are not able to send api commands to the lms.
of course, I intercept the LMSCommit and LMSFinish commands
and the cmi.core.lesson_status is set to incomplete.
but still the problem and I don't understand why.
does anyone have a solution to solve this issue ?
thanks for help
oldJaypee

Is there any debugging mode you can use in the LMS to see
what's happening?
Perhaps your second animation is re-initiating the
LMS_initialize
function, which could be throwing it off?
Really hard to say if you can't see what's going on 'behind
the scenes'.
Erik
oldJayPee wrote:
> the first movie runs well, and sends the usual api
commands to the lms. at the
> end of the movie, a javascript is called, with the name
of the next animation
> to be run.
> that works perfectly, but from that moment, the
animations are not able to
> send api commands to the lms.
> of course, I intercept the LMSCommit and LMSFinish
commands and the
> cmi.core.lesson_status is set to incomplete.
Erik Lord
http://www.capemedia.net
Adobe Community Expert - Authorware
http://www.adobe.com/communities/experts/
http://www.awaretips.net -
samples, tips, products, faqs, and links!
*Search the A'ware newsgroup archives*
http://groups.google.com/group/macromedia.authorware

Similar Messages

  • Create a Navigational Hierarchy for filtering with the Table API

    Hello,
    I've built a WAD report acourding to the how to document: "Create a Navigational Hierarchy for filtering with the Table API".
    It works great but i dont know How to make the hirarchey to show the key and the text.
    Please Advice.
    David

    Hi Kenneth,
    please have a look in the source of the executed Web Application. What is inside of the <div> with the id filter?
    You should also find a td tag with id hier_xyz with xyz the filter inside of the <div>-Tag with id filter.
    Also check whether you have a javascript error.
    Have a look on the Javascript function set_style. Perhaps you can paste it here, than I can have a look.
    Heike

  • Can I create a cert with the Java API only?

    I'm building a client/server app that will use SSL and client certs for authenticating the client to the server. I'd like for each user to be able to create a keypair and an associated self-signed cert that they can provide to the server through some other means, to be included in the server's trust store.
    I know how to generate a key pair with an associated self-signed cert via keytool, but I'd prefer to do it directly with the Java APIs. From looking at the Javadocs, I can see how to generate a keypair and how to generate a cert object using an encoded representation of the cert ( e.g. java.security.cert.CertificateFactory.generateCertififcate() ).
    But how can I create this encoded representation of the certificate that I need to provide to generateCertificate()? I could do it with keytool and export the cert to a file, but is there no Java API that can accomplish the same thing?
    I want to avoid having the user use keytool. Perhaps I can execute the appropriate keytool command from the java code, using Runtime.exec(), but again a pure java API approach would be better. Is there a way to do this all with Java? If not, is executing keytool via Runtime.exec() the best approach?

    There is no solution available with the JDK. It's rather deficient wrt certificate management, as java.security.cert.CertificateFactory is a factory that only deals in re-treads. That is, it doesn't really create certs. Rather it converts a DER encoded byte stream into a Java Certificate object.
    I found two ways to create a certificate from scratch. The first one is an all Java implementation of what keytool does. The second is to use Runtime.exec(), which you don't want to do.
    1. Use BouncyCastle, a free open source cryptography library that you can find here: http://www.bouncycastle.org/ There are examples in the documentation that show you how to do just about anything you want to do. I chose not to use it, because my need was satisfied with a lighter approach, and I didn't want to add a dependency unnecessarily. Also Bouncy Castle requires you to use a distinct version with each version of the JDK. So if I wanted my app to work with JDK 1.4 or later, I would have to actually create three different versions, each bundled with the version of BouncyCastle that matches the version of the target JDK.
    2. I created my cert by using Runtime.exec() to invoke the keytool program, which you say you don't want to do. This seemed like a hack to me, so I tried to avoid it; but actually I think it was the better choice for me, and I've been happy with how it works. It may have some backward compatibility issues. I tested it on Windows XP and Mac 10.4.9 with JDK 1.6. Some keytool arguments changed with JDK versions, but I think they maintained backward compatibility. I haven't checked it, and I don't know if I'm using the later or earlier version of the keytool arguments.
    Here's my code.
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.security.KeyStore;
    import java.security.KeyStoreException;
    import java.security.NoSuchAlgorithmException;
    import java.security.cert.CertificateException;
    import javax.security.auth.x500.X500Principal;
    import javax.swing.JOptionPane;
    public class CreateCertDemo {
         private static void createKey() throws IOException,
          KeyStoreException, NoSuchAlgorithmException, CertificateException{
         X500Principal principal;
         String storeName = ".keystore";
         String alias = "keyAlias";
         principal = PrincipalInfo.getInstance().getPrincipal();
         String validity = "10000";
         String[] cmd = new String[]{ "keytool", "-genKey", "-alias", alias, "-keyalg", "RSA",
            "-sigalg", "SHA256WithRSA", "-dname", principal.getName(), "-validity",
            validity, "-keypass", "keyPassword", "-keystore",
            storeName, "-storepass", "storePassword"};
         int result = doExecCommand(cmd);
         if (result != 0){
              String msg = "An error occured while trying to generate\n" +
                                  "the private key. The error code returned by\n" +
                                  "the keytool command was " + result + ".";
              JOptionPane.showMessageDialog(null, msg, "Key Generation Error", JOptionPane.WARNING_MESSAGE);
         KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
         ks.load(new FileInputStream(storeName), "storePassword".toCharArray());
            //return ks from the method if needed
    public static int doExecCommand(String[] cmd) throws IOException{
              Runtime r = Runtime.getRuntime();
              Process p = null;
              p = r.exec(cmd);
              FileOutputStream outFos = null;
              FileOutputStream errFos = null;
              File out = new File("keytool_exe.out");
              out.createNewFile();
              File err = new File("keytool_exe.err");
              err.createNewFile();
              outFos = new FileOutputStream(out);
              errFos = new FileOutputStream(err);
              StreamSink outSink = new StreamSink(p.getInputStream(),"Output", outFos );
              StreamSink errSink = new StreamSink(p.getErrorStream(),"Error", errFos );
              outSink.start();
              errSink.start();
              int exitVal = 0;;
              try {
                   exitVal = p.waitFor();
              } catch (InterruptedException e) {
                   return -100;
              System.out.println (exitVal==0 ?  "certificate created" :
                   "A problem occured during certificate creation");
              outFos.flush();
              outFos.close();
              errFos.flush();
              errFos.close();
              out.delete();
              err.delete();
              return exitVal;
         public static void main (String[] args) throws
              KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException{
              createKey();
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    //Adapted from Mike Daconta's StreamGobbler at
    //http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
    public class StreamSink extends Thread
        InputStream is;
        String type;
        OutputStream os;
        public StreamSink(InputStream is, String type)
            this(is, type, null);
        public StreamSink(InputStream is, String type, OutputStream redirect)
            this.is = is;
            this.type = type;
            this.os = redirect;
        public void run()
            try
                PrintWriter pw = null;
                if (os != null)
                    pw = new PrintWriter(os);
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
                String line=null;
                while ( (line = br.readLine()) != null)
                    if (pw != null)
                        pw.println(line);
                    System.out.println(type + ">" + line);   
                if (pw != null)
                    pw.flush();
            } catch (IOException ioe)
                ioe.printStackTrace(); 
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import javax.security.auth.x500.X500Principal;
    public class PrincipalInfo {
         private static String defInfoString = "CN=Name, O=Organization";
         //make it a singleton.
         private static class PrincipalInfoHolder{
              private static PrincipalInfo instance = new PrincipalInfo();
         public static PrincipalInfo getInstance(){
              return PrincipalInfoHolder.instance;
         private PrincipalInfo(){
         public X500Principal getPrincipal(){
              String fileName = "principal.der";
              File file = new File(fileName);
              if (file.exists()){
                   try {
                        return new X500Principal(new FileInputStream(file));
                   } catch (FileNotFoundException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                        return null;
              }else{
                   return new X500Principal(defInfoString);
         public void savePrincipal(X500Principal p) throws IOException{
              FileOutputStream fos = new FileOutputStream("principal.der");
              fos.write(p.getEncoded());
              fos.close();
    }Message was edited by:
    MidnightJava
    Message was edited by:
    MidnightJava

  • [svn:osmf:] 13228: Updating ExamplePlayer to work with the latest API changes.

    Revision: 13228
    Revision: 13228
    Author:   [email protected]
    Date:     2009-12-30 04:33:34 -0800 (Wed, 30 Dec 2009)
    Log Message:
    Updating ExamplePlayer to work with the latest API changes.
    Modified Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/chromeless/ChromelessPl ayerElement.as
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextElement.as
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/traceproxy/TraceListene rProxyElement.as
    Added Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextDisplayObjectT rait.as
    Removed Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextViewTrait.as

    Revision: 13228
    Revision: 13228
    Author:   [email protected]
    Date:     2009-12-30 04:33:34 -0800 (Wed, 30 Dec 2009)
    Log Message:
    Updating ExamplePlayer to work with the latest API changes.
    Modified Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/chromeless/ChromelessPl ayerElement.as
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextElement.as
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/traceproxy/TraceListene rProxyElement.as
    Added Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextDisplayObjectT rait.as
    Removed Paths:
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/text/TextViewTrait.as

  • Formatted Search defined on an item added with the UI API

    Hello,
    I have added an Edit Text with the UI API on the Sales Orders form. It is visible and enable.
    I have linked a Formatted Search to this Edit Text.I have indicated to refresh the value on Supplier Name changed.
    I have linked the same formatted search to the Remarks field with the same conditions of launching.
    When I change the BP name, the formatted search on theremarks field is launched, but the formatted search on the Edit Text is not launched.
    Why the formatted search on the Edit Text is not launched when the condition for refresh is true?
    Thanks for your help.
    Best regards,

    Hi,
    This is a simple Edit Text which is not bound.
    I can launch manually the formatted search, but it is not launch automatically!
    It seems that SBO can't launch automatically FS on user forms and user items.
    I have tried to define a FS on the Fixed Asset master data form and you can only launch the Formatted search manually.

  • How can I create a new User with the Java API like OIDDAS do?

    Hello,
    I'm currently working on an BPEL based process. And i need to create an OCS user. So far I can create an user in the OID. But I cant find any documentation about given this user an email account,calendar and content function etc.
    Did anybody know if there are some OIDDAS Webservices? Or did anybody know how to do this using the Java APIs?

    You are asking about a Database User I hope.
    You can look into the Oracle 8i Documentation and find various privillages listed.
    In particular, you may find:
    Chapter 27 Privileges, Roles, and Security Policies
    an intresting chapter.
    You may want to do this with the various tools included with 8i - including the
    Oracle DBA Studio - expand the Security node and you can create USERS and ROLES.
    Or use SQL*Plus. To create a
    user / password named John / Smith, you would login to SQL*Plus as System/manager (or other) and type in:
    Create user John identified by Smith;
    Grant CONNECT to John;
    Grant SELECT ANY TABLE to John;
    commit;
    There is much more you can do
    depending on your needs.
    Please read the documentation.
    -John
    null

  • Calling a stored procedure with the DI API in 6.5

    Hi,
    Is it possible to do this? I have the following lines of code...
        sSQL = "EXEC sp_AgedDebtForCustomerStatement"
        oRecordset.DoQuery sSQL
    This procedure runs fine in SQL Query Analyzer and the query generator in B1. When I use it in my VB app, it just crashes, without returning any error message.
    I have tested the exact same app on a 2004 version with no issues.
    Is it possible to use stored procs with the 650098 DI API?
    Thanks for any help,
    Robin

    Hi Frank,
    Thanks for your reply.
    Regarding the points you make...
    1) I have come across this before and thought it would be different.
    2) I am using error handling - that is what is so strange - it justs completely bombs out at that line.
    3) I tried this with the same result/error.
    I may just run the query not using the DI API - could be my only option.
    Thanks,
    Robin

  • Creating sandboxes with the admin api

    I'm trying to write some code that creates sandboxes through
    the admin api. For these sandboxes, I want to only enable a
    specific set of functions. Unfortunately, when you create a sandbox
    with getSecuritySandboxes, it enables all functions by default. I
    therefore need to disable all the securable functions before
    enabling the ones I trust. I've run into two problems in doing
    this, and wondered if anyone had any advice.
    1) The api provides a function called
    getSecurableCFFunctions, which is meant to return all the functions
    that can be secured. Unfortunately, the function list returned by
    this function is not complete - it is missing createobject(com),
    createobject(corba), createobject(java), createobject(webservice),
    getgatewayhelper and sendgatewaymessage. There's no way of finding
    out the enabled functions for a sandbox, so I've currently had to
    resort to disabling all the functions returned by
    getSecurableCFFunctions and then adding in the ones that I know are
    missing. This approach is likely to be broken when future releases
    of CF add new securable functions.
    2) I use setDisabledCFFunction to disable functions, but can
    find no way of disabling createobject(com), createobject(corba),
    createobject(java) or createobject(webservice) with this function.
    When I try, it throws an exception with this message: "This
    function can not be added to the restricted function list.". These
    functions are in the function list in the administrator, and I can
    add them there. Is there any way of securing them through the api?
    Any advice appreciated!
    Thanks,
    Max

    Set up a "template" sandbox that has the permissions you
    want, say E:\template. Then I think this will work:
    obSandbox =
    createObject("component","cfide.adminapi.security");
    arDefaultSandbox = obSandbox.getSecuritySandboxes (
    "E:\template" );
    obSandbox.setSecuritySandbox ( directory = SandboxDirectory,
    sandbox = arDefaultSandbox["E:\template"] );

  • How to access the Requirements property (& subproperties) of steps and sequences with the TestStand API

    The concept of associating teststand objects to unit requirements for traceability purposes was added to TS 3.5, and I need to find out how to access the array of strings used to store unit requirements in step objects, sequence objects and sequencefile objects. The teststand help file points out that the requirements list of a sequencefile object is accessible using the PropertyObjectFile interface, and also points out that Requirements is a property of the sequence and step classes. Furthermore it implicitly states that the requirements property has a Links subproperty which is an array of strings, but that is pretty much the extent of the documentation on this new feature so far. There seems to be no expression function available to get to those requirements either.
    I know that this feature was added to allow TestStand to interface with RG, and I am planning on using RG, but I would also like to do things with the requirements information within TestStand.
    Anyone? 

    Are you talking about the Requirements Gateway?  It is a separate product from NI that will do what you are looking for.  I haven't used it so I am not sure of the API chain to make it work.  Take a look and see if that is what you were thinking of.
    Hope that this helps,
    Bob Young
    Sorry, I just re-read your original post and see that you are looking to also use the Requirements Gateway, so you obviously know about it.  I don't know what the API changes were that made it work so I am not going to be much help.
    Sorry about posting before getting the correct information from the original.
    Bob Young
    Message Edited by Bob Y. on 08-24-2006 04:54 PM
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • Serializing objects with the NIO API

    I try to use the new IO API to implement a non-blocking multi-threaded server that communicates with client applications by exchanging serialized objects. I started from the code in the JavaWorld article at http://www.javaworld.com/javaworld/jw-09-2001/jw-0907-merlin.html .
    With the new features of J2SDK 1.4.0, you don't have to create a separate thread per connected client. That is a big improvement.
    But when I read an object with ObjectInputStream, I get a java.nio.channels.IllegalBlockingModeException.
    Has anybody successfully implemented such a server since the release of the new io API?
    Thanks.
    Jean-Robert

    The ObjectStream code is basically incompatible with non blockin I/O since you must block on the stream until a whole Object is available. You could roll something like this yourself, by reading bytes until there are enough available to build the next object and then getting that Object from the buffer and shipping it to your client thread. All of this is far more trouble than just using the Stream oriented I/O.
    NIO and mutilple threads are a nightmare, the whole idea of non-blocking I/O is to avoid needing multiple threads. If you do use multiple threads you will need queues between them. See the Taming the NIO Circus topic for lots of discussion of NIO and its problems. The system seems more stable in JDK 1.5, but most people haven't even started using 1.4 for production yet.
    Personally I avoid ObjectStreams. They are only useful between Java applications, if I want that I just use RMI and let Java do ALL the hard work. When I write a Socket based app, its probably because the other end is a mainframe of a C program. For that reason I send data as bytes, packaged up in packets, and encode as XML or ASN.1 so the other end can interpret it.

  • Unknown Error when working with the GWObject API

    Hello,
    in a given environment, we've ancountered an Exception with the
    Message-Text "An Unknown Error has occured", being thrown in various
    Methods of the Object API. Does anyone know what the reason for these
    Exceptions might be?
    24.11.2009 19:30:16 Error An unknown error occurred.
    at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    msgData)
    at GroupwareTypeLibrary.DIGWFormattedText.get_PlainTe xt()
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.FillMessageFields(GWMessage
    gwmsg, Message3 fullmsg, GroupWiseRetrievalSettings Settings,
    GroupWiseRetrievalFilter Filter)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.GetMessage(QuickMessage2
    qmsg, GroupWiseRetrievalSettings settings, GWFolder[]
    enclosingFoldersForFiltering)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.CollectMessages(ArrayList
    gwmsgs)
    24.11.2009 19:11:41 Error An unknown error occurred.
    at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    msgData)
    at GroupwareTypeLibrary.DIGWQuickMessage2.get_Message ()
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.GetMessage(QuickMessage2
    qmsg, GroupWiseRetrievalSettings settings, GWFolder[]
    enclosingFoldersForFiltering)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.CollectMessages(ArrayList
    gwmsgs)
    25.11.2009 21:26:30 Error An unknown error occurred.
    at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    msgData)
    at GroupwareTypeLibrary.DIGWMessages.Add(Object Class, Object Type,
    Object Version)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMail(GWMail
    message, Mail5 draftmsg)
    at
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMessage(GWMessage
    message)
    at
    com.vivex.archiveconnector.groupwise.Agent.Archive Message(GWMessage msg,
    User user, Group group, ArchiveSettings archSettings,
    GroupWiseArchiveFilter arcFilter)
    Best regards, Martin Schmidt.

    That error is too generic.
    It is reported in 100's or places.
    We would need steps to duplicate the problem.
    >>> On Friday, November 27, 2009 at 7:11 AM, Martin
    Schmidt<[email protected]> wrote:
    > Hello,
    >
    > in a given environment, we've ancountered an Exception with the
    > Message‑Text "An Unknown Error has occured", being thrown in various
    > Methods of the Object API. Does anyone know what the reason for these
    > Exceptions might be?
    >
    > 24.11.2009 19:30:16 Error An unknown error occurred.
    > at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    > BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    > msgData)
    > at GroupwareTypeLibrary.DIGWFormattedText.get_PlainTe xt()
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.FillM
    > essageFields(GWMessage
    > gwmsg, Message3 fullmsg, GroupWiseRetrievalSettings Settings,
    > GroupWiseRetrievalFilter Filter)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.GetMe
    > ssage(QuickMessage2
    > qmsg, GroupWiseRetrievalSettings settings, GWFolder[]
    > enclosingFoldersForFiltering)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.Colle
    > ctMessages(ArrayList
    > gwmsgs)
    >
    > 24.11.2009 19:11:41 Error An unknown error occurred.
    > at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    > BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    > msgData)
    > at GroupwareTypeLibrary.DIGWQuickMessage2.get_Message ()
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.GetMe
    > ssage(QuickMessage2
    > qmsg, GroupWiseRetrievalSettings settings, GWFolder[]
    > enclosingFoldersForFiltering)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.Colle
    > ctMessages(ArrayList
    > gwmsgs)
    >
    > 25.11.2009 21:26:30 Error An unknown error occurred.
    > at System.RuntimeType.ForwardCallToInvokeMember(Strin g memberName,
    > BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
    > msgData)
    > at GroupwareTypeLibrary.DIGWMessages.Add(Object Class, Object Type,
    > Object Version)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMa
    > il(GWMail
    > message, Mail5 draftmsg)
    > at
    >
    com.vivex.archiveconnector.groupwise.GroupWiseInte rfaces.OAPIGroupWise.AddMe
    > ssage(GWMessage
    > message)
    > at
    > com.vivex.archiveconnector.groupwise.Agent.Archive Message(GWMessage msg,
    > User user, Group group, ArchiveSettings archSettings,
    > GroupWiseArchiveFilter arcFilter)
    >
    > Best regards, Martin Schmidt.

  • Converting an Excel file into a CSV with the DI API

    Hello everyone,
    it's my first post and also my first project with SBO, As the topic's header implies I have to write a program which converts an excel sheet into a CSV file, I have been reading a little about the DI API, and I would like to have further information about how to use the DI to access file data and/or alter it, other than what is already listed in the tutorials.
    Thanks in advance.

    Hi Amin,
    Unfortunately I am not aware of any way to this using only the DI API, it will be neccesary to include some other APIs or manual work.
    Off the top of my head I can only think of two workarounds to this:
    - Using the recordset and Excel combined. Read all the data from one column in a table and write it to a column in an Excel file possibly using a loop. Once the process of copying all desired columns and their data is complete, save the file as .csv using the excel API. I'm afraid I don't have an example of this. (It also may be possible using Microsofts SMO or another database API rather than the recordset.)
    With this approach the drawback is it might take a long time to figure out and develop in the short term, but in the long term would save alot of manual work as it could be automatic.
    - The alternative is unfortunately a manual approach: Simply run a query on the table, and then copy all the values from a column and paste it into the excel file.
    This has no short term work but is alot of manual work in the long term.
    Hope this is useful,
    Regards,
    Niall

  • Help with the Java API

    Search on an attribute of the custom class using the Java
    API.
    I taking one of the provided classes, a "VCARD Street Address."
    Inserted the XML for it. Added some documents of that class.
    Then I set City="Charlotte." Double-checked it in the database with
    sql*plus -- I see records matching city=charlotte.
    However, searching using the Java API, I comes up blank. Using the
    following classes:
    attributequalification
    searchclause
    search
    *************Query Tester.java************
    import java.util.*;
    import java.io.*;
    import java.text.*;
    import java.util.zip.*;
    import java.rmi.RemoteException;
    // Runner Specific Imports
    import oracle.ifs.common.*;
    import oracle.ifs.utils.common.*;
    import oracle.ifs.beans.*;
    import oracle.ifs.search.*;
    import oracle.ifs.adk.filesystem.IfsFileSystem;
    public class QueryTester {
    protected SearchClause getAttributeSearchClause(SearchClause
    searchClause) throws IfsException{
    try {
    AttributeQualification attributeQualification = new
    AttributeQualification();
    attributeQualification.setAttribute("VCARDSTREETADDRESS","CITY");
    attributeQualification.setOperatorType(AttributeQualification.LIKE);
    attributeQualification.setValue("C%");
    searchClause = new
    SearchClause(searchClause,attributeQualification, searchClause.AND);
    return searchClause;
    catch (RuntimeException ex) {
    String exceptionText = "RuntimeException in
    getAttributeSearchClause(). Nested Exception:" + ex;
    System.out.println (exceptionText);
    throw ex;
    catch (IfsException ex) {
    String exceptionText = "IfsException in
    getAttributeSearchClause(). Nested Exception:" + ex;
    System.out.println (exceptionText);
    throw ex;
    protected SearchClassSpecification getSearchClassSpecification()
    throws IfsException {
    try {
    String[] searchClasses = {"DOCUMENT","CONTENTOBJECT",
    "VCARDSTREETADDRESS"};
    SearchClassSpecification searchClassSpecification = new
    SearchClassSpecification(searchClasses);
    //searchClassSpecification.addResultClass("DOCUMENT");
    searchClassSpecification.addResultClass("VCARDSTREETADDRESS");
    return searchClassSpecification;
    catch (IfsException ex) {
    String exceptionText = "Error in getSearchClassSpecification :
    " + ex;
    System.out.println (exceptionText);
    throw ex;
    public static void main (String[] args) {
    try {
    QueryTester qt = new QueryTester();
    System.out.println ("Logging in.");
    IfsFileSystem IfsAPI = new IfsFileSystem("cvars", "cvars",
    "docrunner", "ifssys");
    System.out.println ("Got this far.");
    LibrarySession libSession = IfsAPI.getLibrarySession();
    // For every document that it a content object we want to
    search
    JoinQualification joinQualification = new JoinQualification();
    joinQualification.setLeftAttribute("DOCUMENT",
    "CONTENTOBJECT");
    joinQualification.setRightAttribute("CONTENTOBJECT", null);
    oracle.ifs.beans.Folder searchFolderObject = null;
    searchFolderObject = libSession.getRootFolder();
    FolderRestrictQualification folderRestrictQualification = new
    FolderRestrictQualification();
    folderRestrictQualification.setStartFolder(searchFolderObject);
    SearchClause searchClause = null;
    SearchClause baseSearchClause = new
    SearchClause(joinQualification, folderRestrictQualification,
    SearchClause.AND);
    searchClause = qt.getAttributeSearchClause(baseSearchClause);
    AttributeSearchSpecification attribSearchSpecification = new
    AttributeSearchSpecification();
    attribSearchSpecification.setSearchClassSpecification(qt.getSearchClassSpecification());
    System.out.println ("Set the Search Class Specificiation.");
    attribSearchSpecification.setSearchQualification(searchClause);
    Search attributeSearch = new Search(libSession,
    attribSearchSpecification);
    System.out.println ("About to open Attribute Search . ");
    attributeSearch.open();
    System.out.println ("Opened the search");
    SearchResultObject[] sro = attributeSearch.getItems();
    if (sro!=null)
    System.out.println ("Results : " + sro.length);
    libSession.disconnect();
    catch (IfsException ifsex) { System.out.println (ifsex); }
    catch (RuntimeException rux) { System.out.println (rux); }
    null

    You said 'Then I set City="Charlotte." Double-checked it in the database with
    sql*plus -- I see records matching city=charlotte.'
    Your description uses both 'Charlotte' and 'charlotte'.
    Does the word 'Charlotte' appear in the database in all lower case or mixed-case?
    null

  • How to retrieve all the tasks for a UserView with the worklist api 10.1.3.1

    Hi,
    I have defined a custom view for user jcooper. The view just displays all the current uncompleted tasks for jcooper.
    I want to use the worklist api to retrieve all the tasks in the view. I first tried it with the following function call:
    taskQueryService.queryViewTasks(workflowContext,viewName, null, null, 0, 0);
    assuming that the viewId in the corresponding java-doc corresponds to the name of the view..However this doesn't work and the method returns a null reference. So viewId is something different than a viewName. Because I cannot find the corresponding viewId for my view (not looked in the db yet, but I don't want to use these ids in my app), I tried the method:
    client.getUserMetadataService().getUserTaskViewList(workflowContext, Partcipant participant);
    However I did not find a method to retrieve a Partipant instance for jcooper in the worklflow api documentation.
    My question now is if someone can help me out to retrieve all the tasks for a specific view. I should be possible I think...
    Thanks!
    Kind regards,
    -Tom

    The second argument (Participant) was added to handle the use case where one user such as an admin or manager needs to retrieve user metadata of another user (offcourse with the required security checks). We will try to do a future enhancement such that if the pariticipant is passed as null then we will assume the metadata is to be retrieved for the workflow context user.
    For now you can define a simple method to create a participant from a workflow context as follows and pass this as an argument to the UserMetadataService call:
    private Participant createParticipant(workflowContext)
    Participant participant = new oracle.bpel.services.workflow.common.model.ObjectFactory().createParticipant();
    participant.setName(workflowContext.getUser();
    participant.setRealm("jazn.com");
    participant.setType("USER");
    return participant;
    // code to retrieve task list...
    UserViewList views = client.getUserMetadataService().getUserTaskViewList(
    workflowContext, createParticipant(workflowContext))
    ...

  • Create Meeting with the XML api

    is this only available with the licensed account? Im using a trial account now and it seems I cant create a meeting, the response is No Access and Denied.
    please do give me a feed back thanks.

    Hello,
    You have must need to login as Main Administrator. Then an then you can able to process with below API.
    https://example.com/api/xml?action=sco-update&type=meeting&name=October All Hands meeting&folder-id=2006258750&date-begin=2006-10-01T09:00&date-end=2006-10-01T17:00&url-path=October
    above red clored text need to changes as per your need.
    Please let me know if you get this one help you in further process.
    Thanks,

Maybe you are looking for

  • Sharing an HP deskjet 9800 on a windows 7 64 bit machine with a machine running XP 32 bit

    I have Windows 7 (64bit) on my computer.  I want to install an x86 driver for my HP Deskjet 9800 printer so my XP laptop can print to this printer through my home network.  I started by clicking on Devices and Printer, clicked on the HP Deskjet print

  • How to gather statistics in OLM?

    Dear all experts, My manager want me to find out OLM 1) No. of courses created in 2014 2) No. of registrations in 2014 3) % of reg/Attendance 4) Success rate of tests taken by employees I do not know any table in OLM/OTA tables are very confusing. Al

  • Wireless AP 3500

    Hi, I have a new wireless configuration on a 5508 WLC. the controller is licensed for 12 AP's. I have plugged 8 AP's into the wireless vlan and 6 out of 8 come up with IP address and connect to the controller, broadcast two configured SSID's all seem

  • How to compile this java files ?

    I have two files Foo.java & Foo2.java in separate packages. PLEASE let me know how to compile these files . package XYZ; public class Foo {    public static void main(String[] args) {    } package XYZ.ABCD; class Foo2 extends Foo{ public static void

  • Additional Results option ignores \n

    When including Additional results in my test stand sequence file, i save the complete listing of a text file to this option. Problem is, in the result file(html) it displayes it without any carriage returns and line feeds...resulting in a very messy