# Signature # Signature Overview The building blocks of Signature is based on the idea of a Library. Just like any library there exist shelves with books, each book can contain chapters and pages. You start off by creating the shelve that is the highest level of categorisation in Signature. Once you have created or identified the appropriate shelve you can start creating your book. A book which acts as the next level of categorisation. Ideally you'd have separate books for separate topics. Within a book you can directly create pages or you can first create chapters. Chapters provide an additional level of page grouping to keep pages organised but are optional. All the information you write is held within pages. Although books and chapters do not hold information they can be given a short description to assist with searching and visibility. Bookshelves can contain multiple books and a single book could be placed on multiple Bookshelves. ### Default Colour Coding Bookshelves, books, chapters and pages have set colour coding in Signature to ensure they are easily identifiable. The below examples show the default colour scheme. [](https://signature.signifyhr.co.za/uploads/images/gallery/2020-06/BAh0IHbEs06JWvC3-image-1591296853549.png) ### Library Building Blocks
**Building Block** | **Explanation** |
Shelve | The highest level of categorisation and can store multiple books |
Book | A categorisation of content per topic |
Chapter | A grouping of information with sub topic and trend |
Page | The lowest level of content grouping and can exist in a chapter or directly in a book |
Draft Pages | A page yet to be finally saved and is continuously save as a draft whilst editing of the page |
Search Type | Syntax | Examples | Description |
---|---|---|---|
Normal Searches | <term\_a> <term\_b> | london meeting | Normal word searches across the name and description or body of your content. When mulitple terms are searched only one term has to match your content but content containing both terms will be higher in the results. |
Exact Searches | "<term>" | "london meeting" | Exact matches will require that the whole string within quotes exists in your content in exactly the same format. Use this if you're looking for an exact phrase containing or if you need to search for a term with spaces in. |
Tag Searches | \[<name>\] \[<operator><value>\] \[<name><operator><value>\] | \[location\] \[=london\] \[location=london\] \[attendees>5\] | Tag searches allow you to find pages which have specific tags applied. You can search by tag name, by tag value or by both name and value. When searching by tag value an operator must be used to define the match type. You can use `=`, `!=`, `<`, `>`,`<=`, `>=` or `like` as operators. When using the `like` operator you can use `%` symbols to represent wildcards in your search. |
Filter Searches | {<filter\_name>} {<filter\_name>:<filter\_value>} | See below | Filters perform additional advanced functionality to make your searches even more powerfull. Some filters take values but some don't need to. See below for a full list of filters available. |
Syntax | Examples | Description |
---|---|---|
Date Filters | ||
{updated\_after:<date>} | {updated\_after:2016-12-30} | Adds the condition that the content must have been last updated after the given date. The date should be in the format YYYY-MM-DD |
{updated\_before:<date>} | {updated\_before:2016-12-30} | Adds the condition that the content must have been last updated before the given date. The date should be in the format YYYY-MM-DD |
{created\_after:<date>} | {created\_after:2016-12-30} | Adds the condition that the content must have been created after the given date. The date should be in the format YYYY-MM-DD |
{created\_before:<date>} | {created\_before:2016-12-30} | Adds the condition that the content must have been created before the given date. The date should be in the format YYYY-MM-DD |
User Filters | ||
{updated\_by:<user\_id|me>} | {updated\_by:10} {updated\_by:me} | Adds the condition that the content must have been last updated by the user of the given numeric ID. If 'me' is used in place of a numeric ID then it will find content that was last updated by the current logged-in user. |
{created\_by:<user\_id|me>} | {created\_by:10} {created\_by:me} | Adds the condition that the content must have been created by the user of the given numeric ID. If 'me' is used in place of a numeric ID then it will find content that was created by the current logged-in user. |
Content Filters | ||
{in\_name:<search>} | {in\_name:London Meetings} {in\_name:Meetings} | Will require the content to have the given ` |
{in\_body:<search>} | {in\_body:London Meetings} {in\_body:Meetings} | Will require the content to have the given ` |
Option Filters | ||
{is\_restricted} | {is\_restricted} | Will require the content to have content-level permissions active. Does not return items with only inherited asset permissions. |
{viewed\_by\_me} | {viewed\_by\_me} | Will require the content to have been viewed by the current user at least once. |
{not\_viewed\_by\_me} | {not\_viewed\_by\_me} | Will not return any content that has been viewed by the current user. |
{type:<content\_types>} | {type:page|chapter|book} {type:page|chapter} {type:book} | Restricts the types of content that will be in the search results. Use of this will depend on the type of search. For example, in a chapter search only pages are shown so this has no effect. |
Shortcut (Windows & Linux/Mac) | Description |
---|---|
`Ctrl+S` / `Cmd+S` | Save Draft |
`Ctrl+Enter` / `Cmd+Enter` | Save Page & Continue |
`Ctrl+B` / `Cmd+B` | Bold |
`Ctrl+I` / `Cmd+I` | Italic |
`Ctrl+U` / `Cmd+U` | Underline |
`Ctrl+1` / `Cmd+1` `Ctrl+2` / `Cmd+2` `Ctrl+3` / `Cmd+3` `Ctrl+4` / `Cmd+4` | Header Large Header Medium Header Small Header Tiny |
`Ctrl+5` / `Cmd+5` `Ctrl+D` / `Cmd+D` | Normal Paragraph |
`Ctrl+6` / `Cmd+6` `Ctrl+Q` / `Cmd+Q` | Blockquote |
`Ctrl+7` / `Cmd+7` `Ctrl+E` / `Cmd+E` | Code Block |
`Ctrl+8` / `Cmd+8` `Ctrl+Shift+E` / `Cmd+Shift+E` | Inline Code |
`Ctrl+9` / `Cmd+9` | Callout (Keep pressing to toggle through styles) |
Version | Date | Location | Upgraded by | Description |
---|---|---|---|---|
21.12.3 | 2022-06-01 | AWS \[Version 9\] | Hendré / Christiaan Nel | This version was set up in a container on Ubuntu 18.04 |
24.02.3 | 2024-04-26 | Azure South-Africa | Hendré | Migrated from container to stand-alone on Ubuntu 22.04 |
**Before updating you should back up the database and any file uploads to prevent potential data loss**. Backup and restore documentation can be found [here](https://www.bookstackapp.com/docs/admin/backup-restore).
Updating is currently done via Git version control. To update BookStack you can run the three following commands in the root directory of the application: ```php cd /var/www/bookstack/ sudo git pull origin release sudo composer install --no-dev sudo php artisan migrate ``` - Line 2 will update the repository that was created in the installation. - Line 3 will install the PHP dependencies using `composer`. - Line 4 will then update the database with any required changes. In addition, Clearing the system caches is also recommended: ```bash sudo php artisan cache:clear sudo php artisan config:clear sudo php artisan view:clear0 ``` Check the below [Version Specific Instructions](https://www.bookstackapp.com/docs/admin/updates/#version-specific-instructions) list for the version you are updating to for any additional instructions. When running update commands, your command line user will need permission to handle the required files and folders in the BookStack installation folder. You can find more details about [required filesystem permissions here](https://www.bookstackapp.com/docs/admin/filesystem-permissions/).