Kent

This user hasn't shared any biographical information


Posts by Kent

Dynamic Menu topic posted in Solutions

The details of the main presentation from the Sept 24, 2010 meeting – Dynamic Menus – has been posted in solutions.

Kent is the developer and has access to all layouts.

Brad and Angelina have their own list of layouts allowed by their security group. Each instance of the menu is on the same menu layout, updated dynamically depending on the current user.

This is an advanced topic involving scripts, repeating global fields, the security model, and conditional formatting.  Building the solution had many of us scratching our heads, but the benefits of the end result were obvious and exciting.  Please read through the solution and you’ll find that it’s not that difficult.  The hard parts are provided for you in the downloadable demonstration.

Dynamic Menu – Part 1

Here are the details of the main presentation from the Sept 24, 2010 meeting – Dynamic Menus.

As you know,  FileMaker is a database platform that combines a robust user interface with database tables.  If all you’ve ever used is FileMaker, this fact may not be obvious to you.  If you’ve worked with databases such as Microsoft SQL or MySQL, you know that there is no interface for the end users to manage data in a meaningful way.  You have to create a separate environment using authoring tools such as Visual Basic or PHP and a web server.

Think of the most common “database” – a spreadsheet.  The interface for the information in the spreadsheet is a grid.  There aren’t many tools for structuring the information.  There are tabs for different worksheets, basic cel formatting, unintuitive formulas for calculations, and commands buried in the menus for sorting.  Spreadsheets are a cumbersome environment for designing forms that link data to other parts of the database.

By contrast, FileMaker offers a native method for structuring information.  It’s called the Layout.  Layouts display any information that you choose to place on the layout.  Layout A can be a form that forces the user to enter information in a specific order, and Layout B can be a list of all the forms and the information that was entered.  The information on each form is the same, just displayed differently for different purposes.

That fact that the raw data is displayed on layouts in FileMaker is what makes it an attractive platform for department managers and non-technical users who need a fast learning curve.  It’s also what drives database purists crazy about FileMaker.  SQL guys like the data “abstracted” from the interface so it can be used in any interface authoring environments.  FileMaker data can be used in other interface authoring environments, but that’s a subject for later.

In this group we accept that FileMaker is a pure database engine tied to an integrated user interface system.  Still, we can go a little “layout crazy” when Sally wants a layout that only shows her information and Bob wants a layout only for his information.  We find ourselves making dozens of layouts displaying the same data simply to meet the work flow and security rules.  There’s no way around that if we want to make our co-workers and clients happy.  Why would we force users to interpret information when it’s so easy to make a layout that renders a pleasantly formatted set of fields with buttons to take specific actions from that point in the work flow?  We wouldn’t.

But that doesn’t mean we have to struggle with a long list of layouts and update every previous layout with a new button that navigates to new layouts we’ve placed in the database.  There is a way to create a universal layout navigation menu that automatically updates itself when you add new layouts to the system.  The Dynamic Menu can also change depending on who is logged in.  The purpose of the Dynamic Menu is to save you time as the developer and promote consistency for the users.

Please watch the following video to see how the Dynamic Menu works.

Dynamic Menu – Part 2

Dynamic Menu works by storing the names of the layouts in a global repeating field, and then displaying the numeric instance of the repeating field to generate a series of buttons with titles that match the layout names.  Clicking the button passes the contents of the field repetition to a script as a parameter.  The scripts reads the parameter and goes to the corresponding layout by calculation.

The heart of Dynamic Menu is a script that runs at login to determine what layout names to populate in the repeating menu field.  The layout names that populate the menu names field are filtered by a couple of conditions.  a) does the current user’s privilege set allow them access to the layout.  b) does the name of the layout begin with special characters that prevent it from populating the layout menu.

Let’s get started.

If you don’t already have a table in your FileMaker database for storing system wide data such as preferences, you’ll need to make one.  I like to use the table name “sys” or “prefs”.  In the example I use the table name “!menu” and it contains fields only for managing the dynamic menu.

The menu table contains several fields, but the critical one is “menu”.  It is a global text field with storage options to allow up to 60 repetitions.  The reason that is is global is so that the menu names can be displayed on any layout regardless of the layout’s table.  The reason it is a repeating field with up to 60 occurrences is so that you can have up to 60 layout navigation buttons.  You can have as few or as many as you like.

Now build the display of your menu.  Make a layout called “~menu”.  The tilde will hide the menu layout from the menu.  You’ll see how when we study the login script that filters layout names. Place the “menu” field on your “~menu” layout and use the field format command or inspector (FM11) to show repetitions 1 to 1.  Duplicate the field and move it below the first field and format it to show repetition 2 to 2.  What you are doing is creating buttons that will be titled automatically from the layout names.  You’re using a repeating field so that you don’t have to create fields for every layout name. Repeat these steps until you have a grid of fields organized in order of the field repetitions.  You can align the fields vertically in a single column, multiple columns, or horizontally (as in the header style menu shown in the video).  Just be sure your field repetitions are sequential or else the menu order won’t match the layout order.

I’ll finish this solution tutorial Oct 22-23.

2nd Meeting Benefitted All

We had a very personal, 10 person group for our second meeting. Not bad for a hot, Friday afternoon.  The La Pietra Atherton Conference room was cool , the new executive chairs comfortable, and the new ceiling mounted projector a pleasure to watch.  Members ranged from people looking for developers to help them with their projects, to independent developers wrangling a number of projects, to business owners looking to better leverage their FileMaker system.

We started on time and introduced ourselves and gave brief descriptions of our projects and top concerns.  Then it was on to seeing FileMaker Go in action, connected to a live database.  It was interesting watching an iPhone screen projected six feet wide. Wish they were always that easy to read.   One of the highlights was browsing Google Maps within a FileMaker web viewer.  The functionality of FileMaker Go seems unlimited.

Then it was on to the main topic of the meeting – Dynamic Menu – which combines many features of FileMaker into one highly useful solution: The security model, layout names, advanced scripting with global variables, conditional formatting, and button parameters.  The presentation and demo files will be available in SOLUTIONS later this weekend.

We wrapped things up with a quick demonstration of setting up a “join” file for a many to many relationship, and then unanimously agreed that the next meeting should focus on the relationship graph.  Milton will speak about “anchor buoy” relationship modeling.

So use the JOIN form or register on this site so we can let you know the date of the next meeting.

Have a great FileMaking weekend!

Agenda for 2nd Meeting

Two hours will go by fast so we’ll try to follow this agenda today.

Introduction to our website: 10 minutes

Solicit volunteers for house keeping duties: 10 minutes:

  • Time keeper – keep topics and presentations moving and within allotted duration
  • Track who volunteers to present at upcoming meetings – followup with presenters prior to each meeting
  • Take meeting minutes and post in News
  • Moderate the website – proofread posts and approve comments

Topic #1: 15 min. Briefly discuss Tech Republics article “We’re entering the decade of the developer” and how FileMaker will better allow us to surf that wave. Includes a real-world demonstration of FileMaker Go connecting to FileMaker Server over 3G.

Topic #2: 30 min. Using the Security model to abstract a navigation menu that automatically and dynamically displays available layouts based on the users group. (briefly shown at the July meeting), presented by Kent Roller.

Open Discussion: 30 min. Members help members on any topic at any level of difficulty.

Closing: 15 min. What would members like to cover in the next meeting?

Decade of the Developer

This Tech Republic article provides ample reason to develop your development skills.  FileMaker is the perfect platform to get up to speed and catch this fast moving wave.

The technology world remains in the midst of a relentless transformation and the changes sweeping the industry over the next decade will make developers, not IT pros, the new superstars.

HFMUG gets a home

As much as I wanted to publish an all FileMaker website using Instant Web Publishing, we need our website ready for the next meeting and WordPress is unbeatable for fast blogging.  But wait, look at this: Lauren Kuhlman has a great post on linking FileMaker and WordPress! That would be a good subject for one of our meetings.  So much potential, so little time.  Anyway here it is, our own website.  Glen can stop sending the invitations out for us now.

If you are not already on our email list to receive meeting announcements,  be sure to join in.  Meeting attendees must RSVP so our host knows how many to expect.

Our second meeting is this Friday, September 24, 3-5pm at La Pietra.  Glen Suarez sent the announcement to all those who attended the first meeting.  If you didn’t RSVP to him, please do so.

First Meeting

We held our first meeting on July 15, 2010 at La Pietra Hawaii School For Girls, and organization avidly invested in FileMaker for online application processing and admissions administration.  The marketing team from FileMaker was in town for a week and graciously spent the morning with us, giving an in-depth demonstration of the new features packed into FileMaker 11, not to mention treating us to a smorgashboard of  malasadas and ono pupus.

Here’s Alexie Folger, Senior Systems Engineer putting the new Charting functions throug their paces.

Glen in the standing room only area, keeping tabs on Alexie’s time which she never has enough of.  We could have absorbed info all day, or until the malasadas ran out.