PDFTranscoder configuration and CVS branches

2003-10-20 Thread OBRADOVIC,PETAR (HP-Vancouver,ex1)
I have downloaded the FOP's main branch and I have built it successfully.
After playing with the PDFTranscoder  (only, no FOP) for several days I
wanted to take the next step and try to add some custom fonts.  I traced
through the code and I think I need to provide a configuration class which
implements Avalon's Configuration interface and at the same time can parse
FOP's configuration file (for font metrics).

I was not able to find such class.  I noticed that there is
src/java/org/apache/fop/configuration package in Alt-Design and
src/org/apache/fop/configuration in fop-0_20_5 but I could not find anything
in the main trunk.  Previously mentioned classes do not implement
Configuration interface but could at least be a start for one.  In addition,
I was not able to find any configuration related classes in the trunk.

How can I configure the latest PDFTranscoder code?  Am I looking in wrong
places?

Thank you very much,
Petar Obradovic



PDFTranscoder configuration and CVS branches

2003-10-20 Thread OBRADOVIC,PETAR (HP-Vancouver,ex1)
My apology for posting the question below to the dev list.  It was meant to
go to the user list.

Petar

-Original Message-
From: OBRADOVIC,PETAR (HP-Vancouver,ex1) [mailto:[EMAIL PROTECTED] 
Sent: Monday, October 20, 2003 7:29 PM
To: FOP ([EMAIL PROTECTED])
Subject: PDFTranscoder configuration and CVS branches


I have downloaded the FOP's main branch and I have built it successfully.
After playing with the PDFTranscoder  (only, no FOP) for several days I
wanted to take the next step and try to add some custom fonts.  I traced
through the code and I think I need to provide a configuration class which
implements Avalon's Configuration interface and at the same time can parse
FOP's configuration file (for font metrics).

I was not able to find such class.  I noticed that there is
src/java/org/apache/fop/configuration package in Alt-Design and
src/org/apache/fop/configuration in fop-0_20_5 but I could not find anything
in the main trunk.  Previously mentioned classes do not implement
Configuration interface but could at least be a start for one.  In addition,
I was not able to find any configuration related classes in the trunk.

How can I configure the latest PDFTranscoder code?  Am I looking in wrong
places?

Thank you very much,
Petar Obradovic


RE: Common code in CVS branches

2002-11-07 Thread Ralph LaChance
At 02:09 AM 11/6/02, you wrote:

I just went looking in the archives for this discussion  thought I saw
pieces of it, but could not find what I was looking for -- namely, what
theories you guys had proposed / agreed upon. This is related to the font
work that I have started, i.e. I assume that the problem is a difference
between metrics reported/used by the awt Font and those reported from our
parsed metrics files. If it is not too much trouble, do you mind recapping a
brief summary of where the issue stands now? Thanks.


Victor (and Oleg, Keiron)

I agree this should get summarized (and documented.)  Presently, I am 
trying to systematically reproduce it here -- it may take another day or 
two, since the new JRE versions appear to behave differently (and still 
wrongly, it appears).
-- And, frankly, I'm totally confused by what I'm seeing today.



' Best,
-Ralph LaChance


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]



font issues (was RE: Common code in CVS branches)

2002-11-06 Thread Keiron Liddle
On Wed, 2002-11-06 at 08:09, Victor Mote wrote:
 I just went looking in the archives for this discussion  thought I saw
 pieces of it, but could not find what I was looking for -- namely, what
 theories you guys had proposed / agreed upon. This is related to the font
 work that I have started, i.e. I assume that the problem is a difference
 between metrics reported/used by the awt Font and those reported from our
 parsed metrics files. If it is not too much trouble, do you mind recapping a
 brief summary of where the issue stands now? Thanks.

It would be great if this information could be put somewhere for better
issue tracking, bugzilla for example.

Hopefully this could make it easier to locate and use when it is needed.

Keiron.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-05 Thread Victor Mote
Ralph LaChance wrote (to Oleg):

 Some months ago, we exchanged some notes regarding a problem
 in java that leads to a discrepancy in glyph measuring and rendering
 between printing and on-screen viewing.  Does your work by any
 chance avoid or resolve those problems ?  (For that matter, does your
 awt viewer handle printing?)

I just went looking in the archives for this discussion  thought I saw
pieces of it, but could not find what I was looking for -- namely, what
theories you guys had proposed / agreed upon. This is related to the font
work that I have started, i.e. I assume that the problem is a difference
between metrics reported/used by the awt Font and those reported from our
parsed metrics files. If it is not too much trouble, do you mind recapping a
brief summary of where the issue stands now? Thanks.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-05 Thread Oleg Tkachenko
Ralph LaChance wrote:


Your comment about progress on the awt viewer is good news -
I'm looking forward to trying it out !

Well, I'm afraid I have to disappoint you, but we have talked about 
1.0dev stuff. The viewer's reworking at the moment primary consists of 
cleaning the code, removing unnecessary complexity + moving to standard 
Locale-aware l10n. And that component is only about viewing, not rendering.

Some months ago, we exchanged some notes regarding a problem
in java that leads to a discrepancy in glyph measuring and rendering
between printing and on-screen viewing.  Does your work by any
chance avoid or resolve those problems ?  
Nope, but I hope AWTRenderer is the next on our task list, so we'll see 
wht acan be done.

(For that matter, does your
awt viewer handle printing?)

Ahem, in the same way 0.20.4 viewer does.

--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-04 Thread Victor Mote
Peter B. West wrote:

 Branches generally don't occur with subset of files.  The usual
 procedure is to tag a working set of files, then checkout the tag.  If
 there are files you don't want in the new working set, delete and 'cvs
 remove' them.  Until you 'cvs remove', the comments I made above would
 apply, I think.  That's the way I would envisage a new subset branch
 being created.  But see Jeremias' comments on the difficulties of
 educating committers.

I'll take your word for how it is used in real life, and this perhaps
explains how we got to the status quo. I just wonder why? It seems like
tagging only the subset of files that need to be different is a much more
elegant way to handle the problem. It 1) greatly simplifies the commit
process (it really eliminates the educating committers problem that
Jeremias mentioned), 2) defers branching individual files until they must be
branched, 3) provides a moderately easy way of knowing which files are
actually different. It requires only that when a file needs to be added to
the branch that someone run a cvs tag command on that file, and that if
you are working on the branch you use cvs checkout -f to make sure you get
the trunk version of the common files. If you fail to do the latter, the
compiler will no doubt remind you.

Although I'm pretty green with CVS, I have used RCS pretty heavily, and have
used the above concept successfully with it. We used scripts to accomplish
the same sort of things that CVS handles so nicely, but the concepts are
pretty much the same. Since the success of maintaining any re-merged work
depends on this concept, I'll do some testing on that first to make sure
that I'm not missing anything.

BTW, it is this viewpoint that makes me think that we have the branches
reversed. If the working / maintenance code is the core code that you start
with, then the new design code is the stuff that is branching off. Go back
to the point in time immediately before the first file was changed in the
redesign work. You modify file foo.java and want to commit it to the
repository as the first piece of the redesign. You have decided that the
redesign will live in the trunk and that the old code will be pushed onto a
branch (exactly as we have done). The only way that you can accomplish this
is to force a checkin of the code that **did not** change onto the branch.
Other have pointed out that it really doesn't matter where the branches are,
and in a strict sense they are correct (and we can use the admin -b to
change the default branch if we want to). However, it seems extremely
awkward and counter-intuitive to create a branch on code that didn't change.
I don't feel strongly about the position of the two branches. However, there
seems to be general agreement that this is a complex project. Since
complexities tend to be exponential in nature, every one of them that can be
eliminated tends to have a large benefit.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-04 Thread Victor Mote
Jeremias Maerki wrote:

 1.0 as soon as possible. I'm grateful for Victor's work and I hope it
 won't be a distraction. Because distractions may leave the focus of
 potential co-developers on the maintenance branch even though the
 redesign is already quite advanced.

I'm aware that this is a concern. However, consider the following:
1. The layout redesign is not the only work that is needed before a 1.0
release. If people can work on the other features in parallel with those who
are working on redesign, then we get to 1.0 faster.
2. As I understand it, there is maintenance code work that needs to be
merged into the trunk anyway. This should accomplish that, again in parallel
with the redesign. We don't want to have features in 0.20.4 that aren't in
1.0.
3. If we can get the code that should be common merged, then anyone who
works on common code for the benefit of the maintenance branch must make
sure that they haven't broken anything in the redesign along the way. This
*might* expose them more to the redesign work.
4. If the old layout is as dead-end as I have been told (and I have no
reason to doubt it), then *no one* will want to spend any time on the code
that is specific to the maintenance branch only. People working on layout
will do so in the redesign code, people working on anything else will do so
in the common code. We can still quibble about whether people should be
working on this or that, but at least everyone will be working on 1.0.

That is the theory anyway.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-04 Thread Keiron Liddle
Hi All,

Not sure where to start with all this...

On Mon, 2002-11-04 at 08:34, Jeremias Maerki wrote:
 Yes, for peripheral components (PDF lib, fonts etc.). 

That is one of the main problems with the old code, these components are
all linked together in bad ways, making it hard to improve and deal with
improvements to any particular part.
So work on the old code really means using the new code if these are to
be considered separate components.

 I fully agree with you. That's why I mentioned my employer who actually
 understands the reasons for the redesign and looks forwards to FOP 1.0,
 but thinks that there are certain issues that have to be dealt with
 right now. That's why I'm going to look at multithreading issues in the
 maintenance branch this week. If we had enough resources (like in
 Jakarta Tomcat, XML Xerces and XML Xalan, where they maintain/maintained
 two or more dev tracks at once) I wouldn't mind a two-track-approach.
 But in our situation I tend to force the redesign so we can deliver FOP
 1.0 as soon as possible. I'm grateful for Victor's work and I hope it
 won't be a distraction. Because distractions may leave the focus of
 potential co-developers on the maintenance branch even though the
 redesign is already quite advanced.

I'm wondering how advanced it really needs to be before anyone wants to
work on it. It is almost suitable to be used with the docs that forrest
creates.

I understand your particular situation and the required things for
production.

Keiron.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-04 Thread Keiron Liddle
On Mon, 2002-11-04 at 09:35, Victor Mote wrote:
 I'll take your word for how it is used in real life, and this perhaps
 explains how we got to the status quo. I just wonder why? It seems like
 tagging only the subset of files that need to be different is a much more
 elegant way to handle the problem. It 1) greatly simplifies the commit
 process (it really eliminates the educating committers problem that
 Jeremias mentioned), 2) defers branching individual files until they must be
 branched, 3) provides a moderately easy way of knowing which files are
 actually different. It requires only that when a file needs to be added to
 the branch that someone run a cvs tag command on that file, and that if
 you are working on the branch you use cvs checkout -f to make sure you get
 the trunk version of the common files. If you fail to do the latter, the
 compiler will no doubt remind you.

The selection of the branch really was simple:
- the old code had a number of problems
- we were getting nowhere trying to improve on that code due to the poor
design creep
- the code was branched only for bug fix updates with the intention of
abandoning it
- branch for old code simply as reference and for bug fixing
- new code on trunk as the main development focus
- work on new code to address design problems

Redesign, rewrite call it what you want. The design of some fundamental
parts is different (area tree, renderers, xml handling, image handling,
layout), a number of things where rewritten to accomodate the different
design approach.

I really don't think that you can say, even with the benefit of
hindsight, that working from the original code would have got us towards
a better design in the same time.

Quite simply the code was a mess.

 BTW, it is this viewpoint that makes me think that we have the branches
 reversed. If the working / maintenance code is the core code that you start
 with, then the new design code is the stuff that is branching off. Go back
 to the point in time immediately before the first file was changed in the
 redesign work. You modify file foo.java and want to commit it to the
 repository as the first piece of the redesign. You have decided that the
 redesign will live in the trunk and that the old code will be pushed onto a
 branch (exactly as we have done). The only way that you can accomplish this
 is to force a checkin of the code that **did not** change onto the branch.
 Other have pointed out that it really doesn't matter where the branches are,
 and in a strict sense they are correct (and we can use the admin -b to
 change the default branch if we want to). However, it seems extremely
 awkward and counter-intuitive to create a branch on code that didn't change.
 I don't feel strongly about the position of the two branches. However, there
 seems to be general agreement that this is a complex project. Since
 complexities tend to be exponential in nature, every one of them that can be
 eliminated tends to have a large benefit.

As I have said a number of times and will continue to say.
The old code was linked all over the place making it unecessarily
complex, a suitable design was not forming and there was essentially no
hope of implementing certain important features.
We needed to start from scratch in some areas and attack it from a
different perspective. There didn't seem to be a need to waste a lot of
time bringing across the old code in gradual steps. Even now it seems
like it would take far longer to bring across in small steps than it
would to simply focus on what we have now.

Should we then focus on a simpler cleaner design to get rid of these
exponential complexities.

How good does it need to be working before you will consider it suitable
to work on.


Keiron


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-04 Thread Keiron Liddle
On Mon, 2002-11-04 at 09:57, Victor Mote wrote:
 Jeremias Maerki wrote:
 
  1.0 as soon as possible. I'm grateful for Victor's work and I hope it
  won't be a distraction. Because distractions may leave the focus of
  potential co-developers on the maintenance branch even though the
  redesign is already quite advanced.
 
 I'm aware that this is a concern. However, consider the following:
 1. The layout redesign is not the only work that is needed before a 1.0
 release. If people can work on the other features in parallel with those who
 are working on redesign, then we get to 1.0 faster.

Wouldn't that work better under the same design prinicples and support
code. The branch does not have this.

 2. As I understand it, there is maintenance code work that needs to be
 merged into the trunk anyway. This should accomplish that, again in parallel
 with the redesign. We don't want to have features in 0.20.4 that aren't in
 1.0.

Only about 1 or 2 minor things that I know, is there a list of them
anywhere.
We are working on a 1.0 final, in the meantime we could do a developers
release that has less.

 3. If we can get the code that should be common merged, then anyone who
 works on common code for the benefit of the maintenance branch must make
 sure that they haven't broken anything in the redesign along the way. This
 *might* expose them more to the redesign work.
 4. If the old layout is as dead-end as I have been told (and I have no
 reason to doubt it), then *no one* will want to spend any time on the code
 that is specific to the maintenance branch only. People working on layout
 will do so in the redesign code, people working on anything else will do so
 in the common code. We can still quibble about whether people should be
 working on this or that, but at least everyone will be working on 1.0.

It comes down to resources, who will do all this.

 That is the theory anyway.
 
 Victor Mote



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-04 Thread Jeremias Maerki

On 04 Nov 2002 10:05:06 +0100 Keiron Liddle wrote:
 Hi All,
 
 Not sure where to start with all this...
 
 On Mon, 2002-11-04 at 08:34, Jeremias Maerki wrote:
  Yes, for peripheral components (PDF lib, fonts etc.). 
 
 That is one of the main problems with the old code, these components are
 all linked together in bad ways, making it hard to improve and deal with
 improvements to any particular part.
 So work on the old code really means using the new code if these are to
 be considered separate components.

Thanks for filling the white spots I left with my answer.

  I fully agree with you. That's why I mentioned my employer who actually
  understands the reasons for the redesign and looks forwards to FOP 1.0,
  but thinks that there are certain issues that have to be dealt with
  right now. That's why I'm going to look at multithreading issues in the
  maintenance branch this week. If we had enough resources (like in
  Jakarta Tomcat, XML Xerces and XML Xalan, where they maintain/maintained
  two or more dev tracks at once) I wouldn't mind a two-track-approach.
  But in our situation I tend to force the redesign so we can deliver FOP
  1.0 as soon as possible. I'm grateful for Victor's work and I hope it
  won't be a distraction. Because distractions may leave the focus of
  potential co-developers on the maintenance branch even though the
  redesign is already quite advanced.
 
 I'm wondering how advanced it really needs to be before anyone wants to
 work on it. It is almost suitable to be used with the docs that forrest
 creates.

The fact that we started to get a few patches for the redesign after our
discussions in August is already a good sign. 

 I understand your particular situation and the required things for
 production.

Yeah, I'd be grateful if the situation was different. At least, it looks
like I will be able to work on the redesign soon. For how long and if
I'm going to get paid for it I'm still trying to check out.

Jeremias Maerki


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-04 Thread Peter B. West
Jeremias Maerki wrote:


Comments on your thoughts about branches: It sounds like the CVS
manipulation gets to be a project of its own. If it's too complicated,
some won't follow the rules, more work is generated for maintaining the
codebase. That's the impression I get.


It's definitely 1) more complicated, though not massively more so, and 
2) requires closer liaison between committers on common code commits.

1) bad
2) good?


I can't follow you on 2). Do you mean between maintenance-oriented
committers and redesign-oriented committers? If that gets a problem then
we have a split in the project and that wouldn't be good.


Between all committers.  I meant that closer liaison between committers 
is a good thing.  All committers then have a more lively appreciation of 
what the others are up to.

Peter
--
Peter B. West  [EMAIL PROTECTED]  http://www.powerup.com.au/~pbwest/
Lord, to whom shall we go?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]



RE: Common code in CVS branches

2002-11-04 Thread Victor Mote
Keiron Liddle wrote:

 That is one of the main problems with the old code, these components are
 all linked together in bad ways, making it hard to improve and deal with
 improvements to any particular part.
 So work on the old code really means using the new code if these are to
 be considered separate components.

I understand, and I will interpret these comments and other related ones
together to be a veto on my proposal to try to merge the two branches. I
totally understand and respect that, and will comply. I do think that I got
the wrong impression somewhere along the way. To the extent that I am able
to demand anything, I really think we must at the very least make it very
clear in our web site/doc that the maintenance branch is not open for
business except for bug fixes, and with perhaps a two-sentence explanation
of why. That may prevent you from getting to have this discussion again.

 I'm wondering how advanced it really needs to be before anyone wants to
 work on it. It is almost suitable to be used with the docs that forrest
 creates.

I'll start in on it right away. If you have a specific task that a greenhorn
can chew on, please let me know. Otherwise, I'm sure I'll be able to find
something interesting.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-04 Thread Keiron Liddle
On Mon, 2002-11-04 at 17:38, Oleg Tkachenko wrote:
 Keiron Liddle wrote:
 
  The major areas of neglect would have to be:
  - font handling
  - api classes
  - awt viewer
 
 Please, reserve last one for me, I'm almost finishing with it.

Sorry, should have mentioned you are working on it.




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-04 Thread Jeremias Maerki
Victor

If it's ok with you, go with font support. I guess you already read
yourself halfway in and you know my ideas. That would really be great.
Anything else you might want to take is ok, though, and of course,
highly appreciated. What are your ideas?

On 04.11.2002 17:33:55 Keiron Liddle wrote:
 On Mon, 2002-11-04 at 16:19, Victor Mote wrote:
  I'll start in on it right away. If you have a specific task that a greenhorn
  can chew on, please let me know. Otherwise, I'm sure I'll be able to find
  something interesting.
 
 Hi Victor,
 
 The major areas of neglect would have to be:
 - font handling
 - api classes
 - awt viewer


Jeremias Maerki


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-04 Thread Victor Mote
Jeremias Maerki wrote:

 If it's ok with you, go with font support. I guess you already read
 yourself halfway in and you know my ideas. That would really be great.
 Anything else you might want to take is ok, though, and of course,
 highly appreciated. What are your ideas?

That sounds fine. I'm installing a new workstation today, but hope to be
started on this work tomorrow.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Common code in CVS branches

2002-11-03 Thread Peter B. West
Re some recent questions on this topic.  As I understand it, creating a 
branch in the tree off an existing file set simply involves tagging the 
set of files with the new branch tag.  From that point on, as long as a 
particular file remains unchanged, a checkout on either branch will 
retrieve a identical *revision* of the file.  As soon as a change is 
made to a file in either branch, the retrieved files will differ by that 
 delta, and the unchanged file will retain the original revision number.

Maintaining common code across different branches is another question. 
Here's an approach which *may* work.  Interested parties might like to 
create a dummy CVS tree and try it.

As well as the two full development branches, create a branch (or 
branches) specifically for common code sets.  From that branch, cvs 
remove all of the non-common files.  Proceed with parallel development. 
 When one wants to make changes to the common code, notify everyone of 
the intention.  Negotiate any conflicts of intention.  (This may be a 
good reason to split the common code into a number of modules, each with 
its own reference branch.)

Make the changes, test and perform a normal commit.  Now merge from your 
branch into the common code branch or branches.  This is the tricky 
part.  CVS may spit the dummy here, but I hope not.  I hope that it will 
simply report on all of the unknown files that you are throwing its way, 
while going ahead with a merge of the files it knows about.

Tag your branch and tag the common branch according to some agreed 
scheme.  Notify completion.  Now someone working on another branch or 
branches can merge from the common branch into his branch.  He then tags 
his branch according to the same scheme.  Note that future merges to and 
fro will be relative to these tag points.

It's kinda messy, but it might just be feasible.

Peter
--
Peter B. West  [EMAIL PROTECTED]  http://www.powerup.com.au/~pbwest/
Lord, to whom shall we go?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]



Re: Common code in CVS branches

2002-11-03 Thread Jeremias Maerki
Peter

This is an idea I was also playing with. Avalon does that, too. But
having multiple subprojects (that's what they are, not modules) brings
it own difficulties. There are several pros and cons to this:
+ Encourages loose coupling and good design
+ Components that could in theory be used independently of FOP would get
a better visibility. 
+ Reduces redundancy/code duplication
+ It is easier for newbies to start working on FOP because they don't
see a big bundle of code at once.
- dependencies get more difficult to handle
- encourages the development on the old FOP (which I don't think is a
  good thing)

I've found more pros than cons but I'm not sure I like it.

Comments on your thoughts about branches: It sounds like the CVS
manipulation gets to be a project of its own. If it's too complicated,
some won't follow the rules, more work is generated for maintaining the
codebase. That's the impression I get.

FOP has lost a lot of its maintainers last year. New ones have been
elected into the project but we're still in a resource shortage. I'm
glad we have a few new candidates coming up. As we've discussed in
August, I think it's VERY important to focus our work so we can get that
redesign/rewrite phase behind us as fast as possible. Having to watch
dependencies in this process is braking these efforts. If changes are
being performed in the maintenance path that can later be ported to the
redesigned FOP then I have nothing against it. Examples can be those
given by Keiron. IMO font support is also pretty separate. Also, bugs
should also be fixed if they are easy to fix. But please, let's put our
efforts together to bring FOP to a version 1.0 as soon as possible. A
lot is already there. We can build on that.

On 03.11.2002 15:12:24 Peter B. West wrote:
 (This may be a 
 good reason to split the common code into a number of modules, each with 
 its own reference branch.)


Jeremias Maerki


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-03 Thread Oleg Tkachenko
Jeremias Maerki wrote:


But please, let's put our
efforts together to bring FOP to a version 1.0 as soon as possible. A
lot is already there. We can build on that.


That's what I wanted to say all the thread, +1.

--
Oleg Tkachenko
eXperanto team
Multiconn Technologies, Israel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




RE: Common code in CVS branches

2002-11-03 Thread Victor Mote
Peter B. West wrote:

 Re some recent questions on this topic.  As I understand it, creating a
 branch in the tree off an existing file set simply involves tagging the
 set of files with the new branch tag.  From that point on, as long as a
 particular file remains unchanged, a checkout on either branch will
 retrieve a identical *revision* of the file.  As soon as a change is
 made to a file in either branch, the retrieved files will differ by that
   delta, and the unchanged file will retain the original revision number.

The first part of this is correct, I think. If you have 100 files, and 30 of
them need to be branched, those 30 files are tagged with a branch ID. To get
a complete set of code on that branch, I think you would have to use
checkout -f, so that your CVS client knows how to find the other 70 files on
the default branch. I am almost sure that if changes are made to any of
those 70 files, they will be seen in this scheme by both those working on
the trunk and those working on the branch. This is where we wish we were
right now, but I think what happened is that basically **all** of the files
got tagged with a branch ID, effectively forking a bunch of them that would
have been better to leave unified. It may be possible to restore this state
even now. More on this in my response to Jeremias to follow.

Victor Mote


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Common code in CVS branches

2002-11-03 Thread Peter B. West
Victor Mote wrote:

Peter B. West wrote:



Re some recent questions on this topic.  As I understand it, creating a
branch in the tree off an existing file set simply involves tagging the
set of files with the new branch tag.  From that point on, as long as a
particular file remains unchanged, a checkout on either branch will
retrieve a identical *revision* of the file.  As soon as a change is
made to a file in either branch, the retrieved files will differ by that
 delta, and the unchanged file will retain the original revision number.



The first part of this is correct, I think. If you have 100 files, and 30 of
them need to be branched, those 30 files are tagged with a branch ID. To get
a complete set of code on that branch, I think you would have to use
checkout -f, so that your CVS client knows how to find the other 70 files on
the default branch. I am almost sure that if changes are made to any of
those 70 files, they will be seen in this scheme by both those working on
the trunk and those working on the branch. This is where we wish we were
right now, but I think what happened is that basically **all** of the files
got tagged with a branch ID, effectively forking a bunch of them that would
have been better to leave unified. It may be possible to restore this state
even now. More on this in my response to Jeremias to follow.


Victor,

Branches generally don't occur with subset of files.  The usual 
procedure is to tag a working set of files, then checkout the tag.  If 
there are files you don't want in the new working set, delete and 'cvs 
remove' them.  Until you 'cvs remove', the comments I made above would 
apply, I think.  That's the way I would envisage a new subset branch 
being created.  But see Jeremias' comments on the difficulties of 
educating committers.

Peter
--
Peter B. West  [EMAIL PROTECTED]  http://www.powerup.com.au/~pbwest/
Lord, to whom shall we go?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]



Re: Common code in CVS branches

2002-11-03 Thread Peter B. West
Jeremias Maerki wrote:

Peter

This is an idea I was also playing with. Avalon does that, too. But
having multiple subprojects (that's what they are, not modules) brings


My sloppy use of the term module.


it own difficulties. There are several pros and cons to this:
+ Encourages loose coupling and good design
+ Components that could in theory be used independently of FOP would get
a better visibility. 
+ Reduces redundancy/code duplication
+ It is easier for newbies to start working on FOP because they don't
see a big bundle of code at once.
- dependencies get more difficult to handle
- encourages the development on the old FOP (which I don't think is a
  good thing)

In the case of common code, work on the old FOP would also be work on 
the new FOP, wouldn't it?


I've found more pros than cons but I'm not sure I like it.

Comments on your thoughts about branches: It sounds like the CVS
manipulation gets to be a project of its own. If it's too complicated,
some won't follow the rules, more work is generated for maintaining the
codebase. That's the impression I get.


It's definitely 1) more complicated, though not massively more so, and 
2) requires closer liaison between committers on common code commits.

1) bad
2) good?

FOP has lost a lot of its maintainers last year. New ones have been
elected into the project but we're still in a resource shortage. I'm
glad we have a few new candidates coming up. As we've discussed in
August, I think it's VERY important to focus our work so we can get that
redesign/rewrite phase behind us as fast as possible. Having to watch
dependencies in this process is braking these efforts. If changes are
being performed in the maintenance path that can later be ported to the
redesigned FOP then I have nothing against it. Examples can be those
given by Keiron. IMO font support is also pretty separate. Also, bugs
should also be fixed if they are easy to fix. But please, let's put our
efforts together to bring FOP to a version 1.0 as soon as possible. A
lot is already there. We can build on that.


I concur with Oleg here.  (Yes, really.)  However, there are people who, 
as Victor has said, who find the all-or-nothing approach extremely 
difficult.  If they can come up with practical ways of easing such 
difficulties, their suggestions should be carefully considered.

Peter
--
Peter B. West  [EMAIL PROTECTED]  http://www.powerup.com.au/~pbwest/
Lord, to whom shall we go?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]



Re: Common code in CVS branches

2002-11-03 Thread Jeremias Maerki

On Mon, 04 Nov 2002 10:22:14 +1000 Peter B. West wrote:
 Jeremias Maerki wrote:
  Peter
  
  This is an idea I was also playing with. Avalon does that, too. But
  having multiple subprojects (that's what they are, not modules) brings
 
 My sloppy use of the term module.
 
  it own difficulties. There are several pros and cons to this:
  + Encourages loose coupling and good design
  + Components that could in theory be used independently of FOP would get
  a better visibility. 
  + Reduces redundancy/code duplication
  + It is easier for newbies to start working on FOP because they don't
  see a big bundle of code at once.
  - dependencies get more difficult to handle
  - encourages the development on the old FOP (which I don't think is a
good thing)
 
 In the case of common code, work on the old FOP would also be work on 
 the new FOP, wouldn't it?

Yes, for peripheral components (PDF lib, fonts etc.). 

  I've found more pros than cons but I'm not sure I like it.
  
  Comments on your thoughts about branches: It sounds like the CVS
  manipulation gets to be a project of its own. If it's too complicated,
  some won't follow the rules, more work is generated for maintaining the
  codebase. That's the impression I get.
 
 It's definitely 1) more complicated, though not massively more so, and 
 2) requires closer liaison between committers on common code commits.
 
 1) bad
 2) good?

I can't follow you on 2). Do you mean between maintenance-oriented
committers and redesign-oriented committers? If that gets a problem then
we have a split in the project and that wouldn't be good.

  FOP has lost a lot of its maintainers last year. New ones have been
  elected into the project but we're still in a resource shortage. I'm
  glad we have a few new candidates coming up. As we've discussed in
  August, I think it's VERY important to focus our work so we can get that
  redesign/rewrite phase behind us as fast as possible. Having to watch
  dependencies in this process is braking these efforts. If changes are
  being performed in the maintenance path that can later be ported to the
  redesigned FOP then I have nothing against it. Examples can be those
  given by Keiron. IMO font support is also pretty separate. Also, bugs
  should also be fixed if they are easy to fix. But please, let's put our
  efforts together to bring FOP to a version 1.0 as soon as possible. A
  lot is already there. We can build on that.
 
 I concur with Oleg here.  (Yes, really.)  However, there are people who, 
 as Victor has said, who find the all-or-nothing approach extremely 
 difficult.  If they can come up with practical ways of easing such 
 difficulties, their suggestions should be carefully considered.

I fully agree with you. That's why I mentioned my employer who actually
understands the reasons for the redesign and looks forwards to FOP 1.0,
but thinks that there are certain issues that have to be dealt with
right now. That's why I'm going to look at multithreading issues in the
maintenance branch this week. If we had enough resources (like in
Jakarta Tomcat, XML Xerces and XML Xalan, where they maintain/maintained
two or more dev tracks at once) I wouldn't mind a two-track-approach.
But in our situation I tend to force the redesign so we can deliver FOP
1.0 as soon as possible. I'm grateful for Victor's work and I hope it
won't be a distraction. Because distractions may leave the focus of
potential co-developers on the maintenance branch even though the
redesign is already quite advanced.

Jeremias Maerki


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Wondering about CVS branches

2002-10-28 Thread Keiron Liddle
On Fri, 2002-10-25 at 18:08, Patrick Dean Rusk wrote:
   I've recently started working with FOP, and I gather from this list that
 there are multiple CVS branches of code, in particular for the new design
 and for the upcoming 0.20.5.  I gather from the fop-cvs messages that at
 least one of these is called FOP_0-20-0_Alt-Design.
 
   How can I find out about all of the branch names?  Which branch is the
 default trunk?  The upcoming 0.20.5 maintenance release?

One way with cvs is to do a cvs log on a file.
It will list the symbolic names where the branches and tags on
branches have the version form of 1.x.x.x

You will then find the names of the branches that Peter mentioned.




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Wondering about CVS branches

2002-10-25 Thread Patrick Dean Rusk
I've recently started working with FOP, and I gather from this list that
there are multiple CVS branches of code, in particular for the new design
and for the upcoming 0.20.5.  I gather from the fop-cvs messages that at
least one of these is called FOP_0-20-0_Alt-Design.

How can I find out about all of the branch names?  Which branch is the
default trunk?  The upcoming 0.20.5 maintenance release?

Thank you.

Patrick Rusk


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: Wondering about CVS branches

2002-10-25 Thread Peter B. West
Patrick,

There are three:

HEAD is the top of the trunk, of course, and is the mainline redesign.

fop-0_20_2-maintain is the line of development of the current working 
version.  All of the releases since, let's say, 0.20.2, have been off 
this branch.  If you want to do any work on the current version, you 
need to checkout this tag.  cvs status -v in one of the directories 
should expose the tags that have been applied as the various releases 
have been made.

FOP_0-20-0_Alt-Design is an Alt(ernative new)-Design.  That's what I've 
been working on.  It is focussed on a re-working of properties handling, 
so far.

Peter


Patrick Dean Rusk wrote:
	I've recently started working with FOP, and I gather from this list that
there are multiple CVS branches of code, in particular for the new design
and for the upcoming 0.20.5.  I gather from the fop-cvs messages that at
least one of these is called FOP_0-20-0_Alt-Design.

	How can I find out about all of the branch names?  Which branch is the
default trunk?  The upcoming 0.20.5 maintenance release?



--
Peter B. West  [EMAIL PROTECTED]  http://www.powerup.com.au/~pbwest/
Lord, to whom shall we go?


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: CVS branches

2002-03-27 Thread Michael Gratton



Keiron Liddle wrote:
 
 Confusion abounds!
 

It does indeed. 8)

 The trunk is also known as: HEAD, MAIN, main, development, redesign 
 or even cvs update -A or cvs update -rHEAD

Okay, thanks for clearing that up. My confusion arose from the fact that 
ViewCVS (which is used by cvs.apache.org) lists MAIN as a FOP branch. 
I looked at another ViewCVS installation, and that also lists MAIN as 
a branch. So I guess it's just a facet of ViewCVS.

Apologies for the static.
Michael.

-- 
Michael Gratton [EMAIL PROTECTED]
Recall Design http://www.recalldesign.com/
s: 53 Gilbert Street Adelaide SA 5000 Australia
t: +61 8 8217 0500 f: +61 8 8217 0555



smime.p7s
Description: S/MIME Cryptographic Signature


Re: CVS branches

2002-03-26 Thread Keiron Liddle


Confusion abounds!

There are only two (2) FOP cvs things.
THe is the trunk and the maintanence branch.

The maintanence branch has the name fop-0_20_2-maintain. This is for 
maintanence releases.

The trunk is also known as: HEAD, MAIN, main, development, redesign or 
even cvs update -A or cvs update -rHEAD

Those still confused should read up on cvs.

On 2002.03.26 00:05 Michael Gratton wrote:
 Christian Geisert wrote:
 
 I assumend MAIN and HEAD are equivalent ...
 (Maybe someone can explain this to me ;-)
 
 Not in FOP.. 8)
 
 If you checkout FOP without a given branch you get the main development
 branch (aka redesign).
 
 Yeah, that's the case. This is usually called the trunk, and is a 
 special case branch. It has the symbolic name HEAD, although you don't 
 want to use that when checking it out.
 
 FOP actually has a branch called MAIN, separate to the trunk (HEAD).
 
 Mike.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: CVS branches

2002-03-25 Thread Michael Gratton



Christian Geisert wrote:
 
 I assumend MAIN and HEAD are equivalent ...
 (Maybe someone can explain this to me ;-)

Not in FOP.. 8)

 If you checkout FOP without a given branch you get the main development
 branch (aka redesign).

Yeah, that's the case. This is usually called the trunk, and is a 
special case branch. It has the symbolic name HEAD, although you don't 
want to use that when checking it out.

FOP actually has a branch called MAIN, separate to the trunk (HEAD).

Mike.

-- 
Michael Gratton [EMAIL PROTECTED]
Recall Design http://www.recalldesign.com/
s: 53 Gilbert Street Adelaide SA 5000 Australia
t: +61 8 8217 0500 f: +61 8 8217 0555



smime.p7s
Description: S/MIME Cryptographic Signature


CVS branches

2002-03-24 Thread Michael Gratton


Guys,

Sorry to reshash what is probably an old and tired subject, but I've 
gotten some conflicting advice as to what CVS branch is used for what. 
If anyone could help fill in the blanks and correct the errors, I'd 
appreciate it. 8)

MAIN - FOP redesign / new-design branch. This is where dev for for 
the next main iteration of FOP is done.

HEAD - I assume v0.21 and latter versions will stem from this branch 
at some stage, up until the work on the MAIN branch lands on the trunk.

fop-0_20_2-maintain - the v0.20.x maintanence branch. Further 
releases in the v0.20.x series (and others?) are made from this branch.

Thanks,
Mike.

-- 
Michael Gratton [EMAIL PROTECTED]
Recall Design http://www.recalldesign.com/
s: 53 Gilbert Street Adelaide SA 5000 Australia
t: +61 8 8217 0500 f: +61 8 8217 0555



smime.p7s
Description: S/MIME Cryptographic Signature