Running PFFs on a server

Discussions about CSEntry
lls
Posts: 109
Joined: December 6th, 2011, 3:11 pm
Location: Geneva, Switzerland

Re: Running PFFs on a server

Post by lls »

To be more precise, when a keyer start a session, he must enter the first letters of his first and last name: say AB for example. The first time, a .dat file is created named after his ID, here it would be AB.dat. Main files are on the server side and as many as there are keyers of course. Next time AB open a session, his .dat file is backed up (copied) using "filecopy", so there is always a copy of the last .dat file. But the .dat file is backed up before starting entering new data. The server is also backed up every night.

The menu starts with this kind of code. This is not the final one but it might give you an idea.
It is largely inspired by one of the many exemples Gregory had shared with us on this forum.

Code: Select all

PROC GLOBAL

alpha (50) pffFileName = "launcher.pff";
alpha (50) tablesFileName = "Tables.tbw";
alpha (50) dataFileName;
file pffFile;

//Local folders
alpha (300) dataFolderName = "..\\Data";
alpha (300) htmlFolderName = "..\\HTML";
alpha (300) entryFolderName = "..\\Entry";
alpha (300) manualFolderName = "..\\Manual";
alpha (300) batchFolderName = "..\\Batch";
alpha (300) tabulationFolderName = "..\\Tabulation";
alpha (300) tablesFolderName = "..\\Tables";

//Remote folder (NETWORK)
//alpha (300) remoteDataFolderName = "C:\\Users\\...\\...\\";

//--------------------------------------------------------------------------------------------------/

PROC SURVEY_MENU_SYSTEM_FF


PROC KEYER_NAME

if not $ in "AD","AE","ES","FB","JB","SB","ST","SW" then
  errmsg ("Unknown person");
    endif;
PROC SURVEY_NUMBER

//--------------------------------------------------------------------------------------------------/

	if $ = 1 then

		// 1) create new PFF file
		setfile(pffFile,strip(pffFileName),create);

		// 2) write out PFF file with data file based on keyer's name
		filewrite(pffFile,"[Run Information]");
		filewrite(pffFile,"Version=CSPro 5.0");
		filewrite(pffFile,"AppType=Entry");

		filewrite(pffFile,"[DataEntryInit]");
		filewrite(pffFile,"Interactive=Ask");
		filewrite(pffFile,"OperatorID=%s",KEYER_NAME);
		filewrite(pffFile,"StartMode=add");
		filewrite(pffFile,"FullScreen=No");

		filewrite(pffFile,"[Files]");
		filewrite(pffFile,"Application=..\\Entry\\GDC_Dossiers.ent");

		dataFileName = maketext("%s.dat",KEYER_NAME);

		filewrite(pffFile,"InputData=%s\\%s",strip(dataFolderName),strip(dataFileName));

		// 3) close PFF file
		close(pffFile);
		
		// 4) create a copy of data file on a remote folder
		//filecopy(maketext("%s\\%s",strip(dataFolderName),strip(dataFileName)),
		//		 maketext("%s\\%s",strip(remoteDataFolderName),strip(dataFileName)));

		// 5) create local backup of data file
		filecopy(maketext("%s\\%s",strip(dataFolderName),strip(dataFileName)),
				 maketext("%s\\Backup\\%s_%d",strip(dataFolderName),strip(dataFileName),sysdate("DDMMYYYY")));

		// 6) launch the PFF file
		execpff(strip(pffFileName));

		// 7) close the menu program
		stop(1);

//--------------------------------------------------------------------------------------------------/
Last edited by lls on February 24th, 2013, 3:46 pm, edited 2 times in total.
htuser
Posts: 631
Joined: December 19th, 2011, 6:26 pm
Location: Silver Spring Area, MD, USA

Re: Running PFFs on a server

Post by htuser »

Dear Ils,
Thanks for all.
I'll try to use and modify it (using the IP instead of local hard disk letter) in the next weeks and i'll share more comments with you.
Best regards,
G.VOLNY, a CSProuser from Haiti, since 2004
Bharadwaj

Re: Running PFFs on a server

Post by Bharadwaj »

kakinyim wrote:I do all my data entry from server. I have implemented a very nice approach which can handle more than 100 keyers at the same time. Greg, I had posted in this forum how I do it, maybe you can let 'Nevillefc' have a look at the post (I cant see it). Alternatively, he can contact me for detailed step by step guidelines.
Dear Kakinyim,

Thanks for your post and information. If you can share the file or procedure you have implemented that will be very helpful for us as a guide to improve our skills as we as implement them at our end also. Thanks in advance for sharing the same. you can send to my mail ID also "bharadwajsvsrk@gmail.com"

Regards

Bharadwaj
Maria

Re: Running PFFs on a server

Post by Maria »

Hi all:
In my case I use a file for each batch Pff work, then the subdivision allocation program does is copy the file name within the PFF along with the corresponding parameters as external files and code typist.
Each computer has the executable ENC and external files, leaving the pff returns control allocation system and written to file on the server.
Then you have a copy of the file on the server and locally on the machine's typist.
I hope you find it helpful.
Best Regards
Maria
kakinyim
Posts: 42
Joined: January 16th, 2012, 6:38 am
Location: Remote/Virtual

Re: Running PFFs on a server

Post by kakinyim »

For those who wish to know/see how I run PFF over LAN:

This is what I do to run CSPro data entry over LAN. This way am able to do updates centrally whenever need arises and I can copy data from the central location. There are challenges though but this way have found to be the best trade-off.

First I create keyers in the Active Domain server and configure Group Policy Object, GPO. I found some keyers like visiting social networks and other programs installed in the workstations during working hours so the GPO hides all programs (essentially hides whole desktop icons) but launches an icon of the data entry application. I also make sure the login account for keyers has user rights only.
At the server, I create a folder and share with keyers and supervisors then I copy the data entry application. I give keyers full right over the shared folder although they can't know that because I have hidden 'my computer' and every access to their workstations. Basically, I only leave their name and 'shutdown' or 'logoff' when they click 'start'.

In the data entry application, I structure it into Data for 1st entry data storage, Vdata for 2nd entry data storage, FData for final data storage, lookup folder , start for launching application, PFF for storing pff files, Verify folder to keep supervisor application to compare 1st and 2nd entries, DCF and Tools to keep other files used. For the example I have attached, I have used ' LEData' to keep the data entry application files.

The last thing I do is to make sure that questionnaires are grouped into sizeable numbers, batches, so that each keyer is given a batch. It is this batch that forms my application uses for 1st and 2nd entries and supervisors use it to determine if a batch entry has no entry errors. Keyer usernames are also important in case I need to compute daily output of each keyer. If a batch has no errors, supervisor copies the batch data into FData folder using a menu provided.
This is a basic configuration from where I keep on changing depending on the survey.

Caution: This application uses a shared drive in the format of '\\name of server\name of shared drive\' . If a local drive is used, one has to change some parts within the application.
Attachments
2013_LE.zip
(88.85 KiB) Downloaded 569 times
shemkaosa
Posts: 1
Joined: July 20th, 2013, 8:30 am

Tables

Post by shemkaosa »

How do I create a matrix/table of 2 collums (one for county and another for town) to enable data entry on this variables. pls help
Name of town County
Post Reply