Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

userManager.subscribe() question

Avatar

Level 2

Can someone explain to me what subscribe() does on the userManager class?  I've attached a file that will work if the line

this.session.userManager.subscribe(); is commented out.  As soon as that line is uncommented the application throws a runtime exception:

Error: MessageManager.createNode : insufficient permissions to create node

at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::createNode()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:246]

at com.adobe.rtc.sharedModel::CollectionNode/createNode()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedModel\CollectionNode.as:362]

at com.adobe.rtc.sharedManagers::UserManager/registerCustomUserField()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedManagers\UserManager.as:635]

at PresenceTest/onUserManagerSync()[/projects/mosaic/tiles_ui/src/PresenceTest.mxml:55]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

Thanks.

-chris    

0 Replies

Avatar

Employee

Hi Chris,

As you figured out, you dont have to subscribe to the UserManager. The ConnectSession creates and subscribes it for you. I did a bit of digging and figured that due to multiple subscribes of the UserManager it goes out of sync at the time you create your custom user field. I am sure you wont hit the error if you use a new user manager(provide it a new connect session) instead of using the session's user manager.

As for your question about what does subscribe do, it creates a collection node internally and subscribes to it.The collection node stores a roster of all the users and their details and fires necessary events as users change their roles or exit the room.

Thanks

Arun

Avatar

Level 2

I had a feeling that something else was calling the subscribe() method for the userManager, and it makes sense that the ConnectSession would do that.  My the reason I posted this on here was b/c there was nothing in the api docs for subscribe() and I wanted to make sure I was not missing something. Thanks for your help.

-chris