aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-18 17:01:06 -0700
committerfriendica <info@friendica.com>2013-10-18 17:01:06 -0700
commitf2daed5188f5999d6cdf5a4de7e05dc03ac6f69c (patch)
treef73358b591c66895216edb5cb63dea80b3632d4a
parentac23a1bfa2fdf3312714757915138379b93a606a (diff)
downloadvolse-hubzilla-f2daed5188f5999d6cdf5a4de7e05dc03ac6f69c.tar.gz
volse-hubzilla-f2daed5188f5999d6cdf5a4de7e05dc03ac6f69c.tar.bz2
volse-hubzilla-f2daed5188f5999d6cdf5a4de7e05dc03ac6f69c.zip
basic gotcha's enumerated when porting Friendica addons
-rw-r--r--doc/Plugins.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/doc/Plugins.md b/doc/Plugins.md
index f22f1b09d..c3eaea348 100644
--- a/doc/Plugins.md
+++ b/doc/Plugins.md
@@ -242,3 +242,19 @@ we will create an argc/argv list for use by your module functions
3 whatever
+***Porting Friendica Plugins***
+
+The Red Matrix uses a similar plugin architecture to the Friendica project. The authentication, identity, and permissions systems are completely different. Many Friendica can be ported reasonably easily by renaming a few functions - and then ensuring that the permissions model is adhered to. The functions which need to be renamed are:
+
+* Friendica's pluginname_install() is pluginname_load()
+
+* Friendica's pluginname_uninstall() is pluginname_unload()
+
+The Red Matrix has _install and _uninstall functions but these are used differently.
+
+* Friendica's "plugin_settings" hook is called "feature_settings"
+
+* Friendica's "plugin_settings_post" hook is called "feature_settings_post"
+
+Changing these will often allow your plugin to function, but please double check all your permission and identity code because the concepts behind it are completely different in the Red Matrix. Many structured data names (especially DB schema columns) are also quite different.
+