Skip to content

Repository files navigation

kitconcept Intranet 🚀

Built with Cookieplone Tests

A Plone distribution for Intranets with Plone. Created by kitconcept.

Quick Start 🏁

Prerequisites

Set up local demo instance

  • Clone repository with git clone https://github.com/kitconcept/kitconcept.intranet.git
  • Change directory to "kitconcept.intranet" with cd kitconcept.intranet
  • Start Docker containers with docker-compose up
  • Open kitconcept.intranet in your browser by typing http://kitconcept-intranet.localhost/ into your browser URL field

Development

Prerequisites ✅

Ensure you have the following installed:

Installation 🔧

  1. Clone the repository:
git clone git@github.com:kitconcept/kitconcept.intranet.git
cd kitconcept.intranet
  1. Install both Backend and Frontend:
make install

Fire Up the Servers 🔥

  1. Create a new Plone site on your first run:
make backend-create-site

or create the site manually by visiting http://localhost:8080/.

  1. Start the Backend at http://localhost:8080/:
make backend-start
  1. In a new terminal, start the Frontend at http://localhost:3000/:
make frontend-start

Voila! Your Plone site should be live and kicking! 🎉

Manual site creation 🔥

Point your browser at http://localhost:8080/ and you will be greated with the site creation page:

first step

After selecting kitconcept Intranet you will see a form:

first step

AI Search Test Corpus (optional)

For developing and testing the AI (RAG) search there is a second, optional content set — a German knowledge corpus with golden questions. It is not imported by default and requires a fresh site without the standard example content. See backend/example_content/ai-content/README.md for setup instructions (Solr image, LLM credentials, import and indexing).

Amend Example Content

First, make sure that you do not have the backend process running.

Delete existing site and all its content and re-create a new Plone site:

make backend-delete-and-create-site

Start the backend with:

make backend-start

and amend the content on the site.

Stop the backend by killing the make backend-start process (CTRL+C).

Export the content of the Plone site to your local repository (make sure the backend is stopped for this):

make backend-update-example-content

Show the diff in your local repository:

git diff

Commit your changes:

git add .
git checkout -b <MY_BRANCH>
git commit . -m"<MY_COMMIT_MESSAGE>"
git push

Go to github.com/kitconcept/kitconcept.intranet and click on the banner that shows your PR. Click on "Compare & pull request".

Authentication

Choosing Keycloak for user authentication will present configuration options:

first step

Choosing OIDC / OAuth2 for user authentication will present configuration options:

first step

Choosing Google for user authentication will present configuration options:

first step

Choosing GitHub for user authentication will present configuration options:

first step

Local Stack Deployment 📦

Deploy a local Docker Compose environment that includes:

Execute the following:

make stack-start
make stack-create-site

And... you're all set! Your Plone site is up and running locally! 🚀

Project Structure 🏗️

This monorepo consists of three distinct sections: backend, frontend, and devops.

  • backend: Houses the API and Plone installation, utilizing pip instead of buildout, and includes a policy package named kitconcept.intranet.
  • frontend: Contains the React (Volto) package.
  • devops: Encompasses Docker Stack, Ansible playbooks, and Cache settings.

Why This Structure? 🤔

  • All necessary codebases to run the site are contained within the repo (excluding existing addons for Plone and React).
  • Specific GitHub Workflows are triggered based on changes in each codebase (refer to .github/workflows).
  • Simplifies the creation of Docker images for each codebase.
  • Demonstrates Plone installation/setup without buildout.

Code Quality Assurance 🧐

To automatically format your code and ensure it adheres to quality standards, execute:

make check

Linters can be run individually within the backend or frontend folders.

Internationalization 🌐

Generate translation files for Plone and Volto with ease:

make i18n

Credits and Acknowledgements 🙏

Crafted with care by Generated using Cookieplone (0.7.0) and cookiecutter-plone (9937161) on 2024-05-28 19:04:49.900739. A special thanks to all contributors and supporters!

About

No description, website, or topics provided.

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages