Initial patch in https://drupal.org/node/1311468#comment-5619252

This resolves some complications with Rules, Flag, and Services.

Status comments may also benefit from being entities.

Making those entities fieldable is a much more complicated problem (because of the UI required to make that work) that is deferred to the possible 2.x branch.

Comments

mathankumarc’s picture

Ah. Most expected and wanted feature :)

eidoscom’s picture

I have a question on statuses and comments to be an entity.

I can understand statuses as some kind of comments and thinking about if we has statuses converted to entities, it can be possible to statuses can work as comments of statuses??

If we can attach a statuses to any entity, we can attach statuses to statuses. I don't know if this is a bad idea or I'm missing something important that make this idea a bad one.

icecreamyou’s picture

Yeah, there are a few things you're missing.

  • Storage/state representation is trivial, and that's what entities encapsulate. The reason we are interested in Statuses being entities is because other modules happen to know how to interact with that specific representation pattern, but it doesn't do anything for us to use the same entity type for Statuses and Status Comments other than the fact that we wouldn't have to define two entity types. It's just a code convention and doesn't confer any other benefits, i.e. making status comments into statuses wouldn't magically create a status-driven comment system.
  • Similarly, the actual hard part is the user interface. We want different UI conventions for statuses and status comments, e.g. for viewing, creating, editing, and deleting, as well as different permissions, flags, etc. There should be distinctions made when integrating too (for example you might want to use Rules to send users an email when someone writes a status message on their profile but not when someone comments on a status on their profile).
  • There is already no reason statuses couldn't be attached to other statuses. It would be around 20 lines of code to do so. But again, the problem is not the code, it's the UI and integrations, i.e. what you actually do with those status objects.
icecreamyou’s picture