Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal for Directory Structure to Support Plugins and Extensions #1539

Closed
cubxxw opened this issue Dec 8, 2023 — with Slack · 4 comments
Closed

Proposal for Directory Structure to Support Plugins and Extensions #1539

cubxxw opened this issue Dec 8, 2023 — with Slack · 4 comments
Assignees
Labels
design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature.
Milestone

Comments

Copy link
Contributor

cubxxw commented Dec 8, 2023

Issue Description

As we continue to enhance the functionality of our Instant Messaging (IM) service, it's become evident that we need a well-organized and scalable directory structure to support the integration of plugins and extensions, such as mini-programs and workbench applications. This issue proposes a new directory structure designed to facilitate the development, maintenance, and integration of these additional features.

Proposed Directory Structure

The following is the proposed directory structure:

OpenIM/
├── ... (existing files and directories)
├── plugins/
│   ├── README.md
│   ├── mini_programs/    # Directory for mini-program plugins
│   │   ├── plugin1/
│   │   │   ├── ...       # Files and directories for plugin1
│   │   └── plugin2/
│   │       ├── ...       # Files and directories for plugin2
│   └── workbench_apps/   # Directory for workbench application plugins
│       ├── app1/
│       │   ├── ...       # Files and directories for app1
│       └── app2/
│           ├── ...       # Files and directories for app2
└── ...

Rationale

  • Modularity: Each plugin or extension is treated as an independent module, allowing for easy addition, update, or removal.
  • Clarity in Hierarchy: The directory structure clearly reflects the relationship between components, facilitating understanding and maintenance.
  • Compatibility and Dependency Management: Given that different plugins or extensions might have specific dependencies, the structure supports flexible dependency management.

Implementation Considerations

  • Integration Mechanism: How to integrate these plugins at the code level, possibly through interfaces, hooks, or event systems.
  • Version Control and Dependency Management: Strategies for managing versions and dependencies of different plugins.
  • Security: Ensuring that the integration of new plugins does not compromise the overall security of the system.
@cubxxw cubxxw added design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature. labels Dec 8, 2023 — with Slack
@cubxxw cubxxw added this to the v3.6 milestone Dec 8, 2023 — with Slack
@cubxxw cubxxw self-assigned this Dec 8, 2023
@kubbot
Copy link
Contributor

kubbot commented Feb 6, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@kubbot
Copy link
Contributor

kubbot commented Feb 13, 2024

This issue was closed because it has been stalled for 7 days with no activity.

@kubbot kubbot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2024
@github-project-automation github-project-automation bot moved this from To Do to Done in openim-powerful Feb 13, 2024
@cubxxw cubxxw reopened this Feb 18, 2024
@github-project-automation github-project-automation bot moved this from Done to In progress in openim-powerful Feb 18, 2024
@kubbot
Copy link
Contributor

kubbot commented Apr 19, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@kubbot
Copy link
Contributor

kubbot commented Apr 28, 2024

This issue was closed because it has been stalled for 7 days with no activity.

@kubbot kubbot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 28, 2024
@github-project-automation github-project-automation bot moved this from In progress to Done in openim-powerful Apr 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Categorizes issue or PR as related to design. feature Categorizes issue or PR as related to a new feature.
Projects
Status: Done
Development

No branches or pull requests

2 participants