Skip to content

Commit

Permalink
Merge branch 'release/1.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
hauke96 committed Dec 2, 2020
2 parents 9681242 + 3749cd6 commit 6496418
Show file tree
Hide file tree
Showing 115 changed files with 5,854 additions and 3,134 deletions.
30 changes: 30 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
SimpleTaskManager License
-------------------------

This project contains files under different licenses:

* All files in the folder "client/src/assets/fonts/" and the file
"client/src/icons.scss" are licenced under the "Creative Commons
Attribution-ShareAlike 4.0 International License"
* All other files are licenced under the "GNU General Public License"

This project is released as free and open source code, you may use it for
commercial, educational, private and any other way you want. Sharing,
distributing and changing the content of this project - with respect to the
according licences - is explicitly approved.


Creative Commons Attribution-ShareAlike 4.0 International License
-----------------------------------------------------------------

This work is partly (as described above) licensed under the Creative Commons
Attribution-ShareAlike 4.0 International License. To view a copy of this
license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter
to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.



GNU General Public License:
---------------------------


GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Expand Down
47 changes: 47 additions & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<img align="right" width="64px" src="https://raw.githubusercontent.com/hauke96/simple-task-manager/master/client/src/assets/icon.png">

# SimpleTaskManager

これは、例えば[OpenStreetMap(OSM)](https://openstreetmap.org)のためのシンプルな構造のタスクマネージャです。
最新バージョンは [stm.hauke-stieler.de](https://stm.hauke-stieler.de)で確認してください。

このプロジェクトは、あらゆる種類の地理関連のもの(例えば、OSMでのマッピング、古い建物の写真など)のためのシンプルで汎用的なタスキングマネージャを作成することを目的としています。

タスキングマネージャは、複数の人が同じ地域で互いに干渉することなく作業できるようにするアプリケーションです。
通常、そのような領域は正方形に分割され、一度に1つのマッパーだけが、その範囲を作業します。

<img align="center" style="width: 100%; max-width: 1128px;" src="https://raw.githubusercontent.com/hauke96/simple-task-manager/master/screenshot.png">

# どのように動作しますか?

ユーザは、地図上の大きな領域(例:市区)で構成される**プロジェクト**を作成できます。
この領域は、いわゆる**タスク**より小さな領域(たとえば、1x1kmの大きな正方形)に分割されています。
ファイル(例えばGeoJSONファイル)から**ジオメトリ**をインポートして、タスクを作成することもできます。

一度に1人のユーザーがそのようなタスクの作業ができるようになりました。このユーザーは、**進捗ポイント**を設定することで、タスクの**進捗**を更新できます。
領域が完全にマッピングされると、ユーザは進捗ポイントを最大値(100%)に設定して終了し、次のタスクを開始することができます。

プロジェクトの所有者は、他のユーザをプロジェクトに招待することもできます。
あるユーザーがタスクで作業している場合、他のユーザーはそのタスクのプロセスを更新できません。

# さらに別のタスクマネージャですか?
*(つまり、HOT Tasking Managerの何が問題ですか?)*

個人的には、HOT Tasking Managerがそれほど好きではない理由がいくつかあります(直感的なUIでない、iD統合、一定時間後にタスクから自動的に割り当てられないなど)

別の方法としては、例えばMapCraft・タスキング・マネージャがあります。これは非常に古く、すでにリポジトリをコンパイルできない状況です。
したがって、MapCraftを設定することはできません(依存関係が壊れている古いPHPコードに何時間も費やしたくない場合)。

つまり、基本的にはこれは別のタスクマネージャですが、既存のもののクローンではありません。

# ドキュメント

ドキュメントは、[docフォルダ](doc)(deployment,api,security,architecture,operationなど)と、別の[client](client)および[server](server)フォルダ(主にセットアップと開発情報)にあります。

現在、エンドユーザーマニュアルやチュートリアルなどはありません。

# 貢献

現在、実際のガイドラインはありません。**issue**または**プルリクエスト**を自由に作成してください。

**コーディングを開始しますか?**開始する方法については、[doc/development/README.md](doc/development/README.md)をご覧ください。
2 changes: 1 addition & 1 deletion client/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## STAGE 1 : Build the client
FROM simpletaskmanager/stm-client-base:1.1.1 as builder
FROM simpletaskmanager/stm-client-base:1.2.0 as builder

COPY ./ /stm-client/
WORKDIR /stm-client/
Expand Down
2 changes: 1 addition & 1 deletion client/Dockerfile-test
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## STAGE 1 : Build the client
FROM simpletaskmanager/stm-client-base:1.1.1 as builder
FROM simpletaskmanager/stm-client-base:1.2.0 as builder

COPY ./ /stm-client/
WORKDIR /stm-client/
Expand Down
136 changes: 136 additions & 0 deletions client/README.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# クライアント

これは単純なタスクマネージャのWebアプリケーションです。
主に[Angular](https://angular.io),[OpenLayers](https://openlayers.org/)に基づいており、パッケージマネージャとして`npm`を使用します。

# 環境の設定

1. `npm``node`もインストールします。
2. このclientフォルダに移動(`cd client`)します。
3. (`ng`コマンドラインツールを使用するには) Angular CLIをグローバルにインストールする必要があります
```bash
npm install -g @angular/cli
```
4. すべての依存関係をインストールします。これは、`node_modules`フォルダへのローカルインストールです。
```bash
npm install
```

これで準備ができました。
クライアントを起動してセットアップをテストします(以下を参照)。
クライアントの構築と起動はサーバなしで動作しますが、もちろんクライアントはサーバなしでは動作しません)。

## クライアントの実行

`npm run dev`を実行して、開発サーバーを起動します。
次に、ブラウザで`http://localhost:4200/`を開きます。
ソースファイルを変更すると、アプリケーションは自動的に再コンパイルと再読み込みを行います。

## テストを実行する

これは、`npm run test`を使用して実行できます。
このスクリプトは、テストが実行されるデフォルトブラウザとしてFirefoxを使用します。

`ng test--browsers=ChromeHeadless`でChromeを使用することもできます。

# ビルド

**一言でいうと**
* npm run build

これにより、`.js``.css`のファイルと、`index.html`が作成されます。
すべてを通常のHTTPサーバーにコピーできます。

アプリケーションの実行に似ていますが、`npm run build`があります。
`client/dist/simple-taskmanager/<lang>`に出力されます。ここで<lang>については、英語は`en-US`、日本語は`ja`、ドイツ語は`de`です。

**注意:**これには、マシンによっては時間がかかる場合があります(最大数分)。

# 設定

現在、クライアントは`client/src/environments`で非常に単純な dev-configuration と prod-configurationを使用しています。

暗号化(HTTPS)とHTTP-Serverの設定は使用されているHTTP-Server(Apache-HTTP,nginx, etc)に依存します。そのため、それぞれのプロダクトのドキュメントや、`stm-client`Dockerコンテナで使用されているnginx設定の`./client/nginx.conf`を参照してください。

# 国際化対応

## メッセージカタログを更新する

**一言でいうと**
* `cd client`
* `ng xi18n --output-path src/locale`
* 新しい/変更エントリを特定の翻訳ファイルにコピーする(例:`messages.xlf``messages.ja.xlf`にコピー)

## 翻訳

STMを翻訳するには、*OmegaT**Poedit*などの適切なXLF/XLIFFエディタを使用することをお勧めします。

### Poedit

1. 翻訳したい`.xlf`ファイルを開く
2. エントリを翻訳する
3. 保存をクリックするか、CTRL+Sを押す

### Omega-T

Poeditの代わりに、[Omega-T](https://omegat.org/)[Okapiフィルタプラグイン](https://okapiframework.org/wiki/index.php?title=Okapi_Filters_Plugin_for_OmegaT)とともに翻訳につかうことができます。

1. Omega-Tを起動し、zh_CNなどのお気に入りのターゲット言語で新しいプロジェクトディレクトリに新しいプロジェクトを作成します。
2. Omega-Tを設定してOkapiプラグインXLIFFフィルタを有効にし、内部XLIFFフィルタを無効にします。
3. `client/src/locale/messages.xlf``<omegat_project>/source/messages.<langID>.xlf`にコピーします。(たとえば`messages.zh_CN.xlf`)
4. Omega-Tで`ファイル`-`再読み込み`をクリックします。
5. メッセージを翻訳
6. `ファイル`-`Omega-T上で`ターゲットファイルを生成する`をクリックします
7. `<omegat>/target/messages.<langID>.xlf``client/locale/messages.<langID>.xlf`にコピーします。

UIが更新され、source messages.xlfが変更されたら、ステップ3 - 6を繰り返してください。

### ローカル化設定を追加する

`<langID>`で示される新しい言語を、Angularコンパイラに通知するには、`client/angular.json`に次の3つの部分を追加します。

```json
"projects": {
"simple-task-manager": {
"i18n": {
"sourceLocale": "en-US",
"locales": {
"ja": "src/locale/messages.ja.xlf",
"de": "src/locale/messages.de.xlf",
"<langID>": "src/locale/messages.<langID>.xlf"
}
},
"architect": {
```

```json
"architect": {
"build": {
"configurations": {
"ja": {
"localize": ["ja"]
},
"de": {
"localize": ["de"]
},
"<langID>": {
"localize": ["<langID>"]
},
```

```json
"serve": {
"configurations": {
"production": {
"browserTarget": "simple-task-manager:build:production"
},
"ja": {
"browserTarget": "simple-task-manager:build:ja"
},
"de": {
"browserTarget": "simple-task-manager:build:de"
},
"<langID>": {
"browserTarget": "simple-task-manager:build:<langID>"
}
```
11 changes: 6 additions & 5 deletions client/angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"styles": [
"src/colors.scss",
"src/styles.scss",
"src/icons.scss",
"node_modules/ol/ol.css"
],
"scripts": [],
Expand Down Expand Up @@ -96,8 +97,8 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
"maximumWarning": "9kb",
"maximumError": "15kb"
}
]
},
Expand All @@ -108,7 +109,7 @@
"with": "src/environments/environment.test.ts"
}
],
"optimization": false,
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
Expand All @@ -124,8 +125,8 @@
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
"maximumWarning": "9kb",
"maximumError": "15kb"
}
]
}
Expand Down
Loading

0 comments on commit 6496418

Please sign in to comment.