Search Results for

    Show / Hide Table of Contents

    Module Manifest (.imodspec)

    Every Module requires a Manifest .imodspec file that contains module metadata needed for it to be consumed by Intent Architect.

    This file is automatically generated and managed (for the most part) by the Module Builder. However, developers may wish to make changes in this file (e.g. add additional dependencies, files, etc.).

    Manifest Metadata

    The following table provides high level information on each of the tags in the .imodspec file:

    Tag Description
    id The module identifier. This must be a unique string.
    version The version of this module. If this value is changed, the Module Builder will only update it if the value specified in its metadata is higher.
    supportedClientVersions The range of versions of Intent Architect that support this module.
    summary A brief summary of what this module does. This is displayed in the Modules manager.
    description A more detailed description of the module.
    authors The authors of this module.
    iconUrl The icon URL or base64 encoded image for the Module.
    projectUrl The project URL for this module.
    tags Tags that can be used for searching for this module. Note that this is currently not respected but will be in a later release of Intent Architect.
    releaseNotes The inline release-notes or relative path to a file (e.g. release-notes.md). Markdown is supported. The release notes can be viewed within Intent Architect in the Module details panel in the Modules manager.
    templates The manifest of Templates contained in this module.
    decorators The manifest of Decorators contained in this module.
    factoryExtensions The manifest of Software Factory Extensions contained in this module.
    dependencies The module dependencies and their minimum versions. The Module Builder will ignore any added dependencies or version updates that are higher than what the Module Builder is applying. A metadataOnly attribute with a value of true can be added to have the referenced module and its dependencies installed with the Install metadata only option set, dependencies which were already installed without the option set will not have the option changed.
    files The executable .dll files that must be included in this module. If using an external library of framework, those executables will need to be registered here.
    metadata Metadata (e.g. packages and designer settings) that must be included in this module.
    moduleSettings Module settings that must be installed into the Settings page for the application.
    moduleSettingsExtensions Extensions to existing Module settings that must be installed.

    Example Manifest .imodspec file

    An example .imodspec file (tags with ... indicate that their metadata has been excluded for brevity):

    <?xml version="1.0" encoding="utf-8"?>
    <package>
      <id>Intent.AspNetCore.Controllers</id>
      <version>3.3.6</version>
      <supportedClientVersions>[3.3.0-pre.0, 4.0.0)</supportedClientVersions>
      <summary>A generic controller pattern implementation using ASP.NET Core.</summary>
      <description>A generic controller pattern implementation using ASP.NET Core.</description>
      <authors>Intent Architect</authors>
      <iconUrl>...</iconUrl>
      <projectUrl>https://intentarchitect.com/</projectUrl>
      <tags>AspNetCore Controllers</tags>
      <releaseNotes>release-notes.md</release-notes>
      <templates>
        ...
      </templates>
      <decorators>
        ...
      <factoryExtensions></factoryExtensions>
      <dependencies>
        <dependency id="Intent.AspNetCore" version="3.3.6" />
        <dependency id="Intent.Metadata.WebApi" version="3.3.4" metadataOnly="true" />
        <dependency id="Intent.Modelers.Services" version="3.3.3" />
        <dependency id="Intent.OutputManager.RoslynWeaver" version="3.3.2" />
      </dependencies>
      <files>
        <file src="$outDir$/$id$.dll" />
        <file src="$outDir$/$id$.pdb" />
      </files>
      <metadata>
        ...
      </metadata>
      <moduleSettings/>
      <moduleSettingsExtensions />
    </package>
    
    • Edit this page
    ☀
    ☾
    In this article
    Back to top Copyright © 2017-, Intent Software Pte Ltd.