-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration and Structure of Repository and XML Files #243
Comments
Dear Barna @DocOtak Thanks for doing all this very useful and ingenious work. As I understand it, the main advantage is the saving of space, both for the GitHub repo and the Pages website. The latter is more urgent, and we have been reaching the limit. Space will be saved because we will not keep static copies of the HTML table and KWIC index for the previous versions, since JavaScript will make them as required from the XML. Keeping only the XML also avoids the small danger of the table and KWIC becoming inconsistent with the XML. A couple of small comments occur to me:
Best wishes Jonathan |
@JonathanGregory Thank you for this feedback! Some clarification, Javascript is only essential for the kiwc index, the search function on the standard name tables, and just due to historic usage, opening the standard name definition. Everything else is standard application of xml stylesheets which make the HTML in the browser. Removal of the need for javascript in the standard name table for displaying the definition could be done pretty easily I think, but I didn't consider it at this point since my motivation was to remove the need for the image assets (the triangles that indicate open/closed). For your bullet points, here are some of my reasonings:
|
Oh yes, I forgot about the XML being automatically interpreted as HTML with reference to the stylesheet. In this way, the brower is saving us disk space. Maybe we don't need If we do need a miscellaneous directory to be shown on Pages, I suggest Yes, I understand that Best wishes Jonathan |
As presented at the @cf-convention/info-mgmt meeting, I have a proposed structure for the vocabularies repository. This proposal includes changes to what is in the repository itself and how the files are presented on the cf website, particularly in the case of non current versions of the documents. This restructure attempts to have a consistent structure, save disk space, and simplify the update process.
Proposed Structure
Choices I made:
<details>
and<summary>
html tags so the triangle images and javascript are no longer needed to view the long definitions (standard name table search still needs JavaScript)Structure
Everything that gets published on the website exists under a non root directory called /docs.
In there there are several other directories for the versioned XML tables:
Each of these contain two sub directories:
The cf-standard-names directory also has a
kiwc
directory that has the KIWC indexer.The
current
directory has the prebuilt html and a copy of the most recent xml document and, in the case of cf-standard-names, also a prebuilt kiwc_index.html file. Theversion
directory contains one or more numbered directories that only contains that versions xml file.There are several "support" directories:
The
docs
directory has some ancillary files that I felt should be included here rather than the cf-website repo (guidelines and contributors). Thestylesheets
directory contains a the stylesheets that are applied to the XML documents to turn them into HTML. The directory structure is flat and the stylesheets are versioned by filename. Theschema
directory contains the validation schemas for the versioned XML tables.Stylesheet Changes
Since we would not be hosting all the built html versions of tables, for someone to download the HTML versions, the stylesheets have been modified to contain a link that downloads the current page (using Javscript). The stylesheets for area-type-table and standardized-region-list have been modified to use
<details>
and<summary>
html tags to show/hide the descriptions rather than custom javascript with triangle images. This change makes the resulting HTML fully self contained.KWIC Index
As an experiment, the Key Word In Context indexer was rewritten to run client side in Javascript. This is included under
/docs/cf-standard-names/kiwc/index.hml
. By default it will load the current standard name table and generate the index. However, the URI of the standard name table it is loading is configurable via the query stringtableURI
. This query string can be relative, so something likeindex.html?tableURI=../version/1/cf-standard-name-table.xml
would generate an index for version 1 of the standard name table.Update Process
I wanted to simplify the update process to primarily use a web browser as the tool that generates most of the derived files that need to be updated. I envision this being a two step process:
version
directorycurrent
directory contentsExample Update Process for CF Standard Names
As of writing this issue, the current cf standard names version is 87.
Update the version
cf-standard-name-table.xml
version 88 has been generated by the cf editor, ensuring that it includes the stylesheet link at the top of the file./docs/cf-standard-names/version/
directory, so the full path would be/docs/cf-standard-names/version/88
cf-standard-name-table.xml
into this88
directory, the full path would be/docs/cf-standard-names/version/88/cf-standard-name-table.xml
Update the current directory
/docs/cf-standard-names/current
https://cfconventions/vocabularies/cf-standard-names/kwik/index.html?tableURI=../version/88/cf-standard-name-table.xml
/docs/cf-standard-names/current
If everything looks OK, links would need to be updated in the CF Conventions website repository. The process would be almost exactly the same for any of the other tables/vocabularies. Though they would not have a kiwc index.
Next Steps
The text was updated successfully, but these errors were encountered: