On mercoledì 25 settembre 2024 16:12:49 CEST Steven Robbins wrote: > On Monday, September 23, 2024 12:33:40 A.M. CDT Stefano Crocco wrote: > > On domenica 22 settembre 2024 23:53:33 CEST Steven Robbins wrote: > > > The way I understood that suggestion is that there is NOT a one-time > > > migration. Rather, the algorithm when encountering a page with forms is > > > roughly: > > > > > > 1. look up the new way - if entry found, then use it; else > > > 2. look up the old way - if entry found, then > > > > > > a) migrate to new storage > > > b) use data to fill form > > > > > > So it would be a gradual migration. If the data is found under the old > > > scheme, then for migration (Step 2a) I would think you have enough info > > > to > > > build an unambiguous key for the new scheme? > > > > I certainly have the information to build the new keys, but sometimes > > (rarely) there's not enough information to associate the existing data > > with > > the correct key. If the old data is under the key http://xyz.com# and the > > page has two forms, with entries http://xyz.com#f1 and http://xyz.com#f2, > > what should I do with the existing entry? Rename it as http://xyz.com#f1? > > Rename it as http://xyz.com#f2? Create two entries, http://xyz.com#f2 and > > http://xyz.com#f2 with the same contents? > > This is where I'm confused about the question .... > > What does the current code do in such a situation? Does it fill out form > f1? f2? both? neither? > > I was assuming the new code could do the analogous thing and be "no less > robust". Perhaps that is what you meant by the paragraph below. > That's correct.
> > The last one is what I thought > > you meant: it keeps the ambiguity because it doesn't attempt to decide > > which form the entry corresponds to but uses it for all of them, leaving > > it > > to the user to correct things. In many circumstances, there are ways to > > attempt to determine a single entry, but in some edge cases they could > > fail. This is why I thought that having the user start the process would > > be > > better. > > If I understand correctly, the answer is that the current code will fill out > *both* forms f1 and f2 and let the user correct them? If you retain this > behaviour then it would at least be familiar :-) Indeed. > > Can you then migrate to the new structure after the user corrects and > submits the form? Yes, that can be an interesting option. However, because of the way the code is structured, I think it would be easier to do it before filling the forms. I think I've found how to do it in a mostly reliable way. I'll try and see if it works. > > I'm clearly way out of my depth here, but I have enjoyed the discussion. > > Thanks, > -Steve Thanks Stefano