Installation Manifest
I am trying to make application deployable using Installation Manifest.
I use IRISHealth_Community-2022.2.0.368.0-win_x64.exe to run manifest during installation
I run it from windows command line using the following command:
IRISHealth_Community-2022.2.0.368.0-win_x64.exe INSTALLERMANIFEST="C:\FixxerInstall\src\Installer.xml" INSTALLERMANIFESTLOGFILE="Log.txt" INSTALLERMANIFESTLOGLEVEL=3 INSTALLERMANIFESTPARAMS="FlaggerCSPDir=C:\FixxerInstall\src\csp\flagger,ClassImportDir=C:\FixxerInstall\src\import\"
It works but a little bit strange.
I try to create csp application using manifest.
My XData:
{
<Manifest>
<CopyDir
Src="${FlaggerCSPDir}"
Target="${CSPDIR}flagger"
IgnoreErrors="1"/>
<Namespace
Name="flagger"
Create="yes" Code="flagger"
Ensemble="1"
Data="flagger">
<Configuration>
<Database
Name="flagger"
Dir="${MGRDIR}flagger"
Create="yes"/>
</Configuration>
<Import File="${ClassImportDir}"/>
<CSPApplication
CSPZENEnabled="1"
LoginClass="/csp/flagger/Flagger.LoginAuth.cls"
CustomErrorPage="/csp/flagger/error.csp"
ChangePasswordPage="/csp/flagger/Flagger.ChangePassword.cls"
AutoCompile="1"
Url="/csp/flagger"
IsNamespaceDefault="1"
InboundWebServicesEnabled="1"
Recurse="1"
AuthenticationMethods="64"
DefaultTimeout="900"
Directory="${CSPDIR}flagger"
UseSessionCookie="2"
CookiePath="/csp/flagger/"
ServeFiles="1"
ServeFilesTimeout="3600"
/>
</Namespace>
</Manifest>
}
As you can see inside CSPApplication tag I specified
LoginClass="/csp/flagger/Flagger.LoginAuth.cls"
CustomErrorPage="/csp/flagger/error.csp"
ChangePasswordPage="/csp/flagger/Flagger.ChangePassword.cls"
AutoCompile="1"
But after installation some properties do not apply and some properties have different values.
In Allowed authentication methods I specified AuthenticationMethods="64" (this is unathenticated, but in managment portal Password and Kerberos are selected)
Looks like the properties are set to default, and my specification is skipped
Created web application page in Managment portal after the installation:
** UPDATED **
I found some compilation errors in class import phase. I added IgnoreErrors="1" attribute to <Import> tag. Also I set AuthenticationMethods="32" (password)
I suppose that my log file contains following lines. When it creates namespace it creates webapplication by default with default configurations
2022-12-16 17:57:19 1 CONSOLE: - Creating CSP Application: /csp/flagger
2022-12-16 17:57:19 1 CONSOLE: Name = [/csp/flagger]
2022-12-16 17:57:19 1 CONSOLE: AutheEnabled = [36]
2022-12-16 17:57:19 1 CONSOLE: Enabled = [1]
2022-12-16 17:57:19 1 CONSOLE: Description = [Interoperability Management Portal]
2022-12-16 17:57:19 1 CONSOLE: Resource = [%Ens_Portal]
2022-12-16 17:57:19 1 CONSOLE: AutoCompile = [0]
2022-12-16 17:57:19 1 CONSOLE: Timeout = [900]
2022-12-16 17:57:19 1 CONSOLE: Path = [C:\InterSystems\IRISHealth\CSP\flagger]
2022-12-16 17:57:19 1 CONSOLE: Recurse = [1]
2022-12-16 17:57:19 1 CONSOLE: LoginPage = []
2022-12-16 17:57:19 1 CONSOLE: InbndWebServicesEnabled = [1]
2022-12-16 17:57:19 1 CONSOLE: TwoFactorEnabled = [0]
2022-12-16 17:57:19 1 CONSOLE: IsNameSpaceDefault = [0]
2022-12-16 17:57:19 1 CONSOLE: PermittedClasses = []
2022-12-16 17:57:19 1 CONSOLE: MatchRoles = []
2022-12-16 17:57:19 1 CONSOLE: Type = [2]
2022-12-16 17:57:19 1 CONSOLE: CookiePath = [/csp/flagger/]
2022-12-16 17:57:19 1 CONSOLE: LockCSPName = [1]
2022-12-16 17:57:19 1 CONSOLE: NameSpace = [FLAGGER]
2022-12-16 17:57:19 1 CONSOLE: CSPZENEnabled = [1]
2022-12-16 17:57:19 1 CONSOLE: GroupById = [%ISCMgtPortal]
2022-12-16 17:57:19 1 CONSOLE: ServeFiles = [2]
2022-12-16 17:57:19 1 CONSOLE: UseCookies = [2]
2022-12-16 17:57:19 1 CONSOLE: - Removing legacy CSP pages and files from directory 'C:\InterSystems\IRISHealth\CSP\flagger\'
After that I found the lines that are related to my Web application specification (When i use <Import> without IgnoreErrors=1 these lines were not there). But by some reason some properties are skipped (for example LoginClass):
2022-12-19 20:43:51 3 Evaluate: ${CSPDIR}flagger -> C:\InterSystems\IRISHealth\CSP\flagger
2022-12-19 20:43:51 3 Evaluate: /csp/flagger/ -> /csp/flagger/
2022-12-19 20:43:51 3 Evaluate: 32 -> 32
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: 900 -> 900
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: 2 -> 2
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: 3600 -> 3600
2022-12-19 20:43:51 3 Evaluate: /csp/flagger/error.csp -> /csp/flagger/error.csp
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: /csp/flagger/Flagger.ChangePassword.cls -> /csp/flagger/Flagger.ChangePassword.cls
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: 0 -> 0
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: 1 -> 1
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: ->
2022-12-19 20:43:51 3 Evaluate: ->
The page in managment portal after installation
AutoCompile is enabled by default, try omitting it.
Also please try running with Verbose=3.
Where I have to put the Verbose property? I found it only in <Log> tag Level property value in the documentation. But I did not specify any Log tags in my XData. If you mean pLogLevel parameter in the setup method, it is already = 3.
My setup method:
{
#; Let XGL document generate code for this method.
Quit ##class(%Installer.Manifest).%Generate(%compiledclass,
%code, "MyInstall")
}
Did you mead INSTALLERMANIFESTLOGLEVEL=3 in Command-Line Properties?
I tried to remove CSPApplication tag from XData and the web application that is on the screenshot was created as well. Looks like manifest creates it with namespace by dafault.