Search Results for

    Show / Hide Table of Contents

    Distributing your Modules to others

    Modules built using Intent Architect can be distributed to other team members using a self-hosted Module Server instance or a file system based repository location.

    Distributing modules using a self-hosted Module Server

    Custom modules can be uploaded to a self-hosted Module Server which makes them accessible at an https URL.

    For more information on setting up the Module Server, refer to this article. For more information on uploading modules to your self-hosted Module Server, refer to this article.

    Once the self-hosted Module Server has been set up, configure Intent Architect to use its address as repository

    Distributing modules using file system based repositories

    At a high level:

    • Decide on a common file system accessible location which everyone within your team has read access to.
    • Each Intent Architect user in your team adds this common location to their repositories under their user settings.
    • Modules already used by others should be treated as immutable, so if you've made changes within your module, then be sure to increment its version.
    • Build the module to get the .imod artifact.
    • Copy the .imod to the common file system accessible location.

    Decide on a location for the file system based repository

    Network based file sharing option

    If all members are connected via a local network (or via VPN for remote working), one can make use of network file sharing hosting solutions. For example, most operating systems can access a Windows hosted network file location that resembles \\server\intent-modules.

    This is a simple way to distribute modules so long as everyone has at least readonly access (except for the publisher who needs write access) to that server location.

    Cloud based file sharing option

    If your team is geographically distributed (but this option can still be leveraged for members on a local network too), then we recommend internet based file sharing with automatic synchronization to users machines, for example, Google Drive, Dropbox, OneDrive (SharePoint with OneDrive), etc.

    One of the benefits of this approach is that you have an offline cache available during network disruptions and your cloud storage provider also makes backups on your behalf.

    Example: Using Sharepoint and OneDrive

    For example, if your organisation has SharePoint and OneDrive, you could use the following process to sync .imod files to developers computers:

    • If you don't already have a document library for this purpose, create one in SharePoint.
    • If desired, create a folder within the document library for the .imod files.
    • Set up syncing of the SharePoint folder to your computer's file system.
    • Make note of the location of the folder on your computer's file system to where OneDrive is syncing the folder with the .imod files and then configure Intent Architect to use this location as a repository.

    Configure Intent Architect to use your repository location

    This article explains how to setup your known Intent Architect module repositories which let Intent know from where it can install and update modules.

    Module versioning concerns

    When distributing modules to other members of the team, always ensure that you update the version number. Unless the version number is changed, Intent Architect will assume that the contents of the module are unchanged and continue to using a cached version of it.

    Additionally, if you're keeping your Intent Architect application in SCM (Source Code Management), Intent Architect keeps track of installed module versions inside of modules.config files which are alongside the Intent Architect Application and so are also committed into SCM. This means you can safely check out an earlier version of the code base and Intent Architect will restore and run the correct version of the module such that running the Software Factory will produce the same output as it did at the time of the SCM check-in.

    For these reasons, a version of a module which has been distributed to anyone else must be treated as immutable.

    Intent Architect supports Semantic Versioning 2.0.0 and it is our recommendation that you follow Semantic Versioning practices. Without having to understand Semantic Version practices in depth, you could simply increment the major version (the first version component) each time, so 1.0.0 -> 2.0.0 -> 3.0.0, etc. By increasing version numbers, users of Intent Architect will be notified that new version of those modules are available and can choose to install them.

    Copying your .imod file

    Locate where your newly built .imod file is placed after it's built in your IDE (such as Visual Studio). The console output generally displays the location (where it says "Successfully created module"):

    Example of build output log:

    Build started...
    1>------ Build started: Project: MyModule, Configuration: Debug Any CPU ------
    1>MyModule -> C:\Dev\MyModule\MyModule\bin\Debug\net5.0\MyModule.dll
    1>Intent Architect Packager PackAll Task (C:\Users\User\.nuget\packages\intent.packager\3.2.0\lib\netstandard2.0\Intent.Packager.BuildTasks.dll)
    1>Packaging module for C:\Dev\MyModule\MyModule\MyModule.imodspec
    1>Added lib/MyModule.dll.
    1>Added lib/MyModule.pdb.
    1>Added MyModule.1.0.0.imodspec.
    1>Successfully created module 'C:\Dev\MyModule\Intent.Modules\MyModule.1.0.0.imod'.
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    

    Copy the .imod file from the Intent.Modules folder to your file sharing location.

    • Edit this page
    ☀
    ☾
    In this article
    Back to top Copyright © 2017-, Intent Software Pte Ltd.