Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collaboration plan for GSOC'24 #129

Closed
siddhesh195 opened this issue Jun 7, 2024 · 21 comments
Closed

Collaboration plan for GSOC'24 #129

siddhesh195 opened this issue Jun 7, 2024 · 21 comments

Comments

@siddhesh195
Copy link
Contributor

Siddhesh Deodhar and Nhi Truong has the following collaboration plan for GSoC 2024:

  1. Porting the existing ~50 visualization gallery from the NAU rcdata server to a new GitHub Pages gallery
    Nhi: Setup the gallery and port first 25 visualizations
    Siddhesh: Port next set of visualizations (26- ~50)

  2. Replacing phantomjs with Chrome as the headless browser for testing by modifying test code, analyzing and fixing issues causing failed tests, and updating the GitHub Actions workflow.
    Siddhesh: Establish chromote as headless browser and fix failing tests (This task is already in progress)
    Nhi: Update GitHub Actions workflow after Siddhesh finishes his task

  3. Enhancing the animint2pages function to use to automatically capture screenshots of generated pages and copy them to the appropriate folder.
    Siddhesh: Study chromote and its suitability to capture screenshots
    Nhi: Study webshot and its suitability to capture screenshots
    Both Siddhesh/Nhi: Add support of the selected tool, add tests, write documentation

  4. Extending the package to support more interactive visualization types and potentially implement flexible ggplot layouts in HTML tables.
    Siddhesh: Add basic support to implement ggplot layouts in HTML tables
    Nhi: Extend Siddhesh's feature and support more advanced features such as rowspan, columnspan, any table customizations

@siddhesh195
Copy link
Contributor Author

@nhintruong, please review this proposal when you get a chance

@Faye-yufan
Copy link
Contributor

Hey @siddhesh195 @nhintruong, do you know how to use the Git command line to push and commit changes?
I've scheduled a meeting on 06/13. Please join if you have any questions. I have emailed the invite to both of you about the meeting details.

@siddhesh195
Copy link
Contributor Author

Hey @siddhesh195 @nhintruong, do you know how to use the Git command line to push and commit changes? I've scheduled a meeting on 06/13. Please join if you have any questions. I have emailed the invite to both of you about the meeting details.

I have not used Git command line yet. I have only used Git client for Mac. yes, I will be there for the meeting. thanks

@Faye-yufan
Copy link
Contributor

Hi @siddhesh195 , I saw your commit message on this commit 73d540f, well done!!

Here are some additional resources for future reference: Conventional Commit Messages, How to Write Good Commit Messages: A Practical Git Guide

@Faye-yufan
Copy link
Contributor

@siddhesh195 @nhintruong, as discussed in today's meeting related to blog. Here is the approach I did for my GSoC blog:

  1. I forked from this repo beautiful-jekyll, which serves as a template.
  2. Follow their instruction to set up the blog The easy way (recommended!)

Once everything is set up, updating the blog using Markdown will be much easier.

@tdhock
Copy link
Collaborator

tdhock commented Jun 19, 2024

hi @siddhesh195 I see small commits in some branches but otherwise I have no idea what you are working on, and how I can help. please start writing every day what you have been working on, either in this issue or start a new one, make sure to push any commits to github, and create issues to ask for help with specific questions. example of what I expect Nj221102/data.table-gSoc-24-project#1

@siddhesh195
Copy link
Contributor Author

siddhesh195 commented Jun 19, 2024

hi @siddhesh195 I see small commits in some branches but otherwise I have no idea what you are working on, and how I can help. please start writing every day what you have been working on, either in this issue or start a new one, make sure to push any commits to github, and create issues to ask for help with specific questions. example of what I expect Nj221102/data.table-gSoc-24-project#1

@tdhock @Faye-yufan I am currently working on implementing the screenshot functionality (PR #131) using chromote screenshot API. I was able to locally save the screenshot. I am now working on adding the code to send it to Github pages, writing a test and working on draft of the documentation. I expect to complete all of that by Friday.

@siddhesh195
Copy link
Contributor Author

@tdhock @Faye-yufan I am facing an issue while I am working on #131 . If I run the compiler-ghpages test it passes for the first time. But if I run it again immediately I get an error. Here is the screenshot of the error :
Screenshot 2024-06-19 at 6 41 10 PM

@siddhesh195
Copy link
Contributor Author

hi @siddhesh195 I see small commits in some branches but otherwise I have no idea what you are working on, and how I can help. please start writing every day what you have been working on, either in this issue or start a new one, make sure to push any commits to github, and create issues to ask for help with specific questions. example of what I expect Nj221102/data.table-gSoc-24-project#1

@tdhock I have created a new issue (#133 ) to give my daily status updates

@Faye-yufan
Copy link
Contributor

Just some notes from today's meeting:

  • Hi @nhintruong , could you please add the visualization links to the gallery PR Porting visualization gallery gallery#4, so everyong can preview them easily?
  • For your next gallery visualization porting, please create separate PRs so we can easily track each one.
  • Hi @siddhesh195 , could you please create an issue for the animint2page test case?
  • For the chromote image capture, could you crop the white space out? The magick package might be helpful for this.
  • I have created a new google meeting invite for next Tuesday Jun 25, to debug Chromote on Linux OS. The same link as today's meeting, hope the link will still work 🤞

To better help you, let's keep the conversation small, please update us daily on your progress issues #133, #128. Feel free to ask any questions!

@siddhesh195
Copy link
Contributor Author

Just some notes from today's meeting:

  • Hi @nhintruong , could you please add the visualization links to the gallery PR Porting visualization gallery gallery#4, so everyong can preview them easily?
  • For your next gallery visualization porting, please create separate PRs so we can easily track each one.
  • Hi @siddhesh195 , could you please create an issue for the animint2page test case?
  • For the chromote image capture, could you crop the white space out? The magick package might be helpful for this.
  • I have created a new google meeting invite for next Tuesday Jun 25, to debug Chromote on Linux OS. The same link as today's meeting, hope the link will still work 🤞

To better help you, let's keep the conversation small, please update us daily on your progress issues #133, #128. Feel free to ask any questions!

@Faye-yufan I have created issue (#135 ) for error in test case compiler-ghpages. thank you

@siddhesh195
Copy link
Contributor Author

@nhintruong: Can you please review this updated collaboration plan and comment if it is okay ? I have nearly finished tasks 2,3 but we can still split parts of tasks 1,4
@tdhock @Faye-yufan Please let me know if the updated collaboration plan looks okay

Updated collaboration plan for GSoC 2024:

  1. Porting the existing ~50 visualization gallery from the NAU rcdata server to a new GitHub Pages gallery

Nhi: Setup the gallery and port first 25 visualizations
Siddhesh: Port next set of visualizations (26- ~50)

  1. Replacing phantomjs with Chrome as the headless browser for testing by modifying test code, analyzing and fixing issues causing failed tests, and updating the GitHub Actions workflow.
    Siddhesh: Siddhesh has completed this task

  2. Enhancing the animint2pages function to use to automatically capture screenshots of generated pages and copy them to the appropriate folder.
    Siddhesh: Completed of most this task using chromote, added a test (Most of this task has been done and currently fixing blank screenshot error observed for a plot)
    Nhi: Improve the captured screenshot by trimming white shapes around plots (The screenshot() currently captures the entire browser area)

  3. Extending the package to support more interactive visualization types and potentially implement flexible ggplot layouts in HTML tables.
    Siddhesh: Add basic support to implement ggplot layouts in HTML tables
    Nhi: Extend Siddhesh's feature and support more advanced features such as rowspan, columnspan, any table customizations.

@tdhock
Copy link
Collaborator

tdhock commented Jun 25, 2024

it is ok but I suspect Nhi may need your help, plan on working together for the rowspan etc

@siddhesh195
Copy link
Contributor Author

@nhintruong: Can you please review this updated collaboration plan and comment if it is okay ? I have nearly finished tasks 2,3 but we can still split parts of tasks 1,4 @tdhock @Faye-yufan Please let me know if the updated collaboration plan looks okay

Updated collaboration plan for GSoC 2024:

  1. Porting the existing ~50 visualization gallery from the NAU rcdata server to a new GitHub Pages gallery

Nhi: Setup the gallery and port first 25 visualizations Siddhesh: Port next set of visualizations (26- ~50)

  1. Replacing phantomjs with Chrome as the headless browser for testing by modifying test code, analyzing and fixing issues causing failed tests, and updating the GitHub Actions workflow.
    Siddhesh: Siddhesh has completed this task
  2. Enhancing the animint2pages function to use to automatically capture screenshots of generated pages and copy them to the appropriate folder.
    Siddhesh: Completed of most this task using chromote, added a test (Most of this task has been done and currently fixing blank screenshot error observed for a plot)
    Nhi: Improve the captured screenshot by trimming white shapes around plots (The screenshot() currently captures the entire browser area)
  3. Extending the package to support more interactive visualization types and potentially implement flexible ggplot layouts in HTML tables.
    Siddhesh: Add basic support to implement ggplot layouts in HTML tables
    Nhi: Extend Siddhesh's feature and support more advanced features such as rowspan, columnspan, any table customizations.

@tdhock @Faye-yufan @nhintruong In a meeting with Nhi few days ago I asked her if she can complete the entire gallery task on her own. She told me she can. But I told her I can still share the work of that task at any point in the future if she wants. Right now I am working on the screenshot task(#131) and will start the html table layout task as soon as I am done with it

@Faye-yufan
Copy link
Contributor

@siddhesh195 and I had a meeting today (07/11), we discussed how to test in both R compiler side and JS renderer side.

Hi @nhintruong , could you please update your status with Siddhesh as well? This will help you two avoid duplicating work. Thanks!

@Faye-yufan
Copy link
Contributor

@siddhesh195 and I had a meeting on 07/18, discussed about the helper function in tests, see this. Also Siddhesh explained how a persistent server works for capturing screenshots in animint2pages.

@nhintruong
Copy link

@tdhock @Faye-yufan The link for the 59th data visualization in the gallery (https://rcdata.nau.edu/genomic-ml/animint-gallery/) points back to itself rather than to the source code. Could you please recheck it and provide me with the correct source code link for this visualization? Thank you very much for your guidance

image

@Faye-yufan
Copy link
Contributor

@tdhock @Faye-yufan The link for the 59th data visualization in the gallery (https://rcdata.nau.edu/genomic-ml/animint-gallery/) points back to itself rather than to the source code. Could you please recheck it and provide me with the correct source code link for this visualization? Thank you very much for your guidance

This is a valid issue, @nhintruong please create an issue in https://github.com/animint/gallery/issues

@Faye-yufan
Copy link
Contributor

Faye-yufan commented Jul 25, 2024

07/25/2024

@nhintruong @siddhesh195 and I had a meeting this morning.

Siddhesh - Going over the theme function using R debugging tool should be helpful to understand how to set new params(col, row) in theme_animint for #139.
I also suggest looking at the structure of plot.json to see if theme_animint params are nested under each plot. If they are, it should be easy to create a mapping data structure to configure the layout for each plot, instead of hard coding it.

Nhi - When you encounter an error, I suggest ensuring that you can replicate it. If the issue originates from another repository, please create an issue there.
If you are unable to tag me in other repos(btw you can try manually entering my GH ID, @Faye-yufan, to see if it works), you can tag me in your own progress issue #136. This way I can help.
Also Nhi comfirmed that she will finish the entire gallery tasks, there are 9 left. Siddhesh does not need to work on that.

@Faye-yufan
Copy link
Contributor

Hi @siddhesh195 @nhintruong , please refer to this blog about the debugging process in R studio. It can help you go through and understand animint2 internal core functions.

Siddhesh - in your case, use debug(animint2::theme_animint) and run your test case to trigger this function in debug mode, and then use the RStudio IDE debug tool to go thru it to see how width/height works. Hope this is helpful for the development of row and col.

@tdhock
Copy link
Collaborator

tdhock commented Jul 29, 2024

also instead of debug(fun) you can just add browser() anywhere in that fun.

@tdhock tdhock closed this as completed Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants