Quercus Message Link Monitor<>

Queues screen

The Queues screen allows you to enable, disable and clear the various queues. The screen is shown below:

Initial Queue

The Initial Queue is storing all the messages generated by triggers, whenever a change is made in Quercus Plus. By disabling this Queue, no new messages will be enqueued in the Initial Queue, hence the Message Dispatcher process will not generate any corresponding Outbound messages in the Out Queue.

Out Queue

The Out Queue is storing all the outbound messages generated by the Message Dispatcher process, based on the messages stored in the Initial queue. By disabling this queue, no new Outbound message will be enqueued in the Outbound Queue, hence the external system will not be able to synchronize its data with the information coming from Quercus Plus.

In Queue

The In Queue is storing all the inbound messages coming from external systems. By disabling this queue, no new Inbound messages will be enqueued in the Inbound Queue, hence Quercus Plus will not be able to synchronize its data with the information coming from the external system.

Hospital Queue

The Hospital Queue is storing a copy for all the inbound messages that failed the validation process (i.e. invalid XML, no valid Module Code, Course Code, etc). By disabling this queue, Inbound messages that failed the validation process will not be enqueued in the Hospital queue anymore.

Below you can find the fields that are validated for each message, along with the corresponding validation failure codes, during the Message Receiver process.

Message Type

XML XPath

Validation Failure Code

All messages

//*/QuercusMessageMeta/messageType/text()

Message Type field is empty

All messages

//*/QuercusMessageMeta/messageType/text()

Message Type field is invalid

All messages

//*/QuercusMessageMeta/messageId/text()

Message ID field is empty

Course Data

CourseData/courseRecord/courseCode/text()

Course Code field is empty

Course Instance Data

CourseInstanceData/CourseInstanceRecord/courseCode/text()

Course Code field is empty

Course Instance Data

CourseInstanceData/CourseInstanceRecord/courseCode/text()

Course not found

Course Instance Data

CourseInstanceData/CourseInstanceRecord/instanceCode/text()

Course Instance Code field is empty

Course Instance Data

CourseInstanceData/CourseInstanceRecord/academicSession/text()

Academic Session field is empty

Course Instance Data

CourseInstanceData/CourseInstanceRecord/academicSession/text()

Academic Session field is invalid

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Course Instance Code field is empty

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Course Instance Code field is invalid

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Course Code field is empty

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Course Instance Code field is empty

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Academic Session field is empty

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Academic Session field is invalid

Course Curriculum Data

CourseCurriculumData/CourseCurriculumRecord/courseInstanceCode/text()

Course Instance not found

Course Curriculum Data

//*/L1Modules/L1Module/moduleCode/text()

Module Code field is empty

Biographic Data

PersonBioData/personRecord/GUID/text()

GUID field is empty

Biographic Data

PersonBioData/personRecord/surname/text()

Surname field is empty

Module Data

ModuleData/moduleRecord/moduleCode/text()

Module Code field is empty

Module Instance Data

ModuleInstanceData/moduleInstanceRecord/moduleCode/text()

Module Code field is empty

Module Instance Data

ModuleInstanceData/moduleInstanceRecord/moduleCode/text()

Module not found not found

Module Instance Data

ModuleInstanceData/moduleInstanceRecord/academicSession/text()

Academic Session field is empty

Module Instance Data

ModuleInstanceData/moduleInstanceRecord/academicSession/text()

Academic Session field is invalid

Clearing a queue

By clicking the Clear button along any of the queues, you will be shown a confirmation message which if confirmed, it will empty the selected queue by deleting all the messages from that queue.

Audit trail

For debugging purposes, every time a user is changing any of the fields available on this screen, its action will be tracked in the audit trail table, and visible later on in the history report.