Create Plugins
A step by step guide to create plugins using BeeGraphy sandbox
![](data:image/webp;base64,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)
Creating a Plugin for BeeGraphy Editor
Prerequisites
Before you can create a plugin for BeeGraphy Editor, you need to ensure that you have the latest version of Node.js installed on your system. You can download Node.js from the official website:
Node.jsSetting up the BeeGraphy Sandbox
To create a plugin for BeeGraphy Editor, you'll need to set up the BeeGraphy Sandbox. Follow these steps to configure the sandbox:
- Open your terminal or command prompt.
- Navigate to the folder where you want to have a BeeGraphy Sandbox folder.
- Run the following command to set the BeeGraphy registry as the npm registry for your project:
- This command will start the BeeGraphy Sandbox and configure your npm registry to use the BeeGraphy registry.
- You will be prompted to install the @beegraphy/sandbox package, type “y” and enter.
- The BeeGraphy Sandbox will prompt you to provide a name for your sandbox project. By default, it is named "beegraphy-sandbox" You can choose to use the default name or enter a custom name for your project.
- The installer will automatically download and install any dependencies required for your project.
- Additionally, the installer will create an example plugin named "node-editor-package-example" in your sandbox project.
Once the BeeGraphy Sandbox setup is complete, you can start developing your custom plugin for BeeGraphy Editor within the sandbox environment.
Getting Started with Your BeeGraphy Plugin
Prerequisites
Once you have set up the BeeGraphy Sandbox and explored the project structure, it's time to dive into developing your custom BeeGraphy plugin. Here's how to get started:
- Navigate to Your Sandbox Project Directory: If you provided a custom name for your sandbox project, navigate to the directory where it was created. If you used the default name ("beegraphy-sandbox"), you can find it in the current directory.
- cd your-sandbox-project-directory
- Replace your-sandbox-project-directory with your actual project's directory path.
- Explore the Project Structure: Take some time to understand the project structure, including the "node-editor-package-example" plugin. This will give you insights into how BeeGraphy plugins are organized and how you can structure your own.
- Run Your BeeGraphy Editor Locally: To start developing and testing your plugin, run the following command within your project directory:
- npm start
- This command will launch a local BeeGraphy Node Editor instance on localhost:2023. You can access the BeeGraphy Node Editor in your web browser by navigating to http://localhost:2023.
- Login using your BeeGraphy account
- Configure Your Plugin: In your project directory, you'll find a package.json file for your plugin. Inside this file, you can customize various settings:
- Name and Version: The name and version fields are used for versioning your plugin. The name should be unique.
- BGPM Section: There will be an additional "bgpm" section in your package.json. You can configure this section to define your plugin's properties, such as its type and icons. Here's an example:
- type: Specifies the type of your plugin. For a Node Editor plugin, it should be set to "node-editor-package".
- icons: You can provide icons for your plugin in different sizes and color schemes.
- Customize these settings to match your plugin's requirements.
- Develop Your Plugin:Now that you have the development environment set up and your plugin configured, you can start developing your custom BeeGraphy plugin. Refer to the BeeGraphy documentation for guidance on plugin development.
- Testing Your Plugin:As you make changes to your plugin, you can test them within the locally running BeeGraphy Node Editor. Simply access http://localhost:2023 in your web browser to see how your plugin integrates with BeeGraphy Editor.
Integration and Sharing:Once your plugin is complete and thoroughly tested, you can consider integrating it into your BeeGraphy Editor workflow or sharing it with the BeeGraphy community.
That's it! You're now ready to embark on your BeeGraphy plugin development journey. Enjoy building amazing extensions for BeeGraphy Editor!
Creating Your First Node for BeeGraphy Node Editor
In BeeGraphy Node Editor, nodes are essential building blocks for creating visual workflows. To create your first node, you will need to define a NodePackage that includes your node and its associated properties. Let's go through the process step by step:
1. Define a NodePackage
First, create a NodePackage with the desired name, in this case, 'Example', and include the node types within it. Additionally, you can use the init function to preload any necessary resources like a wasm file.
2. Organize Nodes into Groups
For better organization, you can group your nodes. In the above code, we include an array of ExampleGroupNodes. You can create and customize your node groups as needed.
3. Define Your Example Node
Now, let's explore the structure of an example node. Below is an example node named 'Example Node' with input (inPorts) and output (outPorts) ports:
This example node includes several important properties:
- name: The name of your node.
- description: A description of your node (optional).
- groupName: The name of the group to which your node belongs.
- keywords: Keywords that can be used to search for your node.
- icon: An icon for your node.
- inPorts: Input ports with names, labels, types, and descriptions.
- outPorts: Output ports with names, labels, types, and descriptions.
- exec: The execution function for your node, where you define the logic based on input ports and return output ports.
4. Port Types
Nodes in BeeGraphy can have various port types. In the example above, we used Type.Number. You can choose from a range of predefined types such as strings, vectors, curves, colors, and more to suit your specific use case.
That's it! You've created your first node for BeeGraphy Node Editor. You can now include this node package in your BeeGraphy project and start using it within the editor's visual workflows. Remember to customize the node properties and logic to fit your specific needs.
Publishing your first plugin package
To use your plugin, you need to publish it to the BeeGraphy Package Manager (BGPM).
All commands must be executed in a terminal.
1. Install BeeGraphy CLI
This step is done once, and you may only need to update the BeeGraphy CLI in the future. Without the CLI, you cannot publish plugin packages.
To install the BeeGraphy CLI, open a terminal and enter the following command:
2. Login
Login using your BeeGraphy login and password by running the following command:
? Enter your username: username
? Enter your password: ******
? Enter your email (optional):
3. Go to package location
Navigate to the directory containing your plugin package.
The default location is …/beegraphy-sandbox/packages/<your-node-editor-package>, where <your-node-editor-package> is the unique name of your plugin package.
4. Publish the package
Publish your package by running the following command:
This may take some time, as your package is being uploaded to the BeeGraphy server.
5. Updating the package
Later to update your plugin package, you need to do the following:
- Increase the version value in your plugin package's package.json file to a higher number than the current version.
- Run the following command to publish your updated plugin: