Ref

flexpath

Some flexpath URL:

flexpath

Some flexpath URL:

  • "pp📄/ref/common"
  • "pp📄/ref/frozen"

Some prefix (emoji / text alternative):

  • pp📚 / ppREF : ref files
  • pp🪪 / ppRID : ref files by objects id
  • pp👷 / ppUSR : user files
  • pp⛩️ / ppPOR : portal files
  • pp📄 : WILL BE DEPRECATED
  • pp🌐 : ??

use cases

craftform info

for the craftform with id ref.common.craftforms.base_doc_builder.base.craftform, the accepted URL are:

  • pp📄/ref/common/craftforms/base_doc_builder/INFO.md
  • pp🪪/ref.common.craftforms.base_doc_builder.base.craftform/INFO.md

API

TODO: clean/deprecate some of existing endpoints:

  • /api/bucket/{alias}/{object_key:path} (GET)
  • /api/craft/doc/{doc:path} (GET, POST, PUT, DELETE)
  • /api/document/{doc_path:path} (DELETE)
  • /api/document/content/{doc_path:path} (GET)
  • /api/document/info/{doc_path:path} (GET)
  • /api/documents/{doc_path:path} (GET)
  • /api/file/session/{file_path:path} (GET, POST)
  • /api/files/session/{file_path:path} (GET, DELETE)
  • /api/files/session (GET)
  • /api/prefs/user/{topic} (GET, POST)
  • /api/ref/checklist/{id}/static/{p:path} (GET)
  • /api/ref/craftform/{id}/static/{p:path} (GET)
  • /api/ref/file/{p:path} (GET)
  • /api/ref/news (GET)
  • /api/ref/public/file/{p:path} (GET)

new API dedicated to flexpath:

  • /api/flexpath/file/{path} (GET, POST, DELETE)
  • /api/flexpath/info/{path} (GET)
  • /api/file/info/{path} (GET)
  • /api/file/{path} (GET, POST, DELETE)

Some API calls:

  • GET /api/flexpath/pp📄/ref/common/craftforms/base_doc_builder/INFO.md
  • GET /api/flexpath/pp🪪/ref.common.craftforms.base_doc_builder.base.craftform/INFO.md

front

A test/debug page at /debug/flexpath

prefix

pp📄/*

document files ...

pp👷/*

user session files ...

alias of pp📄/XXX?

role needed : XXX?

pp🌐/*

public files (blog articles, pdf, images, ...) ...

No role needed to access them.

pp🪪/*

ref objects (craftform, checklist, schema, ...) by id files ...

flexpath : pp🪪/{object_id}/{file_path}

alias of pp📄/{object_path}/{file_path}

role needed : XXX?

pp📚/*

ref objects (craftform, checklist, schema, ...) by path files ...

role needed : XXX?

pp⛩️/*

public portal files (blog articles, pdf, images, ...) ...

No role needed to access them.

pp⚙️/*

settings ??

alias of role needed : admin?

TODO

  • link between flexpath and bucket
  • browsable ??
  • tell about delegation and "👉", "👈", "👷" or "📄"
  • how to access MD file for craftform info.md ?
  • how to access MD file for checklist info.md ?
  • how to access MD file for schema info.md ?
  • API endpoint to get flexpath
  • 👷/simple/common.craftforms.base_doc_builder.base.craftform/_form_data.json
  • pick some to explain:
    • pp📄/valerie@paxpar.tech/👷/simple/ref.frozen.tuto.craft_nb.dummy.craftform.pdf/template.odt
    • pp📄/wolff.nicolas@gmail.com/👈/simple/common.custom.RFI.craftforms.rfi_valid_hab.base.craftform.pdf
    • pp📄/wolff.nicolas@gmail.com/👷/simple/common.custom.RFI.craftforms.rfi_valid_hab.base.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/.output.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/_form_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/_output.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/_upload/20250519_janine_atte_rm.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habi_xls_cell.craftforms.base.craftform.pdf/template.odt
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habiv_general.craftforms.base.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habiv_general.craftforms.base.craftform.pdf/.output.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.habiv_general.craftforms.base.craftform.pdf/template.odt
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.regi_trav_radi.craftforms.base.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.regi_trav_radi.craftforms.base.craftform.pdf/.output.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.regi_trav_radi.craftforms.base.craftform.pdf/template.odt
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.rex_rtr.craftforms.base.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.rex_rtr.craftforms.base.craftform.pdf/.output.pdf
    • pp📄/valerie@paxpar.tech/👷/simple/ref.common.custom.nucleaire.rex_rtr.craftforms.base.craftform.pdf/template.odt
    • pp📄/valerie@paxpar.tech/👷/simple/ref.frozen.tuto.craft_nb.dummy.craftform.pdf/.craft_data.json
    • pp📄/valerie@paxpar.tech/👷/simple/ref.frozen.tuto.craft_nb.dummy.craftform.pdf/.output.pdf
    • pp📄/philippefou@aol.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/_upload/pochette_Philippe3.pdf
    • pp📄/philippefou@aol.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/_upload/pochette_Trystan1.pdf
    • pp📄/philippefou@aol.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/_upload/pochette_Younès3.pdf
    • pp📄/philippefou@aol.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/template.odt
    • pp📄/thedavid@gmail.com/👈/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf
    • pp📄/thedavid@gmail.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/.craft_data.json
    • pp📄/thedavid@gmail.com/👷/simple/ref.common.custom.nucleaire.exec_sequ_atelier.craftforms.base.craftform.pdf/.output.pdf