>  the first thing is whether you both agree on this summary :)
>  maybe Richard would like to change some points :)

They are basically 'facts' extracted from the debate. Of course
Richard can correct me if I were wrong.

>  - i don't like the 'extract all embed' feature in concept1. if some chaotic
>   co-author on the other side embed files from different paths on filesystem
>   i will be _very_ annoyed by lyx disseminate these file on hundred and one
>   locations on my filesystem. we shouldn't allow this to happen. i dont see 
> this
>   listed in cons of concept 1, but i consider this far worse deficiency than
>   other points written.
>   not to kill the concept1 completely - it could may be done that we allow
>   only embed/unembed files on the same directory level or in subdirs.

This has been debated. Using the second approach, because lyx has to
work on the unbundled .lyx file, it is difficult to restore relative
locations of extracted files. This is why Richard chose not to
unbundle files to their original locations.  Unbundling will be an
export feature that writes a .lyx file and its extracted external
files to a new subdirectory under the document directory. The current
.lyx file is not changed.

>  - i'm bit confused by the concept2 description.
>   * where is saved filename.lyx.
>   in filename.lyxdir/ or outside of this dir in bundled mode? how is it with
>   addind/deleting new files?

filename.lyx and filename.lyxdir will be in the same directory. Adding
an external file will copy that file to, e.g.,
filename.lyxdir/figures. If compression is enabled, filename.lyx will
have plain text filename.lyx and filename.lyxdir. Otherwise, the
'document' is filename.lyx and filename.lyxdir.

>   * does this bundling movement means my coauthor can't work reasonably with
>   the bundled files (its hard if they are renamed all structure lost etc.)?

Yes. The original structure of external files are lost. It is of
course possible to allow users to specify locations within this
filename.lyxdir structure, but this means more troubles for users.

>   * if he changes some picture would it be easy to get this change back to
>   _my_ structure? if this is not somehow doable this format is not much useful
>   for cooperation.

No. You are forced to use a prespecified strcuture. Once you turn to
bundled mode, you can not get your structure back. This is the
reversibility problem I was talking about.

>  - if i understand it correctly in both cases the filename is discarded. why?
>   isn't only filepath the problem?

In the first case, an embedded file is either anonymous (file links
are not saved), or with known original source, which can be relative
or absolute. I chose to password-protect both filename and filepath
because filenames alone are not enough to recover the original
external file structure.

>  - was there some conclusion about filename extension? if there are going to 
> be
>   any tricks with copying or moving .lyx file itself i smell thousand and one
>   problems of rewrites, bad deletions on user side etc. i think that some .lyz
>   would be much more appropriate here.

I am not quite sure about what you are talking here. In my approach, a
file will be given a random name and copied to lyx temp directory.
This temp name will be used just for this file and be saved in .lyx
file. The embedded files are sorted before written to .lyx file so
there will be no massive content change after simple editions.

In Richard's approach, a file is copied to filename.lyxdir, possibly
renamed to avoid filename conflict.

>  now from completely different angle, imagine such kind of workflow:
>
>  1. i have all my files for typesetting some book in one directory with
>    possible subdir structure for chapter/pictures/repository info like
>    .svn or .git.
>  2. now i want to send it to my coauthor for revisions, new chapter, 
> whatsover.
>    so i pack this whole directory into one archive and send it to my coauthor.
>  3. he unpacks it edit whatsover he likes. then he packs it again and send me.
>  4. i unpack it and start to use it normaly. in this point i can easily forget
>    i ever used some packing. and first thing i would like to see is usually
>    what happened, so some "git diff" or even "git log" should be possible.

This will be my way of doing things as well.

>  now imagine we require that all bundled/embedded files are in the same 
> directory
>  or in subdirs.
>  the BIG question for before all: can be such constraint demanded on user at 
> all?

I certainly disagree, but Richard and JMarc said yes. They were
talking about not allowing any out of tree file. I strongly object any
unnecessary restriction on how users use external files.

>  if yes the implications would be clear:
>  - we can use this directory as filename.dir in concept2 (or add some 
> cherry-picking as in concept1)
>  - the whole pack/unpack process seems to be more clear (at leat to me:)

In Richard's approach, you can not keep your original directory structure.

In my approach, you do 'embed all files' and send a single .lyx file
to your co-author. After he finishes edition, you 'extract all
embedded files', examine the files and copy them back to your
directory structure.

Note that my first (reverted) approach was designed around the idea of
'in-place' unbundling. That is to say, you can directly unbundle the
file sent back by your co-author and svn diff. The new approach means
one more step, but is a lot safer.

>   imagine for example we rename the bundled file extension to some,
>   so from that moment we know only two states:
>   1) projet_dir.lyz 2) project_dir/...content_of_lyz
>  - we can forget about the path/filename issues
>  - we can hold the dir structure
>  - in case we rename the bundled extension some another we can even

My approach continue to use plain text for embedded files and has no
trouble with external files, directory etc.

>  but maybe such kind of solution was already discussed, don't know;
>  just sharing what came up in my mind while reading the previous mail,
>  because in both solutions i have seen nigthmares mainly in the phase
>  of packing/unpacking. concept2 seems to 'solve' that by avoiding moving
>  the files back, which in fact means leting do the hard job to the user.

I hope that you feel comfortable with my pack/unpack solution. From
the very begining, my design was around reversibility so that I could
recover my local external file structure. My previous implementation
was convenient but may be unsafe. The current approach should work
well.

Cheers,
Bo

Reply via email to