Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

new rooms, permissions, and dev login

Avatar

Level 4

i use the server integration API to create a new room on the fly.  however, that new room requires an initial dev account login before the multiuser features are permitted.  i cannot do this manually through the room console because in my application new rooms are created dynamically when a user creates a new account within my own application.

i see no way in the server integration API to accomplish this dev login, and creating a SWF that does that dev login automatically to "authorize" the room is totally insecure due to dev credentials existing therein.

is there any way to permit multiuser features in a newly created room without having to manually log in via the room console?  if not, this is a serious hurdle to creating commercial applications with AFCS.

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Hi There,

The answer to this problem is to use Application Templates. To do this :

A) Create a room as a developer and add the features you want to it (as

usual, you'll have to be logged into LCCS with dev credentials).

B) Go to the dev portal (https://afcs.acrobat.com/) and hunt down the room

you just made, and select it on the list.

C) Hit "Template..." and either create a new app or apply to an existing

app.

D) From now on, any room you create within that app (including when you use

the server APIs, just use the name of your application as the template

parameter) will come pre-supplied with all the collections, nodes, and items

you set up in A), meaning all your collaboration features should be enabled.

hope that helps!

nigel

View solution in original post

2 Replies

Avatar

Correct answer by
Former Community Member

Hi There,

The answer to this problem is to use Application Templates. To do this :

A) Create a room as a developer and add the features you want to it (as

usual, you'll have to be logged into LCCS with dev credentials).

B) Go to the dev portal (https://afcs.acrobat.com/) and hunt down the room

you just made, and select it on the list.

C) Hit "Template..." and either create a new app or apply to an existing

app.

D) From now on, any room you create within that app (including when you use

the server APIs, just use the name of your application as the template

parameter) will come pre-supplied with all the collections, nodes, and items

you set up in A), meaning all your collaboration features should be enabled.

hope that helps!

nigel

Avatar

Level 4

thanks nigel, i thought i was doing this already but it appears i wasn't supplying the template name.  much appreciated.

while trying to figure this out, i was seeing a lot of uncaught exceptions thrown into the flash player .  i've been able to catch most of them with try/catch blocks, but this one remains (see stack trace below) :

so far i can't find where this uncaught exception is being thrown.  i'm publishing/subscribing to webcams and audio, starting a chat, and listening to UserManager events, but i have try/catch blocks all around those.  any idea where this exception might be thrown?  i just want to catch it and report my own error to the user instead of it happening through the flash player dialog.

Error: Error - insufficient permissions to create a new CollectionNode. You must be an OWNER of the room to add new multi-user features to it. Log in with developer credentials in order to do so.

at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::subscribeCollection()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\messaging\manager\MessageManager.as:192]

at com.adobe.rtc.messaging.manager::MessageManager/flushPendingSubscriptions()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\messaging\manager\MessageManager.as:794]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.adobe.rtc.session::ConnectSession/checkManagerSync()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\session\ConnectSession.as:510]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.adobe.rtc.sharedManagers::UserManager/userReceivedOrEdited()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\sharedManagers\UserManager.as:1082]

at com.adobe.rtc.sharedManagers::UserManager/onItemReceive()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\sharedManagers\UserManager.as:934]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.adobe.rtc.sharedModel::CollectionNode/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveItem()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\sharedModel\CollectionNode.as:742]

at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveItem()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\messaging\manager\MessageManager.as:663]

at com.adobe.rtc.session.managers::SessionManagerBase/receiveItem()[C:\work\main\connect\SDKApp\payload\libs\flashOnly\player10\src\com\adobe\rtc\session\managers\SessionManagerBase.as:331]

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----