### Run the openEQUELLA Installer
Source: https://openequella.github.io/gettingstarted/InstallingEquella.html
Navigate to the extracted installer directory and execute the JAR file to begin the installation process.
```bash
~$ cd ~/equella-installer-{VERSION}
~$ java -jar enterprise-install.jar
```
--------------------------------
### Install Libav on Ubuntu
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Install the compiled Libav binaries to the system.
```bash
sudo make install
```
--------------------------------
### Start openEQUELLA on *nix
Source: https://openequella.github.io/gettingstarted/InstallingEquella.html
Commands to start the openEQUELLA service on *nix-based operating systems.
```bash
~$ cd {install_location}/manager
~$ ./equellaserver start
```
```bash
~$ ./manager start
```
--------------------------------
### XPath Arithmetic, Context, and Wildcard Examples
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Examples demonstrating arithmetic operations, context navigation, and wildcards.
```xpath
people/person[7 - (last() - 3) = position()]/name
people/person[substring(name[2], string-length(name[2]) - 2, 3)='vis']/name
NOTE: minus (-) symbol must be surrounded by spaces
Context and Wildcards
people/person[1]/*[last()]
//@id
people/person/name[text()='Bob']
/doc/people/person[1]//@*[contains(., 'i')]
/doc//node()[contains(lower-case(.), 'f')]
people/person[1]/person/../../person[2]/@id
```
--------------------------------
### XPath Examples
Source: https://openequella.github.io/equella-tools/metadataUtilityUserGuide.html
Examples of path structures for accessing schema fields and attributes.
```text
/xml/item/itembody/name
/xml/item/itembody/description
```
```text
/xml/metadata/@identifier
```
--------------------------------
### Install Equella File and Directory Watcher Dependencies
Source: https://openequella.github.io/equella-tools/custom-utilities.html
Install the required Python 2.7 and pyinotify library on Ubuntu systems.
```bash
sudo apt-get install python python-pyinotify* *
```
--------------------------------
### Start openEQUELLA Windows Services
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Execute these commands in the manager folder to start the registered Windows services.
```batch
manager start
equellaserver start
```
--------------------------------
### Search API Request Example
Source: https://openequella.github.io/guides/JavaRESTTutorial.html
Example of a GET request to the openEQUELLA search endpoint with query parameters.
```HTTP
GET [equella.url]/api/search?q=cats&start=0&length=10
```
--------------------------------
### Start openEQUELLA UNIX Services
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Execute these commands from the manager directory to start the services on UNIX-like systems.
```bash
./manager start
./equellaserver start
```
--------------------------------
### Basic WHERE Clause Examples
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Examples of simple queries using XPath, comparison operators, and values.
```text
WHERE /xml/meta/color is ‘blue’
```
```text
WHERE /xml/meta/name LIKE ‘blue house*’
```
```text
WHERE /xml/meta/status IN (‘published’, ‘under review’, ‘in development’)
```
--------------------------------
### XPath Function Examples
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Examples of using supported functions in XPath expressions.
```xpath
vehicles/vehicle[not(year='2010')]/model
people/person[@id='1']/name[text() > 'M']
people/person[position()=2]/name
vehicles/vehicle[upper-case(make)='HONDA']/@id
vehicles/vehicle[substring(make,2)='onda']/model
vehicles/vehicle[substring(make, 2, 3)='ond']/model
vehicles/vehicle/model[string-length()=5]
vehicles/vehicle[starts-with(lower-case(make), 'hon')]/model
vehicles/vehicle[contains(model, 'ond')]/@id
vehicles/vehicle[concat(@id,make,model)='7372HondaCivic']/@id
```
--------------------------------
### XPath Comparison Examples
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Examples of using comparison operators in XPath expressions.
```xpath
people/person[name[@type='first'] > 'M']/name
people/person[name[@type='first'] < name[@type='last']]/name
people/person[@id<2 and @year='2015']/name
people/person[name[@type='last']='Smith' or name[@type='first']='Sue']/name
vehicles/vehicle[make]/model
```
--------------------------------
### Install Libav dependencies on Ubuntu
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Install essential build tools and codecs required for Libav on Ubuntu systems.
```bash
sudo apt-get install build-essential pkg-config
sudo apt-get install yasm libvo-aacenc-dev libx264-dev
```
--------------------------------
### Item Data Structure Example
Source: https://openequella.github.io/guides/RestAPIGuide.html
A comprehensive example of an Item object, including metadata, ownership, and various attachment types.
```json
{
"uuid" : "2f6e9be8-897d-45f1-98ea-7aa31b449c0e",
"version" : 1,
"name" : "ItemApiViewTest - All attachments",
"metadata" : "- 63862d54-1b6d-4dce-9a79-44b3a8c9e10732f45d7c-6df7-44d8-926a-3d6f841c200932a79ea6-8b67-4b38-af85-341b2d512f0978a2de74-96de-48de-8865-22856c22ae49b24aa5fa-de50-4021-b7c4-ac4d3a918129dd26b4ac-9592-4062-bd15-cb9691bfe9a3221b8a48-3a35-4d29-ad3a-0f04a1536b3b20196bbc-7f5f-44a4-980d-55dab4e6eec9034dfcb7-b66a-45bf-98c8-03da9011c74dItemApiViewTest - All attachments
",
"status" : "live",
"createdDate" : "2012-02-23T17:57:25.615-06:00",
"modifiedDate" : "2012-02-23T23:27:53.107-06:00",
"owner" : {
"id" : "adfcaf58-241b-4eca-9740-6a26d1c3dd58"
},
"collaborators" : [ {
"id" : "c4c9471b-d3e1-4157-9847-2e6d1e8b9b4e"
} ],
"collection" : {
"uuid" : "9a1ddb24-6bf5-db3d-d8fe-4fca20ecf69c"
},
"rating" : 5.0,
"attachments" : [ {
"type" : "file",
"uuid" : "63862d54-1b6d-4dce-9a79-44b3a8c9e107",
"description" : "avatar.png",
"viewer" : "livNavTreeViewer",
"filename" : "avatar.png",
"size" : 12627,
"md5" : "5a4e69eeae86aa557c4a27d52257b757",
"thumbFilename" : "_THUMBS/avatar.png.jpeg",
"conversion" : false,
"links" : {
"thumbnail" : "http://institution.edu/thumbs/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/63862d54-1b6d-4dce-9a79-44b3a8c9e107",
"view" : "http://institution.edu/items/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/?attachment.uuid=63862d54-1b6d-4dce-9a79-44b3a8c9e107"
}
}, {
"type" : "linked-resource",
"uuid" : "32f45d7c-6df7-44d8-926a-3d6f841c2009",
"description" : "SearchStemming - Walking",
"itemUuid" : "072c40d8-c8a8-412d-8ad2-3ef188ea016d",
"itemVersion" : 1,
"resourceType" : "p",
"resourcePath" : "",
"links" : {
"thumbnail" : "http://institution.edu/thumbs/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/32f45d7c-6df7-44d8-926a-3d6f841c2009",
"view" : "http://institution.edu/items/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/?attachment.uuid=32f45d7c-6df7-44d8-926a-3d6f841c2009"
}
}, {
"type" : "url",
"uuid" : "32a79ea6-8b67-4b38-af85-341b2d512f09",
"description" : "Google",
"url" : "http://google.com.au/",
"disabled" : false,
"links" : {
"thumbnail" : "http://institution.edu/thumbs/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/32a79ea6-8b67-4b38-af85-341b2d512f09",
"view" : "http://institution.edu/items/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/?attachment.uuid=32a79ea6-8b67-4b38-af85-341b2d512f09"
}
}, {
"type" : "htmlpage",
"uuid" : "78a2de74-96de-48de-8865-22856c22ae49",
"description" : "Web Page",
"filename" : "_mypages/78a2de74-96de-48de-8865-22856c22ae49/page.html",
"size" : 24,
"links" : {
"thumbnail" : "http://institution.edu/thumbs/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/78a2de74-96de-48de-8865-22856c22ae49",
"view" : "http://institution.edu/items/2f6e9be8-897d-45f1-98ea-7aa31b449c0e/1/?attachment.uuid=78a2de74-96de-48de-8865-22856c22ae49"
}
}, {
"type" : "googlebook",
"uuid" : "b24aa5fa-de50-4021-b7c4-ac4d3a918129",
"description" : "Book!",
"bookId" : "http://www.google.com/books/feeds/volumes/NBMDtWq1MnUC",
"viewUrl" : "http://books.google.com/books?id=NBMDtWq1MnUC&ie=ISO-8859-1&source=gbs_gdata",
"thumbUrl" : "http://bks6.books.google.com/books?id=NBMDtWq1MnUC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_gdata",
"publishedDate" : "2001-09-17",
"pages" : "44"
```
--------------------------------
### Example ebi.properties configuration
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Defines global settings using section headers and key-value pairs.
```properties
[State] settingsfile = C:\Users\jim\Documents\Upload_test.ebi [Configuration] loadlastsettingsfile = True attachmentmetadatatargets = True
```
--------------------------------
### CPU Logger Sample Output
Source: https://openequella.github.io/equella-tools/custom-utilities.html
Example of the data format produced by the logger script.
```text
Thu Jul 2 20:17:11 MDT 2015,1,0.01,0.02,0.11,0.01 0.02 0.11 1/280 11626
Thu Jul 2 20:18:11 MDT 2015,1,0.01,0.02,0.11,0.01 0.02 0.11 3/280 11661
Thu Jul 2 20:19:11 MDT 2015,2,0.00,0.01,0.10,0.00 0.01 0.10 2/280 11697
```
--------------------------------
### Configure Java home path
Source: https://openequella.github.io/guides/UpgradeGuide64.html
Property setting for the mandatory.properties file to define the Java installation directory.
```properties
learningedge-config/mandatory.properties java.home = xxx
```
--------------------------------
### Execute search with URL encoded where clause
Source: https://openequella.github.io/guides/RestAPIGuide.html
Example of a GET request to the search endpoint using a URL encoded where clause.
```http
GET .../api/search?where=where%20%2Fxml%2Fitem%2Fcategory%20not%20like%20'dog%25'
```
--------------------------------
### Initialize PostgreSQL Database for openEQUELLA
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Run these commands as the postgresql user to create the required database user and the openEQUELLA database instance.
```bash
createuser --pwprompt equellauser
createdb -O equellauser -D pg_default -E UTF-8 equella
```
--------------------------------
### Prepare Libav directory on Ubuntu
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Create a scratch directory for the Libav build process.
```bash
mkdir scratch
cd scratch
```
--------------------------------
### Execute the SOAP client
Source: https://openequella.github.io/example-scripts/SOAP/java/readme.html
Run this command from the product directory to execute the client with the required classpath.
```bash
java -classpath "soapclient.jar;*" org.example.soap.Main
```
--------------------------------
### Start Zookeeper Service
Source: https://openequella.github.io/guides/ClusteringConfigurationGuide.html
Commands to start the Zookeeper service on Unix and Windows platforms.
```Unix
bin/zkServer.sh start
```
```Windows
bin\zkServer.sh start
```
--------------------------------
### Example Redirect URL with Integration Parameters
Source: https://openequella.github.io/guides/IntegrationInterfaceGuide.html
Shows the structure of a URL redirected back to an LMS, with parameters prefixed by 'xxx' as defined by the returnprefix.
```text
http://lms.institution.edu/module/mod.do?
session=47f23cd29
&course=3
&folder=1
&xxxresult=success
&xxxname=Sample%20item
&xxxdescription=Very%20interesting%20description
&xxxurl=http%3A%2F%2Fequella.myinstitute.edu%2Fitem%2Ftlf
%2Fc7f6e44d-4101-c1dd-f936-0195cb51403a%2F1%2F
&xxxuuid=c7f6e44d-4101-c1dd-f936-0195cb51403a
&xxxtemdefuuid=1ed3feb1-2e04-1bad-cfbb-7e6168c4a8ca
&xxxversion=1
```
--------------------------------
### prepareDownload
Source: https://openequella.github.io/api-docs/SOAP/api/com/tle/core/harvester/soap/SoapHarvesterService.html
Prepares an item for download by creating a compressed archive.
```APIDOC
## prepareDownload
### Description
Zips up an item for downloading later by the returned URL. If the item has a DRM acceptance, the logged in user must have accepted it or the "Skip DRM for harvesters" setting must be set.
### Parameters
- **itemUuid** (String) - The item id
- **version** (int) - The item version
### Returns
- **URL** (String) - A URL to a .tar.gz download over standard HTTP.
```
--------------------------------
### Build the project with Apache Ant
Source: https://openequella.github.io/example-scripts/SOAP/java/readme.html
Run this command from the directory containing the readme file to compile the project.
```bash
ant product
```
--------------------------------
### Launch EBI visually on Linux
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Opens the EBI interface on Linux with a specified settings file.
```bash
python ebi.py work_in_progress.ebi
```
--------------------------------
### XML Metadata Fragment Example
Source: https://openequella.github.io/equella-tools/bulkImporterUserManual.html
Example of an XML fragment containing multiple contributor nodes to be appended to a metadata element.
```xml
Sue Daley Author Illustrator Bobby Andrews Editor
```
--------------------------------
### Construct Integration URL
Source: https://openequella.github.io/guides/IntegrationInterfaceGuide.html
Example of a fully formed URL with encoded parameters for an openEQUELLA integration session.
```text
http://equella.myinstitute.edu/signon.do?
method=lms
&token=demouser%3AsharedSecretID%3A1115854854000%3A4Qw4nf92EV6ev%2F1O
CYlI2Q%3D%3D
&returnurl=http%3A%2F%2Flms.institution.edu%2Fmodule%2Fmod.do
%3Fsession%3D47f23cd29%26course%3D3%26folder%3D1
&cancelurl=http%3A%2F%2Flms.institution.edu%2Fmodule%2Fcancelled.do
&returnprefix=xxx
&action=selectOrAdd
```
--------------------------------
### Add XML Modifier Fragment Example
Source: https://openequella.github.io/equella-tools/metadataUtilityUserGuide.html
Example of a valid XML fragment used with the Add XML modifier. The fragment does not require a single root element but must have all tags closed.
```xml
high
medium
```
--------------------------------
### GET /signon.do
Source: https://openequella.github.io/guides/IntegrationInterfaceGuide.html
Initiates an openEQUELLA selection session by redirecting the user to the signon endpoint with specific integration parameters.
```APIDOC
## GET /signon.do
### Description
Initiates an openEQUELLA selection session. This endpoint is used to redirect users from an LMS to openEQUELLA to perform actions like selecting resources.
### Method
GET
### Endpoint
/signon.do
### Parameters
#### Query Parameters
- **method** (string) - Required - Must be 'lms'.
- **token** (string) - Optional - SSO token for authentication.
- **returnurl** (string) - Required - URL to redirect to upon completion.
- **cancelurl** (string) - Optional - URL to redirect to if the user cancels.
- **returnprefix** (string) - Required - Prefix for parameters added to the return URL.
- **action** (string) - Required - The action to perform (e.g., 'structured', '/access/contribute.do').
- **courseCode** (string) - Optional - Course ID defined in the Administration Console.
- **courseId** (string) - Optional - Course ID defined in the Administration Console (overridden by courseCode).
- **attachmentUuidUrls** (boolean) - Optional - If 'true', uses attachment UUIDs in URLs.
- **cancelDisabled** (boolean) - Optional - If 'true', suppresses close/cancel buttons.
- **options** (string) - Optional - Extended configuration parameters.
- **forcePost** (boolean) - Optional - If 'true', results are POSTed back in JSON format.
- **selectMultiple** (boolean) - Optional - Allows selection of multiple resources.
- **attachmentonly** (boolean) - Optional - Restricts selection to attached content only.
- **structure** (string) - Optional - JSON representation of destination folders.
```
--------------------------------
### Configure and build Libav on Ubuntu
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Configure the build with necessary codec flags and compile the source code.
```bash
./configure --enable-libvo-aacenc --enable-version3 --enable-libx264 --enable-gpl --prefix=/usr/local
make
```
--------------------------------
### GET /api/institution
Source: https://openequella.github.io/guides/RestAPIGuide.html
Lists all institutions.
```APIDOC
## GET /api/institution
### Description
Retrieves a list of all institutions.
### Method
GET
### Endpoint
[admin_url]/api/institution
```
--------------------------------
### GET /api/browsehierarchy
Source: https://openequella.github.io/guides/RestAPIGuide.html
Browse hierarchy topics.
```APIDOC
## GET /api/browsehierarchy
### Description
Returns a Search Result of Hierarchy Browse Topics. Requires VIEW_HIERARCHY_TOPIC privilege.
### Method
GET
### Endpoint
/api/browsehierarchy
### Parameters
#### Query Parameters
- **start** (integer) - Optional - The first record of the search results to return (default: 0).
- **length** (integer) - Optional - The number of results to return (default: 10, max: 100).
- **order** (string) - Optional - The order of results: 'relevance', 'modified', 'name', or 'rating' (default: 'modified').
- **reverse** (boolean) - Optional - Reverse the order of results (default: false).
- **info** (string) - Optional - Information level to return: 'basic', 'metadata', 'detail', 'attachment', 'navigation', 'drm', or 'all'.
```
--------------------------------
### getAttachedItemResources
Source: https://openequella.github.io/api-docs/Script/api/com/tle/common/scripting/objects/AttachmentsScriptObject.html
Gets a list of any linked items.
```APIDOC
## getAttachedItemResources()
### Description
Gets a list of any linked items (e.g., with Resource Selector).
### Returns
- **List** - A list of ItemScriptType objects.
```
--------------------------------
### Enable Apache Site Configuration
Source: https://openequella.github.io/guides/Apache.html
Commands to enable the new site configuration and restart the Apache service.
```bash
$ sudo a2ensite equella-standalone
$ service apache2 restart
```
--------------------------------
### Configure plugin with Freemarker markup
Source: https://openequella.github.io/guides/HTMLEditorPluginGuide.html
Example configuration file utilizing Freemarker variables for dynamic user data and resource paths.
```json
{
"myplugin":
{
"user": {
name:"${user.firstName} ${user.lastName}",
"id": "${user.getID()}"
},
"placeholderImage": "${pluginUrl}images/placeholder.png",
"contentImage": "${resourcesUrl}images/content.png"
}
}
```
--------------------------------
### GET /api/task
Source: https://openequella.github.io/guides/RestAPIGuide.html
Retrieves a list of user tasks.
```APIDOC
## GET /api/task
### Description
Retrieves user tasks. Returns a Search Results object containing an array of Task Statuses.
### Method
GET
### Endpoint
/api/task
### Parameters
#### Query Parameters
- **start** (integer) - Optional - The first record of the search results to return (zero based). Default is 0.
- **length** (integer) - Optional - The number of results to return. Maximum is 100. Default is 0.
- **q** (string) - Optional - The search query. Default is blank.
- **collections** (string) - Optional - A comma separated list of collection UUIDs.
- **type** (string) - Optional - Filter results by notification type ('all', 'wentlive', 'rejected', 'badurl', 'watchedwentlive', 'overdue'). Default is 'all'.
```
--------------------------------
### GET /api/hierarchy
Source: https://openequella.github.io/guides/RestAPIGuide.html
List all top level hierarchy nodes.
```APIDOC
## GET /api/hierarchy
### Description
Returns a Search Result of Hierarchy Topic objects for all top level nodes. Requires EDIT_HIERARCHY_TOPIC privilege.
### Method
GET
### Endpoint
/api/hierarchy
```
--------------------------------
### Initialize client-side script
Source: https://openequella.github.io/guides/HTMLEditorPluginGuide.html
Using client.js to execute logic on the browser with Freemarker evaluation.
```javascript
alert('${xml.get('my/node')}');
```
```javascript
alert('node value');
```
--------------------------------
### GET /api/search
Source: https://openequella.github.io/guides/RestAPIGuide.html
Search for items based on query parameters.
```APIDOC
## GET /api/search
### Description
Search for items using various filters and sorting options.
### Method
GET
### Endpoint
/api/search
### Parameters
#### Query Parameters
- **q** (string) - Optional - The search query string.
- **start** (integer) - Optional - The starting index of the results.
- **length** (integer) - Optional - The number of results to return.
- **order** (string) - Optional - The field to order results by (e.g., rating, modified).
- **collections** (string) - Optional - Comma-separated list of collection UUIDs.
- **showall** (boolean) - Optional - Whether to show items that are not live.
- **where** (string) - Optional - A filter expression for the search.
- **info** (string) - Optional - Comma-separated list of information types to return (e.g., detail, attachment).
```
--------------------------------
### Inspect available metadata with ExifTool
Source: https://openequella.github.io/guides/EmbeddedMetadataExtractionUserGuide.html
Run this command line instruction to view the metadata fields available for extraction from an image file.
```bash
exiftool -g -j -q -sort -u -x Directory -x
FilePermissions -x ExifToolVersion -x Error ,
where is the path to your image.
```
--------------------------------
### GET /api/institution/[uniqueId]
Source: https://openequella.github.io/guides/RestAPIGuide.html
Retrieves information for a specific institution.
```APIDOC
## GET /api/institution/[uniqueId]
### Description
View information on a specific institution using its uniqueId value.
### Method
GET
### Endpoint
[admin_url]/api/institution/[uniqueId]
### Parameters
#### Path Parameters
- **uniqueId** (int) - Required - The unique identifier of the institution.
```
--------------------------------
### fileLength(String filename)
Source: https://openequella.github.io/api-docs/Script/api/com/tle/common/scripting/objects/FileScriptObject.html
Gets the size of a file in bytes.
```APIDOC
## long fileLength(String filename)
### Description
Gets the size (in bytes) of the file specified by filename. Will return a size of -1 if the file cannot be found. The filename path is relative to the current item.
### Parameters
- **filename** (String) - The path of the file, relative to the item.
### Returns
- **long** - The size in bytes of the file.
```
--------------------------------
### Example Log Directory Structure
Source: https://openequella.github.io/equella-tools/log-review2.html
Representation of the expected directory layout for log files organized by server and date.
```text
server1
2017-01-01
application.html
application.1.html
2017-01-02
application.html
application.1.html
application.2.html
application.3.html
server2
2017-01-01
application.html
2017-01-02
application.html
application.1.html
```
--------------------------------
### GET .../api/usermanagement/local/user/username/[username]
Source: https://openequella.github.io/guides/RestAPIGuide.html
Retrieves a specific user by their username.
```APIDOC
## GET .../api/usermanagement/local/user/username/[username]
### Description
Retrieves a specific user via their username. This is a read-only endpoint.
### Method
GET
### Endpoint
.../api/usermanagement/local/user/username/[username]
### Parameters
#### Path Parameters
- **username** (string) - Required - The username of the user.
```
--------------------------------
### Get Item Comment
Source: https://openequella.github.io/api-docs/SOAP/api/com/tle/web/remoting/soap/SoapService51.html
Retrieves a specific comment for an item by its UUID.
```java
public abstract java.lang.String getComment( | java.lang.String itemUuid,
int itemVersion,
java.lang.String commentUuid)
```
```xml
... Identifier for comment on this item
... Non-existent for no rating else a value between 1 and 5 inclusive
... Non-existent for no comment, else the comment text made by the user
... ID of user writing this thread. Empty for guest or anonymous comments/ratings.
... Full ISO format including time zone, eg, 2011-02-09T10:53:23+1000
```
--------------------------------
### Locate Dependencies on Ubuntu
Source: https://openequella.github.io/gettingstarted/InstallingEquella.html
Use these commands to find the installation paths for ImageMagick and Libav on Ubuntu systems.
```bash
whereis convert
```
```bash
whereis avconv
```
--------------------------------
### Get Collection XML
Source: https://openequella.github.io/api-docs/SOAP/api/com/tle/web/remoting/soap/SoapService51.html
Retrieves the collection definition in XML format.
```java
public abstract java.lang.String getCollection( | java.lang.String collectionUuid)
```
```xml
Collection XML
...
```
--------------------------------
### Configure Blackboard LTI Custom Parameters
Source: https://openequella.github.io/guides/BlackboardLearnIntegrationGuide.html
Custom parameters for mapping Blackboard user fields to openEQUELLA.
```text
bb_username=@X@user.id@X@
bb_user_id=@X@user.batch_uid@X@
```
--------------------------------
### Get Schema XML
Source: https://openequella.github.io/api-docs/SOAP/api/com/tle/web/remoting/soap/SoapService51.html
Retrieves the schema definition in XML format.
```java
public abstract java.lang.String getSchema( | java.lang.String schemaUuid)
```
```xml
Schema XML
...
```
--------------------------------
### getDescription() / setDescription(String)
Source: https://openequella.github.io/api-docs/Script/api/com/tle/web/scripting/advanced/types/NavigationTabScriptType.html
Gets or sets the display name for the tab.
```APIDOC
## String getDescription()
### Description
Returns the display name for the tab. This is not shown if there is only one tab present.
## void setDescription(String description)
### Description
Sets the display name for the tab.
### Parameters
- **description** (String) - The display name for the tab.
```
--------------------------------
### Using Global Variables
Source: https://openequella.github.io/equella-tools/metadataUtilityUserGuide.html
Examples of setting and retrieving global variables across modifiers and items during a bulk update.
```csharp
vars["authorAddress"] = "54 Brooklyn Drive, Boston, MA 02111";
```
```csharp
xml.updateText("/xml/metadata/author/address", vars["authorAddress"]);
```
--------------------------------
### get(Object key)
Source: https://openequella.github.io/api-docs/Script/api/com/tle/common/scripting/types/MapScriptType.html
Retrieves the value associated with the specified key.
```APIDOC
## get(Object key)
### Description
Returns the value for the specified key.
### Parameters
- **key** (Object) - Required - The key whose associated value is to be returned.
### Returns
- **Object** - The value for the key.
```
--------------------------------
### Configure openEQUELLA LTI Consumer Custom Fields
Source: https://openequella.github.io/guides/BlackboardLearnIntegrationGuide.html
Mapping configuration for openEQUELLA to receive custom parameters from Blackboard.
```text
Custom User ID: custom_bb_username
Custom Username: custom_bb_user_id
```
--------------------------------
### Uninstall Libav on Ubuntu
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Remove the installed Libav binaries using the makefile.
```bash
cd scratch/libav-11.3
sudo make uninstall
```
--------------------------------
### Authenticate with SOAP Service
Source: https://openequella.github.io/guides/CPlusSOAPTutorial.html
Establishes a user session using provided credentials. The user must possess sufficient privileges for the intended operations.
```cpp
client.login(username, password);
```
--------------------------------
### Comparison Value Examples
Source: https://openequella.github.io/equella-tools/metadataUtilityUserGuide.html
Usage of LIKE and IN operators for filtering metadata fields.
```text
WHERE /xml/item/itembody/name LIKE 'blue house*'
```
```text
WHERE /xml/item/status IN ('published', 'under review', 'in development')
```
--------------------------------
### Register openEQUELLA Windows Services
Source: https://openequella.github.io/guides/InstallationAdminGuide.html
Execute these commands in the manager folder to register the manager and server as Windows services.
```batch
manager install
equellaserver install
```
--------------------------------
### GET /api/item/[uuid]/[version]/lock
Source: https://openequella.github.io/guides/RestAPIGuide.html
Checks if an item is currently locked.
```APIDOC
## GET /api/item/[uuid]/[version]/lock
### Description
Checks the lock status of an item. Returns the lock details if locked, or a 404 error if not locked.
### Method
GET
### Endpoint
/api/item/[uuid]/[version]/lock
```
--------------------------------
### GET /api/item/[uuid]/[version]
Source: https://openequella.github.io/guides/RestAPIGuide.html
Retrieve details for a specific item version.
```APIDOC
## GET /api/item/[uuid]/[version]
### Description
Retrieve details of a particular item version. Special version values include 'latest' and 'latestlive'.
### Method
GET
### Endpoint
/api/item/[uuid]/[version]
### Parameters
#### Path Parameters
- **uuid** (string) - Required - The UUID of the item.
- **version** (string) - Optional - The version number or special identifier (latest, latestlive).
#### Query Parameters
- **info** (string) - Optional - Comma-separated list of information types to return (e.g., basic, detail).
```