A July 2020 VTK Hackathon

It’s time for another VTK hackathon. Given relatively recent events, and after talking to several folks (thanks Andrew, Seb, Rob, Ben, and others), I’d like to hold the hackathon in memory of Bill Lorensen (who died in December 2019), specifically focused on the VTK examples (behind which Bill was the driving force).

Currently July 8 looks promising. But before we pin the date and schedule down, if there are any serious objections, or suggestions, please let me know. Also, I’d like to accommodate Andrew who codes in Sydney, Down Under time - so the schedule will need to reflect this.


Great idea @will.schroeder !

We would first need a to make sure that we know what we want to do, see the discussion here:

1 Like

Great idea @will.schroeder.

I’m happy to fit in with whatever people decide, Fridays (your time) would be out as it it Saturday here. I have Yoga in the early morning!

It is worth having a look at About the VTK examples

As of just now, I have made good progress in creating working scripts to build the web site.

Here are some consolidated suggestions for how to proceed.

  1. Work on the back-log of issues on https://github.com/lorensen/VTKExamples
  2. Extend https://github.com/lorensen/VTKExamples with more examples
  3. Work on providing more ‘application’ focused examples; e.g., an example that shows how to convert/resample an unstructured grid to structured grid.
  4. Investigate adding the examples repo as a contract test for VTK.

If possible, I’d like to find a way for Andrew to provide a short intro/summary to kick things off. With the current 14-hr time difference, this is going to be tricky :slight_smile: One thing we could do is have Andrew speak early in the morning Sydney time (on July 8 his time) so that we could listen in late afternoon the afternoon before, on July 7 EDT - and BTW see if we can record it for our European friends. Then we’d follow the next morning 9:00am July 8 EDT with the hackathon proper.

No repository migration planned ?

I think this is a VTK community decision… hopefully others weigh in.

Well, unless I’m mistaken, even though @amaclean can push and merge, he do no have access to bill’s account. The destination of the migration should indeed be discussed, but as of right now, the repository is unmanaged.

I strongly endorse the suggestions from @will.schroeder.

Here is a “short” summary of the history of the site, work done and future directions. I have created a PDF: VTKExamples.pdf (55.6 KB) that can be used as a starting point to any discussion.

If you want to look at the mirrored repository, here is the link VTKExamples mirror. Web pages of this site are found at VTKEx

  1. Have a Linux machine in Kitware that holds the master repository.

+1. The repo could be in https://gitlab.kitware.com/vtk/VTKExamples imo.

  1. Track the VTK master closely in the same way as the old examples in the VTK master
    did. This enhances the testing of VTK and also exposes users to new features.

Yes. Considering testing, a gitlab-ci could build and test against VTK master regularly as well as against the last release.

  1. There is a bit of work […]I do have some issues with git-lfs.

Can you elaborate ?

  1. Within Kitware remove all references to the original examples site. (We had someone trying to download examples from VTK/Examples/Instructions/ForUsers)

Yes please !

  1. If we generate a new site it would essential to have re-direct from the current VTK examples site along with a paragraph or two celebrating Bill’s achievements.

Can we do that without the “full” access to the site ?

I am prepared to spend a lot of time achieving these goals with the help of the community and Kitware.

Thanks you very much @amaclean ! I’m willing to help !

I can’t agree more, it really should sit within Kitware and we must keep the name. We need to check if the static pages in the site folder will work, but they should. Bill did move to GitLab for some reason relating to building the web pages for the site. It may have been because he initially used gh-pages and the page layout flexibility wasn’t present in GitLab at that time. However I can’t see any issues when looking at the mkdocs documentation.

The main issue is that at present when committing to VTKEx, the VTKExamples mirror I keep getting prompted for my Kitware, (not GitLab) username and password. I’m not doing something right wrt to Bill’s LFS repository which for some reason looks to be empty see VTKExamplesLFS. Anyway it is something to be looked at later as I have all the files.

I think that there could be two approaches here:

  1. Contact GitHub and see if they can put in a redirect.
  2. I could try to modify the site folder contents to do this.

However we would need a fully functioning alternate site before doing this!

In the VTKExamples mirror I have just edited a lot of the documentation, fixing links etc. Also on the VTKEx site you will see that the highlighting has been subtly changed … it helps me differentiate between this site and the old site.

Here is a map of the site as it stands now:

  |-- CMakeLists.txt   # To build all of the examples
  |-- _layouts         # Contains _default.html
  |-- custom_theme     # tweaks to the material theme
  |-- mkdocs.yml       # config file for MkDocs
  |-- src              # all of the content to create site/
    |-- SyncSiteWithRepo.sh  # master script to update site/
    |-- Admin
    |   |-- ScrapeRepo.py       # script to create docs/
    |   |-- VTKCMakeLists       # template for Cxx examples
    |   |-- VTKQtCMakeLists     # template for Cxx Qt
    |   |-- sitemap.xml         # generated sitemap
    |   |-- sitemapGenerator.sh # site map generator
    |-- Artifacts       # Additional images, docs, etc.
    |-- Cache           # Stores cache files used by ScrapeRepo.py.
    |-- Coverage        # Stores VTK classes used and classes used by language.
    |-- Images          # Images used in creating the static web pages.
    |-- Instructions    # Documentation
    |-- LANGUAGE.md     # Summary file for language
    |-- LANGUAGE        # Language examples
    |   |-- TOPIC
    |-- Tarballs        # Tar files for each Cxx example
    |-- Testing
    |   |-- Baseline # Baselines for examples
    |   |   |-- LANGUAGE
    |   |   |   |-- TOPIC
    |   |-- Data    # Data for examples
    |-- VTKBook         # Markdown version of the VTK Book
    |-- VTKBookLaTeX    # LaTex version of the VTK Book
    |-- stylesheets
        |-- extra.css # mkdocs search config
  |-- site  # static web pages generated by mkdocs

It may have been because he initially used gh-pages and the page layout flexibility wasn’t present in GitLab at that time.

Gitlab pages are not activated on gitlab.kitware.com and will not be for the time.
A simple solution is to have a github mirror that host the gh-pages.
(That what we did for F3D : https://kitware.github.io/F3D/)

I keep getting prompted for my Kitware, (not GitLab) username and password.

We had a similar issue with F3D, it can be fixed locally easilly.

The gh-pages are not being used anymore in VTKExamples it was last used 3 years ago.

Who do I contact to fix the issue the prompting for username/password in relation to git-lfs?

I mean, locally on your repository : https://help.github.com/en/github/using-git/caching-your-github-credentials-in-git

Thanks, I saw that and I now realise what I did! It works! Obviously I cloned using https.

Hi all,

I’d love to contribute. I’m in UK and somewhat familiar with VTK through the Python bindings.

Thanks for this project


Schedule for the VTK Hackathon:

We will kick off the meeting with an informal presentation by Andrew Maclean at 8am on July 8 (EDT). Yes this is early, but recall this is 10pm Andrew’s time (Sydney, Australia). It will also benefit our European friends. We’ll send a video link shortly.

In terms of how you can help out: from recent discussions, you can see that a few folks are discussing the logistics of hosting the Examples repository etc. - feel free to join the discussion. However, probably the best way for most of us to help out is to review the examples and look for “missing pieces” i.e., identify application focused examples that we should add to improve the user experience. And better yet, take a stab at writing such example code. We can also make sure the code is documented well, avoids using legacy or less preferred approaches, and exercises important features.

Google Meet video link for the VTK hackathon:

Optionally, join by phone:
(US) +1 417-719-9470‬ PIN: ‪242 704 486‬#

Thanks for arranging this. I’ll be there tomorrow.

Most excellent it will be good to see you