// $Id: README.txt,v 1.2.2.1 2008/03/30 20:42:13 agentken Exp $

/**
 * @file
 * README file for Domain Source.
 */

Domain Source
Creates a source domain for linking to content from other domains.

CONTENTS
--------

1.  Introduction
1.1  Sponsos
2.  Installation
2.1   Dependencies
2.2   Warning
3.  Module Behavior
3.1   Inherited Permissions
3.2   Content Editing Forms
3.3   Integration with Dom
ain Content
4.  Developer Notes
4.1   Database Schema

----
1.  Introduction

The Domain Source module is a small module that extends Domain Access
by allowing site and affilaite editors to select a primary "source" domain for
all content.

When links are written to content from another domain using the SEO strict
rules, cross-domain sesarching or the "Special Page Requests" rules, the links
will
go to the "source" domain specified for the node.

----
1.1  Sponsors

The Domain Source module is sponsored by Dzone, the developer's network.

  http://www.dzone.com

----
2. Installation

This section is not finished.  It requires http://drupal.org/node/210248.

----
2.1 Dependencies

Domain Source requires the Domain Access module be installed and active.

----
2.2 Warning

When this module is
enabled, existing content is not automatically assigned
to a source domain.

You must either edit the nodes individually or use the Domain Content
module to perform batch edits.

----
3.  Module Behaviors

The Domain Source module alters the core Domain Access module in a few
subtle ways.  It is only used in the following instances:

  -- You wish to allow searching of all domains from any domain
.
  -- You use a content aggregation module such as MySite.
  -- You get "access denied" errors when linking to items on a
      user's Track page.
  -- You want to turn on the advanced setting "Search Engine
      Optimization" to avoid content from being indexed on multiple
      domains.

The default Domain Access behavior in these instances is to rewrite links
to point to the first accessible
domain.  With the Domain Source module,
editors with the proper permissions can specify which domain should be
considered "authoritative" for a specific piece of content.

----
3.1 Inherited Permissions

The Domain Source module uses the following permissions from the Domain
Access module:

  -- 'set domain access'
  This permission allows an editor to assign any content to any registered
  domain
.  With Domain Source, it also allows users to assign that content to
  any domain as the "source" domain.

  -- 'view domain publishing'
  This permission lets affiliate editors select publishing options for the
  domains on which they are editors.  If these users are allowed to select
  the affiliate domains for their content, they will also be allowed to assign
  the "source" domain from the li
st of their editable domains.

Note that in all cases, the "source" domain must be selected as a publishing
option.  Failure to do so will return an error when the edit form is submitted.

All other users will have the currently active domain set as the "source"
domain.

----
3.2 Content Editing Forms

Users with the 'view domain publishing' permission will only be able to select
a "source" domain
only if the "Content editing forms" setting on Admin > Build
> Domains is set to:

  -- Show user their publishing options
  The node editing form is shown normally, and the user is presented a
  list of checkboxes.  These options represent the affilaite domains that
  the user is allowed to publish content to, according to the domains
  assigned to their user account.

Otherwise, domain assignme
nts will be done automatically, based on the currently
active domain.

----
3.3 Integration with Domain Content

This module adds an element to the Domain Content batch editing screen to
allow for the batch assignment of source domains.

However, this feature is currently only available to users with the 'set domain
access' permission.

----
4.  Developer Notes

The Domain Source module is recomme
nded for most uses.  It is an extension
module because it alters the original design of the Domain Access module.

It is possible that Domain Source will be incorporated into the main module in
later releases.

----
4.1  Database Schema

Installing the module creates a {domain_source} table that contains:

  - nid
  Integer, unique, primary key
  The node id for this record, foreign key to the {no
de} tabl.

  - domain_id
  Integer, unique
  The lookup key for this record, foreign key to the {domain} table.