Skip to content

FAQ for Contributors

Cecil Wöbker edited this page Jun 16, 2018 · 1 revision

FAQ for Developers

We are very happy that you are interested to contribute to the XCoLab project here on GitHub. Always feel free to reach out to us with any questions and create new issues in this repository.

Important Corners of the CoLabViewApplication

The /view folder is arguably one of the most essential folders of the application. The entire frontend is in this folder.

The commands mvn compile or gulp can be executed in the view folder to recompile a bunch of files and fix issues with missing CSS files.

Configuration

There are multiple places where parts of the application are configured.

1. ~/.xcolab.application.properties

This file is used for the most essential settings overall. For example, defining which database to connect to.

2. /view/src/main/resources/application.yml

A bunch of specific settings regarding the frontend microservice.

3. themeContext Variables

In the file view/src/main/java/org/xcolab/view/theme/ThemeContext.java many theme-relevant variables are defined and structured that can be made available throughout most of the fronted.

Structure

The majority of the frontend is distributed in these 3 folders. One for the actual controller logic. One for CSS and other static resource files. And last but not least, one for the actual frontend HTML design.

  1. Controllers: view/src/main/java/org.xcolab.view/pages/...
  2. Resources: view/src/main/resources/static/...
  3. Pages: view/src/main/webapp/WEB-INF/...

Routing

org.xcolab.view.config.spring.resolvers

General Tipps

  • mvn clean and mvn compile go a long way in fixing issues that come up.

Common Pitfalls

Error: Unknown column

Problem

If you get an error like: MySQLSyntaxErrorException: Unknown column

Solution

Try to run this command, otherwise XCoLab will look for columns that don't exist anymore.

mvn compile

In general, always make sure that the data in your database matches the format the code expects. You will find any database migrations we run in the folder: sql/deployments/archive.

Clone this wiki locally