Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision |
development:howtos:supporting_a_new_citation_style [2020/09/22 14:03] – demiankatz | development:howtos:supporting_a_new_citation_style [2023/03/27 19:04] – [Create a display label] sturkel |
---|
By default, VuFind supports MLA and APA citations. More can be added by following these steps: | By default, VuFind supports MLA and APA citations. More can be added by following these steps: |
| |
- Pick a name for your citation format. This must be a single word containing no special characters, so that the same value can be shared by configuration files, PHP method names, etc. The value used internally by code/configuration does not have to be the same as the text displayed to the end user (for example, we use "Chicago" as shorthand for "Chicago Style"). | ====1. Name the citation format==== |
- Make sure the [[development:plugins:record_drivers|record drivers]] for records that can be cited in the new format return the name of the new citation format through their getSupportedCitationFormats() methods. Usually this can be accomplished by modifying [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php|VuFind\RecordDriver\DefaultRecord]], which is the base class for most other record drivers. | Pick a name for your citation format. This must be a single word containing no special characters, so that the same value can be shared by configuration files, PHP method names, etc. The value used internally by **code/configuration** does not have to be the same as the text displayed to the end user (for example, we use "Chicago" as shorthand for "Chicago Style"). |
- Make sure the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/View/Helper/Root/Citation.php|VuFind\View\Helper\Root\Citation]] view helper contains a getCitation* method for your new format -- the existing getCitationMLA and getCitationAPA methods show how existing citations are generated by collecting information from the record driver and rendering a template. | |
- Create necessary template(s) for the new citation format; existing templates can be found in the [[https://github.com/vufind-org/vufind/tree/dev/themes/root/templates/Citation|Citation folder of the root theme]]. | ====2. Verify the record driver==== |
- Modify the [[development:architecture:localization|language file(s)]] to include an appropriate display label for your citation format. VuFind will use the name of your format concatenated with the word "Citation" as a translation key. This is your opportunity to provide a more complete, human-readable version of the format name for display -- e.g. Chicago Citation = "Chicago Style Citation". | Make sure the [[development:plugins:record_drivers|record drivers]] for records that can be cited in the new format return the name of the new citation format through their **getSupportedCitationFormats**() methods. Usually this can be accomplished by modifying [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php|VuFind\RecordDriver\DefaultRecord]], which is the base class for most other record drivers. |
| |
| ====3. Configure the GetCitation Method==== |
| Make sure the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/View/Helper/Root/Citation.php|VuFind\View\Helper\Root\Citation]] view helper contains a getCitation* method for your new format. The existing **getCitationMLA** and **getCitationAPA** methods show how existing citations are generated by collecting information from the record driver and rendering a template. |
| |
| ====4. Set up template(s)==== |
| Create necessary template(s) for the new citation format; existing templates can be found in the [[https://github.com/vufind-org/vufind/tree/dev/themes/root/templates/Citation|Citation folder of the root theme]]. |
| |
| ====5. Create a display label==== |
| Modify the [[development:architecture:localization|language file(s)]] to include an appropriate display label for your citation format. VuFind will use the name of your format concatenated with the word "Citation" as a translation key. This is your opportunity to provide a more complete, human-readable version of the format name for display -- e.g. Chicago Citation = "Chicago Style Citation". |
| |
---- struct data ---- | ---- struct data ---- |
| properties.Page Owner : |
---- | ---- |
| |