← Back to team overview

schooltool-developers team mailing list archive

Quick porting checklist

 

Hi,

I whipped a quick view porting checklist.

Say, you're porting index.html for a BasicPerson.

1. Run the server, go to .../person/index.html and verify it's NotFound
1.1. If it's found and there's a traceback, probably the old page is not registered for a ISchoolToolLayer. Specify the layer and verify again. 2. Create/use flourish.zcml in respective browser package, put flourish:* directives only there
3. Write the flourish:page directive
3.1. Use the old page class if possible, don't forget to specify content_template 3.2. If it's not possible, write FlourishOldClassName, use inheritance from old class where appropriate
3.3. Keep Flourish* classes close to the originals
3.4. Use generic flourish templates, if not applicable, copy old_view_template.pt to f_old_view_template.pt and remove the page macro part. 3.5. Check what action viewlets were registered, what menu items were specified - and port them 4. When ../browser/person.py (or other) grows too large because of the flourish skin views, split it: 4.1. create person_stskin.py, move ALL views, viewlets and everything else registered for ISchoolToolSkin layer there
4.2. port the unit tests
4.3. make sure it runs with the old schooltool layer
4.4. make sure functional tests pass
4.5. create person_flourish.py, move everything registered for flourish layer there 4.6. person.py now should contain only traversal and such - things independent from skinning

Your thoughts?

Justas


Follow ups