Skip to content

Commit d17657f

Browse files
committed
Refactor workflow examples and configuration for improved clarity and consistency #142
1 parent 368ad15 commit d17657f

6 files changed

Lines changed: 342 additions & 221 deletions

File tree

docs/getting-started/quickstarts/build-your-first-workflow.mdx

Lines changed: 107 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
7272
"tasks": [
7373
{
7474
"name": "write_hello",
75-
"type": {
76-
"plugin": "FlowSynx.Storage.Local",
77-
"version": "1.0.0"
78-
},
79-
"parameters": {
80-
"path": "/app/data/hello.txt",
81-
"data": "Hello, FlowSynx!",
82-
"overwrite": true
75+
"type": "FlowSynx.Storage.Local:1.1.0",
76+
"execution": {
77+
"operation": "write",
78+
"parameters": {
79+
"path": "/app/data/test.txt",
80+
"data": "Hello, FlowSynx!",
81+
"overwrite": false
82+
}
8383
}
8484
}
8585
]
@@ -104,52 +104,54 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
104104
"tasks": [
105105
{
106106
"name": "get_csv",
107-
"type": {
108-
"plugin": "FlowSynx.Web.HttpRequest",
109-
"version": "1.1.1"
110-
},
111-
"parameters": {
112-
"operation": "GET",
113-
"url": "https://github.com/flowsynx/samples/blob/master/data/datablist/customers-100.csv"
107+
"type": "FlowSynx.Web.HttpRequest:1.1.1",
108+
"execution": {
109+
"operation": "get",
110+
"parameters": {
111+
"url": "https://github.com/flowsynx/samples/blob/master/data/datablist/customers-100.csv"
112+
}
114113
}
115114
},
116115
{
117116
"name": "read_csv"",
118-
"type": {
119-
"plugin": "FlowSynx.Data.Csv",
120-
"version": "1.2.3"
121-
},
122-
"dependencies": ["get_csv"],
123-
"parameters": {
117+
"type": "FlowSynx.Data.Csv:1.2.3",
118+
"execution": {
124119
"operation": "read",
125-
"delimiter": ",",
126-
"data": "$[Outputs('get_csv')]"
120+
"parameters": {
121+
"delimiter": ",",
122+
"data": "$[Outputs('get_csv')]"
123+
}
124+
},
125+
"flowcontrol": {
126+
"dependencies": ["get_csv"]
127127
}
128128
},
129129
{
130130
"name": "zip_compress_csv",
131-
"type": {
132-
"plugin": "FlowSynx.Compression.Zip",
133-
"version": "1.0.0"
134-
},
135-
"dependencies": ["read_csv"],
136-
"parameters": {
131+
"type": "FlowSynx.Compression.Zip:1.0.0",
132+
"execution": {
137133
"operation": "compress",
138-
"data": "$[Outputs('read_csv')]"
134+
"parameters": {
135+
"data": "$[Outputs('read_csv')]"
136+
}
137+
},
138+
"flowcontrol": {
139+
"dependencies": ["read_csv"]
139140
}
140141
},
141142
{
142143
"name": "write_output",
143-
"type": {
144-
"plugin": "FlowSynx.Storage.Local",
145-
"version": "1.0.0"
146-
},
147-
"dependencies": ["zip_compress_csv"],
148-
"parameters": {
144+
"type": "FlowSynx.Storage.Local:1.1.0",
145+
"execution": {
149146
"operation": "write",
150-
"path": "/app/data/result.zip",
151-
"data": "$[Outputs('zip_compress_csv')]",
152-
"overwrite": true
147+
"parameters": {
148+
"path": "/app/data/result.zip",
149+
"data": "$[Outputs('zip_compress_csv')]",
150+
"overwrite": true
151+
}
152+
},
153+
"flowcontrol": {
154+
"dependencies": ["zip_compress_csv"]
153155
}
154156
}
155157
]
@@ -182,13 +184,12 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
182184
"tasks": [
183185
{
184186
"name": "get_csv",
185-
"type": {
186-
"plugin": "FlowSynx.Web.HttpRequest",
187-
"version": "1.1.1"
188-
},
189-
"parameters": {
190-
"operation": "GET",
191-
"url": "https://github.com/flowsynx/samples/blob/master/data/datablist/customers-100.csv"
187+
"type": "FlowSynx.Web.HttpRequest:1.1.1",
188+
"execution" {
189+
"operation": "get",
190+
"parameters": {
191+
"url": "https://github.com/flowsynx/samples/blob/master/data/datablist/customers-100.csv"
192+
}
192193
},
193194
"errorHandling": {
194195
"strategy": "Retry",
@@ -203,41 +204,44 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
203204
},
204205
{
205206
"name": "read_csv"",
206-
"type": {
207-
"plugin": "FlowSynx.Data.Csv",
208-
"version": "1.2.3"
209-
},
210-
"dependencies": ["get_csv"],
211-
"parameters": {
207+
"type": "FlowSynx.Data.Csv:1.2.3",
208+
"execution" {
212209
"operation": "read",
213-
"delimiter": ",",
214-
"data": "$[Outputs('get_csv')]"
210+
"parameters": {
211+
"delimiter": ",",
212+
"data": "$[Outputs('get_csv')]"
213+
}
214+
},
215+
"flowcontrol" {
216+
"dependencies": ["get_csv"],
215217
}
216218
},
217219
{
218220
"name": "zip_compress_csv",
219-
"type": {
220-
"plugin": "FlowSynx.Compression.Zip",
221-
"version": "1.0.0"
222-
},
223-
"dependencies": ["read_csv"],
224-
"parameters": {
221+
"type": "FlowSynx.Compression.Zip:1.0.0",
222+
"execution" {
225223
"operation": "compress",
226-
"data": "$[Outputs('read_csv')]"
224+
"parameters": {
225+
"data": "$[Outputs('read_csv')]"
226+
}
227+
},
228+
"flowcontrol" {
229+
"dependencies": ["read_csv"],
227230
}
228231
},
229232
{
230233
"name": "write_output",
231-
"type": {
232-
"plugin": "FlowSynx.Storage.Local",
233-
"version": "1.0.0"
234-
},
235-
"dependencies": ["zip_compress_csv"],
236-
"parameters": {
234+
"type": "FlowSynx.Storage.Local:1.1.0",
235+
"execution" {
237236
"operation": "write",
238-
"path": "/app/data/result.zip",
239-
"data": "$[Outputs('zip_compress_csv')]",
240-
"overwrite": true
237+
"parameters": {
238+
"path": "/app/data/result.zip",
239+
"data": "$[Outputs('zip_compress_csv')]",
240+
"overwrite": true
241+
}
242+
},
243+
"flowcontrol" {
244+
"dependencies": ["zip_compress_csv"],
241245
}
242246
}
243247
]
@@ -273,13 +277,12 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
273277
"tasks": [
274278
{
275279
"name": $[Variables('taskA')]",
276-
"type": {
277-
"plugin": "FlowSynx.Web.HttpRequest",
278-
"version": "1.1.1"
279-
},
280-
"parameters": {
281-
"operation": "GET",
282-
"url": "$[Variables('url')]"
280+
"type": "FlowSynx.Web.HttpRequest:1.1.1",
281+
"execution" {
282+
"operation": "get",
283+
"parameters": {
284+
"url": "$[Variables('url')]"
285+
}
283286
},
284287
"errorHandling": {
285288
"strategy": "Retry",
@@ -294,41 +297,44 @@ curl -X POST http://localhost:6262/workflows -H "Content-Type: application/json"
294297
},
295298
{
296299
"name": "$[Variables('taskB')]",
297-
"type": {
298-
"plugin": "FlowSynx.Data.Csv",
299-
"version": "1.2.3"
300-
},
301-
"dependencies": ["$[Variables('taskA')]"],
302-
"parameters": {
300+
"type": "FlowSynx.Data.Csv:1.2.3",
301+
"execution" {
303302
"operation": "read",
304-
"delimiter": "$[Variables('delimiter')]",
305-
"data": "$[Outputs(Variables('taskA'))]"
303+
"parameters": {
304+
"delimiter": "$[Variables('delimiter')]",
305+
"data": "$[Outputs(Variables('taskA'))]"
306+
}
307+
},
308+
"flowcontrol" {
309+
"dependencies": ["$[Variables('taskA')]"],
306310
}
307311
},
308312
{
309313
"name": "$[Variables('taskC')]",
310-
"type": {
311-
"plugin": "FlowSynx.Compression.Zip",
312-
"version": "1.0.0"
313-
},
314-
"dependencies": ["$[Variables('taskB')]"],
315-
"parameters": {
314+
"type": "FlowSynx.Compression.Zip:1.0.0",
315+
"execution" {
316316
"operation": "compress",
317-
"data": "$[Outputs(Variables('taskB'))]"
317+
"parameters": {
318+
"data": "$[Outputs(Variables('taskB'))]"
319+
}
320+
},
321+
"flowcontrol" {
322+
"dependencies": ["$[Variables('taskB')]"],
318323
}
319324
},
320325
{
321326
"name": "$[Variables('taskD')]",
322-
"type": {
323-
"plugin": "FlowSynx.Storage.Local",
324-
"version": "1.0.0"
325-
},
326-
"dependencies": ["$[Variables('taskC')]"],
327-
"parameters": {
327+
"type": "FlowSynx.Storage.Local:1.1.0",
328+
"execution" {
328329
"operation": "write",
329-
"path": "/app/data/result.zip",
330-
"data": "$[Outputs(Variables('taskC'))]",
331-
"overwrite": true
330+
"parameters": {
331+
"path": "/app/data/result.zip",
332+
"data": "$[Outputs(Variables('taskC'))]",
333+
"overwrite": true
334+
}
335+
},
336+
"flowcontrol" {
337+
"dependencies": ["$[Variables('taskC')]"],
332338
}
333339
}
334340
]

docs/getting-started/quickstarts/flowsynx-in-5-minutes.mdx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,18 @@ Paste the following content:
6969
"tasks": [
7070
{
7171
"name": "Hello world",
72-
"type": {
73-
"plugin": "FlowSynx.Storage.Local",
74-
"version": "1.0.0"
75-
},
76-
"parameters": {
72+
"type": "FlowSynx.Storage.Local:1.1.0",
73+
"execution": {
7774
"operation": "write",
78-
"path": "/app/data/test.txt",
79-
"data": "Hello, FlowSynx!",
80-
"overwrite": false
75+
"parameters": {
76+
"path": "/app/data/test.txt",
77+
"data": "Hello, FlowSynx!",
78+
"overwrite": false
79+
}
8180
},
82-
"dependencies": [],
81+
"flowcontrol": {
82+
"dependencies": []
83+
}
8384
}
8485
]
8586
}

docs/reference/flowsynx/configuration.mdx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -494,13 +494,16 @@ It enables a fully decoupled plugin ecosystem where new functionality can be add
494494

495495
```json
496496
"PluginRegistry": {
497-
"Url": "https://plugins.flowsynx.io/"
497+
"Urls": [
498+
"http://localhost:7236",
499+
"https://plugins.flowsynx.io"
500+
]
498501
}
499502
```
500503

501-
| Key | Type | Description |
502-
| --- | ------ | ------------------------------------------------------------------------------------------------------------------------------------ |
503-
| Url | string | **Base URL** of the FlowSynx plugin registry service. This is the root endpoint from which plugins and their metadata are retrieved. |
504+
| Key | Type | Description |
505+
| ---- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
506+
| Urls | string[] | **Base URL** of the FlowSynx plugin registry services. This is the root endpoint from which plugins and their metadata are retrieved. |
504507

505508
#### Behavior
506509
- **Discovery**: The application queries the specified registry URL to list available plugins, versions, and metadata such as author, description, and compatibility information.
@@ -681,7 +684,10 @@ It enables a fully decoupled plugin ecosystem where new functionality can be add
681684
}
682685
},
683686
"PluginRegistry": {
684-
"Url": "https://plugins.flowsynx.io/"
687+
"Urls": [
688+
"http://localhost:7236",
689+
"https://plugins.flowsynx.io"
690+
]
685691
}
686692
}
687693
}

0 commit comments

Comments
 (0)