These are posts by David.

SMTP & Gmail

Sometimes someone else posts the definitive piece. Read this blog post by Lee Lukeheart, founder of Savvy Data, for the skinny on Filemaker and Gmail.

Pre-fill new fields with related data, quickly

Sometimes you need to add a field to an existing database that should have values for all the already existing records in the table.

Say you’ve added a new field on an existing database.

It’s not a calc field, but will have an auto-entered calculation field that will always be filled out.

For example, in the table People you add a field called “Full Name”. It’s a combination of First Name and Last Name fields which are in the same table.
= First Name & “ “ & Last Name.
You want users to be able to modify the combination, so it’s an auto-enter field and not an uneditable calculation. Easy enough, except that for existing records, there’s no value in the field for any of the existing records.

You could script adding data, using Replace[], or a Loop and Set Field[], but that can take a long time, especially if the table has a lot of dependencies, there’s a large record set, and / or you’re working on a served file. Instead you can leverage the power of the Filemaker’s storage and one little trick.

The trick is if you change a stored calculation field to a non-calculated (Text, Number, Date, etc) field, the values persist in the field.

Make that field a regular calculation field. Save out of Manage Databases. Filemaker then store the data and al your records now have the value you want, but in an un-editable calculation field. Re-open Manage Databases and change the field to Text, check the auto-enter calc box (the calculation should auto-fill) and Save out again.

Now you have a Full Name field where every existing record has the calculated value pre-filled in!

Additionally, this can work with related data.

If you want to pull the Full Name field from your Contacts table into an Invoice table, but have it stored, you would create a text field with an auto-enter calc that looks through a relationship based on INVOICE::fk ContactID <–> CONTACTS::pk ContactID.

To pre-fill all the existing records you again make it a calculation field, but since Filemaker won’t let you store a calculation that references related data, we get help from our friend Evaluate(). Wrap the related table field name inside an Evaluate()
= Evaluate ( “CONTACTS::Full Name”)

You can then store that calculation and save to exit Manage Database. Open Manage Database again, change the field to a text field, remove the Evaluate() wrapper and save to exit again.

Your  new auto-enter text field now has related data in all the existing records.

Migrating Word Press

We’ve got a few websites based on WordPress. They’re little sites and have been hosted with GoDaddy since launch. GoDaddy is cheap, cheap, cheap, and good enough for the sites we’ve had up. But we want to drive more traffic to those sites, take hosting control of a couple other more complicated sites, and get out from GoDaddy’s limitations.

We settled on a hosting reseller account through HostGator. That gives us room to expand and freedom to configure the server as we want.

This was fairly easy. We logged into cPanel and then followed the directions in this video here. The video is great and there’s no need to re-say here what they say there. Basically it shows how to set up ‘packages’, which determine how much space and bandwidth a particular site will get.

Then you can ‘Add a New Account’ in cPanel where you tell it the domain name and choose a package for its settings.

After we had the account for the new wingforward.net set up, we followed HostGator’s directions for moving a WordPress blog. (See here ).

Their directions are pretty good. We backed up the database, downloaded and uploaded the WP files, changed wp-config.php and imported the blog as directed.

Ta-dah! We now could go to our new IP address and see the site. However, the css wasn’t taking effect and the links all went back to our old site.

At the end of their directions HostGator has a little section on this very problem. They say you should log-in to wp-admin for your site and in the General Settings change the site url and home to the new address. We did this and then realized because we hadn’t changed the DNS name servers yet, we now had a loop happening which didn’t allow us to log back into wp-admin! In effect, we changed the old database instead of the new database. Now the new database was telling it to go to the old url and the old database was telling it to go to the new url! To fix this, we followed HostGator’s directions here. This meant logging into phpMyadmin for both databases and changing the url and home variables in both places.

Then we logged into the the new wp-admin and changed the links from ‘pretty’ links to the default setting.

Now we had wp-admin’s accessible for both versions of the site and the links were working, but our css still wasn’t taking effect. We looked at the page source and it was telling it the right link to the file. We tried uploading a new image and placing it in a new post. The wp-admin could find the photo just fine, but the page wouldn’t display it.

Finally, we thought to look at the Error log in cPanel. It told us over and over ” (13)Permission denied: /home/public_html/wp-content/uploads/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable” for this files and various other ones in the wp-content file.

After doing some web searching, we read of other accounts of there being problems with FrontPage, a WYSIWYG editor. We uninstalled it. CSS still wasn’t taking effect. Then we took a look at the permissions on the wp-content file. On the actual file they were fine, but the lower files with the themes, uploads, etc, were set way too low. So we changed the entire contents of the wp-content folder to 755 and all of its files to 644.

Now the CSS is working!

Magento Shipping with Matrix Rate

The client is running Magento 1.1.8.
Magento was installed and configured a couple years ago by another company. The client wants to change the way shipping is calculated.
There are three types of shipping each with a single fixed price:, Ground ($12), 2nd Day Air ($35) and 2nd Day Air Oversized ($65). Samples of the corresponding products are  jewelry, small pottery, and large pottery.
Products are stored in an external FileMaker Pro database. Every two weeks or so, the user exports a list of products from FMP to a csv. The csv is uploaded to the site by a custom PHP page. The PHP converts the csv into XML. The user then goes to the Magento backend and selects the XML through System–>Import/Export–>Profiles–>Import All Products–>Run Profile.
It’s unclear how the system is determining the shipping rates, but here’s what I believe. There is an extension, Matrix Rates, installed which can be accessed by System–>Configuration–>Shipping Methods–>Matrix Rates. The extension is the free version of a well-supported pay version that costs about $200. The extension works by selecting the Main Website as the scope and uploading a csv formatted to tell the extension how to handle shipping rates.
I think the previous web admin upload a csv telling Matrix Rates to look at product weights to determine the available shipping rates. During the product upload, the shipping type column in the csv is converted to a weight. In pounds, Ground becomes .5, 2nd Day Air becomes 1, and 2nd Day Oversized becomes 5.
The Problem we have to solve is that when two items at “.5″ are purchased, the only option is 2nd Day Air. The client would like the system to allow multiple small items to be shipped at the ground rate.
Problem Zero: Is my belief about the origin of the problem correct? Is the weight of products adding up and triggering the shipping options?
I tested by changing the weights of products and seeing what the shipping options are. Doing so confirms that’s what the problem is.

Possible solutions:
A) Reconfigure Matrix Rates.
B) Change product weights to allow multiple products.
C) A & B

Update to follow…

Rational descision making

An excellent list of how to rationally achieve a goal rationally…

1) Ask ourselves what we’re trying to achieve.
2) Ask ourselves how we could tell if we achieved it (“what does it look like to be a good comedian?”) and how we can track progress.
3) Find ourselves strongly, intrinsically curious about information that would help us achieve our goal.
4) Gather that information (e.g., by asking as how folks commonly achieve our goal, or similar goals, or by tallying which strategies have and haven’t worked for us in the past).
5) Systematically test many different conjectures for how to achieve the goals, including methods that aren’t habitual for us, while tracking which ones do and don’t work.
6) Focus most of the energy that *isn’t* going into systematic exploration, on the methods that work best.
7) Make sure that our “goal” is really our goal, that we coherently want it and are not constrained by fears or by uncertainty as to whether it is worth the effort, and that we have thought through any questions and decisions in advance so they won’t continually sap our energies.
8) Use environmental cues and social contexts to bolster our motivation, so we can keep working effectively in the face of intermittent frustrations, or temptations based in hyperbolic discounting.

Some links

Some good links for the week…

An analysis of To Do lists by 43 Folders.

This transcription of an old talk by Richard W. HammingOn scientists doing good work, but applicable in any field.

An explanation of why not all procrastination is bad.

A potentially interesting book on design.

And a business development book I’m considering getting for my sister and me.

Visit the “competition”

Karen Weaver at Desert Dog is a competitor and if you’re looking for custom FileMaker databases, I recommend contacting her.

Karen is not only a competitor, but she may be the ONLY other shop in the STATE of New Mexico doing FileMaker work.  Now that I write this I realize I haven’t actually seen any of her work, I’ve just discussed FileMaker with her. (Note to Karen: I’d love to compare dbs sometime). She knows what she’s talking about and is a trustworthy person.  That’s good enough for me for an endorsement.

“David”, you’re thinking, “why the hell are you advertising for a competitor???  How stupid is that??!”

“Well, friend, I have good reasons. And ‘stupid’ is a crappy argument. Like calling something ‘crappy’.”

Anyone spending any significant amount of money ought to check with three professionals.  Whether you’re looking to invest ten grand into a database or see a therapist or find a seller’s agent, you should find three professionals and get their free or nominally priced opinion before even considering one. Obviously, it will give you perspective on the task you’re trying to accomplish. But you also need to match your business and personal needs with that developer.

Obviously, you have specific business needs, like pushing data to the web, or managing rental inventory, or connecting to your company’s ‘big’ database.  And Karen and I have different specialties that may match those technical needs more effectively.

But the BIG mistake we make in forming service business relationships (and my friend, building a custom database IS a service business), is not recognizing that our personalities mesh.  It’s not necessary that the designer and the client like each other.  I crossed that out.  It’s not necessary, but it sure is helpful.  If not like, then at least be able to communicate effectively. We’ll be spending a lot of time together. Clear open communication is really important.

I don’t want you to be a client of mine, I want you to be happy client of someone.  If you’d be more satisfied working with Karen because you mesh better, then godspeed.

There’s only one way to find out.

A Very FileMaker Day

Today was a very FileMaker day.

I drove to Albuquerque to take the FileMaker certification exam.  I have been certified in FMP 9 since 2008, so I decided to catch myself up and test for both FMP 10 and FMP 11 in one go.  It was a grueling four hours…and I passed!

The FileMaker Pro Users Group meeting was that night and we had special guests…three staffers from FileMaker Inc.

I left the testing site to show up late to meet the FMI and the NM FMPUG crews at the Elephant Bar a couple blocks away from the Albuquerque Public Schools building.

Karen Weaver, Stephen Clark, Don Clark were there from the FMPUG group. Glen Suarez, Stephen Gallagher, and Alexi Folger from FMI (which graciously paid the tab for the table).

Glen, the regional account manager, started with his standard opening presentation and then Alexi, the engineer, took over to discuss FMGo. She’s one smart lady.

The three then took questions from the crowd and gave away some schwag.

Friday!

It’s a beautiful autumn Friday and we’re blogging here at Wing Forward.

What does that look like? Like this!


Low hanging fruit

There’s a lot of low hanging fruit out there. More than I can possibly pick.

Problem is, they’re all on different trees.

That makes it hard to be really good at picking one type of fruit, to form an identity around it, and that’s important to me. And maybe to you.

So I choose Filemaker as a niche. It’s one of many systems for organizing and presenting data. It has its good and bad points, but I know it well.

What’s your fruit tree?