Skip to content

Commit

Permalink
Merge pull request #1 from FDC3/master
Browse files Browse the repository at this point in the history
Merging Upstream
  • Loading branch information
grizzwolf authored May 14, 2019
2 parents d7219f7 + 8d17859 commit da4b54f
Show file tree
Hide file tree
Showing 143 changed files with 13,541 additions and 30 deletions.
3 changes: 3 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Code of Conduct for FDC3

Please see the [Community Code of Conduct](https://www.finos.org/code-of-conduct).
89 changes: 89 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Contributing to FDC3
:+1: First off, thanks for taking the time to contribute! :+1:

# Contributor License Agreement (CLA)
A CLA is a document that specifies how a project is allowed to use your
contribution; they are commonly used in many open source projects.

**_All_ contributions to _all_ projects hosted by [FINOS](https://www.finos.org/)
must be made with a
[Foundation CLA](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/83034172/Contribute)
in place, and there are [additional legal requirements](https://finosfoundation.atlassian.net/wiki/spaces/FINOS/pages/75530375/Legal+Requirements)
that must also be met.**

As a result, PRs submitted to the FDC3 project cannot be accepted until you have a CLA in place with the Foundation.

# Contributing Issues

## Prerequisites

* [ ] Have you [searched for duplicates](https://github.com/FDC3/FDC3/issues?utf8=%E2%9C%93&q=)? A simple search for exception error messages or a summary of the unexpected behaviour should suffice.
* [ ] Are you running the latest version?
* [ ] Are you sure this is a bug or missing capability?

## Raising an Issue
* Create your issue [here](https://github.com/FDC3/FDC3/issues/new).
* New issues contain two templates in the description: bug report and enhancement request. Please pick the most appropriate for your issue, **then delete the other**.
* Please also tag the new issue with either "Bug" or "Enhancement".
* Please use [Markdown formatting](https://help.github.com/categories/writing-on-github/)
liberally to assist in readability.
* [Code fences](https://help.github.com/articles/creating-and-highlighting-code-blocks/) for exception stack traces and log entries, for example, massively improve readability.

# Contributing Pull Requests (Code & Docs)
To make review of PRs easier, please:

* Please make sure your PRs will merge cleanly - PRs that don't are unlikely to be accepted.
* For code contributions, follow the existing code layout.
* For documentation contributions, follow the general structure, language, and tone of the [existing docs](https://github.com/FDC3/FDC3/wiki).
* Keep commits small and cohesive - if you have multiple contributions, please submit them as independent commits (and ideally as independent PRs too).
* Reference issue #s if your PR has anything to do with an issue (even if it doesn't address it).
* Minimise non-functional changes (e.g. whitespace shenanigans).
* Ensure all new files include a header comment block containing the [Apache License v2.0 and your copyright information](http://www.apache.org/licenses/LICENSE-2.0#apply).
* If necessary (e.g. due to 3rd party dependency licensing requirements), update the [NOTICE file](https://github.com/FDC3/FDC3/blob/master/NOTICE) with any new attribution or other notices


## Commit and PR Messages

* **Reference issues, wiki pages, and pull requests liberally!**
* Use the present tense ("Add feature" not "Added feature")
* Use the imperative mood ("Move button left..." not "Moves button left...")
* Limit the first line to 72 characters or less
* Please start the commit message with one or more applicable emoji:

| Emoji | Raw Emoji Code | Description |
|:---:|:---:|---|
| :tada: | `:tada:` | **initial** commit |
| :construction: | `:construction:` | **WIP** (Work In Progress) commits |
| :ambulance: | `:ambulance:` | when fixing a **bug** |
| :bug: | `:bug:` | when **identifying a bug**, via an inline comment (please use the `@FIXME` tag in the comment) |
| :new: | `:new:` | when introducing **new** features |
| :art: | `:art:` | when improving the **format** / structure of the code |
| :pencil: | `:pencil:` | when **performing minor changes / fixing** the code or language |
| :ballot_box_with_check: | `:ballot_box_with_check:` | when completing a task |
| :arrow_up: | `:arrow_up:` | when upgrading **dependencies** |
| :arrow_down: | `:arrow_down:` | when downgrading **dependencies** |
| :racehorse: | `:racehorse:` | when improving **performance** |
| :fire: | `:fire:` | when **removing code** or files |
| :speaker: | `:speaker:` | when adding **logging** |
| :mute: | `:mute:` | when reducing **logging** |
| :books: | `:books:` | when writing **docs** |
| :bookmark: | `:bookmark:` | when adding a **tag** |
| :gem: | `:gem:` | new **release** |
| :zap: | `:zap:` | when introducing **backward incompatible** changes or **removing functionality** |
| :bulb: | `:bulb:` | new **idea** identified in the code, via an inline comment (please use the `@IDEA` tag in the comment) |
| :snowflake: | `:snowflake:` | changing **configuration** |
| :lipstick: | `:lipstick:` | when improving **UI** / cosmetic |
| :umbrella: | `:umbrella:` | when adding **tests** |
| :green_heart: | `:green_heart:` | when fixing the **CI** build |
| :lock: | `:lock:` | when dealing with **security** |
| :shirt: | `:shirt:` | when removing **linter** / strict / deprecation / reflection warnings |
| :fast_forward: | `:fast_forward:` | when **forward-porting features** from an older version/branch |
| :rewind: | `:rewind:` | when **backporting features** from a newer version/branch |
| :wheelchair: | `:wheelchair:` | when improving **accessibility** |
| :globe_with_meridians: | `:globe_with_meridians:` | when dealing with **globalisation** / internationalisation |
| :rocket: | `:rocket:` | anything related to deployments / **DevOps** |
| :non-potable_water: | `:non-potable_water:` | when plugging memory leaks
| :penguin: | `:penguin:` | when fixing something on **Linux** |
| :apple: | `:apple:` | when fixing something on **Mac OS** |
| :checkered_flag: | `:checkered_flag:` | when fixing something on **Windows** |
| :handbag: | `:handbag:` | when a commit contains multiple unrelated changes that don't fit into any one category (but please try not to do this!) |
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/Bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: 🐛 Bug Report
about: If something isn't working as expected 🤔.

---

## Bug Report

### Steps to Reproduce:
1. ...step 1 description...
2. ...step 2 description...
3. ...step 3 description...

### Expected Result:
...description of what you expected to see...

### Actual Result:
...what actually happened, including full exceptions (please include the entire stack trace, including "caused by" entries), log entries, screen shots etc. where appropriate...

### Environment:
...version and build of the project, OS and runtime versions, virtualised environment (if any), etc. ...

### Additional Context:
...add any other context about the problem here. If applicable, add screenshots to help explain...
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/Feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: 🚀 Feature Request
about: I have a suggestion (and may want to implement it 🙂)!

---

## Feature Request

### Description of Problem:
...what *problem* are you trying to solve that the project doesn't currently solve?

...please resist the temptation to describe your request in terms of a solution. Job Story form ("When [triggering condition], I want to [motivation/goal], so I can [outcome].") can help ensure you're expressing a problem statement.

### Potential Solutions:
...clearly and concisely describe what you want to happen. Add any considered drawbacks.

... if you've considered alternatives, clearly and concisely describe those too.
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/Support_question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: 🤗 Support Question
about: If you have a question about configuration, usage, etc. 💬

---

## Support Question

...ask your question here.

...be sure to search existing issues since someone might have already asked something similar.
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.DS_Store

node_modules

lib/core/metadata.js
lib/core/MetadataBlog.js

website/translated_docs
website/build/
website/node_modules
website/i18n/*
website/package-lock.json
14 changes: 14 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .travis.yml
language: node_js
node_js:
- '8'
branches:
only:
- master
cache:
yarn: true
script:
- git config --global user.name "${GH_NAME}"
- git config --global user.email "${GH_EMAIL}"
- echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc
- cd website && yarn install && yarn run redoc-appd && GIT_USER="${GH_NAME}" yarn run publish-gh-pages
74 changes: 74 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.0.0] - 2019-03-28

First official release of FDC3 at https://fdc3.finos.org, consisting of:
* [API Specification 1.0](https://fdc3.finos.org/docs/1.0/api/api-spec)
* [Intents Specification 1.0](https://fdc3.finos.org/docs/1.0/intents-spec)
* [Context Data Specification 1.0](https://fdc3.finos.org/docs/1.0/context-spec)
* [App Directory Specification 1.0](https://fdc3.finos.org/docs/1.0/appd-spec)
* [Use Cases 1.0](https://fdc3.finos.org/docs/1.0/use-cases/overview)

Thank you to the following contributors who helped with this release:

* @ColinEberhardt
* @tschady
* @donbasuno
* @sbloodgood
* @jonathanteperJPMC
* @kjones207
* @rikoe
* @RichLinnell
* @nkolba
* @saori-tr

### Added
* Use Case 15 ([#49](https://github.com/FDC3/FDC3/pull/49))
* FDC3 Roadmap ([#55](https://github.com/FDC3/FDC3/pull/55))
* User showcase on website ([#67](https://github.com/FDC3/FDC3/pull/67))

### Changed
* Use case text on front page of website ([#54](https://github.com/FDC3/FDC3/pull/54))
* Feature icons on website ([#57](https://github.com/FDC3/FDC3/pull/57))

### Fixed
* General cleanup of spelling, grammar and punctuation ([#34](https://github.com/FDC3/FDC3/pull/34))
* Remove unnecessary dates from use case file names ([#41](https://github.com/FDC3/FDC3/pull/41))
* Fix header colouring on responsive website ([#56](https://github.com/FDC3/FDC3/pull/56))
* Fix workflow numbers in Use Case 1 ([#60](https://github.com/FDC3/FDC3/pull/60))
* More proofreading changes to existing docs ([62](https://github.com/FDC3/FDC3/pull/62))
* Fix examples in Intent Overview doc ([#65](https://github.com/FDC3/FDC3/pull/65))
* Fix errors in DesktopAgent API doc ([#66](https://github.com/FDC3/FDC3/pull/66))
* Add hyperlink to FDC3 Intro doc ([#69](https://github.com/FDC3/FDC3/pull/69))

## [1.0.0-beta] - 2019-03-05

Initial beta release of the combined FDC3 repository and the FDC3 website hosted at https://fdc3.finos.org.

Thank you to the following contributors who helped with this release:
* @nkolba
* @rikoe
* @espenove
* @RichLinnell
* @maoo
* @brooklynrob

## Added
* API content from [FDC3/API](https://github.com/FDC3/API).
* Intent content from [FDC3/Intents](https://github.com/FDC3/Intents).
* Context Data content from [FDC3/ContextData](https://github.com/FDC3/ContextData).
* App Directory content from [FDC3/appd-api](https://github.com/FDC3/appd-api).
* Use Case content from [FDC3/use-cases](https://github.com/FDC3/use-cases).
* Documentation website generated with [Docusaurus](https://docusaurus.io).


[Unreleased]: https://github.com/FDC3/FDC3/compare/v1.0.0..HEAD
[1.0.0]: https://github.com/FDC3/FDC3/compare/v1.0.0..v1.0.0-beta
[1.0.0-beta]: https://github.com/FDC3/FDC3/releases/tag/v1.0.0-beta
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fdc3.finos.org
4 changes: 2 additions & 2 deletions LICENSE
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -178,15 +178,15 @@
APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2017 FDC3

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
7 changes: 7 additions & 0 deletions LICENSE.spdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
SPDXVersion: SPDX-2.0
DataLicense: CC0-1.0
Creator: FDC3
PackageName: FDC3
PackageOriginator: FDC3
PackageHomePage: https://github.com/FDC3/FDC3
PackageLicenseDeclared: Apache-2.0
5 changes: 5 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FDC3 - FINOS
Copyright 2017 FDC3 info@finos.org

This product includes software developed at the Fintech Open Source Foundation (https://www.finos.org/).

83 changes: 55 additions & 28 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,38 +1,65 @@
# FDC3 Charter
[![Build Status](https://travis-ci.org/FDC3/FDC3.svg?branch=master)](https://travis-ci.org/FDC3/FDC3)
[![FINOS - Released](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-released.svg)](https://finosfoundation.atlassian.net/wiki/display/FINOS/Released)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Stack Overflow](https://img.shields.io/badge/stackoverflow-fdc3-orange.svg)](https://stackoverflow.com/questions/tagged/fdc3)

# FDC3

### Summary
The mission of the Financial Desktop Connectivity and Collaboration Consortium (FDC3) is to develop specific protocols and taxonomies to advance the ability of desktop applications in financial workflows to interoperate in a plug-and-play fashion and without prior, bi-lateral agreements.

### Scope
Financial Desktop applications include any desktop application used in common financial workflows:
## About this Repository
FDC3 is a standard. This repository houses the documentation and specifications for the ratified FDC3 standards. To join Working Groups meetings and Mailing lists where the standard is built, please check the [FDC3 space in the FINOS Wiki](http://wiki.finos.org/fdc3).

## Contributing

1. Fork it (<https://github.com/FDC3/FDC3/fork>)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request

The team will review the PR and decide about merging. Note that you will require a contributor agreement (individual or corporate) before your code can be merge, so please review [FINOS Contribution requirements](.github/CONTRIBUTING.md).

## Roadmap
With Productization on track to land at end of Q1, the expectation is that Q2 will be focused on implementations and feedback from those implementations driving further standards.
### Target Items for Q2
#### API
* Expand the broadcast API or introduce a new channels API to support the context setting use case.
* Publish npm package with FDC3 API definitions.

#### App Directory
* Search capabilities, surfacing other content
* Manifest format detail (describing the content)
* Eventing

#### Context Data
* Pivot to JSON schema for representing type definitions. We have found that TypeScript is too implementation-specific and too restrictive in practice.
* Use https://quicktype.io/ to generate type definitions from JSON schema for multi-language support.
* Formalise current example types into official FDC3 types for contact, organisation, instrument etc in conjunction with/based on the Financial Objects program work.

#### Intents
* Add detailed documentation to each intent - linking to use cases
* Align closer with Context Data WG
* Evaluate real use cases, given that we have input from early adapters
* Extend with new intents, based on above + accepted use cases

#### Use Cases
* Continue to process new and existing FDC3 Use Cases
* Assess extending the use cases working group to additional FINOS programs

### Backlog Beyond Q2
* Define the next set of FDC3 Context Data types in conjunction with/based on Financial Objects working group work.
* Work with Financial Objects and other FINOS programs to reach consensus on how to make standardized taxonomies available for consumption, both for viewing/editing and programmatically e.g. for validation.
* Create comprehensive examples of use cases that show how to use the various FDC3 standards together to enable interoperability.
* App Directory Identity and authentication

* Traditional native applications implemented in C++, .NET, Java, Python, etc
* Hybrid web/native applications - stand alone native apps embedding Chromium (e.g. Electron, CEF, NW.js)
* Desktop Web Applications - platform based apps extending Chromium (e.g. OpenFin, Hosted Web Apps)
* Common desktop applications not specific to finance, but critical to workflows - such as Excel, Outlook, etc.
* Web Applications running in a commercial browser

This standards group is focused specifically on the desktop. Activities of the desktop interoperability group do not include:

* Defining financial objects - where existing standards are well established
* Interoperability between mobile apps
* Interoperability via REST or other client to server communication
Note: While these areas are out of scope, compatibility with Mobile and/or REST are still valid points of consideration for the FDC3.

### Success Criteria
* Commitment from major banks and application vendors to support the standards set by the FDC3
* Workflow integrations in the wild leveraging the standards
## License

### Deliverables
* Define criteria and mechanics for secure communication between apps
* Define key functions that require specific standards for interoperability
* Create an agreed taxonomy for common app “intents” within financial desktop workflows
* Create an agreed taxonomy for common data to be shared across apps within financial desktop workflows
* Provide reference implementations of all standards
* Maintain the above standards and reference implementations
Copyright 2017 FDC3

### Participation
To be successful, the FDC3 is expected to have a critical mass of active participants for its duration. Effective participation in the FDC3 means participation in the form of research, authoring, editing, and development activities outside the scope of attending regular meetings.
Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).

### Licensing
The FDC3 will use Apache2 license or similar for all deliverables.
SPDX-License-Identifier: [Apache-2.0](https://spdx.org/licenses/Apache-2.0)
13 changes: 13 additions & 0 deletions docs/api/Context.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
id: Context
sidebar_label: Context
title: Context
hide_title: true
---
# `Context`

```typescript
type Context = object;
```

The base object that all contexts should extend.
Loading

0 comments on commit da4b54f

Please sign in to comment.