Giter VIP home page Giter VIP logo

moodle-local_webmonetization's Introduction

What is Web Monetization

A JavaScript browser API which allows the creation of a payment stream from the user agent to the website.

Find out more

Set up guide

Set up as a content publisher

In order to use this plugin

  1. Create a digital wallet and make a note of your payment pointer, there is a guide to doing this here: Digital Wallet and Payment Pointers

  2. Install Moodle

  3. Install this plugin into your Moodle site. This plugin should be placed in the local/webmonetization directory in the root of your Moodle site.

  4. Navigate to Site administration > Plugins > Local plugins > Web monetization, check the enable box and click save.

  5. Set up payment pointers throughout the site, you can do this in to ways:

    At a system level (thought the site administration link you visisted above)

    By navigating to a Moodle category, course or course module, in the navigation menu there will be a link "Manage payment pointer", follow this link and enter your payment pointer.

    You will need the 'local/webmonetization:managepaymentpointers' capability in the context that you wish to set the pointer.

Once you have done this Moodle will include the payment pointer for the context of the current page or it's nearest parent, e.g. a screen within an activity will look for payment pointers in the activity (course module), course, course category and then the system context and use the nearest one it finds.

You can see a Moodle site with the plugin installed and configured by going to Open Source Learning's example site OSL Example site

Set up as a content consumer

In order to send payments to a site using that has this plugin installed you will need to:

  1. Have an account or subscription with a Web Monetization provider (also known as a WM sender).
  2. Have a Web Monetization agent installed in their browser with the necessary authorization to initiate payments from the WM provider on the user's behalf.

Signing up with Coil and installing one of their desktop browser extensions or their mobile puma browser is currently the easiest way to do this.

TODO:

Author

The module has been written and is currently maintained by Andrew Hancox on behalf of Open Source Learning.

The project is funded by Grant for the Web is a $100M fund to boost open, fair, and inclusive standards and innovation in Web Monetization.

Useful links

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

moodle-local_webmonetization's People

Contributors

andrewhancox avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

moodle-local_webmonetization's Issues

Privacy API not implemented

All plugins that somehow integrate with an external system should have the privacy API implemented so that admins are cllearly informed about what personal data are shared with an external system.

It may be that in this case no personal data are shared (TBC). In either case, having the privacy API implemented would make it clearer.

Error after adding payment pointer

I followed the description and added a payment pointer to a course category. I received the following error and I can't use the site since then:

Exception - Return value of local_webmonetization\receiptverifier::get_receiptverifier() must be an instance of local_webmonetization\receiptverifier or null, none returned
Debug info:
Error code: generalexceptionmessage
Stack trace:

line 102 of /local/webmonetization/classes/receiptverifier.php: TypeError thrown
line 55 of /local/webmonetization/lib.php: call to local_webmonetization\receiptverifier::get_receiptverifier()
line 657 of /lib/outputrenderers.php: call to local_webmonetization_before_standard_html_head()
line 219 of /lib/mustache/src/Mustache/Context.php: call to core_renderer->standard_head_html()
line 138 of /lib/mustache/src/Mustache/Context.php: call to Mustache_Context->findVariableInStack()
line 31 of data/localcache/mustache/1639513276/boost/__Mustache_5d2c5b634f028cc9d1e1a83931c95cb2.php: call to Mustache_Context->findDot()
line 13 of data/localcache/mustache/1639513276/boost/__Mustache_b67fa074c2fe667346f4a01dcb799898.php: call to __Mustache_5d2c5b634f028cc9d1e1a83931c95cb2->renderInternal()
line 67 of /lib/mustache/src/Mustache/Template.php: call to __Mustache_b67fa074c2fe667346f4a01dcb799898->renderInternal()
line 200 of /lib/outputrenderers.php: call to Mustache_Template->render()
line 59 of /theme/boost/layout/columns2.php: call to renderer_base->render_from_template()
line 1400 of /lib/outputrenderers.php: call to include()
line 1330 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
line 86 of /local/webmonetization/editcontextpaymentpointer.php: call to core_renderer->header()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.