Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The uigen config file is the configuration file for uigen.exe.
It specifies "placeholders" and their values, which uigen.exe uses in
the templates.

There is also a settings node with path information to uigen.exe templates.

Settings and <applicationGenerator template...>

The template attribute contains the path to the uigen.exe master file,
always TabbedEditor.xml.

  • templateRoot: which set of templates to use
    for generating the web application project.

For re-motion version 1.13.6. and lower, these directories
are located under the Remotion directory, the root directory
of the re-motion distribution. Since uigen.exe can only
handle absolute paths, you must adapt them to your particular
location of that directory.

  • targetRoot: This is the solution root, not the root directory
    for the web project, i.e. the top-level directory for all your
    Visual Studio sub-projects.

Just as the name suggests, the namespace settings are namespaces, NOT
paths:

  • projectNameSpaceRoot: namespace of the web application project
  • domainNameSpaceRoot: namespace of the domain project

Visual Studio mildly enforces that the directory name of a project
is the same as the namespace, so this might not matter if you follow
this convention. However, if you don't, make sure that you specified
the namespace.

Instead of a listing with complicated syntactic variables, here
is an illustration of what is which, with the PhoneBook project
as example:

Placeholders
  • $ReferencesDir$: the name of the directory in
    the web application project for storing the
    references to the domain- and re-motion assemblies
    By convention, this node is named "References" in
    Visual Studio, so that's probably what you will use
    for the placeholder value.
  • $DomainProjectName$: the name of the node with the
    domain project in Visual Studio.
  • $DomainProjectAssembly$: don't know, FIXME
  • $WebProjectName$: the of the node with the web application
    project in Visual Studio. (generated by uigen.exe.)
  • $WebProjectAssembly$: don't know, FIXME
  • $USER_APPNAME$: a string with the display name of the
    web application (generated by uigen.exe.)
  • $USER_DEFAULT_ASPX_TOPIC$: a string to be shown on the default.aspx
    page showing the Start link to aid the user (the string
    usually says "To start the application, just click 'Start'")
  • $USER_DEFAULT_STARTPAGES$: an invocation of the re:call
    function to be called automatically after startup. In
    other words, an URL-fragment for the browser to go to
    after the user has clicked the 'Start' link
  • $USER_STATUSBAR$: don't know, FIXME
  • $USER_CLASSIC_APPSTYLE$: don't know, FIXME
  • $USER_STORAGEPROVIDER$: the name of the storage-provider, as
    declared in the web project's Web.config file (generated by
    uigen.exe)
  • $USER_CATALOGNAME$: the name of the database (and the
    identifier for the connection string) in the web project's
    Web.config file (generated by uigen.exe)
  • $USER_LAYERSUPERTYPE$: The identifier of the domain object
    classes common ancestor (see also: layer super-type

Please note that these placeholders are not the
only ones that exist. Placeholders are also extracted from
the domain assemblies as well. You can find a
list of these extracted placeholders at
https://at-vie-remotion/svn/Remotion/trunk/ObjectBinding/Web.CodeGenerator/Core/Placeholder.cs

What's more, the values of settings are mirrored by placeholders,
but those placeholders have slightly different names:

  • projectNamespaceRoot is mirrored by $PROJECT_ROOTNAMESPACE$
  • domainNamespaceRoot is mirrored by $DOMAIN_ROOTNAMESPACE$
  • templateRoot is mirrored by $ROOT_TEMPLATE_DIR$
  • targetRoot is mirrored by $ROOT_TARGET_DIR$
  • No labels