django-project-portfolio Documentation



Similar documents
django-cron Documentation

Django Two-Factor Authentication Documentation

latest Release 0.2.6

Django FTP server Documentation

SagePay payment gateway package for django-oscar Documentation

django-gcm Documentation

Magento OpenERP Integration Documentation

Memopol Documentation

Django FTP Deploy Documentation

The Django web development framework for the Python-aware

Using GitHub for Rally Apps (Mac Version)

Trytond Magento Documentation

Ettema Lab Information Management System Documentation

citools Documentation

Nupic Web Application development

Advanced Tornado TWENTYONE Advanced Tornado Accessing MySQL from Python LAB

Source Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE

Flask-SSO Documentation

Authorize Sauce Documentation

Django on AppEngine Documentation

GE Intelligent Platforms. Activating Licenses Online Using a Local License Server

django-helpdesk Documentation

Fritz Speed Documentation

monoseq Documentation

Git - Working with Remote Repositories

depl Documentation Release depl contributors

Effective Django. Build Nathan Yergler

VOC Documentation. Release 0.1. Russell Keith-Magee

Rapid Website Deployment With Django, Heroku & New Relic

Smarter Balanced Reporting (RFP 15) Developer Guide

flask-mail Documentation

Continuous Delivery on AWS. Version 1.0 DO NOT DISTRIBUTE

pyownet Documentation

Data Migration from Magento 1 to Magento 2 Including ParadoxLabs Authorize.Net CIM Plugin Last Updated Jan 4, 2016

Magento Search Extension TECHNICAL DOCUMENTATION

ScreenBeam. Configurator for. Windows 8.1. User Manual V1.2

Using Microsoft Windows Authentication for Microsoft SQL Server Connections in Data Archive

MyMoney Documentation

django-registration-redux Documentation

AuShadha Documentation

MarkLogic Server. Java Application Developer s Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Configuration Manual Yahoo Cloud System Benchmark (YCSB) 24-Mar-14 SEECS-NUST Faria Mehak

Writing standalone Qt & Python applications for Android

System Center 2012 R2 SP1 Configuration Manager & Microsoft Intune

How to install software applications in networks to remote computers

Slides from INF3331 lectures - web programming in Python

Using Toaster in a Production Environment

ALERT installation setup

Django Web Framework. Zhaojie Zhang CSCI5828 Class Presenta=on 03/20/2012

Tuskar UI Documentation

Django MSSQL Documentation

How to set up SQL Source Control. The short guide for evaluators

TUTORIAL ECLIPSE CLASSIC VERSION: ON SETTING UP OPENERP 6.1 SOURCE CODE UNDER WINDOWS PLATFORM. by Pir Khurram Rashdi

Mobile 1.0 Extension Module for vtiger CRM 5.1.0

twilio-salesforce Documentation

MarkLogic Server. Connector for SharePoint Administrator s Guide. MarkLogic 8 February, 2015

Introducing Xcode Source Control

Module developer s tutorial

Mercury User Guide v1.1

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

DEPLOYING EMC DOCUMENTUM BUSINESS ACTIVITY MONITOR SERVER ON IBM WEBSPHERE APPLICATION SERVER CLUSTER

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

B&K Precision 1785B, 1786B, 1787B, 1788 Power supply Python Library

How To Build An Intranet In Sensesnet.Com

Trend Micro KASEYA INTEGRATION GUIDE

AVOIDING THE GIT OF DESPAIR

Django-nonrel Documentation

Integrating Autotask Service Desk Ticketing with the Cisco OnPlus Portal

Content. Development Tools 2(63)

TIBCO Spotfire Metrics Modeler User s Guide. Software Release 6.0 November 2013

WESTERNACHER OUTLOOK -MANAGER OPERATING MANUAL

FEEG Applied Programming 3 - Version Control and Git II

MOOSE-Based Application Development on GitLab

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

SharePoint 2013 Search Topologies Explained

Tivoli Endpoint Manager BigFix Dashboard

Access Manager 4.1 Service Pack 2 (4.1.2) supersedes Access Manager 4.1 Service Pack 1 Hotfix 1 (4.1.1 HF1).

Team Foundation Server 2012 Installation Guide

How To Deploy Office 2016 With Office 2016 Deployment Tool

32-Bit Workload Automation 5 for Windows on 64-Bit Windows Systems

Jenkins on Windows with StreamBase

Installation & User Guide

SharePoint Form Field Assistant SPFF. Form Manipulations. Getting Started. Hide

Using Microsoft Azure for Students

User Management Tool 1.6

Omgeo Central Trade Manager SM

User Manual: ConPaaS Web Hosting Service

How to move a SQL database from one server to another

Learn about OverDrive APIs and how they can benefit search, discovery and reporting services at your library. Contact:

An overview of configuring WebEx for single sign-on. To configure the WebEx application for single-sign on from the cloud service (an overview)

Installing Windows Server Update Services (WSUS) on Windows Server 2012 R2 Essentials

Using Oracle Cloud to Power Your Application Development Lifecycle

Introduction to FreeNAS development

Timesheet Installation Guide

StriderCD Book. Release 1.4. Niall O Higgins

Notes on how to migrate wikis from SharePoint 2007 to SharePoint 2010

Transcription:

django-project-portfolio Documentation Release 1.2 James Bennett June 05, 2016

Contents 1 Documentation contents 3 Python Module Index 9 i

ii

django-project-portfolio is a simple Django application for displaying information about software projects you maintain. Models are included for storing information about projects, versions of projects, the status of each release and associated metadata including licensing and location of packages, source code, documentation and continuous integration. Built-in views are provided for basic display of this information. Contents 1

2 Contents

CHAPTER 1 Documentation contents 1.1 Installation guide Before installing django-project-portfolio, you ll need to have a copy of Django already installed. For information on obtaining and installing Django, consult the Django download page, which offers convenient packaged downloads and installation instructions. The 1.2 release of django-project-portfolio supports Django 1.8 and 1.9, on any of Python version supported by those versions of Django: Django 1.8 suports Python 2.7, 3.2, 3.3, 3.4 and 3.5. Django 1.9 supports Python 2.7, 3.4 and 3.5. Important: Python 3.2 Although Django 1.8 supports Python 3.2, and django-project-portfolio 1.2 supports it, many Python libraries supporting Python 3 impose a minimum requirement of Python 3.3 (due to conveniences added in Python 3.3 which make supporting Python 2 and 3 in the same codebase much simpler). As a result, use of Python 3.2 is discouraged; Django 1.9 has already dropped support for it, and a future release of django-project-portfolio will likely drop Python 3.2 support as well. 1.1.1 Normal installation The preferred method of installing django-project-portfolio is via pip, the standard Python packageinstallation tool. If you don t have pip, instructions are available for how to obtain and install it. Once you have pip, simply type: pip install django-project-portfolio 1.1.2 Manual installation It s also possible to install django-project-portfolio manually. To do so, obtain the latest packaged version from the listing on the Python Package Index. Unpack the.tar.gz file, and run: python setup.py install 3

Once you ve installed django-project-portfolio, you can verify successful installation by opening a Python interpreter and typing import projects. If the installation was successful, you ll simply get a fresh Python prompt. If you instead see an ImportError, check the configuration of your install tools and your Python import path to ensure django-project-portfolio installed into a location Python can import from. 1.1.3 Installing from a source checkout The development repository for django-project-portfolio is at <https://github.com/ubernostrum/djangoproject-portfolio>. Presuming you have git installed, you can obtain a copy of the repository by typing: git clone https://github.com/ubernostrum/django-project-portfolio.git From there, you can use normal git commands to check out the specific revision you want, and install it using python setup.py install. 1.1.4 Basic use You ll need to add django-project-portfolio to your Django-based project; since this application makes use of a custom signal which needs to be set up, it s done via a Django AppConfig subclass. So rather than adding projects to your INSTALLED_APPS setting, instead add projects.apps.projectsconfig, like so: INSTALLED_APPS = [ #... other apps here 'projects.apps.projectsconfig', ] Then run manage.py migrate to set up the required database tables, and you can start adding instances of the provided models though the Django admin interface, and wiring up the provided views in your URLconf. 1.2 Models for software projects django-project-portfolio provides three models which work together to describe software projects: Project represents a software project, Version represents a particular version of a project, and License represents the license under which a particular version is released. class projects.models.license The license under which a particular Version is released. This is tied to Version rather than Project in order to allow the possibility of relicensing from one version to another. A License has three fields, all of which are required: name CharField(max_length=255) The name of the license (for example, GPLv2 or MIT ). slug SlugField (prepopulated from name) A short, descriptive URL-safe string to identify the license. Currently there are no views in django-project-portfolio which make use of this, but the field is provided so that custom views can make use of it. 4 Chapter 1. Documentation contents

link URLField A link to an online version of the license s terms, or to a description of the license. For open-source licenses, individual license pages in the OSI license list are useful values for this field. class projects.models.project A software project. Four fields (all required) provide basic metadata about the project: name CharField(max_length=255) The name of the project. slug SlugField (prepopulated from name) A short, descriptive URL-safe string to identify the project. description TextField A free-form text description of the project. status IntegerField with choices Indicates whether the project is public or not. May be expanded to include additional options in future versions, hence the implementation as an IntegerField with choices instead of a BooleanField. Valid choices are: PUBLIC_STATUS Indicates a project which is public; this will cause built-in views to list and display the project. HIDDEN_STATUS Indicates a project which is hidden; built-in views will not list or display the project. Four additional fields, all optional, allow additional useful data about the project to be specified: package_link URLField URL of a location where packages for this project can be found. repository_link URLField URL of the project s source-code repository. documentation_link URLField URL of the project s online documentation. tests_link URLField URL of the project s online testing/continuous integration status. One utility method is also defined on instances of Project: latest_version() Returns the latest Version of this project (as defined by the is_latest field on Version), or None if no such version exists. 1.2. Models for software projects 5

Finally, the default manager for Project defines one custom query method, public(), which returns only instances whose status is PUBLIC_STATUS. This is implemented via a custom QuerySet subclass, so the method will be available on any QuerySet obtained from Project as well. class projects.models.version A particular version of a software project. There are six fields, all of which are required: project ForeignKey to Project The project this version corresponds to. version CharField(max_length=255) A string representing the version s identifier. This is deliberately freeform to support different types of versioning systems, but be aware that it will (with the built-in views) be used in URLs, so URL-safe strings are encouraged here. is_latest BooleanField Indicates whether this is the latest version of the project. When a Version is saved with is_latest=true, a post_save signal handler will toggle all other versions of that Project to is_latest=false. status IntegerField with choices The status of this version. Valid choices are (taken from the Python Package Index s status choices): PLANNING_STATUS This is an early/planning version. PRE_ALPHA_STATUS This is a pre-alpha version. ALPHA_STATUS This is an alpha version. BETA_STATUS This is a beta version. STABLE_STATUS This is a stable version. license ForeignKey to License The license under which this version is released. release_date The date on which this version was released. Additionally, the default manager for Version defines one custom query method, stable(), which returns only instances whose status is STABLE_STATUS. This is implemented via a custom QuerySet subclass, so the method will be available on any QuerySet obtained from Version as well, and also on any related QuerySet obtained through an instance of Project. 6 Chapter 1. Documentation contents

1.3 Views for software projects django-project-portfolio provides four built-in views for displaying information about software projects. Though not all possible views of the data are included here, the built-in views strive to cover the common cases. class projects.views.projectdetail Subclass of Django s generic DetailView. Detail view of a Project. Has one required argument which must be captured in the URL: slug The slug of the project. By default, this view will only display projects whose status is PUBLIC_STATUS. class projects.views.projectlist Subclass of Django s generic ListView. List of Project instances. By default, this view will only display projects whose status is PUBLIC_STATUS. class projects.views.versiondetail Subclass of Django s generic DetailView. Detail view of a Version. Has two required arguments which must be captured in the URL: project_slug slug The slug of the Project with which this Version is associated. The version of the Version. By default, only versions associated with a Project whose status is PUBLIC_STATUS can be displayed. class projects.views.latestversionlist Subclass of django.views.generic.listview. List of the latest Version of each public (i.e., status is PUBLIC_STATUS) Project. 1.3. Views for software projects 7

8 Chapter 1. Documentation contents

Python Module Index p projects.models, 4 projects.views, 6 9

10 Python Module Index

Index A ALPHA_STATUS (projects.models.version attribute), 6 B BETA_STATUS (projects.models.version attribute), 6 D description (projects.models.project attribute), 5 documentation_link (projects.models.project attribute), 5 H HIDDEN_STATUS (projects.models.project attribute), 5 I is_latest (projects.models.version attribute), 6 L latest_version() (projects.models.project method), 5 LatestVersionList (class in projects.views), 7 License (class in projects.models), 4 license (projects.models.version attribute), 6 link (projects.models.license attribute), 4 N name (projects.models.license attribute), 4 name (projects.models.project attribute), 5 P package_link (projects.models.project attribute), 5 PLANNING_STATUS (projects.models.version attribute), 6 PRE_ALPHA_STATUS (projects.models.version attribute), 6 Project (class in projects.models), 5 project (projects.models.version attribute), 6 ProjectDetail (class in projects.views), 7 ProjectList (class in projects.views), 7 projects.models (module), 4 projects.views (module), 6 PUBLIC_STATUS (projects.models.project attribute), 5 R release_date (projects.models.version attribute), 6 repository_link (projects.models.project attribute), 5 S slug (projects.models.license attribute), 4 slug (projects.models.project attribute), 5 STABLE_STATUS (projects.models.version attribute), 6 status (projects.models.project attribute), 5 status (projects.models.version attribute), 6 T tests_link (projects.models.project attribute), 5 V Version (class in projects.models), 6 version (projects.models.version attribute), 6 VersionDetail (class in projects.views), 7 11