diff --git a/.gitignore b/.gitignore index a0d6301..8284b57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.xpr secrets/license.xml mysql-connector-java*.jar +postgresql-*.jar diff --git a/Dockerfile-postgres b/Dockerfile-postgres new file mode 100644 index 0000000..978782c --- /dev/null +++ b/Dockerfile-postgres @@ -0,0 +1,3 @@ +FROM postgres + +COPY ./postgres/docker-entrypoint-initdb.d /docker-entrypoint-initdb.d diff --git a/postgres/docker-entrypoint-initdb.d/postgresql-2018_2.sql b/postgres/docker-entrypoint-initdb.d/postgresql-2018_2.sql new file mode 100644 index 0000000..95703fe --- /dev/null +++ b/postgres/docker-entrypoint-initdb.d/postgresql-2018_2.sql @@ -0,0 +1,109 @@ +CREATE TABLE orbeon_form_definition ( + created TIMESTAMP, + last_modified_time TIMESTAMP, + last_modified_by VARCHAR(255), + app VARCHAR(255), + form VARCHAR(255), + form_version INT NOT NULL, + form_metadata VARCHAR(4000), + deleted CHARACTER(1) NOT NULL, + xml XML +); + +CREATE TABLE orbeon_form_definition_attach ( + created TIMESTAMP, + last_modified_time TIMESTAMP, + last_modified_by VARCHAR(255), + app VARCHAR(255), + form VARCHAR(255), + form_version INT NOT NULL, + deleted CHARACTER(1) NOT NULL, + file_name VARCHAR(255), + file_content BYTEA +); + +CREATE TABLE orbeon_form_data ( + id SERIAL PRIMARY KEY NOT NULL, + created TIMESTAMP, + last_modified_time TIMESTAMP, + last_modified_by VARCHAR(255), + username VARCHAR(255), + groupname VARCHAR(255), + organization_id INT, + app VARCHAR(255), + form VARCHAR(255), + form_version INT NOT NULL, + document_id VARCHAR(255), + deleted CHARACTER(1) NOT NULL, + draft CHARACTER(1) NOT NULL, + xml XML +); + +CREATE TABLE orbeon_form_data_attach ( + created TIMESTAMP, + last_modified_time TIMESTAMP, + last_modified_by VARCHAR(255), + username VARCHAR(255), + groupname VARCHAR(255), + organization_id INT, + app VARCHAR(255), + form VARCHAR(255), + form_version INT NOT NULL, + document_id VARCHAR(255), + deleted CHARACTER(1) NOT NULL, + draft CHARACTER(1) NOT NULL, + file_name VARCHAR(255), + file_content BYTEA +); + +CREATE TABLE orbeon_form_data_lease ( + document_id VARCHAR(255) NOT NULL PRIMARY KEY, + username VARCHAR(255) NOT NULL , + groupname VARCHAR(255) , + expiration TIMESTAMP NOT NULL +); + +CREATE TABLE orbeon_organization ( + id INT NOT NULL, + depth INT NOT NULL, + pos INT NOT NULL, + name VARCHAR(255) NOT NULL +); + +CREATE TABLE orbeon_seq ( + val SERIAL PRIMARY KEY NOT NULL +); + +CREATE TABLE orbeon_i_current ( + data_id INT NOT NULL, + created TIMESTAMP NOT NULL, + last_modified_time TIMESTAMP NOT NULL, + last_modified_by VARCHAR(255) , + username VARCHAR(255) , + groupname VARCHAR(255) , + organization_id INT , + app VARCHAR(255) NOT NULL, + form VARCHAR(255) NOT NULL, + form_version INT NOT NULL, + document_id VARCHAR(255) NOT NULL, + draft CHARACTER(1) NOT NULL, + FOREIGN KEY (data_id) REFERENCES orbeon_form_data(id) +); + +CREATE TABLE orbeon_i_control_text ( + data_id INT NOT NULL, + pos INT NOT NULL, + control VARCHAR(255) NOT NULL, + val TEXT NOT NULL, + FOREIGN KEY (data_id) REFERENCES orbeon_form_data(id) +); + +CREATE INDEX orbeon_form_definition_i1 ON orbeon_form_definition (app, form); +CREATE INDEX orbeon_form_definition_att_i1 ON orbeon_form_definition_attach (app, form, file_name); +CREATE INDEX orbeon_from_data_i1 ON orbeon_form_data (app, form, document_id, draft); +CREATE INDEX orbeon_form_data_i2 ON orbeon_form_data (document_id); +CREATE INDEX orbeon_from_data_attach_i1 ON orbeon_form_data_attach (app, form, document_id, file_name, draft); +CREATE INDEX orbeon_from_data_attach_i2 ON orbeon_form_data_attach (document_id); +CREATE UNIQUE INDEX orbeon_i_current_i1 ON orbeon_i_current (data_id, draft); +CREATE INDEX orbeon_i_current_i2 ON orbeon_i_current (app, form, draft); +CREATE INDEX orbeon_i_control_text_i1 ON orbeon_i_control_text (data_id); diff --git a/postgres/orbeon/README.txt b/postgres/orbeon/README.txt new file mode 100644 index 0000000..4741a6c --- /dev/null +++ b/postgres/orbeon/README.txt @@ -0,0 +1,2 @@ +Files overriding the default Orbeon directories + diff --git a/postgres/orbeon/WEB-INF/resources/config/properties-local.xml b/postgres/orbeon/WEB-INF/resources/config/properties-local.xml new file mode 100644 index 0000000..42b754b --- /dev/null +++ b/postgres/orbeon/WEB-INF/resources/config/properties-local.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/postgres/tomcat/conf/Catalina/localhost/orbeon.xml b/postgres/tomcat/conf/Catalina/localhost/orbeon.xml new file mode 100644 index 0000000..45423bd --- /dev/null +++ b/postgres/tomcat/conf/Catalina/localhost/orbeon.xml @@ -0,0 +1,17 @@ + + + +