Archive for April, 2014

Good Day! The time goes fast, and I’m already at the end of my 5th semester and writing my final release for my Open Source class.
First of all, I would like to say Thank you to Dave for this amazing experience and excellent class – Open Source Development. Such a great class with such an awesome professor. I learned much more that I expected. Also, I would like to say thank you to all Webmaker team for their help and willing to help in all kinds of situations. I was involved in a real code, in a real projects with all sorts of bugs and improvements. That was my first time dealing and being in a real world programming life and Open Source as well. I am more than motivated to continue my contribution to Mozilla Open Source World. Personal thanks to @jbuck (Jon Buckley), who was mentoring me during my CSP implementation. 🙂
I learned a lot new tools and improved my skills in all sorts of Web Development. My personal thought is: when you are involved in Open Source, you are open yourself to learn more and more every day; and this is super cool. You will be always up to date and interested in what you are doing.

Lets get back to my release. During the last week I was working on requireJS bug and also finished and merged my CSP implementation for Thimble and Goggles.

This week contribution:

  • Bug 995318update index.html in Goggles to use requireJS. Fixed and merged. PR can be found here. Two more similar bug are waiting to be fixed. That will be my next step.
  • Bug 959271CSP for thimble. Finally got landed and I’m so happy with that. PR can be found here. All the webmaker components, except popcorn, are using CSP. It took a semester for me to learn, create, fix and land this feature to all the webmaker components and now I am really happy that it works good and I included my work into webmaker.
  • Bug 990786fixing CSP for Goggles. Basically, removing CSP from all the pages, but ‘publish’, where injection could be present. Fixed and merged. PR can be found here.
  • Bug 995781Correcting alignment and profile image shape for Goggles. Fixed and merged. PR can be found here. I fixed the image shape and alignment on the publish page. After my little involvement with CSS, I found out that it is really fun and interesting as well.

That is basically it for my final release.
I would like to say that my classmates were really involved into the course as well, and I liked the presentations they did during the semester, where I learned something new and something more. This kind of approach gave all the classmates to learn even more than only their area of bugs.
Great experience with a great team! 🙂 Thank you!:)
PS: will be off next week – going to see Montreal 🙂

Advertisements

Good Sunday evening! I am coming to the end of the semester and to my final release in OSD. I would say, that it was and it is a great class that opens new horizons to students and possible opportunities to their future. I am so happy that I was and I am involved with such great companies as CDOT and Mozilla.

Previous week was the hardest one for me in terms of time, all the assignment presentations and assignment deadlines were there. Also I finished reading a great Sci-Fi book “Calculating God” last Sunday.

Lets get back to my work throughout the last week.
I was working on implementation GA events to goggles – bug968291, I was continuing this bug from the week before the last week. I became a little bit harder than I excepted, but it even better. It turned out that, from this bug we started 3 more new bugs, , which I took already:

Basically, all 3 bugs related to the same problem/feature: to update goggles to use requireJS whenever its possible. Why 3 bug? Because, in this way it’s easier to stay on track.
I started to work on bug995318 (my commit with progress) and made progress on that already. The main idea of the requireJS is to optimize in browser use and it makes app more efficient and work faster.
I would provide short guide on how it works.
The tree of directories:

  • project-directory/
    • index.html
    • js/
      • main.js
      • require.js
      • browser-screen.js
      • sso-override.js
      • sub/
        • util.js
        • jquery.js

Sample index.html file

<!DOCTYPE html>
<html>
    <head>
        <title>My Project</title>
        <!-- data-main attribute tells require.js to load
             js/main.js after require.js loads. -->
        <script data-main="js/main" src="js/require.js"></script>
    </head>
    <body>
        <h1>My index.html file</h1>
        <p class="test">Some weird text here</p>
    </body>
</html>

main.js – special configuration file in requireJS

requirejs.config({
  baseDir:'/js', // this dir will be used as home for our js files
  paths: {       // do not specify file extension, it assumes that it is .js
    'jquery':           'sub/jquery',  
    'text':             '/bower/text/text',
    'localized':        '/bower/webmaker-i18n/localized',
    'languages':        '/bower/webmaker-language-picker/js/languages',
    'list':             '/bower/listjs/dist/list.min',
    'fuzzySearch':      '/bower/list.fuzzysearch.js/dist/list.fuzzysearch.min',
    'browser-screen':   'browser-screen',
    'sso-override':     'sso-override',
    'utils':            'sub/utils'
  }
});

// Now you specify which scripts will be loaded after require.js is fired in index.html
require(['browser-screen', 'sso-override', 'jquery', 'utils'],
  // you can give more instructions here
});

Now, inside one of your js file, you do the following.
utils.js

require(['jquery'], function($) {
  $(.test).text("your new text");
});

With this example, you don’t need to include jQuery script in html file. This approach is really efficient in terms of coding, speed of application and code management. Also, it is much more easier to add more functionality in the future with such application structure.

Also, during this week, I pushed to PR and merged small css bug where I had to fix the alignment in navigation area when user logged in.

I am looking forward to continue my contribution to Mozilla and CDOT 🙂 Cheers!

Good Sunday.
This week was extremely busy and full of deadlines for the assignments and labs. The next one will be the same or even more loaded. Anyways, I am super motivated with my Open Source involvement, specifically with Mozilla team. I am strongly direct myself, that event after my OSD class will come to an end I will continue my contribution to Mozilla…my experience and willing to code grew enormously for the last couple of months.

github

OpenSource contribution matters

During this week I updated my previous bug with Google Analytics implementation for Goggles, my PR can be found here -> GA for goggles, right now I am waiting for review and hopefully it will be landed soon. While working on GA for goggles, Jon helped me to find out that we actually do not need CSP for goggles’s index page, no input fields there, so no potential vulenrability exists. After that, I filed a new bug (to remove CSP from index page, and leave it only for publish page) and send PR, which is under review.

Also, I updated CSP for Thimble, where I missed some sources when together.js were activated. I updated my PR here.

The last thing I did during this week was my little involvement with CSS, where a small fix had to be done. In Goggles, username, language picker and ‘sign in’ button were not aligned in one line. I took that bug, fixed it and pushed PR. I would say, that CSS is also a lot of fun, especially now, with all its power and functionality.
I was working mostly on small bugs this week, due to my lack of time. One major bug is still has to be done, its recoding the popcorn instance. I would work on that next week and week after, so that I would finish it before my next release.

And started my runnings today, which is absolutely great:) Summer almost came!
Bye, bye!:)