ShokoAnime / ShokoServer

Repository for Shoko Server.
https://shokoanime.com/
MIT License
404 stars 74 forks source link

Plugin System #633

Open Cazzar opened 7 years ago

Cazzar commented 7 years ago

An idea whilst refactoring the renamer earlier today is having some sort of plugin system. This will allow a few things we could refactor major things out of the core project into it's own plugin, allowing a more modular solution also allows people who are technically inclined to be able to add functionality that doesn't necessarily need to be the base project.

This will obviously require a major refactor to get working with the project, though would be a nice addition.

ElementalCrisis commented 7 years ago

A great idea, we've talked about it before and plan to use a plugin like system for ClientV2 for things like different modules on dashboard and different viewtypes. Would be nice to see a similar system for Server.

Cazzar commented 7 years ago

I have already added something similar in #504 thanks to @maxpiva posting some code in the dev chat for dynamic loading of the assemblies, The renamer will also allow someone to write their own interpreter by having a "Renamer.*.dll" in the shoko directory which is coded by themselves for the ultimate customization. Leaving this commit link here so I can keep track of it for future implementation https://github.com/japanesemediamanager/ShokoServer/commit/ab2b49df628d8b84ec1b5ebf94bb5bfa972d5097#diff-5a679e137590f15a59648afb205a0090R45