Levenscyclusbeheer voor toepassingen (ALM) van de onderdelenbibliotheek

Een onderdelenbibliotheek is een speciaal type canvas-app die een of meer canvasonderdelen kan bevatten. Deze bibliotheekonderdelen kunnen vervolgens worden gebruikt door alle andere canvas-apps in de omgeving. Met deze mogelijkheid kunt u herbruikbare gedeelde onderdelen maken voor alle apps in een omgeving, in tegenstelling tot onderdelen op app-niveau die uitsluitend kunnen worden gebruikt in één app.

Als u een onderdeel uit een onderdelenbibliotheek wilt gebruiken, moet u het onderdeel eerst in de canvas-app importeren. Als het onderdeel eenmaal is geïmporteerd, kunt u het onderdeel vervolgens aan elk app-scherm toevoegen. Bij alle wijzigingen in de definitie van het onderdeel uit de onderdelenbibliotheek wordt u gevraagd om op aanvraag of wanneer de app wordt geopend voor bewerken de wijziging te controleren en op te nemen. Onderdelenbibliotheken en afhankelijke apps kunnen ook naar een andere omgeving worden verplaatst met standaard Microsoft Dataverse-oplossingen.

Notitie

Om verwarring te voorkomen: in dit artikel verwijst de term 'importeren' naar het importeren van een onderdeel uit een onderdelenbibliotheek in een app en niet naar het importeren van een oplossing in Dataverse.

Wanneer een onderdeel uit een onderdelenbibliotheek wordt geïmporteerd in een canvas-app, wordt de definitie van dat onderdeel gekopieerd naar de definitie van de canvas-app. Zodra een onderdeeldefinitie is geïmporteerd, is de app 'zelfstandig' voor zover het die onderdeeldefinitie betreft. De app-maker kan nu desgewenst het onderdeel bewerken en lokale instanties van het onderdeel maken in de app. Op dit punt is er geen directe link meer naar de onderdelenbibliotheek waaruit het onderdeel afkomstig is. Deze zelfstandigheid wat betreft de onderdeeldefinitie geldt ook als de canvas-app vervolgens wordt gemigreerd naar een andere omgeving waar de onderdelenbibliotheek niet aanwezig is. U kunt doorgaan met het maken van instanties van de geïmporteerde onderdeeldefinitie binnen de apps in de doelomgeving, en de apps kunnen nog steeds worden gepubliceerd en gebruikt. In dit geval worden er geen nieuwe updates gevraagd of ontvangen in de app die de onderdeeldefinitie gebruikt.

Als u de relatie tussen de app en de onderdelenbibliotheek wilt behouden, moet u ervoor zorgen dat u de onderdelenbibliotheek gebruikt om wijzigingen aan te brengen in het onderdeel, in plaats van het onderdeel te bewerken in de app waarin deze wordt gebruikt.

Ondersteuning voor canvas-apps en onderdelenbibliotheken

Net zoals voor andere afhankelijkheden van oplossingsobjecten geldt, is ook een canvas-app waarin een canvasonderdeel uit een onderdelenbibliotheek wordt geïmporteerd, afhankelijk van die onderdelenbibliotheek. Als u een app naar de nieuwe omgeving wilt verplaatsen, moet u de onderdelenbibliotheek in dezelfde oplossing verpakken of moet deze worden geïnstalleerd als voorwaarde voor het gebruik van de app. De afhankelijkheid tussen de app en de onderdelenbibliotheek wordt gehandhaafd in de doelomgeving. Op een later moment, wanneer een onderdelenbibliotheek met het bijgewerkte onderdeel met behulp van een oplossing wordt geïmporteerd in de doelomgeving, zullen bestaande apps de nieuwe onderdeeldefinities krijgen via de reguliere onderdeel-updatestroom.

Een onderdelenbibliotheek maken en exporteren in een oplossing

U kunt rechtstreeks vanuit de oplossing een onderdelenbibliotheek maken of deze aan een bestaande oplossing toevoegen.

Een bestaande onderdelenbibliotheek toevoegen aan een oplossing of een nieuwe maken.

Wanneer een onderdelenbibliotheek wordt opgeslagen in een omgeving waarin Dataverse beschikbaar is, wordt de onderdelenbibliotheek automatisch toegevoegd aan de standaardoplossing. Er wordt een unieke logische naam gegenereerd voor de onderdelenbibliotheek met het voorvoegsel van de standaard CDS-uitgever. Dit gedrag is bedoeld om ervoor te zorgen dat het systeem van de oplossing zich bewust is van de aanwezigheid van de onderdelenbibliotheek en de afhankelijkheden kan koppelen van de apps die de logische naam van de onderdelenbibliotheek gebruiken.

Notitie

Onderdelenbibliotheken die zijn gemaakt vóór de uitrol van de ALM-functie voor onderdelenbibliotheken, moeten worden bewerkt en gepubliceerd en de editor moet expliciet worden gesloten voordat deze onderdelenbibliotheken gereed zijn voor het gebruik van de ALM-mogelijkheden. U kunt de ALM-gereedheid van de onderdelenbibliotheek controleren door na te gaan of deze aanwezig is in de standaardoplossing.

Controleer de standaardoplossing op de aanwezigheid van uw onderdelenbibliotheek.

Onderdelenbibliotheken binnen een oplossing ondersteunen ook Aanpassingen toestaan voor beheerde eigenschappen die het gedrag van de onderdelenbibliotheek in de doelomgeving bepalen.

Aanpassingen toestaan voor beheerde eigenschappen voor een onderdelenbibliotheek.

Als u deze instelling uitschakelt en de oplossing naar een doelomgeving exporteert, kunt u de onderdelenbibliotheek niet bewerken.

U kunt de onderdelenbibliotheek die geen aanpassingen toestaat, niet bewerken.

Afhankelijkheden van een onderdelenbibliotheek

Apps die onderdelen uit de onderdelenbibliotheek gebruiken, worden gemarkeerd als afhankelijk in de oplossingsinfrastructuur. Dit gedrag is van toepassing op alle apps die worden toegevoegd aan een Dataverse-oplossing in een bepaalde omgeving. U kunt nog steeds apps maken buiten oplossingen, maar die apps hebben geen oplossingsafhankelijkheden. U kunt deze apps later toevoegen aan oplossingen om ze onderdeel te maken van het oplossings-ALM.

Animatie die een canvas-app in een oplossing toont die gebruikmaakt van een onderdeel uit een onderdelenbibliotheek in dezelfde oplossing en de afhankelijkheden voor beide.

Als u een oplossing importeert die alleen een app heeft die een onderdeel uit een onderdelenbibliotheek gebruikt, maar niet de onderdelenbibliotheek bevat, ziet u het volgende bericht:

'Importeren is mislukt vanwege ontbrekende afhankelijkheden voor <app name>.'

In dit geval kunt u ervoor kiezen om eerst de onderdelenbibliotheekoplossing te installeren of om de onderdelenbibliotheek te bundelen met de oplossing die de canvas-app bevat. Elk van deze stappen zorgt ervoor dat de app de afhankelijkheid heeft die in de doelomgeving is gemaakt.

Wanneer de bibliotheek wordt bijgewerkt en er een nieuwere onderdeelversie wordt geïmporteerd via de oplossingen, zal de app een melding krijgen en de updates ontvangen wanneer de app wordt geopend om te worden bewerkt.

Notitie

Als de voor de onderdelenbibliotheek de optie Aanpassingen toestaan voor beheerde eigenschappen is uitgeschakeld, kan de onderdelenbibliotheek niet worden bewerkt in de doelomgeving.

Afhankelijkheden worden berekend op basis van de laatst gepubliceerde status van een app. Als u een oudere versie van de app terugzet die geen bibliotheekonderdeel gebruikt, wordt de afhankelijkheid uit de app en de oplossing verwijderd. Ook als u een onderdeel uit een onderdelenbibliotheek in een app importeert zonder dit onderdeel daadwerkelijk te gebruiken, wordt er een afhankelijkheid gecreëerd, aangezien het ongebruikte bibliotheekonderdeel beschikbaar blijft in de app voor toekomstig gebruik.

Tip

Als u een onderdeel uit een onderdelenbibliotheek bewerkt binnen de app die het onderdeel gebruik, wordt er een lokale kopie gemaakt. Op dit punt is het bibliotheekonderdeel nog steeds beschikbaar voor gebruik via het deelvenster Invoegen. Als u de afhankelijkheid volledig wilt verwijderen, verwijdert u het onderdeel uit Invoegen > Bibliotheekonderdelen > ... (beletselteken) > Verwijderen uit app.

Aanbevolen procedures en problemen oplossen

  • Beperk het aantal onderdelen in een bibliotheek tot 20 voor optimale prestaties. Maak een planning en maak op basis daarvan van tevoren meerdere onderdelenbibliotheken, aangezien het aantal onderdelen daarin waarschijnlijk in de loop van de tijd zal groeien. Deze aanpak vermindert ook de payload van de oplossing wanneer apps binnen de omgeving worden verplaatst.

  • Er is een vertraging vanaf het moment dat de onderdelenbibliotheek wordt gepubliceerd tot het moment waarop deze beschikbaar is voor de toepassing en deze vertraging kan maximaal 5 minuten bedragen.

  • Als de app de update niet kan ontvangen van het bibliotheekonderdeel in de doelomgeving waarin de oplossing is geïnstalleerd, ga dan na wat het probleem is via de onderstaande acties:

    • Wijzigingen die zijn aangebracht in een onderdelenbibliotheek in een doelomgeving, bevinden zich op de bovenste laag van een onderdeel. Vervolgens bepalen deze aanpassingen het runtime-gedrag van het onderdeel. Als u deze onbeheerde aanpassingen wilt verwijderen, raadpleegt u Een onbeheerde laag verwijderen.
    • Ga na wat de logische naam van de onderdelenbibliotheek is vanuit de oplossingsweergave. Gebruik de standaardoplossing als de bibliotheek niet expliciet aan de oplossing is toegevoegd.
    • Download de app met het bibliotheekonderdeel naar de lokale computer met Bestand > Opslaan als > Deze computer. Wijzig de naam van het gedownloade bestand in een bestandsnaam met de extensie .zip en pak het pakket uit. Open het bestand Properties.json en zoek vervolgens naar het trefwoord 'LibraryDependencies'. U zou hier een bijbehorende logische bibliotheeknaam moeten zien.
    • Als u de oplossing gebruikt, controleert u of de canvas-app de onderdelenbibliotheken correct heeft geïdentificeerd als oplossingsafhankelijkheden. Als de oplossing de onderdelenbibliotheken niet correct identificeert als oplossingsafhankelijkheden, betekent dit dat de app-afhankelijkheid van de onderdelenbibliotheekkoppeling niet correct is gemaakt. Neem in dat geval contact op met de leverancier van de oplossing om het probleem op te lossen.
    • Bent u de oplossingsuitgever, controleer dan of de onderdelenbibliotheken zijn opgeslagen met de logische bibliotheeknaam in de oplossing en of deze hetzelfde is als de naam waarnaar wordt verwezen in het .msapp-pakket van onderdelenbibliotheken.
  • Als een oplossing wordt geëxporteerd, wordt altijd de nieuwste versie van de onderdelenbibliotheek geëxporteerd. Werk de apps daarom altijd bij met de nieuwste onderdeelversie voordat u ze via oplossingen exporteert. Deze actie zorgt ervoor dat de apps dezelfde onderdeelversie hebben als het onderdeel dat beschikbaar is in de nieuwste versie van de onderdelenbibliotheek. Apps en bibliotheek worden geacht met elkaar te zijn gesynchroniseerd wanneer ze voor de eerste keer naar een doelomgeving worden verplaatst en daarom wordt aan u niet gevraagd of er een update beschikbaar is bij het bewerken van de app.

Zie ook

Notitie

Laat ons uw taalvoorkeuren voor documentatie weten! Beantwoord een korte enquête. (houd er rekening mee dat deze in het Engels is)

De enquête duurt ongeveer zeven minuten. Er worden geen persoonlijke gegevens verzameld (privacyverklaring).