Een bestaande app hergebruiken
Laatst bijgewerkt: 14-10-2026QV2QS kan zich richten op een bestaande Qlik Sense app in plaats van bij elke implementatie een nieuwe app te maken, waardoor iteratieve ontwikkeling mogelijk wordt en de app-ID behouden blijft.
Standaard maakt QV2QS bij elke implementatie een nieuwe app aan. Kies in plaats daarvan een bestaande app als doel om de app ter plekke bij te werken en de app-id te behouden. Deze aanpak maakt iteratieve ontwikkeling mogelijk en behoudt bladwijzers en links die verwijzen naar een specifieke app-ID.
Drie argumenten pleiten voor hergebruik:
--appId APP_ID— Geef de app-ID rechtstreeks op.--appIdFile PATH— Lees de app-ID uit de eerste regel van een tekstbestand.--reuseAppId— Lees de app-ID uitcloud/cloud_state.jsonin de projectsubmap. Dit bestand wordt automatisch geschreven na elke implementatie.
Het cloud/cloud_state.json-bestand wordt opgeslagen in de projectsubmap (bijvoorbeeld <outputDir>/Sales/cloud/cloud_state.json). Het bestand registreert de app-ID, media-hash, werkblad-ID-koppeling, het bronbestandspad en een tijdstempel. De flag --reuseAppId leest dit bestand automatisch, zodat volgende uitvoeringen dezelfde app bijwerken zonder dat handmatige invoer van het app-ID vereist is. In batchmodus werkt --reuseAppId per project — elk project leest de cloud_state.json uit zijn eigen uitvoersubmap.
Sheet-ID-toewijzing
Elk QlikView-document identificeert werkbladen aan de hand van interne namen zoals Document\SH01, Document\SH02, enzovoort. Qlik Sense gebruikt UUID's om werkbladen te identificeren. Wanneer QV2QS voor het eerst een app implementeert, krijgt elk geconverteerd werkblad een nieuwe UUID. QV2QS slaat de koppeling tussen de QlikView-werkbladnaam en de Qlik Sense UUID op in de doel-app, zodat de relatie behouden blijft over implementaties heen.
Bij volgende implementaties naar dezelfde app leest QV2QS de opgeslagen mapping en wijst de oorspronkelijke Qlik Sense-UUID's toe aan de bijbehorende geconverteerde werkbladen. De toewijzing voorkomt dat gedupliceerde werkbladen in de app verschijnen en behoudt bladwijzers, favorieten en directe koppelingen die verwijzen naar een specifieke werkblad-ID.
De mapping wordt op twee locaties opgeslagen:
- Binnen de Qlik Cloud-app — Een specifiek object binnen de app bevat de toewijzing. De toewijzing reist mee met de app als de app wordt verplaatst naar een andere ruimte of wordt geëxporteerd als een QVF.
- In de lokale projectmap — Het
cloud/cloud_state.json-bestand bevat een kopie van dezelfde toewijzing. De vlag--reuseAppIdleest de app-ID en toewijzing uit dit bestand.
QV2QS leest altijd de mapping uit de cloud-app (niet het lokale bestand) bij het voorbereiden van een herimplementatie. Het lokale bestand is een handig hulpmiddel voor de vlag --reuseAppId om de app-ID te lokaliseren.
Mediahash-optimalisatie
QV2QS berekent een hash van alle mediabestanden (werkbladachtergronden, objectachtergronden, knopafbeeldingen) en slaat de hash op naast de werkbladtoewijzing. Bij volgende deployments vergelijkt QV2QS de huidige hash met de opgeslagen waarde. Als de media niet zijn gewijzigd, wordt de uploadstap volledig overgeslagen.
Toewijzingsvalidatie
Voordat werkbladen worden voorbereid op vervanging, valideert QV2QS de opgeslagen mapping aan de hand van de live app. Als een werkblad tussen implementaties handmatig uit de Qlik Cloud-app is verwijderd, detecteert QV2QS dat het werkblad niet meer bestaat, verwijdert het de verouderde vermelding uit de toewijzing en behandelt het het bijbehorende QlikView-werkblad als nieuw bij de volgende build. De bijgewerkte mapping wordt teruggeschreven naar de app nadat de build is voltooid.
Werkbladen toegevoegd of verwijderd in de QlikView-bron
Wanneer na de initiële implementatie een werkblad aan de QlikView-bron wordt toegevoegd, wijst QV2QS een nieuwe UUID toe aan het werkblad en voegt het de vermelding toe aan de mapping. Wanneer een werkblad wordt verwijderd uit de QlikView-bron, is het werkblad niet langer aanwezig in de build-uitvoer en wordt het tijdens de build verwijderd uit de Qlik Cloud-app. De toewijzingsvermelding voor het verwijderde werkblad wordt niet overgenomen.
Projectmapkoppeling
QV2QS schrijft na de eerste conversie een .qv2qs_source markerbestand naar elke projectuitvoermap. De markering registreert het volledige pad van het QVW-bronbestand. Bij volgende uitvoeringen gebruikt QV2QS de markering om de juiste projectmap voor een bepaald QVW-bestand te vinden, zelfs wanneer meerdere mappen dezelfde basisnaam delen (bijvoorbeeld Sales/, Sales_2/, Sales_3/).
De markering zorgt ervoor dat elk QVW-bestand wordt gekoppeld aan precies één uitvoermap. Bij het converteren van een QVW-bestand dat eerder is geconverteerd, zoekt QV2QS in de hoofdmap van de uitvoer naar een submap waarvan de markering overeenkomt met het bronpad. Als er een overeenkomst wordt gevonden, hergebruikt QV2QS die map en leest het de cloud_state.json daarin. Als er geen overeenkomst wordt gevonden, maakt QV2QS een nieuwe submap aan met een numeriek achtervoegsel.
In de wizard is dezelfde matchingslogica van toepassing. Wanneer Bestaande app opnieuw gebruiken is ingeschakeld, controleert de wizard de uitvoermap op een overeenkomend project en vult het veld AppId automatisch in vanuit de vorige implementatie. Als er geen eerdere implementatie wordt gevonden, blijft het veld leeg en accepteert het handmatige invoer of de bladerkiezer.
Het .qv2qs_source markeringsbestand wordt automatisch aangemaakt. Bewerk of verwijder het bestand niet. Het verwijderen van de markering zorgt ervoor dat QV2QS bij de volgende uitvoering een nieuwe projectsubmap aanmaakt in plaats van de bestaande opnieuw te gebruiken.
Herimplementatiegedrag
QV2QS gebruikt qlik app build om naar de doel-app te implementeren. De build-opdracht voert een volledige vervanging uit van het app-objectmodel. Alle objecten die in de build-uitvoer zijn gedefinieerd, worden naar de app geschreven. Objecten die niet aanwezig zijn in de build-uitvoer worden verwijderd.
Voordat de build wordt uitgevoerd, bereidt QV2QS bestaande werkbladen voor op vervanging. QV2QS valideert de werkbladtoewijzing aan de hand van de live app (zie Werkblad-id-toewijzing), registreert de publicatiestatus en rangschikking van elk werkblad en verwijdert de oude werkbladen uit de cloud-app. De lokale build-uitvoer wordt gepatcht met de oorspronkelijke Qlik Sense werkblad-ID's, zodat bladwijzers en koppelingen die naar deze ID's verwijzen na de build blijven werken.
Nadat de build is voltooid, herstelt QV2QS de oorspronkelijke werkbladstatus. Werkbladen die eerder zijn gepubliceerd, worden opnieuw gepubliceerd als basiswerkbladen en de oorspronkelijke rangorde (weergavevolgorde) wordt hersteld. Nieuwe werkbladen die niet bestonden in de vorige implementatie worden gepubliceerd als basiswerkbladen wanneer de instelling Werkbladen publiceren is ingeschakeld. Schakel de instelling uit om nieuwe werkbladen ongepubliceerd te laten.
Door gebruikers gemaakte inhoud in de doel-app (handmatig toegevoegde werkbladen, bladwijzers, verhalen of aangepaste objecten die zijn gemaakt na de vorige implementatie) wordt niet behouden tijdens herimplementatie. De opdracht qlik app build vervangt de app-inhoud door de build-uitvoer. Maak een back-up van de app of publiceer deze voordat u opnieuw implementeert als er handmatige aanpassingen zijn aangebracht.
Back-up vóór implementatie
Bij het hergebruiken van een bestaande app exporteert QV2QS automatisch een QVF-back-up zonder gegevens voordat de app wordt gewijzigd. De back-up legt de app-structuur (werkbladen, objecten, load-script en metagegevens) vast zonder gegevens, zodat het exporteren snel is en het bestand klein is.
Back-ups worden opgeslagen in cloud/backups/ binnen de uitvoermap van het project. Elk back-upbestand heeft de naam <AppName>_<shortId>_<timestamp>_nodata.qvf. Bijvoorbeeld Sales_a1b2c3d4_20260226-143025_nodata.qvf.
Als het exporteren van de back-up mislukt (bijvoorbeeld door een netwerkonderbreking of onvoldoende machtigingen), registreert QV2QS een waarschuwing en gaat verder met de implementatie. De fout blokkeert de conversie niet.
Om de automatische back-up over te slaan, geeft u --noBackup op via de opdrachtregel of schakelt u Back-up vóór implementatie overslaan in de wizard in. Het overslaan van de back-up is nuttig in CI/CD-pipelines waarin back-ups extern worden beheerd.
Het load-script van de doel-app behouden
Standaard vervangt QV2QS het load-script in de doel-app door het geconverteerde load-script uit de QlikView-bron. Gebruik --preserveTargetAppScript om het bestaande load-script in de doel-app ongewijzigd te laten. Het geconverteerde load-script wordt naar het lokale build/script.qvs-bestand geschreven, maar wordt niet toegepast op de cloud-app.
Deze optie vereist --appId of --reuseAppId omdat deze alleen van toepassing is wanneer u zich richt op een bestaande app. Het kan worden gecombineerd met --reload om het bestaande script uit te voeren na het bijwerken van de UI, wat nuttig is wanneer de doel-app al werkende Qlik Cloud-gegevensverbindingen heeft. Het kan ook worden gecombineerd met --autoBinary om tijdelijk gegevens uit het oorspronkelijke QVW-bestand te laden terwijl het doelscript intact blijft.
De variabelen van de doel-app behouden
Standaard vervangt QV2QS de variabelen in de doel-app door de geconverteerde variabelen uit de QlikView-bron. Gebruik --preserveTargetAppVariables om de bestaande variabelen in de doel-app ongewijzigd te laten. De geconverteerde variabelen worden naar het lokale variables.json-bestand geschreven, maar worden niet toegepast op de cloud app.
Deze optie vereist --appId of --reuseAppId omdat deze alleen van toepassing is wanneer u zich richt op een bestaande app. Het kan worden gecombineerd met --preserveTargetAppScript om zowel het load-script als variabelen van de doel-app intact te houden.