We have two options for deploying Ximera documents: Deploying through a GitHub
codespace and deploying from your machine. With both options you will need a
GPG_KEY_ID and a GPG_KEY. The purpose of the GPG keys is to identify authors
with specific names of Ximera content on Ximera servers. For example, if
you make a course “bigmath,” your GPG key will ensure that you “own”
that name, and only people who have that GPG key can publish to that
name.
1 Obtaining GPG Keys
If you are deploying legacy Ximera material, you may need to contact Ximera developers to obtain a proper key. If you are deploying new Ximera content, you can get your own GPG key by running the command:
xmlatex genKey
in either a codespace or a Docker container. You’ll get a GPG_KEY_ID that looks
something like:
215FC33FAB44D5CCA31A04B2CC78CB561FDC49A8
and a GPG_KEY that looks something like:
LS0tLS1CRUdJTiBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQoKbEZnRVp2QUFBaFlKS3dZQkJB
SGFSdzhCQVFkQUI4UW9zbWR3YmJBcHJHQ1k1N3Q1VmRVVkJGTlpWWEFQTGVkWQpMWnZtQ0tjQUFR
QzF4dmlVckwzRWE2bmpJcUZ1WitWL2EzUG55TCtPeDMvTHg3eWxtV2pNNlJUeHRDTkVkVzF0CmVT
QkdiM0lnV0dsdFpYSmhJRHh1YjI1bFFHVjRZVzF3YkdVdVkyOXRQb2laQkJNV0NnQkJGaUVFSVYv
RFA2dEUKMWN5akdnU3l6SGpMVmgvY1NhZ0ZBbWJ3QUFJQ0d3TUZDUVdqbW9BRkN3a0lCd0lDSWdJ
R0ZRb0pDQXNDQkJZQwpBd0VDSGdjQ0Y0QUFDZ2tRekhqTFZoL2NTYWpjaGdFQWhHZkVkYW9xRnZD
c21NZExZVmNNSUhkTjl4aXJzZTB1Cjh5WVYweXpGVS9zQSt3Vm9zR3UvYk10b3N2bHphMkRJUkQ3
VG9BUE5HeDYwanBlYjJaRm5DQW9LbkYwRVp2QUEKQWhJS0t3WUJCQUdYVlFFRkFRRUhRTitNMW52
VG44Um85SFordW50NGJFN1A1dEZ5QnJkbnBmS2pvZ1oyd2R3bApBd0VJQndBQS8xMUhNaFJuTnFL
RXpBVC9tN1Y1Mm90NjNjRzNRbFp1R0FFV0tqSmJOZUFJRG9HSWZnUVlGZ29BCkpoWWhCQ0Zmd3or
clJOWE1veG9Fc3N4NHkxWWYzRW1vQlFKbThBQUNBaHNNQlFrRm81cUFBQW9KRU14NHkxWWYKM0Vt
b2RpTUEvMVBMZFpzc2owdm10VGw1ZEFMUGNMdUpDandNZlgyQWFCS3J1WG0vZjc4UEFQOWM2eHdh
YXdSVQpFTks0VCttYU5IbGt6TXVLWjJEYkNwS1Irdk5rdHlWL0FRPT0KPWk3Wk8KLS0tLS1FTkQg
UEdQIFBSSVZBVEUgS0VZIEJMT0NLLS0tLS0K
Copy and paste these into a file but do not commit them to the repository. If you do, and you use the key to deploy, others will be able to overwrite your interactive content.
2 GPG keys and codespace
Once you have your GPG_KEY_ID and GPG_KEY, you are ready to go. Assuming your
repository contains the folder .devcontainer from either ximeraFirstSteps or
ximeraNewProject, you can start a codespace from GitHub in your web browser and
deploy to a public-visible Ximera server such as: https://ximera.osu.edu. To do
this you will need to do some additional set up. You’ll need to add two new secrets
to codespace. Go to your GitHub page, and select “Settings” from the menu at the
top right.
Now look to the left, and scroll down until you see a “Codespaces” option. We see it above.
Now click on “New secret.”
YOUR_SECRET_NAME) of your secrets as:
-
GPG_KEY_ID -
with the “Value” being the single line of characters we found before.
-
GPG_KEY -
with the “Value” being the large block of characters we found before.
You will also need to select the “Repository Access” drop-down menu, and give the appropriate repositories access to these keys.
3 GPG keys on your machine
This section is for experience GitHub users. To deploy from your machine, you need a file in the folder of the repository of your content that is not committed to the repository. Please reach out to Ximera developers for help with this step. You will also need to modify configuration files.
4 Setting the remote Ximera server
Currently, this is subject to change, you need to modify:
xmScripts/config.txt
Around line 20, you will find something like:
## : "{XIMERA_NAME:=myreponame}"/span>
## : "{XIMERA_URL:=http://localhost:2000/}"/span>
## : "{XIMERA_URL:=https://ximera.osu.edu}"/span>
## : "{XIMERA_URL:=https://set-p-dsb-zomercursus-latest.cloud-ext.icts.kuleuven.be/}"/span>
## : "{XIMERA_URL:=https://set.kuleuven.be/voorkennis/}"/span>
Remove the ## from the first line, uncommenting it, and set myreponame to be what
you want your content to be called online.
##, from the line of the server you wish to deploy
to. Save the file. It would probably be best to not commit it to the repository, though
it really doesn’t matter. Now, when you press “SERVE,” your Ximera content will be
deployed online! Please feel free to reach out to the Ximera developers for help at this
step.