Articles on clairefollett's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on clairefollett's BlogenMon, 01 Aug 2022 23:56:49 +0000Week 7 Blog July 31st, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-7-blog-july-31st-2022/<p><b><u>What did you do this week?</u></b></p> <p>I met with my mentor, John, who helped figure out how to grab the things we needed from the JupyterLab API and use it in our code. We looked into the local storage and saw where the files and the information in the files are saving to. We began writing a snippet to try and grab the information from the IndexDB. We continued messing around with that until we figured out that if we populate the ObjectStore within the database and provide the path via &lt;var&gt;?path=&lt;/var&gt; then it will load the document. </p> <p>We also went onto the DFFML docs and John showed me how to write a db insertion function that works with already existing elements on the DFFML docs.</p> <p><b><u>What is coming up next?</u></b></p> <p>Continuing this work, we need to add all of this code to a file and load it using &lt;var&gt;add_js_file()&lt;/var&gt; in the DFFML code base. We need to figure out how to trigger the loading of Jupyterlite, probably with an iFrame.</p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>A little bit, meeting with my mentor helped clarify a lot.</p>chlaw101@gmail.com (clairefollett)Mon, 01 Aug 2022 23:56:49 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-7-blog-july-31st-2022/Week 6 Blog July 24th, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-6-blog-july-24th-2022/<p><b><u>What did you do this week?</u></b></p> <p>I got my own static version of Jupyterlite running. I'm now trying to figure out how to change this._input to a global variable, so we can access it in the console. But, it's this._input is referenced in the JupyterLab files, not Jupyterlite. Jupyterlite uses JupyterLab's API, so I need to figure out a way to call it and change it. </p> <p><b><u>What is coming up next?</u></b></p> <p>Continuing this work, changing input to a global variable so we can access it</p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>A little bit, but I am figuring it out. I am meeting with a mentor tomorrow so hopefully I can get it figure out by then!</p>chlaw101@gmail.com (clairefollett)Mon, 25 Jul 2022 18:08:30 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-6-blog-july-24th-2022/Week 5 Blog July 17th, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-5-blog-july-17th-2022/<p><b><u>What did you do this week?</u></b></p> <p>I met with two mentors this week. When I met with John, we decided that trying to target input and the fileBrowserModel was probably going to be really difficult and time consuming, so we decided to go back to the blueprints and try it the other way around. </p> <p><b><u>What is coming up next?</u></b></p> <p>My next task is to try and spin up my own instance of jupyterlite, and change the this._input to be a global variable so we can access it.</p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>I was having trouble running my own instance of jupyterlite, but I have it almost figured out.</p>chlaw101@gmail.com (clairefollett)Mon, 25 Jul 2022 18:03:41 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-5-blog-july-17th-2022/Week 4 Blog July 10th, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-4-blog-july-10th-2022/<p><b><u>What did you do this week?</u></b></p> <p>This week, I spent a majority of my time looking into "temp1._reactProps". My goal was to try and sort through the data to find anything related to the input and the fileBrowserModel, which proved to be a lot more challenging than I expected. </p> <p><b><u>What is coming up next?</u></b></p> <p>Continuing this work, asking for help to try and figure out where it could be.</p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>I am a little stuck trying to parse everything I am looking at in the console under the "temp1._reactProps".</p>chlaw101@gmail.com (clairefollett)Mon, 25 Jul 2022 18:00:40 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-4-blog-july-10th-2022/Week 3 Blog July 3rd, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-3-blog-july-3rd-2022/<p><b><u>What did you do this week?</u></b></p> <p><img alt="" height="220" src="/media/uploads/31702aac-3478-4b76-92c8-bbd4013df1b5.png" width="466"></p> <p>I apologize that I am publishing last weeks blog post so late. During week 3, I was able to meet with two mentors and we discussed next steps. Together, we were able to figure out the "Upload File" button. The problem was a couple of different things. With React, they don't watch for the click event, they watch for the mousedown and mouseup events to trigger a click. So, I had to write a function where I was able to simulate a mouse event using the mousedown and mouseup events. But, it still wasn't working after I tried using that function on the "Upload File" button. John helped me figure out how to change the button in the console to make it a global variable, and that did the trick. I guess it just came down to figuring out how to simulate the "Upload File" button with React, and making sure that we were in the right scope.</p> <p><b><u>What is coming up next?</u></b></p> <p>When we stored the "Upload File" button as a global variable (we named it temp1), we tried figuring out how to access it's input and played around with it for a bit. In doing that, we found that we could look at "temp1__reactProps$s1bp5xkaim." I think it's the props for temp1, with a specific number at the end. Anyways, under the react props, there are a bunch of different props. Here is a screenshot:</p> <p><img alt="" height="207" src="/media/uploads/a4df064d-f4a9-43e6-88f8-93f9ce7bcc60.png" width="353"></p> <p>My next task is to sort through this data and try and find the input and look for fileBroswerModel in scopes, and for its methods within the console window. </p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>I would say that I definitely got a little stuck on the button, but ended up figuring it out. I was making progress everyday but I think I did get to a point where I needed a second pair of eyes.</p>chlaw101@gmail.com (clairefollett)Sun, 10 Jul 2022 01:37:12 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-3-blog-july-3rd-2022/Week 2 Blog June 27th, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-2-blog-june-27th-2022/<p><b><u>What did you do this week?</u></b></p> <p>Continuing from this week, I really focused on the "Upload File" button on the JupyterLite instance that we had running, and how it works, and how we could trigger the file upload mechanism. I spent way too long on this, instead of other solutions I could possibly come up with instead of triggering the "Upload File" button and hotswapping that way. </p> <p><b><u>What is coming up next?</u></b></p> <p>Continue the work from Week 2. I really want to focus on how I can trigger this button or figure out another way we could do this. Our original idea was to convert into Jupyter Notebook format, reload content to be edited with Jupyter's interface, and then save back to an rst file.</p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>Yes, definitely getting stuck on triggering this button but I know I need to either figure it out here pretty soon or go about this a different way.</p> <p> </p>chlaw101@gmail.com (clairefollett)Mon, 27 Jun 2022 17:50:51 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-2-blog-june-27th-2022/Week 1 Blog June 18th, 2022https://blogs.python-gsoc.org/en/clairefolletts-blog/week-1-blog-june-18th-2022/<p>Hello, my name is Claire Follett and I am a contributor under the DFFML Project, which is a project under the Python Foundation and is supported by GSOC. My proposal was to automate the documentation process, making documentation editing more intuitive and accessible.</p> <p><b><u>What did you do this week?</u></b></p> <p>This week was a very busy week for me, I finished my finals at Clatsop Community College and graduated yesterday. I still found time in between finals and graduation fun to work on this project. I was able to meet with my mentor a few days before GSOC officially began on June 13th, and we began setting up the work flow and working on our first objective, which was deploying our own static version of JupyterLite and figuring out how it works under the hood. Starting this week, I really focused on the "Upload File" button on the JupyterLite instance that we had running, and how it works, and how we could trigger the file upload mechanism. This took longer than I thought it would, and I spent a lot of my time in the code base, really looking at how they built the application and how it works. I wasn't able to spend as much time as I wanted to this week on GSOC stuff due to it being my finals week and graduation. But, I did put that in my proposal and I am now 100% free the rest of the 11 weeks to really dive into this project head first.</p> <p><b><u>What is coming up next?</u></b></p> <p>Continue the work from Week 1. Our original idea was to convert rst files to Jupyter Notebook format, but now we are focusing on this "Upload Files" button, and are trying to figure out if we could just use this button to load an instance where we could edit documentation and save it right there. </p> <p><b><u>Did you get stuck anywhere?</u></b></p> <p>The biggest hurdles for me were the time constraints I had because I was wrapping up my associates degree, and also not spending all of my time going down a rabbit hole. I'm also not used to working on bigger projects and code bases this large before, so I definitely took a good amount of time this week familiarizing myself with how JupyterLite set up their code base and how it all works.</p>chlaw101@gmail.com (clairefollett)Sat, 18 Jun 2022 18:09:37 +0000https://blogs.python-gsoc.org/en/clairefolletts-blog/week-1-blog-june-18th-2022/