Mercurial > hg > orthanc-databases
annotate README @ 577:991b9b285e1a attach-custom-data tip
fix custom-data handling
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Wed, 02 Oct 2024 09:40:20 +0200 |
parents | f18e46d7dbf8 |
children |
rev | line source |
---|---|
0 | 1 Database plugins for Orthanc |
2 ============================ | |
3 | |
4 | |
21 | 5 General information |
0 | 6 ------------------- |
7 | |
8 This repository contains the source code of various database plugins | |
9 for Orthanc, the lightweight, RESTful DICOM server. These plugins | |
10 enable Orthanc to store its index and its storage area within | |
11 well-known relational databases systems (RDBMS). | |
12 | |
13 | |
14 Content | |
15 ------- | |
16 | |
17 * ./Framework/ : code shared by all the plugins | |
21 | 18 * ./MySQL/ : index and storage plugins for MySQL and MariaDB |
0 | 19 * ./PostgreSQL/ : index and storage plugins for PostgreSQL |
337 | 20 * ./Odbc/ : index and storage plugins for Odbc |
0 | 21 * ./SQLite/ : index plugin for SQLite (for experimentation) |
22 | |
23 If you downloaded this project as a versioned release package | |
24 (.tar.gz) focused on one given RDBMS, you will only find the folders | |
25 that are related to this specific RDBMS. The full source code is | |
26 available at: | |
426
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
27 https://orthanc.uclouvain.be/hg/orthanc-databases/ |
0 | 28 |
29 | |
21 | 30 Compilation and usage |
31 --------------------- | |
32 | |
33 The compilation and usage of the plugins is available in the Orthanc | |
34 Book: | |
35 | |
426
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
36 * MySQL/MariaDB : https://orthanc.uclouvain.be/book/plugins/mysql.html |
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
37 * PostgreSQL : https://orthanc.uclouvain.be/book/plugins/postgresql.html |
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
38 * ODBC : https://orthanc.uclouvain.be/book/plugins/odbc.html |
21 | 39 |
40 | |
0 | 41 Older releases of PostgreSQL |
42 ---------------------------- | |
43 | |
44 This repository supersedes the older "orthanc-postgresql" repository | |
45 that was only focused on PostgreSQL. | |
46 | |
21 | 47 Releases <= 2.1 of the PostgreSQL plugins can still be found in the |
48 following legacy repository: | |
426
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
49 https://orthanc.uclouvain.be/hg/orthanc-postgresql/ |
0 | 50 |
51 | |
423 | 52 Contributing |
53 ------------ | |
54 | |
55 Instructions for contributing to the Orthanc project are included in | |
56 the Orthanc Book: | |
426
d700c8f9fc24
migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
423
diff
changeset
|
57 https://orthanc.uclouvain.be/book/developers/repositories.html |
423 | 58 |
59 | |
366
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
60 Development |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
61 ----------- |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
62 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
63 PostgreSQL |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
64 ========== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
65 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
66 To quickly start a test PG server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
67 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
68 docker run -p 5432:5432 --rm --env POSTGRES_HOST_AUTH_METHOD=trust postgres:13.4 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
69 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
70 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
71 "PostgreSQL": { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
72 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
73 "EnableStorage": false, // DICOM files are stored in the Orthanc container in /var/lib/orthanc/db/ |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
74 "Host": "localhost", // the name of the PostgreSQL container |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
75 "Database": "postgres", // default database name in PostgreSQL container (no need to create it) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
76 "Username": "postgres", // default user name in PostgreSQL container (no need to create it) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
77 "Password": "postgres" |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
78 }, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
79 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
80 MySQL |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
81 ===== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
82 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
83 To quickly start a test MySQL server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
84 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
85 docker run -p 3306:3306 --rm --env MYSQL_PASSWORD=orthanc --env MYSQL_USER=orthanc --env MYSQL_DATABASE=orthanc --env MYSQL_ROOT_PASSWORD=pwd-root mysql:8.0 mysqld --default-authentication-plugin=mysql_native_password --log-bin-trust-function-creators=1 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
86 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
87 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
88 "MySQL": { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
89 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
90 "EnableStorage": false, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
91 "Host": "localhost", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
92 "Database": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
93 "Username": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
94 "Password": "orthanc", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
95 "UnixSocket": "" |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
96 }, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
97 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
98 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
99 ODBC (SQL Server) |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
100 ================= |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
101 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
102 To quickly start a test MySQL server: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
103 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
104 docker run -e "ACCEPT_EULA=Y" --rm --env "SA_PASSWORD=yourStrong-Password" --entrypoint=bash -it -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
105 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
106 Then: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
107 (sleep 15s && /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P yourStrong-Password -Q 'CREATE DATABASE orthanctest') & /opt/mssql/bin/sqlservr |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
108 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
109 And use this Orthanc configuration: |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
110 "Odbc" : { |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
111 "IndexConnectionString": "Driver={ODBC Driver 17 for SQL Server};Server=tcp:localhost,1433;Database=orthanctest;Uid=sa;Pwd=yourStrong-Password;Encrypt=yes;TrustServerCertificate=yes;Connection Timeout=30;", |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
112 "EnableIndex": true, |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
113 "EnableStorage": false |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
114 } |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
115 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
116 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
117 SQLite |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
118 ====== |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
119 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
120 To quickly test the SQLite plugin, simply run orthanc and load the plugin (no configuration required). |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
121 |
cd9521e04249
DatabaseBackendAdapterV4: added support for customData + revision when not already done
Alain Mazy <am@osimis.io>
parents:
337
diff
changeset
|
122 |
0 | 123 Licensing |
124 --------- | |
125 | |
126 The database plugins for Orthanc are licensed under the AGPL license. | |
127 | |
128 We also kindly ask scientific works and clinical studies that make | |
129 use of Orthanc to cite Orthanc in their associated publications. | |
130 Similarly, we ask open-source and closed-source products that make | |
131 use of Orthanc to warn us about this use. You can cite our work | |
132 using the following BibTeX entry: | |
133 | |
134 @Article{Jodogne2018, | |
135 author="Jodogne, S{\'e}bastien", | |
136 title="The {O}rthanc Ecosystem for Medical Imaging", | |
137 journal="Journal of Digital Imaging", | |
138 year="2018", | |
139 month="Jun", | |
140 day="01", | |
141 volume="31", | |
142 number="3", | |
143 pages="341--352", | |
144 issn="1618-727X", | |
145 doi="10.1007/s10278-018-0082-y", | |
146 url="https://doi.org/10.1007/s10278-018-0082-y" | |
147 } |