API Login

An API login session is created from two possible sources:

  • XML-RPC API login (Documentation)

  • SOAP Web Services login (Used in XTM, MemoQ integrations)

In both cases the login session is identified by the "API" column in the Statistics page:

One common issue is the possibility to retain the API functionality and be able to access TermWeb in a standard way at the same time without problems. For that matter a concurrent session option has been introduced.

Concurrent API sessions

Normally, when an API session is open for a certain user and the same user logs into TermWeb normally, then the first (API) session expires before creating the new (Standard) session.

In case a standard session is opened first and an API login is being attempted afterwards, then the API login is not even possible before logging out from the standard session. 

This can be changed with the following property:

1 api.concurrent.session=true

API concurrent session option allows the coexistence of the two sessions for the same user, the API and the standard one:

This option lets the user use TermWeb via an external integration module (like MemoQ plugin) and at the same time open a browser and access TermWeb normally.

It is important to say here that logging out from each session is necessary, in order to release all sessions.

Session-specific hyperlinks appear in TermWeb integration modules and serve as a link between a 3rd party application and TermWeb.

An example of session-specific hyperlinks for viewing and editing a term is the following:

There is an additional session that is registered in TermWeb, when accessing the application via a session-specific hyperlink.

When clicking on a session-specific hyperlink from an API session, then TermWeb opens in the browser, using the same session and without the need for a standard login.

In this case though, another session is being automatically created and linked to the API session.

One can see both sessions in Statistics page as API sessions with exactly the same attributes:

The reason for this additional session:

When opening a browser, an HTTP/HTTPS session is automatically created. TermWeb standard login uses this session as a TermWeb session, while an API session is created separately. When opening TermWeb in a browser via a hyperlink, the HTTP/HTTPS session is still created from the browser and it needs to be registered in TermWeb session manager along with the API session in order for the application to function correctly. However both sessions are linked together and always expire together when logging out or be manually removed. They are linked to the same active user. One does not need to worry about them, but consider them as one. Additionally, when registering this HTTP/HTTPS session in TermWeb, the session overwrites any existing standard session of the same user if it finds one. This is only logical, because the browser's HTTP/HTTPS session is now linked to the API session via the hyperlinks.

Suggestions for TermWeb Integration/Plugin usage

When using TermWeb at the same time with a TermWeb Integration/Plugin, then the following actions are suggested for a smoother and easier workflow:

  • The API concurrent session option should be enabled, in order to avoid sudden logouts and error messages in case the users separately starts a standard login.

  • Before clicking on a session-specific hyperlink for the first time, the default browser should be closed, in order for the first HTTP/HTTPS session to be uniquely initialized for TermWeb without any conflicts.

  • When using an API session and a standard session with two different users at the same time, then the standard session should be opened in a different browser than the default, because in this case the HTTP/HTTPS session will be different than the one created from the hyperlinks and both sessions will not affect each other. For instance, if Chrome opens the plugin's hyperlinks, then the user can open Firefox and log into TermWeb using a different user, without the one session affecting the other.