TangibleInc / framework

A framework of feature modules for WordPress
1 stars 0 forks source link

Plugin Features #2

Closed lloyd-teamtangible closed 3 weeks ago

lloyd-teamtangible commented 1 month ago

Hi @eliot-akira!

Could you please help me understand why the plugin features from the old framework are not included in the new one? I’m in the process of upgrading some plugins and haven’t been able to find the plugin features section. If there’s something I might be overlooking, your guidance would be very helpful.

Thank you!

eliot-akira commented 1 month ago

Hi @lloyd-teamtangible - There are some features from the old framework that haven't yet been ported to the new one.

I see the "Plugin Features" is a small file, so it shouldn't take me too long to migrate over. I'll write here when it's ready.

There's no documentation at the moment, only placeholder readme.md for each module. Please feel free to open new issues if you have any questions, or pull requests if you'd like to contribute. Thanks!

lloyd-teamtangible commented 1 month ago

Hi, @eliot-akira

Sorry for kind late reply and also thanks for letting me know about this! I can wait for the migration of the 'Plugin Features.' It’s not urgent, but it’ll be great to have. And of course, I’ll let you know if I have any questions.

Thanks, Eliot!

eliot-akira commented 1 month ago

So I've added the feature and documented it briefly.

tangible-plugin-features-settings-page

https://github.com/TangibleInc/framework/tree/main/plugin#readme

It works a little differently than before. I simplified it so there's no concept of feature groups. Also, previously the "Features" tab in the plugin settings page was added automatically, but now the plugin must add it themselves when they're registering settings config. This way it's up to the plugin where to put it.


I’m in the process of upgrading some plugins

Could you tell me which ones? Maybe there's more I can do in the new framework to ease the upgrade process.

I noticed there's another missing functionality, a way to register plugin dependencies. The framework used to automatically check and show an admin notification if all dependencies were not installed and active. That was convenient, so I'll look into adding it.

lloyd-teamtangible commented 4 weeks ago

Awesome, thanks for working into this!

Could you tell me which ones? Maybe there's more I can do in the new framework to ease the upgrade process.

I'm planning to build a new plugin for our client and want to use the plugin features. This is the only repo that seems like it might offer some useful ideas: https://bitbucket.org/tangibleinc/tangible-tweaks-for-learndash/src/master/. And it uses the old framework.

eliot-akira commented 3 weeks ago

planning to build a new plugin

I'm preparing a new command for quickly starting new projects based on "presets". Would you be willing to try it?

It's a single command that asks a few questions and sets up a new folder with initial files. The plugin and theme presets include this new Framework.

npm create tangible@latest

It's an early "alpha" version, still a work in progress. For example, the plugin release and update lifecycle is not complete yet. I want to prepare a GitHub Actions workflow, where every tagged version is automatically built as a zip package and published to the plugin update server.


I'll close this issue since the "Plugin Features" feature has been ported from the old framework. Please feel free to create new issues as needed. I'm hoping with your feedback we can improve the plugin development process.