Last updated 14 November 2015. Created on 23 September 2012.
Edited by boldinmd, devarchivist, Christopher James Francis Rodgers. Log in to edit this page.

Work in progress: Page-bottom instructions for add-on Module 'Content access' coming soon.

- Notes from video by Thomas Geller of (D7_Advanced - vid_03_05).

Specify Drupal 7 (D7) Core 'Private file system path'.

D7: Click main-toolbar-button: 'Configuration'.

See heading 'Media': Click 'File system'.

See heading 'Private file system path': field-box.

'Private file system path'.

The 'root' of this field-box is your Drupal install root.

So, for example, specify in the field-box:


'sites': This directory exists at [d7-root]/sites.
'default': This directory exists at [d7-root]/sites/default.
'files': Maybe this directory exists: [d7-root]/sites/default/files.

The directory "my_new_private_file_folder"
will be created if it does not exist.

You can use any directory name you like
instead of
although there are some keyboard symbol restrictions.

I recommend that you start your directory name
with a lower-case alphabetic character (a-z),
that you use no blank-spaces,
and that you use no upper-case alphabetic characters.
Some symbols may be problematic, too.

Numerals (0-9) are okay.

Click page-bottom button "Save configuration".

Leave 'Default download method' as 'Public...'.

Always leave the radio-button
for 'Default download method'
on 'Public local files served by the webserver' and not 'Private local files served by the webserver.'
You may not see the latter option right away,
but the choice will be available
the next time you visit this page
after you click "#".

For more information, see:
Working with files in Drupal 7

Restrict files to 'Registered user'(s) only.

Create a new 'Content type'; with a new 'Field' of type 'File'.

New 'Content type'.

Click D7: Main-toolbar button 'Structure'.

Click 'Content types'.

Click page-top text-link 'Add content type'.

'Name *' field-box: Please type
'whatever content type name you like'.

Click page-bottom button
'Save and add fields'.

Note: Do Not click page-bottom button 'Save content type'.
- If you clicked 'Save content type',
then go to 'Structure'>
Click 'Content types'>
Click 'whatever content type name you like'>
Click tab 'Manage fields'.

Add field to your new 'Content type'.

You should be at the tab 'Manage fields';
for your new 'Content type'.

See field-box 'Add new field': 'Label'.

Type 'Whatever you like'.

See column 'Field type'; row 'Add new field'.

Click the downward-pointing arrow
to the right of the field-box displaying
' - Select a field type - '.

In the drop-down menu, click 'File'.

Note aside: The 'Widget' column changed to 'File',
and is the only D7 Core choice available.

Click page-bottom button 'Save'.

The next two Field configuration screens.

You will always encounter two configuration screens after 'Save'ing a new field.

The first configuration screen controls your new field for all 'Content type's on which your newly created field is used.

The second configuration screen will be for your new field as it applies to only the 'Content type' to which you have just added it.

Field configuration screen one of two: Global use of your new 'Field'.

See heading 'Upload destination'.

Click radio-button 'Private files'.

Click page-bottom button 'Save field settings'.

Field configuration screen two of two: Settings for your new 'Field', but only on the single 'Content type' to which you just added the field.

Allowed file extensions *.

Add file extensions for all of the file types that you intend to use with your new 'field' on your new 'Content type'.

File directory

Recommended; but optional:

If you wish to specify a sub-directory for all of the files uploaded by your new 'Field' while using only your new Content type':

See the heading "File directory" field-box.

Type, for example,
sites/default/files/my_new_private_file_folder/files_from new_field_type_files_only_with_new_content_type

Please understand that you can use
any legal directory name you like
instead of
"files_from new_field_type_files_only_with_new_content_type".

And, of course, substitute for "my_new_private_file_folder"
whatever directory name you used in step one of the instructions above.

Click the page-bottom button 'Save settings'.

Work in progress: Instructions for add-on Module 'Content access' coming soon.


Looking for support? Visit the forums, or join #drupal-support in IRC.


chrowe’s picture

Thanks for your effort on this.

I am finding it hard to read through though and it seems that all the instructions say is how to enable the private file system and to create a file field on a node.
Does provide field level access or is the idea to limit access to the entire content type?

RaulMuroc’s picture

It finished the explanation in the most important part (or the most difficult/not obvious). A pity.

Drupal Association individual member