"embel" is short for "embellishing the PhoneBook web application".
embel puts the PhoneBook tutorial's embellishments back into
the application after uigen.exe has created a new application
from the domain.
Why would anyone do such a crazy thing? Answer: Modifications
to uigen.exe templates are tested in the PhoneBook, and this
includes modifications to re-motion default styles. (For more
on this type of work, see The PhoneBook innovation cycles.)
Some of the embellishments require not more than copying
extra files, at least at this time. These files are
copied as is, because they implement "brand-new" extensions
to the uigen.exe-generated PhoneBook. Examples:
...
Other cases are not so easy to understand. Remember what happens
in the life of SearchResultPhoneNumberControl.ascx
, for example.
uigen.exe
creates theSearchResultPhoneNumberControl.cs
file from
theSearchResultControl.cs
template and thePhoneNumber
class- The resulting
SearchResultPhoneNumberControl.cs
file is embellished
by us to get rid of thoseDisplayName
(i.e.
<BocAllPropertiesPlaceHolderColumnDefinition />
is replaced by
(<BocSimpleColumnDefinition />
s for each property)
...
Now let's say we modify the SearchResultControl.ascx
template
file so that it contains a blue dot in its top-left corner. All
SearchResultXControl.ascx
files will sport this blue dot
after step 1, and this includes our SearchResultPhoneNumberControl.ascx
:
...
After modifying one or more templates and testing it by running
uigen.exe
we face a problem: now we have to re-embellish the
entire PhoneBook web application. In our example case, we have
TWO phone-book applications: an old embellished one (without
the blue dot) and a new unembellished one with no blue dot:
...
Doing this manually is BORING, but how can we automate it?
Stefan had the idea of using SVN's merge mechanism, but
this was not quite convincing for reasons that will become
clear later in this document.
As for the automation, the simple copying ({files in Classes
,
icons) is done by the batch script embel.cmd
.
The more tricky merging of files freshly generated from
new templates with old embellished files is done by
a python script named embel.py
. embel.py
transplants embellishments to unembellished PhoneBook
files. Based on the example above, one could draw the
illustration like this: