Installation steps 


A. On a new environment


Please follow the steps from Readme.md file '<checkout-folder>\Source\Web\Portal\Readme'


B. On an existing enviroment


Notes: 

- The new Portal extension ItemMgr requires also updating the Portal itself with MigFx_Portal database

- The following steps are selected from Readme.md file from '<checkout-folder>\Source\Web\Portal\Readme'


## Databases

- Create a database for the MigFx ItemMgr extension


### Generate database migration scripts

- Run the following commands from `<checkout-folder>/Source/Web/Portal`

```powershell

dotnet ef migrations script --idempotent --project .\Source\Portal\Api\MigFx.Portal.Api.Infrastructure  --startup-project .\Source\Portal\Api\MigFx.Portal.Api\ -c PortalDbContext --output ./portal.sql

dotnet ef migrations script --idempotent --project .\Source\Extensions\ItemMgr\MigFx.ItemMgr.Api.Infrastructure --startup-project .\Source\Extensions\ItemMgr\MigFx.ItemMgr.Api -c ItemMgrDbContext --output ./itemMgr.sql

```

- Execute the generated `portal.sql` on the MigFx Portal database

- Execute the generated `itemMgr.sql` on the MigFx ItemMgr extension database


### Generate seed data for Item Manager extension

- Locate `SeedSettings.sql` file in `<checkout-folder>\Source\Web\Portal\Source\Extensions\ItemMgr\MigFx.ItemMgr.Api.Infrastructure\Data\Seed`

- Execute the generated `SeedSettings.sql` on the MigFx ItemMgr extension database


## Build Portal and Extension

- Run the following scripts from `<checkout-folder>/Source/Web/Portal`

```powershell

.\DevOps\build.ps1 'build-output'

```

- Move the content of the generated 'build-output' to the `Physical Path` of the IIS site

- Set the appsettings in `appsettings.json`    

```json

"ConnectionStrings": {

    "MigFxItemMgr": "<connectionstring to the ItemMgr extension database>"

}


### Redeploy Client DLLs

- Replace MigFx.Migration.Client.dll and MigFx.IssueLite.Client.dll from generated 'build-output' to the `Physical Path` (this update is needed only because of updating the labels of 2 menu items)