Most companies (including ours) have documents that need to be archived somewhere. While it is easy to add attachments to transactions like bills or expense claims, there are many other documents that are managed in a semi-structured way. These could be:
- Contracts
- Pictures
- Company policies
- Statutory documents
- Company documents like share certificates etc.
These should be easily manageable in a simple folder structure and that was our goal while building the document management system. In implementation, there were two main strategies:
- Build a new folder interface from scratch
- Use the existing Frappe feature set like lists, starring and sharing that is available with documents.
Keeping our philosophy of maximum code re-use, we decided on the latter. Here is the result:
This is what we did:
- We renamed File Data to File (long overdue)
- We defined that a File record could be a folder (check box "Is Folder")
- We created a Home folder, the root of all files, and a Home/Attachments folder, the folder where all attachments will be saved
- We tweaked the list view such that, if a folder is clicked, it opens up the folder, i.e. shows the contents in the list
- We created a breadcrumb to show the folder you are on currently.
- We created custom menus to copy and paste fields and folders.
- For permissions, we decided that the File will be visible by default only to System Managers and the owner. If the owner decides to share it, it will be visible to other users. You can also Share with Everyone to make it visible to everyone.
Hope you liked the result and will fine this tool useful!