Portlet for displaying the events at USD that a student has attended in the current academic year. Events are pulled from Salesforce into Luminis via a Web Service that I created using APEX.
Planning implementation and achieving results
Some time in 2013, USD purchased Salesforce as our Enterprise CRM platform. Inside Salesforce we manage events. Several business users had requested that we pull the events from Salesforce into our Luminis (MySanDiego) portal, but we simply had not gotten the time to look into it.
My manager asked me to look into it. I ended up researching how to create a Web Service in Salesforce, which I hadn't done before but it was relatively straight-forward once I found the correct documentation. I also got to work with the Apex language for the first time, which was interesting.
The end result is what you see in the screenshot above. Events are pulled from Salesforce via a Web Service and the portlet then handles the UI/UX to create a pleasant user experience (at least I think so...). This project also had the honor of being the first USD Salesforce Web Service.
Influencing, communication and teamwork
I worked with co-worker Jon to learn more about developing in the Salesforce platform. I worked with co-worker Chris to install necessary server certificates so the Web Service would work correctly. I worked with co-worker Rahul to implement Gson. Gson was amazing and saved so much time over having to parse Json manually.
Analysis, problem solving and creative thinking
The first major hurdle was figuring out Salesforce Web Services and just developing in general on the Salesforce platform. I had never done that before and it was an interesting challenge to solve. I ended up with a collection of bookmarks that hopefully with time I won't need but for now I refer to often.
The Events Attended Portlet works by pulling events from a specific timeframe. Because the Salesforce platform enforces code testing before deploying code into production (a good thing!), I had to write unit tests for my Web Services. Nothing too bad, but I had to deal with testing code that was time-sensitive for the first time. I ended up spending more time that I should've doing this until I realized that the trick was specifying the time zone explicitly rather than relying on system time. Live and learn!
Designing the UI/UX was also fun. I've been spending more and more time honing my Sketch and Design skills so this was a good project to extend my knowledge. I actually made a post on Stack Exchange that hit the Best Questions of the week newsletter, so rather than repeat myself I will just link to that (a good programmer is a lazy programmer ;) ) - http://ux.stackexchange.com/questions/80309/ways-to-show-that-a-task-is-halfway-complete
I got some praise over this project, which is always nice. I think the users will like it, but the true test will be when all the students come back for the Fall Semester in August.