mfLY! and MVC Part 1#
mfLY! for Visual Studio allows developers to build using many patterns, one of which is Model-View-Controller (MVC).  In this post I will focus on how the controllers load views in mfLY!.

One aspect of MVC in mfLY! I want to point out here is how navigation is handled.  In an MVC application it is the controller that decides what view to load, and mfLY! is no exception but it does it just a bit different. 

In mfLY! there are Workflow Directors and View Workflows.  If it helps think of these as a workflow controller and view navigation controllers.  Workflow Directors are responsible for controlling navigation between View Workflows.  View Workflow’s on the other hand control navigation between views.  So when an application starts it lets the Workflow Director choose what View Workflow to start and the View Workflow in turn decides what view to show.  Each action (i.e. button click) in the application that is registered with the View Workflow can trigger the View Workflow to load the next view.

View Workflows allow the developer to encapsulate different feature areas into a workflow.  An example of this may be having one application with an Inventory View Workflow and an Orders View Workflow.  Since views are decoupled from navigation they can be used across multiple workflows.

 

The Workflow Director creates each View Workflow on demand, but does have the ability to create all of the View Workflows at one time.

The View Workflows have a similar creation mechanism.  A View workflow can create views on demand, all at one, or one level ahead.  One level ahead means when a view is loaded the View Workflow analyzes the possible paths and creates all the views that could be the next view, this way the lag between views is less.  In many cases the best option is to create all the views for the workflow at once since a user will most likely be working in a feature area for a specific task.  Of course this all depends on how many views are in the View Workflow.

In a future post I will show how to leverage the mfLY! workflow engine to do business logic and much more.

Monday, November 10, 2008 12:23:21 AM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

SMTP Server Headaches and Solutions#
Recently Clydesdale Software deployed a new site which heavily leverages the sending of emails.

My first approach was to run our own smtp server which in the end turned out to be a headache with spam and blacklists.

Next, was using the clients existing smtp which they pay a service company for. This service company only allows so many emails to be sent each hour. So another no go.

The solution, redundant smtp servers and a pay for smtp server. The first attempt to send an email is done by AuthSmtp. AuthSmtp is an affordable service which makes it very easy to upgrade and downgrade your service level that is based on how many emails you send. The second smtp server is the one the client has that only allows so many emails per hour. And the secret sauce, Advanced Smtp Server which lets you define multiple smtp gateways and will try each one in order. It also uses a queue and the messages will be retried to send if a failure occurs.

Friday, October 31, 2008 7:09:31 PM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

Migrating Access's DateValue to SQL Server#
Just came across a very annoying bug when migrating from Access to SQL Server.

Access's base date is December 31, 1899 which is represented by the serial number 1. If the existing queries are using the DateValue function this is very important.

SQL Server's base date is January 1, 1900 which is represented by the serial number 0.

So, when migrating from Access to SQL Server and the existing Access queries use DateValue you may have to do a hack around like I did, create user functions for DateValue and CDate that add 2 to the serial number.

You may ask, who cares if the float value of the datetime is off. Well, in this case there are people connecting via excel which also uses the DateValue function and expects the same base date as Access.

To recap, Access and SQL Server have different base dates and SQL Server is zero based while Access is one based.

Fun, Fun

Monday, October 20, 2008 7:44:16 PM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

Thanks for the heads up MSN Messenger!#

MSNOther.jpg

Thursday, February 21, 2008 2:59:48 AM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

The Measure of Success#

For a fun conversation gather your team and include people from marketing, sales and any other area of your company and pose these two questions:

  1. Why is the measure of success important?
  2. What is the measure of success?

You will get some great responses ranging from “The first question is just stupid” to some very enlightening answers.  Let everyone voice their opinions then put in a few ground rules.

  • The measurement has to be something the individual can directly effect.
  • The measurement has to be something that can be measured regularly.

After putting forth these guidelines the responses from people should begin to change a bit.  Instead of hearing measurements like revenue you will start hearing measurements like sales deals closed this week or new clients for the week.

The purpose of the conversation should be clear by the end.  Each individual will leave having a better understanding and appreciation for each role in the company.  Another beneficial side effect of this conversation is each person will find ways to help others achieve their goals (even if they do it with knowing it).

Thursday, October 18, 2007 1:13:54 AM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

VMWare Workstation 6.0 not Recognizing USB devices#

I ran into an interesting issue yesterday, usb devices were not showing up in my VM.  I decided to disable the Windows Firewall and it started working.  Next I  brought up TCPView and saw that tcp ports 49515 and 49516 were being used by VMWare Workstation.  In the Windows Firewall Exceptions I added the ports and the VMWare Workstation program and everything works with the firewall turned back on.  Problem solved!

VMWareFirewall

Wednesday, October 03, 2007 4:14:39 PM (GMT Standard Time, UTC+00:00) #    Comments [0]  | 

 

All content © 2008, John Luif
On this page
This site
Calendar
<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
Archives
Sitemap
Blogroll OPML
Disclaimer

Powered by: newtelligence dasBlog 2.1.8102.813

The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Send mail to the author(s) E-mail

Theme design by Jelle Druyts