Configuration for vidyo plugin in an instance of INDICO outside CERN?


If there is any admin in this forum that maintains an instance of INDICO outside CERN, configured to use an instance of Vidyo -either the CERN or local-, I wonder if he or she wouldn’t mind sharing the plugin configuration.
Of course, not the sensitive parts, like passwords…

I am in the process of learning how to setup the vidyo plugin, and I am not sure how many things I need to setup. In particular, if I end up using the CERN portal remotely from our local INDICO instance.
So, if anyone already passed thru this process, and want to share experience, any comment or suggestion is more than welcome.

Thanks a lot in advance.

That won’t happen since you’d need admin credentials for our instance. Also, none of our configs are in the plugin itself (the default config doesn’t contain any API urls or credentials) - they are all set via the admin area.

thanks for your prompt reply.

Need clarification, though. When you say “need admin credentials for our instance”, do you mean the CERN’s intance of Vidyo?
Do I understand then that an INDICO outside CERN can only use a local vidyoportal in the same place?

Also, what exactly do you mean by “the admin area”? I just started with this, but so far only place I see for the plugin configuration is the code itself, in a method called “default_settings( )”. Is there any other place for the plugins configuration -Vidyo in particular-?

NOTE: maybe I am trying something impossible, even though that is not the case. I am working with a development installation of INDICO. That is not a problem in order to setup vidyo plugin, is it?

You do not need to (and should not!) edit any Python files to configure anything :wink:

If you login to indico, go to the admin area, then select “plugins” on the side menu. There you can configure all plugins.

Ahh. I see. Thanks !!

You can use any Vidyo instance where you have API access. Usually that’s your own.

Thanks a lot. Now I have a better feeling on how this work.
And I assume that the field “authenticators” in the admin page refers to this , right?

Yep, needs to be a key from this dict - in our case we point to our LDAP backend, since out LDAP usernames are the same in Indico and Vidyo (since both use it).

So, speaking of plugins, connecting to my other thread (bluejeans), should I understand then than if I create a plugin for it similar to the vidyo one, the fields that I list in the plugin code will show up automagically in the admin page?

Yes, if you have a plugin which has configurable = True and a settings_form, then this form will be used to show the configuration page in the admin area.

excellent !! Thanks a lot, extremely helpful !!


I’m also in the process of setting up the Vidyo plugin, but using a Vidyo Portal (at a hosting service) for which I already have admin privileges and API access.

It seems that Indico correctly connects with the Vidyo Portal, but it fails when it is trying to create the VC room, raising this exception:

"APIException: Invalid Extension - Extension does not start with Tenant Prefix101042"

Note that Prefix101042 is the combination of the plugin configuration parameter "Indico tenant prefix" (10) and the number of the event/conference in which I am creating the vidyo room (1042)

I’m posting the log at the bottom. Any suggestion will be welcome.

Thank you very much in advance.

Indico version installed (2.1.8)
Python version used (2.7.5)

Traceback (most recent call last):
  File "/opt/indico/.venv/lib/python2.7/site-packages/flask/", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/indico/.venv/lib/python2.7/site-packages/flask/", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico/web/flask/", line 114, in wrapper
    return obj().process()
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico/web/", line 289, in process
    res = self._do_process()
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico/web/", line 259, in _do_process
    rv = self._process()
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico/modules/vc/", line 153, in _process
    self.plugin.create_room(vc_room, self.event)
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico_vc_vidyo/", line 193, in create_room
  File "/opt/indico/.venv/lib/python2.7/site-packages/indico_vc_vidyo/api/", line 47, in _wrapper
    raise APIException(err_msg)
APIException: Invalid Extension - Extension does not start with Tenant Prefix101042

Request Data
{u'data': {u'get': {},
           u'headers': {'Accept': u'application/json, text/javascript, */*; q=0.01',
                        'Accept-Encoding': u'gzip, deflate, br',
                        'Accept-Language': u'en-US,en;q=0.5',
                        'Content-Length': u'646',
                        'Content-Type': u'application/x-www-form-urlencoded; charset=UTF-8',
                        'Cookie': REMOVEDBYME,
                        'Host': u'MYHOST',
                        'Referer': u'MYHOST/event/1042/manage/videoconference/',
                        'User-Agent': u'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0',
                        'X-Csrf-Token': u'REMOVEDBYME',
                        'X-Requested-With': u'XMLHttpRequest'},
           u'json': None,
           u'post': {'vc-auto_mute': u'y',
                     'vc-csrf_token': u'REMOVEDBYME',
                     'vc-description': u'6mayo4',
                     'vc-linking': u'event',
                     'vc-moderation_pin': u'12345',
                     'vc-name': u'vidyo1',
                     'vc-owner_user': u'[{"_fossil":"avatar","_type":"Avatar","address":"fsdadasfasd","affiliation":"CIEMAT","email":"", ... REMOVEDBYME ...}]',
                     'vc-room_pin': u'123456',
                     'vc-show': u'y',
                     'vc-show_autojoin': u'y',
                     'vc-show_phone_numbers': u'y'},
           u'url': {'confId': u'1042', 'service': u'vidyo'}},
 u'endpoint': u'vc.manage_vc_rooms_create',
 u'id': 'ccREMOVEDBYMEffc',
 u'ip': '172.REMOVEDBYME',
 u'method': 'POST',
 u'referrer': 'MYHOST/event/1042/manage/videoconference/',
 u'rh': 'RHVCManageEventCreate',
 u'time': '2019-05-06T12:21:21.693445',
 u'url': u'MYHOST/event/1042/manage/videoconference/vidyo/create',
 u'user': {u'email': u'',
           u'id': 0,
           u'name': u'REMOVEDBYME'},
 u'user_agent': u'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'}