The purpose of this repo is to provide a (centralized) place where new features developed by one of the major Ximera server hosts can be submitted for all the other major server hosts to try and deploy, ensuring the new code will work on their servers. This will help centralize the testing and submission process to keep all servers on the same core code, despite their individual customizations and changes.
Importantly, this is not intended for content submissions, but rather for core code-type changes, primarily to the Ximera LaTeX package in some form. This will also provide a place to report bugs and resolve conflicts for individual new features before they are promoted to core code features.
There are two primary types of code submissions currently expected for this repo: core file submissions and secondary file submissions.
These are submissions for the core file types: ximera.cls, ximera.4ht, and/or xourse.cls. These changes should ideally be submitted in the form of modified .dtx files whenever possible. This allows other server hosts to build the core files on their own systems to ensure the changes generated by those .dtx files don't cause syntax clashes with any of their customized .dtx file contents.
It is also suggested that submissions include any of the core files that were modified so that they can be easily dropped into the .ximera folder for fast testing.
Some new features may not involve editing the core files but are better tested using stand-alone example Ximera assignments (e.g., new validator code). These should be submitted via an example assignment so that other server hosts can easily copy the example file into their system and deploy to test the features.
The intended workflow allows each major server host to submit new material for the others to test, while keeping track of what has - and hasn't - been tested by whom.
This repo includes the core server hosts (referred to hereafter as the "testing group"), comprising most of the major servers hosting Ximera. Each server should have its own contribution folder to facilitate submissions and testing. Inside each folder, there should be a contact.txt file listing a reliable way to contact someone for questions about their submissions.
- OSU (Managed By: Bart Snapp/Jim Fowler)
- UF (Managed By: Jason Nowell)
- KU Leuven (Managed By: Wim Obbels)
Each member of the testing group should have a folder named for their institution (e.g., UF Submissions, OSU Submissions). Inside this folder:
- A
contact.txtfile with contact information for the representative. - Folders for new features submitted for testing.
Each subfolder for a new feature should include:
.dtxfiles implementing the feature (if applicable).- A compiled version of
ximera.cls,ximera.4ht,xourse.cls, and/orxourse.4ht. - A Ximera assignment demonstrating the feature.
- A
confirmed.txtfile to track testing confirmations. - Optionally, a
patchInfo.txtfile explaining significant or unusual changes.
Submissions should include Ximera assignments that completely demonstrate the feature being proposed. This means including examples of all options and potential conflict-causing combinations.
Test group members should:
- Pull the repo to get the latest features.
- Test the feature by dropping the provided files into the appropriate locations.
- Sign the
confirmed.txtfile if the feature works perfectly and push it back to the repo. - Report issues via GitHub or contact the submitter if problems arise.