Fibery users should be entities just like any other

If you set login to true on Project or Task that probably means that you have ProjectManagers or TaskMasters logging in. What I mean is that if you’re doing it, it hopefully makes sense in your context (as with any field).
It’s more than a checkbox, it’s a whole set of properties and functionality.
It’s also an example of why I think that rigid types are wrong. The type name should be just a label. The type should be the composition of all its traits. I.e. you shouldn’t have to convert entities of type A to type B: you should just be able to add/remove the same traits to/from A until it has the desired behaviours and shows up in the desired places.

Partly why I’m arguing for this is because I’ve been using CMSs that implement this type of pattern for many years. E.g. adaptation in the Zope Component Architecture, or ContentParts in Orchard.

1 Like