Folder organization
in the server

Goal

Have a tidier organization at various levels, that contributes to a common logic and makes it easier to identify things and understand where things are or must be.

Why?

  • Reduce the amount of information team members need to transfer, learn or ask
  • Know where to find things
  • Know where to put things
  • Reduce automation effort
\cfrac{1}{3} \; ; \quad \cfrac{5}{8}
\cfrac{8}{24} \; ; \quad \cfrac{15}{24}
\frac{1}{2}+\frac{2}{3}\;=\;\frac{3}{6}+\frac{4}{6}\;=\;\frac{7}{6}

Archive!

Archive whatever must not be used and is only kept for history tracking purposes

Archive!

Do not:

Do:

Alternative locations 

Alternative locations are confusing and can make us waste a lot of time.

Versioning

file.docx
->
201201_file.docx

changes:
202102_file_MS.docx

is this really necessary?
copies in the server, go back to previous version

@ADRIEN: argument?

_bak -> deleted periodically

if it is, YYYYMMDD!
is 201201 = 1 Dec or 2020
or January of 2012?
20201201 is unambiguous

Naming rules

  • General:
    • Avoid spaces and non-ASCII characters
      • Use letters, numbers, hyphen and underscore
      • Examples: "Foo Bar" -> "FooBar" or "Foo_Bar"
    • Keep them short:
      • DO: FRA-IMMIGR
      • DO NOT: Immigrants-and-Descendants-of-Immig (^255)
  • Project and client folders: 
    • Match the name of the entity in Odoo
    • DO NOT
      • Folder: ./IPSOS/EU-Immigrants_and_Descendants-of-Immig
      • Odoo: IPSOS/FRA-IMMIGR

Top level: /data/company

01_Administration

02_Clients

03_Finance

04_BizDev

05_Tech_or_R-D

06_Partners

07_Operations

08_HR_or_Resources

09_Users

Readme.md

Sysadmin is responsible for creating or renaming folders at this level.

Flat

01a_to_translator_1
01b_from_translator_1
02a_to_translator_2
02b_from_translator_2

Tree

01_translator_1

├── 01_to_translator_1

└── 02_from_translator_1
02_translator_2

├── 01_to_translator_2

└── 02_from_translator_2

less clicks

clearer view

Spot the 10 differences

FLASH_2.0$ tree -L 1
.
├── 00_ADMIN
├── 01_SOURCE_MRT
├── 02_AUTOMATION
├── 03_INTERNAL
├── 04_REF
├── 05_MEETINGS
├── 06_EHR
├── 07_PROJECT_MANAGEMENT
├── 08_FLASH_PROJECTS
├── 09_ASSETS

FLASH_2.0$ tree -L 1
.
├── 00_ADMIN
├── 10_SOURCE_MRT
├── 20_AUTOMATION
├── 30_INTERNAL
├── 40_REF
├── 50_MEETINGS
├── 60_EHR
├── 70_PROJECT_MANAGEMENT
├── 80_FLASH_PROJECTS
├── 90_ASSETS

Spot the 11 differences

FLASH_2.0$ tree -L 1
.
├── 00_ADMIN
├── 01_SOURCE_MRT
├── 02_AUTOMATION
├── 03_INTERNAL
├── 04_REF
├── 05_MEETINGS
├── 05_Minutes
├── 06_EHR
├── 07_PROJECT_MANAGEMENT
├── 08_FLASH_PROJECTS
├── 09_ASSETS

FLASH_2.0$ tree -L 1
.
├── 00_ADMIN
├── 10_SOURCE_MRT
├── 20_AUTOMATION
├── 30_INTERNAL
├── 40_REF
├── 50_MEETINGS
├── 51_Minutes
├── 60_EHR
├── 70_PROJECT_MANAGEMENT
├── 80_FLASH_PROJECTS
├── 90_ASSETS

Just a silly example...

but you get the point!