GSoC’17 Coding period | Week #11 | Uc wishlist

week11

 

Another week has reached its aftermath and the third phase of the coding regime is about to conclude with the onset of the Final Evaluations for Google Summer of Code 2017. The time spent so far during the previous months have been a great learning experience with Drupal, with the timely help provided for the project by my mentor Naveen Valecha.

Coming to the present scenario, the majority of the port concerning the Uc Wishlist has been completed, save for some technical fixes and implementation requirements regarding the port of the final sub-module ‘Add user wish list settings’. Other than that, I would put up the alpha release of the module as soon as the current code gets reviewed. Additionally, I would propose few functional tests as per instructions from the mentor and reviews from the developers. Moreover, my code for the previous ports have been committed to the Drupal Core by my mentor and the current status of the code could be found here.

So, the work done the previous week can be stated as follows:

  • Option to email wishlist to others:

    • This feature would enable users or wish list owners to share any wish list with other users or potential customers by emailing it to the respective user.

    • Completed the WishlistEmailForm contained in src/Form using the Form API involving the buildForm, validateForm and submitForm handlers for the wish list email.

    • Usage of the Database API for the dynamic construction of queries and storing the database within the DBQuery.php file in src/Database.

    • Converted D7 Hook functions to D8 APIs and provided menu-defined local links such as the email wishlist tab Routes, thereby linking the user wishlist to the local tabs routed through /user/%user/email-wishlist. Email address of an user is verified through the Data Common API.

D8 visuals of the port:

emailwish


 

  • Option to search wishlist:

    • This functionality makes use of the Form and Search APIs to include the following components for executing a functional and effective search:

      • Search submit button: To execute the required search.
      • Search results list: Displaying the expected search results.
      • Search text box (textbox): If there are keywords, check for the user, wish list title, or address matches.

D8 visuals of the port:

search

 

Work to be done next week:

  • Complete the remaining portion of the final port ‘Add user wish list settings’ through FAPI and Field API. Provide related plugins for encapsulating hook_search_info, hook_search_execute and hook_block_info.

  • Provide few functional tests for the module components, installation walkthrough and alpha release version of the module.

  • Upload the code/patches for review by mentor and community.  

Overall, the experience so far has been amazing and it’s great to advance onto the final evaluation of GSoC’17. Winding up, these were the objectives and concepts learned during the eighth week of coding phase in GSoC’17. Hope to learn many more new concepts in the coming weeks for the successful completion of the port.

Cheers!