{"id":24757862,"url":"https://github.com/opencdms/opencdms-app","last_synced_at":"2025-03-23T09:12:04.247Z","repository":{"id":65080944,"uuid":"557205195","full_name":"opencdms/opencdms-app","owner":"opencdms","description":"OpenCDMS Web Application (application shell can be configured to contain components)","archived":false,"fork":false,"pushed_at":"2023-07-12T16:37:40.000Z","size":17939,"stargazers_count":0,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T10:53:14.031Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Vue","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/opencdms.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-25T09:07:59.000Z","updated_at":"2023-05-08T14:07:13.000Z","dependencies_parsed_at":"2025-01-28T15:48:12.097Z","dependency_job_id":null,"html_url":"https://github.com/opencdms/opencdms-app","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencdms%2Fopencdms-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencdms%2Fopencdms-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencdms%2Fopencdms-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencdms%2Fopencdms-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencdms","download_url":"https://codeload.github.com/opencdms/opencdms-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245078184,"owners_count":20557281,"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":"2025-01-28T15:36:39.159Z","updated_at":"2025-03-23T09:12:04.220Z","avatar_url":"https://github.com/opencdms.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenCDMS app \n\n## Project setup\n```\nnpm install\n```\n\n### Compiles and hot-reloads for development\n```\nnpm run serve\n```\n\n### Compiles and minifies for production\n```\nnpm run build\n```\n\n### Lints and fixes files\n```\nnpm run lint\n```\n\n\n## App Configuration\n\nThis application can be configured to selectively display pages declared in the route list. By default, only the Dashboard link will appear on the sidebar navigation menu. To add more links in the sidebar menu:\n\n1.  All the routes would be declared as the src/routes/routes.js as in a normal vuejs application.\n2.  Go to  `src/registry.json` file. Each entry in the registry represents a navigation link. \n3.  Set the display property to the desired value (true or false). Only the links with display set to true would be visible in the navigation bar and the  final build routes.\n\nThis implies that the registry entries set to false would not be available in the application.\n\n\neg\n```\n// src/registry.json\n[\n    {\n        \"component\": \"CNavItem\", // Name of the render component\n        \"name\": \"Hidden\",  // The name of the element visible to the user on the side navigation bar\n        \"to\": \"/hidden\", // Path must correspond to the route path declared in src/routes/route.js \n        \"icon\": \"cil-drop\", // Display icon\n        \"display\": false // will not be displayed and user will not be able to see this page\n        \"routeName\": \"Hidden\", // The vuejs routename for this entry\n        \"package\": \"@opencdms/hidden\" // The npm package name of the webcomponent to be rendered in this page\n      },\n       {\n        \"component\": \"CNavItem\", // Name of the render component\n        \"name\": \"Test Page\",  // The name of the element visible to the user \n        \"to\": \"/test-page\", // Path must correspond to the route path declared in src/routes/route.js \n        \"icon\": \"cil-drop\", // Display icon\n        \"display\": true // will be displayed\n        \"routeName\": \"Test\", // The vuejs routename for this entry\n        \"package\": \"@opencdms/helloworld\" // The npm package name of the webcomponent to be rendered in this page\n      }\n]\n```\n\n### Web Components\n\nWe can render web components built using any javascript framework in this application shell.\n\nTo render a web component:\n\n1. Create the web component and publish in npm or define it in the `src/web-components` folder.\n\n2. Ensure that the tagname of the web component is prefixed with `opencdms-` eg `\u003copencdms-helloworld\u003e....\u003c/opencdms-helloworld\u003e`.\n\n3. Install the webcomponent by running npm install --save @opencdms/webcomponentName.\n\n4. Create a registry entry in src/registry.json for the page created above. Set the display to true or false as you desire.\n\n5. Generate the view files by running `npm run views:generate`\nThe generated view filenames in src/views folder corresponds to the routeName property in the registry.json file hence routeName property must be unique. You can customise the generated view files as you want. Running the views:generate command does not overwrite existing files.\n\n6. Launch the application. npm run serve \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencdms%2Fopencdms-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencdms%2Fopencdms-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencdms%2Fopencdms-app/lists"}