.. You may want to use the usual include line. Uncomment and adjust the path. .. include:: ../Includes.txt ============== EXT: Sevenpack ============== :Author: Kasper Skårhøj :Created: 2002-11-01T00:32:00 :Changed: 2010-09-07T16:24:01 :Classification: sevenpack :Description: The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ---- :Keywords: publication, reference, manager, bibliography, typo3, sevenpack :Author: Sebastian Holtermann :Email: sebholt@web.de :Info 4: :Language: en |img-1| |img-2| EXT: Sevenpack - sevenpack .. _EXT-Sevenpack: EXT: Sevenpack ============== Extension Key: sevenpack Language: en Keywords: publication, reference, manager, bibliography, typo3, sevenpack Copyright 2008-2009, Sebastian Holtermann, This document is published under the Open Content License available from http://www.opencontent.org/opl.shtml The content of this document is related to TYPO3 \- a GNU/GPL CMS/Framework available from www.typo3.org .. _Table-of-Contents: Table of Contents ----------------- `EXT: Sevenpack 1 <#__RefHeading__2964_1643794856>`_ **`Introduction 3 <#__RefHeading__2966_1643794856>`_** `What does it do? 3 <#__RefHeading__2968_1643794856>`_ `Screenshots 3 <#__RefHeading__2970_1643794856>`_ **`User manual 6 <#__RefHeading__2972_1643794856>`_** `Installation 6 <#__RefHeading__2974_1643794856>`_ `The list view plugin 6 <#__RefHeading__2976_1643794856>`_ `The frontend editor 11 <#__RefHeading__2978_1643794856>`_ `Single view 13 <#__RefHeading__2980_1643794856>`_ **`Administration 14 <#__RefHeading__2982_1643794856>`_** `Searching in pdf files 14 <#__RefHeading__2984_1643794856>`_ `Database layout since version 0.1 14 <#__RefHeading__2986_1643794856>`_ `Useful SQL queries 14 <#__RefHeading__2988_1643794856>`_ **`Configuration 16 <#__RefHeading__2990_1643794856>`_** `Customization 16 <#__RefHeading__2992_1643794856>`_ `Reference 16 <#__RefHeading__2994_1643794856>`_ `The HTML templates 28 <#__RefHeading__2996_1643794856>`_ **`Tutorial 29 <#__RefHeading__2998_1643794856>`_** **`Known problems 30 <#__RefHeading__3000_1643794856>`_** **`To-Do list 31 <#__RefHeading__3002_1643794856>`_** **`Changelog 32 <#__RefHeading__3004_1643794856>`_** .. _Introduction: Introduction ------------ .. _What-does-it-do: What does it do? ^^^^^^^^^^^^^^^^ Sevenpack is a publication reference (bibliography) manager plugin for Typo3. It provides a browseable list view for publication references and a convenient publication reference editor. Sevenpack is forked from the Sixpack plugin version 0.3.2 by Sixten Boeck. Features: A publication reference database integrated into the Typo3 framework. A heavily customizable frontend list view for publication references. A frontend single view (disabled by default). An optional author browser bar An optional search bar An optional preferences bar A convenient frontend editor for publication reference Optional PDF text caching for full text search purposes Export of the reference database to BibTeX or a homebrewn Sevenpack XML format. Import of references from a BibTeX file or a Sevenpack XML file. Localizations for English, German and Italian (very outdated). .. _Screenshots: Screenshots ^^^^^^^^^^^ **This screenshot shows a part of a publication list.** |img-3| **A publication list during the edit mode.** |img-4| **A publication list with import and export links** |img-5| **The frontend publication reference editor.** |img-6| .. _User-manual: User manual ----------- .. _Installation: Installation ^^^^^^^^^^^^ The the extension should be installed with the Typo3 extension manager. During the installation some database tables will be created and the list view plugin should appear in the plugin list afterwards. To actually insert or edit a publication reference it is recommended to use the frontend editor of the list view plugin. **A note for admins:** Pdf text searching has additional software requirements which are described in the **Administration** section. .. _The-list-view-plugin: The list view plugin ^^^^^^^^^^^^^^^^^^^^ |img-7| The frontend list view plugin shows a list of publication references and optionally offers an editor for adding new and editing existing publication references. Before inserting the plugin into a page the default configuration and the default style should be loaded into the page template. To do so open the TypoScript template of the base page and go to the field **Include static (from extensions)** . Here the following two items should be listed. - Publication list defaults (sevenpack) - Publication list CSS (sevenpack) Select both to get the default style. |img-8| Now go the page where the list should appear and insert the **Publication list** frontend plugin. The most important thing to configure afterwards is the storage folder for publication references. Simply chose a storage folder in the **Startingpoint** field of the plugin. You can also select multiple storage folders or use recursive folder lookup (enable secondary options). If no folder is selected the current page will be used. |img-9| .. _The-General-configuration-sheet: The "General" configuration sheet """"""""""""""""""""""""""""""""" |img-10| The general arrangement of the references in the list is defined by the **List type** . **TypoScript (default)** The list type is read from the variableplugin.tx\_sevenpack\_pi1.display\_mode **Simple** A simple top down list. **Year split** A simple top down list with year separators that show the year of the following references respectively. **Year navigation** This shows only publications of a selected year and a navigation bar where the year can be chosen. The **Enumeration style** defines the symbol or number that will show up in front of each references. **TypoScript (default)** The enumeration style is determined from the variableplugin.tx\_sevenpack\_pi1.enum\_style **Count (page)** The running number of all references on the current page. In the simple mode this means all references that pass the filter whereas in the Year navigation mode this means all publications in the selected year. **Count (all)** In the simple mode this equivalent to **Count (page)** whereas in the **Year navigation** mode this is the running number of all publications in *all* years. **Bullet** This shows a single bullet. **None** This shows no symbol at all. **File Icon** This a file icon which is a link when file\_url is set **Show search** enables the search bar. **Show author browser** enables the author browser bar. **Show preferences bar** enables the preferences bar which e. g. allows to select the number of displayed references per page. By default the references are sorted with respect to the following database fields. year bibtype month day If **Split up bibliography types** is selected the sorting is performed in th following order bibtype year month day and a bibliography type separator is inserted for each bibliography type. The **Date sorting** determines if the sorting by the date fields is performed ascending or descending. **TypoScript (default)** The date sorting order is read from the variableplugin.tx\_sevenpack\_pi1.date\_sorting **Descending** Descending sorting (newest on top) **Ascending** Ascending sorting (oldest on top) Only if **Show abstracts** is selected abstracts of references will be displayed. **Nr. of references per page** can be set to a value greater than zero to not show all references at once but to show them page wise. The value determines the number of references on each page. A value of zero means to show all references and if the value is -1 then the number will be read from the TS variable plugin.tx\_sevenpack\_pi1.items\_per\_page. Some publications have a long authors list which can be stripped down to only the first nauthors by **Nr. of authors to display** . In case a publication has more authors than that the exceeding authors will be abbreviated with *et al.* . A value of zero means to show all authors and if the value is -1 then the number will be read from the TS variable plugin.tx\_sevenpack\_pi1.max\_authors. Some statisticscan be displayed at the bottom of the publication list. The **Statistic mode** determines what should be displayed. **TypoScript (default)** The statistic mode is read from the variableplugin.tx\_sevenpack\_pi1.stat\_mode **None** No statistics **Total** Show the total number of publications **Year / Total** Show number of publications in this year and the total number of publications. This mode only works in the **Year Navigation** list type. It falls back to **Total** in all other list types. The **Enable export links** switch enables the export links at the bottom of a publication list. .. _The-Filter-configuration-sheet: The "Filter" configuration sheet """""""""""""""""""""""""""""""" |img-11| In the **Filter** sheet several filters can be applied to the publication list to e. g. select only publications of a certain author in a certain year range. Thereby each filter has to be enabled with a check button and configured by one or more rule fields. Most of the filter rule fields are quite self explaining. **Year(s)** Years and year ranges must be comma separated. A year is simly a year e. g. 2008but a year range can have one of three different appearances. - 2001-2012: All references from inclusive 2001 to inclusive 2012. - -2002: All references up to inclusive 2002. - 2004-: All references from inclusive 2004 on. Year matches are interpreted as "The publication was in one of the given years". A year filter rule could look like this 2003, -2002, 2004, 2005-2006 which is an inefficient version of -2006 **Author(s)** Author names must be separated by a new line. - If no comma is present in a line then the string is interpreted as the surname. - If a comma is present then the string before the comma is interpreted as the surnameand the string behind the comma is interpreted as the forenameor given name. If the **Author filter rule** is **OR** a publication must have at least one of the authors to be displayed. If it is **AND** then the publication list must include all of the authors to be displayed. The selected authors can be highlighted if **Highlight selected authors** is activated. This even works when the author filter is not enabled. .. _The-FE-editor-configuration-sheet: The "FE editor" configuration sheet """"""""""""""""""""""""""""""""""" |img-12| This sheets configures the frontend editor which is described in more detail later. .. _The-frontend-editor: The frontend editor ^^^^^^^^^^^^^^^^^^^ The frontend editor can be either used by logged in backend users or by frontend users that belong to a certain group which must be configured in the TypoScript template. In either case the editor must be enabled in the list view plugin configuration sheet. .. _Activation-and-configuration-in-the-backend-FlexForm: Activation and configuration in the backend FlexForm """""""""""""""""""""""""""""""""""""""""""""""""""" Once the list view plugin is inserted into a page open the plugin configuration and select the sheet **FE Editor** . Activate the check button named **Enable editor?** to enable the editor on this page. The cite id generation options in the **Fe editor** sheet control whether the citeid of a publication should be generated automatically on demand by a button press or not at all. This can be configured for new and existing entries separately. It is always a good idea to clear the page cache of the current page after editing or inserting a reference. Only then it will show up for all viewers of the web page immediately. To let the editor clear the page cache of the current page automatically activate the check button named **Clear page cache after editing?** . .. _Getting-to-the-editor-as-a-backend-user: Getting to the editor as a backend user """"""""""""""""""""""""""""""""""""""" Simply logs in into the backend and then opens a second window or tab for the frontend list view where the edit icons should turn up. Sometimes a forced reload of the frontend page is required to make the edit icons appear (caching). To do so hold down the **Shift** key and click the **Reload** button of your browser. Some notes for the administrator. The user group must have modification rights for the sevenpack tables. This must be enabled in the Typo3 group administration. Generally the listing of sevenpack tables should be disabled since this would encourage users to use the backend to edit Publications. Because of the partially normalized database layout this could mess up the sevenpack database. .. _Getting-to-the-editor-as-a-frontend-user: Getting to the editor as a frontend user """""""""""""""""""""""""""""""""""""""" As a frontend user simply log in and go to the page where the list view plugin is installed. The edit icons should now appear beneath the publication reference entries. Sometimes a forced reload of the frontend page is required to make the edit icons turn up (caching). To do so hold down the **Shift** key and click the **Reload** button of your browser. Some notes for the administrator. The frontend user groups that should be allowed to use the editor must be configured in the TypoScript template by setting the variable plugin.tx\_sevenpack\_pi1.FE\_edit\_groups to a comma separated list of frontend user group ids or to 'all'. Here is an example that allows users in the group 34, 76 and 145 to use the editor. plugin.tx\_sevenpack\_pi1 { FE\_edit\_groups = 34,76,145 } .. _Using-the-editor: Using the editor """""""""""""""" Once you're logged in into the backend reload the publication page in a second window and some edit icons should turn up. **Creating a new reference** In the right top of the publication page (plugin) there should turn up a plus icon. Click it to add a new publication reference. **Edit/Hide a reference** Beneath each reference there should be two buttons. One is for *hiding* the reference the other one is for *editing* the reference. **Deleting a references** Only the frontend reference editor holds a button which will delete a reference. Both saving and deletion of a publication reference must be confirmed in the editor. The reference editor itself should be quite self explaining. .. _Custom-citeid-generators: Custom citeid generators """""""""""""""""""""""" There is one default citeid generator provided with this plugin but you can create your own as well. To do so create a copy of the example citeid creator file EXT:sevenpack/res/class.tx\_sevenpack\_citeid\_generator\_ext.phpand adjust it to your needs. Don't edit the name of the generator class since this is the class name sevenpack will look for. Then tell sevenpack with the TypoScript variable plugin.tx\_sevenpack\_pi1.editor.citeid\_generator\_file where your generator is stored. Here is a TypoScript example. plugin { tx\_sevenpack\_pi1 { editor { citeid\_generator\_file = /fileadmin/my\_citeid\_generator.php } } } .. _Single-view: Single view ^^^^^^^^^^^ The single view must be enabled with TypoScript. The Reference Section has an example how to do this. .. _Administration: Administration -------------- .. _Searching-in-pdf-files: Searching in pdf files ^^^^^^^^^^^^^^^^^^^^^^ Sevenpack allows to search in the text of pdf files by caching the textual content of the pdf file in a database field. This requires a pdf text extraction utility called **pdftotext** to be installed on the server which runs the Typo3 system. **pdftotext** is part of the **xpdf** or **xpdf-utils** package. Neither **xpdf** nor **pdftotext** are part or extensions of Typo3 or PHP but independent programs that must be installed by the administrator of the underlying operating system. The automatic pdf text extraction can be enabled in the TypoScript template. In the **Configuration/Reference** section there is a description of the neccessary variable settings for that under plugin.tx\_sevenpack\_pi1.editor.full\_text. Please note that the text extraction only works when using the frontend editor. If the backend is used to edit od add a reference entry then the pdf-text-cache-field does not get updated or filled at all. .. _Database-layout-since-version-0-1: Database layout since version 0.1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The sevenpack database consists of three tables which are as follows. - tx\_sevenpack\_references - tx\_sevenpack\_authors - tx\_sevenpack\_authorships tx\_sevenpack\_referencescontains most information e. g. title, publisher, citeid, url, etc. but not the authors. Author names are stored in tx\_sevenpack\_authorsand authorships of a publication are stored in tx\_sevenpack\_authorships. This means tx\_sevenpack\_authorshipsconnects between tx\_sevenpack\_referencesand tx\_sevenpack\_authors. .. _Useful-SQL-queries: Useful SQL queries ^^^^^^^^^^^^^^^^^^ The following SQL queries may be handy to analyse or modify the publication reference database. - *Show all author names* SELECT pid,surname,forename FROM tx\_sevenpack\_authors ORDER BY pid,surname; - *Show the authors of a publication with id XXX* SELECT tx\_sevenpack\_authors.surname,tx\_sevenpack\_authors.forename FROM tx\_sevenpack\_authors JOIN tx\_sevenpack\_authorships ON tx\_sevenpack\_authorships.author\_id=tx\_sevenpack\_authors.uid JOIN tx\_sevenpack\_references ON tx\_sevenpack\_authorships.pub\_id=tx\_sevenpack\_references.uid WHERE tx\_sevenpack\_references.uid=XXX ORDER BY tx\_sevenpack\_authorships.sorting; - *Show the number of authors per publication* SELECT tx\_sevenpack\_references.uid,count(tx\_sevenpack\_authors.uid) FROM tx\_sevenpack\_authors JOIN tx\_sevenpack\_authorships ON tx\_sevenpack\_authorships.author\_id=tx\_sevenpack\_authors.uid JOIN tx\_sevenpack\_references ON tx\_sevenpack\_authorships.pub\_id=tx\_sevenpack\_references.uid WHERE tx\_sevenpack\_references.deleted=0 GROUP BY tx\_sevenpack\_references.uid; - *Show the number of publications per author* SELECT tx\_sevenpack\_authors.pid, tx\_sevenpack\_authors.surname, tx\_sevenpack\_authors.forename, count(tx\_sevenpack\_references.uid) FROM tx\_sevenpack\_authors JOIN tx\_sevenpack\_authorships ON tx\_sevenpack\_authorships.author\_id=tx\_sevenpack\_authors.uid JOIN tx\_sevenpack\_references ON tx\_sevenpack\_authorships.pub\_id=tx\_sevenpack\_references.uid WHERE tx\_sevenpack\_references.deleted=0 GROUP BY tx\_sevenpack\_authors.uid ORDER BY tx\_sevenpack\_authors.pid, tx\_sevenpack\_authors.surname; .. _Configuration: Configuration ------------- .. _Customization: Customization ^^^^^^^^^^^^^ Sevenpack can be heavily customized. For a starting point have a look at - CSS (Your style sheets). Simply override the sevenpack default styles. - TypoScript - The default TypoScript setup in pi1/static/default/setup.txt - The plugin.tx\_sevenpack\_pi1.fieldwraps - The plugin.tx\_sevenpack\_pi1.labelwraps - The HTML template .. _Reference: Reference ^^^^^^^^^ .. _plugin-tx-sevenpack-pi1: plugin.tx\_sevenpack\_pi1 """"""""""""""""""""""""" There are many TypoScript variables that adjust the behaviour of the list view plugin. At this place only the most important will be listed. For a more complete list check the static include file EXT:sevenpack/pi1/static/default/setup.txt. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _authors: authors ~~~~~~~ .. container:: table-row a authors b array c -> authors. Author string configuration d .. _authorNav: authorNav ~~~~~~~~~ .. container:: table-row a authorNav b Array c Configures the author navigation bar -> authorNav d .. _charset: charset ~~~~~~~ .. container:: table-row a charset b String c The character set that will be used in some operations d UTF-8 .. _debug: debug ~~~~~ .. container:: table-row a debug b boolean c Enables the debug mode. This prints a lot debug information in the frontend. d .. _display-mode: display\_mode ~~~~~~~~~~~~~ .. container:: table-row a display\_mode b integer c The list display mode. 0: Simple1: Year split2: Year navigation This is only used if “ *TypoScript* ”is selected in the FlexForm. d 0 .. _classes: classes ~~~~~~~ .. container:: table-row a classes b Array c -> classes. Some CSS classes d .. _date-sorting: date\_sorting ~~~~~~~~~~~~~ .. container:: table-row a date\_sorting b integer c The date sorting rule. 0: descending1: ascending This is only used if “ *TypoScript* ”is selected in the FlexForm. d 0 .. _editor: editor ~~~~~~ .. container:: table-row a editor b Array c -> editor. The FE editor configuration. d .. _enum: enum ~~~~ .. container:: table-row a enum b Array c -> enum. Enumeration wraps d .. _enum-style: enum\_style ~~~~~~~~~~~ .. container:: table-row a enum\_style b integer c The enumeration style. 1: Count all on page2: Count all3: Bullet4: None5: File Icon This is only used if “ *TypoScript* ”is selected in the FlexForm. d 2 .. _export: export ~~~~~~ .. container:: table-row a export b Array c -> export. The export link configuration. d .. _FE-edit-groups: FE\_edit\_groups ~~~~~~~~~~~~~~~~ .. container:: table-row a FE\_edit\_groups b String c A comma separated list of frontend user group ids that are allowed to access the frontend editor. Also can be 'all' to allow all fe groups. d .. _field: field ~~~~~ .. container:: table-row a field b Array c -> field. Contains stdWraps for all printable database fields. d .. _import: import ~~~~~~ .. container:: table-row a import b Array c -> import. The import link configuration. d .. _items-per-page: items\_per\_page ~~~~~~~~~~~~~~~~ .. container:: table-row a items\_per\_page b integer c The maximal number of items (references) that should be displayed on a page at once. 0 means all. It is used only if the FlexForm option is set to -1. d 12 .. _max-authors: max\_authors ~~~~~~~~~~~~ .. container:: table-row a max\_authors b integer c The maximal number of authors to display. 0 means all It is used only if the FlexForm option is set to -1. d 0 .. _pageNav: pageNav ~~~~~~~ .. container:: table-row a pageNav b Array c -> pageNav Configures the page navigation bar d .. _prefNav: prefNav ~~~~~~~ .. container:: table-row a prefNav b Array c -> prefNav Configures the preferences navigation bar d .. _reference: reference ~~~~~~~~~ .. container:: table-row a reference b stdWrap c A wrap around the reference data parts. Replaces the ###REFERENCE\_WRAP### markers. d .. _restrictions: restrictions ~~~~~~~~~~~~ .. container:: table-row a restrictions b Array c -> restrictions Restricts some content to user groups and content type d .. _searchNav: searchNav ~~~~~~~~~ .. container:: table-row a searchNav b Array c Configures the search navigation bar -> searchNav d .. _single-view: single\_view ~~~~~~~~~~~~ .. container:: table-row a single\_view b Array c Configures the single view -> single\_view d .. _stat-mode: stat\_mode ~~~~~~~~~~ .. container:: table-row a stat\_mode b integer c The statistics mode 0: None1: Total2: Year / Total This is only used if “ *TypoScript* ”is selected in the FlexForm. d 0 .. _template: template ~~~~~~~~ .. container:: table-row a template b resource c The HTML template file for the list view d .. _yearNav: yearNav ~~~~~~~ .. container:: table-row a yearNav b Array c The (visual) year navigation configuration. See the static include file for more details. d .. ###### END~OF~TABLE ###### Examples: - Set the html-template plugin.tx\_sevenpack\_pi1 { template = /fileadmin/templates/my\_sevenpack.tmpl } - Change the all number wrap plugin.tx\_sevenpack\_pi1 { enum.all.wrap = \| } .. _plugin-tx-sevenpack-pi1-authors: plugin.tx\_sevenpack\_pi1.authors """"""""""""""""""""""""""""""""" This array contains some values that influence the author string generation. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _forename: forename ~~~~~~~~ .. container:: table-row a forename b stdWrap c Forename wrap d .. _highlight: highlight ~~~~~~~~~ .. container:: table-row a highlight b stdWrap c Author highlightning wrap d .. _separator: separator ~~~~~~~~~ .. container:: table-row a separator b string/stdWrap c Author separator and its wrap d .. _surname: surname ~~~~~~~ .. container:: table-row a surname b stdWrap c Surname wrap d .. _template: template ~~~~~~~~ .. container:: table-row a template b string c Full author name template string. Should contain ###FORENAME### and ###SURNAME###. The default string expects a spacing wrap of around the surname. d ###FORENAME######SURNAME### .. _url-icon-fields: url\_icon\_fields ~~~~~~~~~~~~~~~~~ .. container:: table-row a url\_icon\_fields b string c A comma separated list of fields that must be set before a link can be created. d url .. _url-icon-file: url\_icon\_file ~~~~~~~~~~~~~~~ .. container:: table-row a url\_icon\_file b Resource c The image file to use as a link icon d .. _url-icon: url\_icon ~~~~~~~~~ .. container:: table-row a url\_icon b stdWrap c The wrap around the icon image. d .. ###### END~OF~TABLE ###### In this example the author field fe\_user\_id is used to create a link plugin.tx\_sevenpack\_pi1.authors { url\_icon\_fields = fe\_user\_id url\_icon.typolink { \# Unset default value parameter.field > \# A Page id parameter = 42 \# Append the fe\_user\_id parameter additionalParams.field = fe\_user\_id additionalParams.wrap = &tx\_feuserlisting\_pi1[showUid]=\| } } .. _plugin-tx-sevenpack-pi1-authorNav: plugin.tx\_sevenpack\_pi1.authorNav """"""""""""""""""""""""""""""""""" Here the author navigation bar is configured. Not all values are listed. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _template: template ~~~~~~~~ .. container:: table-row a template b Resource c The HTML template d .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-pageNav: plugin.tx\_sevenpack\_pi1.pageNav """"""""""""""""""""""""""""""""" Here the page navigation bar is configured. Not all values are listed. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _template: template ~~~~~~~~ .. container:: table-row a template b Resource c The HTML template d .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-prefNav: plugin.tx\_sevenpack\_pi1.prefNav """"""""""""""""""""""""""""""""" Here the preferences navigation bar is configured. Not all values are listed. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _template: template ~~~~~~~~ .. container:: table-row a template b Resource c The HTML template d .. _ipp-values: ipp\_values ~~~~~~~~~~~ .. container:: table-row a ipp\_values b String c A comma separated listof available 'items per page' options d 5,10,20,30,40,50 .. _ipp-default: ipp\_default ~~~~~~~~~~~~ .. container:: table-row a ipp\_default b Integer c The default items per page value d 10 .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-searchNav: plugin.tx\_sevenpack\_pi1.searchNav """"""""""""""""""""""""""""""""""" Here the search navigation bar is configured. Only the most important values are listed. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _template: template ~~~~~~~~ .. container:: table-row a template b Resource c The HTML template d .. _abstracts-def: abstracts.def ~~~~~~~~~~~~~ .. container:: table-row a abstracts.def b Bool c Default value for 'Search in abstract' d 0 .. _clear-start: clear\_start ~~~~~~~~~~~~ .. container:: table-row a clear\_start b Bool c If set to 1 no references will be shown when no search phrase is given d 0 .. _extra-def: extra.def ~~~~~~~~~ .. container:: table-row a extra.def b Bool c Default value for 'Advanced search' d 0 .. _full-text-def: full\_text.def ~~~~~~~~~~~~~~ .. container:: table-row a full\_text.def b Bool c Default value for 'Search in Full text' d 0 .. _rule-def: rule.def ~~~~~~~~ .. container:: table-row a rule.def b String c Default value for the search rule. Can be'AND' or 'OR' d AND .. _separator-def: separator.def ~~~~~~~~~~~~~ .. container:: table-row a separator.def b String c Default value for the search string separator. Can be 'none', 'space', 'semi' or 'pipe' d space .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-field: plugin.tx\_sevenpack\_pi1.field """"""""""""""""""""""""""""""" Most fields can be wrapped with stdWrap. Additionally this default wrap can be overridden for specific bibtypes with a plugin.tx\_sevenpack\_pi1.field.BIBTYPE.FIELDstatement. The following example wraps the organization field with a but (and only) in case of a book with a
. plugin.tx\_sevenpack\_pi1.field { organization.wrap = \| book.organization.wrap =
\|
} Basically every field can be wrapped. Here is a list of fields that are created from the database or have a different name there. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _author: author ~~~~~~ .. container:: table-row a author b stdWrap c Each author d .. _authors: authors ~~~~~~~ .. container:: table-row a authors b stdWrap c All authors d .. _auto-url: auto\_url ~~~~~~~~~ .. container:: table-row a auto\_url b stdWrap c The automatically generated url d .. _auto-url-short: auto\_url\_short ~~~~~~~~~~~~~~~~ .. container:: table-row a auto\_url\_short b stdWrap c The automatically generated shortened url d .. _editor-each: editor\_each ~~~~~~~~~~~~ .. container:: table-row a editor\_each b stdWrap c Each editor d .. _file-url-short: file\_url\_short ~~~~~~~~~~~~~~~~ .. container:: table-row a file\_url\_short b stdWrap c The short file url d .. _web-url-short: web\_url\_short ~~~~~~~~~~~~~~~ .. container:: table-row a web\_url\_short b stdWrap c The short web url d .. _web-url2-short: web\_url2\_short ~~~~~~~~~~~~~~~~ .. container:: table-row a web\_url2\_short b stdWrap c The short web url 2 d .. ###### END~OF~TABLE ###### To wrap the forename or surname check the plugin.tx\_sevenpack\_pi1.authorsarray. To avoid (or create?) confusion it may happen that in the output something looks like a field wrap but actually is defined in the html templated used by sevenpack. More examples: Wrap **title** and the whole **authors** string and each **author** plugin.tx\_sevenpack\_pi1 { field.title.wrap = TITLE --- \| --- TITLE field.authors.wrap = AUTHORS --- \| --- AUTHORS field.author.wrap = \| } .. _plugin-tx-sevenpack-pi1-restrictions-TABLE-FIELD-NAME: plugin.tx\_sevenpack\_pi1.restrictions.TABLE.FIELD\_NAME """""""""""""""""""""""""""""""""""""""""""""""""""""""" Each field from each sevenpack tables can be restricted to specific FE user groups. The table names are not literally but abbreviated with - 'ref' for 'tx\_sevenpack\_references' and - 'authors' for 'tx\_sevenpack\_authors' The interpreted restriction values are listed below. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _hide-all: hide\_all ~~~~~~~~~ .. container:: table-row a hide\_all b Bool c Allways hide this field. The fields is revealed when FE\_user\_groups is set and matches. d .. _hide-file-ext: hide\_file\_ext ~~~~~~~~~~~~~~~ .. container:: table-row a hide\_file\_ext b String c Hide on string ending. Comma separated values of string endings. E.g. '.pdf,.ppt' d .. _FE-user-groups: FE\_user\_groups ~~~~~~~~~~~~~~~~ .. container:: table-row a FE\_user\_groups b String c 'all' or a comma separated list of fe\_user group ids. E.g. '12,45,76' d .. ###### END~OF~TABLE ###### Examples: file\_url only gets displayed if it does not end with '.pdf' or '.ppt' plugin.tx\_sevenpack\_pi1 { restrictions.ref { file\_url.hide\_file\_ext = .pdf,.ppt } } The same but now all logged in frontend users are allowed to see the file links plugin.tx\_sevenpack\_pi1 { restrictions.ref { file\_url.hide\_file\_ext = .pdf,.ppt FE\_user\_groups = all } } This is a more elaborated example where many fields are hidden for users that are not logged in. temp.sevenpack\_fe\_grp = 2 temp.sevenpack\_restrict { hide\_all = 1 FE\_user\_groups < temp.sevenpack\_fe\_grp } plugin.tx\_sevenpack\_pi1 { restrictions { ref { file\_url < temp.sevenpack\_restrict DOI < temp.sevenpack\_restrict web\_url < temp.sevenpack\_restrict web\_url2 < temp.sevenpack\_restrict } authors { url < temp.sevenpack\_restrict fe\_user\_id < temp.sevenpack\_restrict } } } .. _plugin-tx-sevenpack-pi1-classes: plugin.tx\_sevenpack\_pi1.classes """"""""""""""""""""""""""""""""" Here some CSS classes are defined. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _author-highlight: author\_highlight ~~~~~~~~~~~~~~~~~ .. container:: table-row a author\_highlight b CSS class c CSS class for (filtered) author highlightning. d tx\_sevenpack-author\_hl .. _even: even ~~~~ .. container:: table-row a even b CSS class c CSS class for even rows. d tx\_sevenpack-item\_even .. _odd: odd ~~~ .. container:: table-row a odd b CSS class c CSS class for odd rows. d tx\_sevenpack-item\_odd .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-single-view: plugin.tx\_sevenpack\_pi1.single\_view """""""""""""""""""""""""""""""""""""" This array configures the single view. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _all-labels: all\_labels ~~~~~~~~~~~ .. container:: table-row a all\_labels b stdWrap c Wraps the field labels d wrap = \|: .. _dont-show: dont\_show ~~~~~~~~~~ .. container:: table-row a dont\_show b String c A list of comma separated field names that should not be displayed d uid,pid,in\_library,... Check the static include file .. _field-wrap: field\_wrap ~~~~~~~~~~~ .. container:: table-row a field\_wrap b Array c This is the same as the tx\_sevenpack\_pi1.field array but overrides the values from there for the dingle view. d .. _template: template ~~~~~~~~ .. container:: table-row a template b Resource c Defines the HTML template file d EXT:sevenpack/res/templates/single\_view.html .. _title: title ~~~~~ .. container:: table-row a title b stdWrap c Wrap for the title string in the HTML template ###SINGLE\_VIEW\_TITLE### d .. _post-text: post\_text ~~~~~~~~~~ .. container:: table-row a post\_text b String / stdWrap c Some text & wrap can be set here. It will be inserted in the HTML template for the marker ###POST\_TEXT### d empty .. _pre-text: pre\_text ~~~~~~~~~ .. container:: table-row a pre\_text b String / stdWrap c The same as post\_text but for the marker ###PRE\_TEXT### d empty .. ###### END~OF~TABLE ###### The following example wraps the title in the list view with a link to the single view. Inside the single view the wrap gets overridden with a wrap that does nothing since a link there would not make too much sense. plugin.tx\_sevenpack\_pi1 { \# Wraps the title with a link to the single view field { title.single\_view\_link = 1 } single\_view { \# Overrides any wrap from field.title field\_wrap.title.wrap = \| } } .. _plugin-tx-sevenpack-pi1-editor: plugin.tx\_sevenpack\_pi1.editor """""""""""""""""""""""""""""""" These options configure the frontend editor and the list view in edit mode. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _default-pid: default\_pid ~~~~~~~~~~~~ .. container:: table-row a default\_pid b integer c The uid of the default publication storage folder. This is useful if there are multiple storages to read from but only one into which new publications should go. d .. _delete-no-ref-authors: delete\_no\_ref\_authors ~~~~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a delete\_no\_ref\_authors b Bool c Delete authors without publications after a publication save d 1 .. _field-default-XXX: field\_default.XXX ~~~~~~~~~~~~~~~~~~ .. container:: table-row a field\_default.XXX b Array c This array defines the default values for new entries. E.g. field\_default.in\_library = 1 sets all new entries to be in the library. This works for most fields but not for the authors field. d .. _full-text: full\_text ~~~~~~~~~~ .. container:: table-row a full\_text b Array c Configures the full text extraction ->full\_text d .. _list: list ~~~~ .. container:: table-row a list b Array c Configures the list view in edit mode d .. _no-edit: no\_edit ~~~~~~~~ .. container:: table-row a no\_edit b Array c Configures which fields should not be allowed to be edited -> no\_edit d .. _no-show: no\_show ~~~~~~~~ .. container:: table-row a no\_show b Array c Configures which fields should not be shown -> no\_show d .. _warnings: warnings ~~~~~~~~ .. container:: table-row a warnings b Array c Which data checks should be performed before save -> warnings d .. ###### END~OF~TABLE ###### Here is an example plugin.tx\_sevenpack\_pi1.editor { \# This is convenient when multiple storages are selected default\_pid = 12345 field\_default { note = This book is in the library in\_library = 1 } } .. _plugin-tx-sevenpack-pi1-editor-full-text: plugin.tx\_sevenpack\_pi1.editor.full\_text """"""""""""""""""""""""""""""""""""""""""" These options configure the full text extraction from PDF files to the full\_text field which can be searched. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _pdftotext-bin: pdftotext\_bin ~~~~~~~~~~~~~~ .. container:: table-row a pdftotext\_bin b Resource c Absolute path to the pdftotext binary d /usr/bin/pdftotext .. _tmp-dir: tmp\_dir ~~~~~~~~ .. container:: table-row a tmp\_dir b Directory c Directory where temporary text files will be created d /tmp .. _max-num: max\_num ~~~~~~~~ .. container:: table-row a max\_num b Integer c The maximal number of caches to update in one turn. d 100 .. _max-sec: max\_sec ~~~~~~~~ .. container:: table-row a max\_sec b Integer c The maximal number of seconds to spend for updating full text caches. d 5 .. _update: update ~~~~~~ .. container:: table-row a update b Bool c Enables automatic text extraction from PDFs during save or import of publication references by the FE editor. d 0 .. ###### END~OF~TABLE ###### Here is an example plugin.tx\_sevenpack\_pi1.editor.full\_text { \# Activate text extraction for full\_text field update = 1 \# Set a custom pdftotext binary pdftotext\_bin = /usr/local/bin/pdftotext } .. _plugin-tx-sevenpack-pi1-editor-list: plugin.tx\_sevenpack\_pi1.editor.list """"""""""""""""""""""""""""""""""""" Here the behaviour of the list view in the edit mode is configured .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _warnings-file-nexist: warnings.file\_nexist ~~~~~~~~~~~~~~~~~~~~~ .. container:: table-row a warnings.file\_nexist b Bool c Enable a 'file does not exist' warning if a local file does not exist d 1 .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-editor-no-edit: plugin.tx\_sevenpack\_pi1.editor.no\_edit """"""""""""""""""""""""""""""""""""""""" With no\_edit fields can be set not editable in the FE editor. The fields and values still get displayed. Have a look at the no\_show variable if fields should be hidden completely. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _FIELD-NAME: FIELD\_NAME ~~~~~~~~~~~ .. container:: table-row a FIELD\_NAME b Bool c If set to 1 then the field FIELD\_NAME can't be edited in the FE editor d 0 .. ###### END~OF~TABLE ###### Here is an example plugin.tx\_sevenpack\_pi1.editor.no\_edit { \# The citeid should not be touched by editors citeid = 1 } .. _plugin-tx-sevenpack-pi1-editor-no-show: plugin.tx\_sevenpack\_pi1.editor.no\_show """"""""""""""""""""""""""""""""""""""""" no\_show allows to hide fields in the FE editor completely. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _FIELD-NAME: FIELD\_NAME ~~~~~~~~~~~ .. container:: table-row a FIELD\_NAME b Bool c If set to 1 then the field FIELD\_NAME doesn't show up in the FE editor d 0 .. ###### END~OF~TABLE ###### An example plugin.tx\_sevenpack\_pi1.editor.no\_show { \# We don't use the library fields, so please hide them extern = 1 reviewed = 1 in\_library = 1 borrowed\_by = 1 } .. _plugin-tx-sevenpack-pi1-editor-warnings: plugin.tx\_sevenpack\_pi1.editor.warnings """"""""""""""""""""""""""""""""""""""""" Before saving the FE editor performs some data checks. These can be enabled/disabled here. .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _empty-fields: empty\_fields ~~~~~~~~~~~~~ .. container:: table-row a empty\_fields b Bool c Check if all required fields have a value d 1 .. _file-nexist: file\_nexist ~~~~~~~~~~~~ .. container:: table-row a file\_nexist b Bool c Check if a local file in 'file\_url' exists d 1 .. _double-citeid: double\_citeid ~~~~~~~~~~~~~~ .. container:: table-row a double\_citeid b Bool c Check if an other reference with the same citeid exists d 1 .. ###### END~OF~TABLE ###### Here is an example plugin.tx\_sevenpack\_pi1.editor.warnings { \# Disable the 'empty fields' check empty\_fields = 0 } .. _plugin-tx-sevenpack-pi1-enum: plugin.tx\_sevenpack\_pi1.enum """""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _all: all ~~~ .. container:: table-row a all b String/stdWrap c Wrap for 'Count all' enumeration d String: ###I\_ALL### Wrap: \|. .. _bullet: bullet ~~~~~~ .. container:: table-row a bullet b String/stdWrap c Wrap for 'Bullet' enumeration d String: • Wrap: \| .. _empty: empty ~~~~~ .. container:: table-row a empty b String/stdWrap c Wrap for 'Empty' enumeration. (Not used) d .. _file-icon: file\_icon ~~~~~~~~~~ .. container:: table-row a file\_icon b String/stdWrap c Wrap for 'File Icon' enumeration d String: ###FILE\_URL\_ICON### Wrap:
\|
.. _file-icon-image: file\_icon\_image ~~~~~~~~~~~~~~~~~ .. container:: table-row a file\_icon\_image b stdWrap c Wrap for the link image d A typolink for 'file\_url' .. _page: page ~~~~ .. container:: table-row a page b String/stdWrap c Wrap for 'Count page' enumeration d String: ###I\_PAGE### Wrap: \|. .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-export: plugin.tx\_sevenpack\_pi1.export """""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _enable-export: enable\_export ~~~~~~~~~~~~~~ .. container:: table-row a enable\_export b Comma separated values c Which export links should be available in the list view: 'bibtex' - BibTeX 'xml' - Sevenpack XML d bibtex,xml .. _FE-groups-only: FE\_groups\_only ~~~~~~~~~~~~~~~~ .. container:: table-row a FE\_groups\_only b String c This can be a comma separated list of FE user group uids which are allowed to export only. Can also be 'all' to allow any logged in user. d .. _bibtex: bibtex ~~~~~~ .. container:: table-row a bibtex b stdWrap c The wrap for the BibTeX export link d .. _label: label ~~~~~ .. container:: table-row a label b String & stdWrap c The export label and its wrap d .. _path: path ~~~~ .. container:: table-row a path b resource c The path where the export files will be stored d .. _separator: separator ~~~~~~~~~ .. container:: table-row a separator b String & stdWrap c The export link separator string and its wrap d .. _xml: xml ~~~ .. container:: table-row a xml b stdWrap c The wrap for the XML export link d .. ###### END~OF~TABLE ###### .. _plugin-tx-sevenpack-pi1-import: plugin.tx\_sevenpack\_pi1.import """""""""""""""""""""""""""""""" .. ### BEGIN~OF~TABLE ### .. _Property: Property: ~~~~~~~~~ .. container:: table-row a Property: b Data type: c Description: d Default: .. _bibtex: bibtex ~~~~~~ .. container:: table-row a bibtex b stdWrap c The wrap for the BibTeX import link d .. _label: label ~~~~~ .. container:: table-row a label b String & stdWrap c The import label and its wrap d .. _separator: separator ~~~~~~~~~ .. container:: table-row a separator b String & stdWrap c The import link separator string and its wrap d .. _xml: xml ~~~ .. container:: table-row a xml b stdWrap c The wrap for the XML import link d .. ###### END~OF~TABLE ###### .. _The-HTML-templates: The HTML templates ^^^^^^^^^^^^^^^^^^ In construction of the list view all data from the database is merged into HTML templates which consists of blocks which are displayed or merged one into another depending on the situation. The location of the HTML template files in the local file system is set by the TypoScript variable plugin.tx\_sevenpack\_pi1.templates and in the plugin.tx\_sevenpack\_pi1.xxxNav.template variables. .. _Tutorial: Tutorial -------- None so far. .. _Known-problems: Known problems -------------- None so far. .. _To-Do-list: To-Do list ---------- These are some thoughts of what could be done. An administration backend plugin .. _Changelog: Changelog --------- The changelog is kept in the ChangeLog file in the plugin root directory. 32 .. ######CUTTER_MARK_IMAGES###### .. |img-1| image:: img-1.png .. :align: left .. |img-2| image:: img-2.png .. :border: 0 .. :height: 21 .. :hspace: 9 .. :id: Grafik2 .. :name: Grafik2 .. :width: 87 .. |img-3| image:: img-3.png .. :align: left .. :border: 0 .. :height: 432 .. :id: Grafik1 .. :name: Grafik1 .. :width: 669 .. |img-4| image:: img-4.png .. :align: left .. :border: 0 .. :height: 346 .. :id: Grafik11 .. :name: Grafik11 .. :width: 657 .. |img-5| image:: img-5.png .. :align: left .. :border: 0 .. :height: 154 .. :id: Grafik9 .. :name: Grafik9 .. :width: 660 .. |img-6| image:: img-6.png .. :align: left .. :border: 0 .. :height: 663 .. :id: Grafik10 .. :name: Grafik10 .. :width: 669 .. |img-7| image:: img-7.png .. :align: left .. :border: 0 .. :height: 219 .. :id: Grafik3 .. :name: Grafik3 .. :width: 366 .. |img-8| image:: img-8.png .. :align: left .. :border: 0 .. :height: 204 .. :id: Grafik4 .. :name: Grafik4 .. :width: 559 .. |img-9| image:: img-9.png .. :align: left .. :border: 0 .. :height: 195 .. :id: Grafik5 .. :name: Grafik5 .. :width: 324 .. |img-10| image:: img-10.png .. :align: left .. :border: 0 .. :height: 524 .. :id: Grafik7 .. :name: Grafik7 .. :width: 579 .. |img-11| image:: img-11.png .. :align: left .. :border: 0 .. :height: 830 .. :id: Grafik6 .. :name: Grafik6 .. :width: 515 .. |img-12| image:: img-12.png .. :align: left .. :border: 0 .. :height: 233 .. :id: Grafik8 .. :name: Grafik8 .. :width: 276