When I write a project, product, component or environment file, why would I want the references I made to be dependent on the directory where the script was called? Shouldn't things be like the #include "relative_path.h" used in the C language, for example? That is, shouldn't those paths be relative to the script that refers to them? [...]
The way tex (and its path) are set up is that files are looked up on the current path (.) or relative to it, or in the (tds compliant) tex tree. Auxiliary files are created in the current directory.
I thought the reason was TeX itself. I just had some hope that ConTeXt would "fix" this behavior some how. Since ConTeXt allows one to have products and contents relatively independent from the project itself, I thought that it would make sense to have the references to files independent from the project structure as well. Maybe I can just live with TEXINPUTS and BIBINPUTS... :-) I guess the magic could be at some extent done with "\usepath". Leaving the probably already extensively discussed "\usepath" precedence order for another discussion...
One can hardcode a path in the tex source if needed. Another option is to move to the source path (something texmfstart --path ... texexec ... or mtxrun --path ... --script context ...) but what's best depends on the kind of project.
I definitely prefer not to hard code paths in the source. Actually, I would like the "components" to not have to worry at all about where they live... I will study texmfstart. :-)
Do you really need to use context mkii? As it's a new project, using context mkiv might be a better idea.
No, I don't. I want to use always the preferred solution. I want to follow your guidelines and be enlightened... :-) How did you know I was using one and not the other? I didn't know it myself!!! Thank you very much for your help and for this great piece of software, Hans. André Caldas.