# orion.core.content

The `orion.core.content` service is used to define files that can be imported into a user's project folder. The service describes a `contentURITemplate` that can be imported into a folder. If the content is a zip file, it can be unzipped into the folder. If the content is to be generated by simply linking to another page, a `uriTemplate` can be used to specify the link instead of a `contentURITemplate`.

The user interface for this feature is not specified. The ability to generate content into a project may appear in multiple places.

## Service methods

None. This service is purely declarative.

## Service attributes

Implementations of `orion.core.content` may define the following attributes:

name
  The user visible name of the content
id
  The extension point id.
description
  The user visible description which explains what the content contains.
uriTemplate
  Optional. A URI Template that defines a link to another page that can generate the content. If this property is specified, then the contentURIProperty property will be ignored.
contentURITemplate
  Optional. A URI Template that defines a link to content that should be imported into a project.

## Example

Here is a sample plug-in that defines a content zip file that is colocated with the Orion plugin.

    var provider = new orion.PluginProvider();
    var temp = document.createElement('a');
    temp.href = "testContent.zip";

    provider.registerService("orion.core.content", null, {
    	id: "orion.content.test",
    	name: "Another Exemplary Sample Site",
    	description: "Generate a sample site from Susan's test plugin.",
    	contentURITemplate: temp.href
    });
    provider.connect();

When this plug-in is installed, the user will be offered "Another Exemplary Sample Site" as possible content for a project.

Category:Orion