WebSight Blueprint is a sample project built on top of the Websight CMS Community Edition.
It contains demo pages:
- Luna in three variants (no-code, low-code, custom-code)
- Puresight
- Kyanite - personal template
Those pages are built with Howlite and Kyanite component libraries.
Set up a local on-demand environment with the released WebSight CMS CE Docker images by running:
curl https://docs.websight.io/scripts/get.sh | shand then see the results on localhost:8080/apps/websight/index.html/content::spaces (credentials are wsadmin/wsadmin).
For more details see our Authoring Quick Start Guide.
Find out what technologies the Dynamic Solutions team has used to design, build and launch WebSight.
Websight CMS makes use of the following technologies:
|
|
|
|
|
|
|
|
The following technologies are used for running WebSight:
|
|
The following technologies are used to support the process of delivery:
|
|
|
|
|
|
|
|
|
The following technologies are used in designing and prototyping:
|
|
You need to have Java 17 installed to build the project.
To build the project, run:
./mvnw clean packageTo start a local instance (with debugging enabled on port 7777), run:
JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:7777"
export JAVA_OPTS="${JAVA_OPTS} ${JAVA_DEBUG_OPTS}"
distribution/target/dependency/org.apache.sling.feature.launcher/bin/launcher \
-f distribution/target/slingfeature-tmp/feature-websight-cms-starter-tar.json \
-D org.osgi.service.http.port=8888The logs will be available at launcher/logs directory.
Then open http://localhost:8888/ in a Web browser and log in using the credentials wsadmin/wsadmin.
For more details please refer to our Developers quick start guide.
Running the starter WebSight CMS project requires selecting OAK Node Storage mode. To choose the mode, run the distribution with one of the following configuration files:
feature-websight-cms-starter-tar.json- starts the project with theTARSegment NodeStore mode (uses the local file system, by default./launcherdirectory)feature-websight-cms-starter-mongo.json- starts the project with theMongoDBDocument NodeStore mode (requires MongoDB instance)
To run the stater project with MongoDB run:
docker run -d -p 27017:27017 --env MONGO_INITDB_ROOT_USERNAME=mongoadmin \
--env MONGO_INITDB_ROOT_PASSWORD=mongoadmin mongo
MONGODB_HOST=localhost && MONGODB_PORT=27017 && distribution/target/dependency/org.apache.sling.feature.launcher/bin/launcher \
-f distribution/target/slingfeature-tmp/feature-websight-cms-starter-mongo.jsonapplications- components related code and scriptsluna-custom-code- contains code related tocustom-codeversion of the Luna projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)
luna-low-code- contains code related tolow-codeversion of the Luna projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)
puresight- contains code related to Puresight projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)content- contains initial content related to the project
content- contains sample content created with use of applicationdistribution- builds a distribution (Sling OSGi Feature) of the projecttests- responsible for the automatic distribution validationcontent- contains content used for end-to-end testsend-to-end- end-to-end tests validating distribution
Check the tests README for more details.
You can run a containerized version of the project by building the Docker image with the following command:
docker build -t ds/websight-cms-starter .And running it with:
docker run -p 8888:8080 --name websight-cms --rm \
--mount source=segment-store-repository,target=/websight/launcher/repository ds/websight-cms-starterBy default, the tar mode is used.
You can find an example WebSight CMS Starter with MongoDB setup in the CMS Helm Chart.
The WebSight Blueprint integrates seamlessly with StreamX.
To launch a StreamX instance, use the StreamX CLI
with a mesh.yaml configuration file.
You can find a reference configuration in the StreamX Commerce Accelerator GitHub repository.
Note: WebSight Starter is pre-configured to shorten paths within published page content.
However, for this to function, a mandatory matching configuration must be added to the
mesh/configs/rest-ingestion.properties file in your cloned StreamX Commerce Accelerator repository.
The feature requires both sides to be configured correctly to work.
Important: Do not commit these changes to the repository.
streamx.proxy.config.subject-regex-rewrite.types.pages.types=com.streamx.blueprints.page.published.v1,com.streamx.blueprints.page.unpublished.v1
streamx.proxy.config.subject-regex-rewrite.types.pages.patterns.config1.match-pattern=^(:?)/published/puresight/pages/(.*)
streamx.proxy.config.subject-regex-rewrite.types.pages.patterns.config1.rewrite-pattern=$1/$2
streamx.proxy.config.subject-regex-rewrite.types.assets.types=com.streamx.blueprints.asset.published.v1,com.streamx.blueprints.asset.unpublished.v1
streamx.proxy.config.subject-regex-rewrite.types.assets.patterns.config1.match-pattern=^(:)?/published/puresight/assets/(.*)
streamx.proxy.config.subject-regex-rewrite.types.assets.patterns.config1.rewrite-pattern=$1/assets/$2When you have both WebSight and StreamX up and running, you can set up ingestion from WebSight to StreamX:
- Add both Docker containers for StreamX Ingestion and Websight to the same Docker network, by executing the script
- Navigate to Apache Felix console at http://localhost:8888/system/console/configMgr and perform the following changes:
- In "com.streamx.sling.connector.impl.StreamxPublicationServiceImpl", change
enabledtotrue - In "com.streamx.sling.connector.impl.StreamxClientConfigImpl~puresight", change
streamxUrltohttp://rest-ingestion.proxy:8080
Publish sample page to test communication
- Go to http://localhost:8888/apps/websight
- Open the
Puresightspace - Open the
Homepagepage - In the top-right corner, click
Publish - On the
Unpublished references detectedpopup, clickPublish - Verify the page is published to StreamX by visiting http://localhost:8084/homepage.html
Please read our Contributing Guide before submitting a Pull Request to the project.
To support us, you may follow the project at:
- feel free to star this repository, open issues, and start discussions
- linkedin.com/company/websight-io/
- twitter.com/websight_io
See our dedicated repository for the WebSight CMS documentation, or view our documentation live:
WebSight Blueprint, Kyanite components and Howlite components are open-source with Apache License 2.0 license.
WebSight CMS Community Edition is free to use for everyone (terms of use).
