Day 57: #100HappyDays
Node Form Transforms

node-form

Over time, you become a little restless with the vanilla site building of Drupal and you will tend to want to do more. And since I am already quite ok with the way things are, I decided to experiment a little. For today, I worked on the node form’s appearance by tweaking the right tpl file. It’s nodename-node-form.tpl.php, in general.

I was able to add fields and segment them into a cute three-column interface by means of referencing classes off a bootstrap grid layout. Client privacy restricts me from showing the actual progress of the node form, but I am quite happy to note that I have finally cracked one of the reasons why it’s important for Drupal to render its children in a form after all the customizations are done.

I did have some AJAX issues with multiple submit buttons that remains as mysterious as the Bermuda triangle in my head.  Some folks at the IRC chat room suggested some things for me to try but I ended up implementing using a very simple HTML popup window to remove the extra “Submit” button which bungled my form. Sweet.

 

Day 56: #100HappyDays
Tinkering TPL

Source: drupal.ua

Image Source: drupal.ua

During my initial site building initiatives, I was afraid to go deep into Drupal’s intestines. I began sinking deeper into the guts of Drupal’s structure when I started requiring more functionality requested by my client that was beyond what the typical or on-the-fly customizations can offer me.

Naturally, it led me to tinkering with the TPL PHP files and spending more time with the Drupal API than any other cookbook reference for Drupal website building.

Today is the day that marks one of the days that emphasized significant exploratory work using this CMS. Mostly I tinkered with TPL lately for front-end requests and other basic backend functionality. It’s not tantamount to Christopher Colombus’ discovery or some bigtime Drupal dev’s module, but it means something to me, personally as a milestone of my dev experience.

I kind of think that the lengthy/tedious and restrictive naming system of tpl can be a real pain sometimes. But I do understand it’s part of the cogs that make the Drupal site tick and tock  in the way that it should. For this phase of life, I did tpl files for nodes and views. And I think that I will continue to want to do more.

 

 

 

Day 21: #100HappyDays
Digging the Entrails of Commerce Docs

commerce-entities

The wonders of learning never cease. 🙂 I’ve been holing my virtual butt and immersing my brain within the confines of the Drupal Commerce documentation for the last 5 hours.This is the one Helena hat that requires my inherent love for books and speedreading.

It’s really very engaging and fascinating. It really amazes me how so many things can come for free if you know where to look. Before, I only looked at Drupal as a means for making maps with points and polygons. In the context of my mapping engineering practice it was already tantamount to entering the virtual cave of wonders.

Now, I look at it as an open source online store front on top of everything else I have done with it before. It’s nice to have multiple facets of a single thing. I never run out of things to explore and do in the web dev side. I really look forward to becoming a true blue coding ninja that can do full stack. 🙂 <3

Dani Nordin’s
Better Drupal UX Design
Webcast

The internet has revolutionized our approach to education. These days, you can learn anything if you have time, an open mind, and a good internet connection. Sometimes, updates happen through webcasts. It’s not a full-length course but it’s like a seminar of sorts that is web-based and includes latest updates about a specific topic. Webcasts render a unique charm in themselves; it won’t require you to sign up and watch long videos continuously. You will only watch once and you already learn a lot.

For my first formal webcast at O’Reilly, I began with a Drupal-related topic. It was Dani Nordin’s Better Drupal UX Design. My good friend RK recommended this O’Reilly webcast to me a few weeks ago. It went live at 10pm Philippine time last night. Since I have a very strict workout schedule, I decided to watch it early this morning instead. Thankful to find that O’Reilly actually keeps a web recording of every webcast. So I was able to workout at the gym and watch it the following day. The only caveat to watching a recording webcast is that you can no longer take advantage of the live group chat where you can post your questions to the speaker.

drupal UX webcast

Nordin’s Better Drupal UX Design is light in its approach but enlightening. I found the names to the things I am already doing in my development efforts.In working for clients, it is normal to wear a lot of hats in web development. Sometimes, you are hired for backend purposes on paper but you end up doing both frontend and backend during the development.

drupal_ux_design_screen2

 

One of the best fascinating techniques I learned (though it’s not really a new or original idea) is to use Post-Ups for Initial Architecture. She also generously provided a lot of resources, answers to questions, and actual examples from her experience.

These days, it’s not enough to just know a lot of backend tricks. Front-end and user experience matters, too; it dictates if the website will be visited or used by the targeted users later. Some backend guys scoff at frontend guys, but in reality, both are absolutely necessary in any project. My one dream is to become a full-stack dev and polyglot, but that will take a really long time and a lot of websites to pull off effectively. I am really turned off with hardcore backend speakers who say that frontend is unimportant. It is still important because it is what the end users will see. It can actually make or break a project if your UI sucks, no matter how solidly amazing your backend is. So I am not really surprised if projects have dedicated UX or UI experts to perfect that for the client.

Details of this O’Reilly webcast can be found if you click here. You can also view a complete list of O’Reilly webcasts for additional learning.

Incremental Control

Drupal Commerce Kickstart is very much lauded as a powerful, flexible, and configurable interface. I had the privilege of checking it out recently and I must say, the module interplay is quite impressive. On my machine though (using an ASUS X550L with Ubuntu 12.04 LTS and Windows 8.1 dual boot, i5 processor), it throttled during installation.

It took a while, and it took much longer when I placed it in a Vagrant environment. To affirm the theory, I tested it using an organic LAMP setup on my local machine vis-a-vis a LAMP setup inside a vagrant machine. True enough, there was a dramatic difference in loading time.

Interestingly, I also noticed an increase in throttling when I placed non-US dollar denomination and non-US location during installation. Probably it was because the demo store content was initially configured with these default values.

I tried to stay with the whole package for two days and eventually I got a little more adventurous. I browsed through some online discussions of people who are using Commerce Kickstart and learned that there are workarounds. I found a particularly informative post here.

As it turns out, the increased control I wanted for my current endeavor can be made more possible if I did away with the Commerce Kickstart installation and began with a fresh or vanilla Drupal 7 CMS installation instead. The modules are fortunately easily detachable.In fact, I already have them now in my hands because I tried most of it on my machine.

I have yet to continuously hack through the intestines of Drupal CMS. It’s really an entity in itself that requires a lot of tinkering.

Initially, I had difficulty deciding on what to use for implementing this project I am working on. A previous code had the MVC (model-view-controller) type of personalized CMS in it that was built from scratch. It was optimal because code was light and fast. The only caveat is that it will take ages before I can deploy the site because it will involve hardcoding most of the functionalities from scratch.

For now, I decided to make the switch to the loaded CMS that is Drupal 7. I will still probably be checking other MVC structures should time permit me to do so as a good form of technical diligence. Drupal and its distros like Commerce Kickstarter makes use of PAC (presentation-abstraction-control). There is a lot of flexibility in Drupal as a CMS, and as such, it contains a lot of files which can be a bit problematic for optimization later.

There’s the balance between site scalability and site functionality. And this is precisely one of the first steps in project management. Anyway, each web project is like a baby hatched egg and it’s so fragile in the initial stages that you can either permanently cripple it or induce it to develop much faster.

It’s really nice to have a bunch of options to choose from, though sometimes I can appreciate a more elegant and narrowed down way to trim the excessive fat from flashy features.