Binary serialization of designer projects.

Posts   
 
    
JohnL
User
Posts: 47
Joined: 07-Oct-2005
# Posted on: 30-Mar-2006 17:56:48   

I noticed an earlier message that partially answered a question I had, in which is was said that LLBLGen uses binary serialization instead of XML because of file size and performance.

Is it possible that in a future version that an XML option will be available? The problem I have is that I use version control on all components within our project. As binary files, this means I have to store the entire project each time (which is a lot of data over time), and there is no actual comparison available between versions (if, for example, I want to see when a particular field rename was performed).

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 30-Mar-2006 18:40:40   

I've spend a week or so to come up with a solution for this for v2, but in the end it wasn't useful. The main issue is that the project isn't a hierarchy of data, it's an object graph with a lot of object references.

So I ended up with an XML format which contained a lot of reference tags to elements which were defined elsewhere to illustrate a reference. While this would work, it doesn't help one bit because it would still be a large XML file with a lot of reference specifications which then can't be versioned as well because 1 change can make the whole XML data invalid.

So this lead to the conclusion that it wasn't really possible to create a solid xml file with solely data which was versionable.

Frans Bouma | Lead developer LLBLGen Pro
JohnL
User
Posts: 47
Joined: 07-Oct-2005
# Posted on: 30-Mar-2006 21:05:06   

Thanks for the quick reply. I somewhat suspected that the XML wasn't representational when it was described as serialization.

I will just need to prune out the older versions from time to time, which isn't a huge issue. I can see that creating a representational XML format would definately be a much larger project than would be warrented for marginal value that versioning differences would provide.