Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate wiki pages to RST and integrate with front page #10

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
52 changes: 52 additions & 0 deletions conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))


# -- Project information -----------------------------------------------------

project = 'Twisted'
copyright = '2022, TDB'
author = 'TDB'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'furo'

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
27 changes: 27 additions & 0 deletions content/pages/APIDocs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Twisted API Documentation
#########################


This page describes how to generate the API docs for the Twisted web site.

You will need the latest Twisted release unpacked and the latest version of pydoctor

Steps
=====

1. Modify template.tpl to include the Google Analytics JavaScript (which can be found in the source of any trac page).
2. Run an interactive Python session that goes something like this:

.. code-block:: python

>>> from twisted.python._release import APIBuilder
>>> from twisted.python.filepath import FilePath
>>> APIBuilder().build('Twisted', 'http://twistedmatrix.com/trac',
'http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.2.0',
FilePath('Twisted-8.2.0/twisted'), FilePath('apidocs'))

Be sure to use the tag which corresponds to the version of Twisted the docs are being generated for. Note that if your working is the Twisted source directory you checked out, then ''that'' version of `APIBuilder` will be used!

3. Upload the resulting ``apidocs`` directory to www-data@cube. Use ``tar cx apidocs | ssh [email protected] tar xv`` or something.
4. Put the apidocs directory into the appropriate location beneath vhosts/twistedmatrix.com/documents/ (eg 8.2.0/api)
5. If desired, update the ``current`` symlink.
92 changes: 92 additions & 0 deletions content/pages/ArchivedNews.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
Twistery In the News
####################


Twisted Announces Membership in the Software Freedom Conservancy (2008-03-16)
=============================================================================

At PyCon 2008 we were delighted to share some good news with the Python community: the announcement of the `Twisted Software Foundation </content/pages/Twisted/TwistedSoftwareFoundation.html>`_. Glyph had previously emailed the Twisted mail list, letting those close to the project know of this major event shortly after the paperwork was signed. Before we brought this before a more public audience, we wanted to give companies a chance to become "founding sponsors" -- and this is what has happened at PyCon. We're looking forward to issuing a formal press release about this (including info on the founding sponsors) and will have more details in the near future.

We would like to send a special thank-you out to those sponsors who made contributions immediately. In order of contribution, they are:

* Chris Armstrong
* Michel Pelletier
* AdytumSolutions, Inc.
* tummy.com
* Drew Perttula
* Glenn Tarbox
* Ilya Novoselov

Read the initial announcement `here <http://twistedmatrix.com/pipermail/twisted-python/2008-February/016740.html>`_. If the video for the announcement made at PyCon gets published somewhere, we will post an update.

The Twisted Show: Episode 2 (2008-02-26)
========================================

Yesterday, Duncan had the chance to talk with Jack Moffitt and Christopher Zorn of `Chesspark <http://www.chesspark.com/>`_ about their company, their vision, and how Twisted played an integral role in their application and helped them to meet their goals.

The interview is on `the site <http://twistedmatrix.com/trac/wiki/InterviewChesspark200802>`_ and the feed is available `there <http://feeds.feedburner.com/TheTwistedShow>`_.

We're still experimenting with podcasting and feed enclosures, so please be patient with us! If you have any issues, the media files are available at `archive.org <http://www.archive.org/details/TwistedMatrixLabsInterviewWithChesspark>`_.


Twisted Matrix Laboratories Blog (2007-12-02)
=============================================

TM Labs has a `new blog <http://labs.twistedmatrix.com>`_ ! We will be posting various items of interest that relate to development of Twisted, useful community information, and enthralling news events. Add us to your reader!

Episode 1 of the "Twisted Show" (2007-01-22)
============================================

`The Twisted Show </content/pages/TheTwistedShow.html>`_ is a new experiment we are trying at TM Labs in an effort to let people and business who are solving unique and/or interesting problems with Twisted share their solutions with a wide audience.

This first installment is an interview with a few folks at `Renkoo <http://renkoo.com/>`_ who are using Twisted to innovate meetings as part of the social media landscape.

Twisted 2.5.0 (2007-01-11)
==========================

Major Twisted release! Read the `release announcement <http://twistedmatrix.com/pipermail/twisted-python/2007-January/014589.html>`_ and click
on things on the `Downloads </content/pages/Downloads.html>`_ page.

New Twisted Site Goes Live! (2006-12-04)
========================================

Thanks to the efforts of the Twisted Team and the visual design and CSS skills of `Huw Wilkins <http://huw.ugbox.net/blog/home.php>`_, we have rolled out our latest version of the Twisted Matrix Labs web site.

Enjoy!

Apple Releases iCal Server Code (2006-08-07)
============================================

Apple's iCal Server is written in Twisted. Visit the `development site <http://trac.macosforge.org/projects/calendarserver>`_ to read more about the software and to get started with it now.

Twisted 2.4.0 (2006-05-25)
==========================

Including updates to Words, Web, Names, Mail, Conch, and more. See `TwistedProject </content/pages/Twisted/TwistedProject.html>`_.

Twisted Sprint in Sydney (2006-05-19)
======================================

Twisted's Australian hackers are converging in Sydney on the June 3-4 weekend. If you are Australian and think you might be made of internet, find out more about the SydneySprint

Twisted 2.2.0 (2006-02-12)
==========================

Twisted 2.2.0 is out. See `TwistedProject </content/pages/Twisted/TwistedProject.html>`_.

Twisted (core) 2.1.0 + First Virtual Sprint (2005-10-09)
========================================================

In Twisted's first virtual sprint the weekend of 2005-10-08, many people contributed to Twisted in general and helped get the Twisted 2.1.0 release out. See the Twisted project page and read about what's new.

Australian Twisted Sprint 2005.2 (2005-08-07)
=============================================

A Twisted Sprint will be held in Sydney Australia on the 19-21 August 2005. Topics will probably include documentation, a VFS layer (including WebDAV support), the new Axiom database, and whatever else anyone can think of. For more information, please see the Australian Twisted Sprint Wiki.

Thanks to Linux Australia for funding this sprint.

Twisted 2.0.1 NOW released (2005-05-25)
=======================================

Twisted 2.0.1 is now out. This is a minor release, only including bugfixes since 2.0.0. One of the most important fixes was a bug causing many gtk GUI apps to crash. Twisted News is now properly included in the Sumo release. Enjoy.
5 changes: 5 additions & 0 deletions content/pages/BasicGuideToContributingCode.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Basic Guide To Contributing Code
################################


Please see `Contributing to Twisted Labs! </content/pages/ContributingToTwistedLabs.html>`_
5 changes: 5 additions & 0 deletions content/pages/BranchPolicy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Branch Policy
#############


Please see `Ultimate Quality Development System! </content/pages/UltimateQualityDevelopmentSystem.html>`_
10 changes: 10 additions & 0 deletions content/pages/BugKeywords.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Bug Keywords
############


* **documentation** - bug is against the Twisted documentation
* **easy** - bug should be easy to fix and is a good ticket to start with if you want to get started contributing to Twisted
* **review** - bug is waiting for review
* **tests** - bugs against the Twisted unit test suite
* **upstream** - bug was submitted upstream and is waiting for them to resolve it
* **windows** - bug is against one of the Windows operating systems
6 changes: 6 additions & 0 deletions content/pages/CancellableDeferredUseCases.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Cancellable Deferred Use Cases
##############################



* ``twisted.web._newclient.Request.writeTo`` returns a ``Deferred`` which fires when the request has been completely written to the transport. If the connection is lost and a request is in the process of writing itself out, it should be told to stop. This could be done by canceling the ``Deferred`` returned by ``writeTo``. It is currently done by having a separate method on ``Request`` (requiring extra state tracking).
19 changes: 19 additions & 0 deletions content/pages/CodeReview.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Code Review
###########


Divmod uses code review for just about every change to any project. The exceptions to this are generally extremely new code which isn't seeing any use yet where the consequences of breaking things are minimal and don't outweigh the cost of developer time required by the review.

Code review is a pretty simple process: at its heart, it is little more than reading some code written by someone else. Nevertheless, it can be useful to have a set of things on which to focus during a review:

* Does the branch merge or the diff apply cleanly?
* Are there unit tests for the code being changed or added?
* Do the unit tests pass for you?
* Do the unit tests pass for buildbot?
* Is there documentation for new code?
* Where appropriate, has existing documentation been updated (including ChangeLog/NEWS files)?
* Does the code adhere to the coding style?

There's the easy list. Most are mechanical checks. Don't feel bad about rejecting a branch if the answer to any of these questions is no: the problems may seem minor in isolation, but each contributes to overall poor code quality. Moreover, sometimes apparently minor problems can be hiding larger issues.

Taking a look at the bigger picture can be a little bit harder, but it's just as important.
46 changes: 46 additions & 0 deletions content/pages/CommitterCheckList.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Committer Checklist
###################



These are things that developers with commit access to the Twisted source repository should know. The first list is of policy items (i.e., things you should or should not try to do).

#. All development is done in branches.
#. All code committed to trunk must go through the `Review Process </content/pages/ReviewProcess.html>`_ .
#. trunk commit messages must follow the format described on `Review Process </content/pages/ReviewProcess.html>`_ so that various pieces of automation can work.
#. If you check in something that breaks `trunk <http://buildbot.twistedmatrix.com/boxes-supported?branch=trunk&num_builds=20>`_ , revert it
#. Everything you check in to Git is licensed under `Twisted's license <https://github.com/twisted/twisted/blob/trunk/LICENSE>`_
#. Be in the IRC channel, at least when you're going to be committing to trunk (don't feel bad about avoiding the distraction when you're trying to get stuff done though).
#. Have fun, but not too much.

This second list includes various technical details about how you might go about doing Twisted development (and has overlap for organizational purposes):

#. All development is done in branches

#. Branch names must follow the naming convention so that various pieces of automation can work.

#. trunk commit messages must follow the format described on `Review Process </content/pages/ReviewProcess.html>`_ so that various pieces of automation can work.

#. If you check in something that breaks `trunk <http://buildbot.twistedmatrix.com/boxes-supported?branch=trunk&num_builds=20>`_ , revert it

#. If the bad revision was 07c854353d,

#. ``cd ~/Projects/Twisted``
#. ``git revert -m 1 07c854353d .``

#. Use "Reopens ticket:NNNN" in the commit message to re-open the corresponding ticket
#. Explain what broke and how and perhaps on which platform in the commit message

#. If you need to re-merge the reverted branch, revert the reversion.

#. Create a new branch or merge trunk into your branch with was previously reverted.
#. Revert again the commit containing the revert and commit the reversion: `git revert REVERT-SHA`.
#. Make your changes.
#. Push the changes for re-review

#. If you are merging a branch into trunk, you must commit exactly the merge. You may not make extra changes in the trunk working copy after the merge. It's easiest to do this if you merge changes via the Github pull request UI.

Other documents that overlap and supplement this information include:

* `Working from Twisted's Code repository <http://twistedmatrix.com/documents/current/core/development/policy/svn-dev.html>`_
* `Review Process </content/pages/ReviewProcess.html>`_
42 changes: 42 additions & 0 deletions content/pages/CommunityCode.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Twisted Community Code
######################


This wiki page is the home for information about projects to which we are collectively referring by the "super project" name "Twisted Community Code" (abbreviated "tx").

Motivation
==========

This effort was a culmination of `this discussion <http://twistedmatrix.com/pipermail/twisted-python/2008-May/017790.html>`_ that occurred on the Twisted mail list (and expressed in condensed form `here <http://twistedmatrix.com/pipermail/twisted-python/2008-May/017817.html>`_). In summary, by creating a place where anyone can contribute whatever they want, we address the long-lamented barrier to entry for Twisted community members:

#. what are often perceived as impossibly high standards, and
#. limitations on what projects are included in Twisted.

The Twisted projects (Twisted Core, Twisted Web, Twisted Mail, etc.) are maintained with exacting standards, contributions to which are rigorously reviewed and held under the highest scrutiny for code quality. This places a heavy responsibility on the developer, one that may not be desired or enjoyed by all. Additionally, there are would-be contributors whose projects, though based on Twisted, were not accepted for inclusion in Twisted proper for various reasons.

This seems to have been a good idea, as we've made a good start with three newly associated projects, even before announcing this initiative :-)

Suggestions, Not Mandates
=========================

We are making no proclamations about standards, adherences, etc.: community members are free to follow their own development practices, etc. We would like to encourage people to use the "tx" prefix for their projects, in the same way that "py" is used for general Python projects. For example, we would like the authors of "Twisted SNMP" and "Twisted Storage" to instead use something like "txSNMP" and "txStorage." We want the "Twisted" name to be reserved for projects that are part of Twisted proper.

Leadership
==========

In so much as an autonomous collective has leadership, Phil Christensen has kindly agreed to act as the point of contact for this community effort. He will maintain the community presence on Launchpad, send out announcements as necessary, and respond to inquiries, while at the same time receiving the full support of `the Labs' members </content/pages/Twisted/TwistedMatrixLaboratories.html>`_.

Launchpad
=========

We are encouraging community members to use `Launchpad <https://launchpad.net/>`_ to manage their Twisted code projects, or at the very least, mirror them. Doing so allows the project managers to assign the "tx" super project to their own, thus including them in the community of projects that use or depend on Twisted.

The Launchpad super project site is here:
https://launchpad.net/tx

To associate your Launchpad project with this super project, click the "Change details" link on your project overview page and type "tx" in the super project field. Your project should then show up in the list on the tx front page.

Useful Info
===========

* `Bazaar with Subversion <http://oubiwann.blogspot.com/2008/06/bazaar-with-subversion-and-combinator.html>`_
5 changes: 5 additions & 0 deletions content/pages/CompatibilityPolicy.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Compatibility Policy
####################


content moved here https://twistedmatrix.com/documents/current/core/development/policy/compatibility-policy.html
Loading