Hello Chad,  I really think we were miscommunicating,( we have different background
;) ) but I'll try again > >

   Packages
Packages own templates of their configuration files or scripts to generate those
packages ( even better)
Packages  own several variables ( necessary to configurate the package)
The values of this variables are stored in a database
A)
Some of the variables are only used in scripts of this specific package ( f.e
ppp0_dialnr)  A change would have an effect only on this package
B ) Others are used in several packages.(for.example eth0_ipaddress)  a change to
one of those would effect several packages
A variable and a package cannot know if it ( variable) belongs to group A or B
(someone could have added a new package that makes a variable belong to more
than one package). So to be on the safe side, assume all packages belong to group
B)
The variable must know  the scripts it is "tied to"

The database is assessed only by a config-db api that reads and writes a "key" or a
"tree"
Some userinterface ( for example webinterface)  requests variables from the
database and uses them to create a webpage based on a script belonging to a
"userinterface-script pool" .
After input by the user, the now possible changed variables (in userspace) are
presented to the config-db  to be set in the database. (config-db.set var1 var2 ...)

Now it is necessary to "commit" this changes so the config-files are still in sync with
the database.
At commit the config-files "tied-to" the changed vars are regenerated
After change of config-files the belonging services are restarted.

I think untill now we are communicating the same infrastructure.

My proposition was to create a database in the same tree structure
variable /tied-toscrip1.name  (content script to run after changeing tied-
toscript1.name)
variable/ tied-to sciipt2.name
(this was my "dependant" database.

example
#ls eth0
eth0/etc/interfaces
eth0/etc/shorewall/interfaces

#cat eth0/etc/interfaces
ifdown eth0
ifup eth0

# cat eth0/etc/shorewall/interfaces
shorewall restart

(<optimizing > )
after changeing a variable drop the tied-script.name s  in a queue
after finishing the interaction user <-> interface
update all scripts in the queue
 These commits can be queued untill the end of the user configuration session ( so
after making 3 changes the sripts don't have to run 3 times)
(</optimizing>)


>       - then I back myself up (heh.  I don't know the intimates of how
>       this one is done, Mr. Wolzak)
How,  will depend  on the packageing system to choose uptill now it will be
lrcfg.back.script with some options.

>
> I am obviously not getting what you are saying here.  Please elucidate
> further.  Please keep in mind that I am only speaking of the framework
> and infrastructure here, and not in detail on the specifics of the web
> interface.  We need a firm concept and toolset before we start webbing!

this is a misunderständing, I mentioned the webinterface to show one way of user
interaction.

 I suggested that each package contains a file with the
1. names of the used vars
2. type of the vars ( to make it easier for the user interface)
3. possible values  ( if a var can have only three different options )

the idea behind is to make the system of "validating changes" and presenting to user
easyier
We need only a few routines in the commit section that checks a value and can be
used by each script that adaps config files.
used as toolset.

I thought about it as I was still considering that a script to create a config file 
would
look like
# this is xyz config
$dev $ip_address
# the hostname is $hostname
$dialyesno  dial $dialnr
$option_1
$option_2

But the template script probably would be better in a form
#!/bin/bash
writecomment this is xyz config
write $dev $ip_address
write_if_set  dial $dialnr
writerepeat $option

in this case that information is in the template script, a gui script could then 
easily be
analog.

Sorry dreaming above the infrastructure ; )


regards Eric Wolzak
member of the bering crew



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

_______________________________________________
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel

Reply via email to