Using My Skills to Help Heal the Planet: The beginning
Introduction
I remember the moment when I started my career as an Oracle Developer. It was back in 2016 when I participated in extra Oracle classes at my university and a trainee program at one of the biggest IT companies in Poland. I wasn't really sure if this tech stack would stay with me for the next few years, if it would be interesting enough. But it did. I also remember whose books I was reading while traveling by train or spending my free time. Most of them were written by Steven Feuerstein.
They were about Oracle 11g and gave me tons of practical knowledge that I later used in my first tasks. There was a lot to discover, so I often pushed myself to try out new things whenever possible. Then I switched to online resources, like Steven's YouTube channel or LiveSQL page, as a reference for implementing examples of specific Oracle features.
And now guess what! After a year, an opportunity to support Steven in his APEX project appeared. Steven was looking for APEX Developers willing to help as volunteers with an application used by a self-organized community that cares about making green spaces wild again. I sent a DM to Steven, and we started an interesting conversation about the job that needed to be done. I was really excited!
How Can I Help You, Sir?
As it turned out, the application data often refers to resources located on Google Drive. The user is allowed to create a summary of their activity and add records about how the green space was before and after the rewilding process. Some APEX items are responsible for pasting the Google Drive URLs inside. Each activity has its folder on Google Drive, which contains any resources documenting what was done in the space. Finally, such an event is entered in the APEX application, which means that all those links have to be typed/pasted manually.
AS-IS Downsides
That is so annoying for many reasons, such as:
The user is forced to switch between browser tabs.
Photos showing before and after states should be matched in corresponding pairs. In this case, the sequence of activities is as follows: switch to the Google Drive tab, copy the link of the correct image, switch back to the APEX tab, paste the copied URL, and save the pair by submitting the page. This process needs to be repeated for each image documented in the event, which is highly prone to errors.
Even if the image URLs were included in the event report, there is no option to show the images directly on the APEX side.
What if a user saves the event report but then changes the content on Google Drive? It won't match the information stored in the APEX application anymore! Just imagine how difficult it could be to maintain consistency.
How Steven and I Collaborated?
We only needed a few Zoom sessions to get the project rolling. Steven explained the issue, and then it was my turn to utilize my previous experience with Google integrations in APEX.
The goal of my work was to make managing and displaying the Google Drive resources more intuitive and user-friendly. I came up with two different approaches, and we explored both (I actually implemented both!) to see which would offer the best experience. I'll explore both of these methods in future blog posts. Stay tuned for updates and feel free to subscribe to my blog!
APEX integration with Google Drive on Javascript side as APEX Plugin
APEX Integration with Google Drive in pure PL/SQL with Google Service Account
Summary
It took some time to come up with the right ideas and make both solutions work nicely. I hope all concerns related to good programming practices have been addressed. I also learned a lot of new things, even though I have done some integrations before. You never know what a project will bring. This one was particularly special because I earned Steven Feuerstein's satisfaction. Well done, Wojciech!
Subscribe to my newsletter
Read articles from Wojciech Sowa directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by