Developing New Paths - The Mojavi Project

Archive for January, 2012

Mojavi Project

January 31, 2012

Creating your first module with extensions

Tags: ,

Creating Your First Module
A work in progress

This tutorial is a work in progress, so you may find parts that don’t completely fit together.
Module where we will also look at various file extension cache options.

The module is where the Model and View takes place in the MVC model. For this first example, we will create a very simple module that will move data from a Action to a View and display it on the screen, through a template.

The module is contained within a directory that carries the name of the module. This resides in the modules directory of the webapp directory. Inside the module directory are sub-directories holding the classes that make up the module. Here is the directory hierarchy:

webapp
|
|—modules
|
|—moduleName
|
|—actions
|
|— config
|
|— lib
|
|— models
|
|— templates
|
|— validate
|
|— views

Minimally, you need the actions, config, templates and views directories. However, I prefer to have a blank module created and just copy and rename it. You can get a copy of the blank module (link to be added). I have chosen to call this module Test

Each module must have a module.ini file in the config directory. If you are looking to buffer your files then file extension cache extensions may be helpful.Here is the module.ini for Test

; +—————————————————————————-+
; | This file is part of the Mojavi package. |
; | Copyright (c) 2003, 2004 Sean Kerr. |
; | |
; | For the full copyright and license information, please view the LICENSE |
; | file that was distributed with this source code. You can also view the |
; | LICENSE file online at http://www.mojavi.org. |
; | ————————————————————————– |
; | MODULE INFORMATION FILE |
; +—————————————————————————-+

[module]

ENABLED = “On”

TITLE = “Getting Started Test Module”

VERSION = “0.1″

NAME = “TestModule”

AUTHOR = “Richard D Shank”

HOMEPAGE = “http://www.mojavi.org”

DESCRIPTION = “A test module”

The module is pretty self explanitory. You can also search the web for various file extension cache options. It is necessary to have ENABLED property set to “On” for the module to be used by Mojavi. Now that we have the module set up, we can work on the classes.
Action

The Action class handles the request for the module. It can be as simple as handling a static html template or a full blown multi-page wizard style form. Just a note to Mojavi 2 users, a significant change from Mojavi 2 to Mojavi 3 is that it is not longer necessary to pass the controller, request and user classes in on many of the methods. These are now accessed through a context class. More on that later.

This is a list of the methods you can use in an Action and an explanation of what they do
execute ()

Note: This method is required in your Action class.

This will execute any application/business logic for the action. This method is reached only after the request methods have been checked and any of the parameters have been validated.

When leaving, the execute() method should tell the controller what view is to be used. This is done by returning a string containing the view name associated with the action or an array of the parent module for the view to be executed, parent action for the view and the name of the view. I will show an example of return both in a later tutorial.
getCredential ()

This is a new feature in Mojavi 3. Basically, a credentials are a privilege array that describes any level of security. They work hand in hand with the security aspects of the User class. For Mojavi 2 users, note that this replaces the old Privileges. But it is also important to know that it can do more than just handle privileges. I will handle the usage of creditials in a later section. For now, it is sufficient to know that we set the creditial requirements for the action inside this method and that it is set to NULL by default.
getDefaultView ()

This is the view that will be executed when a given request is not served by the action. This could happen when a form being displayed for the first time or if we are displaying a static page.

Again, just as with the execute() methoad, a string with a view name or an array of a module/action/view is passed back to the controller. By default it will pass back View::INPUT
getRequestMethods ()

This method will determine what types of requests will be recognized. There are 4 choices:

* Request::GET – Indicates that this action serves only GET requests.
* Request::POST – Indicates that this action serves only POST requests.
* Request::NONE – Indicates that this action serves no requests.

You can also select both GET and POST requests by using Request::GET | Request::POST
handleError ()

Execute any post-validation error application logic.

It also returns the view through a string of the view name or the array of a module/action/view. By default, it passes View::ERROR.
initialize ($context)

You can set up the Action in the initialize() method. In a later tutorial, I’ll give an example of doing this. NOTE: It is worth to note that you must handle the context in the initialize() method. You should do this by

parent::initialize($context);

You also need to return a TRUE or FALSE based on the success of the initialization. By default it is TRUE.
isSecure ()

Does the action require security? TRUE if you do, FALSE otherwise. It is FALSE by default.
validate ()

This is used to manually validate input parameters instead of using a pre-progammed validator. This will also be explain later in the tutorial on validation.
Creating Your First Action

Now that we have an overview of the Action class, we can move forward to creating our first Action. For this example, there isn’t any request to be handled so we can set up a minimal Action.

In naming an action you must use this format Actionname Action.class.php where Actionname is what you are calling this particular action. When you declare your class, it also must have the class name in the same format Actionname Action. For this example, I chose to call this FirstAction.

When creating a new action, at the very least, there has to be an execute() method, even if it does nothing. Also, since we are displaying a non-request page, we don’t need to process any request. We tell the controller this with the getRequestMethods() method, by setting the return value to Request::NONE. Finally, we also need to tell the controller what the default view is going to be. We do this by returning View::SUCCESS in getDefaultView().

Here is what my FirstAction.class.php looks like. I basically just took my BLANKAction.class.php, renamed it to FirstAction.class.php, renamed the class to FirstAction, removed the methods I didn’t need and set the remaining 3 methods to match my needs.

class FirstAction extends Action
{
/**
* Execute any application/business logic for this action.
*/
public function execute ()
{
// we don’t need any data here because this action doesn’t serve
// any request methods, so the processing skips directly to the view
}

// ————————————————————————-

/**
* Retrieve the default view to be executed when a given request is not
* served by this action.
*/
public function getDefaultView ()
{
return View::SUCCESS;
}

// ————————————————————————-

/**
* Retrieve the request methods on which this action will process
* validation and execution.
*/
public function getRequestMethods ()
{
return Request::NONE;
}

You can also return a view from another module. You do this by passing an array with the view information intead of the standard View::INPUT. When you use this you create a two element array. The first element is the module name. The second element is which view you want. It cannot be just the Action name, but the Action name with the specific view.

Here’s an example:

class MyClass extends Action
{

function execute()
{

$returnView[0] = MyModule;
$returnView[1] = DoSomethingInput;
-or-
$returnView[1] = DoSomethingError;
-not-
$returnView[1] = DoSomething;

return $returnView
}
}

View

I’ll add more to this later, describing the View class.

Mojavi Project

The decorating Pattern

Tags: ,

Before we begin we wanted to provide a quick insight into some of the open source files that we use and came across a file extension DOTX which is native to MS Outlook using XML. This particular file type DOTX was instituted to secure the protocol in which MS was written only giving limited source to outside vendors. We give a brief update to help you understand the open source nature of Mojavi 3.0.

  • Enter Decorator
  • Insert Here: Slots
  • Let’s Decorate!
    • Creating a Global Template
    • Putting the ornaments up

Ever since Mojavi 3 was released earlier this year, people have been looking to create a flexible global templating solution. From using post filters to page controllers, people have been looking for a way to create simple and managable global templates that will allow for a great deal of flexibility without compromising the need for larges amount of duplicated code.

Enter Decorator

The Decorator design pattern, like every other pattern, is nothing more than a way to talk about a resuable concept, or pattern, that a programmer might encounter while coding applications. The Decorator pattern’s strength is it’s ability to serve as a wrapper for that particular object, while leaving objects like it in tact.

The Decorator pattern has been implemented in the View class, providing a number of new methods:

public function setSlot ($attributeName, $moduleName, $actionName)
public function setDecoratorDirectory ($directory)
public function isDecorator ()
protected function & getSlots ()
public function getDecoratorTemplate ()
public function getDecoratorDirectory ()
protected function & decorate (&$content)

Now a brief explanation of what each of these do:

  • setSlot – Creates a slot entry based upon the results of a specially controlled controller->forward()
  • setDecoratorTemplate – Sets the template that you’re going to use for your decorator. This method also automatically turns the decorator switch to true
  • isDecorator – returns true is setDecoratorTemplate has been called, otherwise false.
  • getSlots – Returns an array of the slots.
  • getDecoratorTemplate – Returns the decorator template.
  • getDecoratorDirectory – Returns the decorator directory.
  • decorate – A method that must be implemented in derivate Views.

Note: these functions are in View, so all derivates of View (ie PHPView) have access.

Insert Here: Slots

Slots is a new name for an old concept. More or less, slots serve as placeholders that can be populated by the results of a $controller->foward($mod, $act) call. And, as you can see, the setSlot method takes three parameters:

public function setSlot ($attributeName, $moduleName, $actionName)

The first parameter, $attributeName, serves as the name of the slot. The next two parameters will be used to get the results of that Action, put it in a buffer, and place it into the internal $slots memeber variable.

Let’s Decorate!

The usage pattern of Views changes little with the implementation of the decorator pattern at the module level (though secondary View authors, ie SmartyView et al, do have a few things to play with).

Now let’s look at what you’re going to need to do implement the new, and NEW decorator features of Mojavi.

Creating a Global Template

First off, we’re going to need a great big christma..ehh..template to decorate. While I won’t get into breaking down and factoring our global template, keep in mind that this is not the only way to do this.

Example 2: The Christmas Tree (myGlobalTemplate.php)

Side note: Sometimes you'll have issues with that <?xml [....] ?> declaration, an easy
workaround is to disable short tags in your php.ini file, or to use ini_set() to disable
 it.

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">

<head>

    <title><?php echo $template['title']; ?></title>

    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <style type="text/css" media="all">

        <!--Css slot-->
        <?php echo $template['css']; ?>

    </style>

</head>

<body>

<!--menu slot-->
<div id="menu">

<?php echo $template['menu']; ?>

</div>

<!--main content slot-->
<div id="main">

<?php echo $template['content']; ?>

</div>

</body>
</html>

Putting the ornaments up

So now that we have our decorator template, we need to decorate it. The decorating process is fairly simple, and consists of the following simple steps:

  • Setting the decorator directory using setDecoratorDirectory() (Optional)
  • Setting the decorator template using setDecoratorTemplate()
  • Setting slots setSlot()

For example,

Example 3: In the View (IndexSuccessView.class.php)

class IndexSuccessView extends PHPView
{

    public function execute ()
    {

        // set our template
        $this->setTemplate('IndexSuccess.php');

        //setup our decorator template
        $this->setDecoratorDirectory(MO_TEMPLATE_DIR);
        $this->setDecoratorTemplate('myGlobalTemplate.php');

        //setup our slots
        //(SlotName, Module, Action)
        $this->setSlot('menu', 'Content', 'PopulateMenu');
        $this->setSlot('css', 'Content', 'PopulateCss');

        // set the title
        $this->setAttribute('title', 'Default Action');

    }

}

Now you might be wondering where the content slot is being populated. Well, content is a reserved slot that is automatically populated with the output of the originally requested Action/View pair. So in the end for file extension DOTX type coding you will need to have the right drivers in order to help your various programs communicate.

To be Continued..

Technology

January 30, 2012

Brand managers and business developers need GeoProxy

Tags: , ,

If you are responsible for brand advertising or business development for your business then you need to check out Geo Proxy from GeoSurf. This simple toolbar solution allows to check traffic, advertising, and affiliate activity across the globe from your office in just a few clicks. It allows you to view advertising from around the globe in just a simple click. It will save you valuable time and money on research, QA, testing and monitoring so that you are able to quickly identify hotspots and invest in markets quicker. They offer secure, private, and fast service so that their customers are able to conduct their business and research without all the headaches.  Some of the key activities that are enabled include:

Uncover Affiliate activities in any country: Lets say you have a product that you allow affiliates to sell. You have specific guidelines on keywords that can and cannot be used. By using the Premium proxy from GeoSurf you can easily do a search in country and you will see the end user sees. This is also a great way to see other publishers activities and uncover some new partnerships

Discover competing bidders: You can easily see who is bidding on your specific traffic sources and how they are doing this country by country giving you a huge competitive advantage to change and modify your campaign for that specific region. You can also see the conversion tracking of the ads and what the landing pages look like in a quick and simple snapshot.

Validate your campaigns: Using Geosurf you can see how your campaigns are showing up in specific regions and where they fall in the overall market for your intended customers. This way you can make sure that you are getting the most value for your marketing dollar.

Here is a quick video to help you understand the power of GeoProxy:

YouTube Preview Image

Mojavi Project

User Authentication for Mojavi

Tags:

Mojavi provides two levels of security to control access to actions: the first requires the user to be logged in, the seconds checks for a specific privilege. There are various drivers that you may need on your PC if your are planning working in offline PHP mode in order to have the translations from the source code to the operational values to work.

Basic Authentication

For basic authentication, the following three methods are of importance:

User::setAuthenticated()
User::isAuthenticated()
Action::isSecure()

To implement an action that only logged in users can access, simply overwrite the Action::isSecure() method in your action:

function isSecure()
{
    return true;
}

This will instruct the controller to check $user->isAuthenticated(). If this method returns false, the request will be redirected to the AUTH_MODULE/AUTH_ACTION defined in the configuration file (default is Default/Login/drivers).

You can implement the Default/Login Action to call $user->setAuthenticated(TRUE) if a valid username and password was entered.

Privileges

Privileges are used to differentiate between logged in users. The following methods are important:

User::hasPrivilege()
User::addPrivilege()
Action::getPrivilege()

In addition to Action:isSecure() also overwrite the Action::getPrivilege() method in your action:

function isSecure()
{
    return true;
}

function getPrivilege()
{
    return array('ADMIN');
}

The controller will check if the user has the specified privilege and redirect to the login module/action if this is not the case.

The User::addPrivilege() method can be used to grant a user a certain privilege.

Please have a look at the PrivilegeUser class for more information. You will also want to make sure that any Windows Vista Drivers are up to date on your PC side to help rule out any coding errors due to Java or PHP errors. This tutorial includes a good example of user authentication in action.

Mojavi Project

Installing Mojavi 3

Tags: ,

Installing Mojavi 3

As a note we had a firm that was installing this architecture to run in addition to their facility management software and wanting to make sure that network protocol being used was up to date. As of this writing the developers have been keeping all language and coding inline with the latest C+ and ASCII formats in order to allow for cross collaboration.
First thing

Obviously, you first need to get a copy of the Mojavi 3 source. You can get this from the mojavi.org download page in one of two forms. It can be downloaded as an archive or from the Subversion repository (SVN).

Technology

January 29, 2012

Use Somoto toolbar to increase your reach

Tags: ,

For many small to medium sized companies getting their brand and product in front of customers can be a challenge in this highly competitive market. Many businesses are turning to social marketing in order to connect with and gain input from their customers. This is a great resource if used correctly and not overly promotional. Customers want to know that you care about them and that you are able to offer them value beyond just the software or services that you are are selling. So that is why I was intrigued by the new Somoto Toolbar which allows businesses brand their own search tool bar. The beauty behind this is that it is something you can offer free to your customers and it keeps your brand and company top of mind.
Your customers can use the new Somoto toolbar to stay in touch with their friends via Facebook and Twitter while listening to their favorite radio station. They receive status updates about their friends and who is online without having to switch over their favorite site. This then gives your business the ability to subtly have suggestions in the search bar about your latest products or special deals that you are running. It is completely free and is safe to use as it does not contain spyware,adware, and spam free.
For bloggers and small businesses you can use the Somoto toolbar as way to increase search engine traffic and help increase affiliate earnings by some simple adjustments. So when your customer is doing searches they will pass through and see your affiliate offerings towards the top of the page. Can you imagine the power and freedom you can have by just simply giving away a free toolbar to make your customers lives easier and helping your business in the process. It allows your customers to share their toolbar and spread the word so they help you grow your exposure through word of mouth which is still one of the most powerful marketing tools you can have. With their complimentary services you can use their hosting solutions to reduce your server overhead. Use their extensive built in network of distribution partners to grow faster and reach more businesses and customers. Take full advantage of their complimentary landing pages to increase your conversions. So no matter what your goals are the value cannot be beat and should be a consideration in you 2012 marketing plans.

Technology

January 27, 2012

Using a stock control system to improve your business

Being successful in sales requires always being able to ask for the business and having the right information at the right time to help your customers understand why they should do business with you. I worked in copier sales for 7 years and we worked off sales leads and cold calls to gain business. At that time we had no CRM or stock management software that actually linked the customers we were calling on to a main application or that helped to manage our warehouse of parts and incoming shipments. This had it’s drawbacks if we had someone leave the organization and their record keeping was less than stellar. This basically meant we were starting all over in that particular geography.

Having a stock control system that integrates these functions and makes them available on a web based interface can help improve the profitability and efficiency of your business. By having a stock management software solution your teams can know which products are available and better identify upsell opportunities. Management will know which products are most profitable and which products are not moving at all with a simple glance. You can increase your speed and response to your customer allowing you to capitalize on market events without having to stop and lose precious time and momentum.

Uncategorized

January 25, 2012

Improve your office space with the Pimp My Cube contest

This is a Sponsored post written by me on behalf of Contest Factory for SocialSpark. All opinions are 100% mine.

Programmers work areas are notorious for being cluttered, messy, and just a plain old disaster area. If you are coding the last thing that you are concerned about is papers or binder on your desk and those food containers that have been growing various molds. Well now is your time to have a cubicle makeover by entering the Pimp My Cube Contest now. The contest ends 1/31/2012 at 12 PM. All you need to do is upload a short funny video of your workspace and then let your friends and family know and have them vote on your video. The top prize could one of the following:

High End computer system

Or

New Office Furniture

Or

New entertainment package including a high end stereo and espresso machine

There are not a lot of videos on the site now so you have a better chance if you get on this today and get your  uploaded. Remember to alert your friends and co-workers on your video because each vote gets you more chances to win. There is a second place prize that is drawn at random for a $200 gift card which is nothing to laugh at for a simple video. If you enter drop us a note before the contest ends and we will check it out and cast our vote. We will even post a link through our Twitter feed to help all the contestants.

Good luck everyone!

Visit Sponsor's Site

Blogging

January 19, 2012

An industrial mixer designed for your needs

If you do a quick search for an industrial mixer you will find hundreds of different types of solutions available depending on your industry and particular needs. Many of the mixers that are available are off the shelf products that are modified to one application and then fitted with a different agitator to help in the mixing process. The team at Dynamix Agitators has taken this one step further by offering a Solutions Assurance guaranty. This means you will work with their Sales Engineer in order to put together a solution that is specific to your exact needs. With six distinct Mixer models you will find a one that will meet your needs. This wider line of products will help assure that you will have the parts and mixers needed should your project expand and you need additional capacity.

Marketing

Organize and Simplify your social networks

Tags: , , ,

Like many of our readers we belong to multiple social networks like Twitter, Facebook, LinkedIN, and more. While these are all great tools to help you stay connected with old friends and make new connections it can be a challenge to keep all those locations updated. We just had the chance to find and explore a new tool that can simplify and organize all these social networks into one application. The site is www.orsiso.com which stand for Organize, Simplify, Socialize which uses a new platform called SocialCraft™ which is an adaptive algorithm tool that can help you stay in contact across multiple platforms. Osiso will help you stay connected across networks like facebook,twitter,Bebo, friendster, and Flickr just to name a few. Plus you can integrate IM chat profiles like Yahoo, AOL, and MSN to be in constant contact at all times through one simple interface.

socialmediaOrSiSo has several unique features, including:

· Single status update for all networks, choose the same status or a different one for each network.

· Awesome photo album browsing and viewing

· Pop-up notifications to let you know when new information is added

· The ability to merge friends who have profiles on multiple networks into one contact

· Grouping of friends into different levels of closeness so you can filter the information that is most important to you.

All you have to do is download the software here from Orsiso.com and you will be up and running in just minutes. We are going to be testing this out over the next few months and then keep updated posts on how this new tool is progressing.

Blogging

Creating content

When developing blogs and websites online the number one rule to drive search traffic is having timely, relevant, and updated content. Through the development of various platforms like Mojavi the goal has always been to create a network of developers that can contribute and enhance an open architecture. With so many sites and blog starting up every week on the web the need to create a niche is becoming more important along with content. That is why I am always looking for sites like outdoorbasecamp.com where they specialize in outdoor review content and create a community where others can contribute. You can see and participate in their forum to share your thoughts and experiences with others and gather suggestions from other outdoor enthusiasts.
They have created timely and fresh content on various outdoor activities and this will lead to a loyal customer and attract local and national experts to contribute to their site. As their success builds the search engines will pick more of their content and this will increase traffic and help them grow their brand. I can see that they will become a point of reference for some of the more popular outdoor activities like kayaking, biking, and spelunking.

Blogging

Surrey Condos a Masterplanned Community

The Fraser Valley located on the border of Surrey and Langley in Western Canada is home to the newest Surrey condos, a masterplanned community called Waterstone. Offering high end features like granite counter tops, stainless steel appliances, and a 15,000 square foot clubhouse. The clubhouse offers a place to get together for a BBQ, a fitness area, and a 60 foot indoor lap pool. Located close to nearby shops and local restaurants you can now avoid the hassle of traffic and walk to local attractions. The Waterstone offers all the amenities you will need and offers a cozy atmosphere to get to know your neighbors and create a community. There are so many advantages to living in one of the newest condo masterplanned communities that they are now becoming more popular as people are looking to reduce their travel time to and reduce their maintenance costs of their home.

Technology

January 18, 2012

Use ecommerce software to help your business

If have ever wondered how people make money by selling online through auction sites such as eBay you are not alone. There are hundreds of books and seminars that you can attend that will teach you the secret of the pros. What they don’t tell you is that the market is very competitive and if you are not careful you can invest a lot of money and not make a dime. You will pay these seminars several $100′s of dollars to learn stuff that you can get for free on the internet. You will need a robust ecommerce website builder that will be easy for your customers to navigate and make purchases.

We have been researching various sites that cater to online ebay sellers to help create customized solutions. They provide a great resource on the do’s and dont’s of online selling. You can find some great ecommerce software that will allow you to setup your own store and drive traffic from eBay. Start out small, and then grow your business from there. Don’t try and get to the $100K mark your first month, as it will take time to evaluate the market and see what items sell the best, and more importantly which items are more profitable. If you are selling 1000 purses a month, but only making $2 per item, you are spending a lot time for little pay off. Research and use those free resources, and who knows maybe one day you will be holding your own seminars.
With the right ecommerce web design you can look like a big name company and start creating customer loyalty. I started selling odds and ends online a few years and thought I was going to make a serious business on it but found the inventory and pricing was so unpredictable that it was tough to see how much I was actually making. Trying to set up my online store I realized there was more to the solution than what I had at my disposal. Again these revenue streams can be significant if you have the traffic. So I am still developing my business solution and slowly growing our customers through blogs and various other traffic sources.

Marketing

January 17, 2012

Family Saver

 

Thanks to Darwin Barton

I love my family more than anything in the world and I’m really working hard to try to save us enough money this year to surprise the kids with a trip to Disney World . They’ve never been and I’d love to take them while they’re still young and the magic will still be in full force you know what I mean? I researched Texas electricity providers and switched which has saved us a few hundred bucks and I’ve started using coupons when I go to the store, too. I also have sold some of the girls’ old baby clothes on Ebay as that’s been a nice way to bring in some extra cash – my husband doesn’t know about any of this by the way. I want him to be just as surprised as the kids when I tell him about my little plan and he’s going to be shocked when he knows I’ve saved us thousands without any changes to our everyday life! That’s the way to do it.

Blogging

January 14, 2012

Why I Had A Big Family

Tags: ,

While I’d like to start off by saying something deep and impressive like “I always knew I wanted to have a big family because…”, I really can’t. You see, I never really intended to have six children, but neither did I want to have a small family. I just knew that I wanted to have children and that was that.

I had my first child and it was a wonderful experience. I knew I wanted more. There was no plan that had been developed and set in stone for a future family and it had never even come up for discussion. Me and my husband just took things one day at a time and lived our lives that way. I know that most couples sit down and discuss future goals together, but I had met my match and we both took things as they came and dealt with them on the spot.

I always felt that more children would be welcomed into the family when I was younger and didn’t do much to try to stop the pregnancies. There was some measure of birth control, but it was haphazard at best. What would come would be loved and welcomed.

Me and my husband were living in a two-bedroom apartment and having the first girl was wonderful. When the second and third children appeared, two boys, we were waiting for our townhouse to be built and had to put up the three children in one room. We had one set of bunk beds for the two oldest and a crib for the baby. There wasn’t much room in that bedroom at the time, but there sure was a lot of love, fun and frivolity.

By the time the fourth in the fifth, two girls, arrived on the scene, we were well established in our townhome and had two sets of twin bunkbeds set up. Clothes were passed down from the oldest to the youngest and friends in the neighborhood donated clothes that their children had outgrown as well. It wasn’t uncommon to go out for groceries in the afternoon and come home to 2 garbage bags full of clothing set out on the front porch. Sometimes we never found out where they had come from, but they were very appreciated.

When the sixth child arrived I had a feeling that I had never experienced before. I felt full. I was satisfied. There was an inner peace that I simply cannot describe deep down in my soul. I knew that my baby days were over and that I was done.

I never regretted for one day having a big family. While somehow I went from cooking for two people to cooking for eight at every meal, I somehow lived to tell the tale. Looking back, now that I only have two older children left in the home, I don’t know how I ever did it. It seems surreal to me now to house six children and two adults in a small four-bedroom townhouse, but we did it with bunk beds. It seems unreal to think about all the meals prepared, the clothing provided and the other basics and luxuries that we were able to give to our children.

Would I do it again? Would I have a big family if I was starting over? You bet! The biggest thing that I was able to provide for my children during all these years was the company of siblings and the ability to grow up in a home that was always filled with love.

Uncategorized

January 13, 2012

Walgreens offering discounts to it’s customers

This is a Sponsored post written by me on behalf of Walgreens. All opinions are 100% mine.

In 2012 the battle for the consumers health care dollar continues to grow. This is evident by the expansion of pharmacies like Walgreens to be where there customers are and provide a service that will enable to have a one stop shop for their health care needs. All pharmacies deal with most major insurers and pharmacy benefit plans in order to help their customers get the medicines prescribed by their local HCP’s. Currently Walgreens and Express Scripts are in a a disagreement about their current contract. This only impacts the patient in the end that has developed a relationship with their local pharmacist and now be forced to find another pharmacy if an agreement cannot be reached. Walgreens has been trying to do everything they can to help their customers in light of this situation like offering a special Prescription Savings Club at Walgreens now through the end of January for those customers impacted.

If you are a Walgreens customer and have Express Scripts as your pharmacy benefit manager then you can help voice your opinion by following Walgreens on Facebook and Walgreens on Twitter. This situation also impacts those customers who are on Tricare which is the prescription plan and health plan for those in the military both active and retired. Voice your opinion and do not let your choices be limited by a need to increase profits.

Visit Sponsor's Site

Technology

January 10, 2012

A paint agitator for plastic or stainless totes

The original ITM (integrated tote mixer) was designed for the automotive industry in order to provide a high level of consistency across various paint mixes. With the need to have a paint agitator that would provide the same level of consistency across various industries the design has been adapted to both stainless and plastic totes. The advantage of the ITM system is that you can mix and match drive and agitator systems so that you can have one solution for many applications. Companies are looking to simple solutions that can be applied across different areas of their business and this is what Dynamix and the integrated mixers that they have designed offer today’s companies.

Mojavi Project

Where to start with Mojavi 3

Tags:

In order for Mojavi to continue we are looking for a few good web programmers to help with the last programming pieces and contribute to the forum. There are tons of web developer jobs that are currently available online and we know that many are well paid positions. Because this is an open source code this would be for the good of the development community.
Finally, there are a couple of ways you can test this module. The first and quickest way is just to instruct the controller using the url. Just add the module and action. Here’s what it would look like http://yourserver.com/index.php?module=Test&action=First.The second way is by changing the default module in the settings.ini file in the webapp/config directory.

Under [.actions] you will find the default module. Find the following two lines and change the default module and action.

DEFAULT_MODULE = “Default”
DEFAULT_ACTION = “Index”

After you change the default module and action it should look like this

DEFAULT_MODULE = “Test”
DEFAULT_ACTION = “First”
You are now ready to test your code. Just point your browser to the index.php and see the fruit of your labor. Contributing Author By Richard D Shank