>> This discussion would also involve the words "session-based alternative".
>>
> And I should have added: I thought we had agreed that we will not implement
> any form of reversibility. It's what leads to the really bad security
> problems.

Technically speaking, we are aiming at different goals. I have stated
my design goal several times so I will not repeat here. I used
bundle/unbundle to achieve that goal but failed, so I am using a
different approach. This approach does not have to solve the
bundle/unbundle  problem that you have, it does not have a bundled
mode so there is no reversibility to talk about. In that sense, the
reversibility problem is yours, not mine.

However, my approach can be used to bundle/unbundle external files,
and I do try to achieve full reversibility. This is why I am trying to
keep file links in .lyx file (optional or encrypted). I have stated
reasons why I dislike the session idea.

Your solution to troublesome reversible unbundling is to use
non-reversible unbundling. My solution is quite different. I first
minimize the need for unbundling by introducing no bundled mode. The
.lyx file is still in plain text format. There is no change for
user-interaction except that they are given an option to embed a file.
If you call this a bundled mode, it is a natural bundled mode that is
much less intrusive than yours. Different users can work on the same
document with ease if we allow features such as embed-all, un-embed,
update from external file etc.

This makes unbundling, namely extracting all embedded files, almost
irrelevant. But I do agree that unbundling is a good feature to have.
Because unbundling, under my design, will change .lyx file in an
intrusive way, I proposed to make it something similar to
"File->Export->LyX with extracted files". A Python script will be
called to extract a .lyx file to a new directory (e.g.
filename.extracted under the document directory), and arrange files in
their original layout. The layout proposed by Enrico, in which .lyx
file can be a few levels down filename.extracted can be used to keep
out of tree files. Full reversibility is achieved in this way at a
cost of convenience.

A side note about these kind of unbundling is that unbundling will be
ugly if all embedded files are anonymous, easy if file links are kept,
and can not be done using a Python script if file links are encrypted.

Cheers,
Bo

Reply via email to