At least part of my issue with #605520: undefined variable $colcolname, line 95 of tw.views_default.inc is a fundamental misunderstanding of a feature based on unclear naming. Completely by accident, I happened to stumble across this nice little tidbit on the Project page (emphasis mine):
Version 1.1 is now available. It adds significantly more flexibility in creating relationships - they can be defined as either Automatic (using Views joins) or Manual (using Views relationships)...
There is absolutely nothing in the naming of "Manual" and "Automatic" that even remotely implies some sort of bearing on how these will be represented in Views.
I'll go out on a limb and ask... why not call it "Join" vs. "Relationship?" :)
Comments
Comment #1
mikeryanIndeed, I've struggled with the terminology. Elsewhere you say "IMO, we can assume some level of database familiarity with the users of this module", but I've had enough feedback to indicate there is an audience that is not really database literate - people that have a CSV file they want to expose on their Drupal site without learning the terminology of relational databases.
I'm not entirely happy with the Automatic/Manual thing myself, but I need a better alternative that might mean something to DBAs and people trying to upload Excel spreadsheets. Considerations:
In this context, calling the overriding concept Relationships and calling the sub-concepts Manual and Automatic is the best I can think of - I think Automatic and Manual are the best way to convey the idea that the difference is whether the data on the right side of the relationship is automatically included in views of the left side. I'm sure better supporting documentation can be provided for the concepts, but I'm open to better terminology - I'm not convinced Joins/Relationships is it.
Thanks for the feedback - the vocabulary for a module like this, which potentially straddles technical and non-technical users, is challenging.
Comment #2
webchickHm. Good points. And it was a bit silly for me to assume that the people using this will understand db concepts. :)
I guess I was thrown off because you also use terms directly from Views like "base table" which I don't think most people without familiarity with the Views API will understand. So applying this vocabulary consistently would mean also using "Join" and "Relationship" in the names.
Of the options proposed, I definitely think "Relationship" or "Relationship type" as the column header (instead of "Automation") would be a drastic improvement, and would've severely cut down on the time it took for me to figure this out.
Comment #3
mikeryanChanged column name to "Relationship type".