Merge branch 'master' of git://git.gitorious.org/conservancy/website

This commit is contained in:
Martin Michlmayr 2013-06-04 18:04:13 +01:00
commit 55c195c73f
32 changed files with 6666 additions and 138 deletions

View file

@ -71,14 +71,14 @@ class OmnibusFeed(ConservancyFeedBase):
title_template = "feeds/omnibus_title.html"
description_template = "feeds/omnibus_description.html"
author_email = "info@sfconservancy.org"
author_link = "http://sfconservancy.org/"
author_link = "https://sfconservancy.org/"
author_name = "Software Freedom Conservancy"
def item_enclosure_mime_type(self): return "audio/mpeg"
def item_enclosure_url(self, item):
if hasattr(item, 'mp3_path'):
return "http://sfconservancy.org" + item.mp3_path
return "https://sfconservancy.org" + item.mp3_path
def item_enclosure_length(self, item):
if hasattr(item, 'mp3_path'):
return item.mp3_length
@ -93,7 +93,7 @@ class OmnibusFeed(ConservancyFeedBase):
return "Software Freedom Conservancy"
def item_author_link(self, obj):
return "http://sfconservancy.org"
return "https://sfconservancy.org"
def item_author_email(self, item):
if item.omnibus_type == "news":

View file

@ -13,6 +13,11 @@ class ForceCanonicalHostnameMiddleware(object):
* adds cache headers to provide hints to squid
"""
# Never allow connection to the /admin part of the site without SSL
if (not request.is_secure) and request.path.startswith('/admin'):
url = 'https://sfconservancy.org%s' % request.path
return http.HttpResponseRedirect(url)
# Check for a redirect based on settings.APPEND_SLASH
host = http.get_host(request)
old_url = [host, request.path]

View file

@ -43,19 +43,17 @@ solving the problems of Windows and Linux interoperability.</p>
<h2>Lo&iuml;c Dachary</h2>
<p>Lo&iuml;c Dachary has been involved with Free Software since 1987 when he
started distributing GNU tapes to the general public in France. His first
contact was with GNU Emacs and in 1989 with GCC which he used to port a
Unix System V kernel to a embeded motorola 68030 motherboard. He
currently works as a developer
for <a href="http://outflop.me/">OutFlop</a>, a company providing services
and software to operate poker rooms. He
created <a href="http://savannah.gnu.org/">Savannah</a>, the GNU forge, in
2001 to provide a Free alternative to proprietary forges. As a president
of FSF France, he provides technical and legal resources to French Free
Software developers. Loic Dachary is also a honorary member
of <a href="http://april.org/">APRIL</a> since 1996, a French non-profit
dedicated to Free Software with over 5,500 members.</p>
<p>Lo&iuml;c Dachary has been involved with the Free Software Movement since
1987, when he started distributing GNU tapes to the general public in
France. In 2012, he founded <a href="http://upstream-university.org/">Upstream
University</a>, a nonprofit with the goal of teaching developers how to
contribute easily and efficiently. Dachary volunteers as a developer
for <a href="http://april.org/">April</a>, a grassroots organization
promoting Free Software. He maintains April's OpenStack cluster and organizes
contributions with agile methods. As President
of <a href="http://fsffrance.org/">FSF France</a>, he also provides technical
and legal resources to French Free Software developers. His day job is to use
and contribute to <a href="http://ceph.com/">Ceph</a> within OpenStack.</p>
<h2>Mark Galassi</h2>
@ -90,6 +88,14 @@ Loyola College in Maryland, and an M.S. in Computer Science from the
University of Cincinnati. His Master's thesis discussed methods for
dynamic interoperability of Free Software languages.</p>
<h2>Mike Linksvayer</h2>
<p>Mike Linksvayer serves on the boards of AcaWiki and OpenHatch,
and is chair of the Open Definition Advisory Council. From 2003 to
2012 he served as CTO and VP of Creative Commons, where he is now a
Senior Fellow. In 2000 he co-founded Bitzi, an early open content/open
data mass collaboration platform.</p>
<h2>Stormy Peters</h2>
<p>Stormy Peters is Head of Developer Engagement at Mozilla. She is

View file

@ -0,0 +1,173 @@
{% extends "base_about.html" %}
{% block subtitle %}Evaluation Committee - {% endblock %}
{% block submenuselection %}Eval{% endblock %}
{% block content %}
<h1>Evaluation Committee</h1>
<p>The Evaluation Committee evaluates projects that have applied to become
members of Conservancy.
Conservancy's <a href="/about/board/">Board of
Directors</a> <a href="/news/2013/apr/23/linksvayer-and-eval-committee/">formally
charters and authorizes</a> this Committee to offer <a href="/members/">membership to
projects <a href="/members/apply/">that apply</a>
for membership in Conservancy.</p>
<h2>Jeremy Allison</h2>
<p>Jeremy Allison is one of the lead developers on the Samba Team, a group
of programmers developing an Open Source Windows compatible file and print
server product for UNIX systems. Developed over the Internet in a
distributed manner similar to the Linux system, Samba is used by all Linux
distributions as well as many thousands of corporations and products
worldwide. Jeremy handles the co-ordination of Samba development efforts
and acts as a corporate liaison to companies using the Samba code
commercially.</p>
<p>He works for Google, Inc. who fund him to work on improving Samba and
solving the problems of Windows and Linux interoperability.</p>
<h2>Tom Callaway</h2>
<p>Tom Callaway has been working for Red Hat since 2001. He started in
Sales Engineering and has been the Fedora Engineering Manager since 2008.
He served three consecutive elected terms on the Fedora Board from 2007 to
2011. Tom also maintains or co-maintains a large number of Packages in
Fedora (currently 390) and is leading the Fedora Packaging Committee,
responsible for RPM Packaging Standards and Practices. Additionally, he is
responsible for managing Fedora's Legal issues. Tom frequently represents
Fedora and Free Software at conferences around the world, and tries his
best not to make too big of a fool of himself.</p>
<p>When not working, Tom enjoys geocaching, ice hockey, gaming, science
fiction, and pinball.</p>
<h2>Lo&iuml;c Dachary</h2>
<p>Lo&iuml;c Dachary has been involved with the Free Software Movement since
1987, when he started distributing GNU tapes to the general public in
France. In 2012, he founded <a href="http://upstream-university.org/">Upstream
University</a>, a nonprofit with the goal of teaching developers how to
contribute easily and efficiently. Dachary volunteers as a developer
for <a href="http://april.org/">April</a>, a grassroots organization
promoting Free Software. He maintains April's OpenStack cluster and organizes
contributions with agile methods. As President
of <a href="http://fsffrance.org/">FSF France</a>, he also provides technical
and legal resources to French Free Software developers. His day job is to use
and contribute to <a href="http://ceph.com/">Ceph</a> within OpenStack.</p>
<h2>Mark Galassi</h2>
<p>Mark Galassi has been involved in the GNU project since 1984. He
currently works as a researcher in the International, Space, and Response
division at Los Alamos National Laboratory, where he has worked on the
HETE-2 satellite, ISIS/Genie, the Raptor telescope, the Swift satellite,
and the muon tomography project. In 1997 Mark took a couple of years off
from Los Alamos (where he was previously in the ISR division and the
Theoretical Astrophysics group) to work for Cygnus (now a part of Red Hat)
writing software and books for eCos, although he continued working on the
HETE-2 satellite (an astrophysical Gamma Ray Burst mission) part time. Mark
earned his BA in Physics at Reed College and a PhD from the Institute for
Theoretical Physics at Stony Brook.</p>
<h2>Mike Hostetler</h2>
<p>Mike Hostetler is an inventor, entrepreneur, programmer and proud
father. Having worked with web technologies since the mid 1990's, Mike has
had extensive experience developing web applications with PHP and
JavaScript. Currently, Mike works as the Founder and CEO of appendTo, LLC,
the company dedicated to jQuery, based in Denver, Colorado. Heavily
involved in Open Source, Mike is an alumni of the jQuery Core team,
participates in the QCubed PHP5 Framework project, and participates in the
Drupal project. When not in front of a computer, Mike enjoys hiking,
fly-fishing, snowboarding and spending time with his family.</p>
<h2>Bradley M. Kuhn</h2>
<p>Bradley M. Kuhn began his work in the Free Software Movement as a
volunteer when, in 1992, he became an early adopter of the popular
GNU/Linux operating system, and began contributing to various Free Software
projects. He worked during the 1990s as a system administrator and
software development consultant for Westinghouse, Lucent Technologies, and
numerous small companies. He also spent one year teaching Advanced
Placement Computer Science (using GNU/Linux and GCC) at Walnut Hills High
School in Cincinnati. In January 2000, he was hired by the Free Software
Foundation (FSF), and he served as its Executive Director from March 2001
until March 2005, when he left FSF to join the Software Freedom Law Center
(SFLC), where he worked as SFLC's Policy Analyst and Technology Director
from 2005 until October 2010, when he joined Conservancy as its Executive
Director. Kuhn holds a summa cum laude B.S. in Computer Science from
Loyola College in Maryland, and an M.S. in Computer Science from the
University of Cincinnati. His Master's thesis discussed methods for
dynamic interoperability of Free Software languages.</p>
<h2>Mike Linksvayer</h2>
<p>Mike Linksvayer serves on the boards of AcaWiki and OpenHatch, and is
chair of the Open Definition Advisory Council. From 2003 to 2012 he served
as CTO and VP of Creative Commons, where he is now a Senior Fellow. In 2000
he co-founded Bitzi, an early open content/open data mass collaboration
platform.</p>
<h2>Martin Michlmayr</h2>
<p>Martin Michlmayr has been involved in various free and open source
software projects for well over 15 years. He acted as the leader of the
Debian project for two years and currently serves on the board of the Open
Source Initiative (OSI). Martin works for HP as an Open Source Community
Expert. In this role, he facilitates open source activities both
internally within HP as well as externally within the broader open source
community. Martin holds Master degrees in Philosophy, Psychology and
Software Engineering, and earned a PhD from the University of
Cambridge.</p>
<h2>Evan Prodromou</h2>
<p>Evan Prodromou is the lead developer of pump.io and founder of E14N Inc.
He has previously worked on Free Software for web services like MediaWiki
and StatusNet.</p>
<h2>Karen Sandler</h2>
<p>Karen M. Sandler is currently the Executive Director of the GNOME
Foundation and prior to taking up this position was General Counsel of the
Software Freedom Law Center (SFLC). Karen continues to do <a
href="/about/outside#karen">pro bono legal work with Conservancy</a>, SFLC,
and Question Copyright and serves as an officer of both the Conservancy and
SFLC. Before joining SFLC, Karen worked as an associate in the corporate
departments of Gibson, Dunn &amp; Crutcher LLP in New York and Clifford
Chance in New York and London. Karen received her law degree from Columbia
Law School in 2000, where she was a James Kent Scholar and co-founder of
the Columbia Science and Technology Law Review. Karen received her
bachelors degree in engineering from The Cooper Union. She is a recipient
of an O'Reilly Open Source Award and also co-host of the <a
href="http://faif.us">&ldquo;Free as in Freedom&rdquo; podcast</a>.</p>
<h2>Tony Sebro</h2>
<p>Tony Sebro is a seasoned technology attorney with a broad base of
business and legal experience relating to technology, strategy, and
business development. Before joining Conservancy, Tony was most recently a
Partner with the PCT Companies, a family of professional service firms.
Prior to that, he was Program Director, Technology &amp; Intellectual
Property at IBM's Armonk, New York world headquarters, where he was
responsible for developing and executing licensing strategies in
partnership with IBM's Software Group. In that role, Tony led negotiations
and structured deals with market leaders in the web technology, e-commerce,
retail, enterprise software, and financial services sectors. Tony also led
various internal strategic initiatives, including an effort to provide
business leaders of key emerging market opportunities with coordinated
intellectual property development and monetization strategies, as well as
the revamping and supervision of IBM's corporate-wide process for
determining the value and availability of patents for sale. Prior to his
tenure at IBM, Mr. Sebro practiced law in the New York office of Kenyon
&amp; Kenyon, LLP, handling litigation and licensing matters for clients in
the medical, pharmaceutical and mechanical technology areas. Tony received
his J.D. and his M.B.A. from the University of Michigan. He received his
B.S. from the Massachusetts Institute of Technology. Tony is a member of
the New York bar and registered to practice before the U.S. Patent and
Trademark Office. Tony is also an active participant in and supporter of
the non-profit community, and has served on the boards of multiple
non-profit organizations.</p>
{% endblock %}

View file

@ -14,13 +14,13 @@
gitorious</a>.</p>
<p>The documents on this website are
licensed as <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA-3.0
Unported</a>. In some cases, the documents are dual-licensed
(AGPLv3-or-later|CC-By-SA-3.0-Unported-or-later), to make it more
licensed as <a href="https://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0
USA</a>. In some cases, the documents are dual-licensed
(AGPLv3-or-later|CC-By-SA-3.0-USA-or-later), to make it more
convenient to intermix the document with code.</p>
<p>Conservancy's Logo is also licensed
under <a href="http://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0
under <a href="https://creativecommons.org/licenses/by-sa/3.0/us">CC-By-SA-3.0
USA</a>. A <a href="/img/conservancy-logo_package.zip">Conservancy
logo package in ZIP format is available, which includes high quality SVG,
PNG and other formats</a>.</p>

View file

@ -1,5 +1,5 @@
{% extends "base_about.html" %}
{% block subtitle %}Outside Counsel &amp; Contractors - {% endblock %}
{% block subtitle %}Outside Counsel, et alia - {% endblock %}
{% block submenuselection %}Outside{% endblock %}
{% block content %}
<h1>Outside Counsel</h1>

View file

@ -0,0 +1,638 @@
{% extends "base_conservancy.html" %}
{% block subtitle %}Campaign - {% endblock %}
{% block category %}campaign{% endblock %}
{% block head %}
<link href="/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="/jquery.min.js"></script>
<script src="/jquery-ui.min.js"></script>
<style type="text/css">
#progressbar .ui-widget-header { background: rgb(206, 31, 31); }
</style>
<script type="text/javascript">
$(document).ready(function() {
$("#progressbar").progressbar({ value: (41194 / 75000) * 100 });
$('.toggle-content').hide();
$('.toggle-control')
.addClass('clickable')
.bind('click', function() {
var $control = $(this);
var $parent = $control.parents('.toggle-unit');
$parent.toggleClass('expanded');
$parent.find('.toggle-content').slideToggle();
// if control has HTML5 data attributes, use to update text
if ($parent.hasClass('expanded')) {
$control.html($control.attr('data-expanded-text'));
} else {
$control.html($control.attr('data-text'));
}
});
$('a.donate-now')
.addClass('clickable')
.bind('click', function() {
var $control = $('#donate-box');
$control.toggleClass('expanded');
$control.find('.toggle-content').slideUp("slow");
$control.find('.toggle-content').slideDown("slow");
});
});
</script>
{% endblock %}
{% block content %}
<div style="position:fixed;top:180px;right:2%;width:18%">
<table style="background-color:#afe478;width:100%;">
<tr><td style="text-align:center;padding:10px;padding-bottom:10px;">
<div id="donate-box" class="toggle-unit"><h1 class="toggle-content">Donate Now!</h1></div>
</div>
<!--
<script type="text/javascript" src="https://js.balancedpayments.com/v1/balanced.js"></script>
<script type="text/javascript">
// FOR DEMONSTRATION PURPOSES ONLY - if you already have a server you can POST to, replace
// the URL with the URL to post to.
// go to http://requestb.in/
// click create new request bin and COPY that URL without the ?inspect at the end
var requestBinURL = 'http://requestb.in/1dk2x8y1'; // make sure it doesn't end in ?inspect
var marketplaceUri = '/v1/marketplaces/TEST-MPMp7ZUPDpbj69vk2wGHRVY';
//var marketplaceUri = 'https://www.balancedpayments.com/marketplaces/TEST-MPMp7ZUPDpbj69vk2wGHRVY';
balanced.init(marketplaceUri);
var cardData = {
"name": "Bernhard Riemann", // Optional
"card_number": "4111 1111 1111 1111",
"expiration_month": 4,
"expiration_year": 2014,
};
function evbind(el, ev, handler) {
if(el.addEventListener) {
el.addEventListener(ev, handler, false);
} else if(el.attachEvent) {
el.attachEvent('on'+ev, function() {handler.apply(el);});
}
}
/*
function responseCallbackHandler(response) {
alert(response.status);
switch (response.status) {
case 400:
// missing or invalid field - check response.error for details
console.log(response.error);
break;
case 404:
// your marketplace URI is incorrect
console.log(response.error);
break;
case 201:
// WOO HOO! MONEY!
// response.data.uri == URI of the bank account resource you
// should store this bank account URI to later credit it
console.log(response.data);
var $form = $("#bank-account-form");
// the uri is an opaque token referencing the tokenized bank account
var bank_account_uri = response.data['uri'];
// append the token as a hidden field to submit to the server
$('<input>').attr({
type: 'hidden',
value: bank_account_uri,
name: 'balancedBankAccountURI'
}).appendTo($form);
$form.attr({action: requestBinURL});
$form.get(0).submit();
break;
default:
console.log(response.status);
}
}
//alert('allo?');
var tokenizeInstrument = function(e) {
alert('what"s going on?');
e.preventDefault();
var $form = $('#bank-account-form');
var bankAccountData = {
name: $form.find('.ba-name').val(),
account_number: $form.find('.ba-an').val(),
bank_code: $form.find('.ba-rn').val(),
type: $form.find('select').val()
};
balanced.bankAccount.create(bankAccountData, responseCallbackHandler);
};
$('#bank-account-form').submit(tokenizeInstrument);
*/
</script>
-->
$41,194 raised toward<br/>
our $75,000 goal.</br>
<div id="progressbar" style="height:20px;"><span style="float:right; align:center; margin-right:40%">54.9%</div>
<font style="font-size: 75%">(Progress bar updated daily.)</font>
<a id="donate" style="text-decoration:none"></a>
<h3>Help us reach our goal:</h3>
<!-- PayPal start -->
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="3VRTJALJ5PQRW">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="Donate Now!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
<!-- PayPal end -->
<!-- Balanced start -
<div class="container">
- <form action="#" method="POST" id="bank-account-form" class="form-horizontal" onsubmit="balanced.card.create(cardData, function(response) { alert(response.status); });"> -
<form action="#" method="POST" id="bank-account-form" class="form-horizontal">
<fieldset>
<legend>Bank Account Information</legend>
<p><label>Account Holder's Name
<input type="text"
autocomplete="off"
placeholder="Bank Account Holder's name"
class="ba-name"
name="ba_name"
value="4111 1111 1111 1111">
</label></p>
<p><label>Routing Number
<input type="text"
autocomplete="off"
placeholder="Routing Number"
class="ba-rn"
name="ba_rn"
value="4">
</label></p>
<p><label>Account Number
<input type="text"
autocomplete="off"
placeholder="Account Number"
class="ba-an"
name="ba_an"
value="2014">
</label></p>
<p><label>Account Something
<input type="text"
autocomplete="off"
placeholder="Account Something"
class="ba-as"
name="ba_as"
value="something someone">
</label></p>
<p><label>Account Type
<select name="ba_type">
<option value='' disabled selected style='display:none;'>
Select Account Type
</option>
<option value="checking" default>CHECKING</option>
<option value="savings">SAVINGS</option>
</select>
</label></p>
<button type="submit" class="btn">
Tokenize
</button>
</fieldset>
</form>
</div>
<script type="text/javascript">
evbind(document.getElementById('bank-account-form'), 'submit',
function(e) {
e.preventDefault();
console.log(this.ba_as.value);
balanced.card.create(
{
"name": this.ba_as.value,
"card_number": this.ba_name.value,
"expiration_month": this.ba_rn.value,
"expiration_year": this.ba_an.value,
/*
"name": "Bernhard Riemann", // Optional
"card_number": "4111 1111 1111 1111",
"expiration_month": 4,
"expiration_year": 2014,
*/
},
function(response) {
console.log(response);
console.log(response.data.uri);
$.ajax("/campaign/?token=" + response.data.uri + '&amount=' + document.getElementById('bank-account-form').ba_an.value);
alert(response.status);
});
});
</script>
- Balanced end -->
<p>
Other donation methods:
<div class="toggle-unit">
<h4 class="toggle-control" data-text="Google Checkout"
data-expanded-text="Google Checkout:">Google Checkout</h4>
<div class="toggle-content">
<!-- Google Checkout start -->
<script type="text/javascript">
function validateAmount(amount){
if(amount.value.match( /^[0-9]+(\.([0-9]+))?$/)){
return true;
}else{
alert('You must enter a valid donation.');
amount.focus();
return false;
}
}
</script>
<form action="https://checkout.google.com/cws/v2/Donations/622836985124940/checkoutForm" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm" onSubmit="return validateAmount(this.item_price_1)" target="_top">
<input name="item_name_1" type="hidden" value="Directed Donation for Conservancy's NPO accounting software project"/>
<input name="item_description_1" type="hidden" value="This donation to the Software Freedom Conservancy, Inc. is directed toward Conservancy's NPO accounting software project. Conservancy is a 501(c)(3) charity in New York."/>
<input name="item_quantity_1" type="hidden" value="1"/>
<input name="item_currency_1" type="hidden" value="USD"/>
<input name="item_is_modifiable_1" type="hidden" value="true"/>
<input name="item_min_price_1" type="hidden" value="6.0"/>
<input name="item_max_price_1" type="hidden" value="25000.0"/>
<input name="_charset_" type="hidden" value="utf-8"/>
<table cellpadding="5" cellspacing="0" width="1%">
<tr>
<td align="right" valign="top" style="padding-top:9px;" nowrap="nowrap" width="1%">&#x24; <input id="item_price_1" name="item_price_1" onfocus="this.style.color='black'; this.value='';" size="6" type="text" value="250.00"/>
</td>
<td align="left" width="1%">
<input alt="Donate" src="https://checkout.google.com/buttons/donateNow.gif?merchant_id=622836985124940&amp;w=115&amp;h=50&amp;style=trans&amp;variant=text&amp;loc=en_US" type="image"/>
</td>
</tr>
</table>
</form>
<!-- Google Checkout end -->
</div><!-- /.toggle-content -->
</div><!-- /.toggle.unit -->
<div class="toggle-unit">
<h4 class="toggle-control" data-text="Wire Transfer"
data-expanded-text="Wire Transfer:">Wire Transfer</h4>
<div class="toggle-content">
Please
contact <a href="mailto:accounting@sfconservancy.org">Conservancy
by email</a><br/> for wire transfer instructions.<br/>
Please Include your currency and country.<br/>
</div><!-- /.toggle-content -->
</div><!-- /.toggle.unit -->
<div class="toggle-unit">
<h4 class="toggle-control" data-text="Paper Check"
data-expanded-text="Paper Check:">Paper Check</h4>
<div class="toggle-content">
Send paper check donations to:<br/>
Software Freedom Conservancy, Inc.<br/>
137 MONTAGUE ST STE 380<br/>
BROOKLYN, NY 11201-3548<br/>
Please write <q>NPO ACCOUNTING</q> in the memo line.
</div><!-- /.toggle-content -->
</div><!-- /.toggle.unit -->
<!-- Flattr start -->
<p><a href="https://flattr.com/thing/1296704/Campaign-to-develop-Free-and-Open-Source-Non-Profit-Accounting-Software" target="_blank"><img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a></p>
<!-- Flattr end -->
</td></tr></table>
</div>
<div style="align:left;width:80%;">
<!-- begin campaign text -->
<h2>Fundraising Campaign: Non-Profit Accounting Software</h2>
<img src="/img/conservancy-accounting-campaign-logo.png" alt="Conservancy accounting campaign logo" style="float:left;" />
<p>Conservancy has a plan to help all non-profit organizations (NPOs) by
creating an Open Source and Free Software accounting system usable by
non-technical bookkeepers, accountants, and non-profit managers. You can
help us do it by donating now.
</p>
<p>To keep their books and produce annual government filings, most NPOs rely
on proprietary software, paying exorbitant licensing fees. This is
fundamentally at cross purposes with their underlying missions of charity,
equality, democracy, and sharing.</p>
<p>You can help Conservancy fix this problem by <a href="#donate-box" class="donate-now">donating now</a>. We seek to
raise $75,000 to employ a
developer for one year to make substantial progress on this project.</p>
<p>This project has the potential to save the non-profit sector
millions in licensing fees every year. Even non-profits that continue to use proprietary accounting
software will benefit, since the existence of quality Open Source and Free
Software for a particular task curtails predatory behavior by proprietary
software companies, and creates a new standard of comparison.</p>
<p>But, more powerfully, this project's realization
will increase the agility and collaborative potential
for the non-profit sector &mdash; a boon to funders, boards, and employees &mdash; bringing the Free Software and general NPO communities
into closer collaboration and understanding.</p>
<p>Thanks in advance for <a href="#donate-box" class="donate-now">helping us</a> develop Free Software to benefit all
non-profit organizations, and the
populations they serve.</p>
<p>Donors of $500 or more will be acknowledged in the THANKS file and other
appropriate places in the codebase itself.</p>
<p><a href="#endorsements">Endorsers of this effort</a> include Fractured Atlas, The Free Software
Foundation, Mozilla Foundation, GNOME Foundation, OpenHatch, Open
Source Initiative, QuestionCopyright.org, and Software in the Public
Interest; all encourage you to <a href="#donate-box" class="donate-now">donate and support it</a>.</p>
<h3>Background</h3>
<p>Like many non-profit organizations (NPOs) in the USA, Conservancy's
financial accounts are audited annually by an independent accounting firm;
we recently completed our fiscal year 2011 audit. As usual, our auditors
asked plenty of questions about our accounting software. Conservancy uses
only Free Software, of course, centered around a set of straightforward reporting
scripts that we created to run on top
of <a href="http://www.ledger-cli.org/">Ledger CLI</a>. (Conservancy's
current configuration using Ledger CLI
is <a href="https://gitorious.org/ledger/npo-ledger-cli">publicly
documented and explained</a>.)</p>
<p>Our auditors were only familiar with proprietary accounting software, and
so our system seemed foreign to them, as it relies on Ledger CLI's text files, Emacs and
version control. During their questions
about our setup, we asked them to hypothetically prescribe a specific
proprietary software setup as a model for managing Conservancy's
accounts. Our chief auditor started by mentioning a few well-known
proprietary solutions. But then he paused and continued: <q>Given
that Conservancy's a fiscal sponsor with so many temporarily restricted
accounts, existing systems really wouldn't do that good of a job for
you</q>.</p>
<p>Indeed, Conservancy reached out into the broader fiscal sponsorship
community beyond the <acronym title="Free, Libre and Open Source Software">FLOSS</acronym>
<acronym title="Non-profit Organization">NPO</acronym> community and discovered that many larger fiscal sponsors &mdash; even
those willing to use proprietary components &mdash; have cobbled together
their own unique systems, idiosyncratically tailored to their specific
environments. Thus, good, well-designed, and reusable accounting software
for non-profit fiscal sponsorship is not just missing in the software
freedom community; it's missing altogether.</p>
<p>The project that Conservancy proposes will take a modest step
forward in creating a better solution for everyone.
<a href="#quotes">Many NPO leaders and academics agree</a> with Conservancy about the
immediate need for work to begin on this
effort. <a id="endorsements" style="text-decoration:none"></a><a href="https://www.fracturedatlas.org">Fractured Atlas</a>, The <a href="http://fsf.org">Free Software
Foundation</a>, The <a href="https://www.mozilla.org/foundation/">Mozilla
Foundation</a>, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a>, <a
href="https://openhatch.org/">OpenHatch</a>, <a href="http://opensource.org/node/658">Open Source Initiative</a>,
<a href="http://QuestionCopyright.org">QuestionCopyright.org</a>, and <a href="http://www.spi-inc.org/">Software in the Public Interest</a> have
all endorsed Conservancy's plan, and they encourage you to <a href="#donate-box" class="donate-now">donate and
support it</a>.</p>
<p>Conservancy is uniquely qualified to undertake this task. Using only Free
Software, Conservancy already meets the complex accounting challenges of
earmarked, directed donations for over thirty different projects. We've
learned much about this work in our first seven years of
operation, and we're prepared to apply what we've learned to solve
this problem not just for ourselves, but for anyone who seeks a
solution that both respects software freedom and handles non-profit
accounting for all sorts of NPOs, including fiscal sponsors. General NPO
accounting is just a &ldquo;base case&rdquo; of fiscal sponsorship (i.e.,
an NPO is just a fiscal sponsor for one and only one specific project),
and Conservancy therefore believes a solution that handles fiscal sponsors
will also handle the simpler case as well.</p>
<h3>The Plan</h3>
<p>Conservancy proposes to hire a software developer for one year to
accomplish the first two phases of this project. Conservancy seeks to
raise $75,000 toward this project to help cover salary and benefits for a
full-time staffer to work on this project. We ask that you give generously
via the donation buttons on this page to support our work.</p>
<h4>Phase 0</h4>
<p>Some Free Software accounting systems do exist. A previous informal
survey of these systems that Conservancy conducted in 2007 led us to the
conclusion that, in general, these systems were heavily geared toward
for-profit endeavors, ignored the unique needs of NPOs generally, and
were completely hopeless for the specific needs of a fiscal sponsoring
organization. Conservancy's assessment at the time was that these
challenges could be addressed only with a large rewrite of one of these
systems. Conservancy chose
<a href="http://www.ledger-cli.org/">Ledger CLI</a> precisely because
it provided flexibility and configurability not present in any other Free Software
double-entry accounting system.</p>
<p>However, while that previous informal survey informs Conservancy's
existing hypothesis that Ledger CLI is the right base system here,
Conservancy will first test that hypothesis. The first phase of this
project (estimated to last approximately 6-8 full-time weeks) will produce
a written survey of all known Free Software accounting systems, and
indicate what challenges exist to adapt such systems for the needs of
NPOs. The <a href="https://fsf.org/">Free Software Foundation</a> has
pledged their help in the evaluation of SQL-Ledger,
and <a href="http://www.gnome.org/foundation/">the GNOME Foundation</a> has pledged their
help in the evaluation of <a href="http://www.gnucash.org/">GNUcash</a> (which they
currently use, respectively).</p>
<h4>Phase 1</h4>
<p>Phase 1 of the project will select the preferred codebase from Phase 0,
and improve that system to create a basic accounting system for
small-to-medium sized USA NPOs (i.e., Form 990-filers) &mdash; including fiscal
sponsors &mdash; with the following features:
<ul>
<li>Basic accounts payable/receivable (with invoicing)</li>
<li>Tracking and reporting of non-profit income types (related business
income, unrelated business taxable income, donations, etc.)</li>
<li>Basic backup documentation tracking for expenses and payments</li>
<li>Basic bank statement reconciliation reporting</li>
<li>Basic annual audit preparation reporting
(A <a href="https://github.com/ledger/ledger/tree/next/contrib/non-profit-audit-reports">prototype
of this portion is already complete</a> and has been relied on for
real-life audits; but the prototype is just a hack and needs to be
rewritten.)</li>
<li>Ability to easily handle all these features on a project-by-project
subset of the accounts, and to easily export and excise that subset from
the system. (i.e., support for temporarily restricted assets, earmarked for
fiscal-sponsored projects)</li>
<li>Multi-currency support and reporting</li>
</ul>
</p>
<p>We will consider the first year of this project successful <em>only if all these
functions can be performed by a bookkeeper who is generally qualified as a
bookkeeper</em>, but not necessarily familiar with standard Free Software tools
such as GNU/Linux, Emacs, version control, and command line scripts. This
requirement is essential: Conservancy's existing system using Ledger CLI
already provides sufficient functionality to manage non-profit accounting,
but our system requires a bookkeeper who is also adept with the
aforementioned tools already.</p>
<p>Finally, while the first year of work focuses on USA NPO needs,
Conservancy seeks to lead an international effort, and welcomes
contributions and input from everyone in the non-profit community from
around the world. Conservancy has created
a <a href="http://lists.sfconservancy.org/mailman/listinfo/npo-accounting">mailing
list for discussion of this project</a> and encourages interested parties
from around the world to join the mailing list and contribute to the
project!</p>
<h3>Why Conservancy Must Fund This Work</h3>
<p>As it stands, nearly all Open Source and Free Software NPOs either use
proprietary software, or fully outsource their bookkeeping and accounting
to third-parties. Those that don't do so (such as Conservancy and the Free
Software Foundation) have long complained that existing Free Software in
this area is inadequate, and have been forced to develop customized,
one-off solutions in-house to make the systems work.</p>
<p>It's highly unlikely that the for-profit sector will adapt existing Free
Software accounting systems to meet the differing needs of NPOs (let alone
the more complex needs of fiscal sponsors; based on
advice from our auditors and other fiscal sponsors, Conservancy understands that <em>no existing
solution &mdash; proprietary or Free &mdash; meets the requirements of fiscal sponsorship accounting</em>). Fiscal sponsors like
Conservancy must track a separate set of books for every project, keeping
in mind that a project may leave at any time for another NPO and need to take
their books with them. Yet, the books of the entire organization are the
aggregate of the books of all these projects, and internally, they need to
be presented as a single set of books for those purposes.</p>
<p>Meanwhile, even if an organization is not a fiscal sponsor, non-profit
accounting is <em>just different</em> than for-profit accounting, particularly in
the USA. For example, for-profit-oriented systems often make problematic
assumptions about the workflow of accounting tasks (often because NPOs
rely primarily on donations, rather than fee-for-service or widget-selling
income). Also, non-profit income is categorized differently than
for-profit income, and the reporting requirements vary wildly from their
for-profit equivalents.</p>
<p>Conservancy's existing system is working adequately, but requires daily
the relatively more expensive time of a highly technical person to do the
job of bookkeeping. Also, the system cannot easily be adapted in its
current form for another NPO, unless they also have a
skilled technical employee to act as bookkeeper. This project aims to build
on what Conservancy has learned and produce a non-profit accounting system
that corrects these flaws.</p>
<p>Finally, Conservancy's mission (as stated
on <a href="http://sfconservancy.org/docs/conservancy_Form-1023.pdf">our Form
1023 with the USA IRS</a>) includes producing Open Source and Free Software.
Thus, this project is a great way to pursue Conservancy's mission and address a
specific need that so many NPOs (including us) have. If no one steps up to create Free Software to replace the widely used
proprietary software, NPOs in aggregate will pay <em>much more</em> money for
proprietary licensing than Conservancy will ever spend in developing a
replacement. Please <a href="#donate-box" class="donate-now">donate
generously</a> to help us do it!</p>
<a id="quotes"></a>
<h3>Statements of Support For This Project from Others</h3>
<p><q>As a national fiscal sponsor with over 3,000 arts and cultural projects
under our umbrella, Fractured Atlas is ecstatic about this effort's
potential. After 15 years wrestling with Quickbooks and other inadequate
options, the idea of an open source tool designed specifically for this niche
of the field is beyond welcome. We wholeheartedly support the Conservancy's
work on this front and look forward to seeing where it leads.</q> &mdash;
<a href="https://www.fracturedatlas.org/site/bios/staff/1/Adam%20Forest_Huttler">Adam
Huttler</a>, Executive Director, <a href="https://www.fracturedatlas.org">Fractured Atlas</a></p>
<p><q><a href="http://QuestionCopyright.org">QuestionCopyright.org</a> is
just one of many organizations that would benefit from a Free Software
accounting system that is usable by non-technical people. We
enthusiastically support the Conservancy's campaign to create one, and look
forward to using the result.</q>
&mdash; <a href="http://questioncopyright.org/speakers/karl_fogel">Karl
Fogel</a>, Executive Director,
<a href="http://QuestionCopyright.org">QuestionCopyright.org</a></p>
<p><q>As a fiscal sponsor organization with over 30 currently-associated Free
Software projects, Software in the Public Interest shares the Conservancy's
needs and interests in this area, and welcome the opportunity to collaborate
on the development of a Free Software solution to our accounting needs.</q>
&mdash; Bdale Garbee, President, <a href="http://www.spi-inc.org/">Software
in the Public Interest</a></p>
<p><q>Open Source accounting software specifically tailored for non-profits
will fill a pretty large need.</q>
&mdash; <a href="http://wagner.nyu.edu/calabrese">Thad Calabrese</a>,
Assistant Professor of Public and Nonprofit Financial Management
at <a href="http://wagner.nyu.edu/">NYU Wagner</a>, and co-author
of <cite>Financial Management for Public, Health, and Not-for-Profit
Organizations, 4th Edition</cite>.</p>
<p><q>Creating free software specifically designed to address the needs of
nonprofits is a laudable goal and one that Conservancy is extremely well
positioned to achieve.</q> &mdash; <a href="http://gnomg.org">Karen
Sandler</a>, Executive
Director, The <a href="http://www.gnome.org/foundation/">GNOME Foundation</a></p>
<p><q>The Open Source Initiative has shared the experiences of Software
Freedom Conservancy in navigating the financial management needs of
non-profit organisations and shares their concern. We have many NPOs as
members and we welcome this useful initiative by Conservancy.</q>
&mdash; Simon Phipps, President, <a href="http://opensource.org/node/658">Open Source
Initiative</a></p>
<p><q>The <a href="https://fsf.org/">Free Software Foundation</a> is committed to doing all of its work,
both public-facing and internal, using only free software. We are thankful to
the developers of SQL Ledger for providing the accounting software that has
served us well for many years. As we have grown, so have the complexities of
our finances. Because of our own needs and our mission to help other
organizations &mdash; both inside and outside of the technology sphere
&mdash; run their operations on exclusively free software, we wholeheartedly
support this Conservancy initiative.</q> &mdash; <a href="http://www.fsf.org/about/staff-and-board#johns">John Sullivan</a>, Executive
Director, <a href="https://fsf.org">Free Software Foundation</a></p>
<p><q>Open source is a great way to solve new problems and make software that
is more flexible and responsive to the needs of the people who use it. That's
as true for the finance industry as it is on the web.</q>
&mdash; <a href="http://blog.mozilla.org/press/bios/mark-surman/">Mark
Surman</a>, Executive
Director, <a href="https://www.mozilla.org/foundation/">Mozilla
Foundation</a></p>
<p><q>As a young free software non-profit, OpenHatch is thrilled to see this
effort; it would let us spend more of our time on programs and less on
paperwork. I have already personally <a href="#donate-box" class="donate-now">donated</a>.</q> &mdash; Asheesh Laroia,
Executive Director, <a href="https://openhatch.org/">OpenHatch</a></p>
<h3>Some Important Details for this Fundraiser</h3>
<ul>
<li>Donations made are general donations to the Software Freedom
Conservancy, Inc., a 501(c)(3) charity incorporated in New York.
Conservancy is committed to doing this work described herein, but cannot
promise to complete the work if the fundraising goal is not reached. If
the fundraising goal is not reached, Conservancy will do its best to make
progress on the plan above with the resources available. It's expected
that work will simply proceed, but more slowly and take more time, if the
fundraising goal is not reached.</li>
<li>The license for the project is not yet chosen, since Phase 0 might
prescribe contribution to particular upstream projects, and Conservancy is
committed to contributing to upstream projects under their chosen license,
where possible. However, Conservancy promises that all software that is
written will be released under a license that is both approved by
the <a href="http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses">FSF as a Free
Software license</a> <strong>and</strong> by the OSI as
an <a href="http://opensource.org/licenses">OSI-approved license</a>. New
documentation that is written will be released under some license
compatible with <a href="https://creativecommons.org/licenses/by-sa/3.0/us/">CC BY-SA 3.0 USA</a>.</li>
<!-- end campaign text -->
</div>
{% endblock %}

View file

@ -11,13 +11,20 @@ p, h1, h2, h3, h4, h5, h6, #mainContent ul, #mainContent ol {
body {
/* font-family: "Lucida Grande",Verdana,Lucida,Helvetica,Arial,sans-serif; */
font-family: Helvetica;
font-size: 95%;
background-color: #0000;
color: #ffff;
}
a { text-decoration: none; color: #557733; }
a:hover { text-decoration: underline; color: #3B6337; }
a:hover { text-decoration: underline; color: #577632; }
.toggle-control {
cursor: pointer;
text-decoration: none; color: #557733;
}
.toggle-control:hover { text-decoration: underline; color: #577632; }
h1 { margin-top: .75em; margin-bottom: .5em; }
h2 { margin-top: .75em; margin-bottom: .5em; }
@ -57,10 +64,20 @@ h3 { margin-top: .6em; margin-bottom: .4em; }
}
/* Navigation bar */
#navbar-outer { background: #B3D4A3; }
#navbar-outer { background: #577632; }
#navbar { margin-left: 104px; margin-top: 3px; float: left; display: inline; }
#navbar ul { list-style: none; }
#navbar-clear { clear: both; border-bottom: 1px solid #808080; }
#navbar li.campaign a {
display: block;
background: #fafafe;
padding: .2em .8em;
margin-right: 3px;
border: 1px solid #808080;
font-size: .8em;
background: url(/img/nav-bg-campaign.png) bottom repeat-x;
border-color: #ffffff;
}
#navbar li a {
display: block;
background: #fafafe;
@ -69,8 +86,10 @@ h3 { margin-top: .6em; margin-bottom: .4em; }
border: 1px solid #808080;
font-size: .8em;
background: #fff url(/img/nav-bg.png) bottom repeat-x;
border-color: #ffffff;
}
#navbar li:hover a { background: #3b6337; color: #fff; }
#navbar li:hover a { background: #577632; color: #fff; }
#navbar li.campaign:hover a { background: #577632; color: #CE1F1F; }
#navbar li { float: left; display: inline; margin-bottom: 3px; }
#mainContent {
@ -101,14 +120,16 @@ h3 { margin-top: .6em; margin-bottom: .4em; }
border: 1px solid #CCC;
background: #fff url(/img/nav-bg.png) bottom repeat-x;
}
#container #sidebar li:hover a { background: #3b6337; color: #fff; }
#container #sidebar li:hover a { background: #577632; color: #fff; }
#container #sidebar.Directors ul li.Directors,
#container #sidebar.Eval ul li.Eval,
#container #sidebar.Contact ul li.Contact,
#container #sidebar.Officers ul li.Officers,
#container #sidebar.Staff ul li.Staff,
#container #sidebar.Outside ul li.Outside,
#container #sidebar.Filings ul li.Filings,
#container #sidebar.License ul li.License,
#container #sidebar.Current ul li.Current,
#container #sidebar.Services ul li.Services,
#container #sidebar.Applying ul li.Applying
@ -231,6 +252,12 @@ body.conservancy-sponsors #navbar ul li.sponsors a /* NO COMMA HERE! */
font-weight: bold;
background: #fff url(/img/nav-bg-up.png) top repeat-x;
}
body.conservancy-campaign #navbar ul li.campaign a
{
color: #000033;
font-weight: bold;
background: url(/img/nav-bg-campaign-up.png) bottom repeat-x;
}
#sponsor ul {
clear: all;
@ -251,3 +278,5 @@ body.conservancy-sponsors #navbar ul li.sponsors a /* NO COMMA HERE! */
width: 200px;
font-size: 12px;
}

View file

@ -50,11 +50,11 @@ function validateAmount(amount){
<h3>Donate via Flattr</h3>
<p>
<a href="http://www.flattr.com">Flattr</a> is a social micro-payment system that allows users to make donations via the web. Like Google Checkout, Flattr does not charge any processing fees on donations to Conservancy. If you are a Flattr user and you would like to "flattr" Conservancy with a donation, click on the button below:
<a href="https://www.flattr.com">Flattr</a> is a social micro-payment system that allows users to make donations via the web. Flattr does not charge any processing fees on donations to Conservancy. If you are a Flattr user and you would like to "flattr" Conservancy with a donation, click on the button below:
</p>
<a href="http://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank">
<img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a>
<a href="https://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank">
<img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

464
www/conservancy/static/jquery-ui.css vendored Normal file
View file

@ -0,0 +1,464 @@
/*! jQuery UI - v1.8.24 - 2012-09-28
* https://github.com/jquery/jquery-ui
* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css
* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
.ui-helper-clearfix:after { clear: both; }
.ui-helper-clearfix { zoom: 1; }
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.24
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/* Component containers
----------------------------------*/
.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; }
.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }
.ui-widget-content a { color: #222222/*{fcContent}*/; }
.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; }
.ui-widget-header a { color: #222222/*{fcHeader}*/; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; }
.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; }
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; }
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; }
/* Overlays */
.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; }
.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; }

File diff suppressed because one or more lines are too long

16
www/conservancy/static/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -31,12 +31,12 @@
<h2>I sent in my inquiry letter and/or application a long time ago. Why haven't you replied?</h2>
<p>Conservancy receives an overwhelming level of interest and we have very few
<a href="http://sfconservancy.org/about/staff/">staff positions</a> to
<a href="/about/staff/">staff positions</a> to
meet the interest and demand
for <a href="http://sfconservancy.org/members/services/">Conservancy's
for <a href="/members/services/">Conservancy's
services</a> to its member projects. Meanwhile, Conservancy always
prioritizes needs of
its <a href="http://sfconservancy.org/members/current/">existing member
its <a href="/members/current/">existing member
projects</a> over new inquiries and applications. Therefore, it
sometimes can take quite a while to finish the application process and
be offered membership, but please note that such delays mean that should
@ -70,10 +70,10 @@
Source license by the Open Source Initiative</a>. All software
documentation for the project should be licensed under a license on
the preceding lists, or under Creative
Commons' <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA</a>
or <a href="http://creativecommons.org/licenses/by/3.0/">CC-By</a>
Commons' <a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-By-SA</a>
or <a href="https://creativecommons.org/licenses/by/3.0/">CC-By</a>
or
<a href="http://creativecommons.org/choose/zero/">CC-0</a>.</li>
<a href="https://creativecommons.org/choose/zero/">CC-0</a>.</li>
<li>The project should have an existing, vibrant, diverse community
that develops and documents the software. For example, projects
@ -224,7 +224,7 @@ form their own independent tax-exempt non-profit.</p>
Conservancy processes to Conservancy's general fund, which primarily is
used to pay staff. (Details on how Conservancy spends its funds,
including salaries of key employees, can be found
in <a href="http://sfconservancy.org/about/filings/">Conservancy's
in <a href="/about/filings/">Conservancy's
annual filings</a>.)</p>
<p>Historically, Conservancy allowed projects to give less or nothing at

View file

@ -137,7 +137,7 @@ burden on behalf of its projects.</p>
<p>Those familiar with non-profit terminology will recognize most of these
services
as <a href="http://en.wikipedia.org/wiki/Fiscal_sponsorship">fiscal
as <a href="https://en.wikipedia.org/wiki/Fiscal_sponsorship">fiscal
sponsorship services</a>. This term is not particularly well
known in the FLOSS community, and many are confused by that term.
However, if you are familiar with what a fiscal sponsor typically does

View file

@ -0,0 +1,3 @@
User-agent: *
Disallow: /admin

View file

@ -15,10 +15,14 @@ support, but doesn't necessarily endorse nor promote any specific activity
of any of its sponsors.</p>
<ul id="sponsor">
<li id="sponsor"><a href="http://appendto.com/"><img src="/img/sponsors/appendTo.png" height="75" width="200" alt="appendTo" /></a></li>
<li id="sponsor"><a href="http://www.blackducksoftware.com/"><img src="/img/sponsors/black-duck.jpg" height="51" width="230" alt="Black Duck" /></a></li>
<li id="sponsor"><a href="http://gandi.net"><img src="/img/sponsors/gandi.png" height="65" width="171" alt="Gandi.Net" /></a></li>
<li id="sponsor"><a href="http://google.com"><img src="/img/sponsors/google.png" height="76" width="238" alt="Google" /></a></li>
<li id="sponsor"><a href="http://linuxfoundation.org"><img src="/img/sponsors/linuxfoundation.png" height="76" width="250" alt="Linux Foundation" /></a></li>
<li id="sponsor"><a href="https://www.mozilla.org/foundation/"><img src="/img/sponsors/mozilla.png" height="101" width="250" alt="Mozilla Foundation" /></a></li>
<li id="sponsor"><a href="https://www.redhat.com/"><img src="/img/sponsors/redhat.png" height="80" width="250" alt="Red Hat" /></a></li>
<li id="sponsor"></a></li>
</ul>
<!-- This section will be added when we have in-kind contributions -->

View file

@ -8,7 +8,8 @@
<li class="Directors"><a href="/about/board/">Directors</a></li>
<li class="Officers"><a href="/about/officers/">Officers</a></li>
<li class="Staff"><a href="/about/staff/">Staff</a></li>
<li class="Outside"><a href="/about/outside/">Outside Counsel &amp; Contractors</a></li>
<li class="Eval"><a href="/about/eval-committee/">Evaluation Committee</a></li>
<li class="Outside"><a href="/about/outside/">Outside Counsel, et alia</a></li>
<li class="Filings"><a href="/about/filings/">Filings</a></li>
<li class="License"><a href="/about/license/">License &amp; Sources</a></li>
</ul>

View file

@ -26,6 +26,7 @@
<li class="About"><a href="/about/">About</a></li>
<li class="sponsors"><a href="/sponsors/">Sponsors</a></li>
<li class="donate"><a href="/donate/">Support Conservancy!</a></li>
<li class="campaign"><a href="/campaign/">Campaign</a></li>
</ul>
</div>
<div id="navbar-clear"></div>
@ -34,14 +35,14 @@
<div id="conservancyfooter">
<p><a href="/">Main Page</a> | <a href="/about/contact/">Contact</a> | <a href="/sponsors/">Sponsors</a> | <a href="/privacy-policy/">Privacy Policy</a> | <a href="/feeds/omnibus/">RSS Feed</a></p>
<p>Follow Conservancy
on <a href="http://identi.ca/conservancy">identi.ca</a>
and <a href="http://twitter.com/conservancy">twitter</a>.
<a href="http://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank">
<img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a></p>
on <a href="https://identi.ca/conservancy">identi.ca</a>
and <a href="https://twitter.com/conservancy">twitter</a>.
<a href="https://flattr.com/thing/922714/Donate-to-Software-Freedom-Conservancy" target="_blank">
<img src="https://api.flattr.com/button/flattr-badge-large.png" alt="Flattr us!" title="Flattr us!" border="0" /></a></p>
<p class="copyright_info">
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us"><img alt="Creative Commons License" style="border-width:0" src="/img/cc-by-sa_88x31.png" /></a>
<a rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/us"><img alt="Creative Commons License" style="border-width:0" src="/img/cc-by-sa_88x31.png" /></a>
<br />This page is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/us">Creative
<a rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/us">Creative
Commons Attribution-ShareAlike 3.0 USA License</a>.</p>
</div>
</body>

View file

@ -1,10 +1,10 @@
{% ifequal obj.omnibus_type "news" %}
<p><i>A <a href="http://{{ site }}/news/">news item</a> from Software Freedom Conservancy.</i></p>
<p><i>A <a href="https://{{ site }}/news/">news item</a> from Software Freedom Conservancy.</i></p>
{% endifequal %}
{% ifequal obj.omnibus_type "event" %}
<p><i>An <a href="http://{{ site }}/events/">upcoming event</a> related to the Software Freedom Conservancy.</i></p>
<p><i>An <a href="https://{{ site }}/events/">upcoming event</a> related to the Software Freedom Conservancy.</i></p>
{% endifequal %}
{% ifequal obj.omnibus_type "blog" %}
<p><i>A <a href="http://{{ site }}/blog/">blog post</a> from Software Freedom Conservancy.</i></p>
<p><i>A <a href="https://{{ site }}/blog/">blog post</a> from Software Freedom Conservancy.</i></p>
{% endifequal %}
{% include obj.omnibus_feed_description_template %}

View file

@ -38,12 +38,12 @@
<a href="/feeds/blog/">blog posts</a>.</p>
<p>You can also follow Conservancy
on <a href="http://identi.ca/conservancy">identi.ca</a>
and <a href="http://twitter.com/conservancy">twitter</a>.</p>
on <a href="https://identi.ca/conservancy">identi.ca</a>
and <a href="https://twitter.com/conservancy">twitter</a>.</p>
<p>
<span id="subbox">
<form method="post" action="http://lists.sfconservancy.org/mailman/subscribe/announce">
<form method="post" action="https://lists.sfconservancy.org/mailman/subscribe/announce">
You can also subscribe to Conservancy's low-traffic email announce list <br/><input name="email" placeholder="joe@example.org"/><input type="submit" name="email-button" value="Subscribe"/>
</form>
</span></p>

View file

@ -1,9 +1,33 @@
# Copyright 2005-2008, James Garrison
# Copyright 2010, 2012 Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program 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 Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from django.conf.urls.defaults import *
from conservancy.feeds import feed_dict
from django.contrib import admin
handler404 = 'modpythoncustom.view404'
admin.autodiscover()
urlpatterns = patterns('',
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/(.*)', admin.site.root),
(r'^$', 'conservancy.frontpage.view'),
(r'^feeds/(?P<url>.*)/?$', 'django.contrib.syndication.views.feed',
{'feed_dict': feed_dict}),

View file

@ -1,32 +0,0 @@
# Copyright 2005-2008, James Garrison
# Copyright 2010, Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program 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 Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from django import http
class RedirectToNonSslSite(object):
def process_request(self, request):
"""Redirect to non-SSL site if not an admin request
"""
if not request.path.startswith('/admin'):
url = 'http://www.sfconservancy.org%s' % request.path
return http.HttpResponseRedirect(url)
return None

View file

@ -1,24 +0,0 @@
# Copyright 2005-2008, James Garrison
# Copyright 2010, Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program 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 Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from conservancy.settings import *
ROOT_URLCONF = 'conservancy_ssl.urls'
MIDDLEWARE_CLASSES += ('conservancy_ssl.middleware.RedirectToNonSslSite',)

View file

@ -1,33 +0,0 @@
# Copyright 2005-2008, James Garrison
# Copyright 2010, Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program 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 Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
# Start with typical conservancy url scheme. The middleware will
# intercept non-admin requests, but having the main conservancy urlconf
# repeated here allows us to browse the automatic documentation in the
# admin interface.
from conservancy.urls import *
from django.contrib import admin
admin.autodiscover()
urlpatterns += patterns('',
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/(.*)', admin.site.root),)