Files in concrete5 are represented by objects, just like Pages, Blocks and Users. These objects are listed by the file manager, to which access can be given to different users or groups. Here is a short list of some of the functionality available to the File objects.
- Versioning - every update operation to a file will create a new version, complete with a log who created it, and what they did.
- Editing – Certain file types can be edited directly from the file manager. Image editing is available inline with the popular Picnik (link to picnik) image editor.
- Thumbnails - each file can have up to three thumbnails associated with it.
- Attributes - like Pages, Files can have any number of definable attributes. These can be automatically set during the import process, as well.
Do all files in concrete5 have to be added to the file manager before they can be worked with?
Yes. Files must be present as objects in the system before they can be manipulated or even attached to pages or blocks. This happens by adding them to the file manager. Fortunately the file manager allows this to happen from within the editing context, making it fairly easy to do.
What types of files are supported?
Lots of types. Common image types (JPEG, PNG, GIF) will be thumbnailed, but concrete5 has icons for tons of file types (based on extension). Just modify the list of allowed file extensions in the Dashboard > Files > Access page if the file type you're trying to upload doesn't work.
Can developers extend the file manager or automatically populate certain file attributes on upload?
Yes, with what we call file importer routines. You can read about those in the Metadata section. Additionally, developers can be provide custom editing and viewing interfaces for files based on type.