From dd734df1f85139c0876f3e05139f2de52e14c1e8 Mon Sep 17 00:00:00 2001 From: erikjohnston Date: Tue, 21 May 2024 09:56:00 +0000 Subject: deploy: 8b43cc89fae94030708d20d99ee4c2017f39d95d --- v1.108/modules/porting_legacy_module.html | 221 ++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 v1.108/modules/porting_legacy_module.html (limited to 'v1.108/modules/porting_legacy_module.html') diff --git a/v1.108/modules/porting_legacy_module.html b/v1.108/modules/porting_legacy_module.html new file mode 100644 index 0000000000..1a5035f265 --- /dev/null +++ b/v1.108/modules/porting_legacy_module.html @@ -0,0 +1,221 @@ + + + + + + Porting a legacy module to the new interface - Synapse + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+
+ +
+ +
+ +

Porting an existing module that uses the old interface

+

In order to port a module that uses Synapse's old module interface, its author needs to:

+
    +
  • ensure the module's callbacks are all asynchronous.
  • +
  • register their callbacks using one or more of the register_[...]_callbacks methods +from the ModuleApi class in the module's __init__ method (see this section +for more info).
  • +
+

Additionally, if the module is packaged with an additional web resource, the module +should register this resource in its __init__ method using the register_web_resource +method from the ModuleApi class (see this section for +more info).

+

There is no longer a get_db_schema_files callback provided for password auth provider modules. Any +changes to the database should now be made by the module using the module API class.

+

The module's author should also update any example in the module's configuration to only +use the new modules section in Synapse's configuration file (see this section +for more info).

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + -- cgit 1.5.1