Dear All,
The Boston Hackfest 2018 has finished and I'd like to thank everyone
who was able to join me here in Boston and especially I'd like to
greatly thank RedHat for hosting us and Máirín Duffy for stepping in
after MIT.
My work this week has been fairly basic.
= Website =
== Where we are ==
The Inkscape website has some useful features for delivering downloads,
news, community, education and so on.
== What's the problem ==
a. The website is slow, it's been slow for a while and the poor
machine was just beaten by our relentless users. No matter what kind of
caching I added, it just couldn't make up for lack of resources.
b. Developers have also been struggling to get their local development
working.
c. The website also has very old content layout which originated in
the very old pre-django website and hasn't really been updated in ten
years.
d. What it also needs is some new designs for the 'brochure' site.
== What we're doing ==
a. For the website slowness I decided to ask OSUOSL for more
resources. They delivered this week and gave us double the CPU and
Memory. The machine is now much more responsive.
b. We've created a new server inskcape.rocks which will host a per-
user website for development. Developers will be allowed to log in via
ssh and do direct development on website code. For example tonya should
be able to access her website modifications at tonya.inkscape.rocks.
c. We decided that we needed to find a person who would be able to be
the website's curator. A person to think carefully about the pages,
their content and not someone who was either worries about the look and
feel or the programming of the site.
d. Ryan has kindly been working on this week and I'm sure he will step
in to talk about. The rest of the site's design will come later with
some great designs from jabier, Mihaela and others.
== What we need ==
a. Anyone who knows systems administration for websites and databases,
the web server can't even reboot properly as it won't auto start ngninx
or the django website. A specialist doesn't have to be totally
responsible but their super powers would be immensely valuable.
b. I'm taking care of this, so hopefully we'll be ready to test it and
get anyone interested int he website set up.
c. Any person who can read and write English. No technical skills and
it would be better to have someone who wasn't involved with any other
parts of the project. In your own time, work to do content design and
writing.
d. Less critique, I've been disapointed by the lack of careful
constructive feedback regarding the new brochure site. So if you'd like
to be involved, please be kindly and peacable.
= Extensions =
== Where are we ==
We currently include a ton of python (and some other) extensions in the
main master branch of the main repository. These are built into
packages and shipped with Inkscape.
== What's the problem? ==
Extensions are hard to maintain in their current form, lacking many
tests, being incompatible with python3 and having a code quality rating
of -6 out of 10 (astonishingly bad python) this isn't a shock as the
extensions have been a common entry for non-developers and have had no
real leadership, code quality checking or processes for testing or
requirements for inclusion and dependency checking.
== What we're doing ==
Extensions are separated out into their own project branch. They'll
generate their own policy for quality, testing regime and community
network.
We're also upgrading extensions to work with python3 and refactoring
the shared code into an extensive inkex module.
The goal is to include extensions 1.0 into Inkscape 1.0 and leave
future features for Inkscape 1.1
We should also start to use the separate issues tracker to report
issues with extensions. But we need to bundle this with the greater
migration from launchpad.
== What are we not doing ==
Features which won't be considered because of their destabilising
effects but which we talked about at the hackfest will be:
* Improving the Inkscape to script API (dbus, pipe, msg etc)
* Adding new inx widget types (file browse etc)
* Replacing inkex common features with a lib2geom python wrapper
* Removing extensions that call back out to Inkscape to perform
actions
* Alternative modes, such as directory export, verb scripts and
templating.
== What we need ==
We need python developers who can write tests. So many of the
extensions need actual and precise tests, including inkex.
We need the original developers to document the code some so we know
what functions do. Especially common ones.
We need testers and especially users of extensions to test the
refactored versions to ensure they still work and to report issues.
= Other things =
We talked at the hackfest about multi page support and have put
together a pretty decent design (thanks Alex for super good ideas!) but
this is a feature which will have to wait for Inkscape 1.1 even if we
had a person to code the design today.
I worked a little bit on cleaning the layers dialog, it's UI is a bit
of a mess (code wise) and should be made clearer what it can do. (i.e
hiding layers)
We worked on merging in useful parts of the rogue MacOSX Quartz build
on github. The keyboard map was pretty much all we could do without a
Mac to test the build and with that fork being based on the older build
system many modifications make no sense. So the project is moribound.
Thanks again everyone! sorry if I missed any of the amazing topics we
talked about!
Best Regards, Martin Owens