Developing New Paths - The Mojavi Project

Archive for January, 2012

Technology

January 8, 2012

An industrial mixer for multiple uses

At Dynamix, a company known for it’s tank mixers and agitators, they have developed a robust lineup so whether you are mixing paint, chemicals, or air you are sure to find a solution for your needs. Their industrial mixer has been designed with the same base design so that you are going to see the same quality from mixer to mixer. This helps companies that are expanding to achieve a more consistent product run. At Dynamix you can find the right tote mixer for your application and know that as your project or production grows that you can add components to your existing mixers without a lot of retooling. This can save valuable time and resources so that your teams are moving forward.

Marketing,Technology

January 6, 2012

Defining your companies new name

Tags: , , , , , , ,

You will need to deploy a  company name development or company name developments experts in order to break though all the noise.

T

When you have a new new company name You can also enlist the help of experts like those at frozenlemons.com to help you create a name quickly for that all important launch. This is how many projects are done online through a “joint single message.”

Enhanced by Zemanta

Technology

Searching for the Xbox 360 Kinect

Tags: ,

The search engine battlefield has gotten more interesting this summer as Bing has launched a massive ad campaign to lure site traffic and searches from google. The reports are that they have invested over $100 million in advertising to help create brand awareness and help people understand there is a new more targeted way to search for everyday items like the Xbox 360 kinect. The traditional searches that most people use have been more broad based approaches although you can narrow down your search results if you know the correct format in which to search from. With this focus on more targeted searching consumers will now be able to enjoy better information on the exact items that they will search for.

This is why I was interested in shopwiki.com where they provide search results based solely on stores that are on the internet that may be selling the specific items that you are looking for. Take for example, you are searching for Kinect for the Xbox 360, you search on shopwiki.com and locate the top stores that sell this game along with a quick price comparison that you can see and compare. This provides the consumer the ultimate tool in cost comparison right in one location without having to search through each individual store.The ability to search for and gather both location and costs for the items you are looking for can make holiday shopping much easier. So why not give your mouse a rest and try a more targeted search for wireless Halo remote for the new Xbox 360 slim 250GB system and find some of the best deals online in a matter of seconds.

Marketing

January 2, 2012

A paint agitator for stainless steel or plastic totes

Whether you are mixing paint in a stainless steel or plastic tote there is now a paint agitator that can be used for both. Providing consistent quality across applications and the ability to mix and match drive and agitator gear the ITM (Integrated Tote Mixer) offers a great solution to your paint and solution mixing needs. The two components have been designed to be configured without tools so this means less downtime between applications or more uptime for your teams. They also have available both fixed and collapsible impellers to help in those small application settings. You can customize the setup to match your particular industry application and have the latest in mixing applications so no matter what type of tote you are using you will find the right solution for your particular application need.

Blogging,Broadband

The hosting company you choose can make your blog

Tags: , , , ,

The latest in  web hosting is now offered by KVC HOsting.

bestsupportive At KVC Hosting they offer a variety of plans from free to dedicated plans. They even offer a free dedicated IP with their basic plan which is a huge bonus for those webmasters looking to improve their search engine position. They have accumulated several rewards for their hosting up time and support and may be worth giving a try.

Technology

Find your answers online

Tags: ,

Everyone knows that a key to a successful website or blog is traffic and this is one of the first points of understanding business online. Not only high traffic but targeted traffic that will drive revenue and become loyal customers. Getting more website traffic can be a very technical and time consuming venture if you do not have a plan and know the right channels to search in order to maximize your traffic efforts. Many people will spend thousands on keyword advertising through PPC which if done correctly can reap big benefits. Advertising online can be a very simple if you have the right tools at your disposal or you can waste a lot of time and money if you do not have a solid plan.

The latest search engines are getting smarter to help deliver fresh content.

Marketing

A paint agitator that will perform

In the commercial painting application world there are numerous solutions that are available to help maintain a consistent and uniform mix. It is imperative that no matter what type of painting application you are getting ready to conquer the key is to having the uniformed color and application across a large job. That is why the ITM (Integrated Tote Mixer) is ideal for multiple applications no matter what type of paint solution you are using. Because of the unique ability to mix and match the drive and paint agitator you can easily switch between blades without cross contaminating. This makes changing applications a snap and something that can be done in seconds helping to improve your return on investment.

Mojavi Project

January 1, 2012

Global template

Tags: ,

Component Driven Global Template System

PLEASE NOTE: the approach explained below has a few drawbacks, mainly that the execute method of action always need to be executed for the output to appear in a template. I’ve decided to use a different solution to the problem. We will be incorporating online surveys as new versions are created in order to keep the development community engaged in the entire process.

Like many of us I’ve been struggling with a global template approach to Mojavi 2.0 site development for a while. Most of the suggested solutions in the forum still require a fair bit of code duplication, so I tried to come up with my own idea.

I wanted a template “system” which lets me define one or more global templates which integrate the output of multiple actions into one single html page. Mojavi already has the basic tools for this: the ActionChain and Filter classes.

Used Classes

Here is the code to all classes used by my system

TemplateFilter.class.php

/**
 * This filter implements global templates
 * Used in combination with the AggregateAction class
 */
class TemplateFilter extends Filter
{

    function execute (&$filterChain, &$controller, &$request, &$user)
    {
        static $loaded = false;

        if(!$loaded)  //only load once!
        {
            $loaded = true;

            //set up main renderer and store it in the request instance
            $mainRenderer =& new Renderer($controller, $request, $user);
            $request->setAttributeByRef('mainRenderer',$mainRenderer);

            //contuinue processing the filter chain and store the output
            //in $body
            ob_start();
            $filterChain->execute($controller, $request, $user);
            $body = ob_get_contents();
            ob_end_clean();

            //mainRendererTemplate will only be set if the execute method
            //of the AggregateAction class was executed and there were
            //additional actions to be rendererd
            if($request->hasAttribute('mainRendererTemplate'))
            {
                //if the mainRenderer was used, add body to the renderer
                //and output to client
                $mainRenderer->setTemplate($request->getAttribute('mainRendererTemplate'));
                $mainRenderer->setAttribute('body',$body);
                $mainRenderer->setMode(RENDER_CLIENT);
                $mainRenderer->execute($controller,$request,$user);
            }
            else //otherwise, just echo the html to the browser
            {
                echo $body;
            }
        }
        else
        {
            $filterChain->execute($controller, $request, $user);
        }
    }
}

AggregateAction.class.php

/**
 * An easier way to add action chains to Actions
 */
class AggregateAction extends Action
{
    var $actChain = null;
    var $actNames = null;

    /**
     * Adds an action to the aggregate action chain
     *
     * @note params like ActionChain::register()
     */
    function addAction($name,$module,$action,$params = null)
    {
        if($this->actChain === null)
        {
            $this->actChain =& new ActionChain();
            $this->actNames = array();
        }

        $this->actChain->register($name,$module,$action,$params);
        $this->actNames[] = $name;
    }

    /**
     * Default template name
     *
     * @return string the template name
     */
    function getMainRendererTemplate()
    {
        return 'main.php';
    }

    function execute(&$controller, &$request, &$user)
    {
        //only execute this if we render to client
        if($controller->getRenderMode() == RENDER_VAR)
            return;

        $renderer =& $request->getAttribute('mainRenderer');

        if(!($this->actChain === null))
        {
            $this->actChain->execute($controller, $request, $user); 

            foreach($this->actNames as $name)
            {
                $renderer->setAttribute($name, $this->actChain->fetchResult($name));
            }

            $request->setAttribute('mainRendererTemplate',$this->getMainRendererTemplate());
        }
    }
}

MainTemplateAction.class.php (Example template action)

class MainTemplateAction extends AggregateAction
{

    /**
     * Initialize is used to add actions to the action chain
     *
     * @note It has to return true, otherwise processing will not continue
     */
    function initialize(&$controller,&$request,&$user)
    {
        $this->addAction('login','Default','Login');
        $this->addAction('nav','Default','MainNavigation');
        $this->addAction('cart','Cart','Show');

        return true;
    }

}

That’s all there is to it. The TemplateFilter has to be registered in the global filter chain and all my actions that might at some point be used to output the “body” into the main template extend MainTemplateAction.

The views don’t have to be modified, all the work of getting the renderer output into a global template is handled by the AggregateAction and TemplateFilter.

Setting the global template name in an Action with the getMainRendererTemplate() method is probably not very clean, but it all works like a charm for me and takes away a lot of the hassle of global templating with Mojavi.

The global renderer templates have to go into the YOURAPP/templates directory.

Please feel free to give comments on my approach in this forum topic.

Marketing

Finding stylish living in surrey condos

If you have been looking for a new place to call home then the planned community at Waterstone is certainly worth a look. Located on the border of Surrey and Langley Canada these surrey condos offer great modern living with amenities that will help keep you social and healthy. The Waterstone clubhouse contains a 17 seat movie theater and a 60 foot indoor swimming pool just to name a few of the amenities that you will have at your disposal. One of Surrey’s newest condo developments they have already won for innovative and sustainable living awards. If you just look at their website their condos and club house are beautiful. There are currently two styles that they are offering the Montage and the Promenade. The difference being whether you are looking for a one bedroom or two bedroom condo. So make 2012 the year that you find that dream place to live and play.

Mojavi Project

Java cloud and programmers

Tags: , , , ,

cloud_computingFor many programmers having the right servers and applications are key in successfully launching enterprise wide applications. The java application server can offer as suite of tools depending on your configuration that can provide testing and stability to programmers using C+ or coding in php language. Below we talk about some of the underlying comments and help files that are applicable to Mojavi 3 and the insight ot our developers have put together in order create a cross collaboration. You can receive java help online to help with programming and coding. which is an enterprise version of Apache Tomcat that can provide critical diagnostics, management, and site wide deployment tools to help those developers who need a lightweight server that offers performance and dependability.
Now on to the programming hints:
For now, all we need to use is the execute() method.
Creating the View

The class name should be in this format ActionnameViewtype View. Again Actionname is the name of the action in the module. Viewtype is the view type that was passed to the controller in the action. Both Actionname and Viewtype are capitialized. This is a list of the predefined view file types and their naming convention.
Internal Name Class and File Name
ALERT Alert
ERROR Error
INPUT Input
SUCCESS Success

Mojavi 2 users ; the naming convention on the file has changed slightly.There is a specific patch for java should you elect to include in your overall script, but make sure to test the script before making it live. Before there was an underscore between Actionname and Viewtype. Now, there is no underscore in between, and the Viewtype is capitialized.

For this example, I called my view FirstSuccessView and named the file FirstSuccessView.class.php.

Here’s the code

class FirstSuccessView extends PHPView
{
/**
* Execute any presentation logic and set template attributes.
*/
public function execute ()
{

// set our template
$this->setTemplate(‘FirstSuccess.php’);

// set the title
$this->setAttribute(‘title’, ‘Getting Started First Test Page’);

// set the message that is to be passed
$this->setAttribute(‘passedData’, ‘Hello World!’);

}

}

Template

You also need a template to display the information. I stayed with the naming convention and called my file FirstSuccess.php.

Here is the code for that
This is the result of my first test. I have created a module, action, view and
template. I have successfully passed data from the view to the template.

This is what I passed:
That is all for now.

Notice at the first and last line I include a header.php and footer.php. We used an application server that was able to handle the cross collaboration of various input paramaters in order to speed up our collaboration. I used this to show how you could have a uniform look across the entire site and how you could do that. Mojavi uses a global template directory in your webapp directory.For those looking for additional help with java you can find the java help center at liveperson.com. It is defineed as MO_TEMPLATE_DIR and it called templates. I added the following files to the includes sub-directory in the global template directory.
header.php

footer.php

Technology

Choosing the right industrial mixer

If you are in the business of manufacturing products and part of that process includes fluid mixing then finding the right industrial mixer can not only save you time, but save you money. Not all mixers are designed the same and we have come across a great graphic to show a simple 4 step process that can help you determine the type of mixer and blade to be used depending on the type of mixing needed to be done. In order to maintain consistent quality and improving efficiency having a solution that has been developed from the ground up rather than just be fitted from a previous design can make all the difference in the world. There are numerous impellers that can be used for your particular situation and depending on the application having the right blades will only prove beneficial to your overall project.