indico / indico-plugins Goto Github PK
View Code? Open in Web Editor NEWIndico plugins developed by the Indico team
License: MIT License
Indico plugins developed by the Indico team
License: MIT License
We can probably copy a lot of the general setup steps from Indico.
Some ideas for better performance:
(Brainstorming - comments welcome!)
This storage plugin (storage_s3
) would use boto3 (or any other well-maintained AWS/S3 client) to implement a storage backend (s3:...
) for attachments etc. backed by S3.
Some functionality the plugin should have:
^[a-z0-9-]{3,63}$
)datestamp
in the eos/xrootd backend)s3:config=/path/to/config.file,rotate=weekly
to keep the indico config cleaner when using multiple s3 backends with almost identical configsaddressing_style
, but being able to override this probably makes sense. To discuss: always specify content-disposition/content-type with what we have in our database or just specify it during save and assume it remains correct? TTL of the signed links?While we will most likely use Ceph's S3 API at CERN - also for testing/development - we should make sure the backend works fine with the "real' Amazon S3 as well. The free trial account might do the job, since it includes S3 storage as well.
Useful docs link: http://boto3.readthedocs.io/en/latest/guide/s3.html
{% for field in form.visible_fields if field.short_name not in form.event_specific_fields %}
Simply removing the condition makes it a bit ugly. It would be nice to show some kind of header informing the user that those settings only affect the current event even if the chatroom is used in multiple events.
This would be a one-off thing (possibly repeatable as long as we can easily know for who we already created a participant to just deal with new ones), probably via a button in the registrant list (for selected registrants) or on the videoconference page (for all registrants).
Clicking it would then create Zoom participants and email the individual join links to each person.
Hi @ThiefMaster, would you mind to create a release out of the existing tags?
Andrii
On the VC management page of an event, the "make me moderator" button is not rendered as in the event page.
Task indico_piwik.queries.tracking.track_download_request with id 177f854b-c41e-402e-b3e7-f7504799b316 raised exception:
"KeyError(u'\\xb4',)"
Task was called with
args: (u"https://indico.cern.ch/event/242207/material/slides/0.pptx?\xb4'0x27",
'Download - Lopienski-2013.07-students-2-secure-web-applications_print.pptx')
kwargs: {u'__current_plugin__': 'piwik'}.
The contents of the full traceback was:
Traceback (most recent call last):
File "/opt/indico/env/lib/python2.7/site-packages/celery-3.1.18-py2.7.egg/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.3-py2.7.egg/indico/core/celery/core.py", line 144, in __call__
return super(IndicoTask, s).__call__(*args, **kwargs)
File "/opt/indico/env/lib/python2.7/site-packages/celery-3.1.18-py2.7.egg/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/opt/indico/env/lib/python2.7/site-packages/indico_piwik/queries/tracking.py", line 40, in track_download_request
action_url = quote(download_url)
File "/opt/rh/python27/root/usr/lib64/python2.7/urllib.py", line 1282, in quote
return ''.join(map(quoter, s))
KeyError: u'\xb4'
The Invenio plugin seems to be broken right now.
Is your feature request related to a problem? Please describe.
sortof, but not an indico problem, over the last 7 years, across home institutes, browsers, clients, phones, laptops, with contacting the vidyo support, i haven't reliably got vidyo to work.
Describe the solution you'd like
sometimes one needs to connect to the vidyo room administration website as meeting convenor (e.g. mute a participant's microphone, stop someone's screen share). some vidyo clients provide the link to the administration website, but not all (the phone bridge or SIP portal certainly cannot, i haven't found the link in the android client). so a direct link to the administration interface could gap that.
Describe alternatives you've considered
filing a service now ticket to ask the cern vidyo support to do the task (mute, kick, stop share), unfortunately the response time there is on a scale from hours to weeks in my experience and i'm looking for something that does the job within minutes.
Additional context
idea came up when struggling with cern service no ticket INC1853419
It seems the zoom plugin administration interface (admin/plugins/vc_zoom/) is not using localized strings.
They are defined in Transifex, but even when they are translated, US English version is displayed in the inteface.
Uploading files larger than 5GB fail otherwise (e.g. material packages).
We need to make sure that the MD5 checksum is correctly stored - AFAIK the ETag in case of chunked uploads is NOT the md5, so we should make sure to attach the x-amz-meta-md5chksum
header (unless boto3 does this automatically).
This issue will describe the task of moving the proof of concept for the file-picker integration into a separate plugin.
The steps are the following:
indico-plugin-owncloud
Things to keep in mind:
Hello Responsible,
I had build one plugin for payment.
Checkout -> payment -> inidco controller -> success
here via code payment will be deducted, but on page it shows "Bad Request" error message.
I don't even getting any error message on log or not identifying how it comes.
So idoco framework don't tell where exact issue for "Bad Request"
Also strange happen, when I had bad request message on page and in case I refered it works.
But I had to manually fresh every time, which seesm not good solution over indico platform.
Kinldy guide me what steps to carry to resolve it.
Doesn't make much sense to use POST for a search form. People might want to link to a search and with POST that's not really possible.
Zoom meeting expirations are not handled by the webhook event meeting.deleted
.
To prevent meetings from expiring unexpectedly, we could periodically pool these for events to happen in the future.
Right now, the only thing we do is checking, after the move, whether the event ended up in an excluded category. If that's the case, we just ignore it. We should add a LiveSyncQueueEntry
that deletes the record.
It would be great if the indico zoom plugin provided an integration option under OAuth (which does not require developer privileges). Unfortunately I am unable to obtain developer credentials with our zoom instance, so I'm unable to build a JWT App.
To reproduce: Going into this search and clicking on any of the sidebar filters which report to have a high count of entries. CERN, the first one in Affiliations shows 15k and has 0 results.
Besides the (user-changable) title and the "To pay via bank transfer, please use the following data:" message there are no references to bank transfers in the manual payment plugin. It would be useful to remove that message (people can put it in the custom text) - that way you can use the module e.g. if you just want to put a link to an external payment system.
I would like to change the setting for my institution but I was no able to find in which file I have to do that.
These are the most relevant configuration options:
Notification email addresses - Additional e-mails which will receive notifications
E-mail domains - List of e-mail domains which can be used for the Zoom API (e.g. cern.ch)
Webhook token (optional) - the token which Zoom requests will authenticate with (get it from Zoom Marketplace)
Describe the bug
The event summary statistics on CERN Indico clearly do not work.
To Reproduce
Following the following URL to get statistics on our workshop from last month:
https://indico.cern.ch/event/908146/manage/statistics/?start_date=2020-05-01&end_date=2020-06-08
Indico reports 0 visitors, which is clearly nonsense for an event with over 200 people registered (see screenshot).
It's also inconsistent with the default query window (2020-04-29 to 2020-05-13), which lists 593 visitors (second screenshot).
Expected behavior
Give reliable data.
In particular it's very desirable for us, as organisers, to see how often the videos of the event were viewed.
It'd be great to configure cohosts in the Zoom room configuration dialog. It would be particularly useful when you create a room on behalf of somebody else and also want to cohosts other than yourself, as you cannot do it through the Zoom interface after transferring the ownership to somebody else. BTW it would be great to have the option "add yourself as a cohost" in the same dialog rather than hidden in the menu attached to join button.
If the service is down for some reason, users have to delete the PPT file and add it back in order to have it converted. There should be either an automatic retry or an option for the user to trigger it.
> Traceback
> ---------
> Traceback (most recent call last):
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.5-py2.7.egg/MaKaC/webinterface/rh/base.py", line 674, in process
> profile_name, res = self._process_retry(params, i, profile, forced_conflicts)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.5-py2.7.egg/MaKaC/webinterface/rh/base.py", line 619, in _process_retry
> return self._process_retry_do(profile)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.5-py2.7.egg/MaKaC/webinterface/rh/base.py", line 612, in _process_retry_do
> res = self._process()
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.5-py2.7.egg/MaKaC/webinterface/rh/conferenceModif.py", line 510, in _process
> self._conf.delete(session.user)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico-1.9.5-py2.7.egg/MaKaC/conference.py", line 2552, in delete
> signals.event.deleted.send(self, user=user)
> File
> "/opt/indico/env/lib/python2.7/site-packages/blinker/base.py", line 267, in send
> for receiver in self.receivers_for(sender)]
> File
> "/opt/indico/env/lib/python2.7/site-packages/flask_pluginengine/util.py", line 192, in wrapped
> return func(*args, **kwargs)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico_livesync/handler.py", line 99, in _deleted
> _register_deletion(obj, parent)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico_livesync/handler.py", line 176, in _register_deletion
> g.livesync_changes[obj_ref(obj, parent)].add(ChangeType.deleted)
> File
> "/opt/indico/env/lib/python2.7/site-packages/indico_livesync/util.py", line 33, in obj_ref
> ref = {'type': 'event', 'category_id': obj.getOwner().id, 'event_id': obj.id}
> AttributeError: 'NoneType' object has no attribute 'id'
432541 is one of the events where it failed the first time, but worked fine when trying it again
The default configuration options for piwik can not be overwritten by adding an entry in the configuration file indico.conf unlike the customizable settings for Indico.
I think it would be a nice to have, since it will allow having this configuration defined as code . The only working approach at this time is to set them manually through the UI.
I need an invoice number (also for possible other payment plugins) that is compatible to our books (e.g. the correct cost center)
Currently it's hardcoded:
<input type="hidden" name="invoice" value="{{ registration.event_id }}_{{ registration.id }}">
It would be nice to allow some placeholders to be configured, just like we do in payment_manual. There would be an option in the plugin's settings for the default and another one in the plugin's event settings so it can be customized on the event level.
The current (very old) version is broken once we update updat Jinja since it's using a deprecated import that has been removed.
2022-04-25 11:49:44,074 ERROR 0000000000000000 - indico.plugins Could not load plugin previewer_jupyter
Traceback (most recent call last):
...
File "/home/adrian/dev/indico/py3/plugins/public/previewer_jupyter/indico_previewer_jupyter/controllers.py", line 12, in <module>
from nbconvert.exporters import HTMLExporter
File "/home/adrian/dev/indico/py3/env/lib/python3.9/site-packages/nbconvert/__init__.py", line 4, in <module>
from .exporters import *
File "/home/adrian/dev/indico/py3/env/lib/python3.9/site-packages/nbconvert/exporters/__init__.py", line 3, in <module>
from .html import HTMLExporter
File "/home/adrian/dev/indico/py3/env/lib/python3.9/site-packages/nbconvert/exporters/html.py", line 12, in <module>
from jinja2 import contextfilter
ImportError: cannot import name 'contextfilter' from 'jinja2' (/home/adrian/dev/indico/py3/env/lib/python3.9/site-packages/jinja2/__init__.py)
I remember the last time I tried to update (IIRC during early 3.0) the styling was very broken, so there's probably some customization needed to get a similarly "normal" look&feel when previewing a Jupyter notebook within Indico.
The password that is set in the plugin settings is stored as plain text in the database. This is actually true for any password that is set via a IndicoPasswordField
in any plugin.
I do not think that this is desirable or am I paranoid?
I discovered that in certain conditions, assigning an existing Zoom meeting to an Indico event changes that Zoom meeting from scheduled to recurring.
This by itself is usually not a problem - unless that Zoom meeting required registration. Registration can be required only for scheduled Zoom meetings, and so changing it to a recurring meeting effectively means that registration is not longer required to join that meeting.
This may be very problematic for Zoom meetings when having obligatory registration was crucial - I've been bitten by exactly this earlier this week 🙁
A solution would be to check whether the Zoom meeting uses registration and in that case:
Regarding
I thought I'd just note that this is not a sentence right now. Let me know if you prefer a PR instead of just an issue.
reCaptcha is popular (and convenient) but not privacy-friendly. For those who want better security than the built-in CAPTCHA but don't want to feed Google event more data, this would be a good alternative.
There's good chance that the recaptcha plugin can be just copied with just some minor changes. The APIs look similar enough and they claim the whole thing is a drop-in replacement for recaptcha.
https://docs.hcaptcha.com/
https://www.npmjs.com/package/@hcaptcha/react-hcaptcha
If they are similar enough, we could even consider renaming the plugin before releasing it and supporting both (but good luck finding a decent name for it... indico_rehcaptcha
? indico_re_h_captcha
?)
VC managers can't access the event management page, nor the VC room details page from the service overview. Not authorized error.
We got this suggestion in a ticket:
I know I can select by date, but I am wondering if the sorting policy can be made default.
For example, if I search for a person A and change the results sorting to "newest first" I can get a chronological list of meetings in which A presented. If I now type a person B in the search bar, the sort policy goes back to "most relevant". Could this be avoided through the user preferences?
TBH I also usually switch to "most recent"... it could be interesting to either save your last order it in a user preference (but for "oldest first" that may be weird since that's likely NOT what one wants by default), or simply not reset it when you search for something else without reloading the page.
PayPal's API will send stuff encoded in windows 1252 by default, but mixed with UTF characters (go figure). The only way to reliable fix this issue is to have users configure their PayPal account to use UTF-8 by default. We should add a warning somewhere, linking to the docs, which should contain something like this.
Hi,
I need to implement a custom importer, which reads the data from a CSV file and imports them to the indico. After successfully importing the papers, I would like to group them into sessions using Indico. I'm using Indico 1.2. Where I can find a detailed documentation how to start with this stuff?
thanks for your help,
Michał
Especially not with the misleading "Could not find Zoom user for alternative host" error message.
Maybe we can simply ignore those (depending on whether that works on the Zoom API or not), or otherwise skip them (ie remove them as co-hosts)
We have some plugins which we aren't using anymore and thus don't really spend time on maintaining; and chances are good the community isn't actively using them either.
Should we move those into a separate repo (e.g. indico-plugins-attic
), and also remove them (if currently included) from the indico-plugins
meta package?
Good candidates for that would be:
chat
- Jabber isn't really a thing anymore, we also don't use it, and except for obvious things that need fixing after refactoring things in the code (which are usually only found by searching in the codebase, not by actually testing the plugin) it's unmaintainedsearch-invenio
- known to be broken since 2.1 or earlier. Never released on PyPI either.livesync-invenio
- not really useful without search-invenio
; not actively used, probably not working with latest invenio, uses very legacy (marcxml) serialization logic from the corestorage-xrootd
- EOS/XrootD for storage is not really used anywhere except at CERN, and we stopped using it for Indico (besides a small instance that still needs to be moved to s3 object storage)cc @pferreir
Hi,
It would be great to have a Zoom plugin implementation together with Indico.
As Basic - having the ability to add information to the event about the join URL and additional phone numbers is enough;
As Extended - automatically create the room and populate this information from zoom to indico would be awesome.
Maybe the clipboard js is not initialized at all since Firefox doesn't even ask me to allow Flash to run (while it does in the management area and the button works fine there)
VidyoConnect now has this nice "Meetings" feature that looks into your Exchange/Google calendar and lets you connect directly to the corresponding VC room. In order for that to be possible, we have to add a field to the ICS export metadata:
URL_VIDYO: https://vidyoportal.cern.ch/join/xxxxxxx
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.