# Persistent, modifiable configurations

**URL:** https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831
**Category:** Feature Requests
**Created:** [February 15, 2007, 6:59am UTC](https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831 "2007-02-15T06:59:20Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![stevage](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/s/bc8723/32.png) [@stevage](https://www.finalbuilder.com/forums/u/stevage)
#### Post date: [February 15, 2007, 6:59am UTC](https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831/1 "2007-02-15T06:59:20Z")

</div>

I have a general plea to make something I’m doing easier. No real solution in mind, but you guys are smart…😉  
  
Like everyone, we build different products. Each product has a particular configuration which evolves. Version 4 might use one file list, and version 4.1 uses a different one. We really want a .ini file or something to capture this configuration. We also want it to be easy to update, without having to hack .ini files directly. What I’m currently doing works, and is easy on the user (currently me), but a bit tough and error prone on the developer (me):  
  
1. Scan for .ini files in a directory, and let the user choose one  
2. Load variables out of that .ini file  
3. Use a variable prompt to let the user update the values of any of those variables  
4. By default the values are saved to the same file they came from, but the user can do a “save as”, making it very easy to update the file for 4.1 or whatever.  
5. Variables are saved.  
  
Sounds great. The difficulty is that every persisted variable has to be specified in three places:  
1. Load from file  
2. Present to user  
3. Save to file  
  
These three actions are quite far from each other, making maintaining the variable lists trickier.  
Some kind of solution would be nice.  
  
(Actually, writing this out, I see one partial solution I could implement: a&nbsp; variable that contains the names of the&nbsp; variables that I want persisted and load/save by iterating over that list)  
  
Steve  
PS No more critical errors, apparently. Yay!

---

<div class="post-metadata">

### Author: ![tate](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/t/e19b73/32.png) [@tate](https://www.finalbuilder.com/forums/u/tate)
#### Post date: [February 15, 2007, 7:31am UTC](https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831/2 "2007-02-15T07:31:15Z")

</div>

well, it’s almost home time and i’ve run out of good ideas for the day. my initial thoughts would be to use some kind of user definable PropertySet (as they have Load/Save type actions and other actions can be made PropertySet “aware”). anyone else?

---

<div class="post-metadata">

### Author: ![stevage](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/s/bc8723/32.png) [@stevage](https://www.finalbuilder.com/forums/u/stevage)
#### Post date: [February 15, 2007, 11:43am UTC](https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831/3 "2007-02-15T11:43:38Z")

</div>

I have to admit I haven’t actually used propertysets or filesets as I’m worried they lack flexibiilty. The application support for them is also not as good: you can’t define them at design time, you can’t put watches on them, etc. Also, you apparently need to explicitly copy them to variables (PropertySet to Variable) - which means you need duplicate variables.  
  
I guess I would get more use out of some enhanced variable type that contained fields, that could be accessed like “%Build.name%”, “%Build.Description%” etc.  
  
Steve

---

<div class="post-metadata">

### Author: ![tate](https://www.finalbuilder.com/forums/letter_avatar_proxy/v4/letter/t/e19b73/32.png) [@tate](https://www.finalbuilder.com/forums/u/tate)
#### Post date: [February 16, 2007, 12:17pm UTC](https://www.finalbuilder.com/forums/t/persistent-modifiable-configurations/3831/4 "2007-02-16T12:17:53Z")

</div>

you can access PropertySets like that… eg. %MyWin32VersionNumbers.MajorVersion%
