Could any help me with a frustrating nprinting issue.
We have a schedule set up in nprinting that runs various nsqs throughout the day. However if one of these nsqs gets amended and saved by the reporting team during the daily run, it resets the daily schedule meaning the subsequent reports in the schedule do not run.
Is there a way of turning off the automatic refreshing of the schedule ie so that the team can work on nsqs without the fear of resetting the nprinting daily schedule?
Does that make sense.
Good afternoon. You referenced NSQs, which I assume you are still using Nprinting 16? If that is the case I would highly recommend you upgrade to the latest version of Nprinting where this should be a non issue.
Please, when posting a new question, use a meaningful subject to help other readers to fast understand if they can help you or if it is useful to solve their issues. Thanks.
QlikView NPrinting 16.* is a file based solution, with all limits of that kind of technology. It doesn't have a database or another way to store the status or the point where a task stopped working and developers need to edit an .nsq file to develop the system. Instead Qlik NPrinting 17+ has a database as repository so it allows concurrent updates and is more fault tolerant.
QlikView NPrinting 16.* is already out of support.
But you're clogging up this chat with non answers. Im aware its out of support thats easy for me to see just by googling it, but its what the business is using. Now when someone has a similar problem all they will find is 2 non helpful responses from people in 'Support'.
so you cant help...
Sorry, I was not clear.
The behavior you experienced is the normal way of working of QlikView NPrinting 16 because it is based on files. The .nsq that you mentioned are xml files so text files. If a task has an error while generating reports QlikView NPrinting 16 has not a feature to store the information about the already generated reports and the ones still in the queue. So, to be sure to send all reports, you have to start the task again and some users will have the same report two times.
Developers change the same .nsq file used by the Scheduler Windows service. Files are not developed to allow multiple access at the same time. You should stop the Scheduler, update the .nsq and start the scheduler again. That is what we suggested to QlikView NPrinting 16 customers.
In fact it is the limitation of QlikView NPrinting 16 that suggested us to use a Database Server as Repository in Qlik NPrinting 17+. A Database allows, and is designed to support, access by multiple users at the same time. So in Qlik NPrinting 17+ you can have many developers working on the system at the same time it is generating reports.
I hope I'm more clear now, otherwise feel free to ask.
To answer your question I will just post my own question re development: "What is the best development practice?" Is it to work directly on production file? No - it isn't. Is it to overwrite production files without deployment plan? No - it isn't.
I know you may not like my answer as it may not solve your problem, but you wouldn't have that problem if good development practice was implemented.
So the solution to your problem is to implement framework where people who are modifying nsq's are doing so in their own branches/folders and not deploying changes to prod when tasks are running. You can imagine that this is actually standard practice (to have DEV space and PROD space). NPrinting has tools to manage that (environmental variables and use of relative paths) which allows you to configure both those spaces in a way that once development is done you just deploy it (copy files) to PROD in suitable for that time. To go even further you normally would have source control tool doing that for you (Bitbucket or similar).
I hope this could at least partially fix your problem.
Hi thank you for your replies. Yes its not been set up in an ideal way but its legacy and unfortuntley I have to make the best of what I have at the moment. I wonder though, if you have an nsq in dev and its connected to an app in dev, when you promote this to live wouldnt the nsq connection stay as the dev file path? Is there a way of having the connection as a variable so that once the nsq and app are promoted to live, the file path also changes to the live app file path without the need to go back into the nsq and amend connection.
Otherwise I dont see how you can have a dev and live environment when the nsq app connection isnt dynamic. Having a relative path for the connection would be a great way forward.
Any help on that would be much appreciated as id happily put forward this to the team. Otherwise im still going to have the issue of people saving nsqs when the schedule is running and subsequently restarting the schedule.
QlikView NPrinting 16 projects are nsq files so you can create a dev copy simply by duplicating that file. You work on the copy, test, etc and when it is ready you can change the QlikView NPrinting Scheduler service configuration by removing the old .nsq and adding the new one.
I don't remember but maybe you need to restart the service after saving.
If you delete report templates you have also to manually delete the related file because deleting a template in the .nsq doesn't delete the linked file.
Hi Reggero, thanks for your response but I am aware of all that. Could you stop replying as I dont think you're even reading/trying to understand my problem and its confusing the chat. Sorry to be abrupt. Im not a bad person honestly.
Lech reply is something i'd like to pursue as an alternative but I dont fully understand how I can implement it. (it would involve creating a mirror of our prod environment i guess?)