-
Notifications
You must be signed in to change notification settings - Fork 1
Description
From @JustinProminic,
action items:
new java file called CreateDatabase <database_name> <<<--- NOT BASED UPON ODP format -- this is just a simple session.CreateDatabase command -- 1 line of code
add the DXLImporter java standalone code to import <dxl_import.properties>"
add clear instructions to welcome.txt or shi github documentation showing how to GET to this directory and actually run a gradle build that includes the following in order:
a) CheckNotesUser.java -> run it to confirm Notes ID operation phase 1
b) CheckDatabase -> run it to confirm NSF operation phase 2
c) NEW agent .java that is "hello world" to compile and build a JAR
d) compile and build DXLImporter
e) use DXLImporter to import the "hello world" agent into the CreateDatabase that was madeMark will document how to add a github runner into the S.H.I. instance. it will run as a background systemd task looking for build instructions from GitHub
Adrian now should be able to use GitHub to refine the "hello world" java agent and have it result in a workable runnable agent that is accessible via http:// call to the local S.H.I. domino server after simply re-running step 3e above after each build
lower priority but someone please find the simple "javac" based compilation scripts for each of the .java files above -- or at least for CheckDatabase, CheckNotesUser, CreateNamesDatabase, and the servlet example which is in a different directory above. I'm not suggesting abandoning Gradle but I just want something simple to run that I understand to compile the .java files into .jar's
--- MARK FOUND THESE and they just need it added back to the S.H.I. installer:GOALS:
--> Self-building Super.Human.Portal complete NSF artifact necessary so that Adrian and Piotr can take over release of Super.Human.Portal to the point that it is delivered into Genesis.Directory and able to be tested through subsequent fresh S.H.I. provisioned Domino servers. That solves half of the problem related to SHP release, but not yet the update problem which is the other half.--> Lays the foundation so that all of the myriad of agents that Joel has created over the years, and which MUST be made into GitHub so that everyone has access to them AND the AI assistants can start helping with basic recurring problems such as JSON enabling the XML ones, as one minor example. This system would prove that all of the agents and the supporting databases that MyAccount, GBAuth, and other systems use to "reach into" core Prominic databases are able to be treated closer to a more modern DevOps scenario. Including but not limited to:
-- FlexAgents.nsf-- FlexInput.nsf
-- FlexSupportAgents.nsf... etc
Alternate writeup showing the flow for a database test
create a database
do the simplest possible test of importing DXL of a super simple form
Bing-Joel DXLImporter Gradle thing of a super simple hello world java agent that can be tested from CURL as deployed to the local SHI running Domino server
Said above hello world agent present in example GitHub respository that can have its artifact generated on demand by on demand github runner and deployed to same NSF reference above as when the commands were run locally
So basically, we are trying to get to the point where a user can:
- Create an SHI instance
- Setup a self-hosted runner on the instance and connect it to GitHub organization
- Clone a GitHub project
- Update the DXL and Java Source
- Commit and push the code, triggering a GitHub action
- The GitHub action will run on the self-hosted runner
- The user will then be able to open the database with their configured code.
To support this, we want to add new applications to domino_java_tools like this:
# Create an empty database with a minimal ACL
java -jar CreateDatabase.jar HelloWorld.nsf
# Import arbitrary XML to the target database
java -jar DXLImport.jar HelloWorld.nsf ExampleForm.dxl
# Import an agent using Bing's DXLImporter
# Note that it may be simpler to build and import as the same step, using this template: https://github.com/Moonshine-IDE/DXLImporter-Gradle-Demo/tree/master/dxlLib
java -jar ImportAgent.jar HelloWorld.nsf HelloWorld.jar HelloWorld.properties