I have several custom entities, about 8.

Each contains information about a given subset of data.

Currently, this is being created by filling 8 different tables with data from an API and exposing it to Drupal with Views and making them custom entities.

I'm wondering - is it best practices to have each as a custom entity, or should they be made into node bundles?

One of the entities either has to have a relationship with a taxonomy term as well - either with the taxonomy term having multiple entity references to the custom entities, or making the custom entity fieldable and adding multiple taxonomy terms to it. This would be used to organize one of the custom entities.

So I guess I'm asking two architectural questions here - when is it best practice to put content into nodes, and when is it best practices to put it into custom entities? Should you make an entity a child of a taxonomy term, or make taxonomy terms children of other entities? I'm not seeing any information about how to make big architectural decisions like this. It seems like there would be a relatively straight-forward argument for one and only one architectural choice in these use-cases.

Excuse me if this is simple data architecting - I'm self-trained and never took computer science in college, so this may be easier to others than it is to me.

  • Pretty much a duplicate of this I think: drupal.stackexchange.com/questions/22586/…
    – Clive
    Commented Nov 25, 2014 at 13:48
  • Please don't forget to tag this kind of question with the Drupal version of yours because I think it can depend a lot on that too :-)
    – Djouuuuh
    Commented Nov 25, 2014 at 13:49
  • Drupal 7 is the only version with entities, but I have now tagged it with the 7 tag.
    – Jack Ryan
    Commented Nov 25, 2014 at 15:49
  • And thank you Clive, I'll check that out. What about the taxonomy as child or parent?
    – Jack Ryan
    Commented Nov 25, 2014 at 15:49
  • "Drupal 7 is the only version with entities" - don't forget D8 :-)
    – Chapabu
    Commented Nov 25, 2014 at 16:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.