drawio icon indicating copy to clipboard operation
drawio copied to clipboard

New way to add "smart" shapes and shape libraries to Draw IO

Open rezanid opened this issue 2 years ago • 0 comments

  • [X] I agree to follow the Code of Conduct that this project adheres to.
  • [X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe. It will bring a lot of added value if there was a standard way to create custom and smart shapes for Draw IO using XML / JSON and perhaps minimal JS. This would allow the end-user to contribute to Draw IO by creating domain-specific library of shapes that can be share with the whole community.

  • By "smart shapes" I mean shapes that can change their representation based on the data (or tags) that is assigned to them.

Describe the solution you'd like

  • Shapes could be designed in the Draw IO (what's better than Draw IO for drawing?! 😉 )
  • The meta-data of shapes could support simple expressions (that would be a good start)

Describe alternatives you've considered An alternative that would be easier to build for you, but more limited in terms of extendibility for the end-user is to provide the possibility to combine multiple shapes and then depending on a tag in the meta-data of the shape only one would be rendered on the canvas. This alternative can also be a start before moving towards the original solution.

Additional context

  • Although the core library of shapes in Draw IO is great (I mean it) and it's very easy to add shapes to it using SVG files, but many of the out-of-the-box shapes provide some features that cannot be reproduce in a custom shape.
  • There are so many domain-specific areas out there that re not covered by the core library.
  • There is good chance that some creative power-user out there have brilliant ideas that con benefit all the other users.
  • Not all the users (including me) have deep technical skills and understanding of inner working of Draw IO to be able to contribute directly to the repo, and isolating extending shapes from the product IMHO will help increase productivity of the dev team and at same time serve as a platform for people from all levels to contribute.

rezanid avatar Aug 09 '22 09:08 rezanid