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.

Reply via email to