Tag Archives: Service Manager Issues

Unable to turn off Adaptive Learning for Smart Search in Service Manager

Disabling Adaptive Learning in the Knowledge Management Environment Record does not prevent adaptive learning records from being created in the kmadaptive learning table. This problem only occurs when using Smart Search/Smart Analytics and IDOL for Knowledge Management. The problem does not occur when using the SOLR Search Engine.

There is a defect within the IDOLAssistantUseSolution ScriptLibrary record.

The following steps below will disable Adaptive Learning for Smart Search:

1. Login to Service Manager

2. Go to System Administration > Ongoing Maintenance > Environment Records > Knowledge Managment Environment Record

3. Uncheck (i.e. set to false) Use Adaptive Learning to Enhance Search Results

4. Save

5. Logout then back into Service Manager

6. Go to Database Manager and access the ScriptLibrary table

7. Inside ScriptLibrary access the following script: IDOLAssistantUseSolution

8. Find this section of code:

function useSolution(record, solution, library, reference, keyword) {
var mapping = funcs.filename(record);
logger.debug(‘applying solution ‘ + solution + ‘ onto ‘ + record);

KMSearch.useSolution(mapping, solution, record);

var database = library.kbname;
// XXX: reference has to encode twice …
reference = encodeURIComponent(reference);
updateRanking(database, reference);
IDOLGlobalSearchAdaptiveLearning.appendPhrase(library, solution, keyword);
return record;
}

9. Comment the following line: IDOLGlobalSearchAdaptiveLearning.appendPhrase(library, solution, keyword);

10. The function should now look like this:

function useSolution(record, solution, library, reference, keyword) {
var mapping = funcs.filename(record);
logger.debug(‘applying solution ‘ + solution + ‘ onto ‘ + record);

KMSearch.useSolution(mapping, solution, record);

var database = library.kbname;
// XXX: reference has to encode twice …
reference = encodeURIComponent(reference);
updateRanking(database, reference);
// IDOLGlobalSearchAdaptiveLearning.appendPhrase(library, solution, keyword);
return record;
}

11. Save, Compile

12. Adaptive Learning is now disabled for Smart Search

Advertisements

Load files into Service Manager from the OS command line

1. Copy the unload file (eg unload_file.unl) into the <SM INST>\RUN directory

2. Open the terminal and navigate to Go to the <SM INST>\RUN directory

3. Execute the command:

For Microsoft Windows: sm -bg file.load <unload_file.unl> NULL NULL winnt

For UNIX: sm -bg file.load <unload_file.unl> NULL NULL unix

Where <unload_file.unl> is the name of the file to be loaded

4. A message will indicate the load succeeded.

SM 9.40: SURVEY MODULE: Configure Survey for Mobility Client

1. In SurveyParameterMapping, there is not predefined mappingValue for Mob

So add one in global list (List Name: SurveyPredefinedParameters) {“{$EMAIL}”,”{$NAME}”,”{$LANGUAGE}”,”{$WEBURL}”,”{$ESSURL}”,”{$EXURL}”,”{$EXTSID}”,”{$SURVEYURL}”,”{$MOBURL}”}

{“Recipient Email”,”Recipient Name”,”Language”,”Web URL”,”ESS URL”,”External URL”,”External Survey ID”,”InternalSurvey URL”,”MOB URL”}

2. Then add Mob URL for Interaction module for the particular Connector ID. In this example adding the parameters for Internal Connector.

Add mobURL in Survey Connector (for interaction parameters) as highlighted in below snapshot.

3. ScriptLibrary: Survey_TaskProducer, add below line at Line: 117:

paramMap[“$MOBURL”] = url.mob;

4. ScriptLibrary: Survey_Utilities. Add below lines:

Line 134: var url = {“web”:””, “ess”:””, “mob”:””};

Line 172: url.mob = lib.urlCreator.getMobilityURLFromQuery(record_id);

5. System Information Definition:

Add a testing value for “mobility.url” field:

http://mob-url.google.com

6. Schedule the Survey Interation record: S00003

7. Enable the SMSurvey in SMIS:

8. Make sure the Repeat Interval of Survey_Service_Agent within a few minutes:

9. Make sure the Repeat Interval of SMSurvey1 within a few minutes:

10. Now close any one of interaction record:

11. Check the record generated in eventout table:

Now we can see that the mobility.url has been displayed in the email message.

Forms Designer ‘Output Conversion’ property work for Export To Text/Excel

In Forms Designer there is a Property named “Output Conversion”. When used it can change the display of data in the GUI (i.e. display just the date of a record instead of the full date/time). However, the parameter will not extend to exporting the data of the Service Manager record to Excel or Text.

This property is used by RAD subroutines that mask the display of data on an output field, or check and validate the entry of data into an input field. If specified, the routine is called at runtime to convert the contents of the field before it is displayed on the screen. This only works within the client and does not extend to the export of data feature.

Note that at the time of this writing Enhancement Request QCCR1E137853 exists within Development to look into extending the capabilities of this Property to the Export To Text/Excel feature

Enable auditing in Service Manager

Auditing enables the system to create a separate audit record each time a user makes a change to a record and saves it to the database. The document describes how to enable and configure auditing so that if any records are added/deleted/modified in a table, it is captured and recorded by the application.

Auditing captures all modifications made to a record in any Service Manager table at the application level.

However, auditing does not capture any information if the changes to a table are made at the database level.

The following configuration of auditing captures information about any modifications made to records in a Service Manager table:

1. Login to service Manager as administrator

2. Go to System Navigator > Tailoring > Audit > Turn Auditing On/Off

Check the following options:
Do you want to audit development changes?
Do you want to keep backups of Changes?

3. Create a new Audit Specification as follows:

System Navigator > Tailoring > Audit > Audit Specification > enter the name of the table to audit in the filename field

4. Specify the Unique A field as the unique key for that particular table

The screenshot below shows an example audit record for the probsummary table:

5. Update the format control record for that particular table as follows:

Type fc in the command line > search for filename > Check the Save Copy check box > select Javascript > select more Options > select Show Expanded Form

Add: true
update: true
delete: true

In the text box line 1:
vars.$filetmp=new SCFile(“<filename>”);

The screenshot below shows an example of the javascript tab for the format control probsummary:

6. Select Subroutines in the format control > select more options > select Show Expanded Forms

Put in the following details in a new line:

Application Name: audit.compare
Names: file
Values: $file
Names: second.file
Values: $filetmp

Add msg ID: true
Delete:true
Add:true
Update:true

The screenshot below shows an example of the subroutines tab for the format control probsummary:

7. Save the format control record

8. Disconnect from the client and connect again for changes to take effect

All audit records are stored in a table called audit. This table can be accessed as follows:

Type db in command line > type in the table name as audit > type in the format name as audit > search

The audit record generated for any changes made to a table will look something like this:

The audit record will have information about the following:

1. Name of the file to which the changes are made and saved (label=filename)
2. Timestamp of the change(label=Recorded)
3. Name of the filed in the table that is changed(label=Field Name)
4. Value of the field before the change was made(label=Old Scalar)
5. Operator/user who made the change(label=falcon)

Oracle 12c single-tenant / pluggable database support for SM 9.4x

There are three distinct types of databases in Oracle Database 12c.

• A single-tenant database: This is a self-contained set of data files, control files, redo log files, parameter files, and so on, that include all of the Oracle metadata (the definition of ALL_OBJECTS, for example), Oracle data, and Oracle code (such as the code for DBMS_OUTPUT), in addition to all of the application metadata, data, and code. This is the only type of database in releases prior to version 12c.
• A container or root database: This is a self-contained set of data files, control files, redo log files, parameter files, and so on, that only include the Oracle metadata, Oracle data, and Oracle code. There are no application objects or code in these data files—only Oracle-supplied metadata and Oracle-supplied code objects. This database is self-contained in that it can be mounted and opened without any other supporting physical structures.
• A pluggable database: This is a set of data files only. It is not self-contained. A pluggable database needs a container database to be “plugged into” to be opened and accessible. These data files contain only metadata for application objects, application data, and code for those applications. There is no Oracle metadata or any Oracle code in these data files. There are no redo log files, control files, parameter files, and so on—only data files associated with a pluggable database. The pluggable database inherits these other types of files from the container database it is currently plugged into.

So you can see that “single-tenant database” is one type of the three distinct types of databases in Oracle Database 12c, and “pluggable database” is another type of the three.

“single-tenant database” is the only type before 12c, so it is automatically supported.

“pluggable database” is also supported. It is based on two reasons:

1. there are the following text in the chapter 2 of that pdf:

How Is a Pluggable Database Different?
From the perspective of a developer, a pluggable database is no different from a single-tenant database. The application connects to the database in exactly the same way it would connect to a single-tenant database in earlier releases. The earlier examples of creating connections, using shared servers, and using dedicated servers all still apply. The differences lie in the underlying architecture–that of a single instance for many pluggable databases, and the resulting reduced resource utilization on the server and the ease of management for the DBA.
2. The design of SM RTE makes it treats the implementation details of the ORACLE database architecture as a black box.

Attachments uploaded do not save to Service Manager

In some cases a tailored format appears to prevent uploaded attachments from saving to Service Manager. This problem is sporadic and appears to be exclusive to the Web Client and not the Windows Client. If encountered the steps taken to see the problem are to upload the attachment and save. When the record displays the attachment is not present.

Upon further examination it might be seen that there are multiple attachment widgets on the affected format using Visible Conditions to determine which one is displayed to the user.

In scenarios where this has been seen the solution was to modify the format so only one attachment wizard was present. For example, in one case there were two Notebooks each with its own attachment widget. The solution was to tailor the format so that only one attachment widget was needed since both attachment wizards were – in essence – uploading to the same target. The updated format – using the single attachment widget displayed to all users – no longer experienced the problem with attachments not saving.