Skip to content

Commit 87ffbb8

Browse files
committed
Cleaning up
2 parents ac3904b + ac10b33 commit 87ffbb8

File tree

206 files changed

+8413
-22713
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

206 files changed

+8413
-22713
lines changed

.DS_Store

6 KB
Binary file not shown.

.browserslistrc

-1
This file was deleted.

.electron-builder.config.js

-27
This file was deleted.

.electron-vendors.cache.json

-4
This file was deleted.

.eslintignore

-2
This file was deleted.

.eslintrc.json

-40
This file was deleted.

.prettierignore

-4
This file was deleted.

.prettierrc

-5
This file was deleted.

.simple-git-hooks.json

-3
This file was deleted.

.vscode/extensions.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"recommendations": [
3+
"arcanis.vscode-zipfs",
4+
"dbaeumer.vscode-eslint",
5+
"esbenp.prettier-vscode"
6+
]
7+
}

.vscode/settings.json

-2
This file was deleted.

FDC3_PRIMER.md

-132
This file was deleted.

README.md

+35-69
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,45 @@
1616

1717
## What is FDC3 Sail?
1818

19-
This project provides a fully open source implementation of the [FDC3](https://fdc3.finos.com) interoperability standard. Including:
20-
- A fully featured and secure electron desktop agent featuring:
21-
- intent resolution
22-
- channel linking
23-
- directory search
24-
- A local file-based app directory implementation
19+
If you are new to FDC3, it may be helpful to check out [The FDC3 Website](https://fdc3.finos.org)
2520

26-
## FDC3 Standard Primer
21+
This project provides a fully open source implementation of the [FDC3](https://fdc3.finos.com) interoperability standard. Including:
2722

28-
If you are an Electron and/or Web Dev new to FDC3, it may be helpful to check out [this primer](FDC3_PRIMER.md).
23+
- A fully featured and browser-based desktop agent featuring:
24+
- intent resolution
25+
- channel linking
26+
- directory search
27+
- workspace tabs
2928

30-
## Sail at OSFF!
29+
## Sail v2 at OSFF!
3130

32-
Nick Kolba (Connectifi) and Seb M'Barek (Norman and Sons) presented FDC3-Sail at the Open Source In Finance Forum (OSFF) in New York in December 2022. They showed how you could git-clone FDC3-Sail, run it and play with all the apps in the FINOS App Directory. They also showed how to build apps and share context data.
31+
Sail v2 is a ground-up reimplementation of the FDC3-Sail project. It is a browser-based desktop agent that allows users to run and manage FDC3 apps in browser tabs or iframes. Sail v2 is built using React and makes use of [FDC3 On The Web](https://github.com/finos/FDC3/issues?q=is%3Aissue+is%3Aopen+label%3A%22FDC3+for+Web+Browsers%22) a forthcoming addition to the FDC3 standard.
32+
33+
FDC3 For the Web and Sail v2 will be featured at FINOS' [OSFF New York event](https://osffny2024.sched.com) in September 2024.
34+
35+
### Design Decisions
36+
37+
1. We should support multiple app directories.
38+
2. Each user channel will be a HTML tab within the main browser tab.
39+
3. User can name and colour the user channels, and move apps between them.
40+
4. This is the ONLY way to control the user channel (unless the app loads outside of the main browser tab)
41+
5. Message passing will happen server-side as opposed to client side as in the demo.
42+
6. React will be used.
43+
7. User state will be held in a cookie, so there's no session persistence.
44+
45+
## Sail v1 at OSFF!
46+
47+
Nick Kolba (Connectifi) and Seb M'Barek (Norman and Sons) presented FDC3-Sail at the Open Source In Finance Forum (OSFF) in New York in December 2022. They showed how you could git-clone FDC3-Sail, run it and play with all the apps in the FINOS App Directory. They also showed how to build apps and share context data.
3348

3449
If you haven't already, check out their demo here: https://youtu.be/5VJzftderO0
3550

36-
## About This Implementation
51+
At the time, Sail was an Electron App.
52+
53+
### The Sail v1 Implementation
3754

38-
- FDC3-Sail is an Electron application built from the [Vite Electron Builder Boilerplate]
39-
- The UI for the desktop agent is built using React MUI.
40-
- All remotely hosted content is run in BrowserView following electron security best practices.
55+
- FDC3-Sail v1 is an Electron application built from the [Vite Electron Builder Boilerplate]
56+
- The UI for the desktop agent is built using React MUI.
57+
- All remotely hosted content is run in BrowserView following electron security best practices.
4158

4259
The following libraries are used:
4360

@@ -52,7 +69,6 @@ The following libraries are used:
5269
- [Prettier] for code formatting
5370
- [nano-staged] and [simple-git-hooks] for code commits
5471

55-
5672
[Electron]: https://github.com/electron/electron
5773
[electron-builder]: https://github.com/electron-userland/electron-builder
5874
[Vite]: https://github.com/vitejs/vite/
@@ -68,66 +84,17 @@ The following libraries are used:
6884
[nano-staged]: https://github.com/usmanyunusov/nano-staged
6985
[simple-git-hooks]: https://github.com/toplenboren/simple-git-hooks
7086

71-
### Structure
72-
73-
- `directory/` - for local app directories
74-
- `packages/main` - the main Electron application, has access to Node
75-
- `packages/preload` - preload scripts for web renderers. Bridges the frontend ui to the main process through events and apis
76-
- `packages/renderer` - the parts of the desktop agent UI built with [React], isolated from main app, and shown in a window on the desktop
77-
- `channelPicker` - UI for the channel picker
78-
- `homeView` - UI for the default home view
79-
- `intentResolver` - UI for the intent resolver window
80-
- `searchResults` - UI for the searchResults window
81-
- `sessionView` - UI for the sessionView window
82-
- `topNavigation` - UI for the Top Navigation that includes the Tabs, channel picker button, and Dev Tools Menu.
83-
8487
## Getting Started
8588

86-
~~~
87-
npm install
88-
npm start
89-
~~~
90-
91-
This will use the FINOS app directory at https://directory.fdc3.finos.org/v2/apps
92-
93-
## Getting Started With Your Own App Directory
94-
95-
1. Install dependencies:
96-
97-
~~~
89+
```
9890
npm install
99-
~~~
100-
101-
2. Create your own local App directory manifest .e.g. `local.v2.json` in the `/directory` folder
102-
103-
3. Set the environment variable to use this directory:
104-
105-
~~~bash
106-
export SAIL_DIRECTORY_URL=directory/local.v2.json
107-
~~~
108-
109-
4. Start the FDC3 application:
110-
111-
~~~
112-
npm start
113-
~~~
114-
115-
Other useful commands:
116-
117-
1. `npm start` / `npm run watch` - Start the Electron app in dev mode.
118-
2. `npm run compile` - Build the app for local debugging only.
119-
3. `npm run lint` - Lint the code.
120-
4. `npm run typecheck` - Run a TypeScript check.
121-
5. `npm run test` - Run tests for all parts of the application, including end-to-end tests.
91+
npm run dev
92+
```
12293

12394
## Mailing List
12495

12596
To join the Electron FDC3 Desktop Agent & App Directory mailing list please email [[email protected]](mailto:[email protected]).
12697

127-
## Roadmap
128-
129-
[BMO Hackathon Milestone](https://github.com/finos/FDC3-Sail/milestone/1)
130-
13198
## Contributing
13299

133100
1. Fork it (<https://github.com/finos/fdc3-sail/fork>)
@@ -139,8 +106,7 @@ To join the Electron FDC3 Desktop Agent & App Directory mailing list please emai
139106

140107
_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](https://github.com/finos/community/blob/master/governance/Software-Projects/EasyCLA.md)). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
141108

142-
*Need an ICLA? Unsure if you are covered under an existing CCLA? Email [[email protected]](mailto:[email protected])*
143-
109+
_Need an ICLA? Unsure if you are covered under an existing CCLA? Email [[email protected]](mailto:[email protected])_
144110

145111
## License
146112

auditjs.json

-3
This file was deleted.

buildResources/icon.icns

-425 KB
Binary file not shown.

0 commit comments

Comments
 (0)