Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
kerkying
Partner Ambassador Alumni
Partner Ambassador Alumni

Allow enterprise users to create own template and publish

Hi all,

I have an implementation where we are using AccessPoint to expose a set of pre-defined QVWs for users to access and do data discovery. The QVWs are stored in a Windows Server running IIS and there are a pool of QVDs that serves as a data lake for the QVWs to pull data from.

We have a requirement to allow users to create their own QVW to publish. This will include allowing users to create their own QVWs (licensing issues aside) and load multiple QVDs. However the problem statement we are facing is how do we allow users to do their own development locally (download QlikView desktop on their own workstations) but still have a reference set of QVDs to extract sample data from?

Do any of you all have any such requirements from your own implementations?

1 Solution

Accepted Solutions
marcus_sommer

Mainly it depends of the level of trustworthiness and knowledge of these users how and with which efforts you could implement such logic. It just based on the access-rights to the qvd's and at least one mounted qvw-folder.

In the simplest case you give them just the access-rights and they could loading data and creating qvw's like the want quite identically as if they would work directly on the server - a bottleneck in this scenario (beside security considerations) could be the probably slow network-traffic compared with the local storage of the server.

We use a quite similar scenario and the waiting-times by the larger qvd's/qvw's is quite significantly - but in this way I could ensure that all data are always up to date. Otherwise I would need logics which copies the data and applications  from the server to the local machines and back again - regularly and/or on the demand - which is in generally possible but not really trivial to implement and would consume a lot of traffic to transfer everything to and fro.

From this as a starting point you could make it more complex with specific folders or maybe even an own server in between the qlikview environment and these local users and more or less redundant data more or less permanently synchronized with tools like robocopy.

The licencing topic is probably the easiest one because the users could lease them from the server. A single licence meant two accesses for example one with the access point and the other within the desktop client (needs to be refreshed all 30 days).

- Marcus

View solution in original post

4 Replies
marcus_sommer

Mainly it depends of the level of trustworthiness and knowledge of these users how and with which efforts you could implement such logic. It just based on the access-rights to the qvd's and at least one mounted qvw-folder.

In the simplest case you give them just the access-rights and they could loading data and creating qvw's like the want quite identically as if they would work directly on the server - a bottleneck in this scenario (beside security considerations) could be the probably slow network-traffic compared with the local storage of the server.

We use a quite similar scenario and the waiting-times by the larger qvd's/qvw's is quite significantly - but in this way I could ensure that all data are always up to date. Otherwise I would need logics which copies the data and applications  from the server to the local machines and back again - regularly and/or on the demand - which is in generally possible but not really trivial to implement and would consume a lot of traffic to transfer everything to and fro.

From this as a starting point you could make it more complex with specific folders or maybe even an own server in between the qlikview environment and these local users and more or less redundant data more or less permanently synchronized with tools like robocopy.

The licencing topic is probably the easiest one because the users could lease them from the server. A single licence meant two accesses for example one with the access point and the other within the desktop client (needs to be refreshed all 30 days).

- Marcus

kerkying
Partner Ambassador Alumni
Partner Ambassador Alumni
Author

Hi Marcus,

Thanks for the insightful comments as always..you are right regarding the slow network traffic, we might instead expose the QVDs to the users via WEBDEV for them to connect to and do development directly querying these QVDs

The main issues we are facing with this solution is:

- As we don't allow direct interaction with the production server, we will replicate the QVDs in a separate environment with a hourly/daily incremental sync for users to access. This replication is tricky to achieve..

- Which is the best way to expose the QVDs, which are flat files for multiple concurrent users to access?

Digvijay_Singh

Just thought of one possibility where reference QVWs can be prepared having pre-defined QVDs loaded. Users can binary load these reference QVWs in their personal docs. But I know this won't look feasible if reference QVDs are too many in numbers.

marcus_sommer

I think you couldn't definitely avoid conflicts by accessing the qvd's but minimizing the risk of it should be possible.

For example I could imagine an approach which used two parallel qvd-repositories - one is in access of the synchronizing-routine and the other is for the user-access. For this approach the sychro-routine set (stored as text-file) a variable which will be read from each load-script through an include-variable which in the end defined which main-path is currently available.

This would minimize the conflicts between the synchro-routine and the users. Between concurrent users ... hmm difficult. Are the amounts and sizes of the qvd's not too heavy each user could get it's own repository.

Another approach could be to use special sub-routines for loading (and even writing) the data which use for example various iterations within loops to read/write the data by using the ERRORMODE feature. But this would mean that the user couldn't load data quite natively else they would need to use rather complex routines for it (of course they could be simplified with appropriate routine-templates which are also loaded per include-variable ...

- Marcus