Plugin: Acalog (Basic)
Purpose
Use this plugin to index a set of programs/courses from the Modern Campus Acalog API.
This plugin uses the Acalog API to retrieve a list of programs/courses and generate a list of URLs that are added to a web data source’s start URLs.
Although the generated start URLs can be added to any web data source, we recommend using a separate dedicated web data source for indexing your Acalog content. |
Generated URLs
This plugin generates URLs in the following format:
-
Acalog program URLs: <https://catalog.example.edu>/preview_program.php?catoid=<CatalogID>&poid=<ProgramID>
-
Acalog course URLs: <https://catalog.example.edu>/preview_course_nopop.php?catoid=<CatalogID>&coid=<CourseID>
Only the courses/program with ACTIVE-VISIBLE status in the published but NOT archived catalog will be added to the web data source start URLs. |
When to use this plugin
Use this plugin if you have program and course content in Acalog, and you only have basic search requirements for discovering your Acalog content via your search.
-
This plugin indexes the HTML pages generated by the Acalog system and provides a similar result to crawling a website.
Usage
Enable the plugin
-
Select Plugins from the side navigation pane and click on the Acalog (Basic) tile.
-
From the Location section, select the data source to which you would like to enable this plugin from the Select a data source select list.
The plugin will take effect after setup steps and an advanced > full update of the data source has completed. |
Configuration settings
The configuration settings section is where you do most of the configuration for your plugin. The settings enable you to control how the plugin behaves.
The configuration key names below are only used if you are configuring this plugin manually. The configuration keys are set in the data source configuration to configure the plugin. When setting the keys manually you need to type in (or copy and paste) the key name and value. |
Acalog subdomain
Configuration key |
|
Data type |
string |
Required |
This setting is required |
Your subdomain used to access the Acalog API, e.g. 'exampledomain'. This will result in API requests to https://exampledomain.apis.acalog.com
Acalog API Key
Configuration key |
|
Data type |
Encrypted string |
Required |
This setting is required |
Your Acalog API key, used to access the Acalog API.
Acalog frontend URL prefix
Configuration key |
|
Data type |
string |
Value format |
Allowed values must match the regular expression:
|
Required |
This setting is optional |
Set this to the URL that is used to access the Acalog pages. This should be a web domain that includes the protocol but omits a trailing slash. (e.g. https://catalog.example.edu)
This URL is prepended to the generated URLs to provide direct access to the Acalog generated HTML page for a program or course.
Crawl courses catalog
Configuration key |
|
Data type |
boolean |
Default value |
|
Required |
This setting is required |
Set this to true to index the list of courses.
Crawl programs catalog
Configuration key |
|
Data type |
boolean |
Default value |
|
Required |
This setting is required |
Set this to true to index the list of programs.
Map course meta?
Configuration key |
|
Data type |
boolean |
Default value |
|
Required |
This setting is optional |
Set this to true to get the extra course meta from https://<subdomain>.apis.acalog.com/v1/search/courses?format=xml&method=listing&catalog=<cid>
Course meta - Name
Configuration key |
|
Data type |
string |
Required |
This setting is optional |
Set this to corresponding FB Meta class name to save <name> value in Acalog API, leave it as empty if no mapping is required.
Course meta - Alt name
Configuration key |
|
Data type |
string |
Required |
This setting is optional |
Set this to corresponding FB Meta class name to save <altname> value in Acalog API, leave it as empty if no mapping is required.
Course meta - Prefix
Configuration key |
|
Data type |
string |
Required |
This setting is optional |
Set this to corresponding FB Meta class name to save <prefix> value in Acalog API, leave it as empty if no mapping is required.
Course meta - Code
Configuration key |
|
Data type |
string |
Required |
This setting is optional |
Set this to corresponding FB Meta class name to save <code> value in Acalog API, leave it as empty if no mapping is required
Course meta - Department
Configuration key |
|
Data type |
string |
Required |
This setting is optional |
Set this to corresponding FB Meta class name to save <type> value in Acalog API, leave it as empty if no mapping is required.
Need to set either plugin.acalog-basic.config.acalog-crawl-programs or plugin.acalog-basic.config.acalog-crawl-courses to true, or otherwise this plugin will not perform any operation.
|
Example of Course meta XML (https://<subdomain>.apis.acalog.com/v1/search/courses?format=xml&method=listing&catalog=<cid>) <?xml version="1.0" encoding="UTF-8" ?> <catalog> <search> <hits>2</hits> <time>0.03559374809265137</time> <results> <result> <id>30005</id> <name>Funnelback Introduction</name> <altname>FUNN 001 - Funnelback Introduction</altname> <state> <code>1</code> <name>Active-Visible</name> <parent> <code>1</code> <name>Active-Visible</name> </parent> </state> <prefix>FUNN</prefix> <code>001</code> <type id="1806">Squiz</type> </result> <result> <id>30002</id> <name>Funnelback Introduction (Part II)</name> <altname>FUNN 002 - Funnelback Introduction (Part II)</altname> <state> <code>2</code> <name>Active-Hidden</name> <parent> <code>1</code> <name>Active-Visible</name> </parent> </state> <prefix>FUNN</prefix> <code>002</code> <type id="1806">Squiz</type> </result> </results> </search> <status>success</status> </catalog> |
No additional setup is required in xml.cfg for the meta class name used in the plugin configuration. |
Recommend configuration settings
-
Set up separate web data sources for courses and programs unless there is a strong use case.
-
Set up the data source with an empty start URL. The plugin will ensure that the Acalog generated URLs are added before your data source begins crawling.
-
Set up your include patterns to
https://<FRONTEND_URL>/preview_course_nopop.php
(Course) or/andhttps://<FRONTEND_URL>/preview_program.php
(Program). -
When publishing / archiving an academic year (catalog in Acalog API), update changeover percent to
0
, then run a full update of your data source to ensure the catalog is replaced. After a successful update, reset your changeover percent to an appropriate value (e.g. changeover percent: 75%).
Examples
Gather programs only from the Acalog API
This example will gather only current course content from the Acalog API at https://exampledomain.api.acalog.com/
and add start URLs that look like https://catalog.funnelback.com/preview_program.php?catoid=15&poid=40098
for each program.
Configuration key name | Value |
---|---|
Acalog subdomain |
|
Acalog frontend URL prefix |
|
Acalog API key |
**************** |
Crawl programs catalog |
true |
Gather courses and corresponding meta from the Acalog API
This example will gather only current course content from the Acalog API at https://exampledomain.api.acalog.com/
and add start URLs that look like http://catalog.example.com/preview_course_nopop.php?catoid=15&coid=30005
for each course, and map the name
, prefix
, code
and department
, but not altname
to meta class in meta.cfg.
Configuration key name | Value |
---|---|
Acalog subdomain |
|
Acalog frontend URL prefix |
|
Acalog API key |
**************** |
Crawl programs catalog |
false |
Crawl courses catalog |
true |
Map course meta? |
true |
Course meta - Name |
courseTitle |
Course meta - Alt name |
(Empty) |
Course meta - Prefix |
courseSubject |
Course meta - Code |
courseCode |
Course meta - Department |
department |
Gather programs and courses from the Acalog API
This example will gather only current course content from the Acalog API at https://exampledomain.api.acalog.com/
and add start URLs that look like https://catalog.funnelback.com/preview_program.php?catoid=15&poid=40098
for each program, and http://catalog.example.com/preview_course_nopop.php?catoid=15&coid=30005
for each course.
Configuration key name | Value |
---|---|
Acalog subdomain |
|
Acalog frontend URL prefix |
|
Acalog API key |
**************** |
Crawl programs catalog |
true |
Crawl courses catalog |
true |
Map course meta? |
false |