Developer.blender.org - Call for comments and participation

#Update: Video-link added
This topic is related to the video posted at GitLab? Gitea? Call for participation on the future of Blender's development platform - YouTube

Hey there,

Today Pablo helped me reach out via Blender’s Youtube-channel to get the word out to developers and users of Blender that we’re in need of their feedback, comments, help. This devtalk-topic is here to collect some of this feedback and progress on this front.

Help , you ask ? Yes!

As the video points out, we are currently using software on developer.blender.org which is due to be replaced. This is needed because no new updates/work/fixes will be coming for it. The software has been abandoned by the original creator (facebook), and thus we should be moving to something else.

This ‘something else’ should also be better,faster,more useful, etc,etc.

Since i’ve started work here ( two months ago ) , I have been able to contact a number of developers about their thoughts already, but its clear that there’s a whole lot that I have not reached yet. The video, and this topic, are ways to get more feedback/commentary. In short: to get the word out.

When the video’s uploaded, I’ll add the URL of it here so people can have a look at it (if they didnt land here because of it, already)

In short, if you are using Developer.blender.org for participating in blender development:
– What do you like about it
– What do you dislike about it
– Are there specific workflows, features or process that you expect might need special attention when Blender moves to different software.
– Are you perhaps using a feature of the website for something else ? (using the API, etc)
– What are things that developer.blender.org doesnt do at all yet, but should (in your oppinion)
– Anything-else-we-should-really-know-about :wink:

If you have a short remark, posting it here will be enough to get my attention. If it’s a longer story or you need a video-meeting to talk through some of it, please reach out and drop a mail at arnd@blender.org

For anyone who decides to take the time to write something down: thank you !


Arnd Marijnissen

11 Likes

The current website doesn’t allow me to zoom on any page by pinching out my fingers on a mobile device. Also a zooming feature for pictures would be beneficial, because on a phone I usually have to open the image in a new tab to zoom in it.

6 Likes

From my perspective, GitLab looks a bit chaotic and cluttered and I had issues with the loading of CSS in the past for parts of GitLab.
UI Wise, Gitea looks like an outdated copy of GitHub, I don’t know much about the features though.
I don’t know about the third option, so no comment on that.
I’ve been thinking about alternatives to GitHub some time ago, and I’ve come to the conclusion, that the only way to avoid GitHub and get what I want/need would be to do it myself. I don’t know whether this would be an option for Blender though since that would be a huge and difficult project (especially security-wise). If the whole community helps in any way possible, that might be an option though, forking GitLab or Gitea and building the features/UI that you need ontop.

1 Like
  • Searching, listing and sorting the bugs functionalities are dismal with developer.blender.org I can never find what I am looking for.

  • Downloading the current main tree or a branch source is not very obvious, there should be generated direct .zip/.tar links to those.

I use Gitea for my local dev efforts, I personally like it a lot.

2 Likes

I can second that, it rarely pays off to use the search usually faster to just punch searchterm site:developer.blender.org into google, however due to our robots.txt preventing indexing of diffs (due to load constraints on the server) you can’t easily search those…

5 Likes

Personally, I love phabricator, and will hate to see it go. I wish it had better features for keeping track of bugs you’ve submited, patches you’ve worked on, etc. I like the Email updates.
I use Gogs on my website. Gitea is a bit more beefy version of Gogs. They’re both written in go. I don’t think the documentation is very good on either.
It will be weird to move from submitting patches with Arcanist to using Pull Requests.
If Blender adopts Gitea (I think they should), then the new features we may add will end up beating Gitlab, anyway. If there’s concern about the ‘niceness’ of competing with a commercial project, I’m not sure the problem goes away by making the completely free (as in free beer) version as good as or better than the competing paid software.
Finally – I’d love for it to be integrated in Blender -Cloud- Studio! That would feel nice!

2 Likes

Small detail: Phabricator the open source project was not developed or maintained by Facebook. That’s where the project started, but once it became publicly available it was Phacility doing the development.

9 Likes

Besides what can be improved on developer.blender.org, there’s a few things in Phabricator we might take for granted. In particular, for bug reporting/triaging and having a single repository with multiple modules/projects.

  • Multiple code reviewers
    • Gitea: yes
    • GitLab: requires a one line modification to the community edition code
  • Custom fields (like type, status, priority)
    • Gitea: no. Has one or more tags + one project.
    • GitLab: no. Has one or more labels. Scoped labels however work similar to custom enum fields.
  • Custom forms for bug reports
    • Gitea: no (edit: issue templates handle some this)
    • GitLab: no (edit: issue templates handle some this)
  • Project (module) page with activity, workboard, custom text
    • Gitea project pages are only a workboard for all issues in that project
    • GitLab has no concept of projects in a repository, but has multiple workboards
  • Easy upload and embed image in issues and comments
    • Gitea supports upload files, and embedding external image links, but no way to embed an uploaded image (edit: it’s possible but can only be done with edit after submission and images are shown a second time at the bottom)
    • GitLab: yes
  • Issues related to multiple projects
    • Gitea has exactly one project per issue, but has multiple tags
    • GitLab does not have projects, but has multiple labels
  • Move issue between repositories, or link to multiple repositories
    • Gitea: no
    • GitLab: move yes, link no
  • Close issue as duplicate
    • Gitea: no
    • GitLab: yes, but only with quick action command, no button
15 Likes

sure, but i have seen somewhere they say that they dont merge the features in community edition which are only available in the paid upper teers. so, it might be one line, but it still can get rejejcted.

We would be hosting our own instance of GitLab or Gitea with custom modifications. Hopefully as few as possible that we’re unable to merge upstream, but we can make them.

I wonder if a modified version of Attract or Kitsu could be used to handle the Project/Module side of things, and then we’d just have to smoosh it together with the git host? I know they’re all written in different languages. Or, of course, just host them as separate services, like Phabricator has separate pages for git hosting, bug tracking, etc… we already have a git.blender.org and a svn.blender.org, after all.
At any rate, I think Kitsu provides an excellent User Interface for project management, and I know you’ve been using it in the Blender Animation Studio for Sprite Fright. If nothing else, it may give us something nice to use to mockup pictures and stuff.

my thoughts are a bit unorganised and a bit ramble-like. so, sorry for that.
where am i coming from:

  • i have only used these three,
    • gitlab (gl hereafter) the most,
    • github (gh) the second most,
    • and phabricator (blender) for very less time.
  • and i know phabricator has many things that both of these lack
  • a repo in gl is called a “project”, and a group can contain several subgroups or “project” (similar to an “organisation” on gh)

i would not recommend gitlab.

  1. issue management:
    1. Extremely unflexible issue search
      • No way to search across specified repos
      • Doesnt search in comments
    2. No good way to organize a collection of tasks (called “project” in blender)
      Boards can be used as a workaround i guess
    3. Lack of “custom fields for status” hurts a lot
      • Mentioned above by @ brecht
      • ∴ No filter available for whether the closed issue was resolved, archived, moved, or duplicated
      • Any other than “closed (moved)” isn’t mentioned upfront in the issue list either
    4. Lack of notification panel
      So, no way to access the notifications/updates at one place if you turn off email notifications
  2. git tasks
    0. even the basic git tasks are very very unintuitive and unfriendly to “git beginners”:
    1. No way to “sync with upstream” in single click like in gh
      • Requires setting up mirroring which requires fiddling in the settings,
      • and there, sometimes the “pull mirroring” is grayed out without any indication why.
      • this makes making contributions very hactic and difficult even for the “familiar with git through ui” people.
    2. No way to rename the branches (like seriously? such basic thing)
    3. Even small q-o-life notices like “add commits to this pr by adding commits to your branch” aren’t shown - super small stuff, but helps the beginners a lot
  3. meta-level:
    1. The stuff working today easily breaks tomorrows
      like the mermaid module, the bio previews, the issue description diff history, etc etc
    2. gl team is very very bad at addressing and resolving issues
    3. Development of features
      • feels like everything is done in haste, as
      • features are not well thought out, and
      • the ironing out process takes months/years.
      • so, the users are stuck with half baked products most of the time

Some things that gitlab has good in my opinion, are:

  1. comment capabilities - really aced it - yes,
    • Embeddable {images, videos, svgs} and Attachable other files,
    • Support for mermaid/katex for flowcharts/equations (though, mermaid’s flowcharts currently broken when it contains hyperlinks)
    • Thread feature (1 level nested comment)
    • Complete emoji set as the reaction
  2. automatic issue search from title while filing it in a new issue
  3. /commands for issue related actions which can be used even via emails
  4. Comments made from emails are totally editable, and not restricted like in gh
  5. related issues section
    Was implemented around a yr ago or so, so is just functional, not consistent
    • UI wise: “related”, “blocked by”, “blocks” issues are shown as grouped at one place in the description as “Linked issues” widget
    • command wise: /relate and /duplicate are available for issues,
    • that is, no indication of duplicate in that “linked issues” widget, and no availability of blocking status via commands
    • the issues mentioned in the comments are not picked up to be shown in that widget
    • the merge requests mentioned anywhere in any comment gets picked up and shown as a widget for “related merge requests”

as for the automatic prefilling of the data from the link as done currently in blender (while clicking “report issue” from blender’s UI) - i will check and update on that

4 Likes

As someone who doesn’t have a lot of experience contributing to open source projects, Arcanist was really intuitive and easy to use, would be sad to see that functionality disappear.

3 Likes

Bugs/Tasks

  • The API/UI needs a way to list bugs sorted by how many duplicates have been associated with them. Needed for prioritization and help with searching for really bad known issues etc.
  • Phab does a really nice job of listing “mentions”/“duplicates”/“revisions” in one place instead of strewn throughout a task’s history. Would be nice to still have a “Related Objects” section in each task.
  • There absolutely needs to be a way to limit the size of attached files on tasks. Really. Don’t pick a system that allows randos to attach an 11gb file to tasks… yeah, it’s happened.
  • I like Phab’s landing page showing recent opened bugs, dev activity, task activity etc. It’s often more useful than just landing on the repository browser showing the code
  • Auto-filling the bug form, using URL parameters or otherwise, like what’s done with the “Report a bug” button from inside Blender should still work in some fashion.
  • Mentioned before: Yes, absolutely need ability to embed images inline with text in Tasks/bugs. Not as files to be opened separately.
  • Mentioned before: Yes, allowing each “module” to have their own portal into their tasks and WorkItems is really nice for organization and finding things sometimes

Side note: Before the transition, please make a call for folks to cleanup their ‘dead’ branches. There’s 570 branches hosted under Blender. Over 210 of those are origin/temp* or origin/tmp* and they don’t seem very temporary.

11 Likes

If you end up with something minimal, you can check out
openproject as project management software.

Just found it an alternative open source for Notion and from the demo:
It works as self-hosted with docker-compose
it seems to support multi-project and hierarchical tasks,
and you can setup multiple code reviewers, custom fields etc.GitLab OpenProject integration

Custom forms for bug reports

Unless I’m missing something this is issue/pull request templates?
Seems like both Gitlab and Gitea has them and it isn’t too different from what we are currently using in phabricator

https://docs.gitlab.com/ee/user/project/description_templates.html
https://docs.gitea.io/en-us/issue-pull-request-templates/

Gitea supports upload files, and embedding external image links, but no way to embed an uploaded image

Seems like this is false?
An example of showing an attached image in an issue/comment:
https://codeberg.org/dnkl/fuzzel/issues/72
(Codeberg uses gitea)

2 Likes

After all, Github is the most familiar UI. it will help new contributors fill at home.

1 Like

Seems indeed similar. Not sure if there is a way to show a custom text that’s not part of the issue contents, or to hide fields that users are not expected to edit.

Seems it is possible but the UI is poor. You have to submit the message and then go back and edit the image in by copying the URL? And it shows the image a second time at the bottom.

I’m unsure too. What I do know is that github supports that (if I understand you correctly) with their new YAML issue templates:
https://github.com/neovim/neovim/blob/master/.github/ISSUE_TEMPLATE/bug_report.yml

Ah, you are right. I guess that is what is happening.
Seems like it wouldn’t be too hard to solve. But then again, someone needs to put in the work to solve it.

If you are looking for a complete opensource project management software. I suggest to take a look at https://www.tuleap.org.