Shawn Walker wrote: > Liane Praza wrote: >> Shawn Walker wrote: >>> Greetings, >>> >>> I had some questions about SMF manifests that I was hoping someone >>> could answer. I've spent read through the available documentation >>> that I could find, but I still could not find anything that explains >>> these items: >>> >>> 1. What are the differences between the different propval types >>> (e.g. count, integer, etc.)? Is there a document somewhere that >>> explicitly defines what each of these data types expects for a value >>> (format, limits, etc.)? >> >> Hopefully the table in scf_value_create(3scf) helps. > > It would be really great if this were documented in the service_bundle > manpage or in the dtd itself :|
There's already a bug that service_bundle is woefully short. It'd be helpful if you could file one against the DTD, too, though. > >>> 2. Is it possible to create property groups of property groups >>> (the dtd suggests that this is not possible)? >> >> Correct. Not possible. > > Hrm, someone mentioned that: > > You can manage a pool of configuration values using the property group > mechanism, with an overall property group listing the relevant group > or groups for each member. > > What did they mean by that then? I have some ideas. (A property group which contains a property with a list of property groups that should be incorporated is my best guess.) But, without understanding the configuration you're modeling, and without being the person who suggested this, I can only guess. :) > >>> 3. Is it possible to conditionally specify options to a program in >>> its start method based on a property value? In other words, if I have: >>> >>> <propval name='error_log' type='astring' value='stderr' /> >>> >>> ...can my start method conditionally include a --log-errors >>> command-line option to my program based on the value of the propval? >> >> Sure. Most people do this like it's done in >> /lib/svc/method/console-login. > > So the workaround is to use a wrapper script that manipulates svcprops. > Was hoping for something in the XML, but if I have to, that will do. You can directly incorporate properties using the %{} syntax in a method. But, that's rarely a reasonable specification for command line options because then you just end up with a property list of command line options, and no way to do upgrade of the configuration later without parsing the list and guessing (usually poorly) at the admin's intent. > >>> 4. I have a need for users to be able to specify values to the >>> program based on locale. This is not the locale that the program is >>> running in, but the locale of the content being generated by the >>> program. For example, I have a property group called "repository" >>> and a propval called "name". What is the best way for them to be >>> able to specify a value for "name" for each locale (e.g. en, fr, etc.)? >> >> We currently do this with a convention of appending the locale name to >> the property name. We don't have explicit formal support for it at >> this point, though. > > That format would require me to specify a propval for each supported > locale though would it not? Would it be better to use a multiple-value > property instead and have the user pre-pend the locale to each value > (e.g. en:value, fr:value)? Why would you need to specify one a priori? The property would just be created by your UI when it was specified by the user, I'd think. liane