<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johanengelen</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johanengelen"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Johanengelen"/>
	<updated>2026-04-29T09:32:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=97121</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=97121"/>
		<updated>2015-09-11T20:26:25Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-x.x  (choose whatever version is most recent)&lt;br /&gt;
You may need to create symlinks if &amp;quot;clang&amp;quot; and &amp;quot;scan-build&amp;quot; do not work on the cmdline:&lt;br /&gt;
    sudo ln -s /usr/bin/clang-x.x /usr/bin/clang&lt;br /&gt;
    sudo ln -s /usr/bin/clang++-x.x /usr/bin/clang++&lt;br /&gt;
    sudo ln -s /usr/bin/scan-build-x.x /usr/bin/scan-build&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Role-based security setup=====&lt;br /&gt;
&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure Global Security -&amp;gt; Set security management to Role-based strategy.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Manage and Assign roles&lt;br /&gt;
** Manage roles: set up the roles!&lt;br /&gt;
** Assign roles : assign roles to the users (also assign Anonymous to a (of course restricted) role)&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=97116</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=97116"/>
		<updated>2015-09-11T20:16:37Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-x.x  (choose whatever version is most recent)&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Role-based security setup=====&lt;br /&gt;
&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure Global Security -&amp;gt; Set security management to Role-based strategy.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Manage and Assign roles&lt;br /&gt;
** Manage roles: set up the roles!&lt;br /&gt;
** Assign roles : assign roles to the users (also assign Anonymous to a (of course restricted) role)&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015_Topics&amp;diff=96401</id>
		<title>Hackfest2015 Topics</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015_Topics&amp;diff=96401"/>
		<updated>2015-04-19T19:51:00Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: remove my name from 'testing' header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Please add topics you would like to discuss or work you would like to see done at the hackfest.&lt;br /&gt;
&lt;br /&gt;
Other pages: [[Hackfest2015|Hackfest 2015]], [[Hackfest2015 Attendees]].&lt;br /&gt;
&lt;br /&gt;
== Discussions ==&lt;br /&gt;
&lt;br /&gt;
=== SVG 2 strategy (Tav) ===&lt;br /&gt;
&lt;br /&gt;
* Overview/rundown of relevant new SVG2 features.  What are they, what will need done to implement them?&lt;br /&gt;
* How do we handle fallbacks?&lt;br /&gt;
* When do we add things to the GUI? (When three browsers offers support?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Program flow (Tav) ===&lt;br /&gt;
&lt;br /&gt;
* Diagram how Inkscape behaves/should behave on:&lt;br /&gt;
** Opening a file.&lt;br /&gt;
** Changing a style item (e.g. 'fill').&lt;br /&gt;
** Moving a node.&lt;br /&gt;
** Deleting an item.&lt;br /&gt;
*** Comment: Deleting an item causes Inkscape to create a new SVG document with containing the deleted item to allow pasting.&lt;br /&gt;
&lt;br /&gt;
==== Motivation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;Add a few random print statements in Inkscape and you'll see that Inkscape visits certain functions more often than one would think it should. Having well defined diagrams will allow developers to clean up existing code and to better understand what needs to be done to add new features. I've noticed that we suffer from &amp;quot;cargo cult programming&amp;quot; where people add functions without fully understanding if they are truly needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ideas&lt;br /&gt;
** Better, easily referenced API documentation&lt;br /&gt;
** Code reviews&lt;br /&gt;
** `linux perf` can be used to identify performance critical functions&lt;br /&gt;
&lt;br /&gt;
==== Comments from Krzysztof ====&lt;br /&gt;
&lt;br /&gt;
This is a pretty big problem right now. The flow looks like this:&lt;br /&gt;
&lt;br /&gt;
Something is updated in the SP tree&lt;br /&gt;
# updateRepr() is called&lt;br /&gt;
# new XML is written&lt;br /&gt;
# XML modification listeners fire&lt;br /&gt;
# SP tree is re-read from the XML&lt;br /&gt;
# A recursive call to update() is made&lt;br /&gt;
# Each of those update calls updates the rendering tree in turn.&lt;br /&gt;
&lt;br /&gt;
As a result, changing the document height triggers a full update of&lt;br /&gt;
the rendering tree, even though almost nothing changes.&lt;br /&gt;
&lt;br /&gt;
The current approach makes it impossible to introduce errors that&lt;br /&gt;
cause the XML and the SP tree to go out of sync, at the cost of&lt;br /&gt;
performance. We could discuss what to do about this.&lt;br /&gt;
&lt;br /&gt;
=== Refactoring ===&lt;br /&gt;
&lt;br /&gt;
Can we decide on a roadmap to work with new APIs and compilers?  How do we minimize breakages for downstream users?  Can we balance risk with reward?  How does each migration benefit the developers, package maintainers and end users?&lt;br /&gt;
&lt;br /&gt;
Some possible changes to discuss:&lt;br /&gt;
&lt;br /&gt;
* Moving to C++11 (AV)&lt;br /&gt;
** code cleanup/maintainability&lt;br /&gt;
** improved data structures/templating&lt;br /&gt;
* Adding a hard Cairo 1.14 dependency (AV)&lt;br /&gt;
** Fix bitmap downscaling issue&lt;br /&gt;
* Gtk+ 3 migration (AV)&lt;br /&gt;
** Get rid of lots of conditional code&lt;br /&gt;
** Get rid of embedded GDK library fork&lt;br /&gt;
** Some &amp;quot;cleaner&amp;quot; API available&lt;br /&gt;
** How do we handle canvas flickering/rendering issues?&lt;br /&gt;
* C++ification (AV)&lt;br /&gt;
** Migrate widgets/dialogs to Gtkmm&lt;br /&gt;
** Get rid of popt&lt;br /&gt;
** Get rid of GObject usage&lt;br /&gt;
* Removing 3rd party Library dependencies from version control (AV)&lt;br /&gt;
* Change how we're utilizing 3rd party libraries (Josh)&lt;br /&gt;
** Stop using Poppler internals, use the proper API via poppler-glib (https://bugs.launchpad.net/inkscape/+bug/239544)&lt;br /&gt;
** Use newer Pango-Cairo text/glyph APIs (https://bugs.launchpad.net/inkscape/+bug/420822)&lt;br /&gt;
* Unnecessary profileration of namespaces (Krzysztof)&amp;lt;p style=&amp;quot;width:80em&amp;quot;&amp;gt;Things like Inkscape::UI::View::View are excessive. I cannot imagine a scenario where we would need more than 2 levels of namespaces. Everything UI-related should sit in Inkscape::UI, without separate namespaces for widgets and dialogs which only serve to increase typing.&amp;lt;/p&amp;gt;&lt;br /&gt;
* Directory structure. Let's make a directory for the SP tree, and namespace it as Inkscape::SVG (or maybe Inkscape::DOM). (Krzysztof)&lt;br /&gt;
* Identify clever geometry code which can be cleaned up and moved to 2Geom. (Krzysztof)&lt;br /&gt;
&lt;br /&gt;
=== Testing ===&lt;br /&gt;
&lt;br /&gt;
* Discuss Jenkins/unittesting/rendertesting.&lt;br /&gt;
&lt;br /&gt;
=== Website (DoctorMO) ===&lt;br /&gt;
&lt;br /&gt;
* How do people feel about it's current functions&lt;br /&gt;
* How should we move it forwards?&lt;br /&gt;
* Plans for mailing list migrations.&lt;br /&gt;
* Getting developers set up with local copies for hacking.&lt;br /&gt;
&lt;br /&gt;
=== Roadmap Planning (Bryce) ===&lt;br /&gt;
&lt;br /&gt;
Prioritize feature and infrastructure development work for next several releases.&lt;br /&gt;
&lt;br /&gt;
=== Fundraisers (Bryce) ===&lt;br /&gt;
&lt;br /&gt;
Brainstorm future fundraising ideas.&lt;br /&gt;
&lt;br /&gt;
=== Community Development (Bryce) ===&lt;br /&gt;
&lt;br /&gt;
* Championing FOSS ideals generally&lt;br /&gt;
* Expanding userbase&lt;br /&gt;
* Building up a strong evangelist user community&lt;br /&gt;
* Recruiting newbie developers, encouraging involvement, and mentoring&lt;br /&gt;
* Re-connecting with old timers&lt;br /&gt;
* Promoting existing developers into leadership roles&lt;br /&gt;
&lt;br /&gt;
=== Design new plugin/extension system ===&lt;br /&gt;
&lt;br /&gt;
== Hacking ==&lt;br /&gt;
&lt;br /&gt;
=== Invert coordinate system (Tav) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;If there was ever a good moment to do the coordinate system flip, this is it. (should coordinates be configurable in relation to the canvas?)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Comment from Krzysztof ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;We need to decide whether we want to keep the 3D Box at all costs, or is the coordinate system inversion a more important goal than having 3D Box. Being unable to fix 3D Box was the main reason I didn't commit this change when I initially made it. FWIW, I think the 3D Box tool is nearly unusable and needs to be rewritten from scratch. It also pollutes the entire codebase with special handling for its perspective elements, indicating faulty&lt;br /&gt;
design.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Harfbuzz: Better CSS support and User Fonts (WOFF) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;There will be a Harfbuzz documenting session taking place at the same time as the Inkscape Hackfest. Maybe we can get some expertise on how to improve our font handling. CSS now has much more sophisticated ways of selecting alternative glyphs that Harfbuzz may support. Also, it would be nice to be able to use user fonts, in particular WOFF fonts, into Inkscape. At the moment we rely on Pango for all our font related stuff and Pango's support for new CSS stuff and for user fonts is negligible if completely non-existent.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Make Systems ===&lt;br /&gt;
&lt;br /&gt;
==== CMake (Bryce) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;A while back someone made a valiant attempt to get Inkscape built with cmake, but if this ever worked it's bitrotted to where it doesn't work presently.  Hack it back into working shape on Linux, Mac, and Windows. Write up evaluation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== WAF (Krzysztof) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;I would rather use Waf. CMake has its own, sloppy scripting language; writing anything moderately complex in it is an exercise in frustration. By contrast, Waf scripts can leverage all the mighty power of Python.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;width:60em&amp;quot;&amp;gt;Killer feature: since Waf stores a database of what was compiled, it support wildcards correctly. As in, when the set of files matched by a wildcard in the build script changes, it will automatically recompiles the correct files, without the need to modify build scripts. CMake cannot do this, because it just generates makefiles, and Make cannot support wildcards in this manner because it does not have any persistence beyond what is stored in the file system.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other things we could easily do with Waf are:&lt;br /&gt;
* render test integration&lt;br /&gt;
* automatically updating the AUTHORS file and the authors tab in the About dialog from Bazaar logs&lt;br /&gt;
* creating a completely standalone executable (using e.g. GResource to store data files in the executable itself)&lt;br /&gt;
&lt;br /&gt;
=== Hardware Acceleration Experimentation (Bryce) ===&lt;br /&gt;
&lt;br /&gt;
Create experimental branch using Cairo-GLX as the rendering backend.  Evaluate rendering performance.  Brainstorm follow up work.&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95444</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95444"/>
		<updated>2015-02-01T15:36:26Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Role-based security setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Role-based security setup=====&lt;br /&gt;
&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure Global Security -&amp;gt; Set security management to Role-based strategy.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Manage and Assign roles&lt;br /&gt;
** Manage roles: set up the roles!&lt;br /&gt;
** Assign roles : assign roles to the users (also assign Anonymous to a (of course restricted) role)&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95438</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95438"/>
		<updated>2015-02-01T15:35:25Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Role-based security setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Role-based security setup=====&lt;br /&gt;
&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure Global Security -&amp;gt; Set security management to Role-based strategy.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Manage and Assign roles&lt;br /&gt;
** Manage roles: set up the roles!&lt;br /&gt;
** Assign roles : assign roles to the users&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95432</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95432"/>
		<updated>2015-02-01T15:30:18Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: security setup, part 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Role-based security setup=====&lt;br /&gt;
&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure Global Security -&amp;gt; Set security management to Role-based strategy.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Manage and Assign roles&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95426</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=95426"/>
		<updated>2015-02-01T15:18:47Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Installed Jenkins plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
* Role Strategy Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94922</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94922"/>
		<updated>2015-01-25T00:32:44Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests of the python extensions:&lt;br /&gt;
    apt-get install python-lxml python-numpy&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94916</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94916"/>
		<updated>2015-01-25T00:31:36Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
&lt;br /&gt;
For unit tests:&lt;br /&gt;
    apt-get install python-lxml&lt;br /&gt;
&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94910</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94910"/>
		<updated>2015-01-24T12:43:33Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Installed Jenkins plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
* thinBackup&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94856</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94856"/>
		<updated>2015-01-22T00:13:17Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* TO DO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;br /&gt;
* get email working: should send mails to maillist when something breaks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94850</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94850"/>
		<updated>2015-01-22T00:12:41Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* TO DO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to report the unit test results for inkscape&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=94844</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=94844"/>
		<updated>2015-01-22T00:10:23Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Continuous Integration (Automated testing) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/en/learn/tutorials/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** for version [[Release notes/0.91|0.91]] (active development)&lt;br /&gt;
** '''for version [[Release notes/0.48.5|0.48.5]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]]&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94838</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94838"/>
		<updated>2015-01-22T00:09:21Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: Enable access on port 80 instead of 8080&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
=====Enable access on port 80, instead of 8080=====&lt;br /&gt;
&lt;br /&gt;
See here: https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+on+Port+80+or+443+using+iptables&lt;br /&gt;
&lt;br /&gt;
We will use &amp;quot;iptables&amp;quot; to route traffix on port 80 to Jenkins.&lt;br /&gt;
&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT&lt;br /&gt;
    sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT&lt;br /&gt;
    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080&lt;br /&gt;
Then store the settings (otherwise the settings will be void when the iptables service restarts) by installing iptables-persistent.&lt;br /&gt;
    sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94832</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94832"/>
		<updated>2015-01-21T23:57:59Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: add ghostscript for doxygen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base ghostscript&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94826</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94826"/>
		<updated>2015-01-21T23:51:06Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: add latex install note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen graphviz texlive-latex-base&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94820</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=94820"/>
		<updated>2015-01-18T23:23:43Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Inkscape build dependencies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bzr&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Working_with_Bazaar&amp;diff=93638</id>
		<title>Working with Bazaar</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Working_with_Bazaar&amp;diff=93638"/>
		<updated>2014-11-21T19:54:32Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Publishing your work on Launchpad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains an introduction to the Bazaar distributed version control system. It focuses on the use of Bazaar to develop Inkscape, but should be useful to all would-be users of Bazaar.&lt;br /&gt;
&lt;br /&gt;
You can choose either to use the command line or to use ''Bazaar Explorer'' (get the package ''bzr-explorer'' and follow the [http://doc.bazaar.canonical.com/explorer/en/tutorials/foss-contribute.html Bazaar Explorer Tutorial].&lt;br /&gt;
&lt;br /&gt;
==Why version control is useful==&lt;br /&gt;
&lt;br /&gt;
 NOTE: skip this section if you have experience with any version control system.&lt;br /&gt;
&lt;br /&gt;
If you ever worked on some large document in a group without any dedicated software, you have probably encountered the problem of simultaneous modification. When two people add something to the document at the same time, then send their version to each other, no one has the correct version. One of them has to redo their work in the other's version to merge the changes. This process is tedious and time-consuming, and the time spent on merging grows significantly when more people are added to the project.&lt;br /&gt;
&lt;br /&gt;
Fortunately, for text files, this task is simple enough that it can be done automatically by a special program. When merging is done by software, people have more time to focus on productive work.&lt;br /&gt;
&lt;br /&gt;
Version control systems (VCS) are programs designed to eliminate the overhead of merging. They manage a set of text files and allow many people to simultaneously work on them, then periodically submit their changes to a shared location. When two people change the same file, the changes are automatically merged together. Version control systems also store the complete history of changes. When someone makes a mistake and only spots it much later, it can be easily corrected, without affecting later work by other people.&lt;br /&gt;
&lt;br /&gt;
==Version control basics==&lt;br /&gt;
&lt;br /&gt;
Most version control systems use some shared location to publish the most up-to-date version of the project. (We will from now on assume that the project contains the source code for a program.) We will call this place the '''trunk'''. The first thing to do when starting work on a project is to download its source code, which is called creating a '''checkout'''. The files in your checkout are called the '''working copy'''. A checkout contains copies of files belonging to the project, where you can make changes. When you are ready to send your changes to others, you '''commit''' them, and they are stored in the shared location for others to see. The state of the project after someone's changes is called a '''revision''', and each revision in Bazaar is assigned a sequential number, called the '''revision number'''. Revision 0 is the empty project and revision 1 is the initial commit of the project's files. To receive the latest changes introduced by others, you '''update''' your checkout. The update command does not remove any of your uncommitted changes - they are automatically merged.&lt;br /&gt;
&lt;br /&gt;
Bazaar uses the following commands for the above functionality.&lt;br /&gt;
 $ bzr checkout ''project_trunk_url''&lt;br /&gt;
This checks out the source code of a project stored at the specified URL.&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
This sends your changes to the shared location, so others can see them. It will display an editor window, where you should enter the summary of your changes. This description will be visible when using the &amp;lt;tt&amp;gt;bzr log&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
 $ bzr update&lt;br /&gt;
This updates your working copy to the latest public revision. Your uncommitted changes are left in place and automatically merged with others' changes.&lt;br /&gt;
&lt;br /&gt;
===Useful basic commands===&lt;br /&gt;
 $ bzr revert ''file''&lt;br /&gt;
This undoes all of your changes to the specified file and restores it to the state it was in after the last update.&lt;br /&gt;
 $ bzr add ''file''&lt;br /&gt;
When you create a new file it is initially '''unversioned''', which means the version control system doesn't track changes to it. You need to tell the VCS that you want to include it in the project, or make it '''versioned'''. The &amp;lt;tt&amp;gt;add&amp;lt;/tt&amp;gt; command is used to do this. The next &amp;lt;tt&amp;gt;commit&amp;lt;/tt&amp;gt; command will then add this file to the shared location.&lt;br /&gt;
 $ bzr rm ''file''&lt;br /&gt;
This removes a file and its contents from version control and deletes it from disk. The next &amp;lt;tt&amp;gt;commit&amp;lt;/tt&amp;gt; command will remove it from the shared location. Use the &amp;lt;tt&amp;gt;--keep&amp;lt;/tt&amp;gt; option if you want to remove the shared location but keep it as an unversioned file in your working copy.&lt;br /&gt;
&lt;br /&gt;
===Inspecting project history===&lt;br /&gt;
&lt;br /&gt;
Display last 20 sets of changes (revisions):&lt;br /&gt;
 $ bzr log -l20&lt;br /&gt;
&lt;br /&gt;
Display all changes to some file since the beginning of project history:&lt;br /&gt;
 $ bzr log ''file''&lt;br /&gt;
&lt;br /&gt;
===Inspecting changes===&lt;br /&gt;
&lt;br /&gt;
Display all uncommitted changes:&lt;br /&gt;
 $ bzr diff&lt;br /&gt;
&lt;br /&gt;
Display all changes, both committed and uncommitted, from revision 340:&lt;br /&gt;
 $ bzr diff -r340&lt;br /&gt;
&lt;br /&gt;
Display changes introduced by revision 436:&lt;br /&gt;
 $ bzr diff -c436&lt;br /&gt;
&lt;br /&gt;
Display changes between revisions 252 and 260:&lt;br /&gt;
 $ bzr diff -r252..260&lt;br /&gt;
&lt;br /&gt;
===Undoing mistakes===&lt;br /&gt;
&lt;br /&gt;
To remove all your uncommitted changes:&lt;br /&gt;
 $ bzr revert&lt;br /&gt;
&lt;br /&gt;
To revert a specific file to the state from revision 230:&lt;br /&gt;
 $ bzr revert -r230 ''file''&lt;br /&gt;
&lt;br /&gt;
Let's say you committed some change, but then after some time realized it was very wrong. To back it out without affecting any later changes, you need to find the revision number of the change using the &amp;lt;tt&amp;gt;bzr log&amp;lt;/tt&amp;gt; command. Let's say want to undo changes from revision 340. To do this, write:&lt;br /&gt;
 $ bzr merge -r340..339&lt;br /&gt;
&lt;br /&gt;
In the same way, you can undo any set of contiguous revisions, e.g.&lt;br /&gt;
 $ bzr merge -r340..320&lt;br /&gt;
&lt;br /&gt;
To undo sets of non-contiguous revisions, you have to use one command per set. All commands after the first need to use the --force option (by default Bazaar will refuse to do a merge if here are uncommitted changes).&lt;br /&gt;
 $ bzr merge -r340..339&lt;br /&gt;
 $ bzr merge -r327..326 --force&lt;br /&gt;
 $ bzr merge -r289..286 --force&lt;br /&gt;
&lt;br /&gt;
To actually make the above changes in the shared location, you need to follow them with &amp;lt;tt&amp;gt;bzr commit&amp;lt;/tt&amp;gt;. The exception is &amp;lt;tt&amp;gt;bzr revert&amp;lt;/tt&amp;gt;, which restores the state to the last committed revision, so there is nothing to commit after it.&lt;br /&gt;
&lt;br /&gt;
===Conflict resolution===&lt;br /&gt;
&lt;br /&gt;
Sometimes two people change the same file in a way that cannot be automatically merged, for example, they change the same line to something different. When this happens, you need to merge the problematic bits manually. You might encounter output like this:&lt;br /&gt;
&lt;br /&gt;
  $ bzr update&lt;br /&gt;
   M  src/painting-algorithm.cpp&lt;br /&gt;
   M  src/ui/widget/spinner.h&lt;br /&gt;
   M  src/ui/widget/spinner.cpp&lt;br /&gt;
   M  src/ui/widget/awesome-widget.cpp&lt;br /&gt;
  Text conflict in src/ui/widget/spinner.cpp&lt;br /&gt;
  1 conflict encountered.&lt;br /&gt;
  Updated to revision 1337 of branch [some URL]&lt;br /&gt;
&lt;br /&gt;
After that, the directory &amp;lt;tt&amp;gt;src/ui/widget&amp;lt;/tt&amp;gt; will contain four related files.&lt;br /&gt;
* &amp;lt;tt&amp;gt;spinner.cpp&amp;lt;/tt&amp;gt;: this will contain an unified view of the conflicts in the file. Conflicts will be marked with lines with multiple consecutive angle brackets.&lt;br /&gt;
* &amp;lt;tt&amp;gt;spinner.cpp.BASE&amp;lt;/tt&amp;gt;: latest common ancestor version of the file. In other words, both you and other people started from this version before conflicting changes were made.&lt;br /&gt;
* &amp;lt;tt&amp;gt;spinner.cpp.THIS&amp;lt;/tt&amp;gt;: the file with your changes, with conflicting changes by others removed.&lt;br /&gt;
* &amp;lt;tt&amp;gt;spinner.cpp.OTHER&amp;lt;/tt&amp;gt;: the file with other people's changes, with your conflicting changes removed.&lt;br /&gt;
&lt;br /&gt;
To display the list of conflicts again, use the command:&lt;br /&gt;
 $ bzr conflicts&lt;br /&gt;
&lt;br /&gt;
To resolve the conflict, you need to modify the contents of the &amp;lt;tt&amp;gt;spinner.cpp&amp;lt;/tt&amp;gt;. You can do this either by manually editing the file, by overwriting it with &amp;lt;tt&amp;gt;spinner.cpp.BASE&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;spinner.cpp.THIS&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;spinner.cpp.OTHER&amp;lt;/tt&amp;gt;, or by using special options to the resolve command. Once you are done, you need to tell Bazaar about it:&lt;br /&gt;
 $ bzr resolve src/ui/widget/spinner.cpp&lt;br /&gt;
&lt;br /&gt;
You can tell Bazaar to use your version or others' version, respectively, with the following commands:&lt;br /&gt;
 $ bzr resolve --take-this ''file''&lt;br /&gt;
 $ bzr resolve --take-other ''file''&lt;br /&gt;
&lt;br /&gt;
The above command will delete the files &amp;lt;tt&amp;gt;spinner.cpp.BASE&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;spinner.cpp.THIS&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;spinner.cpp.OTHER&amp;lt;/tt&amp;gt;. Manually deleting those files has the same effect as executing &amp;lt;tt&amp;gt;bzr resolve&amp;lt;/tt&amp;gt;. If you resolve all the conflicts at once, you can tell Bazaar to clean up everything:&lt;br /&gt;
 $ bzr resolve --all&lt;br /&gt;
&lt;br /&gt;
More information is available here: [http://doc.bazaar.canonical.com/latest/en/user-guide/resolving_conflicts.html Bazaar manual - Conflict handling].&lt;br /&gt;
&lt;br /&gt;
===Determining who made a change===&lt;br /&gt;
&lt;br /&gt;
Sometimes it is useful to see who last changed some lines in a file.&lt;br /&gt;
 $ bzr annotate ''file''&lt;br /&gt;
This will display the entire ''file''. Each line will be prefixed with the revision when the line was last changed and the person which committed that revision. Another name for this command, which might be easier to remember, is &amp;lt;tt&amp;gt;bzr blame&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Distributed VCS concepts in Bazaar==&lt;br /&gt;
&lt;br /&gt;
This section assumes that you are familiar with the basic concepts of version control, like working copy, committing, updating, conflicts.&lt;br /&gt;
&lt;br /&gt;
; '''Branch'''&lt;br /&gt;
: is a working copy of the project's code. Typically you use one branch per set of related changes, for example a new output extension. Once your work is finished, you ''merge'' your branch into a larger project. Initially, there is only one branch, the trunk; all other branches are its (probably indirect) descendants. To create a new branch, you have to copy an existing one. When branches A and B have a common ancestor branch but each contain changes not present in the other, they have '''diverged'''. For example, when you work on an improved rectangle tool in your own branch and at the same time somebody else applies a PDF export bugfix to the trunk, your rectangle tool branch becomes diverged from the trunk.&lt;br /&gt;
; '''Checkout'''&lt;br /&gt;
: is a copy of code contained in a branch that is not stored on your computer (a remote branch). Committing to a checkout will immediately apply the changes to the remote branch. Commits will not succeed if somebody else modified the branch while you were working - you need to have an up-to-date working copy - or when you're offline.&lt;br /&gt;
; '''Trunk'''&lt;br /&gt;
: is the main branch, which represents cutting-edge working code. You should start from it when doing any new development.&lt;br /&gt;
; '''Merge'''&lt;br /&gt;
: is the process of reconciling changes made between two branches since they diverged. This operation is asymmetric. When you merge A into B, all changes made to A since it was branched from B are applied to B. A is not changed. When you work on some feature, you typically work in a branch, periodically merging the trunk into your branch (to sync up with the latest changes), then you merge your work into the trunk. Merging is similar to applying a patch - it only changes your working copy. To apply a merge, you need to commit the changes it introduced. Merging un-diverges branches.&lt;br /&gt;
; '''Repository'''&lt;br /&gt;
: is a place where branches of a project are stored. Having a shared repository reduces the storage requirements of multiple branches of one project. Instead of O(number of branches) space, the Bazaar data takes up O(total size of changes in all branches) space.&lt;br /&gt;
; '''Bind'''&lt;br /&gt;
: is the process of converting a non-diverged local branch into a checkout of the remote branch.&lt;br /&gt;
; '''Push'''&lt;br /&gt;
: is the process of publishing an exact copy (a mirror) of your branch in some other location. The difference between pushing and checkouts is that a checked out remote branch is updated every time you commit, while a pushed remote branch is updated only when you push to it - you can commit any amount of changes between pushes. You can only push to a branch if the mirror has not diverged from your local copy. This can happen if more than 1 person can push to the same location.&lt;br /&gt;
; '''Pull'''&lt;br /&gt;
: is the process of creating a local exact copy (mirror) of a branch, in principle a reverse of pushing.&lt;br /&gt;
&lt;br /&gt;
==First steps==&lt;br /&gt;
&lt;br /&gt;
First you need to tell Bazaar your name. This will appear on all your commits. You should use your real e-mail, but you can obfuscate it if you are afraid of spam.&lt;br /&gt;
&lt;br /&gt;
Obfuscated e-mail examples:&lt;br /&gt;
 $ bzr whoami &amp;quot;John Q. Public &amp;lt;john dot q dot public at-sign bigmail dot com&amp;gt;&amp;quot;&lt;br /&gt;
 $ bzr whoami &amp;quot;John Q. Public &amp;lt;removethis.john.q.public@bigmail.com&amp;gt;&amp;quot;&lt;br /&gt;
Unobfuscated e-mail example: &lt;br /&gt;
 $ bzr whoami &amp;quot;John Q. Public &amp;lt;john.q.public@bigmail.com&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you have an account on Launchpad and want to commit changes there, you need to specify your Launchpad login. You can skip this if you do not intend to commit.&lt;br /&gt;
 $ bzr launchpad-login johnq&lt;br /&gt;
&lt;br /&gt;
Then fetch Inkscape's trunk&lt;br /&gt;
 $ bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
To carry out a later update of Inkscape's trunk&lt;br /&gt;
 $ bzr update lp:inkscape&lt;br /&gt;
&lt;br /&gt;
==Using a centralized (SVN-like) workflow==&lt;br /&gt;
&lt;br /&gt;
In this case, every commit that you make is immediately sent to the central repository. There are two ways of achieving this:&lt;br /&gt;
&lt;br /&gt;
===SVN-style checkout===&lt;br /&gt;
&lt;br /&gt;
Get the latest Inkscape code as a checkout, as described above.&lt;br /&gt;
 $ bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
Now work as in SVN:&lt;br /&gt;
  &amp;lt;do work&amp;gt;&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
  &amp;lt;error, someone else has changed things&amp;gt;&lt;br /&gt;
 $ bzr update&lt;br /&gt;
  &amp;lt;check all is okay&amp;gt;&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
&lt;br /&gt;
If you add new files, add them to version control with &amp;lt;tt&amp;gt;bzr add ''file''&amp;lt;/tt&amp;gt;. You can recursively add all new files by writing simply &amp;lt;tt&amp;gt;bzr add&amp;lt;/tt&amp;gt; in the top level directory.&lt;br /&gt;
&lt;br /&gt;
===Binding a Bazaar branch===&lt;br /&gt;
&lt;br /&gt;
Branch Inkscape's code:&lt;br /&gt;
 $ bzr branch lp:inkscape&lt;br /&gt;
&lt;br /&gt;
Then transform your branch into a checkout:&lt;br /&gt;
 $ cd inkscape&lt;br /&gt;
 $ bzr bind lp:inkscape&lt;br /&gt;
&lt;br /&gt;
Now work as in SVN:&lt;br /&gt;
  &amp;lt;do work&amp;gt;&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
  &amp;lt;error, someone else has changed things&amp;gt;&lt;br /&gt;
 $ bzr update&lt;br /&gt;
  &amp;lt;check all is okay&amp;gt;&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Differences from SVN===&lt;br /&gt;
&lt;br /&gt;
* Commits will fail if your checkout is not up to date, even if there would be no conflicts.&lt;br /&gt;
* The revision number is an attribute of the working tree, not of individual files. It is not possible to have different portions of the working tree at different revisions.&lt;br /&gt;
* &amp;lt;tt&amp;gt;bzr commit ''file''&amp;lt;/tt&amp;gt; works like &amp;lt;tt&amp;gt; svn commit ''file'' &amp;amp;&amp;amp; svn update ''project-root''&amp;lt;/tt&amp;gt;. After a successful partial commit, the entire tree's revision is increased by 1.&lt;br /&gt;
* No special server is needed to publish a branch. You can push branches to anywhere, including simple FTP shares. In our scenario, Launchpad works like a central repository, but it's not required to publish everything there.&lt;br /&gt;
* You create branches locally. To simulate creating a SVN-style branch on Launchpad, you need to create a local branch, push it, then bind it to the pushed location. At the end of these commands you end up with a checkout of &amp;lt;tt&amp;gt;lp:~inkscape.dev/inkscape/killer-feature&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 $ bzr branch trunk killer-feature&lt;br /&gt;
 $ cd killer-feature&lt;br /&gt;
  &amp;lt;do work&amp;gt;&lt;br /&gt;
 $ bzr push lp:~inkscape.dev/inkscape/killer-feature&lt;br /&gt;
 $ bzr bind :push&lt;br /&gt;
&lt;br /&gt;
===Append-only branches===&lt;br /&gt;
&lt;br /&gt;
In the centralized workflow, you often want to ensure that revision numbering is immutable. In Bazaar, the revision log and numbering can differ depending on which way you merge (e.g. feature into trunk vs trunk into feature). To enforce immutable, monotonically increasing revision numbers on a branch, you can create it as append-only:&lt;br /&gt;
 $ bzr init --append-revisions-only&lt;br /&gt;
To set the append-only flag on an already existing branch, use the following command:&lt;br /&gt;
 $ bzr config -d ''url://of/branch'' append_revisions_only=True&lt;br /&gt;
You can learn the URL of a remote branch by using the command &amp;lt;tt&amp;gt;bzr info&amp;lt;/tt&amp;gt;. Launchpad branches have URLs such as &amp;lt;tt&amp;gt;bzr+ssh://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a decentralized workflow==&lt;br /&gt;
&lt;br /&gt;
In this case you will be working locally until you are ready to publish your changes. The basic idea is to perform the work in a ''branch'' of the Inkscape codebase, since committing to a branch stores the changes locally in the branch itself. Then, to share the work with the rest of the Inkscape community, the changes in the branch are merged across to a ''checkout'' of the Inkscape repository. As the previous centralized workflow section describes, committing to a checkout sends the changes directly to the remote repository, making them part of the official Inkscape codebase.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' this workflow has been updated to avoid the &amp;quot;other people's commits become subrevisions of your commit&amp;quot; problem.&lt;br /&gt;
&lt;br /&gt;
This will assume this directory layout:&lt;br /&gt;
 inkscape&lt;br /&gt;
  +-trunk&lt;br /&gt;
  |  +-doc&lt;br /&gt;
  |  +-share&lt;br /&gt;
  |  +-src&lt;br /&gt;
  |  +-po&lt;br /&gt;
  |  +-...&lt;br /&gt;
  +-myproject&lt;br /&gt;
  +-some-other-branch&lt;br /&gt;
&lt;br /&gt;
In this layout, &amp;quot;trunk&amp;quot; is the checkout used for uploading changes to the central Inkscape repository, while &amp;quot;myproject&amp;quot; and &amp;quot;some-other-branch&amp;quot; are local branches used for working on specific features.&lt;br /&gt;
&lt;br /&gt;
===Repository setup===&lt;br /&gt;
&lt;br /&gt;
To speed things up, it's good to create a local shared repository. This way revision histories will only be stored in one place, instead of in every branch, so local branching will be faster and the branches will take up less space.&lt;br /&gt;
&lt;br /&gt;
Create a shared repository and enter it:&lt;br /&gt;
 $ bzr init-repo inkscape&lt;br /&gt;
 $ cd inkscape&lt;br /&gt;
&lt;br /&gt;
===Working locally===&lt;br /&gt;
&lt;br /&gt;
Get Inkscape's code&lt;br /&gt;
 $ bzr branch lp:inkscape myproject&lt;br /&gt;
&lt;br /&gt;
Now work:&lt;br /&gt;
 $ cd myproject&lt;br /&gt;
   ... work work work ...&lt;br /&gt;
 $ bzr commit -m &amp;quot;Some changes&amp;quot;&lt;br /&gt;
   ... more work work work ...&lt;br /&gt;
 $ bzr commit -m &amp;quot;More changes&amp;quot;&lt;br /&gt;
   ... create new file ...&lt;br /&gt;
 $ bzr add new-file.c&lt;br /&gt;
 $ bzr commit -m &amp;quot;Added new file with kittens&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Advanced local features===&lt;br /&gt;
&lt;br /&gt;
To undo a commit:&lt;br /&gt;
 $ bzr uncommit&lt;br /&gt;
This will leave your working tree in the state it was just before you wrote &amp;quot;bzr commit&amp;quot;. This is useful for example if you forgot to add a file, and want to keep a clean revision history. '''This will not work on an Inkscape trunk checkout.'''&lt;br /&gt;
&lt;br /&gt;
Let's say you started from r770, made 200 local commits, but you decided that what you did since r954 is completely wrong. You want to go back to revision 954 and do it differently. Here's one way to do this. First branch locally to preserve your work (maybe later you'll find out there's some way to save it). Then uncommit everything up to r954 and revert.&lt;br /&gt;
 $ bzr branch myproject myproject-dead-end&lt;br /&gt;
 $ cd myproject&lt;br /&gt;
 $ bzr uncommit -r 954&lt;br /&gt;
 $ bzr revert&lt;br /&gt;
&lt;br /&gt;
Sometimes a big change gets committed while you are working on a feature. If you want to check whether your code still works after the big change, merge from trunk.&lt;br /&gt;
 $ bzr merge&lt;br /&gt;
&lt;br /&gt;
In this case, you can omit where you are merging from, because the default is to merge from the branch you started from (the parent).&lt;br /&gt;
&lt;br /&gt;
To cherry-pick specific revisions from another branch:&lt;br /&gt;
 $ bzr merge -r340..360 ''branch_location''&lt;br /&gt;
Or to cherry-pick a single revision:&lt;br /&gt;
 $ bzr merge -c340 ''branch_location''&lt;br /&gt;
&lt;br /&gt;
===Publishing your work on Launchpad===&lt;br /&gt;
&lt;br /&gt;
To publish branches on Launchpad, you have to add an SSH key to your account. If you don't have one yet, generate it:&lt;br /&gt;
 $ ssh-keygen&lt;br /&gt;
   ... follow instructions ...&lt;br /&gt;
&lt;br /&gt;
Once you created the key, go to your Launchpad profile page, edit SSH keys and paste the contents of the key file (by default it's in &amp;lt;tt&amp;gt;~/.ssh/id_rsa.pub&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;~/.ssh/id_dsa.pub&amp;lt;/tt&amp;gt;) into the window. You can now use the Launchpad integration features.&lt;br /&gt;
&lt;br /&gt;
Login to Launchpad, if you didn't do it yet. You only need to do this once on each computer. You need to use your login name, not the display name.&lt;br /&gt;
 $ bzr launchpad-login johnq&lt;br /&gt;
&lt;br /&gt;
Publish your branch on Launchpad. If you push it under your username, only you will be able to modify it. If you have commit access and publish your branch under the username &amp;lt;tt&amp;gt;inkscape.dev&amp;lt;/tt&amp;gt;, all Inkscape developers will be able to change it.&lt;br /&gt;
 $ bzr push lp:~johnq/inkscape/myproject&lt;br /&gt;
 $ bzr push lp:~inkscape.dev/inkscape/myproject&lt;br /&gt;
&lt;br /&gt;
The push location will be saved. After more commits, you can simply write&lt;br /&gt;
 $ bzr push&lt;br /&gt;
&lt;br /&gt;
It's sometimes convenient to update the Launchpad copy after each commit. To save on typing, you can bind your working tree to the remote branch. This way every commit will be immediately published on the remote branch. Note that you won't be able to commit while offline.&lt;br /&gt;
 $ bzr bind :push&lt;br /&gt;
&lt;br /&gt;
'''Note that it is very helpful if other Inkscape developers can commit to your branch.''' For example, if someone is reviewing your code, it is much easier to make some quick edits than to tell you to make the edits. (for example, Johan will become very angry when he cannot commit small edits, he will stop reviewing right there, and never look at your branch again!)&lt;br /&gt;
The easiest way to make your branch commitable to others is to upload it as:&lt;br /&gt;
&lt;br /&gt;
 bzr push lp:~inkscape.dev/inkscape/myproject&lt;br /&gt;
&lt;br /&gt;
However, you must be a member of [https://launchpad.net/~inkscape.dev inkscape.dev] (have commit rights) to&lt;br /&gt;
do this. If you are not in inkscape.dev, you'll need to create a team&lt;br /&gt;
consisting of yourself and the Inkscape Developers group, and upload&lt;br /&gt;
as that team. (You can create a team from the front page of&lt;br /&gt;
Launchpad.)&lt;br /&gt;
&lt;br /&gt;
===Putting your work in the trunk===&lt;br /&gt;
&lt;br /&gt;
Once your new killer feature you made in a branch is ready, you need to merge your changes into a checkout of the trunk.  If you don't have one, do (in the directory ''containing'' myproject):&lt;br /&gt;
  $ bzr checkout lp:inkscape trunk&lt;br /&gt;
  $ cd trunk&lt;br /&gt;
&lt;br /&gt;
If you already have one on hand, make sure it's up to date:&lt;br /&gt;
  $ cd trunk&lt;br /&gt;
  $ bzr update&lt;br /&gt;
&lt;br /&gt;
Now that you have a local checkout of the current trunk:&lt;br /&gt;
  $ bzr merge ../myproject&lt;br /&gt;
  $ bzr commit -m 'added my feature'&lt;br /&gt;
&lt;br /&gt;
Alternatively, if you don't have a checkout but a branch:&lt;br /&gt;
 $ bzr merge ../myproject&lt;br /&gt;
 $ bzr commit -m 'added my feature'&lt;br /&gt;
 $ bzr push&lt;br /&gt;
&lt;br /&gt;
Note that you need to do the above sequence on a branch that has not diverged from the trunk, otherwise it will fail, as the trunk is append-only.&lt;br /&gt;
&lt;br /&gt;
The third method is to merge trunk into your local branch, then push:&lt;br /&gt;
 $ bzr merge ../trunk&lt;br /&gt;
 $ bzr commit -m 'added my feature'&lt;br /&gt;
 $ bzr push&lt;br /&gt;
&lt;br /&gt;
'''WARNING:''' This last method should be avoided if possible. If any work was done in trunk since you branched, all of it will be converted into subrevisions of your merge commit and revision numbers will change. This method will also fail with append-only branches, such as Inkscape's trunk on Launchpad.&lt;br /&gt;
&lt;br /&gt;
====Undoing a wrong-way merge====&lt;br /&gt;
:''NOTE: Inkscape and Lib2geom trunks are append-only, so you will be prevented from doing the mistake discussed here, but this information is provided here in case it is useful for other projects.''&lt;br /&gt;
&lt;br /&gt;
Let's say you merged trunk into a feature branch, then pushed that as the new trunk, and this &amp;quot;erased&amp;quot; some revisions. In reality the revisions are still present, but they became subrevisions of the merge commit. To restore the old revision numbers with your merge as the last revision, do this. First, find the revision into which you want to merge the feature changes. This will usually be the second parent of the mangling merge revision.&lt;br /&gt;
 $ bzr log --show-ids&lt;br /&gt;
 $ bzr visualise   ''(requires bzr-gtk plugin)&lt;br /&gt;
&lt;br /&gt;
Now branch from this revision:&lt;br /&gt;
 $ bzr branch lp:myproject -r johnq@example.com-20111230042529-0iwskf9kff2xdmzg&lt;br /&gt;
&lt;br /&gt;
Merge your changes the correct way and commit:&lt;br /&gt;
 $ bzr merge lp:myproject&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
&lt;br /&gt;
Replace the trunk with the correct version with unmangled history:&lt;br /&gt;
 $ bzr push --overwrite lp:myproject&lt;br /&gt;
&lt;br /&gt;
You can now convert the fixed local branch into a checkout of your project's trunk:&lt;br /&gt;
 $ bzr bind :push&lt;br /&gt;
&lt;br /&gt;
===Working with patch files===&lt;br /&gt;
&lt;br /&gt;
If you don't have permission to commit to the trunk, you can bundle your branch's changes into a patch instead:&lt;br /&gt;
  $ bzr send -o mychanges.patch&lt;br /&gt;
&lt;br /&gt;
To apply patches produced by the above command, just do this:&lt;br /&gt;
  $ bzr patch somechanges.patch&lt;br /&gt;
&lt;br /&gt;
===Local branching===&lt;br /&gt;
&lt;br /&gt;
Naturally, all this also works locally. For example, when you're in the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory, you can write &amp;lt;tt&amp;gt;bzr branch trunk export-dialog&amp;lt;/tt&amp;gt; to create a new branch of the trunk called &amp;lt;tt&amp;gt;export-dialog&amp;lt;/tt&amp;gt;, where you'll work only on improving the export dialog. Similarly, you can merge between local branches.&lt;br /&gt;
&lt;br /&gt;
==Using Git-style branches==&lt;br /&gt;
&lt;br /&gt;
Git stores many branches in one directory, and allows you to switch between them. This is also possible in Bazaar. One way is to use native Bazaar facilities, the other is to use the [https://launchpad.net/bzr-colo bzr-colo] plugin. We'll cover the native way, since the plugin has good documentation.&lt;br /&gt;
&lt;br /&gt;
First, create a no-working-trees shared repository. The repo directory can be hidden if you want.&lt;br /&gt;
 $ bzr init-repo --no-trees .inkscape-repo&lt;br /&gt;
&lt;br /&gt;
Fetch the trunk and any other branches you want into our repository. (You can also push your local branches.)&lt;br /&gt;
 $ bzr branch lp:inkscape .inkscape-repo/trunk&lt;br /&gt;
 $ bzr branch lp:inkscape/0.48.x .inkscape-repo/0.48.x&lt;br /&gt;
 $ bzr push killer-feature .inkscape-repo/killer-feature&lt;br /&gt;
&lt;br /&gt;
Create your working tree by making a lightweight checkout of a desired branch. The &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter is imp[ortant, otherwise you can run into problems.&lt;br /&gt;
 $ bzr checkout --lightweight .inkscape-repo/trunk inkscape&lt;br /&gt;
 $ cd inkscape&lt;br /&gt;
&lt;br /&gt;
If you have an existing checkout of the trunk, use the following command:&lt;br /&gt;
 $ cd inkscape&lt;br /&gt;
 $ bzr reconfigure --lightweight-checkout --bind-to ../.inkscape-repo/trunk&lt;br /&gt;
&lt;br /&gt;
Now you can work in the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory like you would on a normal branch. If you want to switch to a different branch, use:&lt;br /&gt;
 $ bzr switch ../.inkscape-repo/killer-feature&lt;br /&gt;
&lt;br /&gt;
To create a new branch in the repository:&lt;br /&gt;
 $ bzr switch -b ../.inkscape-repo/killer-feature-2&lt;br /&gt;
&lt;br /&gt;
==Best Practices for Inkscape Project==&lt;br /&gt;
&lt;br /&gt;
===Registering Bugfixes===&lt;br /&gt;
&lt;br /&gt;
Launchpad will automatically link a bug report to a branch and mark it &amp;quot;Fix Available&amp;quot; once somebody commits using the flag --fixes, e.g. (if you fix those two bugs in one commit):&lt;br /&gt;
 bzr commit --fixes lp:123456 --fixes lp:123457 -m 'patch description'&lt;br /&gt;
Then, bugs can be changed automatically from &amp;quot;Fix Available&amp;quot; to &amp;quot;Fix Released&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[http://doc.bazaar-vcs.org/bzr.dev/en/tutorials/using_bazaar_with_launchpad.html#changing-the-state-in-launchpad-while-committing-in-bazaar Read more: &amp;quot;Changing the state in Launchpad while committing in Bazaar&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
===Test branches before committing merges===&lt;br /&gt;
&lt;br /&gt;
Whenever a branch is merged into Inkscape trunk, the automated tests should be run to check for a few potential errors.  This is achieved by running the &amp;quot;make check&amp;quot; command after merging (but before committing any changes).  See the example below.&lt;br /&gt;
&lt;br /&gt;
===Proper way of merging===&lt;br /&gt;
&lt;br /&gt;
To repeat, don't do something like:&lt;br /&gt;
 $ bzr branch lp:inkscape myproject&lt;br /&gt;
 ... work ...&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
 $ bzr merge               # NOOOO!!! We are doomed!&lt;br /&gt;
 $ bzr push lp:inkscape&lt;br /&gt;
&lt;br /&gt;
It would obfuscate the revision history: trunk commits that happened between the time you branched and the time you pushed would get grouped into one. Additionally, to prevent this obfuscation, Inkscape's trunk is set to append-only, so the above sequence of commands would fail. Do the merge the other way around:&lt;br /&gt;
&lt;br /&gt;
 $ bzr branch trunk myproject&lt;br /&gt;
 $ cd myproject&lt;br /&gt;
 ... work ...&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
 $ cd ../trunk&lt;br /&gt;
 $ bzr merge ../myproject  # correct!&lt;br /&gt;
 $ make check              # Run automated testing&lt;br /&gt;
 $ bzr commit&lt;br /&gt;
&lt;br /&gt;
You'll need a trunk checkout, but the revision history will be much less confusing, and it's useful to have a trunk checkout anyway for minor fixes.&lt;br /&gt;
&lt;br /&gt;
===Fixing a bug in both trunk and a release branch===&lt;br /&gt;
&lt;br /&gt;
This will assume this directory layout:&lt;br /&gt;
 inkscape&lt;br /&gt;
  +-trunk&lt;br /&gt;
  |  +-src&lt;br /&gt;
  |  +-...&lt;br /&gt;
  +-0.48.x&lt;br /&gt;
  |  +-src&lt;br /&gt;
  |  +-...&lt;br /&gt;
&lt;br /&gt;
Fix the bug in trunk and commit it, let's say it will be revision 1234.&lt;br /&gt;
Go to the release branch directory, e.g. 0.48.x, and write&lt;br /&gt;
&lt;br /&gt;
 $ bzr merge -r 1233..1234 ../trunk&lt;br /&gt;
&lt;br /&gt;
The operation can take a while. Resolve any conflicts, fix any compilation failures, then commit to the release branch, or post the diff to a Launchpad bug report.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://doc.bazaar-vcs.org/latest/en/ Bazaar manual]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93602</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93602"/>
		<updated>2014-11-19T22:01:01Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* The Pitch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest in April 2015&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Discusson ==&lt;br /&gt;
&lt;br /&gt;
See the [[Board_Meetings]] page for minutes of past discussions and the time and place of the next discussion.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest! We will work on Inkscape bugs, new features, and packaging as well as website issues; in fact anything that can benefit from developers and users being physically in the same space.&lt;br /&gt;
&lt;br /&gt;
Maybe even some Gtk+ issues:  http://wiki.inkscape.org/wiki/index.php/GTK%2B_Issues&lt;br /&gt;
&lt;br /&gt;
== The Pitch ==&lt;br /&gt;
&lt;br /&gt;
Inkscape enables digital artists to produce professional quality work and beginners to create simple drawings or just noodle a bit. It allows everyone to explore their creativity. Inkscape is also used by engineers and scientists to create clear drawings to explain their ideas.&lt;br /&gt;
The Inkscape software is provided for free to all, as a fully open source, community-developed, socially owned project.&lt;br /&gt;
&lt;br /&gt;
We need your help to further improve the program so many people love, and make sure it has a bright future!&lt;br /&gt;
&lt;br /&gt;
Our developers work remotely in all corners of the world and rarely have the chance to work together in person.  We've noticed that in-person meetings bring about stronger relationships and more creative results. Being together in one room allows us to work on things that are harder to do remotely: designing a new plugin/extension system, teaming up to squash particularly nasty bugs, authoring better user documentation, and planning where to take Inkscape development in the future.&lt;br /&gt;
&lt;br /&gt;
We will be meeting before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting] (April 29 to May 2, 2015) in Toronto for three days of intense hacking.&lt;br /&gt;
&lt;br /&gt;
Please consider donating to cover travel, room, and board so our volunteer developers can attend the hackfest in person.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organizations that use Inkscape to draw testimonials from:  http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
* Some of the nifty new features:  http://inkscapetutorials.wordpress.com/category/0-91-new-features/&lt;br /&gt;
&lt;br /&gt;
# TODO: Needs some photos of our developers, or images of what we'll be working on&lt;br /&gt;
&lt;br /&gt;
Suggested donation amounts:&lt;br /&gt;
* $5 - Buy an Inkscape developer a beverage&lt;br /&gt;
* $50 - Food &amp;amp; Incidentals for one developer&lt;br /&gt;
* $500 - Lunch for the hackfest&lt;br /&gt;
* $2000 - Sponsor a developer&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
Sunday, April 26&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through Tuesday, April 28&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;; just before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting 2015] (LGM2015) which takes place from [http://lists.freedesktop.org/archives/create/2014-May/004961.html April 29&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through May 2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; 2015] (note: email states 30th through 2nd but an email on libre-graphics-meeting states that one day has been added at the beginning).&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Late night hacking&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
Toronto at the same venue as LGM. We have a room reserved for us that can hold up to 30 people. It has movable tables with built in power outlets and a 40&amp;quot; TV in lieu of a projector.&lt;br /&gt;
&lt;br /&gt;
== Budget ==&lt;br /&gt;
&lt;br /&gt;
We had 8 attendees at the last LGM, and are hoping for perhaps 12 people this time.&lt;br /&gt;
Roughly, assuming costs will be in the $1000-2000 range per person for travel, room, and board, that gives a budget of $9-18k&lt;br /&gt;
&lt;br /&gt;
To get more specific we'll need to:&lt;br /&gt;
  * Estimate of hotel costs per night:  $50 per person for shared double in two star hotel, $30 per person in hostel&lt;br /&gt;
  * Estimate of airfare costs from Europe ($900), West Coast ($750), East Coast ($300), etc.&lt;br /&gt;
  * Plan a daily food/incidentals stipend amount (~$30)&lt;br /&gt;
&lt;br /&gt;
Cost estimate for 3 days pre-LGM in Toronto:&lt;br /&gt;
 * From Paris: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Boston: airfare $300 + $200 hotel + $100 food = $600&lt;br /&gt;
 * From Zurich: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Los Angeles: airfare $750 + $200 hotel + $100 food = $1150&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We're considering a model similar to what we did with reimbursement limits for the GSoC reunion:&lt;br /&gt;
&lt;br /&gt;
 * Up to $2000 each for Inkscape developers who have contributed for 3+ years and &amp;gt; 200 commits  (About 18 developers qualify, not all currently active)&lt;br /&gt;
 * Up to $1500 each for Inkscape developers who have contributed for 2+ years and &amp;gt; 100 commits  (About 17 additional qualify)&lt;br /&gt;
 * Up to $1000 each for Inkscape developers who have contributed for 1+ year and &amp;gt; 50 commits   (About 24 additional qualify)&lt;br /&gt;
 * Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2015 (About 50 additional qualify)&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
maybe if we had some kind of form letter folks could give to their employer&lt;br /&gt;
i save you this much $$ per year in adobe whatever license fees. would you support my work for this company by contributing some percentage of that back to the inkscape project&lt;br /&gt;
&lt;br /&gt;
* http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** Making contacts with development team&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| [DONE] Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Martin Owens&lt;br /&gt;
| Hear back from LGM about Torronto co-sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| [DONE] Get a list of [[http://wiki.inkscape.org/wiki/index.php/UsedBy companies using inkscape]]&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Summarize and mail devlist&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Set up a new wiki page for planning second Hackfest w/ RedHat&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Draft a preliminary promotional fundraising blurb&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| ryanlerch&lt;br /&gt;
| Work on a video for fundraiser&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Consider indiegogo vs. hosting our own paypal donation page&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Decide plan for implementing website/db support for fundraiser campaigns&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| Can we use Inkscape's existing paypal account or should we set up a separate one for fundraising&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| If we set the product_id on the donation page, can SFC provide us with a summary (or the raw data) with this info, so we can tally hackfest contribs?&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| &lt;br /&gt;
| Mockup layout on Staging for a fundraiser/donation page (using text from Pitch)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Decide where in inkscape.org's site menu to place Hackfest related pages&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Create a Hackfest page in the main website&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a page for Toronto transportation for A) how to get to/from airport, and B) how to get around the city&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a set of posts for Inkscape blog / news feed (to be finalized + published as the event nears)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Find someone local to Toronto to help with local logistics&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to French&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to Spanish (and/or other major languages)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
Places to announce the fundraiser, once it's set up?&lt;br /&gt;
* Inkscape's g+ page&lt;br /&gt;
* inkscape-users@&lt;br /&gt;
* twitter&lt;br /&gt;
* dA&lt;br /&gt;
* the website&lt;br /&gt;
* &amp;lt;karenesq&amp;gt;	I bet LWN would be interested&lt;br /&gt;
* &amp;lt;doctormon&amp;gt;	Possible interest: http://zipfelchappe.readthedocs.org/en/latest/&lt;br /&gt;
* &amp;lt;ryanlerch&amp;gt;	i can promote on inkscapetuts and fedoramagazine too&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* Fleshing out documentation&lt;br /&gt;
** Code documentation&lt;br /&gt;
** Architecture docs&lt;br /&gt;
** Coding howtos&lt;br /&gt;
** Tutorials&lt;br /&gt;
** User documentation&lt;br /&gt;
** Translation of same&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Writing test cases&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
** Conversion of build system&lt;br /&gt;
** Performance optimizations&lt;br /&gt;
** Coordinate flip.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
** Infrastructure setup&lt;br /&gt;
* Design / strategy collaboration&lt;br /&gt;
** SVG 2 fallbacks&lt;br /&gt;
** New plugin/extension system&lt;br /&gt;
* Planning&lt;br /&gt;
** Post-1.0 roadmap definition&lt;br /&gt;
** Conference attendance for upcoming year&lt;br /&gt;
** Future hackfests :-)&lt;br /&gt;
* Pictures pictures pictures&lt;br /&gt;
** Try to make nice pictures that show what has happened. Can then also be used for PR for next edition.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;br /&gt;
* Take a group picture!!!&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93596</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93596"/>
		<updated>2014-11-19T21:19:04Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Tasks to tackle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest in April 2015&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Discusson ==&lt;br /&gt;
&lt;br /&gt;
See the [[Board_Meetings]] page for minutes of past discussions and the time and place of the next discussion.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest! We will work on Inkscape bugs, new features, and packaging as well as website issues; in fact anything that can benefit from developers and users being physically in the same space.&lt;br /&gt;
&lt;br /&gt;
Maybe even some Gtk+ issues:  http://wiki.inkscape.org/wiki/index.php/GTK%2B_Issues&lt;br /&gt;
&lt;br /&gt;
== The Pitch ==&lt;br /&gt;
&lt;br /&gt;
Inkscape enables digital artists to do produce professional quality work, beginners to create simple drawings or just noodle a bit, and everyone to explore their creativity. The Inkscape software is provided for free to all, as a fully open source, community-developed, socially owned project.&lt;br /&gt;
&lt;br /&gt;
We need your help to make sure Inkscape has a bright future!&lt;br /&gt;
&lt;br /&gt;
Our developers work remotely in all corners of the world and rarely have the chance to work together in person.  We've noticed that in-person meetings bring about stronger relationships and more creative results. Being together in one room allows us to work on things that are harder to do remotely: designing a new plugin/extension system, teaming up to squash particularly nasty bugs, authoring better user documentation, and planning where to take Inkscape development in the future.&lt;br /&gt;
&lt;br /&gt;
We will be meeting before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting] (April 29 to May 2, 2015) in Toronto for three days of intense hacking.&lt;br /&gt;
&lt;br /&gt;
Please consider donating to cover travel, room, and board so our volunteer developers can attend the hackfest in person.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organizations that use Inkscape to draw testimonials from:  http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
* Some of the nifty new features:  http://inkscapetutorials.wordpress.com/category/0-91-new-features/&lt;br /&gt;
&lt;br /&gt;
# TODO: Needs some photos of our developers, or images of what we'll be working on&lt;br /&gt;
&lt;br /&gt;
Suggested donation amounts:&lt;br /&gt;
* $5 - Buy an Inkscape developer a beverage&lt;br /&gt;
* $50 - Food &amp;amp; Incidentals for one developer&lt;br /&gt;
* $500 - Lunch for the hackfest&lt;br /&gt;
* $2000 - Sponsor a developer&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
Sunday, April 26&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through Tuesday, April 28&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;; just before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting 2015] (LGM2015) which takes place from [http://lists.freedesktop.org/archives/create/2014-May/004961.html April 29&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through May 2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; 2015] (note: email states 30th through 2nd but an email on libre-graphics-meeting states that one day has been added at the beginning).&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Late night hacking&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
Toronto at the same venue as LGM. We have a room reserved for us that can hold up to 30 people. It has movable tables with built in power outlets and a 40&amp;quot; TV in lieu of a projector.&lt;br /&gt;
&lt;br /&gt;
== Budget ==&lt;br /&gt;
&lt;br /&gt;
We had 8 attendees at the last LGM, and are hoping for perhaps 12 people this time.&lt;br /&gt;
Roughly, assuming costs will be in the $1000-2000 range per person for travel, room, and board, that gives a budget of $9-18k&lt;br /&gt;
&lt;br /&gt;
To get more specific we'll need to:&lt;br /&gt;
  * Estimate of hotel costs per night:  $50 per person for shared double in two star hotel, $30 per person in hostel&lt;br /&gt;
  * Estimate of airfare costs from Europe ($900), West Coast ($750), East Coast ($300), etc.&lt;br /&gt;
  * Plan a daily food/incidentals stipend amount (~$30)&lt;br /&gt;
&lt;br /&gt;
Cost estimate for 3 days pre-LGM in Toronto:&lt;br /&gt;
 * From Paris: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Boston: airfare $300 + $200 hotel + $100 food = $600&lt;br /&gt;
 * From Zurich: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Los Angeles: airfare $750 + $200 hotel + $100 food = $1150&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We're considering a model similar to what we did with reimbursement limits for the GSoC reunion:&lt;br /&gt;
&lt;br /&gt;
 * Up to $2000 each for Inkscape developers who have contributed for 3+ years and &amp;gt; 200 commits  (About 18 developers qualify, not all currently active)&lt;br /&gt;
 * Up to $1500 each for Inkscape developers who have contributed for 2+ years and &amp;gt; 100 commits  (About 17 additional qualify)&lt;br /&gt;
 * Up to $1000 each for Inkscape developers who have contributed for 1+ year and &amp;gt; 50 commits   (About 24 additional qualify)&lt;br /&gt;
 * Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2015 (About 50 additional qualify)&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
maybe if we had some kind of form letter folks could give to their employer&lt;br /&gt;
i save you this much $$ per year in adobe whatever license fees. would you support my work for this company by contributing some percentage of that back to the inkscape project&lt;br /&gt;
&lt;br /&gt;
* http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** Making contacts with development team&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| [DONE] Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Martin Owens&lt;br /&gt;
| Hear back from LGM about Torronto co-sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| [DONE] Get a list of [[http://wiki.inkscape.org/wiki/index.php/UsedBy companies using inkscape]]&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Summarize and mail devlist&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Set up a new wiki page for planning second Hackfest w/ RedHat&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Draft a preliminary promotional fundraising blurb&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| ryanlerch&lt;br /&gt;
| Work on a video for fundraiser&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Consider indiegogo vs. hosting our own paypal donation page&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Decide plan for implementing website/db support for fundraiser campaigns&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| Can we use Inkscape's existing paypal account or should we set up a separate one for fundraising&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| If we set the product_id on the donation page, can SFC provide us with a summary (or the raw data) with this info, so we can tally hackfest contribs?&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| &lt;br /&gt;
| Mockup layout on Staging for a fundraiser/donation page (using text from Pitch)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Decide where in inkscape.org's site menu to place Hackfest related pages&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Create a Hackfest page in the main website&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a page for Toronto transportation for A) how to get to/from airport, and B) how to get around the city&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a set of posts for Inkscape blog / news feed (to be finalized + published as the event nears)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Find someone local to Toronto to help with local logistics&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to French&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to Spanish (and/or other major languages)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
Places to announce the fundraiser, once it's set up?&lt;br /&gt;
* Inkscape's g+ page&lt;br /&gt;
* inkscape-users@&lt;br /&gt;
* twitter&lt;br /&gt;
* dA&lt;br /&gt;
* the website&lt;br /&gt;
* &amp;lt;karenesq&amp;gt;	I bet LWN would be interested&lt;br /&gt;
* &amp;lt;doctormon&amp;gt;	Possible interest: http://zipfelchappe.readthedocs.org/en/latest/&lt;br /&gt;
* &amp;lt;ryanlerch&amp;gt;	i can promote on inkscapetuts and fedoramagazine too&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* Fleshing out documentation&lt;br /&gt;
** Code documentation&lt;br /&gt;
** Architecture docs&lt;br /&gt;
** Coding howtos&lt;br /&gt;
** Tutorials&lt;br /&gt;
** User documentation&lt;br /&gt;
** Translation of same&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Writing test cases&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
** Conversion of build system&lt;br /&gt;
** Performance optimizations&lt;br /&gt;
** Coordinate flip.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
** Infrastructure setup&lt;br /&gt;
* Design / strategy collaboration&lt;br /&gt;
** SVG 2 fallbacks&lt;br /&gt;
** New plugin/extension system&lt;br /&gt;
* Planning&lt;br /&gt;
** Post-1.0 roadmap definition&lt;br /&gt;
** Conference attendance for upcoming year&lt;br /&gt;
** Future hackfests :-)&lt;br /&gt;
* Pictures pictures pictures&lt;br /&gt;
** Try to make nice pictures that show what has happened. Can then also be used for PR for next edition.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;br /&gt;
* Take a group picture!!!&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93584</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=93584"/>
		<updated>2014-11-19T21:05:25Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Non-coding stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest in April 2015&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Discusson ==&lt;br /&gt;
&lt;br /&gt;
See the [[Board_Meetings]] page for minutes of past discussions and the time and place of the next discussion.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest! We will work on Inkscape bugs, new features, and packaging as well as website issues; in fact anything that can benefit from developers and users being physically in the same space.&lt;br /&gt;
&lt;br /&gt;
Maybe even some Gtk+ issues:  http://wiki.inkscape.org/wiki/index.php/GTK%2B_Issues&lt;br /&gt;
&lt;br /&gt;
== The Pitch ==&lt;br /&gt;
&lt;br /&gt;
Inkscape enables digital artists to do produce professional quality work, beginners to create simple drawings or just noodle a bit, and everyone to explore their creativity. The Inkscape software is provided for free to all, as a fully open source, community-developed, socially owned project.&lt;br /&gt;
&lt;br /&gt;
We need your help to make sure Inkscape has a bright future!&lt;br /&gt;
&lt;br /&gt;
Our developers work remotely in all corners of the world and rarely have the chance to work together in person.  We've noticed that in-person meetings bring about stronger relationships and more creative results. Being together in one room allows us to work on things that are harder to do remotely: designing a new plugin/extension system, teaming up to squash particularly nasty bugs, authoring better user documentation, and planning where to take Inkscape development in the future.&lt;br /&gt;
&lt;br /&gt;
We will be meeting before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting] (April 29 to May 2, 2015) in Toronto for three days of intense hacking.&lt;br /&gt;
&lt;br /&gt;
Please consider donating to cover travel, room, and board so our volunteer developers can attend the hackfest in person.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Organizations that use Inkscape to draw testimonials from:  http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
* Some of the nifty new features:  http://inkscapetutorials.wordpress.com/category/0-91-new-features/&lt;br /&gt;
&lt;br /&gt;
# TODO: Needs some photos of our developers, or images of what we'll be working on&lt;br /&gt;
&lt;br /&gt;
Suggested donation amounts:&lt;br /&gt;
* $5 - If you owe an Inkscape developer a beverage&lt;br /&gt;
* $50 - Food &amp;amp; Incidentals for one developer&lt;br /&gt;
* $500 - Lunch for the hackfest&lt;br /&gt;
* $2000 - Sponsor a developer&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
Sunday, April 26&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through Tuesday, April 28&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;; just before the [http://libregraphicsmeeting.org/2014/ Libre Graphics Meeting 2015] (LGM2015) which takes place from [http://lists.freedesktop.org/archives/create/2014-May/004961.html April 29&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; through May 2&amp;lt;sup&amp;gt;nd&amp;lt;/sup&amp;gt; 2015] (note: email states 30th through 2nd but an email on libre-graphics-meeting states that one day has been added at the beginning).&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Late night hacking&lt;br /&gt;
&lt;br /&gt;
== Location ==&lt;br /&gt;
&lt;br /&gt;
Toronto at the same venue as LGM. We have a room reserved for us that can hold up to 30 people. It has movable tables with built in power outlets and a 40&amp;quot; TV in lieu of a projector.&lt;br /&gt;
&lt;br /&gt;
== Budget ==&lt;br /&gt;
&lt;br /&gt;
We had 8 attendees at the last LGM, and are hoping for perhaps 12 people this time.&lt;br /&gt;
Roughly, assuming costs will be in the $1000-2000 range per person for travel, room, and board, that gives a budget of $9-18k&lt;br /&gt;
&lt;br /&gt;
To get more specific we'll need to:&lt;br /&gt;
  * Estimate of hotel costs per night:  $50 per person for shared double in two star hotel, $30 per person in hostel&lt;br /&gt;
  * Estimate of airfare costs from Europe ($900), West Coast ($750), East Coast ($300), etc.&lt;br /&gt;
  * Plan a daily food/incidentals stipend amount (~$30)&lt;br /&gt;
&lt;br /&gt;
Cost estimate for 3 days pre-LGM in Toronto:&lt;br /&gt;
 * From Paris: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Boston: airfare $300 + $200 hotel + $100 food = $600&lt;br /&gt;
 * From Zurich: airfare $900 + $200 hotel + $100 food = $1200&lt;br /&gt;
 * From Los Angeles: airfare $750 + $200 hotel + $100 food = $1150&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We're considering a model similar to what we did with reimbursement limits for the GSoC reunion:&lt;br /&gt;
&lt;br /&gt;
 * Up to $2000 each for Inkscape developers who have contributed for 3+ years and &amp;gt; 200 commits  (About 18 developers qualify, not all currently active)&lt;br /&gt;
 * Up to $1500 each for Inkscape developers who have contributed for 2+ years and &amp;gt; 100 commits  (About 17 additional qualify)&lt;br /&gt;
 * Up to $1000 each for Inkscape developers who have contributed for 1+ year and &amp;gt; 50 commits   (About 24 additional qualify)&lt;br /&gt;
 * Up to $500 each for any Inkscape contributor listed in AUTHORS file with at least 10 commits by Jan 1, 2015 (About 50 additional qualify)&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
maybe if we had some kind of form letter folks could give to their employer&lt;br /&gt;
i save you this much $$ per year in adobe whatever license fees. would you support my work for this company by contributing some percentage of that back to the inkscape project&lt;br /&gt;
&lt;br /&gt;
* http://wiki.inkscape.org/wiki/index.php/UsedBy&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** Making contacts with development team&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| [DONE] Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Martin Owens&lt;br /&gt;
| Hear back from LGM about Torronto co-sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| [DONE] Get a list of [[http://wiki.inkscape.org/wiki/index.php/UsedBy companies using inkscape]]&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Summarize and mail devlist&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| [DONE] Set up a new wiki page for planning second Hackfest w/ RedHat&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| [DONE] Draft a preliminary promotional fundraising blurb&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| ryanlerch&lt;br /&gt;
| Work on a video for fundraiser&lt;br /&gt;
|-&lt;br /&gt;
| 20 sep 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Consider indiegogo vs. hosting our own paypal donation page&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| everyone&lt;br /&gt;
| [DONE] Decide plan for implementing website/db support for fundraiser campaigns&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| Can we use Inkscape's existing paypal account or should we set up a separate one for fundraising&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| karen&lt;br /&gt;
| If we set the product_id on the donation page, can SFC provide us with a summary (or the raw data) with this info, so we can tally hackfest contribs?&lt;br /&gt;
|-&lt;br /&gt;
| 15 oct 2014&lt;br /&gt;
| &lt;br /&gt;
| Mockup layout on Staging for a fundraiser/donation page (using text from Pitch)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Decide where in inkscape.org's site menu to place Hackfest related pages&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Create a Hackfest page in the main website&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a page for Toronto transportation for A) how to get to/from airport, and B) how to get around the city&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Write a set of posts for Inkscape blog / news feed (to be finalized + published as the event nears)&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Find someone local to Toronto to help with local logistics&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to French&lt;br /&gt;
|-&lt;br /&gt;
| 12 nov 2014&lt;br /&gt;
| &lt;br /&gt;
| Translate the Hackfest Donation page to Spanish (and/or other major languages)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
Places to announce the fundraiser, once it's set up?&lt;br /&gt;
* Inkscape's g+ page&lt;br /&gt;
* inkscape-users@&lt;br /&gt;
* twitter&lt;br /&gt;
* dA&lt;br /&gt;
* the website&lt;br /&gt;
* &amp;lt;karenesq&amp;gt;	I bet LWN would be interested&lt;br /&gt;
* &amp;lt;doctormon&amp;gt;	Possible interest: http://zipfelchappe.readthedocs.org/en/latest/&lt;br /&gt;
* &amp;lt;ryanlerch&amp;gt;	i can promote on inkscapetuts and fedoramagazine too&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* Fleshing out documentation&lt;br /&gt;
** Code documentation&lt;br /&gt;
** Architecture docs&lt;br /&gt;
** Coding howtos&lt;br /&gt;
** Tutorials&lt;br /&gt;
** User documentation&lt;br /&gt;
** Translation of same&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Writing test cases&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
** Conversion of build system&lt;br /&gt;
** Performance optimizations&lt;br /&gt;
** Coordinate flip.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
** Infrastructure setup&lt;br /&gt;
* Design / strategy collaboration&lt;br /&gt;
** SVG 2 fallbacks&lt;br /&gt;
** New plugin/extension system&lt;br /&gt;
* Planning&lt;br /&gt;
** Post-1.0 roadmap definition&lt;br /&gt;
** Conference attendance for upcoming year&lt;br /&gt;
** Future hackfests :-)&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;br /&gt;
* Take a group picture!!!&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93452</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93452"/>
		<updated>2014-11-12T22:30:08Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing we need a modified version of perceptualdiff that can handle transparency!!!&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    sudo apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
    sudo apt-get install libfreeimage-dev&lt;br /&gt;
    cd ~&lt;br /&gt;
    bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest&lt;br /&gt;
    cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod&lt;br /&gt;
    cmake .&lt;br /&gt;
    make&lt;br /&gt;
    sudo cp perceptualdiff /usr/bin&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93446</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93446"/>
		<updated>2014-11-12T22:07:23Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Several packages for our Jenkins jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For render testing (we need a modified version of perceptualdiff that can handle transparency!!!):&lt;br /&gt;
    apt-get install libfreeimage3 libopenjpeg2 libraw9&lt;br /&gt;
So we have to build our own version of perceptualdiff...&lt;br /&gt;
    perceptualdiff download/patch/build instructions here&lt;br /&gt;
For building 2Geom:&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation:&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93422</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93422"/>
		<updated>2014-11-12T20:49:48Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Before setting up Inkscape and 2Geom jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For building 2Geom&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
=====Jobs=====&lt;br /&gt;
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93410</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93410"/>
		<updated>2014-11-12T20:48:06Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Installed Jenkins plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For building 2Geom&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
=====Config Jenkins some more=====&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure System&lt;br /&gt;
* Doxygen installations&lt;br /&gt;
** name: doxygen&lt;br /&gt;
** path: /usr/bin/doxygen  (ignore the warning, you need the executable in there)&lt;br /&gt;
&lt;br /&gt;
=====Before setting up Inkscape and 2Geom jobs=====&lt;br /&gt;
We first need to set up shared workspaces, so we can spread the tasks over several jobs.&lt;br /&gt;
* Manage Jenkins -&amp;gt; Configure system -&amp;gt; Workspace sharing&lt;br /&gt;
* Add Inkscape shared workspace&lt;br /&gt;
** name:  inkscape_trunk&lt;br /&gt;
** repo:  lp:inkscape&lt;br /&gt;
* Add 2Geom shared workspace&lt;br /&gt;
** name:  lib2geom_trunk&lt;br /&gt;
** repo:  lp:lib2geom&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93392</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93392"/>
		<updated>2014-11-12T20:32:03Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Install Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Several packages for our Jenkins jobs=====&lt;br /&gt;
For scan-build static analysis:&lt;br /&gt;
    apt-get install clang-3.5&lt;br /&gt;
For building 2Geom&lt;br /&gt;
    apt-get install cmake&lt;br /&gt;
For 2Geom documentation&lt;br /&gt;
    apt-get install doxygen&lt;br /&gt;
    apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93386</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93386"/>
		<updated>2014-11-12T20:13:37Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Setup Jenkins= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93380</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93380"/>
		<updated>2014-11-12T20:13:13Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Setup Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
=Setup Jenkins==&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93374</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93374"/>
		<updated>2014-11-12T20:08:39Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Setup Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
=====Setup Jenkins=====&lt;br /&gt;
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
* Sign yourself up.&lt;br /&gt;
* Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
=====Installed Jenkins plugins=====&lt;br /&gt;
Manage Jenkins -&amp;gt; Plugin Manager.&lt;br /&gt;
* Bazaar plugin&lt;br /&gt;
* Shared workspace plugin&lt;br /&gt;
* Clang Scan-build Plugin&lt;br /&gt;
* Coverity plugin&lt;br /&gt;
* Doxygen plug-in&lt;br /&gt;
* HTML Publisher Plugin&lt;br /&gt;
* xUnit Plugin&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93368</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93368"/>
		<updated>2014-11-12T19:53:01Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Continuous Integration (Automated testing) */  fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/doc/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** for version [[Release notes/0.91|0.91]] (active development)&lt;br /&gt;
** '''for version [[Release notes/0.48.5|0.48.5]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]]&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org:8080 Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93362</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93362"/>
		<updated>2014-11-12T19:44:58Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Setup Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
=====Setup Jenkins=====&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
** Sign yourself up.&lt;br /&gt;
** Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** Add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** The anonymous user needs &amp;quot;Read&amp;quot; rights on:&lt;br /&gt;
**** Overall . Read&lt;br /&gt;
**** Job . Read&lt;br /&gt;
**** View . Read&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
** Save.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93356</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93356"/>
		<updated>2014-11-12T19:42:14Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Install Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
=====Setup Jenkins=====&lt;br /&gt;
*  Manage Jenkins -&amp;gt; Global security&lt;br /&gt;
** Enable security&lt;br /&gt;
** Access control -&amp;gt; Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.&lt;br /&gt;
** Sign yourself up.&lt;br /&gt;
** Back to Global security&lt;br /&gt;
** Access control -&amp;gt; Authorization -&amp;gt; matrix-based security.&lt;br /&gt;
*** add your username to the matrix and give yourself full auth.&lt;br /&gt;
*** Save.&lt;br /&gt;
** Access control -&amp;gt; disallow users to sign up (no reason for it, and may confuse people)&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93350</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93350"/>
		<updated>2014-11-12T19:34:08Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
    sudo /etc/init.d/jenkins start&lt;br /&gt;
Jenkins is now accessible through port 8080.&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93344</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93344"/>
		<updated>2014-11-12T19:32:00Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Continuous Integration (Automated testing) */  Actually... prevent access while installing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/doc/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** for version [[Release notes/0.91|0.91]] (active development)&lt;br /&gt;
** '''for version [[Release notes/0.48.5|0.48.5]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]]&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93338</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93338"/>
		<updated>2014-11-12T19:30:30Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Continuous Integration (Automated testing) */   Fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/doc/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** for version [[Release notes/0.91|0.91]] (active development)&lt;br /&gt;
** '''for version [[Release notes/0.48.5|0.48.5]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]]&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org:8080 Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93332</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93332"/>
		<updated>2014-11-12T19:29:20Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Jenkins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Jenkins=====&lt;br /&gt;
Follow the instructions on [https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu Jenkins wiki]:&lt;br /&gt;
    wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -&lt;br /&gt;
    sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ &amp;gt; /etc/apt/sources.list.d/jenkins.list'&lt;br /&gt;
    sudo apt-get update&lt;br /&gt;
    sudo apt-get install jenkins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TO DO ====&lt;br /&gt;
* figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93326</id>
		<title>Jenkins server setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Jenkins_server_setup&amp;diff=93326"/>
		<updated>2014-11-12T19:25:40Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: Created page with &amp;quot; == Installed software == The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).      apt-get install emacs24-nox  =====Inkscape build dependenci...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Installed software ==&lt;br /&gt;
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).&lt;br /&gt;
&lt;br /&gt;
    apt-get install emacs24-nox&lt;br /&gt;
&lt;br /&gt;
=====Inkscape build dependencies=====&lt;br /&gt;
    apt-get install bazaar&lt;br /&gt;
    apt-get build-dep inkscape&lt;br /&gt;
    apt-get install autopoint&lt;br /&gt;
&lt;br /&gt;
=====Jenkins=====&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93320</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=93320"/>
		<updated>2014-11-12T19:20:49Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Development Discussion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/doc/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** for version [[Release notes/0.91|0.91]] (active development)&lt;br /&gt;
** '''for version [[Release notes/0.48.5|0.48.5]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]]&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91508</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91508"/>
		<updated>2014-09-15T20:28:59Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Action items */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
Meeting notes 2014-09-15 http://inkscape.org/en/paste/392/&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
Please take yourself off the list if you've completed one.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Get a list of companies using inkscape&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| Summarize and mail devlist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91496</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91496"/>
		<updated>2014-09-15T20:28:23Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Action items */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
Please take yourself off the list if you've completed one.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Get a list of companies using inkscape&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Tav&lt;br /&gt;
| Summarize and mail devlist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91490</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91490"/>
		<updated>2014-09-15T20:27:20Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Action items */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
I can ask Ruth if RH might have the budget and Cat at Google too&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date&lt;br /&gt;
! Owner&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| Could inquire if RH and Google can sponsor&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Karen Sandler (SFC)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Get the fundraising doc posted on our website&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| Bryce&lt;br /&gt;
| Once we have things more nailed down: inquire with samsung for hackfest sponsorship&lt;br /&gt;
|- &lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Contact userbase for interest in the hackfest&lt;br /&gt;
|-&lt;br /&gt;
| 15 sep 2014&lt;br /&gt;
| ScislaC&lt;br /&gt;
| Get a list of companies using inkscape&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91484</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91484"/>
		<updated>2014-09-15T20:19:04Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: add action items&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Action items ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91478</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91478"/>
		<updated>2014-09-15T20:15:21Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
We aim for around 10 people.&lt;br /&gt;
&lt;br /&gt;
Who do we expect to join (not remote), what kind of people?&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape? Possibly one or two. Local students, e.g.&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91472</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91472"/>
		<updated>2014-09-15T20:11:03Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Participants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
* Users? Probably none that don't fall in other categories&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91466</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91466"/>
		<updated>2014-09-15T20:08:04Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* What are sponsors' interests? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== Sponsors' interests ===&lt;br /&gt;
It would help a lot if we have specific ideas about how to compensate sponsors, what they would be &amp;quot;buying&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Interests and offerings&lt;br /&gt;
* PR among users&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on refactoring/ease for devs to develop new things, for example) seems good&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
** Work on specific bugs may be very tricky&lt;br /&gt;
** offer to work on general code improvement (focussing on stability, for example) seems good&lt;br /&gt;
* PR among coders&lt;br /&gt;
** Clear PR during event&lt;br /&gt;
** News item with clear marking of who sponsored the event&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Users?&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91460</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91460"/>
		<updated>2014-09-15T20:02:57Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Sponsors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
=== What are sponsors' interests? ===&lt;br /&gt;
If we know, we can offer them what they would want.&lt;br /&gt;
&lt;br /&gt;
* PR among users&lt;br /&gt;
* Improving a product that they ship&lt;br /&gt;
* Improving a product that many of their employees use&lt;br /&gt;
* PR among coders&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* A bug that requires knowledge of large part of codebase.&lt;br /&gt;
* Simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice,&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE,&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined).&lt;br /&gt;
* A more complicated refactoring that requires discussion.&lt;br /&gt;
* A feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff.&lt;br /&gt;
* Strategy and implementation for SVG 2 fallbacks.&lt;br /&gt;
* Future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins.&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* Fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Users?&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
For the first hackfest, I (Tav) would keep it open to anyone, but only promote it to people already familiar with the Inkscape code base.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_64-bit&amp;diff=91424</id>
		<title>Compiling Inkscape on Windows 64-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_64-bit&amp;diff=91424"/>
		<updated>2014-09-10T19:28:05Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a work in progress. Please spend a few minutes improving this wiki page, thank you very very much!&lt;br /&gt;
&lt;br /&gt;
== MinGW ==&lt;br /&gt;
Get MinGW 64-bit from here:&lt;br /&gt;
[http://mingw-w64.sourceforge.net/index.php MinGW-w64 on Sourceforge], taking the package from the Mingw-builds Project.&lt;br /&gt;
&lt;br /&gt;
The version you need is POSIX with SJLJ exception handling, because inkscape-devlibs64 has been compiled with SJLJ exception handling, and POSIX is needed for C++11 thread capabilities.&lt;br /&gt;
&lt;br /&gt;
Direct link to what I got: [http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.0/threads-posix/sjlj/x86_64-4.9.0-release-posix-sjlj-rt_v3-rev1.7z/download x86_64-4.9.0-release-posix-sjlj-rt_v3-rev1.7z]&lt;br /&gt;
&lt;br /&gt;
== Devlibs 64 ==&lt;br /&gt;
&lt;br /&gt;
Checkout lp:inkscape-devlibs64 into, e.g., c:\devlibs64.&lt;br /&gt;
&lt;br /&gt;
Also see: [[Inkscape Devlibs 64-bit]]&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
set the paths correctly in mingwenv.bat! Specifically, I have:&lt;br /&gt;
    IF &amp;quot;%DEVLIBS_PATH%&amp;quot;==&amp;quot;&amp;quot; set DEVLIBS_PATH=c:\devlibs64&lt;br /&gt;
    IF &amp;quot;%MINGW_PATH%&amp;quot;==&amp;quot;&amp;quot; set MINGW_PATH=C:\mingw64\mingw64_posix&lt;br /&gt;
&lt;br /&gt;
build using buildtool as usual, but with build-x64.xml:&lt;br /&gt;
    btool -file build-x64.xml&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91376</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91376"/>
		<updated>2014-08-29T20:57:18Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Brainstorm area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* a bug that requires knowledge of large part of codebase&lt;br /&gt;
* simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined)&lt;br /&gt;
* a more complicated refactoring that requires discussion&lt;br /&gt;
* a feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff&lt;br /&gt;
* future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Users?&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;br /&gt;
&lt;br /&gt;
=== Non-coding stuff ===&lt;br /&gt;
Some ideas for socializing and getting away from PC screen&lt;br /&gt;
* Karaoke :)&lt;br /&gt;
* Board/card games&lt;br /&gt;
* Run around town&lt;br /&gt;
* Movie&lt;br /&gt;
* Pub&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91370</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91370"/>
		<updated>2014-08-29T20:48:06Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Brainstorm area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* a bug that requires knowledge of large part of codebase&lt;br /&gt;
* simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined)&lt;br /&gt;
* a more complicated refactoring that requires discussion&lt;br /&gt;
* a feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff&lt;br /&gt;
* future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Users?&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;br /&gt;
&lt;br /&gt;
=== Help for newcomers ===&lt;br /&gt;
* Provide a VM image with: Inkscape's trunk ready to compile. Preferably with clang so one can run clang's static analyzer and quickly get a nicely formatted report of potential bugs that are generally easy to fix (i.e. null-ptr checking, etc).&lt;br /&gt;
* List of simple tasks&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91352</id>
		<title>Hackfest2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Hackfest2015&amp;diff=91352"/>
		<updated>2014-08-24T13:37:16Z</updated>

		<summary type="html">&lt;p&gt;Johanengelen: /* Date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details the planning of an Inkscape Hackfest 2015 in Boston, Massachusetts, USA.&lt;br /&gt;
&lt;br /&gt;
Last updated: 2014-08-24&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A hackfest first. We'd be working on Inkscape bugs, features and delving into coding, packaging, website issues. Anything that can benefit from developers and users being physically available in the same space.&lt;br /&gt;
&lt;br /&gt;
== Date ==&lt;br /&gt;
&lt;br /&gt;
We hope to schedule the hackfast just after or just before the Libre Graphics Meeting 2015 (LGM2015) at the end of April 2015. Fill in the dates of that event here when available.&lt;br /&gt;
&lt;br /&gt;
== Schedule ==&lt;br /&gt;
&lt;br /&gt;
A sketch of what might happen on hackfest days, 2 or 3 days of things should be planned.&lt;br /&gt;
&lt;br /&gt;
a) Social meeting&lt;br /&gt;
b) Pre-lunch presentations&lt;br /&gt;
c) Lunch&lt;br /&gt;
d) Pure hacking&lt;br /&gt;
e) Dinner&lt;br /&gt;
f) Pure drunk hacking&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
Technically the best location is the MIT campus in Cambridge, Massachusetts. The SIPB computing student group has been contacted in order to get something organised. Other contacts are also available should SIBP not work out.&lt;br /&gt;
&lt;br /&gt;
More details as they arrive.&lt;br /&gt;
&lt;br /&gt;
== Area ==&lt;br /&gt;
&lt;br /&gt;
The Boston/Cambridge area hosts many meetings, hackfests and Free Software events. It is both the home of the Free Software Foundation in downtown Boston, many software related companies involved in Free Software such as Red Hat, Canonical and Google as well as hosting very many large Universities with competent computer science departments.&lt;br /&gt;
&lt;br /&gt;
The area is packed full of sizzling restaurants and other events for social activity.&lt;br /&gt;
&lt;br /&gt;
== Stay ==&lt;br /&gt;
&lt;br /&gt;
The venue can be commuted to via the backbone of the MBTA transport network, the Red Line. Any hotel /outside/ of Cambridge and Boston centers but on this Red Line should be both affordable as well as accessible. Events should consider themselves based on this line too.&lt;br /&gt;
&lt;br /&gt;
House sharing should also be possible. Martin Owens is a local who is inviting a developer to stay for the event. others may be available too.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
Finding local companies who might like to sponsor the event, help out with feeding people or bringing them to attend can be documented here.&lt;br /&gt;
&lt;br /&gt;
== Brainstorm area ==&lt;br /&gt;
Put things here that you think could use a bit of discussion/thought.&lt;br /&gt;
&lt;br /&gt;
=== Tasks to tackle ===&lt;br /&gt;
What can we hack on? To me (Johan) what seems nice are tasks that become more managable/fun/... and with higher chance of completion (maximum one day) when done in a group. Before determining specific tasks, what kind of tasks should we try to tackle?&lt;br /&gt;
* a bug that requires knowledge of large part of codebase&lt;br /&gt;
* simple repetitive refactoring or code clean up that can be parallelized and may not be so much fun alone. Examples:&lt;br /&gt;
** make sure every file contains standardized and correct copyright notice&lt;br /&gt;
** eradicate all use of gboolean/TRUE/FALSE&lt;br /&gt;
** move towards C++11 by =delete on copy-constructors instead of making them private+undefined)&lt;br /&gt;
* a more complicated refactoring that requires discussion&lt;br /&gt;
* a feature that can be split into parallelizable tasks possibly with different skills required, for example:&lt;br /&gt;
** combination of UI, backline math stuff, usability/behavior stuff&lt;br /&gt;
* future work discussions (/not/ coding), for example:&lt;br /&gt;
** plugins&lt;br /&gt;
&lt;br /&gt;
For the drunk hacking sessions:&lt;br /&gt;
* fun stuff, obviously. So perhaps a quirky feature, and see next day if it lead to something usable.&lt;br /&gt;
&lt;br /&gt;
=== Participants ===&lt;br /&gt;
Who do we expect to join, what kind of people? I (johan) have never been to a hackfest, and really have no clue :-)&lt;br /&gt;
* Seasoned Inkscape developers? Yes.&lt;br /&gt;
* More recently joined Inkscape developers? Yes.&lt;br /&gt;
* Users?&lt;br /&gt;
** Graphic designers?&lt;br /&gt;
** Technical drawers?&lt;br /&gt;
** 'Powerpoint' figure drawers?&lt;br /&gt;
* Coders unfamiliar with Inkscape?&lt;br /&gt;
** Good programmers with experience?&lt;br /&gt;
** New programmers with little experience?&lt;br /&gt;
We can make a list of possible tasks for each of these groups.&lt;/div&gt;</summary>
		<author><name>Johanengelen</name></author>
	</entry>
</feed>