I'm guessing based on your email that the paragraph starting with:
[EMAIL PROTECTED] (value: <?xml 
version="1.0"

Is the output of the debugger when you are running the activity.  Is 
that right?

If so, then the problem is not that the rim or sock is null.   The issue 
is that the podUUIDs being saved into the navigation_log are null.

So based on the code you sent the problem is: getItemUUID(item)  returns 
null.

This is probably because the Pas beans are not actually in Pods when 
running in PasOTrunk. 

The learner data system gets around this by using a method on the Rim 
object called "getContainerId".   And in PasOTrunk a extension of Rim 
(OTrunkRim) is used so the getContainerId returns the id of the Pas 
bean's associated OTObject.

I think the getItemUUID method can be modified, so it determines if the 
"item" is inside of a Pod and in that case it uses the id of the pod.  
If not then it uses the controllerService to find the OTObject for the 
"item", and uses the UUID of that.

Otherwise, we could create fake Pod objects so the PasOTrunk beans are 
actually inside of Pods. 

This same probably will affect the curnit map code.  So before fixing 
the navigation log, you should look at the curnit maps code's version of 
the getItemUUID method.

So it seems there are 3 places where the UUID of a Pod is used in the 
Sail/Pod code:
- learner data system to find the container of the rim
- navigation log to log the id of the current object being viewed
- curnitmap to write out a summary of the activity including id's so 
they can be matched up with the learner data and the navigation log.

Scott

Anthony Perritano wrote:
> I think the NavigationLog might be a little different.
>
> i create the navigation rim in OTPasProjectController like yay:
>
> Rim navRim = new OTrunkRim("navigation_log", String.class, otProject);
> project.setNavigationLogRim(navRim);
>
> The rim is created successfully, however the when navigating it does 
> not log correctly, it is always null:
>
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <project_open podUUID="null" />
> , millisecondsOffset: 27957), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_close podUUID="null" />
> , millisecondsOffset: 28199), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_open podUUID="null" />
> , millisecondsOffset: 28200), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_close podUUID="null" />
> , millisecondsOffset: 137241), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_open podUUID="null" />
> , millisecondsOffset: 137243), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_close podUUID="null" />
> , millisecondsOffset: 864614), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_open podUUID="null" />
> , millisecondsOffset: 864616), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_close podUUID="null" />
> , millisecondsOffset: 869541), 
> [EMAIL PROTECTED] (value: <?xml 
> version="1.0" encoding="UTF-8"?>
> <step_open podUUID="null" />
> , millisecondsOffset: 869552)]
>
> Object gotoStepElement = getPasProject().getItemLog("step_open",
> getGotoStep());
>
> getItemLog:
> public String getItemLog(String name, BeanContextChildSupport item) {
> Element itemLog = domFactory.element(name);
> Document document = domFactory.document(itemLog);
> String id = getItemUUID(item);
> itemLog.setAttribute("podUUID", id == null ? "null" : id);
> return outputter.outputString(document);
> }
>
> I have been doing some investigating. the fact that all these are null 
> have to do with the curnitmap not being generated? Then when a step is 
> opened it should set "step_open" right?
>
> thx
> Tony
>
>
>
> On [Jun 4], at 7:26 AM, Scott Cytacki wrote:
>
>>
>> The current rim/sock implementation used by PasOtrunk requires the
>> controllers to create the rims dynamically so the Pas beans can get
>> them, get a sock for them, and store data in.
>>
>> I would guess that the NavigationLog is looking for a rim on the
>> PasProject and not finding it.  So probably the  PasProject controller
>> needs to be modified to create that rim and add it to the PasProject
>> when it loads it up.
>>
>> Scott
>>
>> Anthony Perritano wrote:
>>> The NavigationLog in Pas uses the a Sock and Rim. Right now it comes  
>>> up null. I have been looking at it to see how to get it working with  
>>> otrunk based projects. It seems that their needs to be an entry in the  
>>> otml defined. thoughts? but i don't know how we would define it based  
>>> on the current rim/sock implementation for po-trunk. what is its  
>>> relationship to rims and socks defined in steps?
>>>
>>> -Tony
>>>
>>>
>>>
>>>
>>>>
>>>
>>
>>
>>
>>
>
> -Tony
>
>
>
>
> >


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