Administration Mode Howto
Decision Making Support
Since version 1.8, Navigator has 'Desicion Making Support' section (the beta version was available in 1.7, as well). This section allows to generate reports on symbols presence in distributions and usage by applications.
To build a report:
- Switch to the Administration mode and go to the Workgroup Services->Candidates Stats (this subsection is not available in the 'browse' mode).
- Set a library you are interesting in - either select a name from combobox or enter manually. Multiple libs are not supported at the moment.
- In the 'List of interfaces' textbox enter a list of symbols you are interested in, one name per line. Feel free to type empty lines or lines that are not symbol names - such lines will be simply ignored (useful when copy-paste of a large list is performed from a source containing some text except symbols). So, one line <-> one symbol name. if such a name is not found in the database, it will be ignored.
- Take a look at 'Distributions we are interested in' box. Here you may select a list of distributions where symbol presence should be checked. By default, for every architecture Navigator selects the latest version of each distribution.
- Press 'Get Statistics' button in the bottom-left corner of the page. Statistics report will be displayed.
Interfaces are range by number of distributions they were found in, then by number of apps they are used in and then by documentation status. Note: 'Header' and 'Documentation' information is available only for symbols, which have entries in the Interface table. For symbols found in the RawInterface only this information is not provided.
Add/Modify LSB Elements Entries
Add New Interface
- Switch to the Administration mode and go to the LSB Elements->ABI (Libraries)->Interfaces.
- Click 'Proceed' in the 'Add New Interface' section.
- Set general and architecture specific interface properties. Note that if you set nothing in some of the arch specific rows, then such rows will not be uploaded to the database.
- Press 'Submit Information' button when ready. Interface is now inserted in the database and assigned to the libgroup. On the page appeared you can modify information about the interface.
- Click on 'parameters...' to add interface parameters.
- Click on 'additional attributes...' to add additional attributes.
Add New Type
- Switch to the Administration mode and go to the LSB Elements->ABI (Libraries)->Types.
- Click 'Proceed' in the 'Add New Type' section.
- Set general and architecture specific type properties. Note that if you set nothing in some of the arch specific rows, then such rows will not be uploaded to the database. Also note that comboboxes for base types are generated on the fly and this process takes some time. So you should wait a little after clicking on this combobox.
- Press 'Submit Information' when ready. Now the type is inserted in the database. On the page appeared you can modify information about the new type.
- If the new type is a complex type (i.e. struct, union or enum) then "Type Members" link will be displayed. Click on it to set up type members.
- If the new type is not a 'const' or 'pointer' type (e.g. 'foo' struct), then you will see 'Attendant Types' section, where you can add information about types 'foo *', 'const foo' and 'const foo *', which are usually required if we add 'foo' type.
Administrate Interface Attributes
- Switch to the Administration mode
- Go to the interface you'd like to add attributes to. There are many ways to do this; the most common is to search for interface. Let's look for 'gethostbyaddr':
- Click on interface name. For gethostbyaddr, there is a record in the Interface table, so you'll see the following page:
- Click on 'additional attributes...' link.
- Alternatively: for symbols that don't have entries in the Interface table, the page will differ. For example, for 'ares_gethostbyaddr' we'll have the following:
For such interfaces, click 'modify interface attributes'.
- Now you are in the 'Interface Attributes' section. Here you can add, modify and remove interface attributes. There are no attributes for gethostbyaddr at the moment:
Let's add one. From the combobox, select a type of attribute; let's add recommendation, for example. Enter some value and press 'Add' button. Note that in the attribute value you can insert links to other entities such as interfaces, constants and libraries by using <int>, <lib> and <const> tags (like in the screenshot example).
- Now gethostbyaddr has one recommendation:
You can modify its value and press 'Modify' button to apply the changes or click on 'DELETE' to totally remove the attribute.
- Besides recommendations, there can be 'rejection' and 'custom' attributes. Custom attribute is a kind of internal comment, such attributes are not visible or counted anywhere. 'Rejection' attributes should be filled for symbols which were declined to be added to LSB; in this case, the reasoning is desired as an attribute value. When observing non-LSB symbols used by applications (i.e. looking for LSB candidates), symbols which have 'Rejection' attribute can be excluded from the list by appropriate filter.