You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/05-mdl-specification/01-language-reference.md
+61Lines changed: 61 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -707,6 +707,48 @@ Shows the full MDL definition of an existing microflow (round-trippable output).
707
707
drop microflow <qualified-name>
708
708
```
709
709
710
+
### CREATE NANOFLOW
711
+
712
+
Creates a nanoflow (client-side flow). Uses the same body syntax as microflows, but only client-side activities are allowed (no Java actions, REST calls, workflow actions, etc.).
713
+
714
+
**Syntax:**
715
+
```sql
716
+
create [or modify] nanoflow <qualified-name>
717
+
[folder '<path>']
718
+
begin
719
+
[<statements>]
720
+
end;
721
+
```
722
+
723
+
**Restrictions:**
724
+
- No `ErrorEvent`, Java action calls, REST/web service calls, workflow actions, import/export mapping actions, or database queries
725
+
- Return type cannot be `Binary`
726
+
- Activities are the same as microflows minus server-side-only actions (see `PROPOSAL_nanoflow_support.md` for the full list of 20 disallowed action types)
727
+
728
+
**Example:**
729
+
```sql
730
+
create nanoflow Shop.ACT_ValidateCart
731
+
folder 'Cart'
732
+
begin
733
+
declare $Valid boolean= true;
734
+
if $Cart/ItemCount =0 then
735
+
validation feedback $Cart/ItemCount message 'Cart is empty';
736
+
set $Valid = false;
737
+
end if;
738
+
return $Valid;
739
+
end;
740
+
```
741
+
742
+
### DESCRIBE NANOFLOW
743
+
744
+
Shows the full MDL definition of an existing nanoflow (round-trippable output as `CREATE OR MODIFY NANOFLOW`).
745
+
746
+
### DROP NANOFLOW
747
+
748
+
```sql
749
+
drop nanoflow <qualified-name>
750
+
```
751
+
710
752
---
711
753
712
754
## Page Statements
@@ -923,6 +965,7 @@ Shows which roles have access to a specific element.
923
965
**Syntax:**
924
966
```sql
925
967
show access on microflow <module>.<name>
968
+
show access on nanoflow <module>.<name>
926
969
show access on page <module>.<name>
927
970
show access on<module>.<entity>
928
971
```
@@ -984,6 +1027,24 @@ Removes execute access on a microflow from one or more module roles.
984
1027
revoke execute on microflow <module>.<name>from<module>.<role> [, ...]
985
1028
```
986
1029
1030
+
### GRANT EXECUTE ON NANOFLOW
1031
+
1032
+
Grants execute access on a nanoflow to one or more module roles.
1033
+
1034
+
**Syntax:**
1035
+
```sql
1036
+
grant execute on nanoflow <module>.<name> to <module>.<role> [, ...]
1037
+
```
1038
+
1039
+
### REVOKE EXECUTE ON NANOFLOW
1040
+
1041
+
Removes execute access on a nanoflow from one or more module roles.
1042
+
1043
+
**Syntax:**
1044
+
```sql
1045
+
revoke execute on nanoflow <module>.<name>from<module>.<role> [, ...]
1046
+
```
1047
+
987
1048
### GRANT VIEW ON PAGE
988
1049
989
1050
Grants view access on a page to one or more module roles.
0 commit comments