You can build and test the demo project included in the CRISP project itself. Clone the project and run the demo from a specific released tag like the following example.
$ git clone --branch hippo-addon-crisp-2.0.5 https://code.onehippo.org/cms-community/hippo-addon-crisp.git $ cd hippo-addon-crisp $ cd demo $ mvn clean verify $ mvn -P cargo.run
Find the latest tags from here:
If you want to test it locally and contribute somethings to the project, you might want to pull the master branch and fork it in a local feature branch. In that case, you need to build and install the module project itself before building and running the demo project. See the following example (assuming that you want to constribute for a ticket of CRISP JIRA project, CRISP-000, just as an example):
$ git clone https://code.onehippo.org/cms-community/hippo-addon-crisp.git $ cd hippo-addon-crisp $ git checkout master -b feature/CRISP-000 $ mvn clean install $ cd demo $ mvn clean verify $ mvn -P cargo.run
- Visit http://localhost:8080/site/news/.
- Click on any news article.
- You will see all the product list with custom-generated URI links at the bottom of the page.
- The external product data was retrieved through ResourceServiceBroker. See site/src/main/java/org/onehippo/cms7/crisp/demo/components/NewsContentComponent.java and bootstrap/webfiles/src/main/resources/site/freemarker/hstdefault/newspage-main.ftl for detail.
- Visit http://localhost:8080/cms/.
- Select and edit an news document.
- Select 'Related Products' field and try to add some products through the pop up dialog (which is part of External Document Picker plugin).
- The external product data was retrieved through ResourceServiceBroker. See cms/src/main/java/org/onehippo/cms7/crisp/demo/cms/plugin/CommerceProductDataServiceFacade.java for detail.
By default, the ResourceResolver component for demo product catalogs data in the demo project caches result data based on resource space name, operation name, relative resource path, path variables, etc. for 1 minutes ("time-to-live"). So, for the same requests, it will return the cached data without having to invoke the backend REST service again as long the the cached data was not expired in 1 minutes ("time-to-live").
You can clear all the cached data by invoking a "Web-Hook" URL like the following manually.
$ curl http://localhost:8080/site/examples/invalidate-cache.jsp \ -d "resource_space=demoProductCatalogs&secret=some_secret"
If you invoke the "Web-Hook" page manually, then the specific resource data cache will be cleared right away in this example.