start

Welcome to the my todo list in no certain order, each week it’s updated and kept current.

# Todo List

### Week 11 - 15 Dec

### Week 4 - 8 Dec

##### Monday

- read and pass xliff files (and suggestions) sanely
  1. send file for review

Note 1: Reading and passing xliff files relates to the pootlefile.py file, this is to provide seamless interaction between other classes that inherit such methods like ‘getsuggestions()’. This file allows for explicit xliff layout to be placed, without having to place multiple code in different files.

Note 2: reading and parsing xliff files is linked to ‘readpendingfile()’ method in pootlefile.py

Work Note 1: Have found that reclassifysuggestions() will have to be edited to have readpendingfile() usable

Work Note 2: Added new methods to finally handle the variating xliff types (e.g xliff, xlf, xlif, xlff) in pootlefile.py, which since is inherited by multiple files, will releav some headaches

Work Note 3: Xliff files can be passed, but suggestions are not taken correctly as of yet

##### Tuesday

- Review Patches from Andreas
- Review notes from previous nights code review
  1. Patch as necessary
  2. Apply code ←-- Not completed due to unforeseen attributes (see Work notes)
- Create a sane delete method for deleting suggestions from a xliff file (2-3)
- edit current methods (e.g savepofile) to write xliff files correctly (2)

Work Note 1: Worked on Monday dot point, time estimation was incorrect due to reclassifysuggestions(), test_pootlefile.py also needed reworking and additional test cases.

##### Wednesday

- Review Patches from Andreas
- Review notes from previous nights code review
  1. Patch as necessary
  2. Apply code
- correctly allow merging of xliff files(perhaps keep this separate) (could be a biggie, maybe 5hours)
- talk to dwayne about Translation Memory in order to move to the Translation Memory Sections

##### Thursday

- Review Patches from Andreas
- Review notes from previous nights code review
  1. Patch as necessary
  2. Apply code
- Translation Memory handling (5?)
  1. Split pot2po into initialization (updating) and TM tools
  2. new tool that does Translation Memory lookup
  3. pot2po with current functionality to update an existing po file to new POT file
  4. restore the old TM functionality by calling the methods of the new TM tool.

##### Friday

- Review Patches from Andreas
- Continuation of Translation Memory Handling (see Thursday)
- Work on Bug #195 http://bugs.wordforge.org/show_bug.cgi?id=195

### General Todo

- Pootle and toolkit API work (learn the modules and methods - ongoing)

- XLIFF implementation
  1. Conversion of .po dedicated methods to allow xliff usage and variable + method name changes (can be split, nto so important)
     1. projects.py (10 methods)
     2. pootlefile.py (2 methods)
     3. potree.py (3 methods)
- Pootle work
  1. Version control integration (?)
  2. Adapt Pootle test suite to be more thorough (edit as we progress through steps)

### Side Project(s) // Wish List

- Podiff (ongoing)

1. Add unified diff functionality
2. Add html output
3. Create human readable console output

- Installer

1. Create dependency handling
2. Output help

### Bugs

1. Links in Pootle interface menu, while in “View Goals” mode, constantly links to the Goals of that project... feature or bug? Can be confusing.

### Week Nov 27th

##### Currently Being Addressed

- Apply alt-trans methods (xliff suggestions) throughout Pootle (8)
  1. --→ Currently being applied ←--
- Fix bug #195 ←-- http://bugs.wordforge.org/show_bug.cgi?id=195 (4? Depending on bug details)

##### Completed

- Overwriting on upload
  1. UI changes → pass optionlist to template to display under file upload control. Radiobuttons and check boxes in the template to be supported(i.e. getting the control types from the template parameters). ←- UI is complete, but not committed... must have verification/review first!
  2. Pass parameter on file upload based on the form input to specify if translations should be overwritten regardless of whether they already exist. ←-- Worked with current code to pass radio button selection, on selection of radio button, current code is utilized to overwrite the file(s)
  3. Unit tests, both UI and functional. Ongoing(?)
  4. Worked out the test case bug with the UI/Overwrite work, it seems to be a statistics issue where statistics of files are not updated as soon as a file is uploaded/overwritten (though seems to occasionally update)

NOTE on Upload Work: Now Pootle users who have upload privileges can see a “Overwrite” section beneath the Upload box, this section contains a Yes/No radio button (defaulting to NO) which, when selected (Yes) and file Uploaded, will overwrite the any file of the same name.

- Review of co-workers code
- Server check once a day ←- responding fine

##### Not Addressed

- Split pot2po into initialization (updating) and TM tools (5?)
  1. new tool that does Translation Memory lookup
  2. pot2po with current functionality to update an existing po file to new POT file
  3. restore the old TM functionality by calling the methods of the new TM tool.
- Tons of unit tests (?)
- Pootle wordforge webserver (2-3?)
  1. sdf files to be served from a directory of choice (which dir?)
  2. fix munin to be served on 80/munin? ←- currently port 88

### Week Nov 13 and 20th

- Add alt-trans accessors. This is the xliff suggestion functionality work: (3)
  1. xml:lang
  2. origin
- Apply alt-trans throughout Pootle (5
  1. --→ Currently being applied ←--
- Overwriting on upload (5)
  1. UI changes → pass optionlist to template to display under file upload control. Radiobuttons and check boxes in the template to be supported(i.e. getting the control types from the template parameters). ←- UI is complete, but not committed... must have verification/review first!
  2. Pass parameter on file upload based on the form input to specify if translations should be overwritten regardless of whether they already exist. ←-- Worked with current code to pass radio button selection, on selection of radio button, current code is utilized to overwrite the file(s)
  3. --→ Unit tests, both UI and functional. Ongoing(?) ←--
- Split pot2po into initialisation (updating) and TM tools (5?)
  1. new tool that does Translation Memory lookup
  2. pot2po with current functionality to update an existing po file to new POT file
  3. restore the old TM functionality by calling the methods of the new TM tool.
- Tons of unit tests (?)
- Pootle wordforge webserver (2-3?)
  1. setup apache on port 80 to proxy pootle, not 8080
  2. sdf files to be served from a directory of choice (which dir?)
  3. fix munin to be served on 80/munin? ←- currently port 88

### Week November 6th

- pot2xliff (6h)
  1. -→ Worked on xliff template integration ←-
- Pootle integration of new xliff functionality (5h)
- xliff roadmap component testing (12)
  1. performance testing
  2. testing checks
  3. testing upload (merging)
- Fix ‘suggestions’ reliance on PO files to enable use of ‘suggestions’ in xliff files (5h) ←-- Need to fix web interface before full testing can be completed
  1. -→Worked on <note> usage as suggestions in xliff files←-
  2. -→started conversion of <note> usage to XLIFF spec <alt-trans>←-
- Introduce xliff test cases where applicable (8)
  1. -→ Added xliff testing to new code (e.g test_pot2xliff) ←-
- Fix downloading for project files (4):
  1. When downloading xliff for an xliff project, we must not call po2xliff, but get the real project xliff file.
  2. When downloading po for an xliff project, we must call xliff2po to generate the correct file.

### Week October 30th

- Swap pootle.wordforge.org to apache (4h)
  1. -→Test base completed, swap completed Wednesday←-
  2. -→Munin fix so munin is accessable←-
- pot2xliff (6h)
  1. -→Worked on integration of xliff output files, using current conversion tools (e.g po2xliff)←-
- Pootle integration of new xliff functionality (5h)
- xliff roadmap component testing (12)
  1. performance testing
  2. testing checks
     1. -→started listing failing xliff tests←-
  3. testing upload (merging)
- Introduce xliff test cases where applicable (8)

### Week October 23rd

- Finish UI integration of project attribute changes (3h) ←- Project Admin section now lists file type for project (changeable by the admin) and allows selection of file type at creation time of a project
- Finish integration of project attributes (3h) ←-- upstream types have been dropped, filetype for projects now enforced and supported. This enforces the use of a particular translation file type for a project (e.g PO or Xliff)
- Implement utilization of new functions (e.g getnotes, getext, getfilename) (5)

### Week October 16th

1. convert all commenting in the toolkit from old PO style to use new getnotes() XLIFF call (5) ←-- done for xliff files
2. Implement project attribute for file type and utilization in directory scanning (8) ←- currently stored in the ‘project’, adaptable per language via the projects’ language pref file, partiall ongoing work
3. Adapt directory scanning to utilize other types (not just .po) (8) ←- done for dir scanning in indexpage.py, projects.py

### Week October 9th

1. Update getnotes() in API to accept params (e.g base.py, po.py, xliff...)
2. utilization of new getnotes ‘origin’ param in xliff converter files (po2xliff, xliff2po)
3. Added additional cleaning to pootlefile tests
4. Added xliff <note> tag support for xliff2po.py converter
5. remove/convert old call in xliff files (e.g getautomaticcomments)
6. Implement a clean and efficient method for filename and extension use (10) ←-- split up into two functions, getext and getfilename

### Week October 2st

1. Manipulate .getnotes in po.py to accept parameters in order to return specific comments
2. test_client.py test failure, singular msgstr being treated as a pluralable (msgstr [0], and yes... i know plurable isn’t a word :) ) ←- patch applied in po.py .settarget()
3. implementation of getnotes test in test_xliff.py
4. Py.test nightmare
5. Module woes, won’t correctly import avaliable modules and thus fails (http://pastebin.ca/181647) ←- nasty, quick fix == reinstalled :(
6. implementation (and useability) of getnotes origin param in xliff.py

### Week pre-Sep 25th

1. Documentation of pootle links to the official pootle site and not to the running pootle install (howto.html only)<
2. Noticed the translate.sf.net page needs to fix the CVS links since CVS isn’t utilized anymore, the pages just error out
3. Documentation not packaged with Pootle (lack of) ←-- Online package avaliable
4. Query on plural checking after removal of accessors and mutators. ←-- .strings returns wanted object

- Checks of Pootle 0.10rc3 - 0.10 released

1. Installation
2. run-through
3. py.tests
4. pot2po.py check

- XLIFF

1. Cleanup of files so base (base.py) class accessors are utilized.
2. Cleanup of .getunquotedmsgid, .getunquotedmsgstr and .setunquotedmsgstr in Pootle/pootlefile.py, Pootle/projects.py, Pootle/translatepage.py, conflict2suggest.py and fix Pootle/test_pootlefile.py
3. Reimplement the code that used to use those with methods defined in base.py and overridden in PO. - ongoing
4. Implement the plural test (source vs target), from the removed .setunquotedmsgstr method, in po.py
5. Implement test for plural test change in po.py (test_po.py)

- Pootle/translate API work

1. Look at converters in ../translate/convert/

### OLD TODO

- pot2xliff (6h) ←-- see pot2po work above
- Pootle integration of new xliff functionality (5h)
- xliff roadmap component testing (12)
  1. performance testing
  2. testing checks
  3. testing upload (merging)
- Fix ‘suggestions’ reliance on PO files to enable use of ‘suggestions’ in xliff files (5h) ←- <alt-trans> work
- Introduce xliff test cases where applicable (8)
- Fix downloading for project files (4):
  1. When downloading xliff for an xliff project, we must not call po2xliff, but get the real project xliff file.
  2. When downloading po for an xliff project, we must call xliff2po to generate the correct file.