Leon Letto writes:
> I have finished the script addition for editing the config.pl and hosts. It
> works great and looks reasonably good. I have created a diff against 2.0.2
> and included it and included the full script. Please test and let me know
> if there are any bugs. Also, please let me know if there are any glaring
> omissions in the functionality?
> The next step is to organize the interface more like Jason's config
> interface (it looks "neat") and add a better popup help. Right now I am
> using alert boxes for help but I really need to add an action_Help sub and
> put the help there - then I can do a proper window.open call. Time is
> preventing me from doing that right now.
> I also need to add Lang entries for the text labels so it will do
> multilanguage properly.
> I will get to those as soon as I can.
> I would like to know how I should handle displaying the multiline parameters
> in config.pl. Right now I am putting each parameter into a textbox but to
> save space, I made the boxes only 2 lines so there are scroll arrows on the
> array parameters text boxes. Not a big deal but worth looking into. I
> think I should be able to define the size of the text box based on the
> number of lines in the parameter. How would it look to have different sized
> text boxes based on whether the parameter is single or multi line? Maybe I
> could put the single line parameters on the left side of the page and the
> multiline ones on the right?
> Anyway, I really would like some feedback on this so I can make decisions on
> how it should look and get it ready for "Prime Time".
After the release of 2.1.0 I have had a bit of time to work on
CGI config editing. I started with your code, integrated it into
2.1.0, and made a bunch of changes and additions:
- A new set of modules BackupPC::Storage::* handles all the IO
for config, host, backups, and archive files. This builds
on what Toby started with when he wrote BackupPC::Config::*
modules; the purpose is the same - I simply renamed them.
The idea is we start with BackupPC::Storage::Text, but later
we can add BackupPC::Storage::SQL and others.
- Full compound structure editing is supported: every hash and
array has "add" and "delete" buttons so you can add/delete
entries. This works for arbitrary complex (deep) structures.
This avoids the user having to get the perl syntax right (and avoids
the serious security risk of perl eval()'ing what the user entered).
- Config parameters are arranged by group on several different
- Basic error checking is supported.
- The relevant Xfer-specific values are only displayed based on the
- Editing a host-specific value automatically sets the override
checkbox. Clearing the checkbox automatically resets the value
to what's in the main config file.
I'm still a few weeks away from checking it into CVS, but I wanted
to give you an update. The first checkin will be functional, but
the html won't be that pretty and the internationalization won't
I haven't worked on host editing. But that will be next (and a lot
easier than config editing).