Klaus Kaempf napsal(a):
* Justin Haygood
[Nov 15. 2007 19:06]: From experience, SCRs are just plain hard to use unless you are a rocket scientist. Writing and consuming SCRs (or their potential replacement) should be a lot easier and more "fun".
Agreed !
And I forgot one more point in my list:
- Object orientation The 'backend api' should pick up properties of object-orientation. Examples:
Old New --- --- value = SCR::Read( .foo.bar ) -> value = client.foo.bar SCR::Write( .foo.bar, value ) -> client.foo.bar = value SCR::Execute( .foo.bar, v1, v2) -> client.foo.bar( v1, v2 )
I think this fulfills the 'easy' and 'fun' requirements ;-)
Sounds great! Nevertheless I don't see *any* benefit when comparing to the current implementation. What I see are these drawbacks: * Broken backward compatibility - and we know we need backward compatibility in such important tasks as access to system is. We just can't rewrite the whole YaST overnight (OES, SLEPOS, ...). * Confuses developers - currently we have clearly written: 'Read', 'Write', 'Execute' or 'Dir'. The proposal of replacement for SCR::Read vs. SCR::Execute is almost the same: any cmd_out = client.foo.bar ( v1 ) any value = client.foo.bar any cmd_out = SCR::Execute (.foo.bar, v1) any value = SCR::Read (.foo.bar) * It's not a fun to rewrite all the existing code :) ;) and it's not easy either! ;) The current SCR implementation expects caching the changed values, all are written to disk at once to make it faster. I don't see any clear /object-oriented/ syntax to rewrite it to be still understandable. Anyway, if we are talking about SCR -> 'client', WFM would need to be 'system' or something similar. Which, on the other hand, would bring another confusedness. IMO: All in all, this is not worth changing. But please, convince me it is. Bye Lukas PS: The current documentation of SCR agents is generated from sources for every release. See these pages, for instance: SCR: http://forgeftp.novell.com/yast/doc/SL10.3/scr/index.html http://forgeftp.novell.com/yast/doc/SL10.3/scr/136.root.wgetrc.html http://forgeftp.novell.com/yast/doc/SL10.3/scr/152.sysconfig.SuSEfirewall2.h... SCR how-to document: http://forgeftp.novell.com/yast/doc/SL10.3/tdg/documentation_SCR.html -- Lukas Ocilka, YaST Developer (xn--luk-gla45d) ----------------------------------------------------------------- SUSE LINUX, s. r. o., Lihovarska 1060/12, Praha 9, Czech Republic