Armstrong is an open-source publishing system designed for news organizations that gives your team the technology edge it needs to report in a media-rich environment.
Project description
Armstrong is an open-source publishing system designed for news organizations that gives your team the technology edge it needs to report in a media-rich environment.
This package is a meta package that loads all of the various components of Armstrong as independent packages. Installing this package is the easiest way to get the full distribution of Armstrong, but is not required to use the various components of Armstrong.
Getting Started
Installation
For the latest released version of Armstrong, use pip to install it from PyPI like this:
$ pip install armstrong
Development Releases
You can track the latest development of Armstrong by installing the development version from Git. Obtain the latest version by visiting our GitHub page and either cloning or downloading a tarball.
Once obtained, switch into the directory of the repository (or snapshot if a tarball was downloaded) and tell pip to install it:
$ git clone git://github.com/armstrongcms/armstrong.git ... a few lines of output from Git ... $ pip install .
Creating an Armstrong project
To help get started, the armstrong.cli component can create a basic project structure for you. Create a new project like this:
$ armstrong init mysite armstrong initialized!
Armstrong Project Structure
The following files are created in the mysite directory:
|~config/ | |-defaults.py | |-development.py | |-__init__.py | |-production.py | `-urls.py |~requirements/ | |-development.txt | `-project.txt |~templates/ | `-index.html |-wsgi.py
The config directory contains your settings and root URLConf for Django. The config.defaults module contains all of the base settings that are common to your environment. config.development has settings specific to your development environment, while config.production contains all of your production settings. config.urls is configured as the root URL configuration for your project.
You need to edit the config.development and config.production to configure the database engine you want to use.
All of your requirements are specified inside the two text files in the requirements directory: development.txt and project.txt. You can use pip to install the dependencies of your project by providing either file as an argument to pip install -r. development.txt should contain all of requirements for your development environment and include project.txt. The project.txt file should contain all of requirements that you have to have for your project.
The templates directory is configured as the base for your project’s templates. It contains a simple index.html that is loaded on a request to / so you can verify that everything is setup correctly.
The wsgi.py provides a basic WSGI module for running your project. It is configured to run using the config.development settings, so you must adjust it prior to running in production.
Note: You do not have to use the Armstrong project layout. You can utilize all of Armstrong’s components inside an existing Django project. These are here simply to help get you started.
Next Steps
Once you have the project created and configured (remember, you need to setup your database just like any other Django project), you’ve got one final step. You need to install the requirements file as there are packages that Armstrong relies on that need to be installed from GitHub.
$ cd mysite $ pip install -r requirements/project.txt
Once pip has finished, you can test out everything by running armstrong runserver from inside your project. When you load the server, you should see the welcome page.
Congrats, you’re now setup and ready to start developing on Armstrong.
Versions
Armstrong uses date-based versions for this main armstrong package. The current release is 11.06.beta.1. For more information about how versions are handled in Armstrong, see the Versions page on the wiki.
Components
Armstrong is broken down into multiple components. The main armstrong package installs these individually with each being pinned to a specific point release.
Included in the 11.06 release are the following components:
- armstrong.cli
A command line tool for creating and working with an Armstrong environment. You can use this inside an Armstrong environment as a replacement for the traditional manage.py in Django.
See the armstrong.cli repository for more information.
- armstrong.core.arm_content
Contains the basic elements for Armstrong-style content. This does not provide any concrete implementations of models, instead it includes lower level functionality: fields, mixins, and a base ContentBase for creating a shared content model.
See the armstrong.core.arm_content repository for more information.
- armstrong.core.arm_sections
Provides a system for structuring models into “sections” to be used on the site for organizational purposes.
See the armstrong.core.arm_sections repository for more information.
- armstrong.core.arm_wells
Functionality related to “pinning” content to a particular area. Wells give you the ability to specify any collection of models and their order to display in various places throughout the site.
See the armstrong.core.arm_wells repository for more information.
- armstrong.apps.articles
Simple application for handling basic articles. This provides a thin layer on top of the article-specific features found in the arm_content component, but will meet the needs of many newsrooms with simple requirements.
See the armstrong.apps.articles repository for more information.
- armstrong.apps.content
Simple application for providing a concrete Content model that other Django apps can build off of.
See the armstrong.apps.content repository for more information.
- armstrong.apps.events
An application for creating events and handling RSVPs.
See the armstrong.apps.events repository for more information.
Contributing
Start by finding the component of Armstrong that you would like to change. It is rare that you will need to start by modifying the main Armstrong repository to start.
Create something awesome – make the code better, add some functionality, whatever (this is the hardest part).
Create a topic branch to house your changes
Get all of your commits in the new topic branch
Submit a pull request
State of Project
Armstrong is an open-source news platform that is freely available to any organization. It is the result of a collaboration between the Texas Tribune and Bay Citizen, and a grant from the John S. and James L. Knight Foundation. The first release is scheduled for June, 2011.
To follow development, be sure to join the Google Group.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file armstrong-11.06.0.beta.2.1.tar.gz
.
File metadata
- Download URL: armstrong-11.06.0.beta.2.1.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7965e68e590326d0b206814b7e71032ecb9ba2065828cff9f1d400a673c9bd00 |
|
MD5 | 4785dce6fed0f87b5c57cfb7af7e2225 |
|
BLAKE2b-256 | bdad8a13ac1e8c74f19eca10693dcaf8c1fda1a3360d5ccef9e69ce468373af7 |