Custom Actions
Πέρα από τις τυπικές λειτουργίες CRUD, το Chamilo διαθέτει έναν αριθμό προσαρμοσμένων ελεγκτών ενεργειών API (της τάξης δεκάδων) που διαχειρίζονται εξειδικευμένες λειτουργίες. Ο ακριβής αριθμός ποικίλλει μεταξύ εκδόσεων — απαριθμήστε το src/CoreBundle/Controller/Api/ για το τρέχον σύνολο.
Τοποθεσία
Οι προσαρμοσμένες ενέργειες βρίσκονται στο src/CoreBundle/Controller/Api/.
Σημαντικές Προσαρμοσμένες Ενέργειες
Documents
CreateDocumentFileAction
Ανέβασμα αρχείου ή δημιουργία φακέλου/συνδέσμου εγγράφου
UpdateDocumentFileAction
Αντικατάσταση αρχείου εγγράφου
ReplaceDocumentFileAction
Αντικατάσταση αρχείου εγγράφου, διατηρώντας τα IDs του
MoveDocumentAction
Μετακίνηση εγγράφου σε διαφορετικό φάκελο
UpdateVisibilityDocument
Εναλλαγή ορατότητας εγγράφου για μαθητές
DownloadAllDocumentsAction
Λήψη όλων των εγγράφων σε φάκελο ως ZIP
DownloadSelectedDocumentsAction
Λήψη επιλεγμένου συνόλου εγγράφων ως ZIP
DocumentUsageAction
Λίστα μαθημάτων/συνεδριών όπου χρησιμοποιείται ένα έγγραφο
DocumentLearningPathUsageAction
Λίστα διαδρομών μάθησης όπου χρησιμοποιείται ένα έγγραφο
Glossary
CreateCGlossaryAction
Δημιουργία όρου γλωσσαρίου
UpdateCGlossaryAction
Ενημέρωση όρου γλωσσαρίου
ExportCGlossaryAction
Εξαγωγή γλωσσαρίου σε αρχείο
ImportCGlossaryAction
Εισαγωγή γλωσσαρίου από αρχείο
ExportGlossaryToDocumentsAction
Εξαγωγή γλωσσαρίου ως εγγράφου στο μάθημα
GetGlossaryCollectionController
Λήψη συλλογής γλωσσαρίου με προσαρμοσμένη φιλτράρισμα
Links
CreateCLinkAction
Δημιουργία εξωτερικού συνδέσμου
UpdateCLinkAction
Ενημέρωση εξωτερικού συνδέσμου
CreateCLinkCategoryAction
Δημιουργία κατηγορίας συνδέσμων
UpdateCLinkCategoryAction
Ενημέρωση κατηγορίας συνδέσμων
CheckCLinkAction
Έλεγχος αν η διεύθυνση URL συνδέσμου είναι προσβάσιμη
ExportCLinksAction
Εξαγωγή συνδέσμων σε αρχείο
CLinkDetailsController
Λήψη λεπτομερειών συνδέσμου
CLinkImageController
Λήψη ή ρύθμιση εικόνας προεπισκόπησης συνδέσμου
GetLinksCollectionController
Λήψη συλλογής συνδέσμων με προσαρμοσμένη φιλτράρισμα
UpdateVisibilityLink
Εναλλαγή ορατότητας συνδέσμου
UpdateVisibilityLinkCategory
Εναλλαγή ορατότητας κατηγορίας συνδέσμων
UpdatePositionLink
Επανατάξη συνδέσμων
Learning Paths
CreateCLpAction
Δημιουργία διαδρομής μάθησης
LpReorderController
Επανατάξη στοιχείων διαδρομής μάθησης
Calendar
UpdateCCalendarEventAction
Ενημέρωση γεγονότος ημερολογίου μαθήματος
CalendarMyStudentsScheduleAction
Λήψη προγράμματος μαθητών ενός εκπαιδευτικού
Blog
CreateCBlogAction
Δημιουργία ανάρτησης blog
CreateBlogAttachmentAction
Σύνδεση αρχείου με ανάρτηση blog
UpdateVisibilityBlog
Εναλλαγή ορατότητας blog
Dropbox
CreateDropboxFileAction
Ανέβασμα αρχείου στο dropbox (εργαλείο ανταλλαγής αρχείων)
Student Work (Assignments)
CreateStudentPublicationFileAction
Υποβολή αρχείου εργασίας
CreateStudentPublicationCommentAction
Πρόσθεση σχολίου σε υποβολή
CreateStudentPublicationCorrectionFileAction
Ανέβασμα αρχείου διόρθωσης για υποβολή
Personal Files
CreatePersonalFileAction
Ανέβασμα αρχείου στον προσωπικό χώρο αρχείων χρήστη
UpdatePersonalFileAction
Ενημέρωση προσωπικού αρχείου
Social
LikeSocialPostController
Μου αρέσει σε κοινωνική ανάρτηση
DislikeSocialPostController
Αναιρέσει μου αρέσει από κοινωνική ανάρτηση
CreateSocialPostAttachmentAction
Σύνδεση αρχείου με κοινωνική ανάρτηση
SocialPostAttachmentsController
Λίστα συννημμένων σε κοινωνική ανάρτηση
AbstractFeedbackSocialPostController
Βασική κλάση για ενέργειες ανατροφοδότησης κοινωνικών αναρτήσεων
Sessions
CreateSessionWithUsersAndCoursesAction
Δημιουργία συνεδρίας και εγγραφή χρηστών και μαθημάτων σε μία κλήση
Users & Access URLs
CreateUserOnAccessUrlAction
Δημιουργία χρήστη και συσχετισμός με Access URL
UserAccessUrlsController
Λίστα Access URLs στα οποία ανήκει ένας χρήστης
UserSkillsController
Λίστα δεξιοτήτων που έχουν απονεμηθεί σε χρήστη
Video Conference
VideoConferenceCallbackController
Διαχείριση callbacks από παρόχους εξωτερικών βιντεοδιασκέψεων
Base Classes
BaseResourceFileAction
Βασική κλάση για ενέργειες ανεβάσματος αρχείων· διαχειρίζεται ανάλυση multipart, δημιουργία κόμβου πόρου και αποθήκευση
Υλοποίηση Προσαρμοσμένης Ενέργειας
Οι προσαρμοσμένες ενέργειες είναι τυπικοί ελεγκτές Symfony που αναφέρονται σε ορισμούς λειτουργιών του API Platform. Το χαρακτηριστικό #[ApiResource] βρίσκεται στην οντότητα, και η παράμετρος controller: κάθε λειτουργίας δείχνει στην κλάση της ενέργειας:
Η ίδια η κλάση της ενέργειας είναι ένας απλός ελεγκτής που μπορεί να καλεστεί — οι υπηρεσίες εγχέονται μέσω των παραμέτρων της μεθόδου __invoke():
Κύρια σημεία:
Η ρύθμιση
deserialize: falseχρησιμοποιείται όταν η ενέργεια διαβάζει απευθείας το αίτημα (π.χ. φόρτωση αρχείων multipart) αντί να επιτρέπει στο API Platform να αποσυμπιέσει ένα σώμα JSON.Οι ενέργειες φόρτωσης αρχείων επεκτείνουν συνήθως το
BaseResourceFileAction, το οποίο χειρίζεται την ανάλυση multipart και τη σύνδεση κόμβων πόρων.Η ασφάλεια επιβάλλεται μέσω της παραμέτρου
security:στη λειτουργία, όχι μέσα στον ελεγκτή.
Τελευταία ενημέρωση
Ήταν χρήσιμο αυτό;