On Tue, 2007-03-06 at 00:48 -0800, Jerry Cheung wrote: > Looking at AuthoringShellMain and PreviewCurnit as examples, I wanted > to understand the process to go from a curnit jar file to a launched > authoring or learning application. See bottom of message for > questions. > > AuthoringShellMain can preview a curnit as a student would see it: > - create a ICurnitProvider with our given Curnit and add it to a new > ServiceContext. > - retrieve a SessionManager from our ServiceContext. > - tell our SessionManager to start... > - which creates a new SessionContext containing the root pod of the > curnit. > - The created SessionContext initiates and starts itself. > > PreviewCurnit in the Pas Learner Runtime follows these steps to start > up the VLE: > - creates a PreviewSessionConfiguration (has a loadCurnit method which > creates PreviewSessionDataService with the given curnit) > - LaunchGenericSession takes the configuration and gives it to > SessionFactory. > - SessionFactory creates a SessionContext containing the root pod of > the curnit retrieved from the configuration's > PreviewSessionDataService and returns the context. > - The SessionContext initiates and starts itself. > Jerry you should also look at the net.sf.sail.common.apps.preview.BundleLauncher That is the class we are actually using to start up the PLR in schools right now. It allows the configuration of the different PLR/Sail services through xml. The main method in that class is using a canned xml configuration: previewBundles.xml. In the schools we download this config file from the sds. That is handled by the net.sf.sail.emf.launch.EMFLauncher2 main class. To preview things locally using the emf data persistence you should use EMFLauncher3 which takes a curnit as a commandline arg.
If you need to use custom service configurations hopefully you can continue using the BundleLauncher class just with custom xml files, and possibly simple startup classes like EMFLauncher2 and 3. > The preparation needed to start a curnit is a dataservice to access > the curnit and then a SessionContext containing the root pod to begin > execution. > > What I can't find is where the VLE or Authoring frame is started. I'm > also don't know when the beans within the Pods are actually accessed. > Originally I thought that a curnit would be completely unmarshalled > into PAS bean objects before being handed to the the authoring and > learner applications. However, is it correct to say that the VLE and > PAR expect Curnit objects (or creates a Curnit object from a given > URL), and manipulates the beans within their own Pod contexts? Look at PasProject for the PLR frame. The PasProject is the bean in the root pod of the curnit. It adds a session listener in the consumeServices call. And on the sessionStarted event it shows the frame. Another example of a "root pod bean" is in the sail-otrunk project: SailOTViewer. This uses the same approach of a sessionListener to get started. Scott --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "SAIL-Dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/SAIL-Dev?hl=en -~----------~----~----~----~------~----~------~--~---
