Adding Maps and Locations to Services
When end-users select a position in apps built upon the React Native platform, three tabs become available:
- About – Shows the position marked on the map, with either the name of the position displayed in the tab, or, if the Note field of the position contains text, that text is displayed
- Actions – Provides links to actions that are defined for the position (see Adding Actions to Map Positions, below)
- Around Here – Shows the position, and all other marked positions, in the map
Adding Maps
- Description - The name of the map, as it appears in various other places in the App Manager.
- Show Map Image / Image - Select the checkbox and select a map that you previously uploaded to the Asset Manager. For more information, see Uploading Files.
Example MapThe map must be oriented north and to a scale so that it can be overlaid onto Google Maps for the GPS coordinates. The map must be less than 1 MB. It is recommended that the length of the longer side be less than or equal to 1500 pixels.
- Last Updated - Optionally configure a date and time for the map. If the date/time you configure is more recent than the date/time of the map on the end-user's device, the app downloads the newer map.
If you update the location categories and/or positions associated with the map, you must manually publish the map.
- Sort order - The order in which this map appears in a list of maps in the app.
- GPS top left / bottom right - latitude / longitude - You must identify the top-left and bottom-right coordinates in order to enable interaction between the map image and the native map app. You can find the coordinates in Google Maps, for example, by selecting on the corners of the area. If you require assistance with this, contact Ex Libris customer support.
- Profile owner - Optionally select a profile. When selected, only users associated with this profile can manage this map.
- Roles - Associate the map with the required app roles. For more information, see Customizing End-User Access to Services.
Adding Map Positions
Adding Map Location Categories
- Description - The name of the category as it appears in the dropdown list when configuring locations and in the app when the end-user is looking for certain types of locations.
- Image icon - An image to identify all locations of this category on the map within the app. Select an image you previously uploaded to the Asset Manager; see Uploading Files.
Locations on the Map in the App
- Sort order - The order that the categories are presented in the app.
- Profile owner - Optionally select a profile. When selected, only users associated with this profile can manage map locations associated with this category.
- Roles - Associate the map with the required app roles. For more information, see Customizing End-User Access to Services.
Adding Positions
- Description - The name of the position. In React Native apps, this name is displayed in the About tab if the Note field is empty.
- Show position on map - Whether the position appears on the map.
- Sticky Location - For the React Native platform: Select Yes to include this position in all location categories, as well as upon initial entry to the map when no category has been chosen. These positions serve as markers of important landmarks within the institution. This option has no effect in non-React Native app versions.
- Customer Location Reference - This is a code used by your institution's backend server, if any. This code enables your backend server to map locations to Library Mobile positions. Contact Ex Libris customer support for assistance.
- Sort order - The order that the positions are presented in the App Manager and the app.
- Last updated - Optionally configure a date for the position. If the date you configure is more recent than the date for the position on the end-user's device, the app downloads the newer position when you publish the app or when the app downloads the map to which this position is associated.
- Image - An image for this position when the end-user selects the map to view details about the position. Select an image you previously uploaded to the Asset Manager; see Uploading Files.
Typically this is a picture of the building, event, or similar. The image should be approximately rectangular in shape, 200-400 pixels wide and 200-400 pixels high. It is recommended that the image be 50 KB or less, so as to not be too large for downloading to mobile devices over 3G.
- Latitude / Longitude - GPS coordinates for the map.
- Altitude - Include this information if it is useful.
- House no / Flat / House name / Street name / District / Town / County / Post code - Address information.
- Note - Text that appears to the end-user when they view details about the position. In React Native apps, this text is displayed in the About tab if it is filled in.
- Comments - Internal note that does not appear to the end-user.
- Categories - Select categories for the position one-by-one (see the on-screen text for instruction).
- Maps - Select maps for the position one-by-one (see the on-screen text for instruction). Each map you select must include the coordinates of the position within its map area.
Adding Actions at Map Positions
_doct_sm_marked_3.png?revision=1)
- Position - The associated position.
- Description - The name of this action as it should appear in the list of available actions that opens in the app when the end-user selects a position.
- Image - An image for this action in the list of available actions that opens in the app when the end-user selects a position. Select an image you previously uploaded to the Asset Manager; see Uploading Files.
- Location reference - Enter the code used by your institution's backend server to identify this position, if one is required. This code enables your backend server to map locations to Library Mobile locations. Contact Ex Libris customer support for assistance.
- Url - The URL to open. See Working with App URLs.
- Icon - For the React Native platform: Select an icon to display beside the action's description in order to identify the type of action (e.g., Phone Icon
, Website Icon
; see illustration above). This option has no effect in non-React Native app versions.
- Roles - Select the app roles for which the action should be made available. For more information, see Customizing End-User Access to Services.
Bulk Upload of Maps, Categories, and Positions
- Download an Excel file with your current Maps, Categorizes, and Positions by selecting Export from the Import/Export Positions page (App Settings > Maps/Locations > Import/Export Positions). (If you do not have any data yet, this file can be used as a blank template with the columns ready-made.)
Bulk Upload of Maps, Categories, and Positions
- For each tab of the Excel file (Maps, Categories, Positions) edit or add information according to the fields described above.
- Library Mobile adds a Code column to your data for internal purposes that cannot be changed.
- Deleting data is not possible with the bulk upload feature.
- Select Choose File and select the Excel file with your data. Select Submit to load it into Library Mobile.
Adding PC Availability Information to Positions
Some institutions provide PCs for students to use, for example, in libraries or laboratory environments. If your institution offers this type of service to students, and your system keeps track of which PCs are in use at any given time and which are available for students to use, you can provide this information in campusM maps. To do this, your system must have a server that can provide information about PC availability at specific positions whenever it is requested.
PC-availability information can be included in maps by creating a special location category for the information, and selecting this location category for those map positions at which such facilities are available. As with any map position, you can choose which maps the position should appear in. In the selected maps, a special location category button appears on the map for this category. When the end-user selects this button, a list of the PC-availability positions included in the map opens at the bottom of the map. The list includes information about the total number of PCs found at each site and the number of these PCs (seats) currently available for use. The list is sorted based on the number of available PCs at each site.
A map position can be configured to only provide PC-availability information, or to provide both PC-availability information as well as other information. This is configured by selecting one or more location categories in the position's settings. If only the PC-availability location category is selected, information is only displayed about the position when the end-user selects the PC-availability location category in the map. If additional location categories are selected for the position, the information displayed in the map for the position depends on which location category is selected.
The steps for setting up this feature are:
- Create a dedicated location category for PC-availability information; see Creating the Location Category, below.
- Assign the dedicated location category to the map positions for which the PC-availability information will be provided; see Configuring a Position to Provide PC-Availability Information, below.
- Configure the server to supply the information in the required format; see Format of the Output Returned by the Server, below.
Creating the Location Category
In order to receive PC availability information, campusM must have a location category configured for this purpose. This location category can then be assigned to positions for which this information is relevant.
- In the App Manager, on the Location categories page (App Settings > Maps/Locations > Location Categories), create the new location category. There are no special requirements for the settings of this location category, but its Description is used in the maps, so it should be a name that makes its purpose clear. For additional information about creating a location category, see Adding Map Location Categories, above.
Adding a Location Category for PC Availability
- On the Select web service endpoint to change page (App Settings > Customer Web Services > Web Service Endpoints), add an endpoint for the server from which the PC-availability information will be retrieved.
For additional information about configuring web-server endpoints, see Application Extension Kit (AEK) and Connect Layer Extension Kit (CLEK).
- Open a support case, asking them to link the Description of the location category to the Name/Type of the web-service endpoint in the database. Be sure to include the Description of the location category and the Name/Type of the web-service endpoint in the request.
Configuring a Position to Provide PC-Availability Information
Once the location category is set up as described above, you can assign it to the map positions for which PC-availability information will be provided by the server. To do so, in the position's settings, under Categories, select the PC-availability location category. (For general information about configuring map positions, see Adding Map Positions, above.)
Format of the Output Returned by the Server
The server that returns the PC-availability data must return it in xml in the following format. Multiple room objects can be included, as required.
<ns1:pcAvailabilityResponse xmlns:ns1="http://campusm.gw.com/campusm"> [Note: This is the XML namespace, and should always be as it appears here.]
<ns1:rooms>
<ns1:last-updated>[date and time when this information was collected (ISO 8601 format, local time)]</ns1:last-updated>
<ns1:room>
<ns1:rid>[The Customer Location Reference of the position (from the position's configuration)]</ns1:rid>
<ns1:free>[The number of PCs currently available at this position]</ns1:free>
<ns1:seats>[The total number of PCs at this position]</ns1:seats>
<ns1:name>[A name for the position. It is recommended to make this identical to the Description of this position in the position's configuration.]</ns1:name>
<ns1:desc>[An additional description of the position]</ns1:desc>
<ns1:isParent>false</ns1:isParent> [Note: This should always be false.]
</ns1:room>
.
.
.
</ns1:rooms>
</ns1:pcAvailabilityResponse>
The following is an example:
<ns1:pcAvailabilityResponse xmlns:ns1="http://campusm.gw.com/campusm">
<ns1:rooms>
<ns1:last-updated>2024-12-24T15:52:14.</ns1:last-updated>
<ns1:room>
<ns1:rid>room1</ns1:rid>
<ns1:free>52</ns1:free>
<ns1:seats>60</ns1:seats>
<ns1:name>The Mac Lab</ns1:name>
<ns1:desc>room1</ns1:desc>
<ns1:isParent>false</ns1:isParent>
</ns1:room>
<ns1:room>
<ns1:rid>room2</ns1:rid>
<ns1:free>22</ns1:free>
<ns1:seats>60</ns1:seats>
<ns1:name>The PC Lab</ns1:name>
<ns1:desc>room2</ns1:desc>
<ns1:isParent>false</ns1:isParent>
</ns1:room>
<ns1:room>
<ns1:rid>room3</ns1:rid>
<ns1:free>9</ns1:free>
<ns1:seats>60</ns1:seats>
<ns1:name>The Chaos Lab</ns1:name>
<ns1:desc>room3</ns1:desc>
<ns1:isParent>false</ns1:isParent>
</ns1:room>
<ns1:room>
<ns1:rid>room4</ns1:rid>
<ns1:free>0</ns1:free>
<ns1:seats>60</ns1:seats>
<ns1:name>The Tablet Lab</ns1:name>
<ns1:desc>room4</ns1:desc>
<ns1:isParent>false</ns1:isParent>
</ns1:room>
</ns1:rooms>
</ns1:pcAvailabilityResponse>
Positions that are defined in App Manager as belonging to the PC-availability location category are only marked on the map if the XML output contains information about them.