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
-~----------~----~----~----~------~----~------~--~---

Reply via email to