v2
  • LFX Toolkit
  • Release Notes
  • EasyCLA
    • Releases and Known Issues
    • Getting Started
      • Prerequisites
      • EasyCLA Troubleshooting
        • EasyCLA is Disabled
      • EasyCLA FAQs
      • EasyCLA Development Components
    • Project Managers
      • Set up project on EasyCLA
      • Sign in to Project Control Center
      • Create New CLA Group
      • Update Templates
      • Add or Remove a Project from CLA Group
      • View and Manage CLA Group Details
      • Add and Manage GitHub Organizations
      • Add and Manage Gerrit Organizations
      • Add and Manage GitLab Groups
      • View Connection Status of Git Organizations and Repositories
      • Enforce or Remove CLA Mechanism
      • Invalidate a Contributor's Signature
      • Uninstall the EasyCLA Application
    • Contributors
      • Individual Contributor
      • Corporate Contributor
    • Corporate CLA Managers
      • Sign In to the EasyCLA Corporate Console
      • Coordinate Signing CCLA and become initial CLA Manager
      • Add or Delete CLA Managers
      • Approve and Manage Contributors
    • CCLA Signatories
      • Review and Sign a Corporate CLA by Request
    • Glossary
  • Corporate CLA Console
    • Dashboard
    • Projects
      • Sign CLA for a Project
      • Add or Delete a CLA Manager
      • Add and Manage a Contributor
    • Manage Organization
    • Manage your Profile
  • Security Service
    • GitHub Onboarding
    • Manage Vulnerabilities
    • Manage False Positives
      • Regular Expressions Cheat Sheet
    • Manage Non Inclusive Naming
  • Project Control Center (PCC) - Pre Release
    • Overview
    • Adding a Main Project
    • Setup Services for a Project
    • IT Services for a Project
    • EasyCLA Service
    • PCC Dashboard
    • Security Service
    • Cloud Providers
    • Enabling Email Forwarding
    • Setting up a Domain for a Project
    • Source Control
    • Issue Tracking for a Project
    • Mailing List
    • Setting up Wiki
    • Meetings
  • Organization Dashboard - Pre Release
    • Overview
    • Global Statistics
    • Projects
    • My Organization
    • Organization Profile
    • Managing Teams
    • Global Events
    • Global Training and Certifications
    • Resources
    • Membership Details of a Project
    • Benefits
    • Committees
    • Project Contributors
    • Meetings
    • Project Contributions
    • Member Promotions
    • Dashboard
    • Membership Summary
    • Training and Certifications
    • Events Insights
    • Global Attendee Insights
Powered by GitBook
On this page
  • Third-party Services
  • EasyCLA Backend
  • EasyCLA Frontend or Consoles
  • License
  • EasyCLA Architecture
  • EasyCLA Release Process
  1. EasyCLA
  2. Getting Started

EasyCLA Development Components

PreviousEasyCLA FAQsNextProject Managers

Last updated 3 years ago

Following are the third-party services, backend components and frontend consoles used in the development of the EasyCLA tool.

Third-party Services

Besides integration with the LFX platform and its underlying services, EasyCLA uses the following third party services:

  • for the CLA agreement e-sign flow

  • for converting CLA templates from HTML to PDF

  • for GitHub PR CLA authorization checking/gating

  • Gerrit for CLA authorization review checking/gating

  • Auth0 For Single Sign On

  • Salesforce through the LFX Platform APIs

  • supports two ways of registering your EasyCLA bot with GitLab :

    • Integrations: Navigate to Integrations tab of Project Settings. To have your EasyCLA bot listed under Add an integration section, you must create a MR (Merge Request) to GitLab's codebase, and get that accepted. The code must be written in Ruby.

    • Webhook : The other way of integrating your bot with GitLab is to add a webhook which will be called on certain events that happen in GitLab Project, such as opening MR (Merge Request). The webhook must respond in certain time frame. GitLab has a where you can interact with programmatically and add/edit/delete your webhook which can make the integration smoother from user point of view.

EasyCLA Backend

The EasyCLA tool has two backend components.

  • Python - some older APIs are implemented in python and can be found in the directory.

  • GoLang - Most of the backend development is implemented in Golang, and can be found in the directory. In particular, this backend contains APIs powering most of the v2 APIs which integrate with the LFX Platform (including Salesforce data), and the LFX platform permissions model.

EasyCLA Frontend or Consoles

License

EasyCLA Architecture

The following diagram illustrates EasyCLA architecture:

EasyCLA Release Process

The following diagram illustrates the EasyCLA release process:

The EasyCLA frontend consists of three independent Single Page Applications (SPAs) built with the framework:

for a project's director or manager (typically an LF staff member) to oversee the project's CLA setup. It is sometimes referred as the LFX Project Control Center in this documentation.

for a contributor to a project to sign an Individual CLA (ICLA), or to kick off the corporate CLA (CCLA) signature process.

for a company's CLA Manager to coordinate the corporate CLA signature process, and then to manage their company's authorized contributors.

This project’s source code is licensed under the MIT License. A copy of the license is available in .

The project includes source code from keycloak, which is licensed under the Apache License, version 2.0 (Apache-2.0), a copy of which is available in .

This project’s documentation is licensed under the Creative Commons Attribution 4.0 International License (CC-BY-4.0). A copy of the license is available in .

Docusign
Docraptor
GitHub
GitLab
Webhook API
cla-backend
cla-backend-go
Ionic
EasyCLA Project Console
EasyCLA Contributor Console
EasyCLA Corporate Console
LICENSE
LICENSE-keycloak
LICENSE-docs
EasyCLA Architecture Overview
EasyCLA Release Process