Μετάβαση στο περιεχόμενο

Κατασκευή ενός σεναρίου

Ο καμβάς στο κέντρο, η παλέτα προσθήκης και ο επιθεωρητής γύρω του. Τα κουτιά μετακινούνται με το ποντίκι, η προβολή μετακινείται και μεγεθύνεται.

Ο επεξεργαστής σεναρίων με ανοιχτή την παλέτα προσθήκης: τα συνήθη κουτιά επάνω, έπειτα οι κατηγορίες Προσθήκη, Λίστες, Loops, Χρονοδιακόπτης, Μαθηματικά, Αλγοριθμική, Μορφές δεδομένων, Κωδικοποίηση, UX

Από την παλέτα, που είναι οργανωμένη σε κατηγορίες: έλεγχος, σύνθεση (αιτήματα και συνδέσεις), λίστες, βρόχοι, χρόνος, μαθηματικά, αλγοριθμική, μορφές δεδομένων, κωδικοποίηση, διεπαφή, βοηθητικά.

Μια ενέργεια συνδεδεμένη με ένα αίτημα (Αίτημα HTTP, Αίτημα SOAP, όλες οι ενέργειες σύνδεσης) ζητά να ορίσετε το αίτημα του έργου που χειρίζεται.

Ο δεσμός σενάριο ↔ αίτημα

Section titled “Ο δεσμός σενάριο ↔ αίτημα”

Ο ορισμός ενός αιτήματος μέσα σε μια ενέργεια δημιουργεί ισχυρό δεσμό: η ενέργεια αναφέρεται στο αίτημα μέσω του αναγνωριστικού του, όχι μέσω αντιγράφου. Από αυτό προκύπτει ότι:

  • το αίτημα παραμένει κοινόχρηστο — η τροποποίησή του (διεύθυνση URL, κεφαλίδες, σώμα) αλλάζει αυτό που παίζουν όλα τα σενάρια που το χρησιμοποιούν, στην επόμενη εκτέλεσή τους·
  • ο δεσμός επιζεί της μετονομασίας ή της μετακίνησης του αιτήματος μέσα στο δέντρο: δεν βασίζεται ούτε στο όνομα ούτε στη διαδρομή·
  • από το αίτημα, η smartbar φέρει ένα κουμπί «Χρήση σε σενάρια» — παραθέτει τα σενάρια που το καλούν και επιτρέπει να μεταβείτε σε αυτά. Είναι το αντανακλαστικό που πρέπει να έχετε πριν τροποποιήσετε ένα κοινόχρηστο αίτημα·
  • ένα αίτημα που λείπει (διαγραμμένο, ή απόν κατά το άνοιγμα του έργου) προκαλεί αποτυχία της επικύρωσης του σεναρίου: το κουμπί αναπαραγωγής παραμένει μπλοκαρισμένο και το υπαίτιο κουτί επισημαίνεται — ποτέ ένα σενάριο δεν σπάει σιωπηλά.

Για να ξαναπαίξετε το ίδιο αίτημα χωρίς να αγγίξετε την αποθηκευμένη εκδοχή του, μην το τροποποιείτε: χρησιμοποιήστε τις υπερβάσεις (γρήγορη ρύθμιση, υπερβάσεις ενέργειας, σύνδεσμος) που περιγράφονται στο Υπέρβαση ενός αιτήματος.

Διαμόρφωση ενός κουτιού

Section titled “Διαμόρφωση ενός κουτιού”

Κάθε κουτί έχει τα πεδία του, που συμπληρώνονται είτε απευθείας πάνω στο κουτί είτε μέσα στον επιθεωρητή. Τα πεδία δέχονται τιμές με τύπο — συμβολοσειρά, αριθμό, λογική τιμή, ημερομηνία, έκφραση Handlebars, μεταβλητή, προσαρμοσμένη λίστα, μυστικό… — δείτε Μεταβλητές και περιβάλλοντα.

Το Ctrl+Space ενεργοποιεί την αυτόματη συμπλήρωση των μεταβλητών και των βοηθών στα πεδία που τη δέχονται.

Τραβήξτε από μια θύρα εξόδου προς μια θύρα εισόδου.

Δύο κανόνες που πρέπει να γνωρίζετε:

  1. Μια θύρα εισόδου δέχεται έναν μόνο σύνδεσμο — εκτός από τη θύρα in, που δέχεται όσους θέλετε και λειτουργεί τότε ως φράγμα.
  2. Μια έξοδος καθαρού σήματος δεν μπορεί να τροφοδοτήσει μια είσοδο καθαρής τιμής. Όλα τα υπόλοιπα επιτρέπονται: μια έξοδος που φέρει τιμή χρησιμεύει και ως πυροδότης.

Λεπτομέρειες: Θύρες και σύνδεσμοι.

Ένας σύνδεσμος μπορεί να φέρει έναν επιλογέα: μια διαδρομή που εφαρμόζεται στην τιμή εν κινήσει.

data.items[0].id
body['user-id']
status

Αυτό αποφεύγει την παρεμβολή ενός κουτιού μετασχηματισμού ανάμεσα σε κάθε κλήση και τον καταναλωτή της. Ο επιλογέας ρυθμίζεται κατά τη δημιουργία του συνδέσμου ή αργότερα· αν τον αδειάσετε, καταργείται.

Υπέρβαση ενός αιτήματος

Section titled “Υπέρβαση ενός αιτήματος”

Μια ενέργεια συνδεδεμένη με ένα αίτημα μπορεί να το τροποποιήσει χωρίς να αγγίξει το ίδιο το αίτημα. Τέσσερα στρώματα, με αυτή τη σειρά:

  1. το αίτημα όπως είναι αποθηκευμένο·
  2. μια γρήγορη ρύθμιση (quick config) που ορίζεται στην ενέργεια — έτσι ξαναχρησιμοποιείται μια αποθηκευμένη παραλλαγή ενός αιτήματος απευθείας μέσα σε ένα σενάριο, χωρίς να την ξαναπληκτρολογήσετε·
  3. οι υπερβάσεις που εισάγονται στην ενέργεια·
  4. η τιμή που φτάνει μέσω ενός συνδέσμου στη θύρα υπέρβασης.

Είναι ο καθαρός τρόπος να ξαναπαίξετε την ίδια κλήση με τρία σύνολα δεδομένων.

Επανάληψη σε κάθε συμβάν

Section titled “Επανάληψη σε κάθε συμβάν”

Το μενού συμφραζομένων ενός κουτιού προσφέρει την επιλογή «Επανάληψη σε κάθε συμβάν που λαμβάνεται». Όταν είναι ενεργή, μετατρέπει όλες τις καλωδιωμένες εισόδους σε μη μπλοκαριστικές πύλες «ή»: το κουτί πυροδοτείται ξανά σε κάθε τιμή που λαμβάνεται σε οποιαδήποτε θύρα, αντί να περιμένει να έχουν φτάσει όλες.

Αυτό είναι απαραίτητο για την επεξεργασία μιας ροής (κάθε μήνυμα MQTT, κάθε συμβάν SSE), και είναι επίσης αυτό που ξεμπλοκάρει έναν κύκλο ολοκλήρωσης.

  • Ένα κουτί Input / Param δηλώνει τις παραμέτρους του σεναρίου. Παρέχονται κατά την εκκίνηση, από τη γραμμή εντολών (--param nom=valeur), ή ζητούνται κατά την εκτέλεση σε διαδραστική λειτουργία.
  • Ένα κουτί Output / Return εκθέτει ένα αποτέλεσμα στον καλούντα — χρήσιμο όταν το σενάριο καλείται από ένα άλλο μέσω της ενέργειας Εκτέλεση σεναρίου.

Το Restorm ξέρει να τακτοποιεί αυτόματα έναν γράφο (διάταξη)· τα κουτιά παραμένουν στη συνέχεια μετακινήσιμα με το χέρι. Το Ctrl+Z αναιρεί, το Ctrl+Shift+Z επαναφέρει.

Το κουμπί αναπαραγωγής είναι μπλοκαρισμένο όσο απομένουν σφάλματα επικύρωσης: άκυρος σύνδεσμος, αίτημα που λείπει, υποχρεωτικό πεδίο κενό. Τα υπαίτια κουτιά επισημαίνονται.