Benutzerdefinierte Aktionen
Neben den standardmäßigen CRUD-Operationen verfügt Chamilo über eine Reihe von benutzerdefinierten API-Aktionscontrollern (in der Größenordnung von Dutzenden), die spezialisierte Operationen abwickeln. Die genaue Anzahl variiert zwischen den Versionen — listen Sie src/CoreBundle/Controller/Api/ für den aktuellen Satz auf.
Speicherort
Benutzerdefinierte Aktionen befinden sich in src/CoreBundle/Controller/Api/.
Wichtige benutzerdefinierte Aktionen
Dokumente
CreateDocumentFileAction
Eine Datei hochladen oder ein Ordner-/Link-Dokument erstellen
UpdateDocumentFileAction
Die Datei eines Dokuments ersetzen
ReplaceDocumentFileAction
Eine Dokumentdatei ersetzen, wobei die IDs erhalten bleiben
MoveDocumentAction
Ein Dokument in einen anderen Ordner verschieben
UpdateVisibilityDocument
Sichtbarkeit eines Dokuments für Lernende umschalten
DownloadAllDocumentsAction
Alle Dokumente in einem Ordner als ZIP herunterladen
DownloadSelectedDocumentsAction
Eine ausgewählte Gruppe von Dokumenten als ZIP herunterladen
DocumentUsageAction
Kurse/Sitzungen auflisten, in denen ein Dokument verwendet wird
DocumentLearningPathUsageAction
Lernpfade auflisten, in denen ein Dokument verwendet wird
Glossar
CreateCGlossaryAction
Einen Glossarbegriff erstellen
UpdateCGlossaryAction
Einen Glossarbegriff aktualisieren
ExportCGlossaryAction
Glossar in eine Datei exportieren
ImportCGlossaryAction
Glossar aus einer Datei importieren
ExportGlossaryToDocumentsAction
Glossar als Dokument im Kurs exportieren
GetGlossaryCollectionController
Glossarsammlung mit benutzerdefiniertem Filtern abrufen
Links
CreateCLinkAction
Einen externen Link erstellen
UpdateCLinkAction
Einen externen Link aktualisieren
CreateCLinkCategoryAction
Eine Linkkategorie erstellen
UpdateCLinkCategoryAction
Eine Linkkategorie aktualisieren
CheckCLinkAction
Prüfen, ob eine Link-URL erreichbar ist
ExportCLinksAction
Links in eine Datei exportieren
CLinkDetailsController
Linkdetails abrufen
CLinkImageController
Vorschau-Bild eines Links abrufen oder setzen
GetLinksCollectionController
Linksammlung mit benutzerdefiniertem Filtern abrufen
UpdateVisibilityLink
Sichtbarkeit eines Links umschalten
UpdateVisibilityLinkCategory
Sichtbarkeit einer Linkkategorie umschalten
UpdatePositionLink
Links neu anordnen
Lernpfade
CreateCLpAction
Einen Lernpfad erstellen
LpReorderController
Lernpfad-Elemente neu anordnen
Kalender
UpdateCCalendarEventAction
Ein Kurskalenderereignis aktualisieren
CalendarMyStudentsScheduleAction
Den Zeitplan der Schüler eines Lehrers abrufen
Blog
CreateCBlogAction
Einen Blogbeitrag erstellen
CreateBlogAttachmentAction
Eine Datei an einen Blogbeitrag anhängen
UpdateVisibilityBlog
Sichtbarkeit eines Blogs umschalten
Dropbox
CreateDropboxFileAction
Eine Datei in die Dropbox (Dateiaustausch-Tool) hochladen
Schülerarbeiten (Aufgaben)
CreateStudentPublicationFileAction
Eine Aufgabendatei einreichen
CreateStudentPublicationCommentAction
Einen Kommentar zu einer Einreichung hinzufügen
CreateStudentPublicationCorrectionFileAction
Eine Korrekturdatei für eine Einreichung hochladen
Persönliche Dateien
CreatePersonalFileAction
Eine Datei in den persönlichen Dateibereich des Benutzers hochladen
UpdatePersonalFileAction
Eine persönliche Datei aktualisieren
Soziales
LikeSocialPostController
Einen sozialen Beitrag liken
DislikeSocialPostController
Einen sozialen Beitrag nicht mehr liken
CreateSocialPostAttachmentAction
Eine Datei an einen sozialen Beitrag anhängen
SocialPostAttachmentsController
Anhänge eines sozialen Beitrags auflisten
AbstractFeedbackSocialPostController
Basisklasse für Feedback-Aktionen zu sozialen Beiträgen
Sitzungen
CreateSessionWithUsersAndCoursesAction
Eine Sitzung erstellen und Benutzer sowie Kurse in einem Aufruf einschreiben
Benutzer & Zugriffs-URLs
CreateUserOnAccessUrlAction
Einen Benutzer erstellen und mit einer Zugriffs-URL verknüpfen
UserAccessUrlsController
Zugriffs-URLs auflisten, zu denen ein Benutzer gehört
UserSkillsController
Fähigkeiten auflisten, die einem Benutzer verliehen wurden
Videokonferenz
VideoConferenceCallbackController
Rückrufe von externen Videokonferenzanbietern verarbeiten
Basisklassen
BaseResourceFileAction
Basisklasse für Datei-Upload-Aktionen; behandelt Multipart-Parsing, Erstellung von Ressourcenknoten und Speicherung
Implementierung einer benutzerdefinierten Aktion
Benutzerdefinierte Aktionen sind standardmäßige Symfony-Controller, die in den Betriebsdefinitionen von API Platform referenziert werden. Das Attribut #[ApiResource] befindet sich auf der Entität, und der Parameter controller: jeder Operation verweist auf die Aktionsklasse:
Die Aktionsklasse selbst ist ein einfacher aufrufbarer Controller — Dienste werden über Argumente der Methode __invoke() eingebunden:
Wichtige Punkte:
deserialize: falsewird gesetzt, wenn die Aktion die Anfrage direkt liest (z. B. bei Multipart-Datei-Uploads), anstatt API Platform den JSON-Body deserialisieren zu lassen.Aktionen für Datei-Uploads erweitern in der Regel
BaseResourceFileAction, das die Multipart-Verarbeitung und die Verknüpfung von Ressourcenknoten übernimmt.Die Sicherheit wird über den Parameter
security:der Operation durchgesetzt, nicht innerhalb des Controllers.
Zuletzt aktualisiert
War das hilfreich?