Skip to content

websight-io/starter

Repository files navigation

CI

WebSight Blueprint

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.

Playground

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 | sh

and then see the results on localhost:8080/apps/websight/index.html/content::spaces (credentials are wsadmin/wsadmin).

Luna screenshot

For more details see our Authoring Quick Start Guide.

Websight Technologies

Find out what technologies the Dynamic Solutions team has used to design, build and launch WebSight.

CMS

Websight CMS makes use of the following technologies:

Java OSGi Apache Sling nginx
Apache Jackrabbit ReactJS TypeScript MongoDB

CMS Runtime

The following technologies are used for running WebSight:

AWS Docker

CMS Supportive

The following technologies are used to support the process of delivery:

Bash Maven Cypress Percy.io
Bitbucket Confluence Jira Github Actions
YAML

Design and Prototype

The following technologies are used in designing and prototyping:

Figma Miro

Development

You need to have Java 17 installed to build the project.

To build the project, run:

./mvnw clean package

To start a local instance, run:

distribution/target/dependency/org.apache.sling.feature.launcher/bin/launcher \
  -f distribution/target/slingfeature-tmp/feature-websight-cms-starter-tar.json

Then open http://localhost:8080/ in a Web browser and log in using the credentials wsadmin/wsadmin.

For more details please refer to our Developers quick start guide.

Run modes

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 the TAR Segment NodeStore mode (uses the local file system, by default ./launcher directory)
  • feature-websight-cms-starter-mongo.json - starts the project with the MongoDB Document 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.json

Project structure

  • applications - components related code and scripts
    • luna-custom-code - contains code related to custom-code version of the Luna project
      • backend - contains application elements (components, templates, etc.) and Java code
      • frontend - contains frontend elements (scss, ts, fonts etc.)
    • luna-low-code - contains code related to low-code version of the Luna project
      • backend - contains application elements (components, templates, etc.) and Java code
      • frontend - contains frontend elements (scss, ts, fonts etc.)
    • puresight - contains code related to Puresight project
      • backend - contains application elements (components, templates, etc.) and Java code
      • frontend - contains frontend elements (scss, ts, fonts etc.)
      • content - contains initial content related to the project
  • content - contains sample content created with use of application
  • distribution - builds a distribution (Sling OSGi Feature) of the project
  • tests - responsible for the automatic distribution validation
    • content - contains content used for end-to-end tests
    • end-to-end - end-to-end tests validating distribution

Executing end-to-end tests

Check the tests README for more details.

Docker

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 8080:8080 --name websight-cms --rm \
  --mount source=segment-store-repository,target=/websight/launcher/repository ds/websight-cms-starter

By default, the tar mode is used.

You can find an example WebSight CMS Starter with MongoDB setup in the CMS Helm Chart.

Contributing

Please read our Contributing Guide before submitting a Pull Request to the project.

Community support

To support us, you may follow the project at:

Documentation

See our dedicated repository for the WebSight CMS documentation, or view our documentation live:

License

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).