API-wijzigingen in de april 2026-versie
De Adobe Learning Manager-versie van april 2026 introduceert gerichte verbeteringen aan de openbare API rond alternatieven en equivalenten, toegang in tijdvenster tot inhoud, contentgestuurde quizpogingen, niet-aangemelde ervaringen en verwerking van taakhulp. De wijzigingen zijn grotendeels achterwaarts compatibel, terwijl nauwkeurigere integraties mogelijk zijn.
Adaptief leren voor leerpaden
Deze release voegt volledige openbare API-ondersteuning toe voor adaptieve leerpaden. Leerpaden (LP's) kunnen nu adaptieve regels definiëren die bepalen welke secties en subleerobjecten (subLO's) zichtbaar zijn voor verschillende studentgroepen. De openbare API weerspiegelt dit gedrag.
De volgende eindpunten worden beïnvloed:
- GET /primeapi/v2/learningObjects?filter.loTypes=learningPath
- GET /primeapi/v2/learningObjects/
Een nieuw Booleaans kenmerk, attributes.isAdaptive, geeft aan dat een leerprogramma gebruikmaakt van adaptieve regels. Als deze markering waar is, wordt het sectiekenmerk adaptief geïnterpreteerd.
Voor studentaanroepen worden alleen secties geretourneerd die zichtbaar zijn voor de huidige student. Elke sectie bevat de lijst met leerobject-id's (loIds), een verplichte vlag en een mandatoryLOCount die worden berekend op basis van de adaptieve configuratie voor die student, en de sectionId. De relatie relationship.subLOs wordt nu ook gefilterd, zodat het alleen de subleerobjecten bevat die voor die student zichtbaar zijn.
Voor beheerdersaanroepen kunnen secties een adaptiveConfig-array extra beschikbaar maken. Hierin worden de adaptieve regels per gebruikersgroep beschreven, inclusief userGroupId, userGroupName en of de sectie verplicht is voor die groep. Met beheertools kun je adaptieve regels visualiseren en beheren.
Voltooiing van leerprogramma's opnieuw instellen
De versie introduceert API aan verfrist (terugstel) voltooiing voor het leren voorwerpen, met inbegrip van adaptieve het leren programma's. Dit steunt scenario's zoals hertraining, periodieke nalevingsvernieuwingen, of programma herstart.
Er is een nieuw eindpunt beschikbaar:
POST /primeapi/v2/learningObjects/{loId}/instances/{loInstanceId}/refreshCompletion
Deze bewerking vereist de juiste schrijfmachtigingen en stelt de voltooiingsstatus voor de opgegeven leerobjectinstantie in de gegeven gebruikerscontext opnieuw in. Het is bedoeld voor gebruik door beheerders-side automatiseringen of zorgvuldig bereikbare leerprogramma's.
Een bulkversie van dit vermogen is gepland via een Jobs API. De aanvraagvorm is ontworpen om gebruikers te targeten via e-mail, gebruikers-ID of gebruikers-ID, bijvoorbeeld:
{
"emails": ["[user1@example.com](mailto:user1@example.com)", "[user2@example.com](mailto:user2@example.com)"],
"userIds": ["12345", "67890"],
"userGroupIds": ["ug1", "ug2"]
}
Integraties moeten deze API gebruiken wanneer ze studenten in elk programma of elke cursus opnieuw moeten starten. Clients moeten foutreacties netjes afhandelen: de API kan vernieuwingsverzoeken afwijzen als een reset niet van toepassing is (bijvoorbeeld als er geen voltooiing is of als er niet-ondersteunde leerobjecttypen zijn).
Gelijkwaardige en alternatieve aanvulling
Ter ondersteuning van implementaties waarbij meerdere leerobjecten aan dezelfde vereiste kunnen voldoen, voert de release equivalenten en alternatieven in als openbare API's.
De eindpunten van het leerobject bevatten nu deze informatie:
- GET /primeapi/v2/learningObjects
- GET /primeapi/v2/learningObjects/{loId}
Een nieuw Booleaans kenmerk attributes.isAlternateComplete geeft aan of de voltooiing van de student voor een bepaald leerobject het resultaat is van een alternatief of equivalent leerobject in plaats van het object zelf. Wanneer dit waar is, maakt de relatie relationship.alternateCompletions een lijst van de leervoorwerpen die als alternatieven handelden. Hierdoor kunnen downstream-rapportage en dashboards onderscheid maken tussen directe en alternatieve voltooide bewerkingen en aangeven welk alternatief aan de vereiste voldoet.
Bovendien kunnen in een weergave voor verwante leerobjecten mogelijke alternatieven worden gevonden die voldoen aan een leerobject. Dit wordt blootgesteld via:
GET /primeapi/v2/learningObjects/{loId}/relatedLOs?type=sourceAlternateLOs&limit={n}
De reactie retourneert leerobjecten die als alternatieven kunnen fungeren en bevat een veld meta.count dat het totale aantal van dergelijke alternatieven aangeeft, onafhankelijk van de huidige limiet. Integraties kunnen dit gebruiken om aanbevolen equivalenten te presenteren of om beheerweergaven van alternatieve toewijzingen te maken.
Gebruiksscenario’s voor rapportage en analytics
Gebruikers die rapporten of analyses genereren, moeten hun logica bijwerken om isAlternateComplete en afwisselendeCompletions toe te voegen aan hun rapportageworkflows.
Rapporterende integraties die voltooiingsgegevens gebruiken (bijvoorbeeld LT-export, aangepaste datamakaartfeeds of BI-dashboards) zouden hun logica moeten uitbreiden om zowel attributes.isAlternateComplete als relationship.alternateCompletions van de LO-API's te lezen en aan te houden:
-
When isAlternateComplete == false:
Behandel het verslag als a directe voltooiing van LO, zoals vandaag. -
When isAlternateComplete == true:
- Vlag het verslag als afwisselende voltooiing in uw rapport (bijvoorbeeld, een kolom van de "Methode van de Voltooiing"met waarden DIRECT vs ALTERNATE).
- Relaties.alternateCompletions.data van het gebruik [ * ].id om te vangen welke bron LO(s) deze voltooiing (bijvoorbeeld, "Cursus B die via afwisselende Cursus A wordt voltooid) verleende.
Typische gebruikscases:
- rapporten van de Naleving - toon dat een nalevingscursus via een goedgekeurd equivalent werd voltooid, en maak een lijst van de broncursus die aan het vereiste voldeed.
- de voortgangsdashboards van het Programma - onderscheiden studenten die een weg direct vormden vs degenen die het via afwisselingen, voor nauwkeurigere vooruitgang en verbeteringsmeningen tevredenstelden.
- de sporen van de Controle - voor om het even welke LO duidelijk isAlternateComplete=true, kunnen de controleurs precies zien welke afwisselende opleiding(en) werden gebruikt om die voltooiing te verlenen.
Zonder deze twee gebieden op te nemen, zullen de stroomafwaartse rapporten afwisselende voltooiing als regelmatige voltooiing behandelen en zullen niet kunnen verklaren waarom een student als voltooide opleiding toont die zij nooit direct hebben genomen.
LO API-gedrag van student vs beheerder
De taakhulpstructuur voor meerdere talen is identiek in LO-API's van zowel studenten als beheerders. Het bereik van de student retourneert alleen die taakhulpen die zichtbaar zijn voor de student, maar voor elke zichtbare taakhulp worden alle geconfigureerde landinstellingen weergegeven via meerdere resourceentiteiten (één per landinstelling) en gelokaliseerde metagegevens voor meerdere landinstellingen. Het beheerbereik retourneert alle taakhulpen die de beheerder kan beheren, met hetzelfde LO-model en locale-specifieke bron-id's. Clients met het bereik van de student moeten de bron kiezen waarvan attributes.locale het meest overeenkomt met de inhoudstaal van de student, terwijl beheergereedschappen alle landinstellingen kunnen opsommen voor rapportage en beheer.
Checklist met opmerkingsmogelijkheden
Om werkschema's te steunen waar de recensenten gestructureerde feedback op checklist-based activiteiten kunnen delen, controlelijstcommentaren van deze versie en controleerszichtcontroles door het leerobjecten middel API.
Metagegevens die betrekking hebben op een checklist, worden weergegeven op entiteiten van learningObjectResource (JApiLOResource, "type": "learningObjectResource") die controlelijstbronnen binnen een cursus of ander leerobject vertegenwoordigen.
De informatie is beschikbaar via:
GET /primeapi/v2/learningObjects/{loId}?include=instances.loResources
Wanneer de leerobjectinstantie controlelijstbronnen bevat, geven de corresponderende learningObjectResource-items in de opgenomen array onder kenmerken opmerkingen en zichtbaarheidskenmerken van de revisor weer, en wordt de identiteit van de revisor onder relaties weergegeven.
Nieuwe kenmerken voor commentaar in checklist
Voor controlelijstbronnen kunnen de volgende kenmerken aanwezig zijn in de learningObjectResource:
-
attributes.checklistComment
Een gratis tekstopmerking die de revisor voor de student heeft achtergelaten, bijvoorbeeld:
"checklistComment": "Uitstekende prestaties! Alle veiligheidsprotocollen volgden correct."
Dit attribuut is bevolkt slechts als:- showChecklistComment is waar, en
- de configuratie van de controlelijst heeft enable_reviewer_comments ingeschakeld.
-
attributes.showChecklistComment
Een Booleaanse vlag die aangeeft of opmerkingen van revisoren aan de student moeten worden getoond:
"showChecklistComment": true
Dit attribuut is aanwezig slechts wanneer enable_reviewer_comments in de checklist configuratie wordt toegelaten.
Clients moeten deze markering gebruiken om te beslissen of checklistComment moet worden weergegeven in studentervaringen. -
attributes.showReviewerNameToLearner
Een Booleaanse vlag die bepaalt of de student de identiteit van de revisor moet zien:
"showReviewerNameToLearner": true
Indien waar kunnen clients de checklistReviewedBy-relatie (zie verderop) gebruiken om de naam van de revisor op te lossen en weer te geven (bijvoorbeeld via een API voor het opzoeken van gebruikers).
Andere checklist-specifieke context zoals checklistEvaluationStatus, isChecklistMandatory, resourceSubType: "CHECKLIST", en submissionDate zijn ook beschikbaar op zelfde learningObjectResource om rijkere checklist UIs en het melden te steunen.
Identiteitsrelatie van revisor
Wanneer de revisornamen zichtbaar moeten zijn, bevat learningObjectResource een relatie die naar de revisorgebruiker verwijst:
"relationships": {
"checklistReviewedBy": {
"data": {
"id": "user_id",
"type": "user"
}
}
}
Deze verhouding is bevolkt slechts als:
- showReviewerNameToLearner is true, en
- checklistReviewedBy is niet null (de controlelijst is dus gecontroleerd).
Clienttoepassingen moeten:
- Controleer attributes.showReviewerNameToLearner.
- Als true en relationship.checklistReviewedBy.data aanwezig is, roep de aangewezen gebruikers-API aan om "id": "user_id" in een vertoningsnaam op te lossen.
- Render de naam van de controleur naast de opmerking of status in de controlelijst, al naar gelang van toepassing.
Toegang tot controlelijstbronnen en opmerkingen
Om controlelijstbronnen en hun opmerkingen voor een bepaald leerobject op te halen, moeten clients:
- Bellen
GET /primeapi/v2/learningObjects/{loId}?include=instances.loResources
-
In de reactie:
-
Gebruik relationship.instances van het main learningObject om de relevante learningObjectInstance-items in het pakket te zoeken.
-
Van elke learningObjectInstance, volg relationship.loResources om learningObjectResource ingangen te vinden.
-
Filter learningObjectResource-items waar:
- attributes.resourceSubType == "CHECKLIST" (voor controlelijstbronnen), en
- optioneel attributes.showChecklistComment == true om checklists met zichtbaar commentaar voor studenten te zoeken.
-
-
Neem voor elke checklist learningObjectResource de volgende stappen:
- attributes.checklistComment (indien aanwezig en showChecklistComment is waar)
- attributes.checklistEvaluationStatus (bijvoorbeeld "PASSED")
- attributes.showReviewerNameToLearner
- relationship.checklistReviewedBy (indien aanwezig) om de revisor te identificeren.
Met dit patroon kunnen headless of aangepaste clients rechtstreeks vanuit de Prime-API's een uitgebreide controlelijkervaring weergeven, inclusief status, verplichte/optionele vlaggen en feedback van revisoren.
Rapportering en UX-overwegingen
-
Rapportage en analytics
Integraties die de prestaties van studenten op checklists bijhouden, kunnen het volgende omvatten:- checklistEvaluationStatus voor pas/ontbreken of andere statusindicatoren.
- isChecklistVerplicht om verplichte versus optionele checklist-activiteiten te onderscheiden.
- Aanwezigheid of afwezigheid van checklistComment en showChecklistComment voor controles van terugkoppelde dekking.
-
Leerervaringen
UI-implementaties moeten:- Respect showChecklistComment alvorens opmerkingen te tonen.
- Gebruik showReviewerNameToLearner en checklistReviewedBy om te beslissen of de naam van de revisor moet worden weergegeven of dat de revisie anoniem moet blijven.
- Ga netjes terug wanneer opmerkingen zijn uitgeschakeld of niet aanwezig zijn, en geef nog steeds de evaluatiestatus en indieningsinformatie weer.
Meertalige ondersteuning voor taakhulp
Om implementaties te steunen waar de taakhulp in veelvoudige talen aan zowel studenten als beheerders moet worden geleverd, breidt deze versie de behandeling van taakhulp uit om één middel per scène in plaats van één enkel hard-gecodeerd en-US middel terug te keren.
Taakhulpen voor meerdere talen blijven gebruikmaken van de bestaande hiërarchie:
het leren Voorwerp (lo) → learningObjectResource (loResource) → middel
Het API-contract hoeft niet te worden gewijzigd. Elke gelokaliseerde taakhulp past natuurlijk in deze structuur, met afzonderlijke resources-entiteiten per landinstelling en gedeelde gelokaliseerde metagegevens op de niveaus learningObject/learningObjectResource.
Taakhulpengegevens worden weergegeven via:
GET /primeapi/v2/learningObjects/jobAid:{jobAidId}?include=instances.loResources.resources
Wanneer een taakhulp meerdere taalvarianten heeft, bevat de opgenomen array meerdere 'type': 'resource'-items—één voor elke landinstelling (bijvoorbeeld en-US, fr-FR, es-ES), die allemaal zijn gekoppeld vanuit één learningObjectResource.
Meertalige structuur voor taakhulp
Taakhulpen voor meerdere talen gebruiken:
-
learningObject (type: learningObject)
- Bevat gelokaliseerde metagegevens met meerdere items (bijvoorbeeld en-US, fr-FR), zodat klanten de functie/beschrijving voor taakhulp in de juiste taal kunnen weergeven.
-
learningObjectInstance (type: learningObjectInstance)
- Verwijst naar een of meer learningObjectResource-items via relationship.loResources.
-
learningObjectResource (type: learningObjectResource)
- Bevat een algemene configuratie (inhoudstype, versie, enz.) en multi-locale localizedMetadata.
- Koppelingen naar een of meer resource-entiteiten via relationship.resources.
-
middel (type: middel)
- Één per scène, elk met zijn eigen identiteitskaart, scène, naam, en URL (plaats/downloadUrl).
Voor een taakhulp in meerdere talen is een typisch patroon:
-
learningObjectResource met localizedMetadata voor en-US en fr-FR
-
relationship.resources.data die wijzen op:
- resource met locale: "en-US"
- resource met landinstelling: "fr-FR"
Clients kunnen de juiste bron selecteren door de landinstelling van de student af te stemmen op het veld resource.attributes.locale.
Nieuwe indeling van bron-id voor taakhulpen
Om veelvoudige gelokaliseerde varianten van een middel van de taakhulp behoorlijk te onderscheiden, is het formaat van middelidentiteitskaart veranderd.
Oude (erfenis) formaat van middelidentiteitskaart
Eerder gebruikten taakhulpen een ondoorzichtige ID-indeling, zoals:
jobAid :131032_-1_-1_2_resource
Deze indeling codeerde geen landinstelling en API's zouden in feite slechts één resource beschikbaar maken (doorgaans en-US).
Nieuw formaat van middelidentiteitskaart (multi-taal bewust)
De nieuwe indeling is:
jobAid:<jobAidId>_<version>_<localeCode>
Voorbeelden:
- jobAid :131032_2_en-US
- jobAid :131032_2_fr_FR
- jobAid :131032_2_es_ES
Visuele uitsplitsing:
jobAid:131032_2_fr_FR
│ │ │ │
│ │ │ └──► Locale Code (fr_FR, en_US, es_ES, etc.)
│ │ └────► Version (2)
│ └──────► JobAid ID (131032)
└─────────────► Resource Type Prefix ("jobAid:")
Met deze structuur kunnen clients:
- Bepaal snel bij welke taakhulp en versie een resource hoort.
- Trek indien nodig de landinstelling rechtstreeks af van de resource-id.
Achterwaartse compatibiliteit:
/resources/{resourceId}
Het verouderde middeleindpunt blijft beschikbaar:
Het is nu achterwaarts compatibel met zowel de oude als nieuwe formaten van identiteitskaart:
-
Oude formaat van identiteitskaart (bijvoorbeeld, jobAid :131032_-1_-1_2_resource)
- Het blijft werken.
- Keert het eerste gecreeerd middel verbonden aan dat erfenisherkenningsteken (typisch het oorspronkelijke en-US middel) terug.
-
Nieuw formaat van identiteitskaart (bijvoorbeeld, jobAid :131032_2_fr_FR)
- Keert het nauwkeurige landspecifieke middel terug die aan die identiteitskaart beantwoorden
- Zo kunt u gelokaliseerde varianten van taakhulp nauwkeurig ophalen en manipuleren.
Integraties die momenteel de oude bron-id's opslaan of ernaar verwijzen, kunnen zonder wijzigingen blijven functioneren, terwijl nieuwere implementaties worden aangeraden de nieuwe id-indeling toe te passen voor landspecifieke bewerkingen.
Integratie- en UX-overwegingen
-
Leerling/admin UI
- Gebruik learningObject.localizedMetadata en learningObjectResource.localizedMetadata om titels en beschrijvingen in de juiste taal weer te geven.
- Gebruik resource.attributes.locale om de juiste URL (locatie/downloadUrl) voor de landinstelling van de student te selecteren.
- Implementeer fallback-gedrag (bijvoorbeeld terugvallen naar en-US) als de exacte landinstelling van een student niet beschikbaar is.
-
APIs en opslag
- Voor nieuwe integraties, sla het middel IDs van het nieuw-formaat op (
jobAid:<jobAidId>_<version>_<localeCode>) om ondubbelzinnige landspecifieke herwinning toe te laten. - Verouderde IDs kan nog met /resources/{resourceId} worden gebruikt, maar zij zullen niet tussen landinstellingen onderscheiden.
- Voor nieuwe integraties, sla het middel IDs van het nieuw-formaat op (
Beperkingen van de tijd-groef voor beginnende modules
Sommige leerervaringen moeten alleen binnen een bepaald tijdsbestek beschikbaar zijn. In de release wordt informatie over de tijdperiode van leerobjectbronnen weergegeven en wordt een validatie-eindpunt geïntroduceerd waarmee wordt gecontroleerd of een student een bron op het huidige moment kan starten.
De tijd-groef meta-gegevens is beschikbaar via het eindpunt:
GET /primeapi/v2/learningObjects/{loId}?include=instances.loResources
Op het resourcereniveau van het leerobject kan er nu een timeSlot-object in de kenmerken aanwezig zijn, met startTime- en endTime-waarden in UTC. Dit geeft het venster aan waarin de resource kan worden gestart.
Voordat u een module start, kunnen integraties een nieuw validatie-eindpunt aanroepen:
GET /primeapi/v2/learningObjects/{loId}/instances/{loInstanceId}/loResources/{loResourceId}/canStart
Dit eindpunt, bedoeld voor scenario's die door studenten worden gelezen, geeft aan of de student de bron mag starten, rekening houdend met de geconfigureerde tijdruimte, het leveringstype en andere back-endregels.
Aangepaste spelers en clienttoepassingen moeten canStart gebruiken om op tijd gebaseerde toegang af te dwingen en de timeSlot-metagegevens gebruiken om duidelijke berichten weer te geven over wanneer inhoud beschikbaar of verloopt. Negatieve reacties van canStart moeten expliciet worden afgehandeld om studenten te laten weten waarom de inhoud nog niet of niet kan worden gestart.
Meerdere pogingen, contentgestuurde quizzen
Sommige inhoudspakketten implementeren hun eigen pogingen bijhouden in plaats van alleen te vertrouwen op Adobe Learning Manager. De release introduceert een markering die aangeeft wanneer pogingen door de inhoud zelf worden gestuurd.
Via:
GET /primeapi/v2/learningObjects/{loId}?include=instances.loResources
leerobjectbronnen kunnen nu een Booleaans kenmerk hasContentDrivenAttemptTracking beschikbaar maken. Als dit waar is, beheert de quiz of module intern pogingen (bijvoorbeeld via SCORM of xAPI-logica), en weerspiegelen de standaardpodentellers van het platform mogelijk niet volledig de ervaring van de student.
Integraties die het aantal pogingen weergeven of het gedrag voor opnieuw proberen beheren moeten deze markering controleren. Als deze optie is ingeschakeld, mogen ze geen beperkingen voor pogingen afleiden op basis van platformmetagegevens en moeten ze voorbereid zijn op rapportage aan de inhoudzijde (bijvoorbeeld via xAPI-statements) of bedrijfsspecifieke regels.
Gedragswijziging in de indeling van de taakhulpbron-id
Deze versie introduceert een belangrijke gedragsverandering in het formaat van het middel IDs van de Hulp van de Taak. Hoewel er geen nieuw eindpunt is, heeft dit een directe invloed op systemen die deze id's opslaan of parseren.
Eerder gebruikten taakhulp-id's een indeling als:
jobAid:<jobAidId>_-1_-1_2_resource
In de versie van april 2026 wordt deze vervangen door een vereenvoudigde en explicieter indeling:
jobAid:<jobAidId>_<version>_<localeCode>
Bijvoorbeeld:
jobAid :131032_2_fr_FR
De componenten zijn:
<jobAidId>: de numerieke taakhulp-id (bijvoorbeeld 131032),<version>: het versienummer van de taakhulp (bijvoorbeeld 2),<localeCode>: de landinstellingscode (bijvoorbeeld en_US, fr_FR, es_ES).
Elke integratie die bronnen indexeert of in de bron-id's van de taakhulp aanhoudt, moet de parsering- en opslaglogica bijwerken om de nieuwe indeling te herkennen. Omdat de id's zelf veranderen, wordt u sterk aangeraden om alle lokale indexen die worden vastgehouden door de taakhulp-id's, opnieuw samen te stellen na de upgrade naar de april 2026-versie.
Cursusbannerafbeeldingen via migratie instellen
U kunt nu in Adobe Learning Manager cursusbannerafbeeldingen instellen of bijwerken als onderdeel van uw standaard migratieworkflow. Zo kunt u grote catalogi starten of opschonen terwijl u uw cursuspagina's visueel consistent houdt, zonder dat u handmatig hoeft te bewerken
Waarbij bannerafbeeldingen worden gedefinieerd
De beelden van de banner worden gevormd in het {migratiedossier 0} course.csv, dat u reeds gebruikt om cursusmeta-gegevens zoals te verstrekken:
- ID
- courseName
- courseCreationDate
- status
- auteur
- thumbnailUrl
Met deze verbetering, omvat de specificatie course.csv een extra facultatieve kolom voor het beeld van de cursusbanner. De exacte koptekstnaam wordt gedefinieerd in de CSV-specificatie die u downloadt van uw Learning Manager-account (kan bijvoorbeeld worden weergegeven als bannerUrl of bannerImageUrl).
De bannerkolom:
- Punten aan het beelddossier u als cursusbanner wilt gebruiken.
- Werkt op dezelfde manier als thumbnailUrl, met behulp van afbeeldingen die beschikbaar zijn in uw geconfigureerde contentrepository (Box/FTP).
Bezig met voorbereiden van bannerafbeeldingen voor migratie
- Upload bannerafbeeldingen: plaats uw bannerafbeeldingsbestanden in dezelfde Box- of FTP-locatie als die u voor andere migratie-elementen gebruikt, volgens de bestaande mappenstructuur.
- Bestandsindeling controleren:
Gebruik een van de ondersteunde afbeeldingsindelingen (bijvoorbeeld png, jpg, jpeg, gif), zoals beschreven in de systeemvereisten: - Cursus.csv bijwerken: Verwijs in de nieuwe bannerkolom naar het relatieve pad of de id van de bannerafbeelding. Een conceptueel voorbeeld:
id,courseName,courseCreationDate,state,author,thumbnailUrl,bannerUrl
12345,DEMO1,2018-05-05T08:56:21.000Z,Published,Sudheer,pic1.png,banners/banner1.png
45678,DEMO2,2018-05-05T08:56:21.000Z,Published,Sudheer,pic2.png,banners/banner2.png
Banners toepassen tijdens een migratieuitvoering
Nadat uw course.csv is bijgewerkt, is de flow gelijk aan elke andere migratie:
-
CSV's uploaden
Upload het bijgewerkte bestand course.csv (en eventuele andere relevante bestanden) naar de Box/FTP-map die is geconfigureerd voor migratie. Bestandsnamen moeten exact overeenkomen met de namen die zijn opgegeven in csv_specifications.zip (hoofdlettergevoelig). -
Een sprintrun starten
In Adobe Learning Manager, als Admin van de Integratie, begin een migratie sprint looppas die course.csv omvat.
De migratie-engine leest de bannerkolom en past de bannerafbeelding toe op elke cursus. -
Resultaten en foutenlogboeken van het overzicht
Na de sprint:- Verifieer banners in de Auteur en Learner apps.
- Als sommige rijen mislukken (bijvoorbeeld als gevolg van een ongeldig bestandspad of een niet-ondersteunde indeling), downloadt u de fout-CSV van de migratieuitvoering en corrigeert u de gegevens.
Nieuwe cursussen versus bestaande cursussen
Het bannerveld werkt in beide scenario's:
-
Nieuwe cursussen gemaakt via migratie
Wanneer een cursus voor de eerste keer wordt gemaakt van course.csv en de bannerkolom wordt gevuld, wordt die banner onmiddellijk ingesteld. -
Bestaande cursussen (refit/correcties)
Als u de migratie opnieuw uitvoert met dezelfde cursus-id en een nieuwe bannerwaarde:- Leermanager zoekt de bestaande cursus.
- Het bannerbeeld wordt bijgewerkt aan het nieuwe beeld dat in CSV wordt gespecificeerd.
Uw daadwerkelijke kolomnamen en wegen moeten de gedownloade specificatie CSV en uw lay-out van de inhoudsbewaarplaats aanpassen.
Orderkolom verwijderen in LearningProgramCourse
Adobe Learning Manager steunt nu een vereenvoudigd model voor cursus die binnen Leerpaden (Leerprogramma's) opdracht geven tijdens migratie. Als deel van deze verandering, wordt de ordekolom verwijderd uit het learning_program_course.csv migratiedossier.
Eerder bevatte het bestand learning_program_course.csv een kolom (vaak order of vergelijkbaar genoemd) die werd gebruikt om:
- Expliciet plaats de positie van elke cursus binnen een Leerprogramma, die op de numerieke waarde in die kolom wordt gebaseerd.
- Vereisen dat beheerders of scripts deze numerieke volgorde handmatig behouden, vooral wanneer ze cursussen invoegen of opnieuw rangschikken.
Adobe Learning Manager gebruikt nu niet meer de bestelkolom in learning_program_course.csv om de volgorde van de cursussen te bepalen. In plaats daarvan, concentreert de migratie CSV zich op welke cursussen tot welk het Leren Programma behoren, eerder dan hoe zij numeriek worden bevolen.
Gevolgen voor CSV's van migratie
learning_program_course.csv
U moet de verouderde bestelkolom als verwijderd of genegeerd behandelen:
-
Vertrouw niet op de volgorde waarin cursussen in een leerprogramma tijdens de migratie worden uitgevoerd.
-
Als u nog een bestelkolom hebt van oudere sjablonen:
- Learning Manager negeert het voor bestellen.
- U kunt deze na verloop van tijd veilig uit uw CSV verwijderen om uw migratiebestanden te vereenvoudigen.
-
De vereiste kerntoewijzing blijft behouden:
- Cursus-id ↔ van leerprogramma (en alle andere nog gedocumenteerde kolommen zoals id, learningProgramId, courseId en datums).
Verwijs altijd naar de recentste specificaties CSV van uw rekening van de Leermanager (via csv_specifications.zip) om de huidige kopbalreeks en de vereisten te bevestigen.
timeZoneCode voor cursusinstanties
Vanaf deze versie maakt het Cursusinstantiemodel (learningObjectInstance) een nieuw kenmerk beschikbaar:
timeZoneCode — een tekenreeksveld dat een cursusinstantie expliciet koppelt aan een van de geconfigureerde tijdzones van het account.
Hierdoor kunnen clients:
- Los de tijdzone van een cursusinstantie op een consistente, door de API gestuurde manier op.
- Interpreteer en geef alle datums/tijden op instantieniveau correct weer voor die instantie, ongeacht de eigen tijdzone van de gebruiker.
Waar verschijnt timeZoneCode
Het veld wordt toegevoegd aan de kenmerken van het learningObjectInstance-model
alleen voor cursusinstanties.
Voorbeeld:
{
"id": "course:1262748_1359228",
"type": "learningObjectInstance",
"attributes": {
"dateCreated": "2019-08-06T13:50:39.000Z",
"isAET": false,
"isDefault": true,
"timeZoneCode": "356",
"isFlexible": false,
"state": "Active",
"localizedMetadata": [
{
"locale": "en-US",
"name": "Default instance"
}
]
}
}
TijdZoneCode oplossen
De numerieke timeZoneCode is een zoeksleutel in de tijdzonecatalogus van het account, die beschikbaar wordt gemaakt via de account-API:
GET /primeapi/v2/account
Authorization: Bearer <access_token>
In de reactie worden de tijdzones weergegeven in:
"data": {
"attributes": {
"timeZones": [
{
"name": "Etc/GMT+12",
"timeZoneCode": "356",
"utcOffset": -720,
"utcOffsetCode": "UTC-12:00(Etc/GMT+12)",
"zoneId": "Etc/GMT+12"
},
"..."
]
}
}
Aanbevolen clientstroom:
-
Roep GET /account eenmaal aan, cache attributes.timeZones voor de tenant.
-
Voor elke cursusinstantie:
- Lees attributes.timeZoneCode.
- Zoek het overeenkomstige item in timeZones waar timeZoneCode overeenkomt.
- Gebruik zoneId, utcOffset en utcOffsetCode van dat item voor weergave en planning.
Asynchrone openbare API's voor gebruikersgroeplidmaatschap
Inleiding
Adobe Learning Manager stelt twee admin async APIs bloot om het lidmaatschap van de gebruikersgroep (UG) te beheren:
- POST /async/userGroups/{userGroupId}/users - voeg asynchroon gebruikers aan UG toe
- DELETE /async/userGroups/{userGroupId}/users - verwijder gebruikers asynchroon uit UG
In plaats van het bijwerken van lidmaatschap in het zelfde verzoek, keuren deze APIs uw partij goed en keren een gebeurtenisidentiteitskaart terug. Het werkelijke resultaat wordt later via webhooks geleverd.
Gebruik ze als:
- U beheert grote groepen of regelmatige batchupdates.
- Latentie is minder belangrijk dan betrouwbaarheid en doorvoer.
- U bouwt integraties (HR, CRM, LXP) in plaats van UI-klikken.
Voor kleine, interactieve beheeracties kunt u de synchrone API's van /userGroups/{id}/users blijven gebruiken.
Verificatie- en basis-URL
Deze APIs maken deel uit van de standaard v2 Admin API oppervlakte.
-
Auth: OAuth 2.0-toegangstoken met
admin:writebereik -
Vereiste kopteksten:
- Autorisatie: drager <access_token>
- Inhoudstype: toepassing/json
- Accepteren: toepassing/json
Zie voor algemeen gedrag en bereik van de Admin-API:
Aanvraagindeling
Zowel voeg toe en verwijder gebruik precies de zelfde lichaamsvorm.
Berichttekst
{
"metadata": {
"event_id": "my-optional-correlation-id",
"sourceSystem": "HRIS",
"batchId": "hr_2026_03_30_0001"
},
"data": [
{ "type": "user", "id": "11101219" },
{ "type": "user", "id": "11101220" }
]
}
gegevens (vereist)
data is de lijst met gebruikerresource-id's voor deze batch.
typemoet "user" zijn.idis numerieke gebruiker - identiteitskaart in ALM (niet e-mail, niet UUID).
Restricties
datamoet aanwezig en niet leeg zijn.- Er is ten minste één gebruiker vereist.
- De maximale laadgrootte is 20 gebruikers per aanvraag.
- Alle id's moeten numeriek zijn en naar geldige gebruikers verwijzen.
Als een van deze voorwaarden mislukt, retourneert de API een fout en wordt er niets in de wachtrij geplaatst.
metagegevens (optioneel)
metadata is eventuele aanvullende correlatiegegevens die u wilt terugecho's in de webhook.
Normaal gebruik:
event_id- correlatie-id die u genereert.sourceSystem- naam van uw upstream-systeem.batchId- batch- of taakid's.
De service retourneert dit object ongewijzigd in de webhookreactie, zodat u de callback kunt afstemmen op uw interne taak.
Beperkingen:
- Optioneel; kan geheel worden weggelaten.
- De gecombineerde lengte van alle sleutels en waarden mag niet meer dan 1000 tekens zijn.
Responsindeling
Beide eindpunten reageren synchroon met een gebeurtenis-id:
{ "event_id": "cd2972c8-cb15-47a0-a23f-e4a16cb720f5" }
Gedrag:
- Wanneer
metadata.event_idwordt doorgegeven, wordt die waarde gebruikt. - Anders genereert de service een UUID.
Je moet altijd:
- Sla deze
event_idop als de primaire id voor de batch. - Verwacht dezelfde waarde te ontvangen in de webhook-callback.
Bekijk Webhooks voor het toevoegen van en het verwijderen van het lidmaatschap van de gebruikersgroep voor meer formatie.
Veelgestelde vragen
Hoe verandert de versie van April 2026 learningObjects API voor adaptieve het leren programma's?
Deze release voegt een markering isAdaptive toe aan leerprogramma's en maakt secties en sublokale besturingselementen zichtbaar voor studenten. In adaptieve programma's zien studenten alleen de secties en subleerobjecten die voor hen zichtbaar zijn op basis van adaptieve regels, terwijl beheerders de onderliggende adaptieve configuratie voor een gebruikersgroep kunnen zien.
moet ik mijn integratie bijwerken als het veronderstelt alle secties en subLOs altijd zijn teruggekeerd?
Ja. Voor adaptieve leerprogramma's retourneert de API nu alleen de secties en subLO's die zichtbaar zijn voor de huidige student. De code van de cliënt zou de reactie als gebiedende, misschien gefilterde mening moeten behandelen, in plaats van het veronderstellen van een volledige lijst.
Hoe kan ik programmatically de voltooiing van een student voor een cursus of een het leren programma terugstellen?
Gebruik het nieuwe eindpunt:
POST /primeapi/v2/learningObjects/{loId}/instances/{loInstanceId}/refreshCompletion
Hiermee wordt voltooiing voor de doelinstantie opnieuw ingesteld wanneer machtigingen en status dit toestaan.
hoe ik vertel als een student iets via een afwisselend of gelijkwaardig leervoorwerp voltooide?
Controleer het kenmerk isAlternateComplete op het leerobject. Als dit waar is, wordt in de relatie alternateCompletions een lijst weergegeven met de leerobjecten die als alternatieven fungeerden voor de voltooiing van die student.
hoe kan ik alle alternatieven vinden die een bepaald het leren voorwerp kunnen tevredenstellen?
Gebruik het volgende eindpunt:
GET /primeapi/v2/learningObjects/{loId}/relatedLOs?type=sourceAlternateLOs&limit={n}
en gebruik de gegevensarray (voor de alternatieven) en meta.count (voor het totale aantal alternatieven).
Hoe weet ik of een student op dit ogenblik een module mag beginnen?
Eerst haalt u de timeSlot van de resource op van:
GET /primeapi/v2/learningObjects/{loId}?include=instances.loResources
en vervolgens gebruiken:
GET /primeapi/v2/learningObjects/{loId}/instances/{loInstanceId}/loResources/{loResourceId}/canStart
wat hasContentDrivenAttemptTracking betekent op een middel?
Het geeft aan dat het bijhouden van pogingen wordt bepaald door de inhoud zelf (bijvoorbeeld via de logica SCORM/xAPI) en niet alleen door platformtellers. Vertrouw niet alleen op het aantal pogingen of de limieten voor je UX en rapportage, wanneer dat waar is.
Hoe krijg ik menu's aangewezen voor niet-geregistreerde gebruikers (openbare ervaringen)?
Gebruik:
GET /primeapi/v2/templates/menus?include=pages,subMenus.pages&isNonLoggedIn=true
Hiermee worden menu- en paginastructuren geretourneerd die zijn gefilterd voor anonieme gebruikers en die geschikt zijn voor Experience Builder of andere headless-sites.
wat in het filtreren van de Hulp van de Taak met effectiveModifiedDate is veranderd?
Verzoeken waarbij filter.effectiveModifiedDate met filter.loTypes=jobAid wordt gecombineerd, retourneren nu correct alleen Taakhulpen binnen het opgegeven datumvenster.
wat in het formaat van de het middelidentiteitskaart van de Hulp van de Taak is veranderd en hoe zou ik het moeten behandelen?
De id-indeling is gewijzigd van waarden als:
jobAid:<jobAidId>_-1_-1_2_resource
tot:
jobAid:<jobAidId>_<version>_<localeCode>
bijvoorbeeld jobAid :131032_2_fr_FR. Elk systeem dat taakhulpbron-id's opslaat of parseert, moet worden bijgewerkt en u moet van plan zijn lokale indexen die door deze id's worden vastgehouden, opnieuw samen te stellen na de upgrade naar de release van april 2026.