zusam / zusam

Private groups to share messages, photos, videos, links with friends and family.
http://zusam.org
GNU Affero General Public License v3.0
190 stars 15 forks source link

Plugin system #22

Open nrobinaubertin opened 5 years ago

nrobinaubertin commented 5 years ago

Zusam should be tiny, stable and extensible. For that to be true, we need a good plugin system. A document should also be written to identify what should be core and what should be a plugin.

briaeros commented 5 years ago

For the document, it could be useful to specify on what functional part of zusam a plugin can be possible. It will also help define what's in the core (and what service it brings).

In addition defining a standard way of storing/getting the data from/for the plugin (I propose a json dictionnary as it's well accepted by javascript, and sqlite even get an JSON extension to help request or insert).

In addition, I think that "plugin accessible data" must be created for at least 3 specifics objects

nrobinaubertin commented 5 months ago

I still want to add plugins to Zusam but the scope will be reduced compared to what I had in mind initially.

Plugins will be a way to upload new types of messages and display them. My current ideas are:

The current implementation of a Message is very generic (the data is just some json). That was made to enable those kinds of plugin and this is great. The difficulty will come from loading those plugins as javascript modules.

Tests will be needed