Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Checking out the code

Info

Requirements: git, GitHub Account


  1. Create

    an account on https://github.com/

    Create a remote fork of https://github.com/Taskana/taskana

    Info
    titleFork A Repo (Github Help)

    see https://help.github.com/articles/fork-a-repo/


  2. Configure git to automatically adjust line endings with each commit (optional, but recommended)

    Code Block
    languagebash
    git config --global core.autocrlf input


  3. Create a local clone

    Code Block
    languagebash
    # using https
    git clone https://github.com/<yourname>/taskana.git
    # using ssh
    git clone git@github.com:<yourname>/taskana.git


  4. Configure git to automatically validate your commit messages (more information: Contribution Guide)

    Code Block
    languagebash
    cd taskana
    git config core.hooksPath qa/hooks
    1. Optional: Create a symlink to .git/hooks in order to support external tools

      Code Block
      rm -rf .git/hooks
      ln -s $PWD/qa/hooks .git/hooks


  5. Create a remote for the upstream project so that it is later easier to retrieve changes from the main repository.

    Code Block
    languagebash
    cd# using taskanahttps
    git remote add upstream https://github.com/Taskana/taskana.git
    # using ssh
    git remote add upstream git@github.com:Taskana/taskana.git


Build the application(s)

Info

Requirements: mavenjava, node, javayarn

Taskana Library

Code Block
languagebash
cd lib
mvn clean install

Rest Api


Info

Version requirements: Java 11, Node 16.14.2


Info

We use maven wrapper. For windows please use mvnw.cmd instead of the bash script


Full build

Code Block
languagebash
cd rest
mvn ./mvnw clean install


UI (admin / monitor / workspace)

Code Block
languagebash
cd admin # or 'monitor' or 'workspace'
npm install web
yarn


Warning

When a taskana version is changed please do not forget to build taskana-parent, taskana-rest-parent and taskana-lib-parent
Options:
A) full build

B) See codeblock below


Code Block
./mvnw install -pl :taskana-parent,:taskana-common-parent,:taskana-rest-parent,:taskana-history-parent
or
./mvnw install -pl :<module name> -am


Start the application(s)

Info

Requirements: angular-cli (v1.4.0), maven, node, java  java, node

Rest Api

First of all change devMode property to true and enableCsrf property to false in taskana-rest-spring-example-boot application.properties file, then follow the next steps.

Code Block
languagebash
cd rest\./mvnw spring-boot:run -pl :taskana-rest-spring-example
mvn spring-boot:run 

Admin, Monitor and Workplace UI

Info

Make sure to run the following command in /web/ before starting the application:

Code Block
yarn install



Code Block
languagebash
cd adminweb
ng serve --port 4201

Monitor UI

analog to admin UI. Change port to 4202

Workspace UI

...

yarn start

Then you can open a browser pointing to http://localhost:4200/ to access to web application.


Architecture example after running previous steps.


Drawio
baseUrlhttps://taskana.atlassian.net/wiki
diagramNameRestAndwebDiagram.xml
contentId815923601
width881
simple0
zoom1
pageId42762245
diagramDisplayNameRestAndwebDiagram.xml
lbox1
contentVer3
height371
revision3