Git Product home page Git Product logo

qs-backup-and-restore-app's Introduction

Qlik Sense Mashup for Backup and Restore apps

Using the SerializeApp from Alexander Karlsson we can export the QS app ( without the data ) to json file. This will include all objects - sheets, dimension and measures, stories etc. Then this file can be put under version control or can be stored just as a backup.

The next step is to use the json file to import it back when is needed. And this is what (part of) this mashup is supposed to do. This mashup provide both export the app to json and import the json file.

Supported objects

  • sheets ( with all containing objects )
  • stories
  • master objects
  • dimensions
  • measures
  • snapshots
  • bookmarks
  • variables
  • app properties - like name, thumbnail, description etc.
  • load script
  • fields

Installation

Works with QS version >=2.1.1

  • QS Desktop - unzip the release in C:\Users\[USERNAME]\Documents\Qlik\Sense\Extensions
  • QS Server
    • login to QMC
    • naviagete to "Extensions"
    • press "Improt" button (bottom of the page)
    • pick the release zip file
    • press "Import" button
    • (verify that the import process finished without errors from the notification popup)

Backup

During the export the app is not changed in any way. The generated file will be automatically downloaded to your download folder.

Restore

The restore process will read the existing app objects and will compare them with the objects from the backup file.

  • existing objects - the objects which are present in the current app and in the json file will be updated with the properties from the json file
  • missing objects - objects that are present in the current app and not present in the json file will be deleted from the app (see exclusions below)
  • new objects - objects which are present in the json file and not present in the current app will be created in the app
  • data connectors - existing data connectors will be updated but if data connector need to be inserted QS Engine will assign new id even if id is provided from the json file (this is how the engine works)

Few exclusions: Some objects are excluded from the overall process ( for now )

  • embedded media - the actual media files will not be deleted ( if needed ) and they will stay in the content library. At the current moment I haven't found a method that can include these files in the backup process.

After the restore process is finished the app will be saved to preserve the changes. It's highly recommended to reload the app after the restore process ( my plan is to add this as an option in the following releases )

Usage

  • Navigate to the mashup web page (for example: http://localhost:4848/extensions/backup-and-restore/backup-and-restore.html). The mashup will automatically establish connection with the QS Engine
  • Pick an app from the dropdown and press "Open" ( can take some time. depends on the app size )
  • At this point "Backup" button is active ( if you need to only backup an app or just backup before restore )
  • Choose the json backup file
  • After this you will see the statistics - how many objects will be deleted, inserted and updated. Deleted objects will always be more. This number include all the sheets objects (including the sheets itself) but the json file count only the sheets ( the objects in the sheets are sheets children and they are included in the sheet object itself )
  • press the "Restore" button and wait for the process to finish. After the process is done the result table will be populated with more detail about the objects that were processed.
  • That's it! If you have the app already open just refresh the browser tabs where this app is open.

Note

If the file is unable to download in IE please make sure that your "File download" option is set to "Enabled" in IE Security Settings for Internet

Change log

v0.9.6 (26/07/2016)

  • add - data connectors will be updated, deleted and inserted
  • add - error count indicator + mark the error rows

v0.9.5 (11/03/2016)

  • fix - downloading the serialized app file works in Firefox

v0.9.3 (18/01/2016)

  • fix - downloading the serialized app file works in IE 11+

v0.9.2 (17/01/2016)

  • fix - opening multiple apps is performed correctly

v0.9.0 (03/01/2016)

  • add - "variables" support
  • update - qsocks to v2.1.5
  • update - serializeapp to v1.0.3
  • fix - no need to refresh the page to switch the apps

Please report and issues in the Github issue tracker

Screenshot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.