GitHubから直接4Dコンポーネントを統合する

多くの4D開発者は、GitHubにあるサードパーティ製のコンポーネント、特に4d-componentトピックにあるコンポーネントを活用しています。4D 20 R6では、新たな機能が追加されました:これらのコンポーネントをComponent Managerから直接統合することができるようになりました!

このブログポストではこの機能の詳細を説明し、どのように開発プロセスをより簡単で効率的にできるかを紹介します。

多くの4Dコンポーネントは、サードパーティが開発したものであれ、自分で作成したものであれ、GitHubで公開されています。
このプラットフォームには、コンポーネントを配布するためのシンプルな方法があります:リリース と呼ばれる場所です。
以下の続きを読む前に、こちらのComponent Managerの記事を読んで、以下に説明する概念に慣れておくことをお勧めします。

リポジトリのリリースを自動的にダウンロードする

Component Manager はローカルコンポーネントを統合するだけでなく、リポジトリのリリースに保存されているコンポーネントを自動的に取得することができます。

プロジェクトの依存関係ダイアログでは、GitHub のコンポーネントは、コンポーネントの場所の表示の隣に小さなアイコンが表示されるので、ローカルのコンポーネントと簡単に区別できます。

手順はこのようになっています:

  1. コンポーネントを ZIP 形式に圧縮します。
  2. アーカイブにリポジトリと同じ名前をつけます。
  3. リポジトリのリリースにそれを統合します。

 

例えば、このプロセスは 4D コードや GitHub Actions を使って自動化できます。完了したら、プロジェクトの dependencies.json ファイルでコンポーネントを宣言します:

{
    "dependencies":{
        "myComponent":{
            "github":"anyAccount/myComponent"
        }
    }
}

プロジェクトを再起動すると、コンポーネントが自動的にロードされます。とても簡単です!

タグとセマンティックバージョン

リポジトリでリリースを作成するとき、タグとバージョンを指定するのが一般的です。

タグとはリリースを一意に参照するテキストです。dependencies.json ファイルで、プロジェクトで使用するリリースタグを指定できます。例えば

{
    "dependencies":{
        "myComponent":{
            "github":"anyAccount/myComponent"、
            "tag":"textTag"
        }
    }
}

同じように、リリースはバージョンによって識別されます。バージョン管理システムは、最も一般的に使用されているセマンティック・バージョニングコンセプトに基づいています。各バージョン番号は、メジャー番号(majorNumber) .マイナー番号(minorNumber). パッチ番号(patchNumber)のように決定されます。タグと同じように、次の例のように、プロジェクトで使用したいコンポーネントのバージョンを示すことができます:

{
    "dependencies": {
        "myComponent": {
            "github": "anyAccount/myComponent",
            "version": "2.1.3"
        }
    }
}

バージョンは、どのバージョンを使用できるかを定義するために使用されます。以下はその例です:

  • “latest”: リポジトリのリリースで “latest” バッジのついたバージョン。
  • “*”: リリースされた最新バージョン。
  • “1.*”: メジャーバージョン 1 のすべてのバージョン。
  • “1.2.*”: マイナーバージョン 1.2 のすべてのパッチ。
  • “^1.2.3 “または”>=1.2.3″: 1.2.3バージョンから始まる最新バージョン1。
  • “~1.2.3” または “>1.2.3”: 1.2.3の直後のバージョンから始まる、最新のメジャーバージョン1。
  • “<=1.2.3”: 1.2.3までの最新バージョン。
  • “1.0.0 – 1.2.3” または “>=1.0.0 <=1.2.3”: 1.0.0と1.2.3の間のバージョン。
  • “<1.2.3 || >=2″:1.2.3と2.0.0の間でないバージョン。

タグやバージョンを指定しない場合、4Dは自動的に「最新」バージョンを取得します。

プライベートリポジトリ

プライベートリポジトリにあるコンポーネントを統合したい場合、4Dに接続トークンを使ってアクセスするように指示する必要があります。これを行うには、GitHubアカウントで “repo “へのアクセス権を持つ “classic “トークンを作成します。そして、生成されたキーをenvironment4d.jsonファイルに挿入します。
以下はenvironment4d.jsonファイルの例です:

{
    "github":{
        "token":"ghp_a0B1cDEf2gHi3JKl4mNo5P6qRST7UvW8x9yZ"
    }
}

この新機能は、4Dコンポーネントでの作業を簡素化します。私たちは、この統合に価値を感じていただけると確信しています。より効率的な開発プロセスを促進し、4D開発者のための大きなコラボレーションパワーを刺激します。あなたの4DコンポーネントをGitHubリポジトリで共有し、是非4d-componentトピックでバッジしてください。それによって、あなたのコンポーネントは、4Dコンポーネント開発者の素晴らしいコミュニティに参加することになり、また 4Dコンポーネントリストから参照されることになります。
お気軽にフィードバックをお寄せください!

Avatar
- プロダクトオーナー - Damien Fuzeauは、2019年2月に4D Productチームに参加しました。プロダクトオーナーとして、ユーザーストーリー(ユーザーが期待する新機能とその使用法)を書き、それを具体的な機能仕様に変換することを担当しています。また、実装された機能が顧客のニーズを満たしているかどうかを確認することも彼の役割です。ナント大学のソフトウェア工学科を卒業。前職の会社では最初は開発者として(1997年に4Dを発見)、後にエンジニアリングマネージャーとソフトウェアアーキテクトとして、23年以上勤務しました。この会社は、4DのOEMパートナーであり、現在は数千のユーザーと数百のサーバーに向けて4Dベースのビジネスソフトを展開しています。ですから、Damienは、多言語環境での4D開発・導入に慣れています。