Documentation for the Freemarker libraries provided by ccm-sci-publications

git-svn-id: https://svn.libreccm.org/ccm/trunk@6308 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2019-11-03 17:51:05 +00:00
parent 1862edc503
commit 659ceaa9a4
12 changed files with 517 additions and 214 deletions

View File

@ -7,6 +7,17 @@
<#import "../ccm-cms/content-item.ftl" as ContentItem>
<#--doc
Functions for the processing collected volumes.
-->
<#--doc
Constructs the the link to the detail view to a collected volume.
@param collectedVolume The Collected Volume to use.
@return The link to the detail view of the Collected Volume.
-->
<#function getHref collectedVolume>
<#return ContentItem.generateContentItemLink(collectedVolume["./@oid"])>
</#function>

View File

@ -5,22 +5,61 @@
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#--filedoc
Funtions for processing the export links for publications.
-->
<#--doc
Gets the export links of a publication.
@param item The publication item to use.
@return A sequence of the export links of the publication.
-->
<#function getExportLinks item>
<#return item["./publicationExportLink"]>
</#function>
<#--doc
Determines if the provided publication item has export links.
@param item The publication item to use.
@return `true` if the publication item has export links, `false` otherwise.
-->
<#function hasExportLinks item>
<#return (item["./publicationExportLink"]?size > 0)>
</#function>
<#--doc
Constructs the URL for the export link.
@param exportLink The export link to use (as returned by `getExportLinks`).
@return The URL of the export link.
-->
<#function getHref exportLink>
<#return "${dispatcherPrefix}/scipublications/export/?format=${exportLink['./formatKey']}&publication=${exportLink['./publicationId']}">
</#function>
<#--doc
Gets the format key of an export link.
@param exportLink The export link to use (as returned by `getExportLinks`).
@return The key for the format provided by the export link.
-->
<#function getFormatKey exportLink>
<#return exportLink["./formatKey"]>
</#function>
<#--doc
Gets the format name of an export link.
@param exportLink The export link to use (as returned by `getExportLinks`).
@return The of the export format provided by the export link.
-->
<#function getFormatName exportLink>
<#return exportLink["./formatName"]>
</#function>

View File

@ -7,22 +7,61 @@
<#import "../ccm-cms/content-item.ftl" as ContentItem>
<#--filedoc
Functions for processing the the data of Journals.
-->
<#--doc
Gets the value of the `firstYear` property of the journal.
@param journal The journal to use.
@return The value of the `firstYear` property of the Journal.
-->
<#function getFirstYear(journal)>
<#return journal["./firstYear"]>
</#function>
<#--doc
Constructs the link to the detail view of the journal.
@param journal The journal to use.
@return The URL of the detail view of the Journal.
-->
<#function getHref journal>
<#return ContentItem.generateContentItemLink(journal["./@oid"])>
</#function>
<#--doc
Gets the ISSN of the Journal.
@param journal The journal to use.
@return The ISSN of the Journal.
-->
<#function getIssn journal>
<#return journal["./issn"]>
</#function>
<#--doc
Gets the value of the `lastYear` property of the journal.
@param journal The journal to use.
@return The value of the `firstYear` property of the Journal.
-->
<#function getLastYear(journal)>
<#return journal["./lastYear"]>
</#function>
<#--doc
Gets the title of the Journal.
@param journal The journal to use.
@return The title of the journal.
-->
<#function getTitle journal>
<#return journal["./title"]>
</#function>

View File

@ -5,18 +5,50 @@
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#--filedoc
Functions for processing library signatures.
-->
<#--doc
Gets the library of the signature.
@param signature The signature to use.
@return The library of the signature.
-->
<#function getLibrary signature>
<#return signature["./library"]>
</#function>
<#--doc
Gets the libray specific signature.
@param signature The signature to use.
@return The signature associated with the book for the a specific library.
-->
<#function getSignature signature>
<#return signature["./signature"]>
</#function>
<#--doc
Gets the link to the library.
@param signature The signature to use.
@return The link to the library of the signature.
-->
<#function getLibraryLink signature>
<#return signature["./libraryLink"]>
</#function>
<#--doc
Gets the value of `misc` property to the signature.
@param signature The signature to use.
@return The value of `misc` of the signature.
-->
<#function getMisc signature>
<#return signature["./misc"]>
</#function>

View File

@ -5,6 +5,17 @@
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#--filedoc
Functions for processing the orderer of an expertise.
-->
<#--doc
Gets the name of the orderer.
@param orderer The orderer to use.
@return The name of the orderer.
-->
<#function getName orderer>
<#return orderer["./title"]>
</#function>

View File

@ -7,10 +7,29 @@
<#import "../ccm-cms/content-item.ftl" as ContentItem>
<#--filedoc
Functions for processing Proceedings items.
-->
<#--doc
Gets the URL of the detail view of the proceedings item.
@param proceedings The proceedings item to use.
@return The URL of the detail view of the proceedings.
-->
<#function getHref proceedings>
<#return ContentItem.generateContentItemLink(proceedings["./@oid"])>
</#function>
<#--doc
Gets the URL of the detail of a paper (InProceedings item) of a proceedings
publication.
@param paper The InProceedings item to use.
@return The URL of the detail view of the paper.
-->
<#function getPaperHref paper>
<#return ContentItem.generateContentItemLink(paper["./@oid"])>
</#function>

View File

@ -5,50 +5,144 @@
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#--filedoc
Commons functions for publication types. Some functions in this
module will only work for specific publication types.
-->
<#--doc
Gets the assigned terms of an publication.
@param item The publication item to use.
@param domain The domain to use.
@return The assigned terms.
-->
<#function getAssignedTermsDomains item domain>
<#return item["./terms:assignedTerms/terms:term[@domain='${domain}']"]>
</#function>
<#--doc
Gets the authors of the publication.
@param item The publication item to use.
@return A sequence of the authors of the publication. The authors can
be further processed by the functions provided by the `authors` library.
-->
<#function getAuthors item>
<#return item["./authors/author"]>
</#function>
<#--doc
Gets the publisher of an publication.
@param item The publication item to use.
@return The publisher of the publication. The `publisher` library
provides functions for processing the publisher.
-->
<#function getPublisher item>
<#return item["./publisher"]>
</#function>
<#--doc
Gets the value of the `yearOfPublication` property of the publication.
@param item The publication item to use.
@return The value of the `yearOfPublication` property of the publication.
-->
<#function getYearOfPublication item>
<#return item["./yearOfPublication"]>
</#function>
<#--doc
Gets the value of the `numberOfPages` property of the publication.
@param item The publication item to use.
@return The value of the `numberOfPages` property of the publication.
-->
<#function getNumberOfPages item>
<#return item["./numberOfPages"]>
</#function>
<#--doc
Gets the value of the `numberOfVolumes` property of the publication.
@param item The publication item to use.
@return The value of the `numberOfVolumes` property of the publication.
-->
<#function getNumberOfVolumes item>
<#return item["./numberOfVolumes"]>
</#function>
<#--doc
Gets the value of the `volume` property of the publication.
@param item The publication item to use.
@return The value of the `volume` property of the publication.
-->
<#function getVolume item>
<#return item["./volume"]>
</#function>
<#--doc
Gets the value of the `edition` property of the publication.
@param item The publication item to use.
@return The value of the `edition` property of the publication.
-->
<#function getEdition item>
<#return item["./edition"]>
</#function>
<#--doc
Gets the value of the `isbn` property of the publication.
@param item The publication item to use.
@return The value of the `isbn` property of the publication.
-->
<#function getIsbn item>
<#return item["./isbn"]>
</#function>
<#--doc
Gets the value of the `languageOfPublication` property of the publication.
@param item The publication item to use.
@return The value of the `languageOfPublication` property of the publication.
-->
<#function getLanguageOfPublication item>
<#return item["./languageOfPublication"]>
</#function>
<#--doc
Gets the series associated with publication.
@param item The publication item to use.
@return A sequence of series associated with the publication. The `series`
module provides functions for processing the returned data.
-->
<#function getSeries item>
<#return item["./series/series"]>
</#function>
<#--doc
Gets the value of the `reviewed` property of the publication.
@param item The publication item to use.
@return The value of the `reviewed` property of the publication.
-->
<#function isReviewed item>
<#if (item["./reviewed"]?size > 0)>
<#return item["./reviewed"] == "true">
@ -57,122 +151,337 @@
</#if>
</#function>
<#--doc
Gets the value of the `abstract` property of the publication.
@param item The publication item to use.
@return The value of the `abstract` property of the publication.
-->
<#function getAbstract item>
<#return item["./abstract"]>
</#function>
<#--doc
Gets the value of the `misc` property of the publication.
@param item The publication item to use.
@return The value of the `misc` property of the publication.
-->
<#function getMisc item>
<#return item["./misc"]>
</#function>
<#--doc
Determines if the publication has a value of the `languageOfPublicatiopn` property.
@param item The publication item to use.
@return `true` if the publication has a value for the `languageOfPublication`.
-->
<#function hasPlace item>
<#return (item["./place"]?size > 0)>
</#function>
<#--doc
Gets the value of the `place` property of the publication.
@param item The publication item to use.
@return The value of the `place` property of the publication.
-->
<#function getPlace item>
<#return item["./place"].@@text>
</#function>
<#--doc
Gets the value of the `pagesFrom` property of the publication.
@param item The publication item to use.
@return The value of the `getPagesFrom` property of the publication.
-->
<#function getPagesFrom item>
<#return item["./pagesFrom"]>
</#function>
<#--doc
Gets the value of the `pagesTo` property of the publication.
@param item The publication item to use.
@return The value of the `pagesTo` property of the publication.
-->
<#function getPagesTo item>
<#return item["./pagesTo"]>
</#function>
<#--doc
Gets the value of the `number` property of the publication.
@param item The publication item to use.
@return The value of the `number` property of the publication.
-->
<#function getNumber item>
<#return item["./number"]>
</#function>
<#--doc
Gets the value of the `yearFirstPublished` property of the publication.
@param item The publication item to use.
@return The value of the `yearFirstPublished` property of the publication.
-->
<#function getYearFirstPublished item>
<#return item["./yearFirstPublished"]>
</#function>
<#--doc
Gets the library signatures of the publication.
@param item The publication item to use.
@return A sequence of the library signatures associated with the
publication. The `librarySignatures` module provides functions for
processing library signatures.
-->
<#function getLibrarySignatures item>
<#return item["./librarysignatures/librarysignatures"]>
</#function>
<#--doc
Gets the organizations associated with the publication.
@param item The publication item to use.
@return A sequence of organizations associated with the publication.
-->
<#function getOrganization item>
<#return item["./organization"]>
</#function>
<#--doc
Gets the orderer of the publication.
@param item The publication item to use.
@return A sequence or the orderers (organizations) of the publication.
-->
<#function getOrderer item>
<#return item["./orderer"]>
</#function>
<#--doc
Gets the value of the `issn` property of the publication.
@param item The publication item to use.
@return The value of the `issn` property of the publication.
-->
<#function getIssn item>
<#return item["./issn"]>
</#function>
<#--doc
Gets the value of the `lastAccesed` property of the publication.
@param item The publication item to use.
@return The value of the `lastAccessed` property of the publication.
-->
<#function getLastAccessed item>
<#return item["./lastAccessed"]>
</#function>
<#--doc
Gets the value of the `url` property of the publication.
@param item The publication item to use.
@return The value of the `url` property of the publication.
-->
<#function getUrl item>
<#return item["./url"]>
</#function>
<#--doc
Gets the value of the `urn` property of the publication.
@param item The publication item to use.
@return The value of the `urn` property of the publication.
-->
<#function getUrn item>
<#return item["./getUrn"]>
</#function>
<#--doc
Gets the value of the `doi` property of the publication.
@param item The publication item to use.
@return The value of the `doi` property of the publication.
-->
<#function getDoi item>
<#return item["./doi"]>
</#function>
<#--doc
Gets the value of the `issue` property of the publication.
@param item The publication item to use.
@return The value of the `issue` property of the publication.
-->
<#function getIssue item>
<#return item["./issue"]>
</#function>
<#--doc
Gets the journal associated with a publication.
@param item The publication item to use.
@return The Jornal associated with the the publication. The `journal`
module provides function for processing the journal.
-->
<#function getJournal item>
<#return item["./journal"]>
</#function>
<#--doc
Gets the collected volume associated with a publication.
@param item The publication item to use.
@return The collected volume associated with the publication. The
`collected-volume` module provides functions for processing the
collected volume.
-->
<#function getCollectedVolume item>
<#return item["./collectedVolume"]>
</#function>
<#--doc
Gets the value of the `chapter` property of the publication.
@param item The publication item to use.
@return The value of the `chapter` property of the publication.
-->
<#function getChapter item>
<#return item["./chapter"]>
</#function>
<#--doc
Gets the value of the `nameOfConference` property of the publication.
@param item The publication item to use.
@return The value of the `nameOfConference` property of the publication.
-->
<#function getNameOfConference item>
<#return item["./nameOfConference"]>
</#function>
<#--doc
Gets the value of the `placeOfConference` property of the publication.
@param item The publication item to use.
@return The value of the `placeOfConference` property of the publication.
-->
<#function getPlaceOfConference item>
<#return item["./placeOfConference"]>
</#function>
<#--doc
Gets the value of the `dateFromOfConference` property of the publication.
@param item The publication item to use.
@return The value of the `dateFromOfConference` property of the publication.
-->
<#function getDateFromOfConference item>
<#return item["./dateFromOfConference"]>
</#function>
<#--doc
Gets the value of the `dateToOfConference` property of the publication.
@param item The publication item to use.
@return The value of the `dateToOfConference` property of the publication.
-->
<#function getDateToOfConference item>
<#return item["./dateToOfConference"]>
</#function>
<#--doc
Gets the Proceedings item associated with a InProceedings publication
@param item The publication item to use.
@return The Proceedings item associated with a InProceedings publication.
-->
<#function getProceedings item>
<#return item["./proceedings"]>
</#function>
<#--doc
Gets the articles of a CollectedVolume, item or Journal.
@param item The publication item to use.
@return A sequence of articles.
-->
<#function getArticles item>
<#return item["./articles/article"]>
</#function>
<#--doc
Gets the papers of a Proceedings papers
@param item The publication item to use.
@return A sequence of InProccedings items.
-->
<#function getProceedingsPapers item>
<#return item["./papers/paper"]>
</#function>
<#--doc
Gets the volumes of a series.
@param item The series to use.
@return A sequence of the publications in the series.
-->
<#function getSeriesVolumes item>
<#return item["./volumes/publication"]>
</#function>
<#--doc
Gets the value of the `event` property of the publication.
@param item The publication item to use.
@return The value of the `event` property of the publication.
-->
<#function getEvent item>
<#return item["./event"]>
</#function>
<#--doc
Gets the value of the `dateOfTalk` property of the publication.
@param item The publication item to use.
@return The value of the `dateOfTalk` property of the publication.
-->
<#function getDateOfTalk item>
<#return item["./dateOfTalk"]>
</#function>

View File

@ -1,175 +0,0 @@
# Freemarker functions for publication items.
Import Path
: `/ccm-sci-publications/publications.ftl`
## `getAssignedTermsDomains(item: Node, domain: String): Sequence<Node>`
Returns the categories from the category system with the name provided
by the `domain` parameters which are assigned to the publication.
## `getAuthors(item: Node): Sequence<Node>`
Returns the authors of the publication.
## `getPublisher(item: Node): Sequence<Node>`
Returns the publisher of the publication.
## `getYearOfPublication(item: Node): Sequence<Node>`
Returns the year of publication.
## `getNumberOfPages(item: Node): String`
Gets the number of pages of the publication.
## `getNumberOfVolumes(item: Node): String`
Gets the number of volumes of the publication.
## `getVolume(item: Node): String`
Gets the value of the `volume` property of the publication.
## `getEdition(item: Node): String`
Get the edition of the publication.
## `getIsbn(item: Node): String`
Gets the ISBN of the publication.
## `getLanguageOfPublication(item: Node): String`
Gets the language of the publication.
## `getSeries(item: Node): Node`
Gets the series to which the publication is assigned.
## `isReviewed(item: Node): boolean`
Determines if the publication is reviewed.
## `getAbstract(item: Node): String`
Returns the abstract of the publication.
## `getMisc(item: Node): String`
Returns the value of the `misc` property of the publication.
## `getExportLinks(item: Node): Sequence<Node>`
Returns the export links for the publication.
## `getPlace(item: Node): String`
Returns the value of the `place` property of the publication.
## `getPagesFrom(item: Node): String`
Returns the value of the `pagesFrom` property of the publication.
## `getPagesTo(item: Node): String`
Returns the value of the `pagesTo` property of the publication.
## `getNumber(item: Node): String`
Returns the value of the `number` property of the publication.
## `getYearFirstPublished(item: Node): String`
Returns the value of the `yearFirstPublished` property of the
publication.
## `getLibrarySignatures(item: Node): Sequence<Node>`
Returns the library signatures assigned to a publication.
## `getOrganization(item: Node): Node`
Gets the organization assigned to a publication.
## `getOrderer(item: Node): Node`
Gets the orderer assigned to a publication.
## `getIssn(item: Node): Node`
Gets the ISSN of a publication.
## `getLastAccessed(item: Node): String`
Gets the value of the `lastAccessed` property of a publication.
## `getUrl(item: Node): String`
Gets the value of the `url` property of a publication.
## `getUrn(item: Node): String`
Gets the value of the `urn` property of a publication.
## `getDoi(item: Node): String`
Gets the value of the `doi` property of a publication.
## `getIssue(item: Node): String`
Gets the issue of a publication.
## `getJournal(item: Node): Node`
Gets the journal to which a publication is assigned.
## `getCollectedVolume(item: Node): Node`
Gets the collected volume to which a publication is assigned.
## `getChapter(item: Node): String`
Gets the value of the `chapter` property of a publication.
## `getNameOfConference(item: Node): String`
Gets the name of the conference.
## `getPlaceOfConference(item: Node): String`
Gets the place of the conference.
## `getDateFromConference(item: Node): DateNode`
Gets the start date of the conference.
## `getDateToConference(item: Node): DateNode`
Gets the end date of the conference.
## `getProceedings(item: Node): Node`
Gets the proceedings to which an publication is assigned.
## `getProceedingsPapers(item: Node): Sequence<Node>`
Gets the papers of a proceedings publication item.
## `getSeriesVolume(item: Node): String`
Gets the volume of the series for a publication.
## `getEvent(item: Node): String`
Gets the value of the `event` property of a publication of the type
_talk_.
## `getDateOfTask(item: Node): DateNode`
Gets the value of the `date` property of a publication of the type
_talk_.

View File

@ -5,10 +5,28 @@
"ui": "http://www.arsdigita.com/ui/1.0"}
>
<#--filedoc
Functions for processing publishers.
-->
<#--doc
Gets the name of a publisher.
@param publisher The publisher to use.
@return The name of the publisher.
-->
<#function getName publisher>
<#return publisher["./publisherName"]>
</#function>
<#--doc
Gets the place of the publisher.
@param publisher The publisher to use.
@return The place of the publisher.
-->
<#function getPlace publisher>
<#return publisher["./place"]>
</#function>

View File

@ -1,12 +0,0 @@
# Freemarker functions for processing Publishers
Import Path
: `/ccm-sci-publications/publisher.ftl`
## `getName(publisher: Node): String`
Gets the name of a publisher.
## `getPlace(publisher: Node): String`
Gets the place of a publisher.

View File

@ -7,22 +7,61 @@
<#import "../ccm-cms/content-item.ftl" as ContentItem>
<#--filedoc
Functions for processing Series items.
-->
<#--doc
Gets the filters for the volumes list of the series.
@param series The series to use
@return A sequence of the filters for the list of volumes of the series.
-->
<#function getFilters series>
<#return series["./filters/filter"]>
</#function>
<#--doc
Constructs the link to the details view of a series.
@param series The series to use.
@return The link to the detail view of the series.
-->
<#function getLink series>
<#return ContentItem.generateContentItemLink(series)>
</#function>
<#--doc
Gets the name of the series.
@param series The series to use.
@return The name of the series.
-->
<#function getName series>
<#return series["./title"]>
</#function>
<#--doc
Gets the volumes of the series.
@param series The series to use.
@return A sequence of the volumes of the series.
-->
<#function getVolume series>
<#return series["./@volume"]>
</#function>
<#--doc
Gets the link to the detail view of volume of a series.
@param volume The volume to use.
@return The link to the detail view of the volume.
-->
<#function getVolumeHref volume>
<#return ContentItem.generateContentItemLink(volume)>
</#function>

View File

@ -1,27 +0,0 @@
# Freemarker functions for Series
Import Path
: `/ccm-sci-publications/series.ftl`
## `getFilters(series: Node): Sequence<Node>`
Returns the filters for list of publications of the series. The
filters can be procesed by the functions provided for object list
filters.
## `getLink(series: Node): String`
Returns the link to the detail view of the series.
## `getName(series: Node): String`
Returns the name of a series.
## `getVolume(series: Node): String`
Gets the value of the `volume` property.
## `getVolumeHref(volume: Node): String`
Gets a link to a volume of a series.