Is a TID necessary for the {classroom_topic} table? The topic number field isn't even really necessary (that I understand).
I think we could do away with it, and just adopt a "weight" field.

It's easier to display a "ROW number" as pulled into "Views" based on the "weight" of a topic than it is to manually enter and redefine topics as needed. It might even be easier for instructors or course managers to modify topic outlines with Drupal's built-in drag-and-drop weight functionality.

This would be ideal for several reasons:

  • The topic table can safely be larger than the node table.
  • Topics are not limited to the number of TID's that the database can generate.
  • Topics can still be identified by their course NID and WEIGHT property.
  • Course managers and instructors can quickly change topic structure.
  • An additional field like topic_parent (references WEIGHT) can permit hierarchical topic tables (i.e. Sub-topics).