Skip to main content

Overview

Transforming data into value.

OctoMesh revolutionizes the way companies exchange data between software applications by providing both connectivity and intelligent data mapping and transformation capabilities. OctoMesh solves the challenges of data incompatibility, connectivity and mapping, enabling seamless and efficient data exchange. OctoMesh accompanies organizations on their digital transformation journey with optimized connections and couplings, strong security measures and an intuitive user interface. Companies are thus discovering the full potential of their data and promoting innovation, efficiency and well-founded decisions in today's data-driven world.

tip

For the development environment, mainly .NET SDK and NodeJs needs to be installed. Please check the details here.

Developer PowerShell

OctoMesh PowerShell enables to simplify the process of cloning, building and starting OctoMesh including infrastructure.

To get started, clone repository https://github.com/meshmakers/octo-tools to a directory like ~/Development/meshmakers/octo-tools.

mkdir ~/Development/meshmakers/
cd ~/Development/meshmakers/
git clone git@github.com:meshmakers/octo-tools.git
Windows and Path Length

If you encounter issues due to the Windows 260-character Path Length limitation, it is advisable to relocate the directory closer to your home directory e.g. C:\meshmakers. Otherwise, a potential emergency solution is to enable Long Paths via Registry edit in PowerShell or a Registry File. However, please exercise caution as this solution entails potential risks! For further information, please refer to the link below.

PowerShell
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

For more information check here.

Add to your Powershell Profile the OctoMesh profile by extending the profile. In this case we use Visual Studio Code so we expect that code is available in your PATH environment variable.

code $PROFILE

Add to the profile:

. "~/Development/meshmakers/octo-tools/modules/profile.ps1"

Restart powershell, during start you should see a message like

Loading Octo Profile

After loading OctoMesh developer Profile, there are some powershell variables existing

  • $ROOTPATH: The base directory of OctoMesh. e. g. ~/Development/meshmakers/. This directory is called root directory
  • $TOOLSPATH: The directory of the tools repository. e. g. ~/Development/meshmakers/octo-tools
  • $INFRASTRUCTUREPATH: The directory of infrastructure within the tools repository. e. g. ~/Development/meshmakers/octo-tools/infrastructure
  • $NUGETPATH: The directory of stored nuget packages of OctoMesh. e. g. ~/Development/meshmakers/nuget
  • $GLOBALNUGETPACKAGESPATH: The global nuget package path of .NET. e. g. {use profile path}/.nuget/packages/

Customizing settings of projects

Using a file named Octo.User.props in the root directory ($ROOTPATH) of OctoMesh, you can customize the settings of the projects. The file is loaded by MsBuild and is structured as follows:

<Project>
<PropertyGroup>
<!-- Settings -->
</PropertyGroup>
</Project>

By default, the latest available Nuget packages are used. By using the Octo.User.props file, you can specify the version of the Nuget packages to be used.

<Project>
<PropertyGroup>
<OctoVersion>1.2.3</OctoVersion>
</PropertyGroup>
</Project>

Using IDE's

In IDE's like Visual Studio or JetBrains Rider it is needed some configuration. Details can be found here.

Clone repositories

All git repositories are hosted on GitHub, all packages are hosted on nuget or npmjs.

tip

We decided to use SSH keys to connect to github, therefore are some good-to-know issues documented at Configure Git.

To clone the main repos, you need to run the command Invoke-CloneMainRepos within the PowerShell with OctoMesh profile.

Build and start services

Once the requirements have been met, there are following scripts that can be used to build the project and start the services.

After build, the infrastructure services needs to be started. To handle the steps to install, start, stop or uninstall you find here

Invoke-BuildAll
Install-OctoInfrastructure # First time
Start-OctoInfrastructure # Second time
Invoke-SetDebugConfiguration # for enabling CORS requests locally
Start-Octo

After that, the following services should be available:

Create the first user account

Go to the Identity service to create the first admin user.
After that, new tenants can be created in the Admin Panel.

Troubleshooting

Here are some common issues and their solutions are listed.

Issues with CORS

make sure you ran the script "Invoke-SetDebugConfiguration", this allows the CORS requests.

Issues with .NET dev certificates under Linux

To confirm a certificates issue, run the following command in PowerShell:

http get https://localhost:5003/.well-known/openid-configuration

It is confirmed if the console output contains the following error: CERTIFICATE_VERIFY_FAILED.

Solution:
Details on how to solve this issue can be found under System Requirements.

Further reading