Web browser cannot access the client computer file system or any mounted disk – they can talk only with Web servers (the reason is security: in some cases it is possible to read files, but writing files from a browser is definitely a no-no – imagine that any Web site you connect to could send commands to your browser to write stuff onto your hard disk).
If this is the case, how comes that the Web interface is actually able to create a file when an object is checked-out? The answer is that the browser is not writing the file, it is just sending a command to a separate program – the File4 service – that is the one actually getting the data and writing the file.
More in detail, what is actually happening when checking-out an object from the browser is something like this:
1. Browser to Tark4 server: “I want to check-out object XXXX’
2. Tark4 server answer to Browser: “You have to contact File4 at address AAAAA and send it the command ‘CCCC’”
3. Browser to File4 server at address AAAAA: “CCCC”
4. File4 decodes CCCC, finds out that it means ‘check-out object XXX saving the result in file FFFF’
5. File4 to Tak4 server: ‘check-out and give me the data of object XXXX’
6. Tark4 server to File4: ‘DDDDDDDDD……’ (data of object XXXX)
7. File4 writes the data to file FFFF
The other commands (check-in, get without check-out etc.) are all variation of this scheme: the browser does not do the actual work, it just get commands from the Tark4 server and shuffles them to File4 to be executed.
Why the Tark4 server does not do the job directly and we need File4? Because the Tark4 server can be remote – i.e. somewhere in the Internet or on a different network, whereas the file must be written locally (directly on the client disk or on a mounted network volume) – and the Tark4 server cannot possibly access a local disk from somewhere in the Internet (and if it could you’d have quite a security problem…). For the same reason Tark4 cannot send commands directly to File4 – it has to rely them via the browser.
Needless to say the communication between the browser and File4 and between File4 and the Tark4 server it is all done using HTTP (as is the communication between the browser and Tark4 server of course).
Where is File4 installed? There are various possibilities:
1. Directly on all the client machines
2. On a single shared server
3. On multiple shared servers – each one serving a group of clients
4. Mixed: some client machines have their own local File4, other use shared servers.
Whichever configuration is used a client and the File4 it uses must be on the same local network: File4 must read/write on disks that are visible (local or mounted network drives) by the client. This means that the case (2) above is possible only if all the clients are in the same local network.
File4 is a Windows application – so the ‘directly on the client machines’ applies only for the Windows clients. Macs must use a shared server (that must be a Windows machine).
When using a separate server for File4 the disks used for the checked-out files must be ‘viewed’ with the same path by the clients and the File4 server. E.g. it is an error to use a local ‘D:\’ disk of the File4 serverthat is then mapped as ‘\\myfileserver\shared’ from the clients.