Moonshine-IDE / Super.Human.Portal

Portal interface to show documentation for DominoVagrant and Super.Human.Installer
Other
0 stars 1 forks source link

Add build Actions to Super.Human.Portal #14

Closed piotrzarzycki21 closed 1 year ago

piotrzarzycki21 commented 1 year ago

As part of this issue we will add actions:

piotrzarzycki21 commented 1 year ago

@Aszusz I have added dev build to repository. Feel free working on production build.

JoelProminic commented 1 year ago

The update process for the Royale interface will be something like this:

  1. Create an official release
  2. Send the ZIP URL to @dpastov
  3. @dpastov will update the Genesis action based on this

I would suggest that generate the releases using tags, similar to what I did here.

I would also like to see the version number stored somewhere in compiled application (i.e. resources/version.xml so that we can reliably identify a build on an existing demo-tasks instance. Some options:

JoelProminic commented 1 year ago

We have instructions for creating the release from tags here: https://github.com/Moonshine-IDE/Super.Human.Portal/wiki/Super.Human.Portal-GitHub-Release-Instructions

JoelProminic commented 1 year ago

Note that the changelog link will not point to the section yet, because that would require some additional processing to convert "1.0.0" to "100". This doesn't really matter, since it links to the changelog in the tag, and the new version should be at the top.

JoelProminic commented 1 year ago

I created some example tags like v0.1.x to test this. We can cleanup these tags later: https://github.com/Moonshine-IDE/Super.Human.Portal/releases/tag/untagged-ec1683bccea94553084e

Note that on the Changelog link we get this message:

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

I'm not sure if this is a problem, but it is worth checking.

JoelProminic commented 1 year ago

This message happened because I did not do a separate git push after updating Changelog.md and pom.xml. @Aszusz will update this on the wiki page.

Aszusz commented 1 year ago

Updated: https://github.com/Moonshine-IDE/Super.Human.Portal/wiki/Super.Human.Portal-GitHub-Release-Instructions

JoelProminic commented 1 year ago

The latest release can be downloaded from this URL: https://github.com/Moonshine-IDE/Super.Human.Portal/releases/latest/download/Super.Human.Portal.zip

I'll need to separately create an agent that will export a versioned copy of the NSF (including agents and documents)

JoelProminic commented 1 year ago

@piotrzarzycki21,

I tested deploying this artifact to a Super.Human.Installer Domino instance for #15. Unfortunately, this failed with a CORS error on the agent calls. The agent calls use http://127.0.0.1:8080, but the Super.Human.Installer server should be called with a domain name. The default is https://domino.demo.startcloud.com, but the user is allowed to choose other names.

To allow this to work, I had to change the URL at two locations:

./js-release/SuperHumanPortal_Royale.js:'handleStepChange',kh='handleTopMostEventDispatcherMouseDown',lh='has-drawer',mh='headerModelChanged',nh='height',oh='heightChanged',ph='hidden',qh='hidden-desktop',rh='hidden-widescreen',sh='horizontalContentItemsCenteredFormItem',th='horizontalContentShrinkFormItem',uh='htmlChange',vh='htmlMessageChange',wh='htmlTitleChange',xh='http://127.0.0.1:8080',yh='i.fonticon.material-icons',zh='iBeadLayout',Ah='iContentView',Bh='iFormItemContentArea',Ch='iItemRendererClassFactory',Dh='iItemRendererInitializer',
./js-release/SuperHumanPortal_Royale.js:F.um=function(a){this.model.fullContentWidth=a};Object.defineProperties(xH.prototype,{label:{get:xH.prototype.xb,set:xH.prototype.Wb},labelClass:{get:xH.prototype.rh,set:xH.prototype.Em},required:{get:xH.prototype.Ab,set:xH.prototype.Xb},labelAlign:{get:xH.prototype.gc,set:xH.prototype.de},fullContentWidth:{get:xH.prototype.hh,set:xH.prototype.um}});xH.prototype.g={names:[{name:'CustomFormItem',h:ww,kind:t}]};function oK(){}G(kd,oK);oK.AGENT_BASE_URL='http://127.0.0.1:8080/SuperHumanPortal.nsf';G('Super.Human.Portal_Royale.classes.vo.Constants.AGENT_BASE_URL',oK.AGENT_BASE_URL);oK.prototype.g={names:[{name:'Constants',h:kd,kind:t}]};Object.keys(oK);function LH(){CL.call(this);this.typeNames='jewel drawer '+LH.FLOAT}H(LH,CL);G(Ep,LH);LH.FLOAT='float';G('org.apache.royale.jewel.Drawer.FLOAT',LH.FLOAT);LH.FIXED=Cg;G('org.apache.royale.jewel.Drawer.FIXED',LH.FIXED);F=LH.prototype;F.EC=function(a){I(a.target,HTMLElement).classList.contains(dg)&&this.close()};F.adjustAppScroll=function(){this.fixed?document.body.classList.remove(Jw):this.Hb?document.body.classList.add(Jw):document.body.classList.remove(Jw)};F.open=function(){this.isOpen=!0};

I had similar problems on domino-49. Can we make these paths relative to the server base (i.e. /Super.Human.Portal.nsf/XMLAuthenticationTest?OpenAgent) so that we don't need to change this? The Genesis installer for #15 won't necessarily know the base FQDN of the generated server.

piotrzarzycki21 commented 1 year ago

@piotrzarzycki21,

I tested deploying this artifact to a Super.Human.Installer Domino instance for #15. Unfortunately, this failed with a CORS error on the agent calls. The agent calls use http://127.0.0.1:8080, but the Super.Human.Installer server should be called with a domain name. The default is https://domino.demo.startcloud.com, but the user is allowed to choose other names.

To allow this to work, I had to change the URL at two locations:

./js-release/SuperHumanPortal_Royale.js:'handleStepChange',kh='handleTopMostEventDispatcherMouseDown',lh='has-drawer',mh='headerModelChanged',nh='height',oh='heightChanged',ph='hidden',qh='hidden-desktop',rh='hidden-widescreen',sh='horizontalContentItemsCenteredFormItem',th='horizontalContentShrinkFormItem',uh='htmlChange',vh='htmlMessageChange',wh='htmlTitleChange',xh='http://127.0.0.1:8080',yh='i.fonticon.material-icons',zh='iBeadLayout',Ah='iContentView',Bh='iFormItemContentArea',Ch='iItemRendererClassFactory',Dh='iItemRendererInitializer',
./js-release/SuperHumanPortal_Royale.js:F.um=function(a){this.model.fullContentWidth=a};Object.defineProperties(xH.prototype,{label:{get:xH.prototype.xb,set:xH.prototype.Wb},labelClass:{get:xH.prototype.rh,set:xH.prototype.Em},required:{get:xH.prototype.Ab,set:xH.prototype.Xb},labelAlign:{get:xH.prototype.gc,set:xH.prototype.de},fullContentWidth:{get:xH.prototype.hh,set:xH.prototype.um}});xH.prototype.g={names:[{name:'CustomFormItem',h:ww,kind:t}]};function oK(){}G(kd,oK);oK.AGENT_BASE_URL='http://127.0.0.1:8080/SuperHumanPortal.nsf';G('Super.Human.Portal_Royale.classes.vo.Constants.AGENT_BASE_URL',oK.AGENT_BASE_URL);oK.prototype.g={names:[{name:'Constants',h:kd,kind:t}]};Object.keys(oK);function LH(){CL.call(this);this.typeNames='jewel drawer '+LH.FLOAT}H(LH,CL);G(Ep,LH);LH.FLOAT='float';G('org.apache.royale.jewel.Drawer.FLOAT',LH.FLOAT);LH.FIXED=Cg;G('org.apache.royale.jewel.Drawer.FIXED',LH.FIXED);F=LH.prototype;F.EC=function(a){I(a.target,HTMLElement).classList.contains(dg)&&this.close()};F.adjustAppScroll=function(){this.fixed?document.body.classList.remove(Jw):this.Hb?document.body.classList.add(Jw):document.body.classList.remove(Jw)};F.open=function(){this.isOpen=!0};

I had similar problems on domino-49. Can we make these paths relative to the server base (i.e. /Super.Human.Portal.nsf/XMLAuthenticationTest?OpenAgent) so that we don't need to change this? The Genesis installer for #15 won't necessarily know the base FQDN of the generated server.

I'm not sure what changes do you want me to do. Do you want me to change base url stored here to https://domino.demo.startcloud.com ?

piotrzarzycki21 commented 1 year ago

I have found from your stacktrace place where I have hard coded url, but still not sure what should be the change: https://github.com/Moonshine-IDE/Super.Human.Portal/blob/8e601ca97d0c17b348952a124da8bc25a10ee399/Super.Human.Portal_Royale/src/generated/Super.Human.Portal_Royale/classes/vo/Constants.as#L5

piotrzarzycki21 commented 1 year ago

I think I know what is happening - url in that place should be probably /SuperHumanPortal.nsf and I should probably build based on what is here

I will look into that tomorrow.

JoelProminic commented 1 year ago

Right, I would like to have the code use a URL like /SuperHumanPortal.nsf/... rather than https://.../SuperHumanPortal.nsf/.... See the Relative File Paths section here, specific the example with the leading /

There is also another location that I had to update in my tests.

piotrzarzycki21 commented 1 year ago

Actions are added to SHP. I'm closing this issue.