Professional Documents
Culture Documents
PERSONAL INFORMATION
Name:
University:
Graduation Date:
Major:
Location:
Email Address:
Freenode IRC Nick:
Resume:
Github:
Drupal.org Profile:
Project Title:
Umar Ahmad
Jamia Millia Islamia University, New Delhi, India
June 2015
Computer Science and Engineering
New Delhi, India (UTC +5:30)
ahmad.umar2009@gmail.com
umar-ahmad
http://goo.gl/osbfVe
https://www.github.com/gleek
https://drupal.org/user/2836505
Abstract:
Integration of Pocket service (getpocket.com) for the Drupal Fluxkraft distribution.
fluxkraft is a module suite and distribution for automating your social-media workflows!
Connect and automate tools like facebook, twitter, flickr and dropbox or schedule tweets
to promote your website content! It is an OpenSource alternative to services like IfTtT,
Zapier or Cloudwork. For really becoming a usable alternative more and more services
should be integrated to Fluxkraft.
Detailed Description:
The main goal is to build a module for integrating the Pocket API in the fluxkraft
distribution for Drupal 7. In addition that project can be an example for revising the
existing Documentation should be revised to add to better support future service
integrators.
As a result of the project there should be a Drupal module that adds Pocket functionality to
fluxkraft. For example making it possible to retrieve and post articles to Pocket, filtering
stored items by tag and adding and removing tags to items.
The documentation shall be updated to support other developers for implementing new
services, like Youtube, Github, Yammer and co.
Technical Details:
The main challenge is to use the existing fluxkraft services to create a module which
covers all the aspects of getpocket api which may include the add, modify and retrieve
facilities of the API.
Since no documentation of the fluxkraft services are available, one of the main
aspects of the project is also to include and update the documentation so that developers
may easily integrate services such as Youtube, Github, etc using their APIs.
But for the time being, code of already established fluxkraft services such as that of
Dropbox, Facebook, Flickr, feeds, Linkedin, xing and twitter will be used as a reference to
create the module.
{"consumer_key":"1234abcd1234abcd1234abcd1234",
"redirect_uri":"pocketapp1234:authorizationFinished"}
b. Response:
HTTP/1.1200OK
ContentType:application/json
Status:200OK
{"code":"dcba4321dcba4321dcba4321dc"}
2. Receive Callback
The redirect url is sent via the request in the authentication method.
3. Use the code and the consmer_key to get access token
a. Example Request
POST/v3/oauth/authorizeHTTP/1.1
Host:getpocket.com
ContentType:application/jsoncharset=UTF8
XAccept:application/json
{"consumer_key":"1234abcd1234abcd1234abcd1234",
"code":"dcba4321dcba4321dcba4321dc"}
b. Example Response
HTTP/1.1200OK
ContentType:application/json
Status:200OK
{"access_token":"5678defg5678defg5678defg56",
"username":"pocketuser"}
{"url":"http:\/\/pocket.co\/s8Kga",
"title":"iTeaching:TheNewPedagogy(HowtheiPadisInspiringBetterWaysof
Teaching)",
"time":1346976937,
"consumer_key":"1234abcd1234abcd1234abcd1234",
"access_token":"5678defg5678defg5678defg56"}
In case of FluxKraft
In the case of fluxkraft I will have to use the guzzle service to interact with the API.
The project has already been started as an Experimental project on drupal and I have
cloned it on github https://github.com/Gleek/fluxpocket, and started working on it.
The above chart represents a module structure tree to be adapted for the mentioned
module.
The main getpocketclient.php defines Guzzle driven services for Pocket API
The Plugin directory contains the files which work upon the Guzzle services defined in
getpocketclient.phpto receive the tokens from the API. The function should be as follows:
The Rules directory specified contains the file for Integration of RULE-API namely
RulesPluginHandlerBase.php which basically contains a class
abstract class RulesPluginHandlerBase extends FluxRulesPluginHandlerBase
Preferred time of day for virtual/video interview: 1200 UTC -2000 UTC
Open Source Experience:
I have been contributing open source code for more than two years, I have participated in
various Hackathons and FOSS events in India and have been a member and manager of
Jamia Millia islamia University -LUG (Linux Users Group) and a founding member of Google
Developer group JMI chapter.
GSOC INFORMATION
Have you participated in Google Summer of Code in the past? If so, for Drupal? If not,
for which organization? Please describe your participation in Google Summer of
Code.
No, This is the first time Im participating in GSOC
Are you applying to any other organizations this year? If so, please explain.
No, Im currently only concentrating on this project.
How many hours will you devote to your GSoC project each week? What are your
other summer plans?
Ill devote full time on the project, and will give more than 40 hours/week as stated by
google during the summer.
Ill be having my semester-end examinations from 1st -19th May 2014 so I may not be
able to give complete time during this period, but will cover-up my work during the
summer-break.
Have you registered an account at Drupal.org and joined
groups.drupal.org/google-summer-code?
https://drupal.org/user/2836505 and yes, I regularly follow the gsoc drupal group
Do you plan to continue contributing to the Drupal project after GSoC is finished?
Yes, I have been a drupal-user from past year and I think its high time to actually
contribute to the community. GSOC is just a platform for me to get into the Drupal
community and I will surely be an integral part of the community even after GSOC
Have you ever built a Drupal site or helped on a Drupal project?
Yes Ive had experience with Drupal. Ive built jmilug.org (currently offline)along with other
members of the group,
Ive also built a website for a startup named knowacollege, currently the site owners have
sold the domain.
Ive also solved some errors on our college website built on drupal (jmi.ac.in)
Almost all my projects are open source and most of them can be found at
http://www.github.com/gleek.
The reason for that while using comparison operator with one operand as bool and the
second operator is anything else, the second operator is typecasted into bool. For any
number greater than zero is turned to true. In order to avoid such errors, condition for
identicality should be used:
if ($y !== $z && $x === $y && $x === $z)
Timeline:
19 May:
26 May:
02 June:
09 June:
Integrate this basic Model with RULES API, thus creating a basic working
model.
16 June:
23 June:
30 June:
07 July:
14 July:
21 July:
28 July:
04 Aug:
11 Aug:
18 Aug:
Final submission
About Me
I am Umar Ahmad a 3rd year undergraduate student from India. I am currently studying
Computer Engineering at Jamia Millia Islamia University, one of the premier universities of
India. I am well versed with PHP, Python, C and C++, with many projects in each of the
languages.
I have been fascinated by Open-Source and FOSS culture ever since I heard of them,
in the first year of my college. And ever since then Ive been continuously taking steps to
be an integral part of the community.
My fascination towards Open-Source made me to join the Open-Source community
of my college JMI-LUG. Today Im a managing member of JMI-LUG and one of the
founding members of GDG-JMI(Google Developer Group JMI subchapter).
Currently, me along with the other members of JMI-LUG are organizing our third
Annual Developer Conference named BootConf which aims at the prevalent open-source
technologies of today. Other than that Ive been delivering lectures to people and students
who are newer to the Open-Source community to help them realize importance of the
FOSS and encourage them to join the community.
Apart from this Ive been also taking part in various hackathons around the city,
where my teammates and I create a minimum viable product in a span of 24 to 48 hour.
Among these are the projects such as GPS through SMS in which I stood second amongst
other developers across the city.
Farmer Information Service , which was proposed in data-hack hackathon (The first
hackathon initiative by Government of India) and many more.