What is Newscoop?

Updated for Newscoop 3.5.2

Newscoop is a multi-lingual enterprise content management system for on-line newspapers and magazines, enabling scheduled publishing of multimedia. Built-in revenue generation features include support for paid or trial reader subscriptions, and geolocation-based services.

The administration interface is built with the journalist, editor and publisher in mind, based on feedback from the news organizations around the world that have deployed Sourcefabric's newsroom software since the launch of the first version in 1999.

Newscoop follows a print publishing model, so it structures websites as Publications, Issues, Sections and Articles by default. Newscoop was designed for medium-to-large online publications, but it is capable of handling nimbler sites too.

With Newscoop, you can edit articles using an advanced WYSIWYG interface, and manage articles translated into different languages. A traditional editorial process ensures quality of content: the journalist writes the article, the editor reviews the content, and then the article can be published. The Newscoop administration interface works in most modern web browsers, including Mozilla Firefox and Microsoft Internet Explorer. No browser plug-ins are necessary.

You can also create your own definition of what a particular type of article should include. For example, one article type might consist of "Intro", "Body", and "References", while another type might include only "Body" and "Author Bio". You can incorporate images, audio and video into your articles, for delivery directly in the browser window or as attachments for download. Articles can be categorized with topics, and scheduled for release at a future date, or published immediately.

Newscoop offers full control over the look and feel of your web site via a flexible HTML5 and CSS3 ready template engine. The PHP object-oriented API enables your website developers to build third-party plug-ins too. Built-in support for translation allows the administration interface to be adapted to support new languages quickly and easily.

Managers will appreciate the fine-grained access control for different types of staff users, including journalists, editors, and subscription managers. The integrated subscription features include IP-based access control for corporate and institutional accounts.

Newscoop is Open Source software released by Sourcefabric under the GNU General Public License. It incorporates the TinyMCE WYSIWYG text editor and Plupload file handler from Moxiecode Systems AB, Christophe Dolivet's EditArea as a template editor, and PhotoViewer by Joseph Nicora for thumbnail zooming. Geographical data is provided by GeoNames.

Feature list

This list of features is provided as a guide to help you decide if Newscoop is the right content management system for your publication.

Multi-lingual content

All of the content that you create in Newscoop can be translated:

Articles

Sections

Issues

Publications

Topics (content categorization)

File attachment descriptions

The Newscoop administration interface has been translated into the following languages (in alphabetical order):

Arabic

Belarusian

Chinese (Simplified)

Chinese (Traditional)

Croatian

Czech

Dutch

English

French

Georgian

German

Korean

Polish

Portuguese

Romanian

Russian

Serbian (Cyrillic)

Serbo-Croatian (Latin)

Spanish

Swedish

Further translations can be added using a tool built into Newscoop called the "Localizer".

Revenue generation

Control access to your content via:

User's IP Address (for corporate accounts)

Login/password (for individual users)

Control the content your subscribers have access to:

The entire issue

Specific sections in each issue

Specific sections in a particular language

Support for a trial subscription period, for instant access while payment is made

Set your own pay periods (the time between each payment made by a subscriber)

Geolocation and mapping features, enabling location-based services

Editorial features

Online WYSIWYG editor for article editing:

Typical style formatting: bold, italic, etc.

Special support for linking to existing (internal) articles

Ability to split articles into multiple pages

Insert images into your articles

Copy & Paste clean text from Microsoft Word or OpenOffice.org (while preserving bold and italics)

Insert subtitles, which can be used for breaking up the article (pagination)

Built with multiple simultaneous users in mind

While a journalist is editing an article, it is "locked". A warning will be displayed if anyone else tries to edit the article at the same time. This prevents one journalist from deleting the work of another

Group articles into sections

Group sections into an issue

Release an issue all at once

Allow subscribers to access only certain issues

Scheduled Publishing: automatically publish articles or issues at some time in the future. For articles, you can schedule the following actions:

publish

unpublish

show the article on the front page

remove the article from front page

show the article on the section page

remove the article from the section page

Topics: Categorize your content

Define however many topics you like

Associate any number of topics to an article

Topic can have subtopics, subtopics can have sub-subtopics, etc.

Topics can be translated

Dynamic, Flexible Article Types

"Article Types" allow you to define your own article format - you aren't limited to just "Introduction" and "Body" fields, for instance. An Article Type consists of a series of data fields

You can define any number and combination of the following field types:

date field

single-line text field

multiple-line text field with WYSIWYG editor

drop-down selection containing a list of topics

Reorder how the fields are displayed in the admin interface

Hide fields that are no longer in use

Translate the field names

Change the data type for a field

Image Manager

View/search all of the images in the system

Edit image metadata

Scale images any way you want on the fly. Scaled versions are cached

File Attachments

Attach files to articles

Files can have descriptions

You can specify whether the file should be displayed in the browser or popup a download window

Comments

Readers can make comments to articles

Comments can be linked to a forum

Flexible implementation: allow anyone to comment, just subscribers, logged in

Comments can be moderated

Built-in CAPTCHA for spam prevention

Works with SSL on both the front-end and back-end

Site Design

Newscoop has its own template language specifically made for online newspapers and magazines. It allows you to customize your site however you want.

You have access to the following data objects:

publications

issues

sections

articles

topics

current user

current language (e.g. automatically show the user an article in their language)

Control statements such as IF and LIST

Include other templates

Built on the SMARTY templating engine which allows easy customization and inclusion of third party modules

Administration

Fine-grained access control, you can create different user types such as:

journalists

editors

photographers

photo editors

subscriber managers

site administrators

Multiple author support with contact information, biographies and article tracking

All administration actions are logged

Security

Login page secured against automated scripting attacks with a CAPTCHA

Login password is encrypted when sent to the server

Backup

Command-line "backup" and "restore" scripts make it easy to backup your entire site and restore it with one command

You can also easily transfer your site from one server to another using these scripts

Automated Feedback and Bug Reporting

If something goes wrong in the administration interface, a special screen will appear which allows you to submit the problem back to the Newscoop team

You can also submit feedback directly in the administration interface, such as suggestions or feature requests

Developers

Completely open-source LAMP development stack (Linux, Apache, MySQL, and PHP)

Easy to use object-oriented API to develop plugins or alternative interfaces

Easy-to-read code

Open development process - all planning, specs, and reviews are done in the open. Developing Newscoop is a community process

Full commercial support

Paid per-incident support is available from Sourcefabric (http://www.sourcefabric.org). Guaranteed support contracts ensure a 24-hour response time

If you need additional features in Newscoop, they can be ordered from Sourcefabric at a very reasonable cost and delivered in a timely manner

Sourcefabric has a team of full-time developers working to make Newscoop easier to use, with the features you want

Community support is available via mailing lists and forums (http://forum.sourcefabric.org)

Getting started

Newscoop enables you to host multiple, multi-lingual publications on the same web server. The process of setting up a new on-line publication with Newscoop can be divided into three steps:

Configuring the publication, and specifying the templates to be used

Establishing the structure of your publication, with issues and sections

Adding content, managing content, and publishing it

This part of the Newscoop manual is aimed at editors and journalists working their way through these three steps. It assumes that the web server you will use is already up and running with Newscoop, and that templates have been designed for your publication. If you chose to install the sample templates when following the Installation Steps chapter, you can use these templates to learn about Newscoop in advance of having your own templates designed. 

If you are a system administrator setting up a Newscoop server for production use, you should also read the administration chapters, later in this manual, before you begin work on the server. 

If you do not yet have your own Newscoop server running, you can follow the steps in this manual using the Newscoop demonstration server and sample templates provided by Sourcefabric.

Logging in

The first step begins with logging in to the administration interface of your Newscoop server. This is a special interface which is only available to the staff of your publication. Readers who subscribe to your online publication will log in using the home page of your website instead.

By default, the URL you should enter into your web browser for the administration interface is the name of your website, followed by 'admin'. For example:

http://www.example.com/admin/

If you installed Newscoop yourself, you would have set a password for the 'admin' user during the installation steps. If not, your system administrator should already have provided you with a login account name and password. Below the Account name and Password fields, click the drop-down menu to select an interface language other than the default of English, if you wish. Then click the Login button.

Alternatively, the administration interface of the Newscoop demonstration server can be found at:

http://newscoop-demo.sourcefabric.org/admin/

Please remember that the demonstration server is a public site, so don't enter any private information there. A variety of guest login accounts are set up on this system, and the passwords for these accounts are shown on the login page.

The Dashboard

After logging into the administration interface for the first time, you'll see a page which Newscoop calls the Dashboard. This an area into which you can add widgets for the administration functions that you use most often. In this way, you can customize the administration interface to suit your needs. Click the Add more widgets link to open a page where you can select from more than a dozen potential widgets.

On the Widgets page, click the Add to dashboard link for each widget that you would like to start with. You can refine your choice of widgets later, as you get to know the Newscoop administration interface and its functions.

After all the widgets that you require have been added to the Dashboard, they change from black to green text to show that they are active. Click the Go to dashboard link to return to the Dashboard page.

Each widget has three small blue icons in the upper right corner. From left to right, these icons maximize the widget to the full width of your browser window, provide general information about the widget, or close it. When a widget is maximized, clicking the close icon returns the widget to normal size.

Some widgets have a blue spanner icon in the upper right corner, which enables you to adjust a setting for that particular widget. For example, the Map search widget enables setting of the default map location using the spanner icon.

How permissions change the interface

The appearance of the Newscoop administration interface changes, depending on the permissions that a particular staff member has. Each user sees only the options that he or she has the authority to use. A typical staff user (a section editor or journalist) will only see some of the options available to a fully authorized administrator (such as the publisher, or senior manager).

When you log into the Newscoop administration interface, across the top of the page you will see the main navigation menu, containing the options available to you. Here is how two typical users would see the main menu differently. Firstly, here's how the Actions sub-menu looks when an administrator is logged in:

And this is how the same Actions sub-menu looks when a journalist is logged in:

Main menu

The main Newscoop menu contains a link to the Dashboard page and up to five sub-menus, depending on the permissions of the user who is logged in. These sub-menus are Content, Actions, Configure, Users, and Plugins. The menus shown below are for an administrator user, who has access to all sub-menu options.

Content

Here you can find the Publications on the server, reader Comments, the Media Archive, and the Search page for all of the articles in the Newscoop database. For each available publication, there are quick links to the latest three issues, and a full list of sections within each issue. In the screen shot below, a sample publication called 'the Custodian' has been set up, with two issues in both English and Spanish.

Actions

This menu provides quick access to the most commonly used functions, including 'Add new article' and 'Change your password'.

Configure

Here you can configure the System Preferences for your publication, and a number of other functions. Templates are the files which determine how Newscoop displays content to readers and subscribers. Article Types describe the format of your articles, while Topics allow you to categorize your articles. The Languages option specifies the languages that journalists have to choose from when creating articles. Countries enables you to specify the name of a country in the local language for each territory. The Localizer allows you to translate the administration interface. Clicking Logs will show you the recent activity of all staff users, including the IP address that they have logged in from.

Users

Here you can add and edit Staff users, and manage Subscribers. You can also define Staff User Types, or Synchronize Newscoop and Phorum users, integrating this web forum system with your publication's site. The Manage Authors page enables you to maintain contact and biography information for each of your publication's contributors, as well as track the articles that they have worked on.

Plugins

This sub-menu provides access to additional functionality for Newscoop, including Blogs, Interviews and Polls plugins.

Help and Logout

Up in the top right corner of the administration interface are two additional links, to the right of the full name associated with your login account. Help links you to the on-line version of this manual, via the Sourcefabric website. Logout ends your session and returns you to the administration login page.

Creating a publication

Newscoop content is organized in a hierarchical structure, which conforms to the tradition of newspapers and magazines: Publications, Issues, Sections and Articles. Each publication is made up of issues; each issue is in turn made up of sections, which are comprised of articles. A 'breadcrumb trail' of links is present on every screen, which enables quick navigation between different levels of the publishing hierarchy.

For example, after creating a publication named the "The Custodian", by clicking on "The Custodian" in Newscoop's list of publications, you enter the list of issues for that newspaper. By clicking the name or number of a particular issue, you enter its list of sections. By clicking the name of a section you enter the article list. By clicking the article title in that list, you can edit the article.

To create a new publication, click Content on the main navigation menu, and then click 'Publications' from the sub-menu. On the Publication List page that appears, click on 'Add new publication'.

If your login account does not have administrator rights, you will not be able to see the 'Add new publication' option. You may need to ask your system administrator to enhance your access rights. Bear in mind, however, that a good administrator would be reluctant to hand over those rights to more than a handful of people. If you are not among those select few, your Publications List will only contain the publications already hosted on your Newscoop server.

The Add new publication window has three sections; General attributes and Comments on the left, and Subscription defaults on the right. There's a Save button beneath these sections.

The fields in the General attributes section are:

Name of the publication (e.g. "The Prague Times")

Default Site Alias is the name of the web server on which your publication will be hosted (e.g. www.example.com). Newscoop enables multiple publications to be hosted on the same web server, providing that a unique alias has been set up for each publication by your system administrator. If you try to access the alias URL before this setting is made, you will see an error message indicating that the alias was not yet assigned to a publication

Default Language sets the default language of the publication for readers

URL type selects between the display of full path URLs, or short URLs which are better for pasting into newsletters and social media posts

Search engine optimization helps your articles to be found on the Internet

Invalid URL Template allows you to specify the page that readers will see if they follow a broken or outdated link. For example, you may wish to help lost readers by leading them to a search page

The fields in the Comments section are:

Comments enabled? Check this box if you would like your readers to be able to comment on articles

Article comments default to enabled? If you check this box, then article comments for any new article will default to "enabled"

Subscriber comments moderated? If you check this box, comments by subscribers will be hidden from readers until they have been reviewed by a staff member

Public allowed to comment? Check this box if non-subscribers will be allowed to make comments on articles

Public comments moderated? If you check this box, non-subscriber comments will be hidden from readers until they have been reviewed by a staff member

Use CAPTCHA to prevent spam? The reader must type in random letters or numbers shown before they can post a comment

Moderator address If comments are moderated, each time a comment is posted an email is sent to this address, such as 'editor@example.com'

From address is the sender email address shown on the email sent to the moderator, which should be a valid address in case of bounces. An address such as 'robot@example.com' is suitable

Subscription Defaults

The rest of the fields are related to subscriptions, which you can adjust later if you wish. First, you have to select a time unit for your subscriptions; which could be days, months, weeks or years.

You can set two types of subscriptions: paid and trial. Paid subscriptions have the following properties:

Currency: the subscription currency. Even if a subscription request is sent and the currency setting is changed before payment, the information about the subscriber's payment due is correctly recorded

Time unit cost per one section:

for one language: the price for access to a particular section in a single language

for all languages: the price for access to a section in all available languages

Default time period: the usual duration of the paid subscription. This value is used when a reader subscribes through the website. The period for a particular subscription can be modified from the administration interface

After clicking the Save button, Newscoop will confirm that the new publication has been created.

On the right hand side under the Subscription defaults fields, there will now be a link Set subscription settings by country which will enable you specify different default time periods for individual countries.

This link opens the Subscription Settings by Country page, which has a link Set subscription settings for a country.

If you follow this link, it opens a page with a drop-down menu for selecting the country in question, plus fields for the default trial and paid subscription lengths. Clicking the Save button returns you to the "Subscription Settings by Country" page, which should now show the setting you have just made.

Creating an issue

Once you have successfully created your publication, click on its name in the Publication List (e.g. "The Prague Times"). This will lead you to the Issue List, which will be empty to begin with.

Click on the 'Add new issue' link. If you are creating the very first issue, you will see a page with fields for basic information which you will need to enter.

The Name is the name of the issue in the particular Language you specify in the drop-down box underneath. The Number is a unique identifier for this issue. If this is the first issue you've ever published, then number "1" would be appropriate. The issue number cannot be changed once it is specified.

If you are planning to add older issues of your publication at a later stage to the same Newscoop server, you may consider continuing the series. For example, if you just published issue 154 of the "The Prague Times" before moving to Newscoop, you should assign number 155 to the first issue you are creating with Newscoop.

The URL Name field is only useful if you specified the "URL type: short names" option when you created your publication. This name will show up in the reader's browser address bar. For example, if you enter "2011_1" here, the address for the issue might look like this:

http://www.example.com/2011_1

Clicking the Save button takes you to the Change issue details page, where various options for the issue are set. On the left hand side, there are settings for the default templates for the front page, sections and articles. If you do not have your own templates yet, you can select templates from the 'classic' demonstration set that are provided with Newscoop. Reader polls can also be set up and edited on this side of the page.

On the right hand side of the Change issue details page are boxes which enable you to set the publishing schedule for the issue. An issue can be set to be published at a specific date and time, and unpublished at another date and time.

Copying a previous issue

If this is not the first issue you've created, you will see a different page after clicking the Add new issue link in the Issue List:

"Use the structure of the previous issue" will be the usual option to choose once you are ready to publish additional issues, because it automatically creates a new issue with the same sections as the preceding one. Clicking this option opens a page which enables you to specify the new issue number.

The sections of the new issue will be empty, so that you can begin to add articles. Before that, the first step is to set the name of the new issue, because this field is not automatically updated: it will start out with the same name as the last issue. After changing the Name and URL Name fields, click the Save button to update the new issue.

The previous templates are not copied to the new issue automatically, so the new issue must be linked to at least a template for the front page.

Creating a section

By clicking on the name of an issue in the Issue List, you will enter the Section List. At first, a new issue will have no sections.

If you click on the 'Add new section' link, you will see the corresponding page appear. Here you must specify the Name, section Number, and URL name for the new section. While you can change the name of the section later, the section Number is set at the time when the new section is added. The URL name will be part of the URL for the new section, if you set the "short names" option when you created the publication.

The section Description is optional. This field is useful for displaying content that doesn't change very often. The information in this field will only be displayed on your site if the template you are using supports it. If you would like to make the new section available to all existing subscribers, you should check the box for this option. Then click the Save button.

Your next step is to set the templates for the new section on the Configure Section page.

Here, you may wish to select custom templates for this new section and its articles from the drop-down menus. If you don't have custom templates for specific sections, you can use general section and article templates instead. Then click the Save button to confirm your choice.

Creating an article

The Article List for a particular section can be found by clicking on Content in the main Newscoop navigation menu, and following the hierarchy of Publications, Issues and Sections. Alternatively, use the 'breadcrumb trail' of links just below the main navigation menu. You can create a new article by clicking the "Add new article" link at the top of the Article List.

The "Add new article" page contains three fields for entering basic information about the article you will create.

Name: The title of the article. You will be able to rename the article at any time in the future

Type: Select one of the available article types from the drop-down menu. If you have not set up any custom article types yet, only the default of "News Article" will be available. Refer to the later chapter on Article Types for details on how to create custom article types. The choice of Article Type that you make for this particular article cannot be altered later

Language: Select the language the article will be written in. A drop-down list will contain the additional languages you have defined for this publication, if any. The language choice you make at this stage is final, although you can create a translation of the article into another language

When you click the 'Save' button, you will be taken to the Edit Article page.

Editing an article

The appearance of the Edit article page depends on the article type you are working on. Below, the default "News Article" type is shown. At the top right are the Edit and View buttons, the Save All and Save and Close buttons, and the Actions, Status and Language drop-down menus.

Edit, View and Save buttons

There may be times when you want to view articles rather than edit them. In this case, clicking the View button speeds up the page display process. It also enables you to view an article when it is locked by another user on the server. Once the article is published, there will also be a Go to live article button here.

Save All saves the fields in the edit area without closing the page, whereas Save and Close both saves the page and closes it, unlocking the page for other authorized users to edit further.

Actions menu

The Actions menu contains short-cuts to commonly used functions:

Unlock: When you begin editing an article, you automatically "lock" it to prevent conflicting edits from other users on the server. Using the Unlock option means that other authorized users can edit the article again

Delete: Removes the article permanently from the Newscoop server

Duplicate: Copies the article to any publication, issue, or section on the same Newscoop server

Translate: Creates a new copy of the article for translation into another language

Move: Moves the article to another publication, issue or section on the same Newscoop server

Status menu

The status drop-down menu indicates the copy flow state of the article. There are four states that the article can be in:

New: The article is still being written. Once the contributors are ready for the article to be seen by the editor, they should change the status to "Submitted"

Submitted: The article is under review by the editor or editors. Once the editors decide that the article is ready for the public to see, the status should be changed to "Published", or scheduled for publication at a later date and time

Publish with issue: The article will be published only when the issue it belongs to is published

Published: The article belongs to a published issue, and is now viewable by the public

Language menu

If multiple languages have been configured for the publication, a drop-down menu will enable fast switching between translated versions of the article. If not, the language of the article will be displayed here.

The editing area

To the left of the Actions and Status drop-down menus is the editing area for the article.

The "News article" type has the following fields in the editing area:

Name: The title of the article

Author: This drop-down menu enables you to credit multiple contributors, including Author or Writer, Photographer, Editor, and Columnist. Type the contributor name in the box to the right. Click the + icon to include additional contributors, or click the x icon to remove them

Date: Since this field can order the way your articles are displayed to readers, you can change this date if you choose

Deck: a sub-heading or article teaser

Lead and SMS: a short version of the article, suitable for sending via a text message gateway to phones which support the Short Message Service. The length of an SMS text message depends on the alphabet used, from a maximum of 70 characters in Chinese or Cyrillic alphabets, up to a maximum of 160 characters in the Latin alphabet

Body: the main section of the article

Comments

Beneath the editing area, there's a box in which you can set reader comments on the article to be enabled, if you wish. Your templates must be designed to allow this feature. The radio buttons can have one of three values: Enabled, Disabled, or Locked. "Locked" means that no one can post comments, but any existing comments are still shown. Click the blue Comments link to minimize the box, saving space in your browser window.

Individual comments can be Approved for publication, Deleted or Hidden, using the radio buttons immediately above. Beneath the displayed comments is a form which staff members of your publication can use to add a comment of their own, perhaps in reply to a reader question.

The sidebar

On the right side of the editing area is a vertical bar containing further options for the new article, in a series of boxes. Like the Comments box, all of the boxes in the sidebar can be minimized by clicking on the blue link in the box name.

Publish Schedule

Schedule the article to be published or unpublished at a certain date and time. Click the Add Event button to open a window with a calendar and publishing options, such as showing the article on its section page, or the publication's homepage.

Locations

Clicking the Edit button in the Locations box opens a pop-up window which enables you to set a geolocation (map reference) for the article.

Keywords & Topics

Keywords: Enter words that describe your article to search engines

Topics: Select from a list of topics and subtopics defined by your Newscoop administrator by clicking on the Edit button, which opens a pop-up window. Topics allow you to set attributes for the article, which may be used to display the article in a certain way

After clicking the Save and Close button, the Topics you have selected are displayed in the box in the sidebar.

Switches

Show article on front page: Check this box if you want the article to be displayed on your publication's homepage

Show article on section page: Check this box if you would like the article to be displayed on the relevant section page

Visible to non-subscribers: Check this box if you want to make the article visible to readers who have not yet subscribed

Info

Reads: A number indicating the popularity of this particular article. An article which has not yet been published will display N/A here

Type: Refers to the "article type", i.e. the format of the article. You cannot change this field once it has been assigned

Number: The article's unique identification number

Created by: the name of the Newscoop user who created this article. You cannot change this field

Media

The Media box has two tabs, Images and Attachments.

Images: You can attach images to your article which can be included directly into an article body field, or used in the template. Clicking the Attach button opens a pop-up window with a tab for attaching a new image, which you can upload from your computer. Another tab in the pop-up window enables you to attach an existing image from the Media Archive.

Attachments: You can attach any kind of file you wish to the article. The article template must be set up to display these files, if users are to have access to them

Polls

The Polls box enables you to add a specific reader voting poll to a specific article. Clicking the Attach button opens a pop-up window in which you can select the poll that you require. You can also create a new poll there.

Other article types may contain different fields. Whenever you edit any of the fields, you will need to click either the Save All button at the top of the edit area, or any of the Save buttons in individual boxes.

Note that date fields have a fixed syntax of YYYY-MM-DD (four year digits, two month digits and two day digits, in that order). If you enter dates in any other format, you may get incorrect results.

Using the TinyMCE editor

The body field editor in Newscoop (a program called 'TinyMCE') allows contributors to perform extensive article formatting from within a web browser. You may be familiar with most of the functions of TinyMCE from using word processors such as Microsoft Word or OpenOffice.org: functions such as bold, italic, underline, and text alignment. Move your mouse over the icons to see a tooltip explaining what they do. Standard formatting keyboard shortcuts also work (e.g. ctrl+b for bold, ctrl+i for italic).

The editor field you see on your own Newscoop installation may look different than the one pictured above, depending on the extent of your user rights. Typically, the editor you'll see is the one that contains all the functionality you need for your site, but if you feel something vital is missing, discuss it with your Newscoop system administrator.

There are two Newscoop-specific features in the editor. The first is Insert/edit internal link, which allows you to include links to articles within the same Newscoop publication, or within another publication on the same Newscoop server.

Clicking this icon opens a pop-up window with drop-down menus enabling you to select a specific language version of a publication, issue, section and article to link to.

After you click the Insert button, the internally linked text will be shown in blue and underlined, like a web link.

The second Newscoop-specific feature is Newscoop Subhead, which allows you to break your text into different pages. (Your templates must be configured to use this option).

Enter the text for the subhead into the editing window, select it with the mouse, then click the Newscoop Subhead icon. The subhead text will now be shown with a dashed outline.

Managing content

The "Article List" page is displayed when you enter a particular section via the Content menu, by following the hierarchy of publications, issues and sections. Alternatively, use the breadcrumb trail to jump to the section that you're interested in, and then click the "Go to Articles" link.

To edit a specific article, simply click on its Name, and you will be taken to the "Edit Article" page. A locked article is one that is being edited at that moment, as shown in the list by a padlock icon to the left of its name. Articles being edited by other users on the Newscoop system also have a pink background in the list.

To find out who is editing an article and when it was locked, click on the article Name in the list. A page will open with the name of the editor, and buttons offering the options of unlocking or viewing that particular article. Using the View option means that you will not be able to overwrite another contributor's work while it is still in progress.

Multiple actions

The Article List allows you to perform other actions besides editing the article, and you can perform these actions on multiple articles at once. To perform an action on one or more articles, click the checkbox to the left of the article name. The articles you have selected will be highlighted with a light blue background.

Now that you have selected the articles, go to the "Actions..." drop-down menu at the top of the list, and select the action you would like to perform:

For example, if you select "Toggle: 'On Front Page'", Newscoop will publish the selected articles on the front page of your publication. A small green pop-up window will confirm that the action has been processed. Some actions will take you to another page, because they require further input from you. These actions requiring additional  input include Publish schedule, Duplicate to another section, and Move.

The article list also allows you to rearrange articles as they appear on your section page, if your template supports this feature. To move an article's position in the list, simply click anywhere in it's row, hold the mouse button down, and drag the row to the position that you require. The new arrangement of the articles is not finalized until you click the Save order button underneath the Article List.

On the right hand side of the Article List are additional columns which relate to other functions, such as the number of Comments posted on the article, or the number of Reads it has had. In the upper right corner of the list is a Show / hide columns button which enables you to select the columns that you wish to view.

To re-order the articles by Name, the number of Comments or Reads, or the Publish Date, click on the appropriate column heading. Column headings that enable sorting have a double chevron icon. After you click the Save Order button, the order of the articles on the relevant section page will be updated. For example, you could identify the article which had the most reads in a particular section, and move it to the top of its section page.

Search

Newscoop includes another tool which provides an overview of content across all publications on the server. The Search feature is accessed via an entry on the Content menu, and has an interface somewhat like an Internet search engine. You can filter the search options according to a specific publication, issue or section. You can also filter by a number of other criteria, such as the author or publication date of the article.

Media Archive

Also found on the Content menu, the Media Archive page provides an overview of all non-text content in your publication's database. It has two tabs; one for Images, and one for other Files, such as audio or video files. New content can be uploaded directly to the Media Archive using the Add new image or Add new file link next to the green plus sign icon on the respective tab.

The main difference between the two tabs is that images are opened in the reader's web browser by default, whereas other files can be set to be either opened in the browser or downloaded by the reader instead. For this reason, it's also possible to upload images into the Files tab, if you wish to have the option to set them for download.

Import XML

On the Actions menu there is an entry Import XML which enables you to import formatted content from other publishing systems, such as Adobe InDesign or WordPress.

The XML tags that you use in the export must match those used by Newscoop. For example, to match the default Article Type news_article you could use the following fields:

<?xml version='1.0' encoding='utf-8'?>

<articles>

  <article>

    <name>Gigantoraptor Discovered in Mongolia</name>

    <keywords>Gigantoraptor, Dinosaur, Mongolia</keywords>

    <author>Sarah Staffwriter</author>

    <deck>Newly discovered dinosaur roamed the desert 80 million years ago</deck>

    <lead_and_sms>Imagine an ostrich that tipped the scales at 3800 kilograms, standing twice as tall as a human, with a solid tail and massive body, plus long, feathered arms with sharp claws, and a turtle-like beak.</lead_and_sms>

    <body>The huge size of Gigantoraptor is a surprise because it is a member of the oviraptorids, a group of flightless feathered dinosaurs closely related to birds, which mostly weighed less than 80 kilograms. Known since the 1920s, oviraptorids were toothless and probably omnivorous. "Gigantoraptor would be a strange animal in any environment," says Tom Holtz of the University of Maryland in College Park.

The partial fossil skeleton was found in Inner Mongolia and is from a young adult about 8 metres long. Many of Gigantoraptor's features are unique, suggesting dinosaurs were more diverse than has been recognised, says lead author Xu Xing of the Institute of Vertebrate Paleontology and Paleoanthropology in Bejing (Nature, vol 447, p 844). Its combination of slender limbs and long lower legs may have made it the fastest runner among large two-legged dinosaurs, he says.</body>

  </article>

</articles>

Multiple <article> tags can be enclosed by the top-level <articles> tag, so that you can import a large number of articles from a single XML file.

Once you have an appropriately formatted XML file exported from the other system, use the Import XML page to upload it. You will need to set the Article Type and Language that you wish to import, and also if you wish to Overwrite existing articles with the same names.

The newly imported articles will be displayed in the Pending widget on the Dashboard. You can click on the article names for further editing, as usual.

If there is a mismatch between the tags in the XML file you have tried to import, and the fields in the Article Type that you have attempted to import to, Newscoop will list the empty fields and the problematic tags. You can then re-export the XML file from the other application with the correct tags.

Should the XML file be incorrectly formatted altogether, Newscoop will refuse to import it.

Publishing articles

As mentioned previously, an article in Newscoop can have one of four different states: New, Submitted, Published, or Publish with issue. When you create an article, the Status: drop-down menu at the top of the editing area is set to New by default. Once your article copy has been drafted and is ready for the editors to see, click on this drop-down menu and change the Status: to Submitted.

After changing the status to Submitted, the page will be reloaded, and a pop-up message will indicate that the change in status of the article has been saved. The editors will be able to see the fresh submission when they log in to Newscoop. Articles which are ready for editing are listed in the Submitted Articles view on the administrator Dashboard.

In addition, if their user accounts have been configured for notifications, an email will be sent to the editors to inform them about the new submission.

Once the editors have made any required changes and are happy with the way the article reads and appears, they can publish the article by changing the drop-down Status: menu to Publish with issue. Again, the page will be reloaded, and a message will indicate that the article's status has changed.

When an article status is set to Publish with issue it becomes visible on your public web site, as soon as the issue it belongs to is published. This feature enables co-ordinated publishing of complementary articles when a complete issue is ready for the public. You can check the publication status of a particular issue in the Issue List. If the issue in question has already been published, then new articles can be seen by the public immediately after their status is changed to Publish.

The process is fully reversible, so you can unpublish articles on your site (or even change their status to New) as easily as you can publish them. Note that only authorized users are allowed to publish articles, so you will not be able to access this option if your system administrator has not granted you this permission.

Scheduled Articles

You also have the option to publish (or unpublish) an article at a specific date and time in the future. You can do this from the Edit article page, using the Add Event button in the Publish Schedule box.

After clicking on Add Event, a pop-up window will appear with a calendar and a series of three possible actions for the date and time that you choose: Publish/Unpublish, Show on front page/Remove from front page, and Show on section page/Remove from section page.

Choose the date by clicking on the calendar, or enter a date code manually. Then enter the time for the event, and choose one or more actions to perform at the time you have chosen. After you click the Save button, the pop-up window will close, and the event will appear in the Publish Schedule box.

Once the event is created, the actions will be performed automatically for you on the date and at the time you specified. After the event time, the Status drop-down menu will change to Published, and the event will no longer be shown in the Publish Schedule box.

Publishing an issue

You can draft and edit articles for a particular issue on your Campsite server without any of the material being available to the public. You can then publish an entire issue all at once, and there are two ways to do it: immediately, or by scheduling the issue to be published at a specific date and time in the future. Note that within an issue, you can publish or unpublish each article individually; for instance, to hide an article even if the issue it belongs to has already been published.

Publishing immediately

To publish an issue straight away, click the Publish link for the relevant issue and language edition in the Publish Date column of the Issue List.

A pop-up dialog will ask you to confirm that you want to publish the issue in question, because this action implies that any articles which are part of the named issue will become available to the public instantly.

After clicking the OK button, the issue will be published, and the Issue List will be updated with the publication date and time of that particular issue.

To reverse the process, click the Unpublish link. Again, a pop-up dialog will ask if you are sure you want to change the issue's status.

Scheduled publishing

To schedule an issue to be published automatically at a specific date and time in the future, click on the Schedule link for the issue and language edition you require in the Publish Date column of the Issue List. This will open the Change issue details page, where you can set the date and time for this particular issue to be published. Over on the right hand side of the page are the Issue Publishing Schedule and Schedule a new action boxes.

Click the small calendar icon to the right of the Date: field to select a specific day for publication. Set the time you require, and select either Publish or Unpublish from the drop-down Action menu. Then click the Save button. The Issue Publishing Schedule box will update to display the newly scheduled action.

Note that you can also set the issue to be unpublished at a specific date and time in the future as well. This event will be displayed in the Issue Publishing Schedule box.

To cancel a scheduled action, click the corresponding white cross in a red box icon in the Delete column. You will be asked to confirm the deletion.

If you click on the Date/Time link for a future event, the Issue Publishing Schedule page will open, and you will be able to edit the event. Click the Save button to confirm the schedule change.

Article comments

Reader comments can be switched on and off for a whole publication, for a particular article type, or for each individual article. You can also take advantage of Newscoop's management features to moderate (or bypass moderation for) comments from subscribers, or members of the general public.

Comment settings in the Publication List

To set the default comment setting at the publication level, go to Content on the main navigation menu, and then click Publications. In the Comments enabled column of the Publication List page which appears, publications in which readers can post comments are shown with a green light icon. Click on the Configure icon for the publication you wish to enable or disable comments for.

This action opens the Configure publication page. In the Comments section, there is a checkbox labeled Comments enabled? and a variety of options which enable you to fine-tune comment settings.

Comment settings for article types

Perhaps you want to enable comments for all articles of a particular type, for example review_article, but not enable them for another type, such as news_article. Click Configure in the main navigation menu, and then click Article Types from the submenu. On the Article Types page which appears, clicking the red or green light icon in the Comments enabled? column toggles the setting for each article type.

After you click on a green light icon, you will be asked if you are sure you want to deactivate comments for that article type.

Comment settings for individual articles

Comments can be enabled or disabled for a number of individual articles at once, using the Article List page. Click Content on the main navigation menu, then use the submenus to navigate to the publication, issue and section that you require. In the Article List page that appears, use the checkboxes in the left side column to select the articles you want to enable or disable comments for. Then use the drop-down Actions menu and click on Toggle: 'Comments'.

If the publication or article type that the articles belong to have comments disabled, then enabling comments for those individual articles will have no effect.

Moderating comments

To prevent spam or defamatory posts from appearing in your online publication, it's often necessary to moderate comments from readers before they are published. A CAPTCHA can prevent some automated spam, but it cannot prevent spam being entered into your publication's comment form manually.

If you have configured your publication so that subscriber or public comments are moderated, the reader will see a message indicating that their comment has been sent for approval before it will be published - or not, as the case may be.

The list of reader comments can be found by clicking Content, then Comments, on the main navigation menu. On the left hand side of the Comments page are two tabs; one for New comments, and one for Published comments. The New tab is the default, and beneath this any new comments are listed. The default list length is 20 comments per page. There is a Search field to help you find a specific set of comments, perhaps on a topical subject. Search results can be sorted by Date posted, Article name, Author or Thread, using the drop-down menu to the right of the Search field. The sort direction can be changed by clicking on the blue arrow icon next to the drop-down menu.

On the right-hand side of the Comments page is an area displaying the text and metadata of the current comment under review, as indicated by the small yellow arrow icon in the comment list.

A row of radio buttons above the comment text enable you to update the New comment's status to Approved, or Delete if it is spam. Alternatively, the comment can be Hidden, or click Ban user to the user that made the comment banned from commenting on the publication in future. Clicking the Show article link, next to the magnifying glass icon, enables you to see the comment in the context of the original article. You can also click on the Article name link to open the Edit article page for that particular story.

System preferences

The System Preferences page is accessed via Configure in the main Newscoop navigation menu.

This page allows you to control some advanced aspects of your Newscoop server, so it is recommended that access is reserved for administrators only.

General Settings

The first section of the System Preferences page is for General Settings.

Here is what each of the options means:

Site On-Line: These Yes and No radio buttons enable you to put the whole Newscoop server on-line or off-line, for example in case of scheduled server maintenance

Site Title: The default name for your publication's website. Your designer can configure your publication's templates to display this information

Site Meta Keywords: The default keyword meta tags in your header template, for search engine optimization

Site Meta Description: The default description meta tag in your header template, also for search engines

Time Zone: This field enables you to override the server's own time zone setting, which is typically set to Greenwich Mean Time (GMT). You may wish for your Newscoop interface to display local time instead, for instance when scheduling publication time for a particular issue

Database Cache Engine: enables or disables the APC cache, which can improve Newscoop performance

Template Cache Handler: Select DB to enable the cache for templates

Imagecache lifetime: The time that images will be cached for, from 30 seconds to infinite

Allow password recovery: Whether users can get a password reminder by email. Note that if this feature is enabled and your email account is compromised, your Newscoop publication can easily be compromised in turn

Secret Key: The security key that Newscoop can use for integration of web services and other advanced features

Session Lifetime: Enables you to specify the maximum duration of Newscoop administration sessions without re-authentication, which is a security feature

Keyword separator: Specify the separator for Keywords in the Edit Article page (comma or hyphen)

Number of failed login attempts before showing CAPTCHA: A security measure designed to foil password-guessing robots

Maximum upload file size: The maximum size of attachments that users of your website can upload

SMTP Host: The server that Newscoop will use for sending out email notifications

SMTP Port: The port number that Newscoop will use on the specified email server

Editor Settings

The second section of the page is for Editor Settings, which refer to image handling.

The fields in this section enable you to specify the default resize ratio, or default width and height, for images in articles. If the Zoom enabled for images in article content? radio button is set to Yes, readers can enlarge article images in your publication's pages by clicking on them.

External subscription management

The third section down is related to external subscription management software.

If you select the Yes radio button for the Reader subscriptions managed externally? option, the subscription management features in the Newscoop administration interface are hidden. The subscription data is still held in the Newscoop database, which your systems administrator will have connected to your third-party subscription management software.

Database replication server

The fourth section enables you to set up Newscoop to operate on two servers at once, which is a safety feature in case of hardware or network problems.

Selecting the Yes radio button for the option Setting up a Newscoop Replication Server? displays four fields:

Database Replication Host: The name or IP address of the remote database server

Database Replication User: The user name to connect with on the remote server

Database Replication Password: The password to submit on the remote server

Database Replication Port: The port number to connect to on the remote server (the default port number is 3306)

Using an Airtime media library

The fifth section enables you to attach media located in an Airtime storage server to articles in your Newscoop publication. Once you've installed and configured Airtime, create a user in the Airtime administration interface and add it to the Admins group. Back in the Newscoop System Preferences page, select the Yes radio button for the option Enable Airtime audio attachments?

Below, you should enter the host name or IP address of the Airtime server. The values of the fields Port, XML RPC Path and XML RPC File should already be filled in with the default values. You don't need to edit these default values, unless you have a custom Airtime configuration.

The last step is to give certain users the right to attach audio files to articles. You can edit a Staff User Type to enable this, so that all users of this type will receive the right automatically. Alternatively, you can enable this right for individual staff user accounts.

Templates filter mask

Enter keywords for templates that you wish to hide on the Configure -> Templates page. For example, templates that are no longer in use, but you do not wish to delete from the server

Cron tasks

Run cron tasks externally? means to use the server's own scheduler for automated tasks, rather than the one included in Newscoop.

Geolocation settings

This section enables you to specify how maps linked to articles will be displayed, and which Internet mapping service will provide the data.

Video settings

The default width and height of both externally and locally hosted video files can be set in this section, to make sure that the videos are displayed correctly in your publication's page templates.

Finally, the Save button updates your preferences.

Templates

Templates control the look and feel of your Newscoop publication. Each publication has a unique set of templates created by your web developer, which should have already been installed by your system administrator. The Newscoop administration interface includes a template management and editing tool, which you can find by clicking Configure on the main navigation menu, then Templates.

Templates are organized into folders, shown in a box on the left hand side of the page.

Clicking on the name of a folder shows the files included in that template.

In turn, clicking on a file name opens that file in the template editor. This feature enables web developers to make quick changes to templates on a running Newscoop system.

You should only make changes to the templates if you know what you are doing, because any modifications will have an immediate impact on the appearance of your publication. This feature is also useful for editing templates on a development server before they are copied to the publication's production server.

Article types

Article Types specify the information that Newscoop will require from the journalists adding a particular kind of article to your publication. For example, a feature story is likely to require more elements than a brief news item. By default, Newscoop has one Article Type set up, which is News Article, but you can create as many as you need. To create or manage your Article Types, select Configure, then Article Types from the main navigation menu.

This action opens the Article Types page. Article Types consist of a sequence of fields, with each field holding a certain kind of data. Currently, there are six kinds of fields available:

Single-line text: this type of field can contain a maximum of 265 characters, and does not support HTML tags. Its appearance and character set is entirely determined by the template in use

Multi-line text with WYSIWYG: this type of field can be up to 16MB in size. The journalist can insert images, audio, video, links (external, internal or to attached files), and formatting tags. Subheads can be used for article pagination

Date: this is a standard date field with a fixed syntax of YYYY-MM-DD (four year digits, two month digits, two day digits, separated by hyphens)

Topic: this type of field can be used to categorize articles. Each topic field has a top level element, for example Entertainment / Review. When the journalist types the article into Newscoop, this field will display a drop-down menu containing available subtopics of that top element, such as Movie Review or Theater Review

Switch: allows you to add check boxes which activate particular features to the Edit Article page. For example, you might add a switch breaking_news, which would be used by your template to display the article in a special place on your site. (Newscoop comes with two switches by default, Show article on front page and Show article on section page)

Numeric: allows you to add numeric elements to your articles, such as longitude/latitude, temperature, or exchange rate

Newscoop makes a distinction between the Template Name and Display Name for each Article Type and field. The Template Name is limited to letters, numbers, and underscores (no spaces) and is used internally by your Newscoop template. The Display Name is the part that the journalist will see, and can be translated into other languages.

Adding a new Article Type

Click the Add new article type link at the top left of the Article Types page.

The Add new article type page will appear. The first step is to enter the Template Type Name of the Article Type you wish to create. In this example, we'll create an Article Type with the template type name review_article - note that it has an underscore, instead of a space, between the words review and article.

After you click the Save button, you will be prompted to enter the Template Field Name of the first field in the new Article Type. Select one of the six field Types available from the drop-down menu, for example Topic. For this particular field type, we'll also have to select a top level element, such as Entertainment / Review.

If you add a Multi-line Text with WYSIWYG field, you have the option to mark the field as content, using a checkbox. This means that each time this particular field is served by Newscoop, it counts as a page read for statistical purposes.

After clicking the Save button, the Article type fields page is shown. The Article Type that you are currently working on is shown in the breadcrumb trail beneath the main navigation menu.

Click on the Show display names link to add a Display Name for this new field. Select the language you require from the Add translation drop-down menu, and enter the display name for the new field in this language. Then click the blue Translate button.

The Article type fields page will now show the Display Name for the field, together with a language code (in brackets) to indicate its translation. Note that the Display Name can contain spaces, or be capitalized differently from the Template Field Name.

Continue to add new fields to this Article Type, until you have all that you need. Then click the link Back to Article Types List, next to the blue arrowhead icon. This action will return you to the Article Types page.

Editing Article Types

You can add translated Display Names for your new Article Type after clicking on the Show display names link in the Article Types List.

Article Types are not set in stone; they can evolve as your publication evolves. For example, you can hide old Article Types that are no longer in use. Toggle whether a type is shown by clicking on the colored light icon in the Show/Hide column - green for shown, red for hidden. A pop-up dialog will ask you if you are sure about this action.

Hiding a type is less dangerous than deleting it; the latter action will remove the associated content from the server. The delete button is a white cross in a red square icon, over on the right side of the page. Use this button with caution!

As usual when carrying out an action that will have an impact on your publication, Newscoop will ask you if you are sure.

In the Article Types List there is also a Comments enabled? column, which toggles readers comments on and off for a specific Article Type. For example, you might wish to disable reader comments for all entertainment reviews, but leave them enabled for news articles.

Article types can be renamed, simply by clicking on the Template Type Name in the Article Types page. Remember that if you change a Template Type Name, you cannot put spaces into it.

Editing Article Type Fields

On the Article Type Fields page, fields can be renamed, given Display Names, hidden or deleted, just like Article Types. When you have more than one Article Type field, you can re-arrange the order in which the fields show up on the Edit article page by clicking the blue up and down arrows.

To change a field type, for example, from Single-line Text to Multi-line Text with WYSIWYG, click on the corresponding link for that row in the Type column. The Reassign a field type page will open, on which you can select the new type from a drop-down menu. Then click the Save button to return to the Article type fields page.

After editing article type fields, you could create a new article to test that the updated fields are displayed as expected.

Merging Article Types

Newscoop enables you to merge two different Article Types so that content in fields from one type (the Source Article Type) is migrated to another (the Destination Article Type). This is a useful process to go through after adding or editing an Article Type, so that all previously written copy matches the new Article Type fields.

On the Article Types page, click the Merge types link. This opens the Merge article type page. Select the source and destination Article Types you wish to merge from the drop-down menus.

Next, choose the fields of the source which you'd like to merge into fields of the destination. Note that you cannot merge a larger source field, such as 'Multi-line Text with WYSIWYG', into a smaller destination field, such as 'Single-line Text'. If this merge was allowed, then content from the larger field could be lost.

The next screen displays the result of the potential merge. Any source fields which have not been mapped to destination fields are shown in a red font. You may need to create additional fields in the destination Article Type before attempting the merge again.

You can cycle through all the articles which will be merged, and preview the changes. Optionally, check the box to Delete the source article type. When you're ready, click the Merge button.

If there are no articles left belonging to the Source Article Type, Newscoop will display a warning message at the first step of the proposed merge.

Topics

In Newscoop, topics are the subject matters assigned by editors and journalists to articles, so that related articles can be identified and displayed together. A topic can have many subtopics; for example: the sports topic could have the subtopics football, basketball, and water polo. An individual article may have several topics or subtopics assigned to it.

To review or create topics, click Configure on the main navigation menu, then click Topics from the sub-menu.

To add a new top-level topic, select a language from the drop-down menu and enter a word in the Add root topic field. Then click the Add button.

To rename a topic, click the Edit link to the right of the topic or subtopic name. The name row will expand to show the Change topic name field. Update the name, and then click the Save button.

You can translate topic names so that they appear in the correct language when an author is editing an article. To translate a topic, click the Edit link to display the Add Translation field for that topic name. Select the language you are translating into from the drop-down menu, enter the translation of the topic name, and then click the Translate button.

If you translate a subtopic and its parent has not yet been translated, the parent topic will appear in its original language until you translate it.

To add a subtopic, click the Edit link next to the topic you want to put the subtopic under. Enter a word or two into the Add Subtopic field, then click the Add button.

The new subtopic will appear underneath its parent topic.

You can delete a specific topic or subtopic using the blue cross icon, on the right hand side of its row. If you attempt to delete a topic currently in use by an article, Newscoop will warn you about this.

Languages

While Newscoop's default language is English, you are by no means limited to publishing in that language only. Click Configure on the main navigation menu, then Languages from the submenu, to see the languages currently available on the system.

The Language page enables you to configure support for languages that you wish to publish in. The Code column refers to the two-letter ISO 639-1 code name for each language. English, for example, is en, German is de, Spanish is es, Russian is ru, and so on.

Click on a name in the Language column to open a page for that language, which enables you to adjust month, day and time name translations. This feature ensures that automatically generated publication dates and times for an article in a particular language are displayed correctly to your international readers.

To add another language, click on the Add new language link, next to the green cross icon. You should enter the language name (both in your own language, and the Native name in the language itself), and its two-letter ISO code (e.g. cy for Welsh).

After entering translations in all the fields, click the Save button at the end of the page. The new language will now be shown on the Languages page.

You may wish to limit the number of languages configured on your server, in order to spare your editors and journalists from having to navigate long drop-down language menus. To remove a language, click the white cross in a red square icon at the end of each row in the list. You will be asked if you are sure about this action.

Countries

This page determines how country lists will appear in forms that readers fill in, for example when signing up for an email newsletter. It also enables you to create country lists in different languages. To see the list of country names in the default language, click Configure on the main navigation menu, then Countries on the submenu.

The Countries page shows an alphabetical list of countries, with the language they are displayed in, and a two-letter ISO 3166-1 country code for each name. Note that the alphabetical sorting is by the country code, rather than by the country name.

Click on the name of a country to edit it, then click the Save button to return to the country list.

To translate a specific country name into a particular language, click the Translate link in that country's row in the list. In the Translate country name page, select the target language from the drop-down menu, and enter the translation into the Name field. Then click the Save button.

To find your translated country names later, use the drop-down Language menu at the top of the Country page to select the language you are interested in, and then click the Search button. The search results, if any, will be listed below the Search box.

Newscoop's list includes almost all known countries by default, but if you have deleted a country and need to put it back, you can do this by clicking on the Add new country link next to the green cross icon. You will be prompted to enter the country's two-letter ISO code, name and language. The drop-down menu will contain as many languages as you have defined in Newscoop's Configure - Languages page.

Note that the language you are asked to specify is the language in which you are entering a country's name, not the language spoken in the country.

The Localizer

The default language for the Newscoop administration interface is English, but you can either use one of the many translations supplied with Newscoop, or create your own translation using the built-in Localizer tool. You can also use the Localizer to improve an existing translation, or adapt it for a regional dialect.

The first step is to check that the language you wish to translate into is in the Configure Languages list. If your target language does not exist yet, you will have to add it to Newscoop first. Then, you can open the Localizer by clicking Configure, then Localizer on the main navigation menu.

The Localizer works by enabling you to translate individual 'strings' of text that appear in the Newscoop administration interface. There are 2091 strings in the whole of Newscoop, divided into 40 Screens representing the various different pages in the interface. You can complete a localization with a team of translators working together, by tackling one screen each at a time.

Select your source (Translate from) and target (Translate to) languages from the drop-down menus, and then select a Screen, such as Geo-location or Article Types. Strings that have not yet been translated are shown in a red font. You can save your work at any time by clicking the disk icon next to one of the input fields. When you have completed your translation, there is a Save button at the end of the page.

You will encounter strings with a dollar sign in them, e.g. "$1". This means that one or more words will be substituted in place of these characters. For example, the phrase "Signed in: $1", when displayed on the interface, might be: "Signed in: Administrator". In this example, "Administrator" was substituted for "$1".

TinyMCE, the WYSIWYG article editor incorporated into Newscoop, can also be localized. The strings in TinyMCE have to be edited manually by your system administrator, which is a task done separately from the Localizer.

Sending a localization back to the Newscoop team

We actively encourage Newscoop users to send us their language localizations. This makes Newscoop more useful for people around the world. Even if a similar language localization exists, it may not address your particular needs or regional differences. For example, there may be differences in Spanish between that used in Spain and that used in Guatemala. In that case, you can localize Newscoop to your needs and share the localization with other users that speak your language or dialect.

For more information on how to contribute a localization to Newscoop, please email contact@sourcefabric.org

Logs

The Newscoop administration interface includes a feature which enables you to keep track of who has done what, and when, on your publication's server. You can examine Newscoop's log files by clicking Configure on the main navigation menu, then Logs.

The default log view displays all recent events on the Newscoop server, with 15 listings per page, and the most recent events first. Click the Next link or page number just above the search results box to see previous pages. Like most features in Newscoop, the Logs page is multilingual, so you may see log entries in languages other than your own.

To examine the logs selectively, use the Event drop-down menu above the search results box to select a particular action; for example, Add country. Then click the Search button, and the Logs page will be refreshed to list events corresponding to that action exclusively.

User management

Newscoop's user management features enable you to control access for both Staff users and Subscribers. You can define User types for your staff members, such as Journalist or Editor, and manage author profiles. User management tasks have their own sub-menu on the main Newscoop navigation menu.

Initially, Newscoop has only one user account: admin. Do not delete this account, as it is needed by the feature which informs staff users of events on the Newscoop system. The email address associated with the admin account is used as the "Reply-To" address in these notification emails.

Creating User Types

A User type is defined by a checklist of tasks that the user is allowed to perform in the Newscoop system. This list of tasks ranges from creating, managing and editing publications, sections, or articles, to template and plugin management.

Instead of configuring each access right for every single user, Newscoop enables you to create generic user types which can be assigned to multiple users.

Newscoop has five default user types, in order from most to least powerful:

Administrator - full authorization

Chief Editor - has the right to create and delete issues

Editor - limited to basic article management and editing

Journalist - can create articles, but not delete them

Subscription manager - can't change editorial content

To create a new user type, select Staff User Types from the Users menu, then click the Add new user type link next to the green plus sign icon.

Name the new user type, and check the boxes for the rights that you want enabled for this type. Then click the Save button at the top or bottom of the list.

When you return to the User types list, your new user type should be shown there.

Creating Staff Users

To add a new Staff user, select Staff from the Users menu, and then click on the Add new staff member link next to the green plus sign icon.

You should specify the account name, password, full name, e-mail address and phone number of the new user. Then choose a User type (either one of the default types, or a custom user type that you have created).

Click the Show more user details link to add further information about this new user. Then click the Save button at the end of the page.

If you would like to fine-tune the rights assigned to this new user, follow the Click here to customize user permissions link on the subsequent page.

Managing Authors

Newscoop includes a feature for managing author profiles, which you can find by clicking Manage Authors on the Users menu. Authors do not necessarily have corresponding login accounts on the Newscoop system, but they can still be credited as contributors to articles.

Further information can be saved for each author, using the three tabs on the right-hand side of the page. Multiple author types can be assigned for credits on a particular article, including Writer, Photographer, Editor or Columnist. The Biography tab includes a field for uploading an author photo, while the third tab, Content, tracks any articles associated with the author.

Subscriptions

Newscoop allows you to control reader access to your publication through its built-in subscription features. (If you want to have all your content freely accessible, your designer can bypass the subscription features in your publication's templates). Articles that you create in your publication are available to subscribers only by default. However, Administrators have the right to make a particular article accessible to non-subscribers.

Newscoop enables you to control access to your site in two ways:

Account name and password pairs, which are suitable for individual users

IP address range access, more suitable for institutional subscribers (libraries, universities, NGOs, companies)

Account name and password access

A non-subscriber who tries to access a subscriber-only article sees a message indicating that they should log in or register to see it.

The reader has the option to subscribe immediately to all articles in the same section, or the whole publication. This subscription can be paid or trial, depending on the reader's choice. 

The list of subscribers is available in the Newscoop administration interface by clicking on Users in the main navigation menu, then Subscribers.

The subscription management interface includes a search tool which enables you to list readers according to several criteria, including subscription expiry date.

The duration of paid or trial subscriptions is determined by the Default time periods set when you created the publication. (You can change these settings for your publication by clicking the Configure icon in the Publication list). During a trial period, the reader has a chance to make payment, and consequently have their subscription extended by an administrator.

The publication's administrator is automatically notified of all new subscriptions by e-mail. Subscribers also receive automatically generated e-mail reminders that their subscription is expiring two weeks before the event. The text of the subscription expiry message is created in a Newscoop template by your web developer. The default system template reads as follows:

"Dear <reader>,

This is an automatically generated e-mail message. Your <subs_type> subscription (started on <start_date>) to publication <publication> will expire on <date> (in <number> days).

Please enter the site http://<pub_site> to update subscription."

IP address access

The IP based access feature of Newscoop can be used to automatically log in subscribers that have IP (Internet Protocol) addresses in a known range. This means that groups of readers with computers in that IP range do not need account names or passwords to access your subscription-only content.

To create an IP Address subscription, go to the Subscriber management page. First, create a subscriber account by clicking on the Add new subscriber link, next to the green plus sign icon. Enter an Account name, a password, and a Full name with E-mail address and Phone number for the subscribing group or institution. You do not need to inform the readers who will be using IP address access of the existence of this Account name and Password.

Once the new subscription account has been created, click on the Add new link in the User IP access list management table on the right hand side of the page.

The form allows the input of a range of consecutive IP addresses. If necessary, more ranges can be added later. The start IP address is the lowest address in the range, while the number of addresses sets the size of the range, including any address ending in zero. For example, if a university library had the range of IP addresses 198.51.100.0 to 198.51.100.63, then you would enter:

start IP address: 198.51.100.0

number of addresses: 64

It is not necessary to add anything to the Newscoop templates for IP based subscriptions to work.

It is also possible to search for subscribers based on known IP addresses. In the search box on the Subscriber management page, enter a number in at least one box in the field labeled IP address, starting on the left side. Click the Search button, and the page will display all subscribers that have known IP addresses which match that number (or numbers).

Synchronize Newscoop and Phorum users

This feature is found on the Users menu. It enables administrators to update the database of reader login accounts, so that readers can post comments in both the Newscoop publication and an associated Phorum bulletin board.

Using plugins

Plugins enable your system administrator or template designer to add functionality to your Newscoop installation without having to write a large amount of code. They can also enable you to make better use of the content and templates already in your Newscoop publication. Currently, there are three plugins installed by default with Newscoop:

Polls: A mechanism for your readers to vote on a question; the question can be set dynamically and can be multilingual

Interviews: Enables on-line interviews for your Newscoop publication; readers can see the latest questions and answers

Blogs: Enables staff members to create and post to their own blogs, including comments

Installing new plugins

Once new plugins are downloaded to your computer, they can be uploaded to your Newscoop server. Plugins must be uploaded to the Newscoop server in .tar archive format. In the Newscoop administration interface, click Plugins on the main navigation menu, then Manage Plugins. Click the Browse button to select the plugin from your computer, then click the Upload button. Once a plugin is correctly installed, you will be able to administer it using separate entries on the Plugins menu.

The Manage Plugins page also provides you with a list of installed plugins. There is a check box which can be used to enable or disable each plugin. The white X in a red box icon enables you to delete a plugin from your system.

Plugins require changes to your site's templates, but each plugin also includes sample templates for your designer to either copy and paste, or to use as a guide for their own template code.

Backup and upgrade

Before upgrading a running server to the latest version of Newscoop, it is strongly recommended that you back up your publication database, templates, images, file attachments and configuration files. First, log in to the administration interface (see the Getting started chapter in this manual for details). Click on Actions in the main navigation menu. At the lower end of this menu, click Backup/Restore.

On the Backup/Restore page which opens, click the Make new backup link next to the green plus sign icon.

A dialog box will ask you if you are sure you want to make the backup.

Click the OK button, and a pop-up window will display the progress of the backup. Once the window reports Backup saved to file: you can click the Close link to return to the Newscoop administration interface.

On the Backup/Restore page, the backup you just made should be listed, together with any previous backups.

Click on the disk icon in the Download column to save the gzipped backup tarball (with the .tar.gz file extension) from your Newscoop server to your desktop computer.

To restore a previous backup into a running Newscoop system, click the Upload backup file link, and then select the backup from your desktop computer's file system.

Running the upgrade script

After you have completed the backup successfully, update your Newscoop installation using either the automated or manual methods described in the following chapters. Then run the upgrade.php script in your web browser, for example:

http://www.example.com/upgrade.php

Automated installation

Ready made packages of Newscoop are available for Debian and Ubuntu GNU/Linux via secure apt. This is the recommended installation method for Newscoop, because it offers automatic updates and resolution of package dependencies. This guide assumes that you have sudo or root powers on the target server - if not, you need to ask your system administrator to install Newscoop for you.

Installing MySQL

Two components of the MySQL database management system are needed by Newscoop:

the server

the client programs

Depending on your requirements, you may prefer to run the MySQL database server on a separate machine from the MySQL client. The MySQL client must be installed on the same machine as Newscoop. On Debian/Ubuntu, installing the mysql-server metapackage will install the latest versions of both the server and client packages.

$ sudo apt-get install mysql-server

During the installation of MySQL, you should be prompted to set a root password for the MySQL server, which is an important security feature. Make a note of this password and keep it in a secure place, as you will need it shortly.

Note that the MySQL root user is different from the system root user, and should have a different password.

Setting up the database user and password

An existing Newscoop installation should have a named database already set up on a MySQL server, with access protected by a username and password. For a new installation of Newscoop, you will need to tell the installer to create a database to store your content in. This means you will need a MySQL user account with database creation privileges set up in advance. If you don't already have an account, you can set up a database username and password for the Newscoop installer to use with the following steps.

1. Connect to the database management system using the root account and the password that you set during the MySQL installation.

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.41-3ubuntu12.8 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

2. The shell prompt will change to a mysql> prompt, which requires a semicolon at the end of each command. Create a user account for Newscoop to connect to the database, limiting it to connecting from the localhost if Newscoop and MySQL are to be installed on the same server. Otherwise, specify the server that Newscoop will be connecting to MySQL from. Make a note of the username (newscoop_user in the example below) and password (newscoop_user_password in the example) that you set, in a secure place. You will need these details during the Newscoop installation.

mysql> CREATE USER 'newscoop_user'@'localhost'
    -> IDENTIFIED BY 'newscoop_user_password';
Query OK, 0 rows affected (0.04 sec)

3. Grant access privileges to the user you just created. In this example, newscoop.* means all tables of a database called newscoop, which has not yet been created. You will need to provide this database name to the Newscoop installer, so that it can create the database later.

mysql> GRANT ALL ON newscoop.*
    -> TO 'newscoop_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)

4. Exit from the database management system and return to the shell prompt.

mysql> quit;
Bye
$

Setting up the secure apt repository

To add the repository that contains the Newscoop software, open the sources.list file in the nano editor with:

$ sudo nano /etc/apt/sources.list

Type your password, and the sources.list file will open. For Ubuntu Lucid LTS, scroll to the end of this document and add the following line:

deb http://apt.64studio.com/backports/ lucid-backports main

For Ubuntu Maverick, substitute maverick-backports in place of lucid-backports. For Debian Squeeze, substitute squeeze-backports in place of lucid-backports.

Press Ctrl+O to write out the sources.list file, and Ctrl-X to quit the nano editor.

You now need to update your sources. Type:

$ sudo apt-get update

You will probably see an error message about a missing public key.

To fix this, you need to install the 64studio-apt package, which contains the package signing key:

$ sudo apt-get install 64studio-apt

Update your sources again, to confirm that you are now using a trusted software repository:

$ sudo apt-get update

You should no longer see the error message about the public key.

Installing the Newscoop package

After confirming that the secure apt repository is set up, you can install the Newscoop package:

$ sudo apt-get install newscoop

This command will install all of the Newscoop components, plus any other packages that Newscoop requires in order to run.

The package installer will ask you a few questions about the kind of server you want to set up, such as the Apache configuration that you require.

Optionally, install XCache for optimum Newscoop performance:

$ sudo apt-get install php5-xcache

Configuration options for XCache are covered in the Manual installation chapter.

Finally, check that Newscoop is running. Open a web browser with the URL of the web server that you have installed, such as http://www.example.com. For a test installation accessed from the same machine, this URL might be:

http://localhost/

If you see the Newscoop installer page, and you do not wish to adjust the default XCache settings, you can now skip the chapter Manual installation and proceed to the chapter Installation steps.

Manual installation

The following manual installation method is intended for more experienced system administrators, and assumes that you have sudo or root powers on the target server. If ready-made packages of Newscoop are not available for your GNU/Linux distribution of choice, you can install the software manually using the tarball available for download from Sourcefabric:

http://newscoop.sourcefabric.org/

Dependencies

Before performing a manual installation, you will have to verify that all of the dependency packages that Newscoop requires are already installed and working. These dependencies are:

1. Apache web server (http://www.apache.org) version 2.0.x or newer.

On Debian or Ubuntu GNU/Linux, you can install the apache2 metapackage, which will install all of the web server packages you need.

$ sudo apt-get install apache2

2. MySQL database management system (http://www.mysql.com) version 5.0 or newer.

Two components of MySQL are needed for Newscoop:

the server

the client programs

These components are usually packaged separately, because you may prefer to run the MySQL server on another machine from the MySQL client, which must be installed on the same machine as Newscoop. On Debian/Ubuntu, installing the mysql-server metapackage will install the latest versions of both the server and client packages.

$ sudo apt-get install mysql-server

During the installation of MySQL, you should be prompted to set a root password for the MySQL server, which is an important security feature. Make a note of this password and keep it in a secure place, as you will need it shortly.

Note that the MySQL root user is different from the system root user, and should have a different password.

3. PHP scripting language (http://www.php.net) version 5.0 or newer.

The following PHP modules must be installed:

php5-cli - Command Line Interface module

php5-mysql - functions for accessing the MySQL database server

php5-gd - provides a module for handling graphics from PHP scripts

$ sudo apt-get install php5-cli php5-mysql php5-gd

These modules have the same names in the equivalent Debian/Ubuntu packages. You will also need the PHP module for the Apache web server, which has the package name libapache2-mod-php5 in Debian/Ubuntu. This package should be installed automatically as a dependency when installing the PHP packages mentioned above.

4. ImageMagick (http://www.imagemagick.org).

Needed for creating thumbnails of images. Available in Debian/Ubuntu's imagemagick package.

$ sudo apt-get install imagemagick

All of these Newscoop dependencies are available as standard packages in most GNU/Linux distributions. You should be able to find them using your distribution's software package manager, although the exact package names can vary from the examples given above for Debian/Ubuntu.

Setting up the database user and password

An existing Newscoop installation should have a named database already set up on a MySQL server, with access protected by a username and password. For a new installation of Newscoop, you will need to tell the installer to create a database to store your content in. This means you will need a MySQL user account with database creation privileges set up in advance. If you don't already have an account, you can set up a database username and password for the Newscoop installer to use with the following steps.

1. Connect to the database management system using the root account and the password that you set during the MySQL installation.

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 34
Server version: 5.1.41-3ubuntu12.8 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

2. The shell prompt will change to a mysql> prompt, which requires a semicolon at the end of each command. Create a user account for Newscoop to connect to the database, limiting it to connecting from the localhost if Newscoop and MySQL are to be installed on the same server. Otherwise, specify the server that Newscoop will be connecting to MySQL from. Make a note of the username (newscoop_user in the example below) and password (newscoop_user_password in the example) that you set, in a secure place. You will need these details during the Newscoop installation.

mysql> CREATE USER 'newscoop_user'@'localhost'
    -> IDENTIFIED BY 'newscoop_user_password';
Query OK, 0 rows affected (0.04 sec)

4. Grant access privileges to the user you just created. In this example, newscoop.* means all tables of a database called newscoop, which has not yet been created. You will need to provide this database name to the Newscoop installer, so that it can create the database later.

mysql> GRANT ALL ON newscoop.*
    -> TO 'newscoop_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)

5. Exit from the database management system and return to the shell prompt.

mysql> quit;
Bye
$

PHP modules

On Debian or Ubuntu, the PHP modules that you have installed should be configured automatically, with an entry for each module added to the /etc/php5/apache2/conf.d/ directory. You can also create your own PHP customization options using files in that directory, which should not be overwritten when the main php.ini file is upgraded.

On other distributions of GNU/Linux, you may need to add a line for each module to the php.ini file, such as /etc/php5/apache2/php.ini or similar. The following extensions should be enabled. If the line is already present but starts with the semi-colon comment ';' you will need to remove this character for the corresponding extension to work.

extension=gd.so
extension=mysqli.so
extension=mysql.so

PHP configuration

On any GNU/Linux distribution, the php.ini file contains some default settings which should be checked or adjusted to enable optimum Newscoop performance and security. You can do this by opening the file in your text editor:

$ sudo nano /etc/php5/apache2/php.ini

The recommend settings are that you should:

1. Turn off register_globals because it's a potential security hole:

register_globals = Off

2. Set the amount of memory available to at least 128MB:

memory_limit = 128M

3. Turn off magic quotes:

magic_quotes_gpc = Off

4. Allow HTTP file uploads:

file_uploads = On

The values above are the default settings on Debian or Ubuntu. You may wish to adjust the following two settings, which affect the maximum size of media that Newscoop users can upload.

5. The maximum size of POST data that PHP will accept defaults to 8MB on Debian/Ubuntu. You may find that you need to set this higher, for example:

post_max_size = 100M

6. The maximum allowed size for uploaded files defaults to 2MB on Debian/Ubuntu. This is likely to be insufficient for large multimedia attachments, so you may wish to set this value higher. However, it must not be higher than the maximum POST size set above, otherwise large uploads may fail.

upload_max_filesize = 100M

7. You may also wish to disable automatic session garbage collection, which can cause permissions errors to be shown in the browser if your server runs Debian or Ubuntu. These GNU/Linux distributions use a cron job /etc/cron.d/php5 to perform garbage collection instead.

session.gc_probability = 0

Apache configuration

The Apache web server's configuration will need to be adjusted to set the path to the Newscoop files and templates. On Debian or Ubuntu, Apache configuration files are usually found in the /etc/apache2/sites-available/ directory.

1. Create a file such as newscoop containing a virtual host definition.

$ sudo nano /etc/apache2/sites-available/newscoop

For a publication with the domain name www.example.com, you could use a virtual host definition like the following:

<VirtualHost *:80>
      DocumentRoot /var/www/newscoop
      ServerName example.com
      ServerAlias www.example.com
      DirectoryIndex index.php index.html
      <Directory /var/www/newscoop>
              Options -Indexes FollowSymLinks MultiViews
              AllowOverride All
              Order allow,deny
              Allow from all
      </Directory>
</VirtualHost>

If the ServerName or ServerAlias that you are using is not yet set up in DNS for this particular machine's IP address, you can create a temporary hostname in your /etc/hosts/ file which will enable you to test the installation locally.

2. Disable the default Apache configuration, if you aren't using it.

$ sudo a2dissite default
Site default disabled.
Run '/etc/init.d/apache2 reload' to activate new configuration!

3. Enable the Newscoop configuration that you just created.

$ sudo a2ensite newscoop
Enabling site newscoop.
Run '/etc/init.d/apache2 reload' to activate new configuration!

4. You may also need to enable Apache's rewrite module. On Debian/Ubuntu, you can do this with the a2enmod command:

$ sudo a2enmod rewrite

The server should respond:

Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!

5. Restart Apache as suggested by the output of the command above, so that the Newscoop configuration and the new modules can be loaded:

$ sudo /etc/init.d/apache2 restart

The server should respond:

* Restarting web server apache2                           [ OK ]

Installing Newscoop 

1. Extract the Newscoop tarball that you downloaded in your working directory. This action will generate a directory named 'newscoop'.

$ tar -xvzf newscoop-3.5.0.tar.gz

2. Change into the 'newscoop' directory, and examine the contents with the ls command.

$ cd newscoop
$ ls

The output of this command should appear similar to:

ChangeLog  COPYING  CREDITS  documentation  INSTALL  README  src  UPGRADE

3. Copy the contents of the src directory into the DocumentRoot directory of the Apache virtual host that you set up, such as /var/www/newscoop/

$ sudo cp -r newscoop/* /var/www/newscoop/

4. Change the ownership of the DocumentRoot directory to the username of the web server, for instance www-data on Debian or Ubuntu.

$ sudo chown -R www-data /var/www/newscoop/

5. Open a web browser with the URL of the Apache ServerName or ServerAlias that you set up earlier. If you see the Newscoop installer page, you are ready to proceed through the installation steps.

Installing XCache

This step is optional, but highly recommended for optimum Newscoop performance. On Ubuntu, you can install XCache with the following command:

$ sudo apt-get install php5-xcache

You may wish to adjust the XCache configuration for your particular requirements:

$ sudo nano /etc/php5/conf.d/xcache.ini

On a Debian or Ubuntu server with two processors, example adjustments to the default configuration might be:

; Configure this to use admin pages
xcache.admin.user = "my_admin_name"

; xcache.admin.pass = md5($your_password)
xcache.admin.pass = "5f4dcc3b5aa765d61d8327deb882cf99"

; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows
xcache.size  =                32M

; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 2

; for *nix, xcache.mmap_path is a file path, not directory.
xcache.mmap_path =    "/var/cache/xcache"

The value of xcache.admin.pass shown above is just an example. You should generate your own md5 hashed password using a piped command such as:

$ echo -n "password"|md5sum

You can set up your Apache VirtualHost to allow administrator access to the XCache statistics page from the localhost, or a specific IP address that you determine. Add a stanza like the following to the VirtualHost definition that you created earlier:

# php xcache stats
Alias /xcache/ /usr/share/xcache/admin/
<Directory "/usr/share/xcache/admin/">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from localhost
</Directory>

Installation steps

At the URL of your publication's new site, Newscoop should display a Pre-installation Check page indicating the status of dependencies.

If there are any No entries in the Status column, check your Apache server logs for errors. Otherwise, click the Next button to run through the installation steps.

The next step is for you to review the license under which Newscoop is distributed, which is the GNU General Public License version 3. Click the Next button if you accept the license terms.

Next, you need to set the Server Name/Address for the database, which will be localhost if Apache and MySQL are running on the same machine. You only need to enter a number in the Server Port field if you are using a non-standard MySQL port. Then enter the User Name, User Password and Database Name that you set up earlier.

If you enter a Database Name which already exists on the specified server, you will asked if you wish to Overwrite Database. Only click the Yes option if you are very sure that any production databases are fully backed up.

Next is the Main Configuration page, which is where you set the name of your first publication, as well as the password and email address for Newscoop's admin user. This user account is critical for management of your Newscoop publications, so make sure that you keep the password somewhere secure.

Newscoop includes a demonstration publication template which you can use for evaluation purposes. For the demo template to work, you will need to set up a Publication alias with your chosen ServerName later. If you already have a template designed, or wish to start with an empty template set, click the No, thanks! radio button.

The next page of the installer sets up automated maintenance tasks for your Newscoop server, using cron jobs.

Once installation has completed, two large buttons are shown. Clicking on the upper button, with a tools icon, redirects you to the Newscoop administrator interface. The lower button takes you to the Sourcefabric website, for further information and support on Newscoop.

If you attempt to access the reader side of your new website before logging into the administration interface for the first time, you may see an error message in your web browser that the site alias (such as www.example.com) was not yet assigned to a publication. This aspect of Newscoop configuration is dealt with in the Creating a publication chapter of this manual. 

Installing a sample publication

Newscoop's templating engine allows you to customise your online publication with full separation of design and content. You do not need to compromise when tailoring the template to fit your design, but some Newscoop publications prefer to start with a ready-made template.

On the Sourcefabric website you can find a number of sample publications for Newscoop, providing all elements of a publication: database structure, sample content and the actual templates. These sample publications are provided in the form of Newscoop backup files.

Warning: if you already have one or more publications on your Newscoop server, uploading a sample publication will erase your entire database and files from all your publications, and replace them with sample content! Do not attempt this procedure on a production Newscoop server unless you have backed it up first! 

Using the Backup/Restore feature of Newscoop, you can install a sample publication file after downloading it from the Sourcefabric website to your local computer's desktop. Then log in to the Newscoop administration interface, and select Backup/Restore from the Actions menu.

On the Backup/Restore page, click the Upload backup file link, and click the Browse button to select the sample publication file from your local computer. Then click the Save button to upload the file. After upload, click the Restore icon for the sample publication, on the right side of the list of the available backup files. This orange and white icon looks like a life preserver, of the kind you might find on a boat.

The restore process starts with an empty pop-up window, connecting to the server. Do not close this window, otherwise the restore process will be interrupted. The process takes some time (it can be minutes, depending on the size of the publication and the speed of the server). After the restore process has finished, there is only one user in the system, the Administrator, with the login and password both set to: admin

To finish the process, log in as admin. Then go to Content > Publications and select "Configure" in the new publication. Now add the URL of your publication as a site alias.

The sample template should now be visible at the URL of your publication.

Where to go for support

Sourcefabric offers full commercial support for Newscoop. Additional support is provided to the Newscoop user and developer community.

Forum and mailing list: You can visit the Newscoop online support forum, and sign up for the mailing list, at http://forum.sourcefabric.org/index.php/f/10/.

This forum is mirrored by the mailing list, so posts on the forum appear on the mailing list and vice versa. You can therefore also post a message there by emailing: newscoop-support@lists.sourcefabric.org.

To subscribe to forum updates via mail, please register or login to the forum by clicking the appropriate link. Then click the 'Subscribe' button at the top of each forum page.

Bug reporting: Newscoop needs your input to improve. If you think you've found a bug, please visit http://dev.sourcefabric.org and sign in, using the same login and password that you registered for the Newscoop forum. Create a bug report by selecting Create Issue, then Newscoop, and then Bug. That way, the Newscoop team can keep track of your problem and notify you when it has been fixed. You can also suggest improvements and new features for Newscoop on that site.

Contact: Finally, when all other avenues have been exhausted, email us directly at contact@sourcefabric.org and we'll try to help!

Credits

Newscoop is being developed by an international community of developers and designers led by Sourcefabric.

http://newscoop.sourcefabric.org

Copyright © 2011 Sourcefabric o.p.s.
Copyright © 1999-2010 Media Development Loan Fund.

License

All chapters in this manual are licensed with the GNU General Public License version 3.

This documentation is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this documentation; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Authors

This manual has been edited and reworked by Daniel James, based on the collaborative effort at FLOSS Manuals. Thanks to all contributors!

Free manuals for free software

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS

0. Definitions.

“This License” refers to version 3 of the GNU General Public License.

“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.

A “covered work” means either the unmodified Program or a work based on the Program.

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

1. Source Code.

The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.

A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.

The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.

The Corresponding Source for a work in source code form is that same work.

2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

3. Protecting Users' Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.

4. Conveying Verbatim Copies.

You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

a) The work must carry prominent notices stating that you modified it, and giving a relevant date.

b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.

c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:

a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.

b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.

c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.

d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.

A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.

Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.

7. Additional Terms.

“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.

When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:

a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensors or authors of the material; or

e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.

All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.

If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

8. Termination.

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).

However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.

9. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.

11. Patents.

A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.

A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.

Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.

In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.

If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.

If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.

A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.

Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.

12. No Surrender of Others' Freedom.

If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

14. Revised Versions of this License.

The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

15. Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.

If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.

END OF TERMS AND CONDITIONS