I know this is taking a long time, but here’s what I’m up to with Weathermap now:
- Cacti 1.0 uses a sort-of old-fashioned “download chunks of HTML” approach to its new UI. That meant rewriting the Weathermap Cacti plugin to work in this (undocumented) style, too.
- I also have wanted to rewrite it anyway for some time into a more object-oriented format which separates the actual actions on the database from the display code. This makes it possible to write automated tests for the action code, and for someone to potentially reuse it a lot more easily in another NMS integration.
- I was halfway through doing all that, when I realised that if I was going to have to rewrite it anyway, I’d rather do it in a manner than benefits everyone, including non-Cacti users. Particularly as I am personally not really much of a Cacti user nowadays, but also I’ve wanted to make it easier for folks like the LibreNMS project to integrate weathermap for some time now.
- So: new plan. The user-interface parts of the Cacti plugin will be entirely javascript client-side code. The remaining plugin parts will just form an API that the client-side calls. This means I can ignore the Cacti AJAXy redesign stuff, largely. I’ll also be trying to ensure that the client-side doesn’t need Cacti-specific data. At that point, someone from $OTHER_NMS team can embed the client javascript as-is, and implement a simple JSON API, and they too have integrated Weathermap, including map management. To prove this works, I’m planning to make a standalone web app too, providing a web-based, database-backed manager for people using non-integrated NMSes.
- The ‘user’ plugin is about 70% done (map cycling remains). The ‘management’ plugin is started but early days. This work is also a lot more fun than trying to untangle someone else’s intent though, so it’s progressing well. The client side of things will be written with Inferno and Redux.
Once again, sorry for the long delay, but I wanted this to be right. I also wanted it to be fun to do – this is my hobby project, without much external contribution[*], so having it feel like a job I hate doing for the last year has been no fun at all. The end result should be worth it.
Also, this is the path the data-picker, and then editor will take in a future release, and quite possibly weathermap itself after that – I already did a little bit of experimentation with that.
* A huge thank you to those contributors though! It is still my goal to build a development group around the project if possible. For me personally, that still means simplifying, modernising, clarifying the internals, to make it easier for others to get started and contribute. I do still see this as the ‘dark ages’ before a brave new world of open source weathermap – it’s just taking longer than I hoped! 🙂