Skip to content
Permalink
Browse files

Merge branch '7.x' of github.com:Islandora/islandora into 7.x

  • Loading branch information...
ruebot committed Jul 26, 2018
2 parents 5a52270 + 1c7e041 commit 63bea87da503908b83569e38e97d17fc020eac6d
@@ -1,20 +1,37 @@
sudo: required
dist: trusty
language: php

matrix:
include:
#5.3.3 Ubuntu Precise exceptions
- php: 5.3.3
dist: precise
env: FEDORA_VERSION="3.5"
- php: 5.3.3
dist: precise
env: FEDORA_VERSION="3.6.2"
- php: 5.3.3
dist: precise
env: FEDORA_VERSION="3.7.0"
- php: 5.3.3
dist: precise
env: FEDORA_VERSION="3.8.1"
php:
- 5.3.3
- 5.4
- 5.5
- 5.6
- 7.0
- 7.1
env:
- FEDORA_VERSION="3.5"
- FEDORA_VERSION="3.6.2"
- FEDORA_VERSION="3.7.0"
- FEDORA_VERSION="3.8.1"

branches:
only:
- /^7.x/
env:
matrix:
- FEDORA_VERSION="3.5"
- FEDORA_VERSION="3.6.2"
- FEDORA_VERSION="3.7.0"
- FEDORA_VERSION="3.8.1"
global:
# This key is unique to the Islandora/islandora repository; logging will
# fail on forked repositories unless a new unique key is generated for them.
@@ -23,12 +40,12 @@ before_install:
- export ISLANDORA_DIR=$TRAVIS_BUILD_DIR
- $TRAVIS_BUILD_DIR/tests/scripts/travis_setup.sh
- cd $HOME/drupal-*
before_script:
# Mysql might time out for long tests, increase the wait timeout.
- mysql -e 'SET @@GLOBAL.wait_timeout=1200'
script:
- ant -buildfile sites/all/modules/islandora/build.xml lint
- $ISLANDORA_DIR/tests/scripts/line_endings.sh sites/all/modules/islandora
- drush coder-review --reviews=production,security,style,i18n,potx,sniffer islandora
- phpcpd --names *.module,*.inc,*.test sites/all/modules/islandora
- drush test-run --uri=http://localhost:8081 Islandora
- $ISLANDORA_DIR/tests/scripts/travis_scripts.sh
- $ISLANDORA_DIR/tests/scripts/run_tests.sh "Islandora"
after_failure:
- $ISLANDORA_DIR/tests/scripts/travis_after_failure.sh
notifications:
@@ -4,6 +4,9 @@ If you are reading this document then you are interested in contributing to Isla

We also have an irc channel -- #islandora -- on freenode.net. Feel free to hang out there, ask questions, and help others out if you can.

Please note that this project operates under the [Islandora Community Code of Conduct](http://islandora.ca/codeofconduct). By participating in this project you agree to abide by its terms.


## Workflows

Islandora Committers Calls happen every Thursday at 2PM EST. The meetings are generally held on Skype, and you can join the calls by sending a request to community@islandora.ca.
@@ -2,7 +2,7 @@

## Introduction

Islandora Fedora Repository Module
This module includes the core functionality for interacting with Fedora Repository objects through the Drupal interface.

For installation and customization instructions please see the [documentation and the DuraSpace Wiki](https://wiki.duraspace.org/display/ISLANDORA/Islandora).

@@ -24,37 +24,53 @@ More detailed requirements are outlined in the [Installing the Islandora Essenti

### Optional Requirements

If you want to support languages other than English download and enable [String Translation](https://drupal.org/project/i18n), and follow our [guide](https://github.com/Islandora/islandora/wiki/Multilingual-Support) for setting up additional languges.
If you want to support languages other than English, download and enable [String Translation](https://drupal.org/project/i18n), and follow our [guide](https://github.com/Islandora/islandora/wiki/Multilingual-Support) for setting up additional languages.

## Installation

Before installing Islandora the XACML policies located [here](https://github.com/Islandora/islandora-xacml-policies) should be copied into the Fedora global XACML policies folder. This will allow "authenticated users" in Drupal to access Fedora API-M functions. It is to be noted that the `permit-upload-to-anonymous-user.xml` and `permit-apim-to-anonymous-user.xml` files do not need to be present unless requirements for anonymous ingesting are present.
This is one Drupal module in a suite of modules (and stack of related software) which are required for Islandora to function correctly. For full installation instructions please see the [documentation in the DuraSpace Wiki](https://wiki.duraspace.org/display/ISLANDORA/Islandora).

You will also have to remove some default policies if you want full functionality as well.
### Global Fedora XACML policies
Before installing Islandora, the XACML policies located [here](https://github.com/Islandora/islandora-xacml-policies) should be copied into the Fedora global XACML policies folder. This will allow "authenticated users" in Drupal to access Fedora API-M functions (create, edit, and delete objects in Fedora).

Remove `deny-purge-datastream-if-active-or-inactive.xml` to allow for purging of datastream versions.
Notes:
* Delete the `permit-upload-to-anonymous-user.xml` and `permit-apim-to-anonymous-user.xml` policies unless you want to allow anonymous (unauthenticated) users to create Islandora objects (not recommended).
* Delete the `deny-purge-datastream-if-active-or-inactive.xml` to allow users to purge (permanently remove) datastream versions.

More detailed information can be found in the 'Set XACML Policies' in the [Installing Fedora](https://wiki.duraspace.org/display/ISLANDORA/milestone+1+-+Installing+Fedora) chapter of the documentation.

### Protecting the 'anonymous' username
The `islandora_drupal_filter` passes the username of 'anonymous' through to Fedora for unauthenticated Drupal Users. A user with the name of 'anonymous' may have XACML policies applied to them that are meant to be applied to Drupal users that are not logged in or vice-versa. This is a potential security issue that can be plugged by creating a user named 'anonymous' and restricting access to the account. If this is done after installing Islandora, Drupal's cron can be run to remove expired authentication tokens.


## Configuration

The `islandora_drupal_filter` passes the username of 'anonymous' through to Fedora for unauthenticated Drupal Users. A user with the name of 'anonymous' may have XACML policies applied to them that are meant to be applied to Drupal users that are not logged in or vice-versa. This is a potential security issue that can be plugged by creating a user named 'anonymous' and restricting access to the account.
Configuration that applies to all solution packs, including the location of the Fedora Repository, the namespaces accessible by this instance of Islandora, and whether to generate derivatives on ingest, are available at `admin/islandora/configure`.

![Configuration](https://user-images.githubusercontent.com/1943338/40320855-724afcba-5d03-11e8-9109-0b8413349839.png)

### Breadcrumb Generation

Drupal's cron can be run to remove expired authentication tokens.
Whether Drupal breadcrumbs (showing an object's parent hierarchy) should be displayed, and how they are generated, can be set on the configuration page. Other modules (such as [Islandora Solr](https://github.com/Islandora/islandora_solr_search)) may provide alternatives that perform better at large scales than the built-in Resource Index query.

**Breadcrumb Generation** on the configuration page, allows you to choose the default breadcrumb generation
or a custom method (if implemented).
### Inactive and Deleted Objects

By default, objects with the [Fedora state](https://wiki.duraspace.org/display/FEDORA38/Fedora+Digital+Object+Model) of "Inactive" or "Deleted" are accessible to all users with the Drupal permission "View repository objects". It is possible to use a separate permission to control access to these non-"Active" objects, but this permission must first be enabled at `admin/islandora/configure`, then the permssion can be granted to desired roles at `admin/people/permissions`.

### Customization

[Customize ingest forms](http://github.com/Islandora/islandora/wiki/Multi-paged-Ingest-Forms)
* Hooks provided by Islandora are documented in `islandora.api.php`.
* A [detailed tutorial](https://github.com/Islandora/islandora/wiki/Multi-paged-Ingest-Forms) on extending the multi-page ingest forms is available on the Github (developers') Wiki.


## Documentation

Further documentation for this module is available at [our wiki](https://wiki.duraspace.org/display/ISLANDORA/Islandora+Core+Module).
Further documentation for this module is available at [our documentation wiki](https://wiki.duraspace.org/display/ISLANDORA/Islandora+Core+Module).

## Troubleshooting/Issues

NOTE: There has been a function signature change for the `ingestDatastream` function within Tuque which will be deprecated after the 7.x-1.10 release. To read about it in detail please see the [JIRA ticket](https://jira.duraspace.org/browse/ISLANDORA-1995). For the time being there is a warning stating that this will become deprecated and that code that utilizes this specific behavior should be updated. Once this code is updated the `islandora_deprecation_return_false_when_datastream_exists` variable may be set to FALSE so the warning no longer displays. An example for doing this with drush: `drush vset islandora_deprecation_return_false_when_datastream_exists FALSE`.

Having problems or solved a problem? Check out the Islandora google groups for a solution.

* [Islandora Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora)
@@ -73,4 +89,3 @@ If you would like to contribute to this module, please check out [CONTRIBUTING.m
## License

[GPLv3](http://www.gnu.org/licenses/gpl-3.0.txt)

105 build.xml

This file was deleted.

0 comments on commit 63bea87

Please sign in to comment.
You can’t perform that action at this time.