Backwards compatibility issues of using a new SVG attribute for representing guides
Hello Everyone,
I'm working on improving the usability of guides as a GSoC project.
My mentor (Johan), suggested that henceforth "inkscape:guide" be used instead of "sodipodi:guide" as the SVG attribute for representing guides. In my branch one of the things we worked on was to change the co-ordinate system used by guides from desktop co-ordinates to document co-ordinates.
Snapping, general guide operations etc. seem to be working properly after the co-ordinate change in my branch.
A problem arises when a user opens an SVG that has "sodipodi:guide" using a build of Inkscape that uses "inkscape:guide" as the attribute. What should (ideally) happen in this situation?
Johan suggested the idea of creating an extension script that transforms between new and old guides. The user will be made aware of this extension when an incompatibility is detected.
Samuel
---- Samuel Chase <samebchase@...400...> wrote:
Hello Everyone,
I'm working on improving the usability of guides as a GSoC project.
My mentor (Johan), suggested that henceforth "inkscape:guide" be used instead of "sodipodi:guide" as the SVG attribute for representing guides. In my branch one of the things we worked on was to change the co-ordinate system used by guides from desktop co-ordinates to document co-ordinates.
Snapping, general guide operations etc. seem to be working properly after the co-ordinate change in my branch.
A problem arises when a user opens an SVG that has "sodipodi:guide" using a build of Inkscape that uses "inkscape:guide" as the attribute. What should (ideally) happen in this situation?
Johan suggested the idea of creating an extension script that transforms between new and old guides. The user will be made aware of this extension when an incompatibility is detected.
Another option is to automatically convert old-style to new-style. Which means you will no longer be able to see/use your old guides in older versions of Inkscape. This is how old-style grids are handled. Perhaps not too much of a problem (I don't mind).
So again, the Inkscape file versioning discussion pops up. I think it would be good to have a proper "upgrading" system in place, that converts any old-style stuff to new-style before fully loading a file, because we are likely to run into this again and again. And of course, notify the user of it all.
Regards, Johan
On Mon, Jul 23, 2012 at 8:30 AM, <jbc.engelen@...2592...> wrote:
So again, the Inkscape file versioning discussion pops up. I think it would be good to have a proper "upgrading" system in place, that converts any old-style stuff to new-style before fully loading a file, because we are likely to run into this again and again. And of course, notify the user of it all.
Agreed. If I'm not mistaken, we need to have an upgrading mechanism in place because we will at least run into it for the conversion of 3d boxes as well and possibly grids too (I am unaware of how they're written to the doc wrt setting the origin), obviously we'll have other needs down the road as well. A key thing is we will need to send out a warning to the devel & user list prior to committing to trunk so people have a heads up (if they work between nightly/trunk builds and stable builds, not having surprises is good).
Cheers, Josh
On Mon, Jul 23, 2012 at 10:30 AM, <jbc.engelen@...2592...> wrote:
So again, the Inkscape file versioning discussion pops up. I think it would be good to have a proper "upgrading" system in place, that converts any old-style stuff to new-style before fully loading a file, because we are likely to run into this again and again. And of course, notify the user of it all.
A certain other program marks the file dirty and appends "-converted" to the document name when opening older/legacy files.
So you're only (somewhat) notified if you notice the title change, but then when you save, you're prompted as if it were a "save as". Closing without modifying prompts the "close without changes" dialog.
Chris
participants (4)
-
unknown@example.com
-
Chris Mohler
-
Josh Andler
-
Samuel Chase