# Troubleshootings

#### The plug-outs start but do nothing

The exchanges between BOUML and each plug-out are supported by a TCP/IP socket, the used IP address is 127.0.0.1. When you ask BOUML to start a plug-out, it search for a free port number and give it in argument to the called plug-out. In case you have a firewall it may be necessary to configure it to allow BOUML and the plug-outs to use a socket.

#### A modification made by a plug-out is not see by the other ones

To reduce the number of exchanges with BOUML and run faster, a plug-out does not ask for BOUML each time you want to get a value. The system classes read and memorize all the data of a given item the first time you access to one of them (with the restrictions allowed by WITHCPP, WITHJAVA and WITHIDL). This is transparent for you until two plug-outs access to the same data, when one plug-out modify a value already read by the other, the second plug-out does not see the new value until it unload (an operation defined on UmlBaseItem) the object, then ask for the value.

#### A class is defined with operations, attributes ... but the C++/Java/Idl generator doesn't generate it

The class doesn't have an associated artifact, or the class/artifact is not defined for the language. Note that a default definition (set through the generation settings) may be done at the creation for each language if you ask for it through the Languages menu

#### I cannot edit a browser item, the edit menu entry or button does not appear :

you do not have the write permission for the associated files or the item is a system item supporting the plug-out API. It is also not possible to edit/delete a class when an other item is already edited.

#### I use a multiple monitor (side by side) configuration and the dialogs are placed partially on each

Through the environment dialog enter the coordinate of one of the screens. This screen will be used for the initial size and position of the BOUML's windows and when a dialog is opened, after that you are able to go out of these limits up to the true desktop limits.

#### After editing a description or other part the font is modified or several characters are replaced by a space

During the edition the characters encoded with a 16 bits unicode character set, but out of the editions the characters are saved on only 8 bits. When you use non ISO_8859-1 (latin1) characters you must specify how to do the conversion by setting a character set through the environment dialog.

Examples of character sets (the list depends on the release of Qt) :

- ISO_8859-1 (latin1) for English, French, Italien, German ...

- ISO_8859-7 for Greek

- KOI8-R or KOI8-RU or CP_1251 to allow Cyrillic

- JIS7 for Japan

- GB2312, GBK or GB18030 for Chinese

The specified encoding is used for :

- the description of every elements,

- the user properties and associate values of every elements,

- the stereotype of every elements,

- the definition of the artifacts, classes, operations, attributes, relations and extra members,

- the state action behavior

- the state entry / exit / do behavior

- the transition trigger / guard / do behavior

- the attribute's value in an object diagram

- the notes and text in the diagrams

It is not used else where, for instance you can't use non ISO_8859-1 characters to name the elements or in a message of a sequence or collaboration diagram.

The specified encoding is followed in the project's files and for the exchanges with the plug-out, this means for instance that Cyrillic characters may be used in the comments and are generated unchanged by the code generators.

Previous : Project files

Next : GNU public license