Sounds like a normalisation problem. Many-to-many relationships between widgets, attributes and events?
So you need a Widget-Attribute table and an Attribute-Event table.
To add a new Widget, you add one entry into the W-A table for each attribute the widget has.
Each Attribute has an entry in the A-E table for each Event that must be triggered by that Attribute.
For source control, you add a revision number to each entry in each table. You have a single entry table from which you pick up the current production level revision and this is used in your where clauses
select...
from Widget-Attribute as wa, Production as p
where ....
and wa.revision = p.revision;
This allows you to add new mappings to either table with a higher-than-production revision level, and test them before updating the Production.revision value to cause the production code to use them. Old mapping can be retained as long as required and removed when not.
Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.