Wiki source code of Kotka Collection Management System
Last modified by Mikko Heikkinen on 2024/04/18 10:01
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | == About Kotka == | ||
2 | |||
3 | Kotka is a collection management system for Finnish natural history collections and botanical gardens. Kotka has been developed in-house in the Finnish Museum of Natural History Luomus since 2011 and the development continues as part of the services provided by the Finnish Biodiversity information Facility [[FinBIF>>url:https://laji.fi/en||shape="rect"]]. Developing and maintaining Kotka is part of Luomus' national responsibilities and thus Finnish natural history museums & collections can use Kotka free of charge. | ||
4 | |||
5 | === Aims === | ||
6 | |||
7 | Kotka **aims** to: | ||
8 | |||
9 | * Make collection work more efficient and streamlined | ||
10 | * Make collections and specimen data more accessible, and therefore increase their scientific and other use | ||
11 | * Increase the quality of collections and specimen data | ||
12 | |||
13 | === Tools === | ||
14 | |||
15 | Kotka includes browser-based **tools** to: | ||
16 | |||
17 | * Enter, edit and view data about | ||
18 | ** collections - metadata about biological collections | ||
19 | ** specimens - diverse data about museum specimens | ||
20 | ** datasets - used to tag and group specimens for different purposes | ||
21 | ** samples/preparations - data about DNA and tissue samples and vertebrate preparations | ||
22 | ** living collection accessions and events - botanical gardens | ||
23 | ** organizations - contact details for transaction management | ||
24 | ** transactions - loans, donations and exchanges of museum specimens | ||
25 | ** ABS - tools to manage compliance with the Nagoya Protocol and other Access and Benefit sharing regulations | ||
26 | * Import specimen data from Excel | ||
27 | * Validate data | ||
28 | * Search specimens, create statistics and reports | ||
29 | * Search samples and garden branches | ||
30 | * Export data to Excel | ||
31 | * Print & design different kind of labels: LabelDesigner | ||
32 | * Help with loan management | ||
33 | * Share data to [[FinBIF>>url:http://laji.fi/en||shape="rect"]]'s data warehouse | ||
34 | |||
35 | === Principles === | ||
36 | |||
37 | * Kotka stores primary data. The data recorded into Kotka is not updated anywhere else | ||
38 | * All users of Kotka see all the data, but can edit only their own department's data | ||
39 | * All data recorded to Kotka is stored permanently. Old versions of data can therefore be reverted to | ||
40 | * The data structure of Kotka is flexible and stresses rapid development and usefulness in different kind of situations | ||
41 | ** The format is loosely based on ABCD standard, but uses many proprietary fields. Mapping the fields to Darwin Core is relatively simple | ||
42 | ** Format is extended as needed. Only few fields are mandatory | ||
43 | ** Format is hierarchical, allowing multiple organisms, identifications, samples and type specimen information per one specimen (for example, a herbarium sheet with multiple plants, each with multiple identifications) | ||
44 | ** Most data is denormalized (for example, any kind of species name or collector name can be used) | ||
45 | ** Allows recording both specimens and observations | ||
46 | * Taxonomy management, user authentication and some validation services are outsourced to other FinBIF's services | ||
47 | * According to FinBIF's data policy, the data recorded to Kotka are available as open data, with few exceptions (e.g. sensitive species) | ||
48 | * All data identified by HTTP URI's (see examples below) | ||
49 | * Accessible to all Finnish natural history museums | ||
50 | |||
51 | ==== Development principles ==== | ||
52 | |||
53 | * Development using agile methods. New features are published when needed | ||
54 | * Test-driven development and continuous integration to staging server ([[kotkatest.luomus.fi>>url:http://kotkatest.luomus.fi/||shape="rect"]]) | ||
55 | * Modern browser based user interface ([[kotka.luomus.fi>>url:https://kotka.luomus.fi/||shape="rect"]]) | ||
56 | * Flexible non-relational database with mostly denormalized data | ||
57 | * Data querying, sharing, publishing through search server (Elastic) containing secondary copy of the data in a format optimized for querying | ||
58 | * Utilization of pre-existing tools; FinBIF's information systems, ontologies, Excel tools, open source front- & back-end libraries etc. | ||
59 | * Simplicity and flexibility | ||
60 | * Code published as open source with MIT license at [[https:~~/~~/bitbucket.org/luomus/kotka/src/master/>>url:https://bitbucket.org/luomus/kotka/src/master/||shape="rect"]] | ||
61 | |||
62 | === Technology === | ||
63 | |||
64 | * Backend with PHP and Zend Framework | ||
65 | * Frontend with Bootstrap, jQuery and multiple other open source libraries | ||
66 | * (% style="color:#ff0000" %)Primary data currently (12/2015) in an ontology database based on Oracle relational database. Migration to more efficient Oracle JSON document database is being planned. | ||
67 | * Search functionality based on ElasticSearch | ||
68 | * Data published through FinBIF's data warehouse (Vertica) | ||
69 | * Code on Bitbucket: [[https:~~/~~/bitbucket.org/luomus/kotka>>url:https://bitbucket.org/luomus/kotka||shape="rect"]] | ||
70 | * Based mostly on RESTful API's | ||
71 | |||
72 | === Examples of data === | ||
73 | |||
74 | * Collections of Luomus: [[http:~~/~~/tun.fi/HR.128>>url:http://tun.fi/HR.128||shape="rect"]] | ||
75 | * Insect specimen: [[http:~~/~~/id.luomus.fi/GL.3951>>url:http://id.luomus.fi/GL.3951||shape="rect"]] | ||
76 | * Lichen specimen: [[http:~~/~~/id.luomus.fi/HA.H9506963>>url:http://id.luomus.fi/HA.H9506963||shape="rect"]] | ||
77 | * Type specimens at Luomus: [[https:~~/~~/kotka.luomus.fi/types/by-collection?uri=http:~~/~~/tun.fi/HR.128>>url:https://kotka.luomus.fi/types/by-collection?uri=http://tun.fi/HR.128||shape="rect"]] | ||
78 | |||
79 | == Users == | ||
80 | |||
81 | Kotka is being used at the following Finnish institutions (09/2021): | ||
82 | |||
83 | * Finnish Museum of Natural History Luomus, University of Helsinki | ||
84 | * Zoological and Botanical Museum, University of Oulu | ||
85 | * Zoological and Botanical Museum and Botanic garden, University of Turku | ||
86 | * Kuopio Natural History Museum | ||
87 | * Natural History Section, Jyväskylä University Museum, University of Jyväskylä (+ Botanic garden) | ||
88 | * Kieppi, Kokkola Museum of Natural History | ||
89 | * Natural Science Collections, (% style="color:#515151" %)Ostrobothnia museum | ||
90 | * Regional Museum of Lapland | ||
91 | * Satakunta Museum, City of Pori | ||
92 | * Forssa Museum of Natural History | ||
93 | * HAMBI culture collections, University of Helsinki | ||
94 | * Tampere Natural History Museum | ||
95 | * Porvoo museum, natural history collections | ||
96 | * Iisalmi Natural history museum | ||
97 | |||
98 | == Manual == | ||
99 | |||
100 | * **[[Manual of Kotka>>doc:digit.Kotka Collection Management System.Manual for Kotka.WebHome]]** | ||
101 | |||
102 | == Contacts and communication == | ||
103 | |||
104 | Kotka is being built at Finnish Museum of Natural History [[Luomus>>url:http://www.luomus.fi/en||shape="rect"]] | ||
105 | |||
106 | Product Owner: Anniina Kuusijärvi, kotka(at)luomus.fi | ||
107 | |||
108 | Kotka has a **Yammer group and also a mailing list**, where you can join to get the latest information about Kotka developments and maintenance breaks etc. Contact kotka(at)luomus.fi to request to join the mailing list or the Yammer group. | ||
109 | |||
110 | == Addresses == | ||
111 | |||
112 | * **Kotka: [[https:~~/~~/kotka.luomus.fi>>url:https://kotka.luomus.fi/||shape="rect"]]** | ||
113 | * **Kotkan testing version: [[https:~~/~~/kotkatest.luomus.fi>>url:https://kotkatest.luomus.fi/||shape="rect"]]** - This can be used to practise using Kotka and imaginary data can be added there. Ask for the user name and password to access the testing site from the admins. | ||
114 | |||
115 |