CLOSED: [2021-01-11 Mon 21:10] :PROPERTIES: :CREATED: [2021-01-03 Sun 12:19] :ID: 2021-01-03-company-file-management :END: :LOGBOOK: - State "DONE" from "STARTED" [2021-01-11 Mon 21:10] :END: The author of [[https://www.reddit.com/r/datacurator/comments/kpfxw7/file_naming_conventions_for_a_startup/ghxrq87/][this reddit thread]] asked how to design a file naming convention for a (new) company. The question was not only about file name convention but also covered a directory hierarchy on the shared file server and such. I would like to give some general recommendations from my personal experience. You will end up with a "customized" version anyway. *** File Name Convention and Filing You'll need a company-wide strict guideline for naming and filing processes that is easy to reach (and read) and everybody needs to follow it. The reason why you need such a thing is due to current technical limitations (I'll probably write a book on them) and due to simple human psychology. As with any form of collaboration, there needs to be rules and everybody needs to follow them, even when not agreeing. If in doubt, see a company is like a dictatorship in this sense. You can not have a common system where everybody follows her own set of rules only. *** Directory/Folder Hierarchy Keep it simple. [[id:2020-01-25-avoid-complex-folder-hierarchies][Avoid complex hierarchies]] wherever possible. Start with a minimal hierarchy and only add more complexity when you are certain that it will simplify and support your daily processes and not "just because it seems to be appropriate". *** Access Permissions There is no silver bullet here. I'd love to see an approach where access permissions can be controlled by tags such as "HR" or "legal". With the typical scenarios like within an Active Directory, I urge you to keep it simple: Apply permissions on group-basis only to directories on the root directory. Everything else will turn into a nightmare. Who has access to the directory X? Any general search index (see below) can not access the restricted areas. Or it can which is most likely a security breach. Therefore, I'd go with as few limitations as necessary. Usually, managers tend to over-use permission systems in a way where employees are locked out of data they don't really need but which does not harm when they would do. *** Classifications For expressing the level of confidentiality, I'd got with a typical three-level approach (confidential, restricted, public) that should be applied within the file name. [[id:2014-05-09-managing-digital-photographs][A company-wide setup of this]] could help dramatically. [[id:2020-03-18-demo-filetags-intro][See this online demo]] for a few aspects within my set of tools. I've introduced file name conventions and knowledge management in two companies and groups. When introduced properly, this has a good chance of working. Most approaches fail when not done properly, in my opinion. One of the hardest things to do is to make people "behave" a certain way. This *only* works with good explanation, good and easy to reach reference material, education, best IT support possible and absolute commitment by and communication of it from the management. The same tagging method could be used for a [[https://github.com/novoid/filetags#get-the-most-out-of-filetags-controlled-vocabulary-filetags][general controlled vocabulary]] (CV) such as: =bills=, =contracts=, =NDAs=, and so forth. I'd also go with semantic tags like =draft=, =submitted= and =final= (or submitted) in combination [[https://github.com/novoid/date2name][with date-stamps]] instead of version numbers like v0.3.2 that are useless to humans most of the time. For me, it is a must-have to have a general, shared pre-configured and documented controlled vocabulary (i.e., a shared [[https://github.com/novoid/filetags#get-the-most-out-of-filetags-controlled-vocabulary-filetags][.filetags file]]). Best case: automatically synced to all hosts and actively maintained. Every employee has to know the implication of each and every tag. Keep its size as small as possible by using as few tags as possible. Please do read more on [[id:2022-01-29-How-to-Use-Tags][my general rules on how to use tags in an efficient way]]. In my experience, a well-designed CV is able to simplify and shorten even descriptive file names. For example, : 2021-01-03 Company X -- confidential final demos.pptx has a lot of information and it takes probably just about 15 seconds to generate the file name with my set of tools. I once used following CV for a company: #+BEGIN_EXAMPLE confidential restricted public license bills demos proposals flipcharts data draft final screenshots submitted travel templates contracts processes #+END_EXAMPLE Multiple tags per line are [[https://github.com/novoid/filetags#mutually-exclusive-tags][mutual exclusive]] within filetags. *** Retrieval I made some experience with providing a shared auto-updated [[https://github.com/novoid/filetags#tagtrees][TagTree]] on the file server for navigation retrieval. For search-based retrieval, I used a server-based index of [[http://docfetcher.sourceforge.net/][DocFetcher]]. With a little effort, you can setup the DocFetcher binary directory on a file share so that not everybody needs to install his/her own instance. With [[http://docfetcher.sourceforge.net/wiki/doku.php?id=tips_tricks][this]] and [[https://sourceforge.net/p/docfetcher/discussion/702424][that]] you can play around with the central index of your file server so that not every client needs to index the file server separately. Please report back when you get first-hand experience here because in the company I used this setup, local search was not embraced by employees the way I would have loved it. They already started the process of copying important files to their local hosts because the chaos (before I entered the situation) was too overwhelming to change their mind-sets afterwards. So you do have the chance of introducing new possibilities, do it as early as possible. I wish you all the best for your enterprise. This blog article is an extended version of [[https://www.reddit.com/r/datacurator/comments/kpfxw7/file_naming_conventions_for_a_startup/ghxrq87/?utm_source=reddit&utm_medium=web2x&context=3][this reddit thread]] where you can find other opinions on the same subject.