Side Topic on Launching Maestro workflow from a link

By defaut the behavior of launching the maestro workflow would ask users to go to task console and select the workflow and then click on Launch button

looks like below: (The link to access task console is : http://siteurl/maestro/taskconsole)

Usually once you install maestro workflow, it will dynamicall create a task console link on the navigation bar.

For example, if I want to lauch my membership application workflow, I would need to get to the task console link and initiate the workflow over here.

1-1

So then once you refresh the page, the workflow you have selected would appear under the task console table and display a status as active meaning the workflow has started.

1-2

Now the question is : how would we initiate a workflow from a direct link on the navigation bar?

So in this case, look at the picture 1-1, on the navigation menu bar, the link “Apply for the membership” should initiate the membership application workflow for us.

To acheive this goal, I created a customized module “launchmaestrolinks”. The module could be at below:

Note: This module is a put-together work from a few gurus and the intitial idea is learned from the drupal forum.

Download the module from here…

After the module is downloaded, here are a few things you need to do to install it!

  1. Copy the zip file to [site_corecode]/sites/all/modules
  2. Unzip the file to install the module.
  3. Enable the module “Launch Maestro Links” 

          Login to your site with administrator priviledges, and then go to Administration->Modules. You should find a simlar screen as below:

         

           Make sure you click the checkbox to enable the module and then save the configuration.

        4.  Once you have enabled the module, go to navigation bar to create and configure the maestrow workflow links.

             Before you create the navigation link for the maestrow workflow, make sure you know about the template number of the maestrow workflow you are referring to.

             For example you could locate the template id number by going to Administration->Structure->Maestro Workflows. In this case, I am going to create the direct link on the navigation bar for my Membership Application Workflow. The template id number is 1.

           

            Now we go to Administration-> Structure->Menus

            Click on the operation “list links” beside Navigation.

            We could simply add a link by clicking on  at the top of the list links.

            Note: the link path should follow the standard as : mastrolinks/<template_id>. So in my example, it would be 1.

           

               Now you could see the link “Apply for the Membership” would show up at the navigation bar and once you click that link.

               It will automatically kick off the workflow: Membership Applicaiton Workflow.

               End of the instructions and have fun with the new module.

               Merry Christmas to everyone!!

Tweaking within Drupal 7

Warning: fileowner(): stat failed for temporary://upd16E2.tmp in update_manager_local_transfers_allowed() (line 932 of C:\Program Files (x86)\EasyPHP-12.0\www\aapi\modules\update\update.manager.inc).
The error occurs under the page of installing a new module like below:

  
 

Reason: The error displayed is caused by the incorrect tmp directory that is set up in the file system. I intentionally copied my website data from one server to the other server. And the orginal tmp folder directory is not applicable for the same location on the new server.

Solution: Go to Home-> Administration->Media->File System. Change the corresponding field.

Missing Manage Fields Link on Content Type Pages

Go to Modules and search for Field UI, make sure the module is enabled.

Drupal site running slow and out of memory issue

You might run into some errors as below complaining the memory exhaustion.

One cause would be not having enough php memory. You should look at the php.ini and locate the key word “memory_limit

The code snippet below is from my local php.ini. You could see it only has 128M as the memory. I increase it to 1024M. The error goes away and the drupal site is running a lot faster.

Use customized font in drupal 7

I assume that you have already chosen your best theme and you are willing to add a little bit more variety in fonts besides using the default ones that are provided by your current theme.

One method I would recommend is using google web fonts. They have abundant collections of the most popular fonts frequently used by different websites.

How to use it in Drupal Theme?

  1. Go through the choices of fonts from here: http://www.google.com/webfonts#
  2. Find style.css under your theme folder usually at: [site_corecode]/themes/<theme_name>

          If you could not find your theme under this directory, try the other dir at: [site_corecode]/sites/all/themes/<theme_name.

    3.   Modify style.css and add the following code at the beginning of the file.

          For example: @import url(http://fonts.googleapis.com/css?family=Oswald);

         You should find the @import code from Step 1. Pick the font and then click on  at the right bottom corner of that font.

         And then on the quick use page, you could see the step 2:Choose the character sets you want:. Find the option: @import and copy the code.

   4. Now you should be able to use the imported fonts anywhere by referring to the font-family like below:

     font-family: ‘Droid Sans‘, sans-serif;

    The other method is to use customized fonts you have downloaded and refer it at your style.css using @font-face.

     Suppose the font you are looking forward to using is Sansation_Light and you have already downloaded the ttf file : Sansation_Light.ttf

     Put this ttf file under the location : [site_corecode]/sites/default/files/

     And then add the following code at the beginning of the style.css file.


@font-face{
font-family: myFirstFont;
src: url('/<site_name>/sites/default/files/Sansation_Light.ttf');
}

     So then whenever you want to use this font, you could simply replace the font-family to myFirstFont.

Side Topic on Maestro Workflow with Drupal 7

When I was building the demo website for the clients using maestro workflow in drupal 7, I have encouted with the following errors:

   Only variables should be passed by reference in maestro_accept_reject()

 

   By looking at their code of the maestro_common.module snippet at blow, there seems no problem with the code itself. However, the release of PHP 4.4 and 5.0.5, a change has been made to the engine that has resulted in some new errors popping up in existing code. The errors showing above didnot hurt the basic functionality but creating annoying user experience.

   After researching around for fixing the problem while and understanding php developers’ determinative attitude on pushing the new change in, I have figured out a way to reformat the code above to get the php engine happy.

   So now the error goes away by having the code reformatted as below:

   Hope this would help people that has suffered the same problem!