A big work you take on yourself.
As this would be big, it would not be for gramps34 however, so I suggest you stick to trunk, and for trunk it could be downloadable plugin if you want to offer it there.


2012/11/6 Tim Lyons <guy.linton@gmail.com>
I have started to work on GEPS 022: Narrative Website Refactor for Gramps34
and trunk, so I would appreciate it if you did not commit changes to
Narrative Web for a little while, till I have updated the code structure.

What I am doing at the moment is re-ordering the code in Narrative Web so
that the code that generates related pages is together, and changing it to
classes that contain an outline for a two pass process. My intention is that
the underlying code is not changed at present, just the structure.

I will let you know when I have made the changes so you can commit again.

I think that there is a problem in implementing the proposed refactor in
GEPS 022: Narrative Website Refactor. I don't think it is possible to "move
each major part of NarrWeb into its own Web Report that can be run as a
stand-alone webreport".

At present, the only way the major parts of NarrWeb know which object to
generate is by being told from a superior part. For example, events pages
are generated for events that are contained in the Person or Family page.
(The same applies for all components like Families, Sources, Media, etc.
[with the possible exception of Person]).

The Person pages could be run "as a stand-alone webreport" by generating
pages for all the filtered people.

If we tried to do the same thing for other pages, for example Families, a
stand-alone" Families webreport would need to loop through all filtered
Persons and find any Families that were linked from those people. Similarly,
a stand-alone Events webreport would need to loop through all filtered
persons, and get all events and then find all related Families, and get all
their events. While I suppose this would be possible, it would be terribly
inefficient (because of the number of times each Person, Family, Event etc
would need to be accessed). It would also violate separation of concerns,
because such a stand-alone Events webreport would end up having to know
about exactly which events were displayed by the Person webreport. [In the
case of Events, you can object that all events need to be displayed, but in
other cases, such as Media or Sources, the existing Person and Families
webpages do not display ALL such objects, and I suppose you would not want
to display objects in the Media or Sources tab that were not shown in some
superior page.]

Please let me know if I have missed some approach that would allow
"stand-alone webreports"!

View this message in context: http://gramps.1791082.n4.nabble.com/Please-don-t-commit-Narrative-Web-and-GEPS-022-Narrative-Website-Refactor-tp4657274.html
Sent from the GRAMPS - Dev mailing list archive at Nabble.com.

LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
Gramps-devel mailing list