cyberdelia/django-pipeline — Issue #51: There should be separate roots for source and output files.
Author: jjaksic
Created: 2011-12-06 03:17:06+00:00
State: open

According to http://readthedocs.org/docs/django-pipeline/en/1.1.23/configuration.html#specifying-files :

> Note that all filenames are specified relative to PIPELINE_ROOT, and thus the source files needs to be in your PIPELINE_ROOT.

I believe that having to keep source and output files in the same location (PIPELINE_ROOT) is a very bad restriction. PIPELINE_ROOT is a directory that gets published. If source files need to be stored in the same location, that means that all source files get published as well, which is not what we normally want.

This restriction is especially bad if we like to keep our source files within our app folders, like this:

>/myproject/myapp/templates/...
>/myproject/myapp/css/...
>/myproject/myapp/js/...
>/myproject/myapp/models.py
>/myproject/myapp/views.py

In order to do this with current version of Pipeline, you'd have to publish the entire myapp folder, together with all .py files... So Pipeline forces you to move the .js and .css files somewhere else.

And even then the generated output files get stored in the same location as the source files. I do not like to pollute my source folders with generated files, and again it's not possible to keep them separate.

(By the way, even if you try to trick Pipeline by using absolute paths, an exception is thrown unless all files are contained within PIPELINE_ROOT.)

For all of the above reasons, source and output roots really should be kept separate.