{"id":13741131,"url":"https://github.com/marcolarosa/pdsc-collection-viewer","last_synced_at":"2025-05-08T21:32:29.068Z","repository":{"id":3380647,"uuid":"49302371","full_name":"marcolarosa/pdsc-collection-viewer","owner":"marcolarosa","description":"Paradisec Collection Viewer","archived":true,"fork":false,"pushed_at":"2022-09-26T16:47:08.000Z","size":4528,"stargazers_count":4,"open_issues_count":29,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-15T11:36:20.696Z","etag":null,"topics":["angularjs","languages","paradisec","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcolarosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-08T23:26:56.000Z","updated_at":"2023-01-27T20:48:52.000Z","dependencies_parsed_at":"2022-09-04T10:20:27.490Z","dependency_job_id":null,"html_url":"https://github.com/marcolarosa/pdsc-collection-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcolarosa%2Fpdsc-collection-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcolarosa%2Fpdsc-collection-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcolarosa%2Fpdsc-collection-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcolarosa%2Fpdsc-collection-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcolarosa","download_url":"https://codeload.github.com/marcolarosa/pdsc-collection-viewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253153163,"owners_count":21862318,"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":["angularjs","languages","paradisec","webpack"],"created_at":"2024-08-03T04:00:55.769Z","updated_at":"2025-05-08T21:32:28.568Z","avatar_url":"https://github.com/marcolarosa.png","language":"JavaScript","funding_links":[],"categories":["Software"],"sub_categories":["Utilities"],"readme":"\u003e # Development of this application has moved to https://github.com/CoEDL/nabu-collection-viewer-v1\n\u003e\n\u003e ## Issues raised in this repository will be ignored.\n\n# Paradisec Collection Viewer\n\n\u003c!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 --\u003e\n\n- [Paradisec Collection Viewer](#paradisec-collection-viewer)\n  - [Preamble](#preamble)\n    - [Features](#features)\n  - [URL structure](#url-structure)\n  - [Setup](#setup)\n  - [Developing the online version.](#developing-the-online-version)\n  - [Developing the LibrayBox Version.](#developing-the-libraybox-version)\n  - [Building a distribution](#building-a-distribution)\n    - [Deploy to TESTING](#deploy-to-testing)\n    - [Deploy to PRODUCTION](#deploy-to-production)\n    - [Deploy to LibraryBox](#deploy-to-librarybox)\n  - [Items with varying types useful for testing](#items-with-varying-types-useful-for-testing)\n\n\u003c!-- /TOC --\u003e\n\n## Preamble\n\nThis repository contains the code for the [PARADISEC Catalog](https://github.com/nabu-catalog/nabu) Viewer. The viewer is\nan AngularJS (v1) application that reads the OAI data feed and then contructs\na datasource to drive the application; loading data from the catalog when\nthe user is logged in.\n\nRead on for information about developing this application and deploying it\nto different targets. Bear in mind that this application has two modes of\noperation: Online and LibraryBox.\n\n-   Online mode refers to the instance that is deployed on Nabu. This mode assumes the user `has an internet connection` so all data is loaded over\n    the network.\n-   The second mode refers to an instance that is deployed on a LibraryBox. This mode assume the user `does not have an internet connection` other than the one to the LibraryBox itself. In this mode the datasource needs to be pre-constructed and installed on the LibraryBox with the data it is to serve.\n    -   Detailed information on how to install the viewer and data onto a LibraryBox can be found at [LibraryBox Tools](librarybox-tools/README.md).\n\n### Features\n\n-   information, files, image, media, document and transcripts viewers\n-   fully responsive\n-   deep linking to all resources\n-   scrolling transcript support as media playing\n-   media jump to segment from transcript\n-   the EAF parser supports EAF files with multiple tiers.\n\n## URL structure\n\nAs the viewer is designed to display item resources (and given that at the\ntime of writing Nabu does not provide a data feed for collections) the URL\nstructure in Online mode is:\n\n```\nhttp://{localhost | vm IP address}:9000/#/{collectionId}/{itemId}\n```\n\nIf both collectionId and itemId are not provided the viewer will redirect\nto Nabu's home page as it does not know what to load.\n\nFor LibraryMode the behaviour is slightly different. Navigating to the root\nof the viewer does not redirect to Nabu as a datasource describing what is\ninstalled on the LibraryBox is used to render a view of the available\ncollections.\n\n```\nhttp://{localhost | vm IP address}:9000/#/\n```\n\n## Setup\n\nYou need nodejs installed (version 8 or greater). See [here](https://nodejs.org/en/download/) for what to do for your\nsystem. Once nodejs is setup run `npm install` to install the packages.\n\nAs this application loads data from NABU and given that NABU does not allow requests from outside domains (in\nthe parlance: NABU does not have CORS enabled) you will also need to set your host to man in the middle requests\nto NABU.\n\nClone the repo @ https://github.com/marcolarosa/nginx-cors-plus and build the docker container then run it with:\n\n```\n\u003e docker run -it --rm -p 80:80 -e TARGET=\"http://catalog.paradisec.org.au\" nginx-cors-proxy\n```\n\nThen, edit your /etc/hosts file and add `catalog.paradisec.org.au` to the line starting with `127.0.0.1`. It should\nlook something like this:\n\n```\n127.0.0.1\tlocalhost catalog.paradisec.org.au\n```\n\nThis then results in requests from the viewer to catalog.paradisec.org.au to be sent to the proxy container just started\nwhich adds the relevant CORS headers whilst proxying to the real NABU server.\n\n## Developing the online version.\n\n```\n\u003e npm run develop:online\n```\n\nThis will give you a webpack based build (in dist) with livereload.\n\nOR via a docker container:\n\n```\n\u003e TARGET=\"online\" docker-compose up\n```\n\n## Developing the LibrayBox Version.\n\n```\n\u003e npm run develop:librarybox\n```\n\nYou will need the [librarybox-installer](https://github.com/marcolarosa/pdsc-librarybox-installer). Set it up and then follow the notes at `Building a catalog for LibraryBox Development`. Ensure you build the\ncatalog in the `dist` folder in this repository.\n\nOR via a docker container:\n\n```\n\u003e TARGET=\"librarybox\" docker-compose up\n```\n\n## Building a distribution\n\n### Deploy to TESTING\n\n```\n\u003e npm run build:deploy-testing\n```\n\nOR via a docker container:\n\n```\n\u003e TARGET=\"testing\" docker-compose -f docker-compose-build.yml up\n```\n\n### Deploy to PRODUCTION\n\n```\n\u003e npm run build:deploy-production\n```\n\nOR via a docker container:\n\n```\n\u003e TARGET=\"production\" docker-compose -f docker-compose-build.yml up\n```\n\n### Deploy to LibraryBox\n\n```\n\u003e npm run build:deploy-librarybox\n```\n\nOR via a docker container:\n\n```\n\u003e TARGET=\"librarybox\" docker-compose -f docker-compose-build.yml up\n```\n\n## Items with varying types useful for testing\n\n-   /#/AC2/VUNU105 # one image and one PDF\n-   /#/AC2/ETHGS102 # image set\n-   /#/AA2/003 # audio\n-   /#/NT5/DickLauto # video\n-   /#/SN1/MM20130708Museum # multiple: image, audio and multiple PDF documents\n-   /#/EAG1/S1 : .eaf XML\n-   /#/BN1/001 : .trs XML\n-   /#/NT10/W08 : .trs XML\n-   /#/NT10/W13 : .eaf XML\n-   /#/NT1/98007 : images, audio and eopas data file\n-   /#/NT5/TokelauOf : video and eopas data file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcolarosa%2Fpdsc-collection-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcolarosa%2Fpdsc-collection-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcolarosa%2Fpdsc-collection-viewer/lists"}