schooltool-developers team mailing list archive
-
schooltool-developers team
-
Mailing list archive
-
Message #00436
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