On Thu, 28 Nov 2013 16:28:05 +0100 Josef Reidinger email@example.com wrote:
On Thu, 28 Nov 2013 16:08:48 +0100 Ancor Gonzalez Sosa firstname.lastname@example.org wrote:
On 11/28/2013 03:28 PM, Josef Reidinger wrote:
On Thu, 28 Nov 2013 15:21:39 +0100 Nanuk Krinner email@example.com wrote:
I'm looking for documentation or a guide on how to write a yast module. Is there anything available? Or is there a module you'd recommend to look at first?
Hi Nanuk, welcome to yast development. For documentation there is some ancient parts available at  but after conversion to ruby big part of it is no longer valid. We plan to make new documentation which we start at , but it is far from complete now. For modules that you can take as example I recommend yast2-services-manager that is new module to handle systemd services and do not use deprecated stuff from ycp conversion. There is plan to write one more new module, but it is not yet started. If you have any questions feel free to ask us, we can then update documentation to include all important stuff. Also we can point you to more specific document that describe part in which you are interested in.
A very useful advise Josef gave me when I was going to start my own module some days ago (I'm just copying and pasting his words):
"It is important to understand at start directory structure under src initial mapping is at https://github.com/yast/ycp-killer/#new-yast-module-structure but it miss explanation. In general the most important are modules (which is singleton holder and provider of shared functionality), clients (scripts called to perform action), include (old deprecated way to include shared code) and new lib (which is common ruby code here). If you plan to write something from scratch I recommend to use only clients and lib, having common ruby modules, classes etc in lib and clients which you plan to run in clients."
This paragraph should be somewhere, was really useful to me.
Hi Ancor, in fact I am just working on wiki page with this structure in spare time between NI dev&testing, so hopefully It will be public soon.
And initial version . It is wiki, so feel free to improve it, extend it or ask me if something is not clear, so I can make it better for other developers.