Skip to main content
CollegeSource Support

Program Matcher Settings


Different From Other Properties Files

"programMatcher-ctx.xml" is a context file, and has a different format from the other properties files in Self-Service. It is an XML file, although it should be straightforward to find what you want to change and change it. There are three "beans" that you may want to change:

  • "studentFactory"
  • "keywordSkip"
  • "programMatcherConfig"


The "studentFactory" bean allows you to configure to use the same StudentDataLoader in u.achieve Self-Service that you have in place in u.achieve Server.


The "studentDataLoader" property references the bean customStudentDataLoader that you will want to modify to point to your DefaultStudentDataLoader class located in your StudentDataLoader JAR file that you will need to include in <selfService>\WEB-INF\lib directory.



<bean id="studentFactory" class="uachieve.selfservice.area.student.StudentFactory2">
        <property name = "stuAcadrecDao" ref="uachieveapi.stuAcadrecDao"/>
        <property name = "stuMasterDao" ref="uachieveapi.stuMasterDao"/>
        <property name = "whatifCourseDao" ref="uachieveapi.whatifCourseDao"/>
        <property name = "studentDataLoader" ref="customStudentDataLoader"/>
        <property name = "studentDataMerger" ref="customStudentDataMerger"/>
        <property name = "studentDataMutator" ref="customStudentDataMutator"/>
    <bean id="customStudentDataLoader"  class="uachieve.apis.custom.DefaultStudentDataLoader"/>    
    <bean id="customStudentDataMutator" class="uachieve.apis.custom.DefaultStudentDataMutator"/>
    <bean id="customStudentDataMerger" class="uachieve.apis.custom.DefaultStudentDataMerger"/>


The "keywordSkip" bean contains properties relating to words that will be skipped (or "skip words") when generating group names for matched programs.

skip words

"Skip words" are the words listed in the programmatcher-ctx.xml file. The skip words property contains a list of strings that will be ignored when generating group names for matched programs in Program Matcher.


<bean id="keywordSkip" class="uachieve.programmatcher.grouping.KeywordSkip" init-method="init">
	<property name="skipWords">

(green star) New in We have improved the way that Program Matcher creates groups based upon the skip keywords configuration to ensure that group titles contain no skip words.


The "programMatcherConfig" bean contains general properties relating to Program Matcher.


The "npgAllKey" property is the String that is the name of the group that contains all of the matched programs.


The "nGramSize" property is the Integer that is the maximum size of a group of words that make up the name of a group of matched programs.


The "defaultComKey" property is the String that is the default Com Key that is used by the program requirement indexer if one of the "indexComs" do not have one of the required com values (INSTIDQ, INSTID, INSTCD, CMPRBGN, CMPREND, CRSBGN, CRSEND, DEPTBGN, and DEPTLNG) set.

Because Self-Service does not utilize "Stacking" COM functionality for building the ComHelper object before passing it to Program Matcher or the Audit Request screen, issues may arise when COM field that are required exist on the default COM but not on the COM for a specific user. Removing default COM keys will cause the audit not to run in the Program Matcher.

(green star) New in  uachieve.selfservice.audit.default.comKey determines that the Program Matcher should fallback to the default COM since the application has seven COM settings for matching. See Audit Settings.


The "buildIfMissing" property is the Boolean that will tell the indexer to run if the indexer has never run before, or if the index is older than "maxAgeInHours". It checks only on startup.


The "maxAgeInHours" property indicates how old an index must be before the indexer builds again on startup. "buildIfMissing" must be set to true.


The "buildWaitInSecs" property indicates how many seconds to wait between Self-Service's startup and indexing.



Define condition codes. When one or more of the condition code's exist on a course on student record, course is ignored in the matching process.



Define what TYPE_CODES to return. This works on top of/after DPSTATUS.


The "indexComs" property is a list of Strings that are the Com Keys used by the program requirement indexer. The com values used are: INSTIDQ, INSTID, INSTCD, CMPRBGN, CMPREND, CRSBGN, CRSEND, DEPTBGN, and DEPTLNG.



<bean id="programMatcherConfig" class="uachieve.programmatcher.ProgramMatcherConfig">
	<property name="npgAllKey" value="View all Programs"/>
	<property name="nGramSize" value="4"/>
	<property name="defaultComKey" value="${uachieve.selfservice.audit.default.comKey}"/>
	<property name="buildIfMissing" value="false"/>
	<property name="maxAgeInHours" value="24"/>
	<property name="buildWaitInSecs" value = "15"/>
	<property name="indexComs">


  • Was this article helpful?