Re: How much work is left before we can release HEAD?

2004-09-28 Thread Clay Leeds
On Sep 28, 2004, at 2:08 AM, Chris Bowditch wrote:
Simon Pepping wrote:
I do not know if this is a lot of work or not. To me it seems a
lot. Perhaps you may argue that this is not required for a 0.3
release. But to me it is rather essential to the new design. Without
it we might as well remain with the maintenance layout system.
keeps and breaks are essential for a 0.3 release. As you said yourself 
they are the whole reason the redesign was started in the first place. 
I'm not sure block stacking constraints are essential.
IMO, 0.20.5 functionality should be met in a 0.3 release. In my 
estimation, keeps and breaks are not essential for a 0.3 release as 
long as keeps work for table-rows (i.e., mimics 0.20.5 functionality), 
and breaks work the same as 0.20.5 as well. 0.3 should not be a 'step 
backward'.

Web Maestro Clay


Re: How much work is left before we can release HEAD?

2004-09-28 Thread Chris Bowditch
Simon Pepping wrote:

My interest in FOP's layout is mostly theoretical. I cannot get
enthousiastic about todo lists, time schedules and time estimates.
Thats understandable.
I would like to see keep and break properties implemented. They are
the raison d'ĂȘtre of the new design. I do not think they can be
implemented with the current design, because there is no arbitrator of
the page length. The problem should be solved in a manner similar to
the way Luca solved the inline layout problem: All possible break
points should be returned to a high-level object, probably the Flow
LM. This then applies a certain algorithm, keeping lengths and keeps
and breaks into account, to determine the best break point. The
structure for this procedure must be added to the current design.
Oh I thought this was one of the key points that Keiron addressed when he 
wrote the layout code in HEAD. Sounds like my estimate may be a bit longer then.

I am also interested in block stacking constraints. They exercise the
ability to relate the layout produced by one LM with the traits of the
areas produced by other LMs. Perhaps it can be done using the layout
context, perhaps one should navigate the LM tree to gather the
required data.
Finally I hope it will be possible to make the structure of the layout
module simpler. I believe it is the complexity of this module that has
hindered progress the most. With my recent change to LMIter I tried to
come closer to the semantics of a collection and an iterator, and make
it easier to create more iterator objects for the children of an LM
without disturbing the state of the one used in getNextBreakPoss. I
hope more such changes are possible and will make it easier to
understand the layout module.
Simplifying the LMIter objects is one way Joerg identified of making layout 
easier to work on.

I do not know if this is a lot of work or not. To me it seems a
lot. Perhaps you may argue that this is not required for a 0.3
release. But to me it is rather essential to the new design. Without
it we might as well remain with the maintenance layout system.
keeps and breaks are essential for a 0.3 release. As you said yourself they 
are the whole reason the redesign was started in the first place. I'm not sure 
block stacking constraints are essential.

I understand that the new design for renderers has been more
successful, and may be a reason to want a release of the development
code.
This is not a good enough reason for a release.

Chris


Re: How much work is left before we can release HEAD?

2004-09-27 Thread Simon Pepping
On Fri, Sep 24, 2004 at 05:00:45PM +0200, Jeremias Maerki wrote:
> Chris,
> 
> Those who currently work on layout, how do you choose your work area?

My interest in FOP's layout is mostly theoretical. I cannot get
enthousiastic about todo lists, time schedules and time estimates.

I would like to see keep and break properties implemented. They are
the raison d'ĂȘtre of the new design. I do not think they can be
implemented with the current design, because there is no arbitrator of
the page length. The problem should be solved in a manner similar to
the way Luca solved the inline layout problem: All possible break
points should be returned to a high-level object, probably the Flow
LM. This then applies a certain algorithm, keeping lengths and keeps
and breaks into account, to determine the best break point. The
structure for this procedure must be added to the current design.

I am also interested in block stacking constraints. They exercise the
ability to relate the layout produced by one LM with the traits of the
areas produced by other LMs. Perhaps it can be done using the layout
context, perhaps one should navigate the LM tree to gather the
required data.

Finally I hope it will be possible to make the structure of the layout
module simpler. I believe it is the complexity of this module that has
hindered progress the most. With my recent change to LMIter I tried to
come closer to the semantics of a collection and an iterator, and make
it easier to create more iterator objects for the children of an LM
without disturbing the state of the one used in getNextBreakPoss. I
hope more such changes are possible and will make it easier to
understand the layout module.

I do not know if this is a lot of work or not. To me it seems a
lot. Perhaps you may argue that this is not required for a 0.3
release. But to me it is rather essential to the new design. Without
it we might as well remain with the maintenance layout system.

I understand that the new design for renderers has been more
successful, and may be a reason to want a release of the development
code.
 
> One big problem I currently see is testing properly. We don't have a
> good set of tests that we can simply run. The example document are all a
> big mess demonstrating several features at once. Sometimes I don't even
> understand how it should (!) look. Personally, I'd add one important,
> high priority task to the list: (Finally) creating a good test/QS
> environment along with several simple documents each training a single
> feature. Attached to this task should/could be the Java2D renderer which
> we can used to easily create comparable bitmaps. I don't believe in MD5
> checking of PDF at this stage. That may be good as soon as we're in the
> maintenance phase again.

I agree. When I make a change to the layout system that might have
far-ranging bad effects if I miss something, I try to convince myself
with extensive logging. Good tests would be more
satisfactory. Unfortunately, I do not yet know anything about unit
testing, so I cannot write such tests.

Regards, Simon

-- 
Simon Pepping
home page: http://www.leverkruid.nl



Re: How much work is left before we can release HEAD?

2004-09-24 Thread Jeremias Maerki
Chris,

thank you doing this. I think it's important to have a good instrument
to determine our progress towards an initial release. I was a bit
shocked when I summed up only the points you've marked as high priority:
20 weeks. It got me thinking and running all the example files again
that I haven't run since early this year. Some still don't work, some
don't work anymore. Some look surprisingly good.

To your task list: Do you propose that all listed tasks should be
completed prior to an initial release? I think that there is a number of
tasks that are not really necessary for an 0.3, ex. floats, writing
mode/BIDI, last page. It would be great if we could break down the
things that need to be done into milestones. That may make it easier to
communicate to the outside world what our progress is. And we would also
know where we stand, because that's one of the biggest problem we
currently have.

Those who currently work on layout, how do you choose your work area?

One big problem I currently see is testing properly. We don't have a
good set of tests that we can simply run. The example document are all a
big mess demonstrating several features at once. Sometimes I don't even
understand how it should (!) look. Personally, I'd add one important,
high priority task to the list: (Finally) creating a good test/QS
environment along with several simple documents each training a single
feature. Attached to this task should/could be the Java2D renderer which
we can used to easily create comparable bitmaps. I don't believe in MD5
checking of PDF at this stage. That may be good as soon as we're in the
maintenance phase again.

Every now and then we get asked when there will be a next release. We
need to have some kind of answer for them. A good answer may even make
some company boss invest into FOP because he sees the end of the tunnel.
I think we will never get there if we target the full feature set for
the initial release. We can't but break down the whole thing into
manageable parts.

Food for flamesas usual.

On 22.09.2004 16:35:51 Chris Bowditch wrote:
> Team,
> 
> I have been trying to work out what is left to do be done before we can do an 
> initial release of HEAD, 0.3, say. I know some of you will prefer to aim for a 
> 1.0 and get everything right first time, but please bear with me.
> 
> I have consolidated the layout issues from [1] and [2] The infrastructure 
> items listed in [1] I feel are good enough for a 0.3 release. This is largely 
> thanks to work from Glen, Finn, Simon, Luca, Peter, Jeremias and the other 
> committers. Sorry if Ive missed anyone.
> 
> Anyway, i have created a wiki containing the work items along with my opinion 
> of priority and a finger in the air time estimates:
> 
> http://nagoya.apache.org/wiki/apachewiki.cgi?FOPWorkEstimates
> 
> I would very much appreciate some feedback.
> 
> Chris
> 
> [1] http://nagoya.apache.org/wiki/apachewiki.cgi?FOPProjectTasks
> 
> [2] http://xml.apache.org/fop/design/layout.html#status-todo



Jeremias Maerki



How much work is left before we can release HEAD?

2004-09-22 Thread Chris Bowditch
Team,
I have been trying to work out what is left to do be done before we can do an 
initial release of HEAD, 0.3, say. I know some of you will prefer to aim for a 
1.0 and get everything right first time, but please bear with me.

I have consolidated the layout issues from [1] and [2] The infrastructure 
items listed in [1] I feel are good enough for a 0.3 release. This is largely 
thanks to work from Glen, Finn, Simon, Luca, Peter, Jeremias and the other 
committers. Sorry if Ive missed anyone.

Anyway, i have created a wiki containing the work items along with my opinion 
of priority and a finger in the air time estimates:

http://nagoya.apache.org/wiki/apachewiki.cgi?FOPWorkEstimates
I would very much appreciate some feedback.
Chris
[1] http://nagoya.apache.org/wiki/apachewiki.cgi?FOPProjectTasks
[2] http://xml.apache.org/fop/design/layout.html#status-todo