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