Giter Club home page Giter Club logo

fdc3-dotnet's Introduction

fdc3-dotnet

FINOS - Incubating CI

.NET Standard 2.0 declarations to implement concrete FDC3 compatible .NET desktop agents and usage of intents/context.

Getting Involved

Using the standard? Let us know

If you are an existing individual or corporate user of the FDC3 standard, we would love to hear from you: just email [email protected] with details about how you are using the standard.

  • If you'd like to be listed as on the community page, please fill out the Usage Form.
  • If listing your logo publicly requires legal evaluation, you can reach out privately to the FDC3 Maintainers.

Interact with the FDC3 community

GitHub

  • FDC3 activity primarily happens in this FDC3 GitHub repository. Watch the repository in order to be notified of new Pull Requests and issues.

Slack

Email

Meetings

Need help?

  • Email [email protected] if you need help getting started in the FDC3 Community.
  • If you encounter technical difficulties accessing repositories, joining Slack, mailing lists or meetings, please email [email protected].

Contributing

For any questions, bugs or feature requests please open an issue.

To submit a contribution:

  1. Fork it (https://github.com/finos/fdc3-dotnet/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email [email protected]

License

Copyright 2023 Morgan Stanley

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

fdc3-dotnet's People

Contributors

bingenito avatar dependabot[bot] avatar fhubi avatar psmulovics avatar josspo avatar ztanczos avatar thejuanandonly99 avatar balassamarton avatar step-security-bot avatar kruplm avatar lilla28 avatar

Stargazers

Kryspin Ziemski avatar Kris West avatar  avatar Kevin Schoenfeld avatar Prabhdeep Singh avatar Piotr Stachaczyński avatar  avatar  avatar  avatar  avatar

Watchers

Matt Jamieson avatar Kryspin Ziemski avatar Gabriele Columbro avatar Nicholas Kolba avatar Kris West avatar  avatar  avatar Róbert Zöldi-Kovács avatar Vinay Mistry avatar Johan Sandersson avatar  avatar  avatar  avatar

fdc3-dotnet's Issues

Intent name is `null` in `Fdc3App.Interop.Intents.ListensFor`

Bug Report

Steps to Reproduce:

  1. Deserialize a Fdc3App from JSON (with any of the serialization packages)

Expected Result:

The IntentMetadata objects in Interop.Intents.ListensFor should have their Name property set to the intent name (the key in the dictionary)

Actual Result:

Name is null.

Environment:

MorganStanley.Fdc3.AppDirectory 2.0.0-alpha.8

Additional Context:

This is an issue with deserialization, we should probably add a custom serializer for Intents that sets Name on the objects in the ListensFor dictionary after deserializing it.

Update to FDC3 2.1

Checklist extracted from FDC3 CHANGELOG

Added

  • [ ] Added CreateInteraction intent. To be used when a user wants to record an interaction into a system. New context Interaction also introduced. An interaction might be a call, IM, email, a meeting (physical or virtual) or the preparation of some specialist data. (finos/FDC3#747)
  • Added TransactionResult context. A context type representing the result of a transaction initiated via FDC3. Its purpose is to provide a status and message (where needed) for the transaction and MAY wrap a returned context object. ([https://github.com/finos/FDC3/pull/761] (#761))
  • Added a MalformedContext error to the OpenError, ChannelError and ResolveError enumerations, to be used when broadcast, open, findIntents, raiseIntents, and other related functions are passed an invalid context Object. (finos/FDC3#972)
  • [ ] Added error examples to the /v2 App Directory API routes (finos/FDC3#973)
  • [ ] Added a SendChatMessage intent to be used when a user wants to send a message to an existing chat room. (finos/FDC3#794)
  • Added a context type representing a chat message (fdc3.chat.message). (finos/FDC3#794)
  • Added a context type representing a chat room (fdc3.chat.room). (finos/FDC3#794)
  • Added a chat Message type in order to describe messages with rich content and attachments. (finos/FDC3#779)
  • Added an Action type, encapsulating either a Context or the association of a Context with an Intent inside another object. (finos/FDC3#779)
  • [ ] Added a ViewChat Intent to be used when a user wants to open an existing chat room. (finos/FDC3#796)
  • [ ] Added a ViewMessages intent to be used when a user wants to search and see a list of messages. (finos/FDC3#797)
  • Added a context type representing a ChatSearchCriteria (fdc3.chat.searchCriteria). (finos/FDC3#797)
  • [ ] Added an indication that applications, that can be launched to receive intents or context via a raised intent or open with context, SHOULD add their context or intent listeners via the API within 15 seconds, and that Desktop Agents MUST allow at least a 15 second timeout for them to do so, and MAY set a longer timeout (finos/FDC3#987)
  • Added @experimental Order, OrderList, Product, Trade & TradeList context types.(finos/FDC3#1021)
  • [ ] Added Agent Bridging as an @experimental 5th part of the FDC3 Standard. (finos/FDC3#968)
  • [ ] Added a description of the standards use of JSON Schema to define context types and Bridging messages. (finos/FDC3#1020)
  • [ ] Documentation for standardized Context types was added to their JSON Schema files and TypeScript interfaces generated from them, so that they may act as a 'single source of truth' for Context definitions. (finos/FDC3#1020)

Changed

  • Updated definition of the ChatInitSettings context type to use the new Message type. (finos/FDC3#779)
  • [ ] Updated the StartChat intent to return a reference to the room. (finos/FDC3#794)
  • Updated definition of the Instrument context type to include optional market identifiers (finos/FDC3#819)
  • [ ] Corrected API functions and object types to always use string instead of String (finos/FDC3#924)
  • Updated definition of the otherConfig element of the Chart context type from an Object to an array of Contexts as this allows the type of each additional item of config to be examined before it is used (finos/FDC3#985)
  • Corrected the appD interop.appChannels metadata to use an id field to identify channels, rather than name (finos/FDC3#981)
  • [ ] The App Directory OpenAPI schema was converted from YAML to JSON Schema, containing the same definitions. (finos/FDC3#1035)
  • [ ] Switched to union types (from enums) for constrained string values in generated source files as they provide better type checking and cross-compatability of types. (finos/FDC3#1093)

Deprecated

  • Deprecated the name field in AppD records, to match the deprecation of API signatures and metadata objects using name (see finos/FDC3#722) in 2.0. (finos/FDC3#928)
  • Deprecated IntentMetadata.displayName and the appD record's interop.intents.listensFor[].displayName field in favor of using intent names for display (which are required to be recognizable) as it can be set differently for each application in the appD (finos/FDC3#926)
  • Deprecated the customConfig field in an AppD record due to the lack of a standard API to retrieve it. To be replaced with an applicationConfig element with a Desktop Agent API call to retrieve it in a future version (see finos/FDC3#1006 for more details). Also deprecates the customCOnfig element of an Intent configuration due to a lack of documented use cases. (finos/FDC3#982)

Fixed

  • Corrected chatInitSettings context schema to incorporate the Context schema. (finos/FDC3#869)
  • Corrected schema syntax in chatInitSettings and renamed the public property to isPublic (as public is a reserved keyword in javascript). (finos/FDC3#875)
  • [ ] Further clarified the difference between the behavior of User channels and other channel types on joinUserChannel/addContextListener. (finos/FDC3#971)
  • [ ] Clarified description of the behavior of IntentResolution.getResult() when the intent handler returned void (which is not an error). (finos/FDC3#1004)
  • [ ] An error was fixed in the appD schema where launch details sub-schemas were combined with oneOf, rather than anyOf. This causes validation errors for web or online native apps as their details elements overlap on a url field. (finos/FDC3#1034)
  • [ ] The appD icon and screenshot sub-schemas were updated to require the src value is set and restrict additional values, ensuring that common mistakes (such as ussing a url rather than src field are caught by the schemas when used to validate. (finos/FDC3#1037)
  • [ ] Linting, spell checking other corrections were applied to markdown syntax throughout the FDC3 documentation (finos/FDC3#1032)
  • [ ] Corrected bad example URLs in the App Directory overview/discovery page in the current and past versions as they did not agree with the paths provided in the API specification and OpenAPI schema. (finos/FDC3#1060)
  • Correct inconsistent casing of fdc3.timeRange (finos/FDC3#1240)

Test

Support Question

...ask your question here.

...be sure to search existing issues since someone might have already asked something similar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.