API Documentation

API Documentation / Wiki

The following pages provide an overview about all functions of the API (Application Programming Interface) of the hyper Content & Digital Asset Management Server.
Please note, that you might usually only require few functions for the development of Plugins, template functions like navigation, sitemap and so on. Please read the Template Designers Guide and Programers Guide for a better insight.
The API is primarily used for the implementation of standalone applications that leverage the capabilities of the hyper Content & Digital Asset Management Server. The API is not to be confused with the OpenAPI, which is based on a SOA (Service Oriented Architecture), and is not part of the Free Edition.

For Questions & Answers please visit the Google Group.

hyperCMS API Function Reference

  1. Main API Functions
  2. Get API Functions
  3. Set API Functions
  4. Connect API Functions
  5. Security API Functions
  6. Media API Functions
  7. Metadata API Functions
  8. Link API Functions
  9. Plugin API Functions
  10. User Interface API Functions
  11. Template Engine API Functions
  12. XML API Functions
  13. Report API Functions
  14. Project API Functions
  15. Task API Functions
  16. Workflow API Functions
  17. Cloud Storage API Functions
  18. Import/Export API Functions

Metadata API Functions

importmetadata


Description
Imports metadata from a CSV file for various assets linked by name or conatiner ID. Empty rows or rows without a delimiter will be ignored.
In order to identify an asset the file name as "Name" or the container ID as "containerID" must be provided in the first row before the content rows.

Syntax
importmetadata ($site, $location, $file, $user, $type="", $delimiter=";", $enclosure='"', $charset="utf-8")

Input parameters
  • $site ... publication name [string]
  • $location ... location [string]
  • $file ... path to CSV file [string]
  • $user ... user name [string]
  • $type ... type array or string [u, f, l, c, d, k] (optional)
  • $delimiter ... delimiter [string] (optional)
  • $enclosure ... enclosure [string] (optional)
  • $charset ... character set [string] (optional)

global input parameters
  • $mgmt_config
  • $eventsystem

Output
  • true / false


loadtaxonomy


Description
Generates an array from a taxonomy definition file located in data/include/ to be used for presentation or CSV export.

Syntax
loadtaxonomy ($site, $start=1, $perpage=100000, $count=false, $load_default=false)

Input parameters
  • $site ... publication name [string]
  • $start ... return rows starting with row number [integer] (optional)
  • $perpage ... return number of rows [integer] (optional)
  • $count ... return total number of rows [boolean] (optional)
  • $load_default ... load default taxonomy [bollean] (optional)

global input parameters
  • $mgmt_config

Output
  • true / false


savetaxonomy


Description
Generates an array from a taxonomy definition file located in data/include/ to be used for presentation or CSV export.

Syntax
savetaxonomy ($site, $taxonomy, $saveindex_start, $saveindex_stop)

Input parameters
  • $site ... publication name [string]
  • $taxonomy ... new taxonomy with row number and languages as keys [array]
  • $saveindex_start ... replace rows starting with row number [integer]
  • $saveindex_stop ... replace rows ending with row number [integer]

global input parameters
  • $mgmt_config

Output
  • true / false


createtaxonomy


Description
Generates an array from a taxonomy definition file (CSV) and saves the PHP file in data/include/publication-name.taxonomy.inc.php.
Recreates the taxonomy for all objects if the taxonomy defintion has been uodated.

Syntax
createtaxonomy ($site_name="", $recreate=false)

Input parameters
  • $site_name ... publication name [string] (optional)
  • $recreate ... recreate taxonomy file [boolean] (optional)

global input parameters
  • $mgmt_config

Output
  • true / false


deletetaxonomy


Description
Deletes the taxonomy definition file (CSV) and PHP file in data/include/publication-name.taxonomy.inc.php.
Removes the index of the taxonomy for all objects.

Syntax
deletetaxonomy ($site)

Input parameters
  • $site ... publication name [string]

global input parameters
  • $mgmt_config

Output
  • true / false


splitkeywords


Description
Generates a keyword list from a text by splitting and transforming the comma separated string.

Syntax
splitkeywords ($keywords, $charset="UTF-8")

Input parameters
  • $keywords ... comma seperated keywords [string]
  • $charset ... character set [string] (optional)

Output
  • keywords as array / false on error


copymetadata


Description
Copies all meta data from source to destination file using EXIFTOOL

Syntax
copymetadata ($file_source, $file_dest)

Input parameters
  • $file_source ... path to source file [string]
  • $file_dest ... path to destination file [string]

global input parameters
  • $mgmt_config
  • $mgmt_mediametadata
  • $user

Output
  • true / false


extractmetadata


Description
Extracts all meta data from a file using EXIFTOOL

Syntax
extractmetadata ($file)

Input parameters
  • $file ... path to image file [string]

global input parameters
  • $user
  • $mgmt_config
  • $mgmt_mediametadata

Output
  • result array / false on error


xmlobject2array


Description
Converts an xmlobject to an array, provided by xaviered at gmail dot com

Syntax
xmlobject2array ($obj, $namespace="")

Input parameters
  • $obj ... XML [object]
  • $namespace ... namespace [array] (optional)

Output
  • result array / false


id3_getdata


Description
Requires getID3 library since EXIFTOOL cannot write ID3 tags so far

Syntax
id3_getdata ($file)

Input parameters
  • $file ... path to audio file [string]

global input parameters
  • $mgmt_config
  • $hcms_ext

Output
  • result array / false on error


id3_writefile


Description
Writes ID3 tags into audio file for supported file types and keeps the existing ID3 tags

Syntax
id3_writefile ($file, $id3, $keep_data=true, $movetempfile=true)

Input parameters
  • $file ... abs. path to audio file [string]
  • $id3 ... ID3 tag [array]
  • $keep_data ... keep existing ID3 data of file [boolean] (optional)
  • $movetempfile ... move tempoarary file from unecrypted to encrypted [boolean] (optional)

global input parameters
  • $user
  • $mgmt_config
  • $mgmt_mediametadata
  • $hcms_ext

Output
  • true / false on error


id3_create


Description
Defines ID3 tag array based on the media mapping of a publication.

Syntax
id3_create ($site, $text)

Input parameters
  • $site ... publication name [string]
  • $text ... text from content container [array]

global input parameters
  • $mgmt_config

Output
  • ID3 tag array / false on error


xmp_getdata


Syntax
xmp_getdata ($file)

Input parameters
  • $file ... path to image file [string]

global input parameters
  • $user
  • $mgmt_config
  • $hcms_ext

Output
  • result array / false on error


xmp_writefile


Description
Writes XMP tags into image file for supported file types and keeps the existing XMP tags

Syntax
xmp_writefile ($file, $xmp, $keep_data=true, $movetempfile=true)

Input parameters
  • $file ... abs. path to image file [string]
  • $xmp ... XMP tag [array]
  • $keep_data ... keep existing XMP data of file [boolean] (optional)
  • $movetempfile ... move tempoarary file from unecrypted to encrypted [boolean] (optional)

global input parameters
  • $user
  • $mgmt_config
  • $mgmt_mediametadata
  • $hcms_ext

Output
  • true / false on error


xmp_create


Description
Defines XMP tag array based on the media mapping of a publication

Syntax
xmp_create ($site, $text)

Input parameters
  • $site ... publication name [string]
  • $text ... text from content container [array]

global input parameters
  • $mgmt_config

Output
  • XMP tag array / false on error


geo2decimal


Syntax
geo2decimal ($coordinate, $hemisphere)

Input parameters
  • $coordinate ... GPS location [degrees, minutes, seconds]
  • $hemisphere ... hemisphere [N, O, S, W]

Output
  • decimal result / false


exif_getdata


Syntax
exif_getdata ($file)

Input parameters
  • $file ... path to image file [string]

global input parameters
  • $user
  • $mgmt_config
  • $hcms_ext

Output
  • result array / false


iptc_getdata


Syntax
iptc_getdata ($file)

Input parameters
  • $file ... path to image file [string]

global input parameters
  • $user
  • $mgmt_config
  • $hcms_ext

Output
  • result array / false


iptc_getcharset


Description
Copied from MediaWiki!
Warning, this function does not (and is not intended to) detect all iso 2022 escape codes.
In practise, the code for utf-8 is the only code that seems to have wide use. It does detect that code.
According to iim standard, charset is defined by the tag 1:90.
in which there are iso 2022 escape sequences to specify the character set.
the iim standard seems to encourage that all necessary escape sequences are
in the 1:90 tag, but says it doesn't have to be.
This is in need of more testing probably. This is definitely not complete.
however reading the docs of some other iptc software, it appears that most iptc software
only recognizes utf-8. If 1:90 tag is not present content is
usually ascii or iso-8859-1 (and sometimes utf-8), but no guarantee.
This also won't work if there are more than one escape sequence in the 1:90 tag
or if something is put in the G2, or G3 charsets, etc. It will only reliably recognize utf-8.
This is just going through the charsets mentioned in appendix C of the iim standard.

Syntax
iptc_getcharset ($tag)

Input parameters
  • $tag ... iptc tag that holds character set information [string]

Output
  • character set as string / false on error


iptc_maketag


Description
Convert the IPTC tag to binary code

Syntax
iptc_maketag ($record=2, $tag=0, $value="")

Input parameters
  • $record ... type of tag (e.g. 2) [integer]
  • $tag ... code of tag (e.g. 025) [string]
  • $value ... value of tag [string]

Output
  • binary IPTC tag / false on error


iptc_writefile


Description
Writes IPTC tags into image file for supported file types and keeps the existing IPTC tags

Syntax
iptc_writefile ($file, $iptc, $keep_data=true, $movetempfile=true)

Input parameters
  • $file ... abs. path to image file [string]
  • $iptc ... IPTC tag [array]
  • $keep_data ... keep existing IPTC data of file [boolean] (optional)
  • $movetempfile ... move tempoarary file from unecrypted to encrypted [boolean] (optional)

global input parameters
  • $user
  • $mgmt_config
  • $mgmt_mediametadata

Output
  • true / false on error


iptc_create


Description
Defines IPTC tag array based on the media mapping of a publication

Syntax
iptc_create ($site, $text)

Input parameters
  • $site ... publication name [string]
  • $text ... text from content container [array]

global input parameters
  • $mgmt_config

Output
  • IPTC tag array / false on error


createmapping


Description
Prepares the PHP mapping array from the provided mapping definition and saves media mapping file

Syntax
createmapping ($site, $mapping)

Input parameters
  • $site ... publication name [string]
  • $mapping ... mapping definition [string]

global input parameters
  • $mgmt_config

Output
  • true / false on error


getmapping


Description
Load the mapping file of the provided publication.

Syntax
getmapping ($site)

Input parameters
  • $site ... publication name [string]

global input parameters
  • $mgmt_config

Output
  • mapping code for display / false


metadata_exists


Description
Verifies if the content of a specific text ID that triggers a Cloud API call exists already.
This function is used to reduce/trigger Cloud API calls in case the content exists already and the media file does not need to be analyzed by a cloud service.

Syntax
metadata_exists ($mapping, $text_array)

Input parameters
  • $mapping ... mapping [array:metadata-tag-name => text-id]
  • $text_array ... text content [array:metadata-text-id => content]

Output
  • true / false


setmetadata


Description
Saves meta data of a multimedia file using a provided mapping in the proper fields of the content container.
If no mapping is given a default mapping will be used.

Syntax
setmetadata ($site, $location="", $object="", $mediafile="", $mapping="", $containerdata="", $user="", $savecontainer=true)

Input parameters
  • $site ... publication name [string]
  • $location ... location path [string] (optional)
  • $object ... object name [string] (optional)
  • $mediafile ... media file name [string] (optional)
  • $mapping ... mapping [array:metadata-tag-name => text-id] (optional)
  • $containerdata ... container content as XML [string] (optional)
  • $user ... user name [string]
  • $savecontainer ... save content container [boolean] (optional)

global input parameters
  • $eventsystem
  • $mgmt_config
  • $hcms_ext

Output
  • container content as XML string / false


This website uses cookies to ensure you get the best experience on our website. More info