{"id":18510098,"url":"https://github.com/gitana/cloudcms-ui-sample-addon","last_synced_at":"2025-04-09T04:33:04.339Z","repository":{"id":33179824,"uuid":"36821138","full_name":"gitana/cloudcms-ui-sample-addon","owner":"gitana","description":"A sample add-on AMD module for the Cloud CMS user interface","archived":false,"fork":false,"pushed_at":"2025-01-23T02:43:29.000Z","size":704,"stargazers_count":2,"open_issues_count":1,"forks_count":15,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-23T23:16:15.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gitana.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"freyley/django_alfajor","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitana.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":"2015-06-03T18:04:14.000Z","updated_at":"2025-01-23T02:43:32.000Z","dependencies_parsed_at":"2024-11-06T15:32:50.377Z","dependency_job_id":null,"html_url":"https://github.com/gitana/cloudcms-ui-sample-addon","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/gitana%2Fcloudcms-ui-sample-addon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitana%2Fcloudcms-ui-sample-addon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitana%2Fcloudcms-ui-sample-addon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitana%2Fcloudcms-ui-sample-addon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitana","download_url":"https://codeload.github.com/gitana/cloudcms-ui-sample-addon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980831,"owners_count":21027803,"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-11-06T15:20:54.985Z","updated_at":"2025-04-09T04:33:04.333Z","avatar_url":"https://github.com/gitana.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cloud CMS UI Sample Addon\n\n**Updated for Version 3.2**\n\nThis GitHub repository provides a sample UI extension for the Cloud CMS user interface.  UI extensions consists of\nJavaScript, CSS and HTML templates that are bundled together as a module and deployed to your tenant.  Once deployed,\nthe module is served alongside the rest of the Cloud CMS user interface.\n\nThe content defintions used by this sample are available in Cloud CMS when using the \"Sample Web Project\" project.\nCreate a new project and select \"Sample Web Project\".\n\nModules are able to do the following:\n\n- introduce new user interface components\n- override configuration and behaviors of existing user interface components\n- change labels and placement of buttons\n- add new form fields or modify existing form fields\n- bind in new actions, modals and wizards\n\nAll of the module code itself is available in the /sample directory.  The /data directory holds some sample data\nthis is used by one of the sample fields but it isn't required.\n\n## What's Included\n\nThe following examples are included:\n\n### Create Sample Space Action\n\nThis action provides a form that lets a user type in a name.  A folder is then created in the current directory with\nthat name.  A default folder structure is built out.  This effectively lets you build out templated structures\nwith only a single click.\n\nThe action code is here:\n    /sample/actions/sample/create-sample-space.js\n\nThe action is configured into the documents list page here:\n    /sample/config/sample/blocks/default/documents-list-buttons/folder.json\n\n### Catalog / Products Page\n\nThis is an example of a custom page that appears in the left-hand menu.  It is a standalone page that you can do\nanything you'd like with.  In this case, we show a list of products and allow the media for the products to be\ndisplayed with a click.\n\nThe products list gadget code is here:\n    /sample/gadgets/sample-products-list/sample-products-list.js\n    /sample/gadgets/sample-products-list/sample-products-list.css\n    /sample/gadgets/sample-products-list/sample-products-list.html\n\nThe products page is configured into the framework here:\n    /sample/config/sample/pages/sample-products-page/page.json (defines the page)\n    /sample/config/sample/pages/sample-products-page/center.json (binds the list gadget into the page's template)\n\nThe products page is wired into the left-hand navigation here:\n    /sample/config/sample/blocks/default/context/project.json\n\n### Random Product Dashlet\n\nOne of the things you'll often want to do is introduce a new dashlet into dashboard pages.  This is a custom dashlet\nwhich displays a random product from the catalog.\n\nThe dashlet gadget code is here:\n    /sample/gadgets/sample-random-product-dashlet/sample-random-product-dashlet.js\n    /sample/gadgets/sample-random-product-dashlet/sample-random-product-dashlet.css\n    /sample/gadgets/sample-random-product-dashlet/sample-random-product-dashlet.html\n\nThe dashlet is wired into the project dashboard here:\n    /sample/config/sample/blocks/default/dashboards/project.json\n\n### Custom Document Properties\n\nThis is an example of overriding the document properties section of the document overview page.  This is the section\nthat lists properties.  In this case, we want to special handle one of the properties to make it clickable so that we\nare taken somewhere.\n\nThe gadget code is here:\n    /sample/gadgets/sample-product-document-properties/sample-product-document-properties.js\n\nThe document page template region is overridden to use our gadget here:\n    /sample/config/sample/blocks/default/regions/document-properties.json\n\n### Hiding Document Actions based on Roles\n\nThis is an example of changing the availability of UI functionality based on role-based priviledges.  In this case,\nwe hide the \"Touch Document\" action for users who have the CONSUMER, CONTRIBUTOR, COLLABORATOR or EDITOR roles against\nthe viewed document.\n\nThe configuration code is here:\n    /sample/config/sample/blocks/default/document-actions/actions.json\n\n### Hiding Document sub-pages based on Roles\n\nYou can also show or hide navigation elements as well as sub-navigation elements based on the current user's role\nagainst the currently viewed document.  In this case, we hide the Document's JSON viewer page for anyone who has\nthe CONSUMER, CONTRIBUTOR, COLLABORATOR or EDITOR role against the viewed document.\n\nThe configuration code is here:\n    /sample/config/sample/blocks/default/subcontext/document.json\n\n### Sample City Picker Form Field\n\nThis is a custom Alpaca form field that loads it's data from the /data/cities.json file and provides a dropdown\nselection list.  To use it, just specify the form option type of \"sample-city-picker\".\n\nThe Alpaca code is here:\n    /sample/fields/sample-city-picker.js\n\n### Sample Content Picker Form Field\n\nThis is a custom Alpaca form field that loads it's data from a Cloud CMS query.  It provides a dropdown selection\nlist of content items of type \"catalog:product\".\n\nThe Alpaca code is here:\n    /sample/fields/sample-content-picker.js\n\n\n## Deploying to Cloud CMS\n\nTo deploy to the Cloud CMS user interface, please take a look at the instructions provided here:\nhttps://gitana.io/documentation/gitana/4.0/ui/modules.html\n\n\n## Building for Production\n\nYou may optionally wish to build for production.  A production build consists of an optimized and minified index.js with its dependencies included.\n\nTo build, make sure Node.js is installed, and then, from a command line, do the following:\n\n3.  Run '''npm install'''\n4.  Run '''npm run build'''\n\nOnce finished, your build should be in /dist. Be sure to set your source path to /dist when registering your module.\n\n\n## How do I get help?\n\nFor help with these UI extensions, please contact support@gitana.io\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitana%2Fcloudcms-ui-sample-addon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitana%2Fcloudcms-ui-sample-addon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitana%2Fcloudcms-ui-sample-addon/lists"}