-
Notifications
You must be signed in to change notification settings - Fork 353
Description
I am a big fan of Chartbuilder. And please excuse any things I may have overlooked in researching how Chartbuilder works and how it should be used by other organizations. I may come off negative here, but I am mostly just trying to discuss a possibility here.
Chartbuilder seems like it is meant to be used by other organizations. Specifically I would think that the goal is to have organization install Chartbuilder, customize/configure for their needs, and then deploy somewhere. I personally don't think it's built in a way to do this effectively, and I am reluctant to use Chartbuilder in our organization since there is no real upgrade path or easy way to manage customizations/configuration.
This seems to be the current upgrade path for Chartbuilder, and this is not a very good/stable/usual way to upgrade.
https://github.com/Quartz/Chartbuilder/blob/master/docs/git-workflow-forks.md
To solve this, Chartbuilder should be thought of as a library, i.e. an NPM or Bower module that can be installed like npm install chartbuilder. This would put a bit more work on the deployment side to set up an HTML page that called something like Chartbuilder({ el: ".cb-container" });. But, given that you need to do npm install and other commands to get running with Chartbuilder, I don't see much difference in skill level for this.
Another step to achieve this would have Chartbuilder not need to go through a build process to be used, but instead comes as a built library.
Secondly, configuration is managed through changing source files. This again, makes it difficult to upgrade. Configuration should happen in a way that is outside the source files, either through a JSON file or options in a function.
JS configuration is also happening in multiple places. It would be super nice to see/have this all in one place.
So, these sorts of changes would make it much easier to deploy, configure, upgrade, and ultimately invest in, at least in my opinion.
I don't think this is a perfect example, but this project gives a good idea of the architectural direction that I think would make Chartbuilder much easier to use from an organizational standpoint.
https://github.com/datanews/tik-tok