tainacan/docs/key-concepts.md

61 lines
3.2 KiB
Markdown
Raw Normal View History

2017-11-26 21:17:51 +00:00
# Understanding Tainacan
The typical workflow when you create a Digital Repository with Tainacan is:
* Create a collection
2018-03-02 00:18:36 +00:00
* Configure which fields the item in this collections will have
2017-11-26 21:17:51 +00:00
* Configure the collection
* Configure which filters will be used when browsing the collection
2018-03-02 00:18:36 +00:00
* Upload items to the collection or import them from an external source
2017-11-26 21:17:51 +00:00
## Collections
2018-03-02 00:18:36 +00:00
A collection is a group of items, that share the same set of fields. Every item uploaded to your digital repository will be part of a collection - and only one collection. For instance, you could have a "paintings" collections, with fields such as Title, Author, Country, Tecnique, etc and another collection for "films", with Title, Director, Country and Genre.
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
For each collection you can set a different set of fields and they can share common categories, which means you could browse for items in a specific Country, and get both paintings and films in your results.
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
Collections can also have child collections, which will inherit parent's collection fields and can add their own set of additional information.
2017-11-26 21:17:51 +00:00
## Items
2018-03-02 00:18:36 +00:00
Items are the actual content of yout repository. The painting, the film, the book and so on. They belong to a collection and have all the fields configured in the collection it belongs to.
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
In WordPress language, each item is a post and its post type represents its collection.
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
## Fields
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
Every collection have a set of fields. They are the description of the items of this collection.
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
Each field has a set of settings. Is it required? Is it supposed to be unique (an ID number for example)? Does it accept multiple values? What is it Field Type? (TODO: see the complete list of field attributes).
You may have repository-level fields, that will be inherited by all collections of your repository. In the same way, collections inherit fields from their parent collection.
2017-11-26 21:17:51 +00:00
(Note: you can import/export presets of field)
2017-11-26 21:17:51 +00:00
## Field Types
2018-03-02 00:18:36 +00:00
Field types are the objects that represent the types of field that can be used. Examples of Field Types are "Text", "Long text", "Date", "Relationship with another item", etc (TODO: see full list).
2017-11-26 21:17:51 +00:00
Each field type object have its own settings and web component that will be used to render the interface.
Field Types can be created via plugins and extend the default set of types shipped with Tainacan.
## Filters
2018-03-02 00:18:36 +00:00
For every collection, you may choose which fields will be used to filter the results in a faceted search interface. These are the filters.
2017-11-26 21:17:51 +00:00
Filters give the ability to the user to filter items in a collection using a Filter Type.
## Filter Types
2018-03-02 00:18:36 +00:00
Filter types are the different types of interfaces to filter items in a collections based on one specific Field. Examples of Filter Types are "input text", "datepicker", "date range picker", "number range slider", "list of checkboxes", etc.
2017-11-26 21:17:51 +00:00
Each Filter Type object have its own settings and web component that will be used to render the interface.
Filter Types can be created via plugins and extend the default set of types shipped with Tainacan.
2018-03-02 00:18:36 +00:00
## Categories
2017-11-26 21:17:51 +00:00
2018-03-02 00:18:36 +00:00
Categories (or Taxonomies) can be created and used to classify items. Typical Taxonomies are Genre, Country, etc.
2017-11-26 21:17:51 +00:00
They are the same WordPress Taxonomies you already know, and they can be shared among many collections.