Download the PHP package islandora/islandora-starter-site without Composer

On this page you can find all versions of the php package islandora/islandora-starter-site. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package islandora-starter-site

Asset 2

Islandora Starter Site

Minimum PHP Version

A starting Drupal configuration for Islandora sites.

What is a Starter Site?

The Starter Site is a ready-to-customize Drupal site that shows off Islandora's features. It can be used as a template for your site, but once you start using it, your site (and all its config) are managed by you. Like a template MS Word document, changes that are made to the template after you've started using it cannot and will not be automatically transferred into your copy (in this case, your Islandora site). If you need these kinds of services done for you, check out our service providers. However, we will endeavour to document and communicate changes, should you wish to incorporate them.

The Starter site contains instructions to set up a Drupal site, but several features requre the presence of external services such as Fedora, Solr, and others (see installation instructions below).

The Starter Site uses semantic-like versioning now, but this is only for compatibility with the tools that install it. The Starter Site will change major versions whenever it requires something new from the tools that create its environment (Playbook/ISLE).

Quick Installation

To launch a fully-functioning Islandora Starter site as well as the (non-Drupal) tools and services that support it, try one of the Islandora deployment tools:

Manual Installation

The config files in the Starter Site assume a full suite of external services. If you do not need all the external services (such as Fedora) then you can skip them but you will also want to adjust the Drupal configs. Such a partial install is beyond the scope of this document.

Prerequisites

  1. PHP and Composer installed
  2. A Database server installed and configured for Drupal
    • The Starter Site installs drivers for MySQL/MariaDB/Percona (mysql), PostgreSQL (pgsql), and SQLite (sqlite). Using other (contrib) drivers would require additional installation/configuration, and is outside the scope of this document.
  3. Fedora Commons (FCRepo) installed
    1. Syn installed and configured with a key.
  4. Triplestore installed
  5. Cantaloupe installed
    1. A IIIF URL is expected to be resolvable, and to accept full URLs as resource IDs. If the URL is not http://127.0.0.1:8080/cantaloupe/iiif/2, this will have to be set (see Usage step 5).
  6. ActiveMQ/Alpaca/Crayfish installation
    1. ActiveMQ expected to be listening for STOMP messages at a tcp url. If not the default tcp://127.0.0.1:61613, this will have to be set (see Usage step 5)
    2. Queues (and underlying (micro)services) configured appropriately:
Queue Name Destination
islandora-connector-homarus Homarus (Crayfish ffmpeg transcoding microservice)
islandora-indexing-fcrepo-delete FCRepo indexer
islandora-indexing-triplestore-delete Triplestore indexer
islandora-connector-houdini Houdini (Crayfish imagemagick transformation microservice)
islandora-connector-ocr Hypercube (Crayfish OCR microservice)
islandora-indexing-fcrepo-file-external FCRepo indexer
islandora-indexing-fcrepo-media FCRepo indexer
islandora-indexing-triplestore-index Triplestore indexer
islandora-indexing-fcrepo-content FCRepo indexer
islandora-connector-fits CrayFits derivative processor
  1. A Drupal-compatible web server
  2. FITS Web Service and CrayFits installed
  3. A Solr server installed or available with a core set up
    • Further details on Drupal's Search API Solr module page.
    • If not available at 127.0.0.1:8983, or if the core name is not ISLANDORA its information will need to be set up (see Usage step 5)

Usage

  1. Create a project based on this repository:

    This should:

    1. Grab the code and all PHP dependencies,
    2. Scaffold the site, and have the default site's settings.php point at our included configuration for the next step.
  2. Configure Flysystem's fedora scheme in the site's settings.php:

    Changing http://127.0.0.1:8080 to point at your Fedora installation.

  3. Install the site:

    After this step, you should configure your web server to serve web/ directory as its document root.

  4. Add (or otherwise create) a user to the fedoraadmin role; for example, giving the default admin user the role:

  5. Configure the locations of external services.

Change the following Drupal configs to your values using any method (GUI, drush cset, config overrides in settings.php...):

Value Drupal Config item Default Starter Site value
ActiveMQ (broker) islandora.settings broker_url tcp://127.0.0.1:61613
Cantaloupe (for OpenSeadragon) openseadragon.settings iiif_server http://127.0.0.1:8080/cantaloupe/iiif/2
Cantaloupe (for Islandora IIIF) islandora_iiif.settings iiif_server http://127.0.0.1:8080/cantaloupe/iiif/2
Solr - URL search_api.server.default_solr_server backend_config.connector_config.host 127.0.0.1
Solr - port search_api.server.default_solr_server backend_config.connector_config.port 8983
Solr - core name search_api.server.default_solr_server backend_config.connector_config.core ISLANDORA
  1. Make the Syn/JWT keys available to our configuration either by (or by some combination of):

    1. Symlinking the private key to /opt/islandora/auth/private.key; or,
    2. Setting the appropriate location as key.key.islandora_rsa_key key_provider_settings.file_location (using the methods listed in step 5 or at /admin/config/system/keys/manage/islandora_rsa_key)
  2. Run the migrations tagged with islandora to populate some taxonomies, specifying the --userid targeting the user with the fedoraadmin role:

This should get you a starter Islandora site with:

Post-installation cleanup

  1. Uninstall the database driver modules you are not using; for example, if you are using mysql to use a MySQL-compatible database, you should be clear to uninstall the pgsql (PostgreSQL) and sqlite (SQLite) modules:

Known issues

Warnings/errors during installation

Some modules presently have some bad expectations as to the system state when hook_install() is invoked and as such, some messages are emitted:

There are two "unexpected" messages there:

In summary: These two messages seem to be ignorable.

Patches

If a patch (external or internal) is necessary, it can be applied automatically by composer by using the composer-patches plugin. Any patches included in the Starter Site should be described fully in this section (including when they should be removed).

Ongoing Project Maintenance

It is anticipated that Composer will be used to manage Drupal and its extensions, including Islandora's suite of modules. The Drupal project has already documented many of the interactions in this space, so we will just list and summarize them here:

Using Composer to Install Drupal and Manage Dependencies

It is also recommended to monitor and/or subscribe to Drupal's security advisories to know when it might be necessary to update.

Documentation

Further documentation for this ecosystem is available on the Islandora documentation site.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora Google Groups for a solution.

Development

If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!

If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributor License Agreements page on the islandora-community wiki for more information.

We recommend using the islandora-playbook to get started.

General starter site development process

For development of this starter site proper, we anticipate something of a particular flow being employed, to avoid having other features and modules creep into the base configurations. The expected flow should go something like:

  1. Provisioning an environment making use of the starter site
    • It may be desirable to replace the environment's starter site installation with a repository clone of the starter site at this point to avoid otherwise manually copying changes out to a clone.
  2. Importing the config of the starter site

    1. This should overwrite any configuration made by the provisioning process, including disabling any modules that should not be generally enabled, and installing those that should be.
    2. This might be done with a command in the starter site directory such as:
  3. Perform the desired changes, such as:
    • Using composer to manage dependencies:
      • If updating any Drupal extensions, this should be followed by running Drupal's update process, in case there are update hooks to run which might update configuration.
    • Performing configuration on the site
  4. Export the site's config, to capture any changed configuration:

  5. Copying the config/sync directory (with its contents) and composer.json and composer.lock files into a clone of the starter site git repository, committing them, pushing to a fork and making a pull request.
    • If the environment's starter site installation was replaced with a repository clone, you should be able to skip the copying, and just commit your changes, push to a fork and make a pull request to the upstream repository.

Periodically, it is expected that releases will be published/minted/tagged on the original repository; however, it is important to note that automated updates across releases of this starter site is not planned to be supported. That said, we plan to include changelogs with instructions of how the changes introduced since the last release might be effected in derived site for those who wish to adopt altered/introduced functionality into their own site.

Development modules

A few modules are included in our require-dev section but left uninstalled from the Drupal site, as they may be of general utility but especially development. Included are:

These modules might be enabled via the GUI or CLI; however, they should be disabled before performing any kind of config export, to avoid having their enabled state leak into configuration.

License

GPLv2


All versions of islandora-starter-site with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4 || ^8
composer/installers Version ^1.9
cweagans/composer-patches Version ^1.7
discoverygarden/dgi_image_discovery Version ^1
drupal/admin_toolbar Version ^3.1
drupal/advanced_search Version ^2.0.0@beta
drupal/better_exposed_filters Version ^6.0
drupal/citation_select Version ^2.0@beta
drupal/coi Version ^4.0
drupal/config_update Version ^2.0@alpha
drupal/context Version ^5@RC
drupal/controlled_access_terms Version ^2
drupal/core-composer-scaffold Version ^10.1
drupal/core-recommended Version ^10.1
drupal/facets Version ^2
drupal/field_group Version ^3
drupal/field_permissions Version ^1
drupal/field_report Version ^2.1
drupal/flysystem Version ^2.2@alpha
drupal/fpa Version ^4.0
drupal/hal Version ^1.0||^2.0
drupal/islandora Version ^2.8.1
drupal/islandora_mirador Version ^2
drupal/openseadragon Version ^2
drupal/pathauto Version ^1.12
drupal/pdf Version ^1.1
drupal/rest_oai_pmh Version ^2.0@beta
drupal/search_api_solr Version ^4.2
drupal/taxonomy_manager Version ^2.0
drupal/term_merge Version ^2.0@beta
drupal/twig_tweak Version ^3.2
drupal/views_data_export Version ^1.2
drupal/views_field_view Version ^1.0@beta
drush/drush Version ^12
islandora-rdm/islandora_fits Version dev-8.x-1.x as 1.x-dev
islandora/views_nested_details Version ^1.0
library/pdf.js Version ^2.4
mjordan/islandora_workbench_integration Version dev-main
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package islandora/islandora-starter-site contains the following files

Loading the files please wait ....