The term "content type" has a completely different meaning in Ctools than it does elsewhere in Drupal and creates confusion. This week I did some work on updating a website from Drupal 6 to Drupal 7 and encountered error messages saying that a "content type" was invalid. I had to spend a couple of hours figuring out that the "content type" in question was not a Drupal content type related to Drupal nodes, but rather a Ctools content type relate to panes.
I don't know how this naming collision occurred. I think it used to be more common to refer to Drupal content types as "node types" rather than as "content types." However, "content types" is now clearly the dominant nomenclature for Drupal content types, and defining Drupal content types has become one of the most common things that people do when they build websites with Drupal. The fact that Ctools defines a different object with the same name is inherently confusing. In addition, it makes it harder to find information online relevant to Ctools content types. If I do a Google search for "content type" or search Drupal.org, most of the references that come back relate to Drupal content types rather than Ctools content types. I think therefore that Ctools should try to rename its content types to something else.
Comments
Comment #1
merlinofchaos commentedI can't argue that, but I also don't enjoy having to rename stuff when core changes name spaces. It's confusing. These objects have been named what they are since Drupal 4.7 or so, and there's a lot of history there. Renaming them is a non-trivial task since it's an API and a lot of modules use it, and they would all have to update their code. It's an unfortunate situation. Perhaps I will revisit it for Drupal 8, as there are significant parts of the system that need a rewrite.
Comment #2
sheldon rampton commentedI understand that this is not an easy request to fulfill, but in this case, Drupal core is the 300-pound gorilla in the room.
Whenever you do get around to renaming your content types, just please don't call them "entity types." :-)