Aller directement à la fin des métadonnées
Aller au début des métadonnées

Project Proposal

rajgo

Organization: CiviCRM

Short description: Browser based applications are becoming the de facto web standard. CiviMail is an important component that has a high impact. Current workflow in CiviCRM is lengthy and multi-step process. It would be easily converted into simple javascript application, using modern framework such as AngularJS. CiviMail also is less complex compare to other components which makes it a good fit for usability improvements.

PERSONAL INFORMATION

Name: Siddhant Rajagopalan.

Email id : rajgo94@gmail.com.

University: Indian Institute of Technology, Bombay

Graduation Date: 2016

Major: Computer Science and Engineering

Location: Mumbai

Timezone: GMT + 5:30

Drupal.org Profile: rajgo94

URL to CV: http://home.iitb.ac.in/~120100006/Final%20resume.pdf

Preferred time of day for virtual/video interview: IST after 9:00 pm.

 

GSOC INFORMATION

How many hours will you devote to your GSoC project each week? What are your other summer plans (vacation, this time of year isn't your summer and you are in class, etc)?

I am extremely excited about the GSoC project and will devote at least 36 hours a work. I do not have any other commitments and will devote all my time to the completion of the GSoC project.

 

CIVICRM INFORMATION

Have you registered an account at CiviCRM.org?

Yes, My user name is rajgo94

Have you even built a site with Drupal, WordPress, or Joomla?  (Please provide details)

No

Have you ever built a CiviCRM site or helped on a CiviCRM project?  

No

Have you ever posted a questions to the CiviCRM Forums, JIRA, or GitHub?

Yes, I have posted on the CiviCRM Forum.

http://forum.civicrm.org/index.php/topic,31821.msg136806.html#msg136806.

 

Have you ever contributed code to CiviCRM?

No

 

TECHNICAL INFORMATION

Have you ever utilized IRC?

Yes. I have used it to communicate with Kurund Jalmi

Have you ever used GIT?

Yes I have used GIT version control in a class project on simulation of a hydraulic crane using Box2D, which is a platform for simulating physics.

Question on GIT.

We can correct the message using append

git  commit - -append –m  “corrected message”

 

Question based on given 'almighty_function':

function gsoc_funciton($x, $y, $z) {
  if ($y != $z && $x == $y && $x == $z) {
    return "Success!";
  }
    return "FAIL!"
}

This function will always return fail. Since for success, we need both y and z to be equal to x but not equal to each other. This is a contradiction forcing fail to be returned for all values of x,y and z.

To fix the function, one of the three if conditions must be removed as all 3 cannot be satisfied simultaneously.

 

 

PROJECT INFORMATION

Which project interested you and why?

Mail Blasting UI as a Javascript application is a project I would like to work on.

The internet has been moving towards browser based applications. This is because of their numerous advantages. They are far more user friendly. As a result browser based applications are becoming the de facto web standard.

CiviCRM as an open source project needs to start moving in that direction. CiviMail is an important component that has a high impact. Current workflow in CiviCRM is lengthy and multi-step process. It would be easily converted into simple javascript application, using modern framework such as AngularJS.

CiviMail also is less complex compare to other components which makes it a good fit for usability improvements.

AngularJS is a leading javascript framework and building on it should be a good example for future CiviCRM usability improvements.

 

Expected Deliverables

1.       Week 4: Detailed Blog post on plan / mockups for the project

2.       Week 9:

•    Public demo instance for showcasing work done and feedback

•    Detailed blog post on status and feedback from the community

3.       Week 12:

•    Code will be available on github and merged with civicrm-core

•    Detailed blog post on implementation / current functionality

•    Document what’s done and further improvements

 

 

Timeline for the project

 

Week 1-2 : Research weeks

1. Get up to speed on AngularJS

2. Get up to speed on CiviMail functionality

3. Research and compare popular mailing blast solutions, what we can learn from them

4. Learn CiviCRM REST API and scope out new api’s ( if needed )

5. Research into tests to run for the code

 

Week 3: Design and Usability mockups

1. Based on research create wireframes for new CiviMail UI

2: Create high level specifications

 

Week 4-6:

1. Blog post on civicrm.org summarizing findings of research and the specifications

2. First prototype of the new CiviMail UI

3. Minimal set of tests to ensure working of the prototype

           

Week 7-9:

1. 2nd iteration based on the feedback from early alpha testers

2.  A blog post with details of the new version and requests of feedback from the community

3. Deploy a public demo instance

 

 

Week 10:

1. Integrate with AB testing project ( if project is approved and if time permits )

2. Extend current work to cover all CiviMail settings

3: Document work done

4: Create plan to migrate other civiCRM components to a similar framework

 

Week 11:

1. Testing and bug fixes

2. Merge new code into CiviCRM master

 

Week 12:

1. Project wrap up and buffer week

2. Final blog post: Learning, what’s achieved and roadmap for further improvements

 

Potential Mentors: Kurund Jalmi

 

Which part of the project is most difficult?

•    Getting up to speed with AngularJS for completion of a complex project It would be challenging to implement event application.

•    Getting up to speed with CiviCRM code base and CiviCRM API’s

Easiest Part of the project?

Weeks 1 and 2. Research and developing UI mockups

 

Work to be done before the project:

•    get up to the speed on Javascript basic syntax and event handling

•    go through AngularJS tutorials

•    setup local development sandbox with Drupal and CiviCRM from github

•    Research competing tools such as MailChimp, Constant Contact, Campaign Monitor etc.

 

Benefits to CiviCRM from the project:

Currently CiviCRM uses PHP and is a server based application.

CiviMail has 5 page wizard which is to be used by everyone irrespective of their requirements. The interface is not very user friendly and it can easily be converted into single page application.

If we follow a model like that of gmail, that is we use AngularJS to make it a single page application, there will be several advantages. For eg: in gmail there is no page reload when we compose a mail and everything looks very seamless.

People who want to send simple mails using only the regularly used features will not have to go through multiple steps.

We can have options bar for the people who want to use some of the less frequently used features of CiviMail.

People who want to use features that are rarely used should be moved to an extensions and simplify existing form.

The autosave of drafts will also behave better.

Using this sort of a model, CiviMail will become far more user friendly for all types of users.

This could act as a platform for CiviCRM to move in the direction to do more things on the client side.

This project will go a long way in enabling the community to add features like a template editor and content editor over and above this user interface.

 

ABOUT ME

I am a second year undergraduate student studying Computer Science and Engineering at the Indian Institute of Technology, Bombay. I have been coding since Standard 9 and have developed a keen interest in Computer Science.

I have Worked in Web Access on the Wealth Lab software. Designed an algorithm and wrote a code  which gave buy and sell signals for the United States stock market based on technical indicators.  Simulated it on past data, yielding successful results. This gave me an understanding of using data for technical analysis of the market.

I have made several C++ projects like one to identify shapes in a picture using the OpenCV library.

I have a good academic standing. I secured an all India rank of 331 out of 5 million candidates in the IIT JEE entrance examination. I have cleared the Regional Maths Olympiad and come 1st in Maharashtra and India in several Mathematics Examinations (Macmillan Examination conducted by Australia, Mathematics Exam conducted by the Institute of Promotion in Mathematics). I have also been awarded the prestigious Pradnya certificate.

Besides academics I enjoy playing lawn tennis, listening to rock music and playing chess.

I feel that I am the right person for the task and would cherish the opportunity to do this project.

Étiquette
  • Aucun

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.