GithubHelp home page GithubHelp logo

Comments (14)

juhamust avatar juhamust commented on July 18, 2024

Some food for thought and motivation:

I've been using both Dashing and Atlasboard to build dashboards and they both fall short with extending/contributing.

Some ideas & wishes:

  • Provide a way to access dashboard logger
  • Allow a widget to introduce new dependencies (each have their own package.json)
  • Dashboard could provide a storage (persistent or not) that widgets could utilise to cache some data
  • Provide a way to add new middleware to server, for example for authentication

This project has a great potential, and if you manage to bring good extendability to it, that'll greatly help people to contribute.

from mozaik.

plouc avatar plouc commented on July 18, 2024

@juhamust thanks for the feedback, I'm currently working on making the extensions npm modules and plan to make the express app available for customization, but for now I don't plan to introduce a storage layer, but because the extensions will now be able to declare their own dependencies, it's possible to add it for a specific extension. I've also added the winston logger, I must find a clean way to expose it.
If you're curious, there is a PR in progress here /pull/23 and I've already published (really beta) modules to npm https://www.npmjs.com/search?q=mozaik

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

This is excellent news! I will try out the branch in near future, but sounds good.

If you'll find winston logger too limited at some point, I recommend trying bunyan as an alternative.

from mozaik.

plouc avatar plouc commented on July 18, 2024

Still a work in progress, but I've published a first demo showing what's the new architecture should be on https://github.com/plouc/mozaik-demo, for now, it's not really usable, I have to fix a problem with duplicate modules (because npm installs modules recursively) and migrate extensions clients to have a validated config + ability to use the main logger (already done on heroku and github extensions). I'll work on the cli when all the architecture will be mature enough.

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Thanks for the update @plouc! Sure it's a big effort (causing some regressions and whatnot), but I believe it will greatly help people to contribute/extend in the long run.

You may also need to give up with wiki powered extension documentation and encourage widget author using README.(md/rst) instead. Maybe even provide a mozaik-ext-boilerplate?

from mozaik.

plouc avatar plouc commented on July 18, 2024

I've published mozaik and mozaik-ext-* npm modules but I have to update the whole wiki because of the switch and add more tests on it.
I'm thinking of a yeoman generator for the extension boilerplate.

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Any plans for merging this to master branch soon? It also seems that there is some code pushed to npmjs that does not exist in version control yet (for example Mozaik.loadApiConfig) - which makes a bit more challenging to use version control as dependency for time being.

from mozaik.

plouc avatar plouc commented on July 18, 2024

Yes, I'm sorry for that, as it's a side project I didn't had enough time to dry the extensibility branch, by the way, I'll try to push code released on npm asap.

from mozaik.

plouc avatar plouc commented on July 18, 2024

The extensibility branch is now up to date with the latest npm package

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Great, thanks.

from mozaik.

plouc avatar plouc commented on July 18, 2024

@juhamust, I've merged the extensibility branch and I'm currently working on yeoman generators for custom dashboard and extension, see https://github.com/plouc/mozaik-generator.

I have not yet updated the wiki.

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Excellent work, @plouc. I've got couple of widgets already cooking up, and while being developed on work-time, hoping to release them under permissive license soon.

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Feel free to close this ticket.

from mozaik.

juhamust avatar juhamust commented on July 18, 2024

Putting the money where my mouth is, now there are couple of extensions published:

from mozaik.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.