Skip to content

Drupal 7 Design Document

jonathangreen edited this page May 3, 2011 · 21 revisions

Drupal 7 Design Document

Overview and General Architecture/Philosophy

Islandora 7 Core

Menu System

Islandora 7 Menu Paths I think that we should replace fedora_repository with islandora in islandora 7. It does pose a migration issue however. The question is do we register both menu paths or do we make a clean break.

  • admin/settings/islandora The main islandora admin page. Has all the options for core islandora. We could continue using the tabbed interface and allow other islandora modules to expand this page by adding their own menu paths and display them in tabs. I think this is a reasonable way to handle solution packs. We will have a solution pack module that adds to this path, like admin/settings/fedora_repository/demoobjects in islandora 6.
  • General Paths
  • islandora
  • Islandora 6 Menu Paths
  • admin/settings/fedora_repository
  • admin/settings/fedora_repository/collection
  • admin/settings/fedora_repository/demoobjects
  • islandoracm.xsd
  • collection_policy.xsd
  • fedora
  • fedora/repository
  • fedora/repository/service
  • fedora/repository/object_download
  • fedora/repository/editmetadata
  • fedora/repository/purgeStream
  • fedora/repository/replaceStream
  • fedora/repository/purgeObject
  • fedora/repository/addStream
  • fedora/repository/collection
  • fedora/repository/mnpl_advanced_search
  • fedora/ingestObject
  • fedora/repository/list_terms
  • fedora/tagging/add_tag/js
  • fedora/basket
  • fedora/repository/addToBasket
  • fedora/repository/removeFromBasket
  • fedora/repository/add_search_results_to_basket

Hooks

  • Ingest
  • hook_islandora_pre_ingest
  • hook_islandora_post_ingest
  • Datastreams
  • hook_islandora_pre_add_datastream
  • hook_islandora_post_add_datastream
  • Purge
  • hook_islandora_pre_purge
  • hook_islandora_post_purge
  • Edit Metadata
  • View Object
  • View Collection

Permissions

  • Existing Permissions
  • add fedora datastreams
  • edit fedora meta data
  • ingest new fedora objects
  • purge objects and datastreams
  • view detailed list of content
  • view fedora collection
  • New Permissions
  • Add datastreams
  • edit metadata
  • ingest
  • purge
  • view collection
  • view object

Coding Best Practices (global conventions)

Every module must have a read-me

If it installs something, it must have an install file

Tests

Documentation

Drupal 6 UML Document

Drupal 7 UML Document

Modules

What is a Module?

What is a Content Module?

What is a Solution Pack?

Islandora-specific datastreams

Collection Policies

Ingesting (omn0mnOM)

Use Cases

Security

Clone this wiki locally