For last few days, I was working on implementing a feature where the users who log in through the social log in methods in Transifex can choose a username, when logging in for the first time. Logically, I had to add in a step in the transifex social_auth_pipeline to display the user with a form to enter the desired username, before the user is created. django-social-auth provides us with Partial Pipeline where one can halt the pipeline process and ask the user for more data, and then resume. As mentioned in the docs:
It’s possible to cut the pipeline process to return to the user asking for more data and resume the process later, to accomplish this add the entry social_auth.backends.pipeline.misc.save_status_to_session (or a similar implementation) to the pipeline setting before any entry that returns an HttpResponse instance
The example below can be used implement partial pipeline
SOCIAL_AUTH_PIPELINE = (
After the pipeline resumes, by default the pipeline is resumed from the next entry after save_status_to_session but this can be modified by setting the following setting to the import path of the pipeline entry to resume processing
SOCIAL_AUTH_PIPELINE_RESUME_ENTRY = 'social_auth.backends.pipeline.misc.save_status_to_session'
This comes handy when the user inputs an invalid/duplicate data and one need to cut the pipeline process again. After implementing this feature, I submitted the patch to upstream and hope to get it accepted.
Hi there! It’s been a long time since my last blog post. In the break, I was facing my semester exams, and I felt better stay away from my laptop rather than books. Though other reason of not remaining online was my Nokia C5 mobile got pick-pocketed and I didn’t have any mode to remain online. After the my exam ended, I again bought the same mobile and started on working on transifex. I had already written some code before the exam so that anonymous users can access to the files through web-interface. But, mpessas and rtnpro suggested me to work on allowing anonymous access through the API and write some tests for the same.
So, after the exams this was my first task in hand, I went through the Transifex APIv2 docs and made some changes in the code to get the job done. I also wrote the test with the help of @rtnpro. I was also facing problem with the notification settings bar in the profile settings page. Though the ENABLE_NOTICES settings was set to True. The notification settings bar was not showing up. After the studying the code for the templatetag settings, I found out that the templatetag itself was the cause for the issue. Moving the templatetag inside the content_main block in templates/userena/base_userena.html solved the issue.
In the mean time, I read about the revised version of the Microsoft Translation API. Earlier, the Bing AppID was enough to get the work done. But now, the Bing AppID is deprecated and is no longer supported. To use the Microsoft Translator API, one has to obtain an access token using Client ID and Client Secret obtained after registering an application at Azure DataMarket and use it for the calls to the Microsoft Translator API. The process of obtaining the access token can be seen here . The Microsoft Translator API is well documented and it help me a lot. Currently, I am working on implementing the new Microsoft Translator API in transifex.
I am also currently working on the feature approved by jkal to we allow users to set their username after the first login through the social method in transifex (Facebook, Google, Twitter and LinkedIn).
Just like last year, this year’s Mukti was also filled with fun and frolic. Mukti is the annual FOSS festival organised by the GNU/Linux Users Group of NIT Durgapur. Mukti 2012 was held on 3-5th Februar 2012.There were lots of events like Codecraker, FreeMesh,FreePL etc. Students and Foss enthusiast from in and around Durgapur come to this three day festival.
On the first day, gaurav and I left for Mukti a bit lit along with some other 1st year students. On reaching the we met with rtnpro and after the inauguration ceremony, rtnpro talked to newbies and gave a comparatively small talk on django. In the evening, we went over to the KDE development workshop by Smit Shah, where he enlighted us his experiences in the KDE Community and how to contribute to it.
Next day, rtnpro, aavrug, chandan, and I, along with some guys from NIT DGP discussed on Transifex, mainly on how it works, what is it purpose, how Transifex is written etc. I also wrote some patches during the workshop and pushed it for review, we skipped the Android Development workshop by Ravi Vyas as it was very crowded so we decided to ship it for the hackfest. The following day, we geared up for the Django/Trasifex by Ratnadeep Debnath(rtnpro). He told us about the Transifex, how it started, said about the team, what does it does etc. He also showed the newbie how simple is too start off with contributing by solving bugs, fixing typos etc.
It was a great time, meeting with FOSSy people during Mukti and also met two of my old pals. I really applaud to all those who have put their hard work,labour and time to make this event a huge success and hope that MUKTI 2013 would be even bigger, greater than this year.