Skip to main content

GSoC’17 Coding period | Week #7 | UC Wishlist




With the last week of the second phase of the Google Summer of Code 2017 underway, the seventh week has come to a close. The previous week saw the completion of the third port for the second regime, i.e., porting ‘View/Update wishlist’.

The earlier week I had summarised the implementation for the third port, i.e, porting ‘View/Update wishlist’ functionality. So, the work done the previous week for the implementation of the mentioned third port can be summarised below:
  • The first thing I did was to define an interface my UcWishlist entity type class can implement and that extends the default ContentEntityInterface alongwith EntityOwnerInterface. So inside of the module's src/Entity folder, create a file called UcWishlistInterface.php.
  • Next,  I focused on the crux of defining my own Content Entity class and created a folder inside the src/ directory called Entity, and within it, a file called UcWishlist.php.
  • What we have here is a simple class defining the entity properties required. This class extends the default ContentEntityBase class and implements the UcWishlistinterface. Using annotations, we are basically telling Drupal about our UcWIshlist entity type. The @ContentEntityType tells Drupal that this is a Content Entity type. Within its definition, we have an array-like structure describing the wish list contents.
  • The next thing I did was to create the form we referenced in the annotations above: for adding, editing and deleting wish list entities. The cool thing is that the form for adding can be reused for editing as well. For that we create a form by the name WishlistViewForm.php in the src/Form directory.
  • As I declared when defining the content entity class, I created a class file responsible for building the overview page of the entities. So straight in the src/ folder of the module I created a UcWishlistListBuilder.php class file extending EntityListBuilder.
The latest port seems to work as planned. However,  the second port, concerning the add to wishlist submit handler displays a minor error while registering products to be added to the wish list. The incumbent errors would be fixed subsequently after the completion of the remaining sole port for the second phase, i.e., ‘Search wishlist’, the porting of which I have already begun and would be completed within the stipulated time.

The third port, therefore, enables users to view a specific wish list (provided required items are added to the wish list through the add to wishlist submit button). On clicking that button the user wish list is automatically updated to include the latest changes. The code for the current status of the port can be found here.

Winding up, these were the objectives and concepts learned during the seventh week of coding phase in GSoC’17 and hope to learn many more new concepts in the coming weeks for the successful completion of the port for the current and final phases.

Cheers!

Comments

Popular posts from this blog

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

  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 . S

GSoC’17 Coding period | Week #2 | Drupal

Google Summer of Code 2017 has entered yet another week and with the conclusion of week 2 of the Coding Phase, things in general have become much more elaborative, as well as exciting ! The previous week was significantly noteworthy in terms of the intricacies and topics dealt with for the  objectives undertaken for the first phase. I was also able to manage time better to focus more towards my project, and the implementation in particular. In the previous blogpost , I had mentioned about the port objectives decided with regard to the first phase of the coding regime. As planned earlier, my main intent for the week was to port the functionality ‘Add administrator wish list settings’. The port of this sub-module encapsulated the completion of the following objectives: Configuring the wish list settings by administrator: This feature allows the administrator to implement crucial settings related to any wish list for authenticated users.  Man

GSoC'17 | Drupal

This year I had the utmost opportunity of getting selected for the prestigious Google Summer of Code 2017, as a part of Drupal, the open source organisation to which I contribute. Drupal, is a free and open source content-management framework written in PHP and distributed under the GNU General Public License, provides a back-end framework for at least 2.2% of all Web sites worldwide – ranging from personal blogs to corporate, political, and government sites. Systems also use Drupal for knowledge management and for business collaboration. The Google Summer of Code, often abbreviated to GSoC, is an international annual program, first held from May to August 2005, in which Google awards stipends, which depends on place of university of the student, to all students who successfully complete a requested free and open-source software coding project during the summer. The program is open to university students aged 18 or over. Students contact the mentor organization