Hoe conversie werkt
Laatst bijgewerkt: 14-10-2026De conversiepijplijn heeft de volgende fasen:
- Extraheren — Als
--generatePrjis ingeschakeld, start QV2QS QlikView Desktop om het QVW-bestand naar een PRJ-map te extraheren. QV2QS gebruikt de gebundelde draagbare engine tenzij een systeeminstallatie van QlikView Desktop wordt gedetecteerd. Zie voor meer informatie QlikView Desktop-engine. - Parsen — QV2QS leest de PRJ-map en parseert elke objectdefinitie, werkbladlay-out, load-script, variabele en documenteigenschap. QV2QS leest ook de QVW/QVF-binary direct om metadata, variabelen en eventuele verborgen load-script die in het bestand is ingebed, te extraheren.
- Converteren — Elk QlikView-object wordt toegewezen aan een Qlik Sense-visualisatietype. Dimensies, meetwaarden, uitdrukkingen, stijl en lay-outposities worden vertaald naar Qlik Sense JSON-indeling.
- Schrijven — QV2QS schrijft de geconverteerde app-structuur naar de uitvoermap als een set JSON-bestanden.
- Implementeren (alleen cloudmodi) — QV2QS maakt de app aan op de tenant, uploadt media, bouwt de app, en laadt de app optioneel opnieuw met gegevens.
- Rapport — QV2QS genereert een conversierapport met een samenvatting van de resultaten, de automatisering scores en eventuele items die handmatige opvolging vereisen.
De implementatiefase wordt uitgevoerd in de modi Build naar Qlik Cloud en Export QVF. In de modus Alleen lokaal schrijft QV2QS de geconverteerde uitvoer naar schijf zonder verbinding te maken met Qlik Cloud. De rapportagefase draait in alle modi.
Conversiemodi
QV2QS ondersteunt drie conversiemodi. Selecteer de modus op de Installatie stap van de wizard of met de bijbehorende CLI-vlag.
| Modus | CLI-vlag | Qlik Cloud vereist | Uitvoer | Implementatiefase |
|---|---|---|---|---|
| Bouwen naar Qlik Cloud | (standaard) | Ja | App geïmplementeerd naar tenant | Ja — maakt app, uploadt media, bouwt, publiceert bladen |
| QVF exporteren | --exportQvf
|
Ja | QVF-bestand op schijf | Ja — bouwt de app in Qlik Cloud, exporteert als QVF, en verwijdert vervolgens de cloud-app |
| Alleen lokaal | --unbuildOnly
|
Nee | Build-map en conversierapport op schijf | Nee |
Bouwen naar Qlik Cloud is de aanbevolen modus voor migratie. QVF exporteren is handig voor het produceren van een draagbaar bestand om te delen of te importeren in een andere tenant. Alleen-lokale modus is bedoeld voor beoordeling en revisie. Voor details over beperkingen voor alleen lokaal, zie de sectie hieronder.
De gebruikersinterface staat standaard ingesteld op de vaste canvasmodus, herladen ingeschakeld en auto-binair ingeschakeld. De CLI gebruikt standaard de dynamische rastermodus, met herladen uitgeschakeld en auto-binair uitgeschakeld. Bij het overstappen van de wizard naar de CLI, specificeer deze vlaggen expliciet om het gedrag van de wizard te evenaren. Voor de volledige lijst met argumenten en standaardwaarden, zie Argumentenreferentie.
Alleen lokale modus
Alleen lokale modus (--unbuildOnly) voert de Parse-, Convert-, Write- en Report-fasen uit zonder verbinding te maken met Qlik Cloud. Geen tenant of API-sleutel is vereist. QV2QS genereert het volledige conversierapport, het managementoverzicht en de build-uitvoermap op schijf.
Toepassingen
- Migratiebeoordeling — Voer de modus 'Alleen lokaal' uit om het conversierapport, de management samenvatting, de automatiseringsscore en de bevindingen van expressies te genereren zonder dat toegang tot Qlik Cloud vereist is. Evalueer de conversiekwaliteit voor een volledige QVW-omgeving voordat u de tenant-referenties instelt.
- Pre-implementatiebeoordeling — Controleer de gegenereerde uitvoer (load-script, objectdefinities, variabelen, dimensies) voordat u overgaat tot een cloud-implementatie. Organisaties met wijzigingsbeheerprocessen kunnen de uitvoer beoordelen als een tussentijds artefact.
- Offline of beperkte omgevingen — Wanneer de machine die de QVW-bestanden host geen uitgaande internettoegang heeft, voer dan de modus 'Alleen lokaal' uit om het conversierapport lokaal te genereren. Om de geconverteerde app te implementeren, kopieer de QVW-bestanden naar een machine met Qlik Cloud-toegang en voer QV2QS uit in de modus 'Build to Qlik Cloud' vanaf de verbonden machine.
Beperkingen
De implementatiefase verwerkt verschillende bewerkingen die qlik app build alleen niet uitvoert. Het uitvoeren van de modus 'Alleen lokaal' en vervolgens het handmatig implementeren van de build/ map met een zelfstandige qlik-cli installatie, resulteert in de volgende hiaten.
- Mediabestanden zijn niet geüpload. Achtergrondafbeeldingen en knopafbeeldingen worden geëxtraheerd naar de
images/map, maar zijn niet opgenomen in debuild/map. Deqlik app buildopdracht verwerkt geen mediabestanden. Alle achtergrondafbeeldingen en knopafbeeldingen zullen ontbreken in de geïmplementeerde app. - Blad- en objectachtergrondverwijzingen zijn niet opgelost. QV2QS injecteert URL's van achtergrondafbeeldingen in de werkblad- en object-JSON-bestanden tijdens de implementatiefase met behulp van de cloud-app-ID. De lokale build-output bevat geen verwijzingen naar achtergrondafbeeldingen. Bladen en objecten zullen geen achtergronden hebben in de geïmplementeerde app.
- URL's van knopafbeeldingen bevatten tijdelijke aanduidingen. Knopafbeeldingen in de lokale build-output gebruiken interne placeholderwaarden in plaats van opgeloste media-URL's. De Qlik Sense-engine kan de placeholder-tekenreeksen niet interpreteren. Knopafbeeldingen zullen er kapot uitzien.
- Alternatieve staten worden niet gemaakt. Alternatieve staatsnamen worden geschreven naar
cloud/alternate_states.jsonbuiten debuild/map. Deqlik app buildopdracht verwerkt geen alternatieve states. Objecten die refereren aan niet-standaard statussen worden mogelijk niet correct weergegeven. - Werkbladen zijn niet gepubliceerd. De
qlik app buildopdracht maakt bladen aan als persoonlijke objecten die alleen zichtbaar zijn voor de eigenaar van de app. QV2QS publiceert bladen als basisbladen tijdens de implementatiefase. In een gedeelde ruimte zien andere gebruikers geen bladen totdat de bladen handmatig worden gepubliceerd.
Voor een volledige implementatie inclusief media-upload, achtergrondresolutie, aanmaak van alternatieve statussen en publicatie van werkbladen, gebruik de modus 'Build to Qlik Cloud' of 'Export QVF' in plaats van de modus 'Local only'.
Veiligheid van bronbestanden
QV2QS wijzigt de inhoud van het bron-QVW- of QVF-bestand niet. Tijdens de Extract-fase opent QV2QS het brondocument via QlikView Desktop en slaat een tijdelijke kopie op in een tijdelijke systeemmap. QV2QS sluit vervolgens het origineel en genereert de PRJ-map vanuit de tijdelijke kopie. Nadat de PRJ-generatie is voltooid, kopieert QV2QS de resulterende -prj map terug naar dezelfde map als het bronbestand en verwijdert de tijdelijke kopie. Als een -prj map al bestaat naast het bronbestand, vervangt QV2QS de map door de nieuw gegenereerde versie. Alle andere conversie-output wordt geschreven naar de afzonderlijke uitvoermap die is opgegeven door --outputDir.
QlikView Desktop verkrijgt een bestandsslot op het brondocument terwijl de tijdelijke kopie wordt aangemaakt. Het uitvoeren van QV2QS op een bestand dat actief geopend is in QlikView Desktop of wordt aangeboden door QlikView Server kan leiden tot conflicten met bestandsvergrendeling of mislukte PRJ-generatie. Bestanden op gedeelde netwerkschijven kunnen dezelfde conflicten veroorzaken. Het wegschrijven van de -prj map terug naar een netwerkshare of alleen-lezen map kan ook mislukken.
Om elk risico voor productieomgevingen te vermijden, werk altijd met kopieën van brondocumenten. Doe het volgende:
- Kopieer de QVW- of QVF-bestanden naar een lokale werkmap op de machine waar QV2QS draait.
- Wijs QV2QS naar de gekopieerde bestanden, niet naar de originelen.
- Sluit alle actieve QlikView Desktop-instanties voordat u de conversie start. QV2QS vereist exclusieve toegang tot QlikView Desktop.
Voer QV2QS niet rechtstreeks uit op QlikView Server-documentmappen, productienetwerkshares of bestanden die open zijn in QlikView Desktop. Gebruik altijd een lokale kopie van de brondocumenten.
Typische timing
QV2QS is ontworpen voor snelheid. De volledige pijplijn is voltooid in minuten, niet uren. De volgende tabel toont typische doorlooptijden voor een conversie van een enkele app.
| Fase | Typische duur | Opmerkingen |
|---|---|---|
| Extractie (PRJ-generatie) | 5–15 seconden | Afhankelijk van de complexiteit van de QVW. Overgeslagen als een PRJ-map al bestaat. |
| Parsen + Converteren + Schrijven | Minder dan 30 seconden | De kern XML-naar-JSON-conversie. Verwerkt complexe apps met honderden objecten. |
| Implementeren (cloud build) | 1–3 minuten | Omvat app-creatie, media-upload en app-build op de tenant. |
| Opnieuw laden | Denkproces: De gebruiker wil het Engelse woord "Varies" vertaald naar nl-NL. Er zijn geen HTML/XML tags aanwezig, dus ik hoef me alleen te concentreren op de vertaling. 1. **Analyseer het bronwoord:** "Varies" is een werkwoord in de derde persoon enkelvoud, tegenwoordige tijd, of een bijvoeglijk naamwoord/bijwoord dat "verschillend" of "afhankelijk" betekent. In de context van documentatie (bijv. "De prijs varieert", "De grootte varieert") is het meestal een werkwoord of een korte aanduiding voor "variabel" of "verschillend". 2. **Overweeg mogelijke Nederlandse vertalingen:** * Als werkwoord: "varieert", "verschilt", "is verschillend". * Als bijvoeglijk naamwoord/bijwoord (korte aanduiding): "Variabel", "Verschillend", "Afhankelijk", "Wisselend". 3. **Kies de meest passende vertaling voor een algemene, korte context:** "Varies" wordt vaak gebruikt als een korte, algemene aanduiding, vergelijkbaar met "N.v.t." (Niet van toepassing) of "Zie hierboven". In zo'n context is "Variabel" of "Verschillend" vaak passend. Echter, "Varieert" is de meest directe en letterlijke vertaling van het werkwoord en wordt vaak gebruikt in tabellen of lijsten om aan te geven dat een waarde niet vast is. 4. **Contextuele overweging (algemeen):** Zonder verdere context is "Varieert" de meest neutrale en breed toepasbare vertaling die de betekenis van "niet vaststaand, kan anders zijn" goed overbrengt. "Verschillend" kan ook, maar "Varieert" impliceert meer de *actie* van variëren. 5. **Definitieve keuze:** "Varieert" is de meest directe en gangbare vertaling voor "Varies" in een algemene, korte context. 6. **Controleer HTML/XML:** Er zijn geen tags, dus geen actie vereist. **Vertaling:** Varieert | Afhankelijk van gegevensvolume, latentie van de gegevensbron en tenantbronnen. Het binair laden van een typische QVW duurt minder dan een minuut. |
Een conversie van één app met cloud-implementatie en het opnieuw laden van gegevens wordt doorgaans voltooid binnen twee tot vijf minuten van begin tot eind. Lokale conversies (--unbuildOnly) zijn voltooid in minder dan 30 seconden.
In batchmodus converteert QV2QS meerdere projecten parallel. Totale batchtijd schaalt met het aantal projecten gedeeld door het aantal werknemers. Voor een batch van 20 apps met vier workers, verwacht ongeveer vijf keer de duur van één app voor de lokale conversiefase, plus de cloud-implementatietijd.
Outputmapstructuur
Het --outputDir argument geeft de uitvoerroot aan. QV2QS maakt een submap aan, genoemd naar het QVW-bestand (of PRJ-map), binnen de uitvoerhoofdmap. Alle conversie-output voor het project wordt naar die submap geschreven. Als twee QVW-bestanden dezelfde naam delen, voegt QV2QS _2, _3, en daaropvolgende nummers toe om conflicten te voorkomen. Dit gedrag komt overeen met de batchmodus, waarbij elk project ook een toegewezen submap krijgt.
<outputDir>/
<ProjectName>/
build/
images/
reports/
logs/
cloud/
qvf/
QV2QS maakt de uitvoermap aan als de map nog niet bestaat. Als de map bestaat van een vorige uitvoering van dezelfde QVW, hergebruikt QV2QS de map. Bestaande logbestanden in de map blijven behouden, tenzij Logs opschonen is ingeschakeld. De uitvoermap mag niet hetzelfde zijn als of een bovenliggende map zijn van een bronmap. QV2QS valideert het uitvoerpad voordat de conversie wordt gestart en meldt een fout als de paden overlappen. De projectsubmap bevat het volgende:
| Map / bestand | Inhoud |
|---|---|
build/
|
Qlik Sense app-structuur voor qlik app build. Bevat config.yml (build-manifest), script.qvs (load-script), app-properties.json, connections.yml (gegevensverbindingen), dimensions.json (hoofddimensies), measures.json (hoofdmetingen), variables.json, en een objects/ submap met één JSON-bestand per werkblad en visualisatie. |
images/
|
Geëxtraheerde mediabestanden (gededupliceerd op inhouds-hash) en backgrounds.json (achtergrondmanifest). |
reports/
|
executive_summary.json, executive_summary.html, en het Excel-conversierapport (*_conversion_report_*.xlsx) indien ingeschakeld. |
logs/
|
Per uitvoering gestructureerde logbestanden. |
cloud/
|
cloud_state.json (app-ID, media-hash, werkblad-ID-toewijzing, tijdstempel) en alternate_states.json. Gemaakt tijdens cloud implementatie. |
qvf/
|
Geëxporteerde QVF-bestanden (gemaakt wanneer --exportQvf wordt gebruikt). |
.qv2qs_source
|
Markeerbestand dat vastlegt welke QVW de submap heeft geproduceerd. QV2QS gebruikt de marker om naamconflicten te detecteren en om de juiste map opnieuw te gebruiken bij daaropvolgende uitvoeringen. |
Open de uitvoermap direct vanuit de wizard nadat een conversie is voltooid.
Na conversie
Nadat een conversie is voltooid, doorloop de volgende items, gegroepeerd op prioriteit.
Oplossen vóór publicatie
- Open het Excel-conversierapport in de
reports/submap en controleer het Opvolgobjecten werkblad. Corrigeer eerst alle items die zijn gemarkeerd als Fout (objecten die niet zijn geconverteerd), daarna Tijdelijke aanduiding (objecten die opnieuw moeten worden opgebouwd), daarna Aanpassingen vereist (objecten die gedeeltelijk zijn geconverteerd). - Bekijk de analysebevindingen op het Analyse-werkblad, inclusief macroverwijzingen, Sectietoegang-gebruik en load-script-patronen die handmatige aandacht kunnen vereisen.
- Controleer of uitdrukkingen correct worden geëvalueerd. QV2QS lost automatisch problemen met aanhalingstekens in set-analyse op tijdens de conversie. Controleer berekende dimensies, conditionele kleuring en expressies die gebruikmaken van QlikView-specifieke functies (
GetCurrentField(),MsgBox()) die handmatige herschrijving vereisen. - Controleer het Overflow_Actions werkblad voor objecten waarbij overtollige dimensies of metingen zijn verplaatst naar de alternatievenverzameling.
Verifiëren voor publicatie
- Open de geconverteerde app in Qlik Sense en controleer of de werkbladindelingen, objectposities en achtergrondafbeeldingen naar verwachting worden weergegeven.
- Controleer of tabbladcontainer-navigatie (knopstroken of tabbladcontainers) correct schakelt tussen inhoudsgebieden.
- Test drill-down en het doorloopgedrag van cyclische groepen op grafieken die dimensiegroepen gebruiken.
- Controleer of weergavecondities objecten verbergen en weergeven zoals verwacht.
- Controleer sorteervolgordes in keuzelijsten en tabellen, vooral voor datumachtige velden.
Pools
- Pas lettertypen, kleuren of objectpositionering in de Qlik Sense app-editor aan, indien nodig. Voor richtlijnen over lay-outpositionering, zie Conversie lay-outinstellingen.
Voor een volledige beschrijving van de rapportinhoud, zie Conversierapport.