Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add openseadragon #3

Merged
merged 3 commits into from
Aug 30, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions inventory/vagrant/group_vars/webserver/general.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
---

webserver_app: yes
openseadragon_iiiv_set_var: yes
openseadragon_iiiv_server: http://localhost:8080/cantaloupe/iiif/2
11 changes: 11 additions & 0 deletions roles/internal/openseadragon/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---

openseadragon_composer_item: "islandora/openseadragon:dev-8.x-1.x"
openseadragon_composer_root: "/var/www/html/drupal"
openseadragon_sites:
- default
openseadragon_version: 2.2.1
openseadragon_temp_folder: /tmp

openseadragon_iiiv_set_var: false
openseadragon_iiiv_server:
42 changes: 42 additions & 0 deletions roles/internal/openseadragon/tasks/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---

- name: Check if modules are enabled
shell: drush pm-info openseadragon --format=json
args:
chdir: "{{ openseadragon_composer_root }}/web"
register: openseadragon_enable_module_status
changed_when: False
check_mode: no

- name: Enable modules
shell: drush -y -u 1 en openseadragon
args:
chdir: "{{ openseadragon_composer_root }}/web"
when: (openseadragon_enable_module_status.stdout|from_json).openseadragon.status != 'enabled'

- name: Copy openseadragon library definition to correct location.
copy:
remote_src: yes
src: "{{ openseadragon_composer_root }}/web/modules/contrib/openseadragon/openseadragon.json"
dest: "{{ openseadragon_composer_root }}/web/sites/{{ item }}/files/library-definitions"
with_items: "{{ openseadragon_sites }}"

- name: Check IIIF URL
command:
drush cget openseadragon.settings iiif_server --format=json
args:
chdir: "{{ openseadragon_composer_root }}/web"
when: openseadragon_iiiv_set_var
changed_when: false
failed_when: false
register: openseadragon_iiiv_status

- name: Set IIIF URL
command:
drush cset openseadragon.settings iiif_server {{ openseadragon_iiiv_server }} --yes
args:
chdir: "{{ openseadragon_composer_root }}/web"
when: >
not openseadragon_iiiv_status.skipped|default(false) and
(openseadragon_iiiv_status.rc == 1 or
(openseadragon_iiiv_status.stdout|from_json)['openseadragon.settings:iiif_server'] != openseadragon_iiiv_server)
30 changes: 30 additions & 0 deletions roles/internal/openseadragon/tasks/install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---

- name: Install Openseadragon with composer
composer:
command: require
arguments: "{{ openseadragon_composer_item }}"
working_dir: "{{ openseadragon_composer_root }}"
become: no

- name: Check if Seadragon Library Exists
stat:
path: "{{ openseadragon_composer_root }}/web/sites/all/assets/vendor/openseadragon"
register: openseadragon_library_dir

- name: Create folder for library
file:
state: directory
path: "{{ openseadragon_composer_root }}/web/sites/all/assets/vendor"
when: not openseadragon_library_dir.stat.exists

- name: Unarchive seadragon library
unarchive:
remote_src: yes
src: https://github.com/openseadragon/openseadragon/releases/download/v{{ openseadragon_version }}/openseadragon-bin-{{ openseadragon_version }}.tar.gz
dest: "{{ openseadragon_temp_folder }}"
when: not openseadragon_library_dir.stat.exists

- name: Move library into place
command: mv {{ openseadragon_temp_folder }}/openseadragon-bin-{{ openseadragon_version }} {{ openseadragon_composer_root }}/web/sites/all/assets/vendor/openseadragon
when: not openseadragon_library_dir.stat.exists
11 changes: 11 additions & 0 deletions roles/internal/openseadragon/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---

- include: install.yml
tags:
- openseadragon
- openseadragon-install

- include: config.yml
tags:
- openseadragon
- openseadragon-config
1 change: 1 addition & 0 deletions webserver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@
- drush
- drupal-console
- drupal
- openseadragon
- webserver-app