{"id":15789957,"url":"https://github.com/nonblocking/liferay-angularjs-portlet","last_synced_at":"2025-04-01T14:32:08.003Z","repository":{"id":18646313,"uuid":"21853064","full_name":"nonblocking/liferay-angularjs-portlet","owner":"nonblocking","description":"AngularJS 1 Liferay Portlet","archived":false,"fork":false,"pushed_at":"2016-05-01T18:00:48.000Z","size":499,"stargazers_count":27,"open_issues_count":1,"forks_count":12,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-10-05T22:04:17.602Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nonblocking.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":"2014-07-15T08:53:31.000Z","updated_at":"2023-05-16T12:29:13.000Z","dependencies_parsed_at":"2022-09-24T13:21:38.461Z","dependency_job_id":null,"html_url":"https://github.com/nonblocking/liferay-angularjs-portlet","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/nonblocking%2Fliferay-angularjs-portlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonblocking%2Fliferay-angularjs-portlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonblocking%2Fliferay-angularjs-portlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonblocking%2Fliferay-angularjs-portlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nonblocking","download_url":"https://codeload.github.com/nonblocking/liferay-angularjs-portlet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246604612,"owners_count":20804100,"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-10-04T22:04:19.603Z","updated_at":"2025-04-01T14:32:07.701Z","avatar_url":"https://github.com/nonblocking.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"AngularJS Portlet Demo v3\n=========================\n\nA Liferay portlet that just list all users and shows how AngularJS and Spring Portlet MVC can be used to create single page HTML5 portlets.\n\nThe demonstrator consists of two parts:\n\n1. A [Spring Portlet MVC](http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/portlet.html) backend that handles all AJAX requests as resource requests. \n   It leverages the [thymeleaf](http://www.thymeleaf.org/) HTML5 template engine to pass the resource URL and other parameters as JavaScript variables to the frontend. \n2. An [AngularJS](https://angularjs.org/) frontend that can also be run **standalone with node.js**, which can greatly accelerate the development.\n\n## Build\n\n### Prerequisites\n* [Maven](https://maven.apache.org/) build tool (should come with your favorite IDE)\n* [node.js](http://nodejs.org/) and [Grunt](http://gruntjs.com/) to build and run the HTML5/JavaScript code\n* [SASS](http://sass-lang.com/) to compile the Sassy CSS into CSS\n\n### Create the WAR file\n\nJust run **mvn package** on the command line.\n\n## Run\n\n### On a Liferay 6.2 Portal\n\nDrop the generated _liferay-angularjs-portlet-*.war_ file in the_target_ directory into the *{liferay-home}/deploy* folder.\nAlternatively execute on the command line: **mvn liferay:deploy -D\\\u003cbase_path_of_your_lifery_installation\\\u003e**\n\n### Standalone\n\nRun **npm install** and **grunt server** in the root directory of the project. The webapp will be available on *localhost:9000*.\n\n## Notes\n\n* To run the portlet on a Liferay 6.1 portal two files need to be changed:  \n    1. In *liferay-portlet.xml* change the doctype from *6.2.0.dtd* to *6.0.0.dtd* and remove the line *\u0026lt;requires-namespaced-parameters\u0026gt;false\u0026lt;/requires-namespaced-parameters\u0026gt;*\n    2. In *liferay-plugin-package.properties* change the *liferay-versions* property to *6.1.0+,6.1.2+*\n* The AngularJS portlet in this demonstrator is **instanceable**, which means that you can place it multiple times on a single portal page \n* In order to allow multiple angular based portlets on a page *angular-route* cannot be used\n* If you plan to make a whole suite of AngularJS portlets you should put all JavaScript base libraries and base modules into your theme\n  (instead of shipping it with every single portlet).\n* In the standalone version live-reload is activated, so whenever you change a SASS or JS file the browser will refresh automatically.  \n* In a real world app **don't forget Java and JavaScript unit tests**!\n\n## Screenshots\n\n### Liferay 6.2\n\n![Portlet](screenshot_portlet.png)\n\n### Standalone\n\n![Portlet](screenshot_standalone.png)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonblocking%2Fliferay-angularjs-portlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnonblocking%2Fliferay-angularjs-portlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonblocking%2Fliferay-angularjs-portlet/lists"}