GSoC: Midterm evaluation

June 30, 2016

Hi! :)

The GSoC mid-term evaluation was done this week, so I will write about this first part of the Summer of Code! As you may know, I’m working on Portus user interface and here is a list of the work that I’ve done until today (you can follow these links and see some screenshots):

Unfortunately, I could not finish all the scheduled issues of the first part of the Summer of Code because some of them were more difficult than I expected. “Refactor tables on small screens” (mentioned on my last post), for example, gave me a lot of headache because almost all tables in Portus are updated using AJAX and the JS library that I was using (FooTable) was needed to be executed in every update, but when it happen some elements on the tables were duplicated. Now, I’ll search for another plugin or maybe a pure CSS solution. Other issue that was bigger than we (I and @mssola) expected is the “Improve filtering”, that is a dynamic filtering of namespaces, teams and users, but the difficult here is the conflict with the pagination. Therefore, the solution should be a compromise between client-backend side while allowing pagination and filtering.

Now, I’m working on “Serve assets only when used” and on this issue I’ll refactor the way that Portus loads CSS and JS files. Today, only one CSS/JS file is served, which means that all style and javascript code is loaded in every page, even if the code is not used. So, my approach on this issue will be unify the common CSS/JS and only this one will be served in all pages, after that, I’ll create specific CSS/JS for each controller. If only one page need some code, this code will be served only for this page :)

After that I’ll follow this issue list:

  • Fix anchor on gh-pages: one of my pull requests introduced this bug. :(
  • Create a help section: it will be a FAQ page and some links to the documentation of Portus.
  • Improve filtering: as mentioned previously on this post.
  • Explore feature: show public images even if the user is logged out.
  • Refactor tables on small screen: as mentioned previously on this post.
  • Improve dashboard interface: allow searching and sorting repositories in the dashboard page. Also, show only a fixed amount of rows with a pagination.
  • Migrate Portus LESS to SASS: only if we have the time. :)

So, this was a summary of my first part of Summer of Code! In my next post I’ll tell you about my amazing experience in Nuremberg, for the openSUSE Conference! See you :)