{"id":20156183,"url":"https://github.com/openfun/marsha-plugins","last_synced_at":"2026-03-06T17:32:31.440Z","repository":{"id":79716938,"uuid":"220450575","full_name":"openfun/marsha-plugins","owner":"openfun","description":null,"archived":false,"fork":false,"pushed_at":"2019-11-12T14:17:54.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-13T12:48:44.796Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openfun.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-08T11:12:46.000Z","updated_at":"2019-11-12T14:17:51.000Z","dependencies_parsed_at":"2023-06-18T20:33:27.606Z","dependency_job_id":null,"html_url":"https://github.com/openfun/marsha-plugins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fmarsha-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fmarsha-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fmarsha-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openfun%2Fmarsha-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openfun","download_url":"https://codeload.github.com/openfun/marsha-plugins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241596242,"owners_count":19988041,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T23:37:54.588Z","updated_at":"2026-03-06T17:32:31.390Z","avatar_url":"https://github.com/openfun.png","language":"HCL","readme":"# Marsha plugins\n\nThis repo contains optional plugins for the [Marsha](https://github.com/openfun/marsha) application.\n\nPlugins are pure JavaScript files injected in the [LTI template](https://github.com/openfun/marsha/blob/e5dec6b8ae662ab35950e5976296653cb29dbd7c/src/backend/marsha/core/templates/core/lti.html#L14-L16) and executed when the target `iframe` is loaded.\n\n## Getting started\n\nJavascript file are hosted on an AWS S3 bucket and distrbuted using AWS CloudFront. To bootstrap everything we use terraform.\n\n\n🔧 **Before you go further**, you need to create `./src/aws/env.d/development` and replace the relevant values with your own.\n\n    $ cp ./env.d/development.dist ./env.d/development\n\nCreate the shared state bucket where `Terraform` will keep all the information on your deployments so different developers/machines/CI processes can interact with them:\n\n    $ make state-create\n\nInitialize your `Terraform` config:\n\n    $ make init\n\nIn order to have multiple environments (_e.g._ `development`, `staging`, `preproduction` and `production`) you must create a Terraform workspace and use it before deploying the project:\n\n    $ ./bin/terraform workspace create development\n\nThen you can create the architecture and deploy all plugins:\n\n    $ make deploy\n\nAt then end of the deployment terraform will output the AWS CloudFront url you will use to distribute javascript files.\n\n## Available plugins\n\n### Adways\n\nAdways is an interactive videos solution. The plugin lives in `src/static/js/adways.js`. To distribute it the URL will be: `https://yourCloudFrontDomain.com/static/js/adways.js`.\n\nTo use it with marsha, the adways publication id must be added in the LTI url using the `adways_id` query string, this will automatically activate the plugin. Example: `https://marsha.education/lti/videos/7693f1cb-572e-4439-8f5a-e9ca5c32f062?adways_id={YOUR_PUBLICATION_ID}`.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fmarsha-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfun%2Fmarsha-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfun%2Fmarsha-plugins/lists"}