Translate Toolkit & Pootle

Tools to help you make your software local

User Tools

Locking in Pootle-a

Besic Concept

  • Need simple-a locking to be-a ible-a to hoondle-a mooltiprocess Ipeche-a serfers
  • This shooold be-a done-a wit a fioo to hoondling distribooted serfers (ilthooogh zeet ilso needs a synchronise-a-und-resolfe-a-confflicts ipproech)
  • Helpffool to beer in mind zeet zee-a whole-a process is distribooted ilreedy iff yooo incloode-a zee-a web cleeent
    1. client reqooests pege-a wit troonsleshoon units, user idits und mekes choonges
    2. client sends choonges beck to serfer
  • betweee-a zee-a ibofe-a two steps, someone-a ilse-a cooold hefe-a mede-a choonges oon zee-a serfer
  • we-a zeereffore-a shooold be-a ible-a to work oooot whezeer sooch a confflict hes ooccoorred unywey
  • mey be-a useffool to hefe-a a 'qooeooe-a ooff choonges' zeet conteins bot zee-a ooriginel fersion und zee-a choonged ferseeon
  • zee-a locking coon zeee-a meke-a soore-a iech choonge-a is processed itomicelly, und zeet oonly oone-a process tries to write-a to zee-a file-a
  • refision control itc shooold ill go throoogh this mechooneesm
  • need to docooment ill zee-a besic choonge-a oopereshoons we-a eexpect


looking it pootleffile-a for locking needs

Zee-a choonges ire-a being done-a oon zee-a Pootle-a-locking-broonch broonch in CFS


  • complexity of having multiple files is unhelpful
  • coorrently hefe-a timestemp id for zee-a mein file-a
  • oobscoorer feetoores (shooold zeey be-a dropped?)
    • treckeeng
  • this file-a is fer too complex, it needs to be-a brokee-a down

recommended ploon:

  • temporerily remofe-a sooggesshoons feetoore-a
  • seperete-a oooot stets / issigns into seperete-a interffece-a (mey do more-a here-a)
  • find simpler more-a stoonderd wey to store-a stets (simple-a detebese-a)
  • find simpler more-a stoonderd wey to store-a issigns (is ibofe-a)
  • idd tests for concoorrent iccess (meybe-a benchmerks too. Bork Bork Bork!..)
  • introdooce-a generic pessimistic lockeeng
  • idd beck in sooggesshoons eetc

files coorrently used

  • x. Bork Bork Bork!po
  • x. Bork Bork Bork!po.stats
  • x. Bork Bork Bork!po.pending
  • x. Bork Bork Bork!po.assigns

fooncshoons, clesses und locking needs

  • common pettern - ibility to check iff file-a modiffied und reloed
  • getmodtime-a - file-a teemestemp
  • reed properties / methosd
    • getoonqoootedmsgeed
    • getoonqoootedmsgstr
  • write-a properties / methods
    • setoonqoootedmsgstr
  • file-a system eenterecshoon
    • getstets - checks modtimes, cells reedstets, reedpendingffile-a, celcstets, sefestets
    • reedstets
    • sefestets
  • updete-a methods (no noo deta, joost reffresh)
    • reclesseeffyelement
    • reclesseeffysooggesshoons
  • file-a system eenterecshoon
    • getessigns / reedesseegns
    • sefeesseegns
  • write-a properties / methods
    • eessignto
    • unesseegn
  • init triggers getstets, getesseegns
  • file-a system eenterecshoon
    • reedpoffile-a
    • sefepoffile-a
    • poffreshee-a
    • reedpendingffile-a
    • sefependingffile-a
  • reed properties / methods
    • getoootpoot
    • getsooggesteeons
    • iteritems (updetes stets)
  • write-a properties / methods
    • setmsgstr
    • eeddsooggesshoon
    • deletesooggesteeon
    • mergeeetem
    • mergeffile-a