Re: Property sheet, ad hoc, property page, flexible data

From: Marshall Spight <>
Date: 19 Jul 2005 14:13:41 -0700
Message-ID: <>

AC wrote:
> I am looking for a solution that hopefully someone here has tackled. I want
> to create "base" tables with fields that are intrinsic to the application.
> I also want to allow the customers using the application to be able to
> create their own fields so that they can easily customize the application.
> These new fields would either be added to the base table or to a separate
> table with a 1:1 relationship to the base table. The client application
> will render the controls based on the new fields in a grid to allow a
> flexible amount of fields to be added by customers.
> How would you handle this?

You can have whatever schema you want for your built-in, predefined fields; that's what schema is for. But the mistake most people make is thinking that user-defined fields somehow specify more schema; they don't. I hereby propose, in public for the first time, my formulation on the relationship between schema and semantics:

  No schema, no semantics.
  Know schema, know semantics.

Okay, so it's bumper-sticker level material, but it gets the point across: if you don't have a schema for something, you don't know jack about it.

You don't know anything about what these user-defined fields mean. So don't make any schema for them; it's not the right tool. Instead, just make the schema for what you *do* have semantics for, which is "user-supplied name".

Marshall Received on Tue Jul 19 2005 - 23:13:41 CEST

Original text of this message