Hallo,
Momenteel ben ik bezig met een applicatie waarin vrij veel zaken in te stellen zijn door de gebruiker. Al deze instellingen (denk aan simpele applicatie instellingen maar ook door de gebruiker samengestelde filters voor data) wil ik op gaan slaan in een xml bestand (of bestanden).
Om niet het wiel voor de zoveelste keer uit te vinden dacht ik om dit te doen door het object naar xml te serializen en deze op te slaan in een XML bestand.
Ik loop echter tegen het probleem aan dat de opgeslagen instellingen niet altijd gelijk blijven. Naar mate de applicatie uitgebreider wordt zullen ook de instellingen uitgebreid worden. (denk bijv aan extra velden in een filter etc).
Ik wil voorkomen dat een gebruiker bij elke update van de applicatie opnieuw alle instellingen moet definiëren. Als ik echter een object serialize en opsla in een xml bestand en deze in een nieuwe versie van de applicatie weer wil deserializen gaat dit uiteraard mis wanneer er een andere versie van de klasse gebruikt wordt.
Mijn vraag is hoe ik dit probleem het beste op kan lossen. Het lijkt me dat dit probleem niet alleen bij mij voor komt maar dat andere mensen hier ook tegenaan zijn gelopen. Moet ik helemaal afstappen van het idee om instellingen op te slaan middels object serialisatie?
Zoeken heeft me niet veel verder gebracht. Ik krijg eigenlijk enkel hits over serialisatie met ergens een xml version attribute.
Mocht serialisatie niet de oplossing zijn, wat is dan wel een oplossing om:
Momenteel ben ik bezig met een applicatie waarin vrij veel zaken in te stellen zijn door de gebruiker. Al deze instellingen (denk aan simpele applicatie instellingen maar ook door de gebruiker samengestelde filters voor data) wil ik op gaan slaan in een xml bestand (of bestanden).
Om niet het wiel voor de zoveelste keer uit te vinden dacht ik om dit te doen door het object naar xml te serializen en deze op te slaan in een XML bestand.
Ik loop echter tegen het probleem aan dat de opgeslagen instellingen niet altijd gelijk blijven. Naar mate de applicatie uitgebreider wordt zullen ook de instellingen uitgebreid worden. (denk bijv aan extra velden in een filter etc).
Ik wil voorkomen dat een gebruiker bij elke update van de applicatie opnieuw alle instellingen moet definiëren. Als ik echter een object serialize en opsla in een xml bestand en deze in een nieuwe versie van de applicatie weer wil deserializen gaat dit uiteraard mis wanneer er een andere versie van de klasse gebruikt wordt.
Mijn vraag is hoe ik dit probleem het beste op kan lossen. Het lijkt me dat dit probleem niet alleen bij mij voor komt maar dat andere mensen hier ook tegenaan zijn gelopen. Moet ik helemaal afstappen van het idee om instellingen op te slaan middels object serialisatie?
Zoeken heeft me niet veel verder gebracht. Ik krijg eigenlijk enkel hits over serialisatie met ergens een xml version attribute.
Mocht serialisatie niet de oplossing zijn, wat is dan wel een oplossing om:
- Applicatie instellingen op te slaan als xml
- Deze backwards compatible te houden (nieuwe velden krijgen gewoon geen waarde, oude waarden worden verwijderd)
- Niet het wiel opnieuw uit te vinden
...