From f55108665c2dfc585eb64d72f8ecc5238884cd20 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Mon, 26 Feb 2024 08:01:53 -0800 Subject: [PATCH 01/25] Optimization and Clarity Enhancement for Intro to Plugins Documentation Signed-off-by: markyjackson-taulia --- docs/plugins/index.md | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 94de3bc482..4848a0a96f 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -1,36 +1,25 @@ --- id: index -title: Intro to plugins -description: Documentation on Introduction to Plugins +title: Introduction to Plugins +description: Learn about integrating various infrastructure and software development tools into Backstage through plugins. --- -Backstage is a single-page application composed of a set of plugins. +Backstage orchestrates a cohesive single-page application by seamlessly integrating a diverse set of plugins. -Our goal for the plugin ecosystem is that the definition of a plugin is flexible -enough to allow you to expose pretty much any kind of infrastructure or software -development tool as a plugin in Backstage. By following strong -[design guidelines](../dls/design.md) we ensure the overall user experience -stays consistent between plugins. +Our vision for the plugin ecosystem champions flexibility, empowering you to incorporate a broad spectrum of infrastructure and software development tools into Backstage as plugins. Adherence to stringent [design guidelines](../dls/design.md) guarantees a consistent and intuitive user experience across the entire plugin landscape. -![plugin](../assets/plugins/my-plugin_screenshot.png) +![Plugin Screenshot](../assets/plugins/my-plugin_screenshot.png) -## Creating a plugin +## Creating a Plugin -To create a plugin, follow the steps outlined [here](create-a-plugin.md). +Embark on your plugin development journey by following the detailed steps provided [here](create-a-plugin.md). -## Suggesting a plugin +## Suggesting a Plugin -If you start developing a plugin that you aim to release as open source, we -suggest that you create a -[new Issue in the community plugins repo](https://github.com/backstage/community-plugins/issues/new/choose). -This helps the community know what plugins are in development. +If you're developing an open-source plugin, we encourage you to initiate a [new Issue in the community plugins repo](https://github.com/backstage/community-plugins/issues/new/choose). This gesture not only informs the community about upcoming plugins but also invites collaboration and feedback. -You can also use this process if you have an idea for a good plugin but you hope -that someone else will pick up the work. +This approach is equally beneficial if you conceive an idea for a potentially impactful plugin but prefer if another contributor undertakes its development. -## Integrate into the Software Catalog +## Integration with the Software Catalog -If your plugin isn't supposed to live as a standalone page, but rather needs to -be presented as a part of a Software Catalog (e.g. a separate tab or a card on -an "Overview" tab), then check out -[the instruction](integrating-plugin-into-software-catalog.md) on how to do it. +Should your plugin complement the Software Catalog rather than exist as a standalone entity (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration [here](integrating-plugin-into-software-catalog.md). From 8756245a4cb52df14ffdb481c030c0270b5a3102 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Mon, 26 Feb 2024 09:52:31 -0800 Subject: [PATCH 02/25] Adding "Coming soon table of contents" Signed-off-by: markyjackson-taulia Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 4848a0a96f..0fe822f5a1 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -23,3 +23,43 @@ This approach is equally beneficial if you conceive an idea for a potentially im ## Integration with the Software Catalog Should your plugin complement the Software Catalog rather than exist as a standalone entity (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration [here](integrating-plugin-into-software-catalog.md). + +## Coming Soon: Table of Contents for "Backstage Integration Essentials: A Complete Guide to Plugin Development" + +- **Guide Overview** + - Purpose and Scope + - Target Audience Insights + - Navigation Tips +- **Foundation of Plugin Development** + - Preparing Your Development Environment + - Architectural Overview of Backstage + - Building Your First Plugin: A Detailed Walkthrough +- **Plugin Architecture Deep Dive** + - Exploring Frontend Components + - Backend Services Uncovered + - Facilitating Frontend-Backend Communication +- **Advanced Integration Techniques** + - Proxy Integration for External APIs + - Implementing Authentication and Authorization + - External Systems and Database Integration +- **Deployment and Operational Excellence** + - Strategies for Effective Deployment + - Monitoring, Logging, and Performance Tuning +- **Adhering to Best Practices** + - Code Organization and Modularity + - Security Protocols + - Engaging with the Backstage Community +- **Troubleshooting and Support** + - Addressing Common Challenges + - Debugging Strategies + - Leveraging Community Support +- **Real-world Implementations and Lessons** + - Case Studies + - Community-Sourced Best Practices +- **Resource Compendium** + - Glossary of Key Terms + - Recommended Reading and Tools +- **Certification and Learning Pathways** + +Stay tuned for in-depth exploration and guidance on each of these topics. + From 53250246823833fce94790a17f07e7c5987134dd Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Wed, 3 Apr 2024 12:27:34 -0700 Subject: [PATCH 03/25] Linking glossary correctly per [comment](https://github.com/backstage/backstage/pull/23266#discussion_r1510003635) Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 0fe822f5a1..4aec731067 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -57,7 +57,7 @@ Should your plugin complement the Software Catalog rather than exist as a standa - Case Studies - Community-Sourced Best Practices - **Resource Compendium** - - Glossary of Key Terms + - Glossary of Key Terms: Expand your understanding of Backstage-related terminology by referring to the [official Backstage Glossary](https://backstage.io/docs/references/glossary). - Recommended Reading and Tools - **Certification and Learning Pathways** From 471a848f56d876c64ae5d8eb978589c8ef677311 Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Sun, 21 Apr 2024 07:15:09 -0700 Subject: [PATCH 04/25] Addressing https://github.com/backstage/backstage/pull/23266#discussion_r1510004421 Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 4aec731067..74b6d5e05a 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -32,7 +32,7 @@ Should your plugin complement the Software Catalog rather than exist as a standa - Navigation Tips - **Foundation of Plugin Development** - Preparing Your Development Environment - - Architectural Overview of Backstage + - [Architectural Overview of Backstage](https://backstage.io/docs/overview/architecture-overview/) - Building Your First Plugin: A Detailed Walkthrough - **Plugin Architecture Deep Dive** - Exploring Frontend Components @@ -62,4 +62,3 @@ Should your plugin complement the Software Catalog rather than exist as a standa - **Certification and Learning Pathways** Stay tuned for in-depth exploration and guidance on each of these topics. - From 304b3f3ec1d9b17afe51ab3d23344420d6928405 Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Sun, 21 Apr 2024 07:28:11 -0700 Subject: [PATCH 05/25] Addressing https://github.com/backstage/backstage/pull/23266#discussion_r1510010310 Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 69 +++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 35 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 74b6d5e05a..243ad3cf86 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -24,41 +24,40 @@ This approach is equally beneficial if you conceive an idea for a potentially im Should your plugin complement the Software Catalog rather than exist as a standalone entity (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration [here](integrating-plugin-into-software-catalog.md). -## Coming Soon: Table of Contents for "Backstage Integration Essentials: A Complete Guide to Plugin Development" +## Modular Guides for Plugin Development + +- **Plugins 101: Building Your First Plugin** + - Introduction to plugins and their roles within Backstage. + - Step-by-step instructions on setting up your development environment and building your first plugin. + - Configuration essentials. + +- **Plugins 102: Choosing Between a Module and a Plugin** + - Understanding when to create a module instead of a new plugin. + - Guidelines on extending existing plugins. + +- **Plugins 201: Preparing Your Plugin for Production** + - Best practices for ensuring code quality, integrating APIs, and handling databases. + - Performance tuning and monitoring your plugin. + +- **Plugins 202: Maintaining Your Plugin** + - How to publish and manage your plugin’s versions. + - Security updates and alignment with the main Backstage project. + +- **Plugins 301: Advanced Plugin Development** + - Integrating advanced functionalities like the permissions API and the discovery API. + - Using URL readers, SCM integrations, and the proxy API. + +## Additional Resources and Further Reading -- **Guide Overview** - - Purpose and Scope - - Target Audience Insights - - Navigation Tips -- **Foundation of Plugin Development** - - Preparing Your Development Environment - - [Architectural Overview of Backstage](https://backstage.io/docs/overview/architecture-overview/) - - Building Your First Plugin: A Detailed Walkthrough -- **Plugin Architecture Deep Dive** - - Exploring Frontend Components - - Backend Services Uncovered - - Facilitating Frontend-Backend Communication -- **Advanced Integration Techniques** - - Proxy Integration for External APIs - - Implementing Authentication and Authorization - - External Systems and Database Integration -- **Deployment and Operational Excellence** - - Strategies for Effective Deployment - - Monitoring, Logging, and Performance Tuning -- **Adhering to Best Practices** - - Code Organization and Modularity - - Security Protocols - - Engaging with the Backstage Community -- **Troubleshooting and Support** - - Addressing Common Challenges - - Debugging Strategies - - Leveraging Community Support - **Real-world Implementations and Lessons** - - Case Studies - - Community-Sourced Best Practices -- **Resource Compendium** - - Glossary of Key Terms: Expand your understanding of Backstage-related terminology by referring to the [official Backstage Glossary](https://backstage.io/docs/references/glossary). - - Recommended Reading and Tools -- **Certification and Learning Pathways** + - Case studies and examples from the community. + - Best practices derived from mature implementations. -Stay tuned for in-depth exploration and guidance on each of these topics. +- **Resource Compendium** + - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. + - Recommended readings and tools for advanced developers. + +- **Certification and Learning Pathways** + - Pathways to deepen your understanding and expertise in plugin development for Backstage. + +Stay tuned for detailed exploration and guidance in each of these modules. From 06c17a98f1eca3098758708eb220ad5d2501fc24 Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Sun, 21 Apr 2024 07:33:55 -0700 Subject: [PATCH 06/25] [Addressing](https://github.com/backstage/backstage/pull/23266#discussion_r1510012426) Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 243ad3cf86..57220a9eb6 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -24,26 +24,29 @@ This approach is equally beneficial if you conceive an idea for a potentially im Should your plugin complement the Software Catalog rather than exist as a standalone entity (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration [here](integrating-plugin-into-software-catalog.md). -## Modular Guides for Plugin Development +## Guides for Plugin Development -- **Plugins 101: Building Your First Plugin** +### For Beginners: Building Your First Plugin +This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. + +- **Plugin Basics** + - What is a plugin and how does it fit into the Backstage ecosystem? - Introduction to plugins and their roles within Backstage. + +- **Building Your First Plugin** - Step-by-step instructions on setting up your development environment and building your first plugin. - Configuration essentials. -- **Plugins 102: Choosing Between a Module and a Plugin** +### For Advanced Users: Enhancing and Maintaining Your Plugins +This section caters to experienced developers looking to refine their skills or find specific advanced information quickly. + +- **Choosing Between a Module and a Plugin** - Understanding when to create a module instead of a new plugin. - Guidelines on extending existing plugins. -- **Plugins 201: Preparing Your Plugin for Production** +- **Advanced Plugin Development** - Best practices for ensuring code quality, integrating APIs, and handling databases. - - Performance tuning and monitoring your plugin. - -- **Plugins 202: Maintaining Your Plugin** - - How to publish and manage your plugin’s versions. - - Security updates and alignment with the main Backstage project. - -- **Plugins 301: Advanced Plugin Development** + - How to publish and manage your plugin’s versions, perform security updates, and align with the main Backstage project. - Integrating advanced functionalities like the permissions API and the discovery API. - Using URL readers, SCM integrations, and the proxy API. From 69a5cd0fb9a4855faeae1d4bedf72964039f5b92 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Sun, 21 Apr 2024 10:16:32 -0700 Subject: [PATCH 07/25] [Addresses](https://github.com/backstage/backstage/pull/23266#discussion_r1573784020) Signed-off-by: markyjackson-taulia --- docs/plugins/index.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 57220a9eb6..bfd1ece851 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -4,7 +4,7 @@ title: Introduction to Plugins description: Learn about integrating various infrastructure and software development tools into Backstage through plugins. --- -Backstage orchestrates a cohesive single-page application by seamlessly integrating a diverse set of plugins. +Backstage orchestrates a cohesive single-page application by seamlessly integrating various plugins. Our vision for the plugin ecosystem champions flexibility, empowering you to incorporate a broad spectrum of infrastructure and software development tools into Backstage as plugins. Adherence to stringent [design guidelines](../dls/design.md) guarantees a consistent and intuitive user experience across the entire plugin landscape. @@ -29,26 +29,26 @@ Should your plugin complement the Software Catalog rather than exist as a standa ### For Beginners: Building Your First Plugin This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. -- **Plugin Basics** - - What is a plugin and how does it fit into the Backstage ecosystem? - - Introduction to plugins and their roles within Backstage. +- **Plugins 101: Building Your First Plugin** + - Why build plugins? Introduction to the value and impact of plugins within Backstage. + - Detailed guidance on starting and iterating on a plugin development project. + - Engaging with the community and stakeholders to propel your project. -- **Building Your First Plugin** - - Step-by-step instructions on setting up your development environment and building your first plugin. - - Configuration essentials. +### For Intermediate Users: Scaling Your Plugin +This section helps developers prepare their plugins for broader adoption, emphasizing best practices in monitoring, logging, and performance. -### For Advanced Users: Enhancing and Maintaining Your Plugins -This section caters to experienced developers looking to refine their skills or find specific advanced information quickly. +- **Plugins 201: Bringing Your Plugin to Production** + - Strategies for scaling your plugin for greater adoption. + - Best practices for monitoring and logging. + - Understand plugin ownership and maintain an inner source mentality. -- **Choosing Between a Module and a Plugin** - - Understanding when to create a module instead of a new plugin. - - Guidelines on extending existing plugins. +### For Advanced Users: Mastering Plugin Development +This is for those ready to tackle complex challenges and enhance their plugins with advanced features. -- **Advanced Plugin Development** - - Best practices for ensuring code quality, integrating APIs, and handling databases. - - How to publish and manage your plugin’s versions, perform security updates, and align with the main Backstage project. - - Integrating advanced functionalities like the permissions API and the discovery API. - - Using URL readers, SCM integrations, and the proxy API. +- **Plugins 301: Advanced Topics in Plugin Development** + - Enabling resource-level authorization and interfacing with external services, SCMs, or databases. + - In-depth exploration of fostering an inner source mentality and understanding adoption dynamics. + - Decision-making frameworks: choosing between developing a new plugin or utilizing an existing open-source solution. ## Additional Resources and Further Reading From 3f5b5445fefb26900ef14ce8a0e890324a5276e4 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Sun, 21 Apr 2024 10:41:38 -0700 Subject: [PATCH 08/25] I did not like that I used the word "mastering" Signed-off-by: markyjackson-taulia Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index bfd1ece851..d52977ef2d 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -27,6 +27,7 @@ Should your plugin complement the Software Catalog rather than exist as a standa ## Guides for Plugin Development ### For Beginners: Building Your First Plugin + This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. - **Plugins 101: Building Your First Plugin** @@ -35,6 +36,7 @@ This section is designed for those new to plugin development. It covers the basi - Engaging with the community and stakeholders to propel your project. ### For Intermediate Users: Scaling Your Plugin + This section helps developers prepare their plugins for broader adoption, emphasizing best practices in monitoring, logging, and performance. - **Plugins 201: Bringing Your Plugin to Production** @@ -42,8 +44,9 @@ This section helps developers prepare their plugins for broader adoption, emphas - Best practices for monitoring and logging. - Understand plugin ownership and maintain an inner source mentality. -### For Advanced Users: Mastering Plugin Development -This is for those ready to tackle complex challenges and enhance their plugins with advanced features. +### For Advanced Users: Deep Dive into Plugin Development + +This is for those ready to explore complex challenges and enhance their plugins with advanced features. - **Plugins 301: Advanced Topics in Plugin Development** - Enabling resource-level authorization and interfacing with external services, SCMs, or databases. @@ -53,14 +56,16 @@ This is for those ready to tackle complex challenges and enhance their plugins w ## Additional Resources and Further Reading - **Real-world Implementations and Lessons** + - Case studies and examples from the community. - Best practices derived from mature implementations. - **Resource Compendium** + - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. - Recommended readings and tools for advanced developers. - **Certification and Learning Pathways** - Pathways to deepen your understanding and expertise in plugin development for Backstage. -Stay tuned for detailed exploration and guidance in each of these modules. +Stay tuned for detailed exploration and guidance in each of these modules. We're excited to accompany you on your plugin development journey! From c53711190367ebda251ebd2e5006663463afbd42 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Wed, 19 Jun 2024 06:58:17 -0700 Subject: [PATCH 09/25] Addressing comment https://github.com/backstage/backstage/pull/23266/files#r1588028883 Signed-off-by: markyjackson-taulia --- docs/plugins/index.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index d52977ef2d..1bda258610 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -12,17 +12,19 @@ Our vision for the plugin ecosystem champions flexibility, empowering you to inc ## Creating a Plugin -Embark on your plugin development journey by following the detailed steps provided [here](create-a-plugin.md). +Embark on your plugin development journey by following the detailed steps provided in the [Create a Plugin guide](create-a-plugin.md). ## Suggesting a Plugin -If you're developing an open-source plugin, we encourage you to initiate a [new Issue in the community plugins repo](https://github.com/backstage/community-plugins/issues/new/choose). This gesture not only informs the community about upcoming plugins but also invites collaboration and feedback. +If you're developing an open-source plugin, we encourage you to create a +[new issue in the community plugins repository](https://github.com/backstage/community-plugins/issues/new/choose). +This informs the community about upcoming plugins and invites collaboration and feedback. This approach is equally beneficial if you conceive an idea for a potentially impactful plugin but prefer if another contributor undertakes its development. ## Integration with the Software Catalog -Should your plugin complement the Software Catalog rather than exist as a standalone entity (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration [here](integrating-plugin-into-software-catalog.md). +Should your plugin complement the Software Catalog rather than exist as a standalone feature (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration in the [Integrating Plugin into Software Catalog guide](integrating-plugin-into-software-catalog.md). ## Guides for Plugin Development From 4157fb4b6895c40bdae3dda73923658a5c6088d3 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Wed, 19 Jun 2024 06:47:30 -0700 Subject: [PATCH 10/25] Update docs/plugins/index.md Co-authored-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> --- docs/plugins/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 1bda258610..baf9010e96 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -12,7 +12,7 @@ Our vision for the plugin ecosystem champions flexibility, empowering you to inc ## Creating a Plugin -Embark on your plugin development journey by following the detailed steps provided in the [Create a Plugin guide](create-a-plugin.md). +Embark on your plugin development journey by following the detailed steps provided in the [Create a Plugin](create-a-plugin.md) documentation. ## Suggesting a Plugin From 161467096a1c3c6f4e6126d6763a2a64507e178b Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Wed, 19 Jun 2024 08:04:41 -0700 Subject: [PATCH 11/25] Building 101 section Signed-off-by: markyjackson-taulia Signed-off-by: aramissennyeydd --- .../why-build-plugins.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md new file mode 100644 index 0000000000..a440dd2bf1 --- /dev/null +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -0,0 +1,23 @@ +# Why Build Plugins? Introduction to the Value and Impact of Plugins within Backstage + +Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at why building plugins for Backstage can be highly beneficial: + +## Enhancing Developer Productivity +Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly【93†source】【94†source】. + +## Customizable and Extensible Platform +Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly【93†source】【94†source】. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). + +## Improved Collaboration and Knowledge Sharing +Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence【94†source】【95†source】. + +## Consistency and Best Practices +By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams【93†source】【95†source】. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. + +## Scalability and Maintenance +Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability【94†source】【96†source】. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. + +## Community and Ecosystem Growth +Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform【94†source】【95†source】. + +Building plugins for Backstage significantly enhances developer productivity, promotes best practices, supports scalability, and fosters community growth. These plugins transform Backstage into a comprehensive developer portal that can adapt to the unique needs of any organization. For more detailed information, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/) and the [Introduction to Plugins](https://backstage.io/docs/plugins/). From d808754446e0b4fcd63bfd010824e19d9de055f4 Mon Sep 17 00:00:00 2001 From: markyjackson-taulia Date: Wed, 19 Jun 2024 13:05:09 -0700 Subject: [PATCH 12/25] Fix Prettier formatting issues Signed-off-by: markyjackson-taulia Signed-off-by: aramissennyeydd --- .../why-build-plugins.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index a440dd2bf1..b71af2de97 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -3,21 +3,27 @@ Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at why building plugins for Backstage can be highly beneficial: ## Enhancing Developer Productivity + Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly【93†source】【94†source】. ## Customizable and Extensible Platform + Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly【93†source】【94†source】. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). ## Improved Collaboration and Knowledge Sharing + Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence【94†source】【95†source】. ## Consistency and Best Practices + By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams【93†source】【95†source】. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. ## Scalability and Maintenance + Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability【94†source】【96†source】. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. ## Community and Ecosystem Growth + Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform【94†source】【95†source】. Building plugins for Backstage significantly enhances developer productivity, promotes best practices, supports scalability, and fosters community growth. These plugins transform Backstage into a comprehensive developer portal that can adapt to the unique needs of any organization. For more detailed information, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/) and the [Introduction to Plugins](https://backstage.io/docs/plugins/). From d3a1de9e30205960a0e7a92e4c78052c2b7bef0e Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Sat, 17 Aug 2024 07:02:34 -0700 Subject: [PATCH 13/25] Addressing review for the headings. Removed numbers and used descriptive words. Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index baf9010e96..8194a248b1 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -1,7 +1,9 @@ --- + id: index title: Introduction to Plugins description: Learn about integrating various infrastructure and software development tools into Backstage through plugins. + --- Backstage orchestrates a cohesive single-page application by seamlessly integrating various plugins. @@ -16,9 +18,7 @@ Embark on your plugin development journey by following the detailed steps provid ## Suggesting a Plugin -If you're developing an open-source plugin, we encourage you to create a -[new issue in the community plugins repository](https://github.com/backstage/community-plugins/issues/new/choose). -This informs the community about upcoming plugins and invites collaboration and feedback. +If you're developing an open-source plugin, we encourage you to create a [new issue in the community plugins repository](https://github.com/backstage/community-plugins/issues/new/choose). This informs the community about upcoming plugins and invites collaboration and feedback. This approach is equally beneficial if you conceive an idea for a potentially impactful plugin but prefer if another contributor undertakes its development. @@ -28,29 +28,29 @@ Should your plugin complement the Software Catalog rather than exist as a standa ## Guides for Plugin Development -### For Beginners: Building Your First Plugin +### For Beginners: Introduction to Plugin Development This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. -- **Plugins 101: Building Your First Plugin** +- **Introduction to Plugin Development** - Why build plugins? Introduction to the value and impact of plugins within Backstage. - Detailed guidance on starting and iterating on a plugin development project. - Engaging with the community and stakeholders to propel your project. -### For Intermediate Users: Scaling Your Plugin +### For Intermediate Users: Scaling and Deploying Your Plugin This section helps developers prepare their plugins for broader adoption, emphasizing best practices in monitoring, logging, and performance. -- **Plugins 201: Bringing Your Plugin to Production** +- **Scaling and Deploying Your Plugin** - Strategies for scaling your plugin for greater adoption. - Best practices for monitoring and logging. - Understand plugin ownership and maintain an inner source mentality. -### For Advanced Users: Deep Dive into Plugin Development +### For Advanced Users: Advanced Plugin Customization and Integration This is for those ready to explore complex challenges and enhance their plugins with advanced features. -- **Plugins 301: Advanced Topics in Plugin Development** +- **Advanced Plugin Customization and Integration** - Enabling resource-level authorization and interfacing with external services, SCMs, or databases. - In-depth exploration of fostering an inner source mentality and understanding adoption dynamics. - Decision-making frameworks: choosing between developing a new plugin or utilizing an existing open-source solution. @@ -58,12 +58,10 @@ This is for those ready to explore complex challenges and enhance their plugins ## Additional Resources and Further Reading - **Real-world Implementations and Lessons** - - Case studies and examples from the community. - Best practices derived from mature implementations. - **Resource Compendium** - - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. - Recommended readings and tools for advanced developers. @@ -71,3 +69,5 @@ This is for those ready to explore complex challenges and enhance their plugins - Pathways to deepen your understanding and expertise in plugin development for Backstage. Stay tuned for detailed exploration and guidance in each of these modules. We're excited to accompany you on your plugin development journey! + +--- From 43ecc00742e272bab189fd8c5a99b9214a4b33af Mon Sep 17 00:00:00 2001 From: markyjacksonfishing Date: Sat, 17 Aug 2024 07:16:25 -0700 Subject: [PATCH 14/25] For to prettier it up lolz Signed-off-by: markyjacksonfishing Signed-off-by: aramissennyeydd --- docs/plugins/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 8194a248b1..534f106896 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -1,9 +1,7 @@ --- - id: index title: Introduction to Plugins description: Learn about integrating various infrastructure and software development tools into Backstage through plugins. - --- Backstage orchestrates a cohesive single-page application by seamlessly integrating various plugins. @@ -58,10 +56,12 @@ This is for those ready to explore complex challenges and enhance their plugins ## Additional Resources and Further Reading - **Real-world Implementations and Lessons** + - Case studies and examples from the community. - Best practices derived from mature implementations. - **Resource Compendium** + - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. - Recommended readings and tools for advanced developers. From 7f681d45534490cc81c0a1dcd58b447e444c9b48 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:21:08 -0700 Subject: [PATCH 15/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index b71af2de97..c6c6c5af0b 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -4,7 +4,7 @@ Backstage plugins are essential components that enable the integration of variou ## Enhancing Developer Productivity -Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly【93†source】【94†source】. +Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly. ## Customizable and Extensible Platform From b5b42fe70bb4e6b1276ea396e5fefa2600d7bcd4 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:24:28 -0700 Subject: [PATCH 16/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index c6c6c5af0b..18299995e9 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -12,7 +12,7 @@ Backstage's plugin architecture is designed to be highly flexible, enabling the ## Improved Collaboration and Knowledge Sharing -Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence【94†source】【95†source】. +Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence. ## Consistency and Best Practices From d76cab574b07d91f0410771c1fcc826cec756eff Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:24:49 -0700 Subject: [PATCH 17/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index 18299995e9..8b31daea73 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -16,7 +16,7 @@ Plugins facilitate better collaboration among teams by consolidating documentati ## Consistency and Best Practices -By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams【93†source】【95†source】. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. +By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. ## Scalability and Maintenance From 22de0c6f49e234467036d36c294b495c20a38244 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:25:04 -0700 Subject: [PATCH 18/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index 8b31daea73..20118ca0b1 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -20,7 +20,7 @@ By adhering to Backstage’s design guidelines, plugins ensure a consistent user ## Scalability and Maintenance -Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability【94†source】【96†source】. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. +Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. ## Community and Ecosystem Growth From 8ec73c607ed0b90e09663572a0156e5671ba7258 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:25:18 -0700 Subject: [PATCH 19/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index 20118ca0b1..a0f6737842 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -8,7 +8,7 @@ Plugins in Backstage centralize and simplify access to tools, reducing the time ## Customizable and Extensible Platform -Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly【93†source】【94†source】. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). +Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). ## Improved Collaboration and Knowledge Sharing From c98bb954c151358e21deaf146c2caba45140ed51 Mon Sep 17 00:00:00 2001 From: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:25:29 -0700 Subject: [PATCH 20/25] Update docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md Co-authored-by: Aramis Sennyey <159921952+aramissennyeydd@users.noreply.github.com> Signed-off-by: Mark Jackson <16655670+markjacksonfishing@users.noreply.github.com> Signed-off-by: aramissennyeydd --- .../plugins-101-building-your-first-plugin/why-build-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md index a0f6737842..9e8cd996b4 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -24,6 +24,6 @@ Backstage plugins are designed to be modular and independent, allowing for easy ## Community and Ecosystem Growth -Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform【94†source】【95†source】. +Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform. Building plugins for Backstage significantly enhances developer productivity, promotes best practices, supports scalability, and fosters community growth. These plugins transform Backstage into a comprehensive developer portal that can adapt to the unique needs of any organization. For more detailed information, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/) and the [Introduction to Plugins](https://backstage.io/docs/plugins/). From 7b95f3bd21091799cac8e673acfefacba2fe69eb Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Wed, 16 Oct 2024 08:53:47 -0400 Subject: [PATCH 21/25] address PR feedback Signed-off-by: aramissennyeydd --- .github/vale/config/vocabularies/Backstage/accept.txt | 3 +++ docs/plugins/index.md | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/.github/vale/config/vocabularies/Backstage/accept.txt b/.github/vale/config/vocabularies/Backstage/accept.txt index 2cbcc484f7..436021eb3d 100644 --- a/.github/vale/config/vocabularies/Backstage/accept.txt +++ b/.github/vale/config/vocabularies/Backstage/accept.txt @@ -176,6 +176,7 @@ idempotency Iglesias iLert img +impactful incentivised Indal indexable @@ -368,6 +369,8 @@ scaffolded scaffolder Scaffolder scrollbar +SCM +SCMs sdks seb semlas diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 534f106896..f00f1b52fc 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -26,6 +26,10 @@ Should your plugin complement the Software Catalog rather than exist as a standa ## Guides for Plugin Development +:::note Note +This section is still a work in progress, many of the guides described below do not exist yet. +::: + ### For Beginners: Introduction to Plugin Development This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. From d286919ef856c93e6c542268f441c354b96f84a3 Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Sat, 19 Oct 2024 13:23:01 -0400 Subject: [PATCH 22/25] address pr feedback Signed-off-by: aramissennyeydd --- docs/plugins/guides.md | 58 +++++++++++++++++++ docs/plugins/index.md | 50 ---------------- .../why-build-plugins.md | 21 ++++--- 3 files changed, 72 insertions(+), 57 deletions(-) create mode 100644 docs/plugins/guides.md rename docs/{integrations => plugins}/plugins-101-building-your-first-plugin/why-build-plugins.md (88%) diff --git a/docs/plugins/guides.md b/docs/plugins/guides.md new file mode 100644 index 0000000000..ba80b651c1 --- /dev/null +++ b/docs/plugins/guides.md @@ -0,0 +1,58 @@ +--- +id: guides +title: Guides for Plugins +meta: + status: in-progress +--- + +## Guides for Plugin Development + +:::note Note +This section is still a work in progress, many of the guides described below do not exist yet. +::: + +### For Beginners: Introduction to Plugin Development + +This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. + +- **Introduction to Plugin Development** + - Why build plugins? Introduction to the value and impact of plugins within Backstage. + - Detailed guidance on starting and iterating on a plugin development project. + - Engaging with the community and stakeholders to propel your project. + +### For Intermediate Users: Scaling and Deploying Your Plugin + +This section helps developers prepare their plugins for broader adoption, emphasizing best practices in monitoring, logging, and performance. + +- **Scaling and Deploying Your Plugin** + - Strategies for scaling your plugin for greater adoption. + - Best practices for monitoring and logging. + - Understand plugin ownership and maintain an inner source mentality. + +### For Advanced Users: Advanced Plugin Customization and Integration + +This is for those ready to explore complex challenges and enhance their plugins with advanced features. + +- **Advanced Plugin Customization and Integration** + - Enabling resource-level authorization and interfacing with external services, SCMs, or databases. + - In-depth exploration of fostering an inner source mentality and understanding adoption dynamics. + - Decision-making frameworks: choosing between developing a new plugin or utilizing an existing open-source solution. + - Open-sourcing: How and when to contribute back to the community. + +## Additional Resources and Further Reading + +- **Real-world Implementations and Lessons** + + - [Case studies and examples from the community](https://github.com/backstage/community#newsletters). + - Best practices derived from mature implementations. + - [Existing open-source community-maintained plugins](https://github.com/backstage/community-plugins). + +- **Resource Compendium** + + - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. + - Recommended readings and tools for advanced developers. + +- **Certification and Learning Pathways** + - Pathways to deepen your understanding and expertise in plugin development for Backstage. + +Stay tuned for detailed exploration and guidance in each of these modules. We're excited to accompany you on your plugin development journey! diff --git a/docs/plugins/index.md b/docs/plugins/index.md index f00f1b52fc..00f085898c 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -24,54 +24,4 @@ This approach is equally beneficial if you conceive an idea for a potentially im Should your plugin complement the Software Catalog rather than exist as a standalone feature (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration in the [Integrating Plugin into Software Catalog guide](integrating-plugin-into-software-catalog.md). -## Guides for Plugin Development - -:::note Note -This section is still a work in progress, many of the guides described below do not exist yet. -::: - -### For Beginners: Introduction to Plugin Development - -This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. - -- **Introduction to Plugin Development** - - Why build plugins? Introduction to the value and impact of plugins within Backstage. - - Detailed guidance on starting and iterating on a plugin development project. - - Engaging with the community and stakeholders to propel your project. - -### For Intermediate Users: Scaling and Deploying Your Plugin - -This section helps developers prepare their plugins for broader adoption, emphasizing best practices in monitoring, logging, and performance. - -- **Scaling and Deploying Your Plugin** - - Strategies for scaling your plugin for greater adoption. - - Best practices for monitoring and logging. - - Understand plugin ownership and maintain an inner source mentality. - -### For Advanced Users: Advanced Plugin Customization and Integration - -This is for those ready to explore complex challenges and enhance their plugins with advanced features. - -- **Advanced Plugin Customization and Integration** - - Enabling resource-level authorization and interfacing with external services, SCMs, or databases. - - In-depth exploration of fostering an inner source mentality and understanding adoption dynamics. - - Decision-making frameworks: choosing between developing a new plugin or utilizing an existing open-source solution. - -## Additional Resources and Further Reading - -- **Real-world Implementations and Lessons** - - - Case studies and examples from the community. - - Best practices derived from mature implementations. - -- **Resource Compendium** - - - [Backstage Glossary](https://backstage.io/docs/references/glossary) of key terms. - - Recommended readings and tools for advanced developers. - -- **Certification and Learning Pathways** - - Pathways to deepen your understanding and expertise in plugin development for Backstage. - -Stay tuned for detailed exploration and guidance in each of these modules. We're excited to accompany you on your plugin development journey! - --- diff --git a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md similarity index 88% rename from docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md rename to docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md index 9e8cd996b4..35af9cf9be 100644 --- a/docs/integrations/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -1,28 +1,35 @@ +--- +id: why-build-plugins +title: Why build plugins? +meta: + status: in-progress +--- + # Why Build Plugins? Introduction to the Value and Impact of Plugins within Backstage -Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at why building plugins for Backstage can be highly beneficial: +Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at how and why building plugins for Backstage can be highly beneficial: -## Enhancing Developer Productivity +## 1. Enhancing Developer Productivity Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly. -## Customizable and Extensible Platform +## 2. Customizable and Extensible Platform Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). -## Improved Collaboration and Knowledge Sharing +## 3. Improved Collaboration and Knowledge Sharing Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence. -## Consistency and Best Practices +## 4. Consistency and Best Practices By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. -## Scalability and Maintenance +## 5. Scalability and Maintenance Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. -## Community and Ecosystem Growth +## 6. Community and Ecosystem Growth Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform. From 9679c47aac241194a84c13c48dfa82bc83ce7c9b Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Sat, 19 Oct 2024 13:40:11 -0400 Subject: [PATCH 23/25] try this format instead? Signed-off-by: aramissennyeydd --- docs/plugins/guides.md | 3 +-- .../why-build-plugins.md | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/plugins/guides.md b/docs/plugins/guides.md index ba80b651c1..35bf6ccefb 100644 --- a/docs/plugins/guides.md +++ b/docs/plugins/guides.md @@ -1,8 +1,7 @@ --- id: guides title: Guides for Plugins -meta: - status: in-progress +status: in-progress --- ## Guides for Plugin Development diff --git a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md index 35af9cf9be..2415298448 100644 --- a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -1,8 +1,7 @@ --- id: why-build-plugins title: Why build plugins? -meta: - status: in-progress +status: in-progress --- # Why Build Plugins? Introduction to the Value and Impact of Plugins within Backstage From f56b2646a5830df11272cfe07d1ed55ac44d20d8 Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Sat, 19 Oct 2024 14:17:18 -0400 Subject: [PATCH 24/25] one more try Signed-off-by: aramissennyeydd --- docs/plugins/guides.md | 7 +++---- docs/plugins/index.md | 2 -- .../why-build-plugins.md | 5 ++++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/plugins/guides.md b/docs/plugins/guides.md index 35bf6ccefb..a6bca91cdc 100644 --- a/docs/plugins/guides.md +++ b/docs/plugins/guides.md @@ -1,15 +1,14 @@ --- id: guides title: Guides for Plugins -status: in-progress --- -## Guides for Plugin Development - :::note Note -This section is still a work in progress, many of the guides described below do not exist yet. +This docs is still a work in progress, many of the guides described below do not exist yet. ::: +## Guides for Plugin Development + ### For Beginners: Introduction to Plugin Development This section is designed for those new to plugin development. It covers the basics and provides a foundation for more advanced topics. diff --git a/docs/plugins/index.md b/docs/plugins/index.md index 00f085898c..f709afa894 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -23,5 +23,3 @@ This approach is equally beneficial if you conceive an idea for a potentially im ## Integration with the Software Catalog Should your plugin complement the Software Catalog rather than exist as a standalone feature (for instance, as an additional tab or a card within an "Overview" tab), you'll find comprehensive guidance on achieving this integration in the [Integrating Plugin into Software Catalog guide](integrating-plugin-into-software-catalog.md). - ---- diff --git a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md index 2415298448..041703a239 100644 --- a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md +++ b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md @@ -1,9 +1,12 @@ --- id: why-build-plugins title: Why build plugins? -status: in-progress --- +:::note Note +This docs is still a work in progress, many of the guides described below do not exist yet. +::: + # Why Build Plugins? Introduction to the Value and Impact of Plugins within Backstage Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at how and why building plugins for Backstage can be highly beneficial: From d39aa4e22e3932e9846d6d9b4f439e4c2bd378f9 Mon Sep 17 00:00:00 2001 From: aramissennyeydd Date: Fri, 25 Oct 2024 11:02:29 -0400 Subject: [PATCH 25/25] move guide to a separate PR Signed-off-by: aramissennyeydd --- .../why-build-plugins.md | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md diff --git a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md b/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md deleted file mode 100644 index 041703a239..0000000000 --- a/docs/plugins/plugins-101-building-your-first-plugin/why-build-plugins.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: why-build-plugins -title: Why build plugins? ---- - -:::note Note -This docs is still a work in progress, many of the guides described below do not exist yet. -::: - -# Why Build Plugins? Introduction to the Value and Impact of Plugins within Backstage - -Backstage plugins are essential components that enable the integration of various tools and services into a unified developer portal. Here’s a detailed look at how and why building plugins for Backstage can be highly beneficial: - -## 1. Enhancing Developer Productivity - -Plugins in Backstage centralize and simplify access to tools, reducing the time developers spend switching between different systems. By providing a consistent interface and user experience, plugins minimize cognitive load and streamline workflows, allowing developers to focus more on coding and less on tool management. Plugins can leverage platform APIs and reusable UI components to integrate external data and services seamlessly. - -## 2. Customizable and Extensible Platform - -Backstage's plugin architecture is designed to be highly flexible, enabling the integration of nearly any infrastructure or software development tool. This extensibility allows organizations to tailor Backstage to meet their specific needs, integrating internal tools, third-party services, and other custom functionalities seamlessly. For detailed guidelines on plugin development, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/). - -## 3. Improved Collaboration and Knowledge Sharing - -Plugins facilitate better collaboration among teams by consolidating documentation, code repositories, CI/CD pipelines, and monitoring tools in one place. This centralization makes it easier for team members to find information, share insights, and collaborate on projects, enhancing overall team productivity and coherence. - -## 4. Consistency and Best Practices - -By adhering to Backstage’s design guidelines, plugins ensure a consistent user experience across the platform. This consistency helps in maintaining usability and reducing the learning curve for new users, promoting the adoption of best practices within development teams. More details can be found in the [Introduction to Plugins](https://backstage.io/docs/plugins/) section. - -## 5. Scalability and Maintenance - -Backstage plugins are designed to be modular and independent, allowing for easy updates and maintenance without affecting the overall system. This modularity supports horizontal scalability, where each plugin can be scaled independently according to the needs of the application, ensuring robust performance and reliability. For more on structuring and connecting plugins, see the [Structure of a Plugin](https://backstage.io/docs/plugins/structure-of-a-plugin) documentation. - -## 6. Community and Ecosystem Growth - -Developing and contributing plugins to the Backstage community helps in expanding the ecosystem. Open-source contributions foster innovation and collaboration, allowing developers to leverage a wide range of existing plugins and avoid reinventing the wheel. This collaborative environment accelerates the development of new features and enhances the overall value of the Backstage platform. - -Building plugins for Backstage significantly enhances developer productivity, promotes best practices, supports scalability, and fosters community growth. These plugins transform Backstage into a comprehensive developer portal that can adapt to the unique needs of any organization. For more detailed information, refer to the [Backstage Plugin Development documentation](https://backstage.io/docs/plugins/plugin-development/) and the [Introduction to Plugins](https://backstage.io/docs/plugins/).