en:beginner:customization
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:beginner:customization [2016/06/24 02:39] – [Useful Links for Customisation] kjdon | en:beginner:customization [2023/03/13 20:51] (current) – [Customizations] kjdon | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | |||
| + | |||
| ====== Customization ====== | ====== Customization ====== | ||
| //**Part of the [[en: | //**Part of the [[en: | ||
| Line 8: | Line 10: | ||
| There are a few pages that, though not directly concerned with customization, | There are a few pages that, though not directly concerned with customization, | ||
| can be very useful during the process: | can be very useful during the process: | ||
| - | | + | < |
| - | * Understanding how [[en:user:urls|Greenstone URLs]] work, including CGI arguments, can help you create links to various pages in your collection. | + | * Understanding how Greenstone URLs ([[en:user:gs3_urls|gs3]], [[en: |
| * Knowing the [[en: | * Knowing the [[en: | ||
| Line 16: | Line 18: | ||
| - | <TABAREA tabs="Greenstone3, | + | =====Greenstone3===== |
| - | < | + | ==== Site, interfaces, and libraries ==== |
| - | ===== Site, interfaces, and libraries | + | |
| Sites and interfaces contain the content and presentation information, | Sites and interfaces contain the content and presentation information, | ||
| for the digital library. | for the digital library. | ||
| Line 26: | Line 27: | ||
| You can have multiple separate sites in a single Greenstone3 installation. | You can have multiple separate sites in a single Greenstone3 installation. | ||
| - | An **[[en: | + | An **[[en: |
| with a set of XSLT files used for translating XML output from the library into an appropriate form -- | with a set of XSLT files used for translating XML output from the library into an appropriate form -- | ||
| HTML generally. XSLT (and therefore every Greenstone interface) is built around things called **templates**, | HTML generally. XSLT (and therefore every Greenstone interface) is built around things called **templates**, | ||
| tell Greenstone how to display pages depending on the content for that page (e.g. a document' | tell Greenstone how to display pages depending on the content for that page (e.g. a document' | ||
| the names of the collections in your site, what browsing classifier have been defined, etc.). | the names of the collections in your site, what browsing classifier have been defined, etc.). | ||
| + | |||
| + | A **library** is a combination of one site with one interface - in technical terms, each library is a servlet. | ||
| + | |||
| + | You can create any number of interfaces in your Greenstone3 installation, | ||
| //If all of that sounds really confusing, don't worry! | //If all of that sounds really confusing, don't worry! | ||
| Unless you want to make extreme changes to an interface (or define your own), | Unless you want to make extreme changes to an interface (or define your own), | ||
| you can largely avoid XSLT. // | you can largely avoid XSLT. // | ||
| + | |||
| + | ==== Customizations ==== | ||
| While the interfaces (i.e. the files that dictate how each page looks) themselves are separate from the content, you can override any part of | While the interfaces (i.e. the files that dictate how each page looks) themselves are separate from the content, you can override any part of | ||
| Line 40: | Line 47: | ||
| make modifying or overriding an interface easier: | make modifying or overriding an interface easier: | ||
| * **[[en: | * **[[en: | ||
| - | * **[[en: | + | * **[[en: |
| * The GLI's **Format Features** section: The GLI provides an easy way to override parts of interface on a collection-level. Instead of having to create your own XSL files, you can type templates into the Format Features section of the Format panel. | * The GLI's **Format Features** section: The GLI provides an easy way to override parts of interface on a collection-level. Instead of having to create your own XSL files, you can type templates into the Format Features section of the Format panel. | ||
| - | You can create any number of interfaces in your Greenstone3 installation, | + | ==== Useful Links==== |
| - | present the same content in different ways. For example, you may want to provide two interfaces | + | |
| - | for your sites: one interface for visitors using computers and another interface for mobile users. In addition, | + | |
| - | multiple sites can make use of the same interface. | + | |
| - | Finally, every site-interface combination you create is considered a **library** | + | |
| - | (in technical terms, each library is actually | + | |
| - | </TAB> | + | |
| - | <!-- ################################################################################## | + | |
| - | ####################################################################################### | + | * [[en: |
| - | ####################################################################################### | + | * [[en: |
| - | <TAB> | + | * [[en: |
| - | ===== Collection level vs. library level ===== | + | |
| + | //**Now that you know the basics of using and customizing Greenstone, there are a few other features, functions, and resources you should be aware of. The final section of this Beginner' | ||
| + | |||
| + | =====Greenstone2===== | ||
| + | ==== Collection level vs. library level ==== | ||
| Customization can be done at either collection level or library level. Any changes made in the GLI | Customization can be done at either collection level or library level. Any changes made in the GLI | ||
| Line 62: | Line 70: | ||
| enacted on a collection or library basis. | enacted on a collection or library basis. | ||
| - | ===== Format Statements | + | ==== Format Statements ==== |
| The //content// of a Greenstone collection is handled by [[en: | The //content// of a Greenstone collection is handled by [[en: | ||
| which can be modified in the GLI (under '' | which can be modified in the GLI (under '' | ||
| Line 68: | Line 76: | ||
| to make changes. | to make changes. | ||
| - | ===== Macros | + | ==== Macros ==== |
| Greenstone2 is built on [[en: | Greenstone2 is built on [[en: | ||
| a block of text or code. | a block of text or code. | ||
| - | </ | ||
| - | </ | ||
| - | ===== Useful Links for Customisation ===== | + | ==== Maintaining security when customising GS2 macros |
| - | * [[en: | + | A large part of Greenstone 2' |
| - | **Greenstone3: | + | Every macro variable now has additional variants |
| - | * [[en: | + | |
| - | * [[en: | + | |
| - | * [[en: | + | |
| - | * [[en: | + | |
| - | * [[en:user:gs3_sample_interface_modifications|Sample interface modifications]] | + | |
| - | **Greenstone2:** | + | The additional variants of each variable are denoted by the suffixes: |
| + | < | ||
| + | The variable name suffixes of these additional variants' | ||
| + | // | ||
| + | For example//, the '' | ||
| + | < | ||
| + | _cgiargqAttrsafe_ | ||
| + | _cgiargqCsssafe_ | ||
| + | _cgiargqUrlsafe_ | ||
| + | _cgiargqJssafe_ | ||
| + | _cgiargqSqlsafe_</ | ||
| + | |||
| + | In reusing existing macros when you want to customise Greenstone 2 macro files, carefully select the appropriate variant of the variable you want depending on the context in the file where that variable needs to be used. | ||
| + | |||
| + | In some cases, this can be straightforward: | ||
| + | |||
| + | An example of a more complex case would be where Javascript produces HTML. If the variable is part of the HTML page produced by some JavaScript code, you need to use the '' | ||
| + | |||
| + | If you make your customisations consciously and sensibly, your modified macro files will continue to keep Greenstone 2's security intact. | ||
| + | |||
| + | For more information: | ||
| + | | ||
| + | | ||
| + | |||
| + | |||
| + | |||
| + | ====Useful Links ==== | ||
| + | |||
| + | | ||
| * [[en: | * [[en: | ||
| * [[en: | * [[en: | ||
| Line 94: | Line 123: | ||
| //**Now that you know the basics of using and customizing Greenstone, there are a few other features, functions, and resources you should be aware of. The final section of this Beginner' | //**Now that you know the basics of using and customizing Greenstone, there are a few other features, functions, and resources you should be aware of. The final section of this Beginner' | ||
| + | |||
en/beginner/customization.1466735963.txt.gz · Last modified: 2016/06/24 02:39 by kjdon
