I've been prototyping a lot in the last month and this is the 3rd attempt, in my opinion the best one for the long term.
https://github.com/openwisp/django-netjsonconfig/pull/56 It contains backward incompatible changes (just like the addition of multi-tenancy), which means developers who used that component to make derivative work will have problems to upgrade, but it should be transparent for users. The reason for this big change is summed up in one of the commit messages: [models] Added device model (BACKWARD INCOMPATIBLE) #52 This backward incompatible change modifies the database and model logic in few important ways: A new Device model stores information that is specific to network devices: mac address, name, model, operating system, while configuration information is optional and delegated to Config, which does not store mac address and hostname anymore. This change allows to create users which can operate on device objects without having permission to edit their configuration, and also allows the possibility to implement drafting configuration changes before applying them. It's a risky change, but I believe it's a good long term investment; it's also better to do this kind of change now when the OpenWISP project still has a small userbase than lateri on when it will grow to thousands of users. Federico -- You received this message because you are subscribed to the Google Groups "OpenWISP" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
