All posts by Fazle Ryan Chowdhury

About Fazle Ryan Chowdhury

Distinguished as a Full Stack software engineer, Zend certification is held, with expertise in PHP and JavaScript. Exceptional problem-solving, adaptability, and consistent project success are showcased in my track record. Explore my portfolio to witness skills in action.

Let s Play Concertos

Lets Play Concertos

Lets Play Centos is a place to find the easy student concertos. The site is developd with Drupal 7. I was a team member of zitemedia who was in charge of this project. My job scope included drupal commerce, licence and much more. Unfortunately the business closed, but here is the link to my contractor profile: https://www.upwork.com/freelancers/~018700a0d81eead266

Godzilla Labs

Godzilla Labs

Godzilla Labs provide innovative web solutions to businesses interested in outsourcing their web design and web development needs. I developed the site from scratch with Drupal 7. Some of my responsibilities are: designing, developing in Drupal, content development.

Pet Home Care Penrith   Lower Blue Mountains   We provide a familiar environment for your pets

Pet Home Care Penrith

Pet Home Care Penrith provide a familiar environment for pets. The site is developed with drupal 7 with twitter-bootstrap theme. I was responsible for designing, developing and basic SEO for the site. Custom Module development was a major task for success.

Passing Zend PHP 5.3 Certification Exam.

Hello everyone, I’d like to revisit an article I wrote back in February 2013 about my experience with the Zend PHP 5.3 Certification Exam. Here’s the original content:

Today, I’m thrilled to announce that I successfully passed the Zend PHP 5.3 certification exam. This achievement brings me immense excitement, especially considering the hard work I put into it. I haven’t been on my PHP learning journey for very long, and while I may not have extensive professional experience with PHP just yet, my unwavering dedication to mastering the language has certainly paid off.

I’m not much of a blogger, so please bear with any mistakes in my writing. In this article, I’d like to highlight some key points about the exam. First and foremost, I want to reassure you that the exam is not as daunting as it may seem. It simply requires some courage to face it. Many, including myself, lacked the confidence to sit for it initially. However, I eventually thought, “Why not give it a try?” And here I am, having passed with flying colors!

To prepare, I delved deep into the PHP manual, focusing on the fundamentals, object-oriented programming (OOP), functions, string and array functions, and input-output operations. This thorough review gave me the confidence I needed for these topics. I also followed the Zend Certification 5 study guide by php|architect. While the study guide was originally designed for PHP 5, it still serves as a valuable resource for grasping the basics, IO stream functions, and web features. Just be sure to cross-reference it with the PHP 5.3 manual to stay updated on the changes.

In my opinion, approximately 60% of the exam content can be found within the language construct section of the PHP manual. Don’t overlook the string functions, array functions, and file functions – go through these sections in the manual meticulously. I committed around 30 functions from each of these topics to memory. It was a bit tedious and demanding, but it certainly paid off!

I discovered a helpful website, http://phpsec.org/projects/guide/, that provided insights into security. Additionally, I gained knowledge about security from the PHP 5 study guide. Prior to this, I had limited awareness of PHP security. After studying these resources, I felt well-prepared for the exam. The study guide is also quite useful for understanding web features. In conjunction with that, I thoroughly explored the manual to gain a comprehensive understanding.

Now, in terms of databases and XML, including DOM documents, I must admit that I wasn’t well-versed in DOMDocument, JSON, AJAX, or web services. Fortunately, I only encountered one question on JSON, which I managed to tackle. DOMDocument appeared to be an extensive topic, and I decided to take a calculated risk by not preparing extensively for it. I already had some knowledge of databases, but I did spend time studying PDO, including transaction concepts. PDO is quite fascinating, and I recommend referring to the study guide rather than the manual for PDO-related information.

Lastly, I should mention that I was well-prepared for object-oriented programming (OOP), but regrettably, I didn’t encounter many questions on this topic – perhaps around 4 to 5 questions. The best place to learn OOP is the PHP manual. I didn’t study the “study guide” because there were significant changes from PHP 5 to PHP 5.3.

In conclusion, after completing all these preparations, I strongly recommend going through the PHP Study Guide 5.3, which can be downloaded from the Zend website. It serves as an excellent resource for revision. While there may be a few mistakes in some of the questions, you’ll easily spot them if you’re well-prepared for the exam. So, don’t worry too much.

That’s the gist of my experience in preparing for the exam, and I hope this information proves helpful to others embarking on a similar journey. To all fellow programmers preparing for the Zend PHP 5.3 Certification Exam, I wish you the best of luck. Remember, as I mentioned earlier, this exam is not as formidable as it may appear – just go for it!

Easy way to create Workflow without workflow module Drupal 7

Hi all.. This post is about how to develop a workflow scenario without using workflow module in Drupal 7. I have been searching online on how to develop a workflow case for a project, and mostly what I get is a recommendation of different types of module like ‘workflow’, ‘workbench’, etc. All these also includes fine knowledge about events and triggers module which seemed to be a bit complicated to me.

So rather I tried the following way to develop the workflow just using ‘rules’ and custom field of my content type. In general what I did is, I created a custom select list field for my content type with the values like draft, needs review and published. Then I used the rules to change and also to check the state of these fields at times when needed.  A detail description is as below:

I created a Content type ‘story’ with a select field ‘workflow’. The values of the workflow are ‘draft, needs review,  reviewed,  needs work, published’.workflow_fieldworkflow_values

The very first rule I needed to set is ‘unpublish on publish’. This is to make sure that stories created by users are not published automatically. This rule was for the event ‘After saving new content of type Story’. The conditions I set was data comparison that [node:author:roles] was not equal ‘editor’, ‘publisher’, ‘manager’ or ‘administrator’. FYI, I used ‘roles’ module to develop these roles. workflow_values

In the action section I selected ‘unpublish content’ and ‘set a data value’ of  [node:field-workflow] to ‘needs review’. Thats it. This is to ensure that the node is never published and my workflow value changes to ‘needs review’ from ‘draft’. The final image of this rule is given below:

rule1

Then I created another rule with the same conditions and actions for the event: ‘After updating existing content of type Story’, to make sure that whenever a user make changes the node is unpublished and workflow is set to ‘needs review’. rule2

The third rule I created was ‘publish article’ which only worked before a node is saved or after updating an existing content.  This rule checked if the user roles are administrator and workflow value is ‘needs review’ then it published the content and changed the value of workflow to ‘published’.

To elaborate the scenario:

I created this rule on two different events: ‘Before saving content’ and ‘After updating existing content’.

Then I checked the following conditions:

  • Content is of type: story
  • User has role(s): User: [site:current-user], Roles: publisher, manager, editor, administrator
  • Data Comparison: if  [node:field-workflow] is set to ‘needs review’

Then in Actions I published the node and set the data value of workflow to published. That’s it. Quite simple. rule3

That’s the way I did it and it seems logical to me. If you have any suggestions or questions feel free.

Thank you