The PureSight demo showcases an example usage of StreamX as a complete web solution. It consists of the following data sources:
- WebSight CMS: Provides content management capabilities.
- PureSight PIM: Acts as a source of product information.
- Bash scripts: Simulate a source of pricing data.
The StreamX Mesh is built using StreamX core components, which provide essential functionalities such as:
- Rendering engine
- Sitemap generator
- Web server
- Search service
- Other services
This setup enables the following capabilities:
- Rendering HTML pages
- Generating Product Detail Pages (PDPs)
- Building a
sitemap.xmlfile - Exposing product data in JSON format for headless solutions
- Generating product listings
- Indexing and enabling search functionality
The PureSight demo allows you to see each of these elements in action in real-time.
Run StreamX Using CLI
Note: Tested with CLI version StreamX 1.0.1.
Start the mesh defined in mesh.yaml:
streamx run -f mesh.yamlWait until the process completes.
Start PIM:
sh scripts/run-pim.shsh scripts/run-websight.shsh scripts/run-proxy.sh-
Visit: http://puresight.127.0.0.1.nip.io/homepage.html.
The web server will serve a 404 error until some data is populated in StreamX. -
Demo PIM is available at:
URL: http://pim.127.0.0.1.nip.io/#/login
Credentials:wsadmin/wsadmin -
WebSight is available at:
URL: http://cms.127.0.0.1.nip.io/
Credentials:wsadmin/wsadmin
-
Go to: http://cms.127.0.0.1.nip.io/apps/groovy#/etc/groovy-console/PureSight/publish-components.groovy
Click the "Run" button.
This action will ingest component renderers and configurations needed for dynamic components that are not managed by CMS. -
Visit: http://cms.127.0.0.1.nip.io/apps/websight/index.html/content/PureSight/pages.
Publish all the pages from the list (including pages in the subtree). -
On the left-hand side, switch to Assets Mode and publish all assets.
Visit: http://pim.127.0.0.1.nip.io and click the "Sync All" button.
You can change the price of any product by passing the product ID and the desired price:
sh scripts/prices/publish-price.sh B071FMSYNH 994You can also add reviews for a product:
sh scripts/reviews/publish.sh B071FMSYNH- CMS sites with real-time components at the speed and scale of cached content.
- Pre-rendered experiences that always reflect the latest changes in source systems.
- Present the homepage as it is and explain the dynamic component with a product listing.
- Present a sample product page and explain that it is generated based on a page template from CMS and data from the PIM and pricing system.
-
Open the CMS and edit the product listing component on the homepage.
- Set the category to Accent Furniture and publish the page.
-
Publish the price (99) for product
B075X5TN2K. -
Refresh the homepage.
- The price update triggered regeneration of the product.
- StreamX regenerated the page fragment with the list of products in the "Accent Furniture" category (sorted by price, cheapest first).
- The homepage was requested.
- The HTTP server embedded the refreshed page fragment using Server-Side Includes (SSI).
- The page was delivered with the updated list of products.
- No Dispatcher cache flushing is required.
- Dynamic listings remain up-to-date without re-rendering pages on CMS publishers, reducing the load and cost of maintaining multiple publisher instances.
- No need to republish the page with dynamic content.
- No cache refresh is needed; the HTTP server delivers the same homepage.
- SSI embeds the latest data when the page is requested by visitors.
- The same approach can deliver personalized content.
- Always up-to-date, auto-generated sitemaps integrating multiple source systems (WebSight CMS, PIM).
- Real-time search serving instant information from source systems.
-
Present the sitemap.xml file generated based on:
- PIM data
- CMS pages
-
Present the search functionality.
- Unpublish product
B075X5TN2K(if not already done). - Open the PureSight homepage and search for
B075X5TN2K→ Show no results. - Open the sitemap.xml file and search for
B075X5TN2K→ Show no results. - Open the PIM and publish the product.
- Repeat the search on the PureSight homepage for
B075X5TN2K→ Show the match. - Open sitemap.xml → Show the product match.
- Unpublish the blog page "Simplify Your Space: A Guide to Decluttering" from CMS.
- Search for "simplify-your-space" in sitemap.xml → No results.
- Search for "simplify" on the site → No results.
- Publish the blog page
- Show results in sitemap.xml and search.
- PIM informed StreamX about a new product.
- CMS informed StreamX about a new page.
- StreamX updated the sitemap and the search index.
- StreamX ensures that delivery services always use up-to-date information from multiple systems.
- Always up-to-date Product Detail Page (PDP) generated using data from multiple sources:
- WebSight CMS
- PIM
- Price script
- Reviews script
- Present a PDP generated based on multiple sources.
- Open the PDP from the homepage listing for product
B075X5TN2K.- Explain which data comes from which system.
- Update the price for
B075X5TN2K→ Refresh the PDP and show the updated price. - Add a review for
B075X5TN2K→ Refresh the PDP and show reviews. - Update the product name in PIM for
B075X5TN2K→ Show the updated name on the PDP. - Modify the PDP template in CMS → Refresh the PDP and show the updated content.
- PIM informed StreamX about a product data change.
- Scripts informed StreamX about price and reviews changes.
- CMS informed StreamX about a PDP template content change.
- StreamX updated the resulting PDP for every piece of information from different systems.
- StreamX ensures that resources remain up-to-date regardless of which source triggers the data change.
