Alan Stanley
12 years ago
25 changed files with 717 additions and 214 deletions
@ -0,0 +1,16 @@ |
|||||||
|
language: php |
||||||
|
php: |
||||||
|
- 5.3.3 |
||||||
|
- 5.4 |
||||||
|
branches: |
||||||
|
only: |
||||||
|
- 7.x |
||||||
|
env: |
||||||
|
- FEDORA_VERSION="3.5" |
||||||
|
before_install: |
||||||
|
- $TRAVIS_BUILD_DIR/tests/travis_setup.sh |
||||||
|
- cd $HOME/drupal-* |
||||||
|
script: |
||||||
|
- ant -buildfile sites/all/modules/islandora/build.xml lint |
||||||
|
- drush dcs sites/all/modules/islandora |
||||||
|
- drush test-run --uri=http://localhost:8081 Islandora |
@ -1,16 +1,10 @@ |
|||||||
CONTENTS OF THIS FILE |
BUILD STATUS |
||||||
--------------------- |
------------ |
||||||
|
Current build status: |
||||||
* summary |
[![Build Status](https://travis-ci.org/Islandora/islandora.png?branch=7.x)](https://travis-ci.org/Islandora/islandora) |
||||||
* requirements |
|
||||||
* installation |
|
||||||
* configuration |
|
||||||
* customization |
|
||||||
* troubleshooting |
|
||||||
* faq |
|
||||||
* contact |
|
||||||
* sponsors |
|
||||||
|
|
||||||
|
CI Server: |
||||||
|
http://jenkins.discoverygarden.ca |
||||||
|
|
||||||
SUMMARY |
SUMMARY |
||||||
------- |
------- |
@ -0,0 +1,39 @@ |
|||||||
|
/** |
||||||
|
* @file |
||||||
|
* Styles for rendering grids/lists of objects. |
||||||
|
*/ |
||||||
|
.islandora-objects-display-switch { |
||||||
|
float: right; |
||||||
|
} |
||||||
|
.islandora-objects-grid-item { |
||||||
|
display: inline-block; |
||||||
|
width: 20%; |
||||||
|
min-width: 100px; |
||||||
|
min-height: 180px; |
||||||
|
display: -moz-inline-stack; |
||||||
|
display: inline-block; |
||||||
|
vertical-align: top; |
||||||
|
margin: 1.5em 1.84%; |
||||||
|
zoom: 1; |
||||||
|
*display: inline; |
||||||
|
_height: 180px; |
||||||
|
} |
||||||
|
.islandora-objects-list-item { |
||||||
|
padding-bottom: 1.5em; |
||||||
|
border-bottom: 1px solid #ddd; |
||||||
|
} |
||||||
|
.islandora-objects-list-item .islandora-object-thumb { |
||||||
|
clear: left; |
||||||
|
float: left; |
||||||
|
padding: 3px 0 0; |
||||||
|
text-align: center; |
||||||
|
width: 100px; |
||||||
|
} |
||||||
|
.islandora-objects-list-item .islandora-object-caption, .islandora-objects-list-item .islandora-object-description { |
||||||
|
margin: 0 0 0 130px; |
||||||
|
padding-top: 2px; |
||||||
|
padding-bottom: 2px; |
||||||
|
} |
||||||
|
.islandora-object-thumb img { |
||||||
|
width: 100%; |
||||||
|
} |
@ -1,49 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
/** |
|
||||||
* @file |
|
||||||
* Ingest Menu callback hooks. |
|
||||||
*/ |
|
||||||
|
|
||||||
/** |
|
||||||
* Menu callback, Renders the multi-page ingest form if possible. |
|
||||||
* |
|
||||||
* @return string |
|
||||||
* HTML representing the mult-page ingest form. |
|
||||||
*/ |
|
||||||
function islandora_ingest_callback() { |
|
||||||
module_load_include('inc', 'islandora', 'includes/ingest.form'); |
|
||||||
try { |
|
||||||
$configuration = islandora_ingest_get_configuration(); |
|
||||||
return drupal_get_form('islandora_ingest_form', $configuration); |
|
||||||
} |
|
||||||
catch(Exception $e) { |
|
||||||
$redirect = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '<front>'; |
|
||||||
// Redirect back to referer or top level collection. |
|
||||||
drupal_goto($redirect); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Fetches the ingest configuration from the $_GET parameters. |
|
||||||
* |
|
||||||
* Generic parameters as accepted by all ingest processes, other modules may |
|
||||||
* add to this list. |
|
||||||
* id -> The pid of the object to create. optional. |
|
||||||
* models -> Comma delimited list of all the content models the created object |
|
||||||
* should have. |
|
||||||
* collections -> Comma delimited list of all the collections the created |
|
||||||
* object should belong to. |
|
||||||
* |
|
||||||
* @return array |
|
||||||
* The configuration options used to build the multi-paged ingest process. |
|
||||||
*/ |
|
||||||
function islandora_ingest_get_configuration() { |
|
||||||
$configuration = $_GET; |
|
||||||
unset($configuration['q']); |
|
||||||
$convert_to_array_keys = array_intersect(array('models', 'collections'), array_keys($configuration)); |
|
||||||
foreach ($convert_to_array_keys as $key) { |
|
||||||
$configuration[$key] = explode(',', $configuration[$key]); |
|
||||||
} |
|
||||||
return $configuration; |
|
||||||
} |
|
@ -1,3 +1,4 @@ |
|||||||
You can define your own configurations specific to your enviroment by copying |
You can define your own configurations specific to your enviroment by copying |
||||||
default.test_config.ini to test_config.ini, making your changes in the copied |
default.test_config.ini to test_config.ini, making your changes in the copied |
||||||
file. |
file. These test need write access to the system's $FEDORA_HOME/server/config |
||||||
|
directory as well as the filter-drupal.xml file. |
@ -0,0 +1,7 @@ |
|||||||
|
name = Islandora Hook testing |
||||||
|
description = Tests Hooks. Do not enable. |
||||||
|
core = 7.x |
||||||
|
package = Testing |
||||||
|
hidden = TRUE |
||||||
|
dependencies[] = islandora |
||||||
|
files[] = islandora_hooks_test.module |
@ -0,0 +1,152 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Implements hooks that get tested by islandora_hooks.test |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_alter(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_alter(AbstractFedoraObject $object, array &$context) { |
||||||
|
switch ($context['action']) { |
||||||
|
case 'ingest': |
||||||
|
if ($object->id == 'test:testIngestedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE; |
||||||
|
if ($object->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'modify': |
||||||
|
if ($object->id == 'test:testModifiedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
elseif ($object->id == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['label']) && $context['params']['label'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif (isset($context['params']['label']) && $context['params']['label'] == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'purge': |
||||||
|
if ($object->id == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
if ($object->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif ($object->label == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_alter(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_alter(AbstractFedoraObject $object, AbstractFedoraDatastream $datastream, array &$context) { |
||||||
|
switch ($context['action']) { |
||||||
|
case 'ingest': |
||||||
|
if ($object->id == 'test:testIngestedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE; |
||||||
|
if ($datastream->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'modify': |
||||||
|
if ($object->id == 'test:testModifiedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
elseif ($object->id == 'test:testPurgedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
if (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif (isset($context['params']['dsLabel']) && $context['params']['dsLabel'] == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
|
||||||
|
case 'purge': |
||||||
|
if ($object->id == 'test:testPurgedDatastreamHook') { |
||||||
|
$_SESSION['islandora_hooks']['alter'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
if ($datastream->label == 'block') { |
||||||
|
$context['block'] = TRUE; |
||||||
|
} |
||||||
|
elseif ($datastream->label == 'delete') { |
||||||
|
$context['delete'] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_ingested(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_ingested(FedoraObject $object) { |
||||||
|
if ($object->id == 'test:testIngestedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_INGESTED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_modified(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_modified(FedoraObject $object) { |
||||||
|
if ($object->id == 'test:testModifiedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_MODIFIED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_object_purged(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_object_purged($pid) { |
||||||
|
if ($pid == 'test:testPurgedObjectHook') { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_OBJECT_PURGED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_ingested(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_ingested(FedoraObject $object, FedoraDatastream $datastream) { |
||||||
|
if ($object->id == 'test:testIngestedDatastreamHook' && $datastream->id == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_INGESTED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_modified(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_modified(FedoraObject $object, FedoraDatastream $datastream) { |
||||||
|
if ($object->id == 'test:testModifiedDatastreamHook' && $datastream->id == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_MODIFIED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Implements hook_islandora_datastream_purged(). |
||||||
|
*/ |
||||||
|
function islandora_hooks_test_islandora_datastream_purged(FedoraObject $object, $dsid) { |
||||||
|
if ($object->id == 'test:testPurgedDatastreamHook' && $dsid == "TEST") { |
||||||
|
$_SESSION['islandora_hooks']['hook'][ISLANDORA_DATASTREAM_PURGED_HOOK] = TRUE; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
[fedora] |
||||||
|
fedora_url = "http://localhost:8080/fedora" |
||||||
|
use_drupal_filter = TRUE |
||||||
|
drupal_filter_file = "/home/travis/islandora_tomcat/fedora/server/config/filter-drupal.xml" |
||||||
|
admin_user = "fedoraAdmin" |
||||||
|
admin_pass = "fedoraAdmin" |
@ -0,0 +1,31 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
mysql -u root -e 'create database drupal;' |
||||||
|
mysql -u root -e "create database fedora;" |
||||||
|
mysql -u root -e "GRANT ALL PRIVILEGES ON fedora.* To 'fedora'@'localhost' IDENTIFIED BY 'fedora';" |
||||||
|
mysql -u root -e "GRANT ALL PRIVILEGES ON drupal.* To 'drupal'@'localhost' IDENTIFIED BY 'drupal';" |
||||||
|
cd $HOME |
||||||
|
git clone git://github.com/Islandora/tuque.git |
||||||
|
git clone -b $FEDORA_VERSION git://github.com/Islandora/islandora_tomcat.git |
||||||
|
cd islandora_tomcat |
||||||
|
export CATALINA_HOME='.' |
||||||
|
./bin/startup.sh |
||||||
|
cd $HOME |
||||||
|
pyrus channel-discover pear.drush.org |
||||||
|
pyrus install drush/drush |
||||||
|
pyrus install pear/PHP_CodeSniffer |
||||||
|
phpenv rehash |
||||||
|
drush dl --yes drupal |
||||||
|
cd drupal-* |
||||||
|
drush si standard --db-url=mysql://drupal:drupal@localhost/drupal --yes |
||||||
|
drush runserver --php-cgi=$HOME/.phpenv/shims/php-cgi localhost:8081 &>/dev/null & |
||||||
|
ln -s $TRAVIS_BUILD_DIR sites/all/modules/islandora |
||||||
|
mv sites/all/modules/islandora/tests/travis.test_config.ini sites/all/modules/islandora/tests/test_config.ini |
||||||
|
mkdir sites/all/libraries |
||||||
|
ln -s $HOME/tuque sites/all/libraries/tuque |
||||||
|
drush dl --yes coder |
||||||
|
drush en --yes coder_review |
||||||
|
drush en --yes simpletest |
||||||
|
drush en --user=1 --yes islandora |
||||||
|
drush cc all |
||||||
|
sleep 4 |
@ -0,0 +1,17 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Render a bunch of objects in a list or grid view. |
||||||
|
*/ |
||||||
|
?> |
||||||
|
<div class="islandora-objects-grid clearfix"> |
||||||
|
<?php foreach($objects as $object): ?> |
||||||
|
<div class="islandora-objects-grid-item clearfix"> |
||||||
|
<dl class="islandora-object <?php print $object['class']; ?>">
|
||||||
|
<dt class="islandora-object-thumb"><?php print $object['thumb']; ?></dt>
|
||||||
|
<dd class="islandora-object-caption"><?php print $object['link']; ?></dd>
|
||||||
|
</dl> |
||||||
|
</div> |
||||||
|
<?php endforeach; ?> |
||||||
|
</div> |
@ -0,0 +1,29 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Render a bunch of objects in a list or grid view. |
||||||
|
*/ |
||||||
|
?> |
||||||
|
<div class="islandora-objects-list"> |
||||||
|
<?php $row_field = 0; ?> |
||||||
|
<?php foreach($objects as $object): ?> |
||||||
|
<?php $first = ($row_field == 0) ? 'first' : ''; ?> |
||||||
|
<div class="islandora-objects-list-item clearfix"> |
||||||
|
<dl class="islandora-object <?php print $object['class']; ?>">
|
||||||
|
<dt class="islandora-object-thumb"> |
||||||
|
<?php print $object['thumb']; ?> |
||||||
|
</dt> |
||||||
|
<dd class="islandora-object-caption <?php print $object['class']?> <?php print $first; ?>">
|
||||||
|
<strong> |
||||||
|
<?php print $object['link']; ?> |
||||||
|
</strong> |
||||||
|
</dd> |
||||||
|
<dd class="islandora-object-description"> |
||||||
|
<?php print $object['description']; ?> |
||||||
|
</dd> |
||||||
|
</dl> |
||||||
|
</div> |
||||||
|
<?php $row_field++; ?> |
||||||
|
<?php endforeach; ?> |
||||||
|
</div> |
@ -0,0 +1,21 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Render a bunch of objects in a list or grid view. |
||||||
|
*/ |
||||||
|
?> |
||||||
|
<div class="islandora-objects clearfix"> |
||||||
|
<span class="islandora-objects-display-switch"> |
||||||
|
<?php
|
||||||
|
print theme('links', array( |
||||||
|
'links' => $display_links, |
||||||
|
'attributes' => array('class' => array('links', 'inline')), |
||||||
|
) |
||||||
|
); |
||||||
|
?> |
||||||
|
</span> |
||||||
|
<?php print $pager; ?> |
||||||
|
<?php print $content; ?> |
||||||
|
<?php print $pager; ?> |
||||||
|
</div> |
Loading…
Reference in new issue