We don't join on that table. Since survey items and their configuration are self-contained and because the item infrastructure supports user/3rd party items, it is up to each item to maintain it's own text and other configuration. As a result, Checkbox core code can't assume that an item's text is maintained in that text table, though the out-of-the-box items do store that data in the table.
In Checkbox, all text is accessed through a Text Provider object with a text identifer and language code, so the database is queried for specific text strings rather than joins against item id. The text provider also has optimizations, such as caching, to improve performance.
A secondary reason text exists in this table is to support import and export of text data from the sytem for translation purposes. The table contains all application text, not just text for survey questions.
Thank you.
|