{"id":22621450,"url":"https://github.com/cca/vault_hierarchy_generator","last_synced_at":"2025-03-29T02:24:27.932Z","repository":{"id":42360485,"uuid":"71823999","full_name":"cca/vault_hierarchy_generator","owner":"cca","description":"Generate OpenEQUELLA hierarchies from XML template files","archived":false,"fork":false,"pushed_at":"2023-03-04T02:29:10.000Z","size":47,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-03T12:35:17.917Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://vault.cca.edu","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cca.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-24T19:22:11.000Z","updated_at":"2020-12-11T16:12:54.000Z","dependencies_parsed_at":"2025-02-03T12:31:31.576Z","dependency_job_id":"f29dacc7-eaac-4c06-9385-b51989436baf","html_url":"https://github.com/cca/vault_hierarchy_generator","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cca%2Fvault_hierarchy_generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cca%2Fvault_hierarchy_generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cca%2Fvault_hierarchy_generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cca%2Fvault_hierarchy_generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cca","download_url":"https://codeload.github.com/cca/vault_hierarchy_generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246127743,"owners_count":20727778,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-08T23:09:14.450Z","updated_at":"2025-03-29T02:24:27.917Z","avatar_url":"https://github.com/cca.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenEQUELLA Hierarchy Generator\n\nGenerate a new external review or student work hierarchy for [VAULT](https://vault.cca.edu) from an existing one by dictating values (e.g. role UUIDs, program name, semester) to fill into a template's XML.\n\n```sh\n\u003e node index \u003e program-review.xml\n```\n\n## How does it work?\n\nOne can export hierarchy objects from OpenEQUELLA using the admin console. These objects are large XML documents with strings, scripts, permissions, and collection UUIDs present in them. By replacing specific values with template strings like `TPL_COLLECTION_UUID` we can then run a script that populates the XML template with new values, essentially cloning a hierarchy but adjusting all its values slightly. When the new hierarchy created from a template is imported into OpenEQUELLA, it will ask \"do you wish to create the tree with new UUIDs?\" which prevents the old hierarchy (the basis for the template) from being overwritten.\n\nThis tool was designed with external reviews in mind but can be used for any hierarchy—see the \"student-work-template.xml\" which creates hierarchies suitable for the Student Work folders in VAULT. If a particular template string doesn't appear in a template, it will be ignored (e.g. \"semester\" isn't relevant for Student Work hierarchies).\n\n**But how do I find the UUIDs to fill in as replacement values?** While most (but frustratingly not all) UUIDs are visible in the admin console, the easiest way to look them up is with [equella-cli](https://www.npmjs.com/package/equella-cli):\n\n```sh\n\u003e # copy admin role UUID to clipboard (Mac OS X, jq installed separately)\n\u003e eq role --name 'Interaction Design Workstudy Role' | jq -r .id | pbcopy\n\u003e # copy collection UUID to clipboard\n\u003e eq collection --name 'Painting/Drawing Program' | jq -r .uuid | pbcopy\n```\n\n## Software Setup\n\nInstall node \u0026 npm, then install all npm dependencies from inside this directory.\n\n```sh\n\u003e npm i\n```\n\nCopy \"example.replacements.js\" to \"replacements.js\" and edit in the appropriate values.\n\n## Options\n\nThe script takes only two parameters:\n\n- `--template` accepts an XML template file with placeholder values like `TPL_PROGRAM` and `TPL_COLLECTION_UUID`\n- `--replacements` accepts a JavaScript file which is just a hash of values to be inserted into the template\n\nThere's a `--help` flag with this information, too.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcca%2Fvault_hierarchy_generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcca%2Fvault_hierarchy_generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcca%2Fvault_hierarchy_generator/lists"}