← Back to team overview

schooltool-developers team mailing list archive

Re: Quick porting checklist

 

On Wed, Jun 15, 2011 at 9:26 AM, Justas <justas@xxxxxx> wrote:

OK, so lets break this up and expand it a bit for the upcoming weeks' workflow.

I'm thinking managing this is more like a long sequential list than a
spreadsheet (which would be more random access.

Step 0. Writing down the basic plan for the page what links, actions,
dialogs, go where, roughly (Tom)

Justas:

> 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.

Alan (note that I'm just sticking a pin in what seems like a good
handoff point):

> 3.5. Check what action viewlets were registered, what menu items were
> specified - and port them.  This is a rough draft.  Lots of XXX in the UI OK!
> 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

Douglas & Tom:

Iterate on the page design layout, pixel pushing, etc.

We'll discuss this further tomorrow.

--Tom


References