[EN] To prevent a bug with FileMaker Pro 15

Cette note est disponible en Français ici.


For all FM Calendar users who have a version prior to 1.5.6 (under development). The 1.5.6 release includes correcting this bug.

A bug appeared with FileMaker Pro 15 that prevents the proper functioning of FM Calendar if it's hosted by FileMaker Server.

To correct this problem you need to change the formula of field cDisplayHtml of table config for this:

  1. Select menu File > Manage > Database… ;
  2. Select Tab Fields, and selection table config ;
  3. Select field cDisplayHtml and click on button Options… ;
  4. Modify the beginning of the calculation formula, by finding the variable _host to replace its definition :
———————————old definition of variable———————————
    _host = Case (
        PatternCount ( Get ( ApplicationVersion ) ; "13.0v1" ) and PatternCount ( Get ( HostApplicationVersion ) ; "Server" ) ; Get ( HostIPAddress ) ;
        "$" ) ;
———————————end of the old definition of the variable———————————

———————————new definition of variable———————————
    _host = Case (
        PatternCount ( Get ( ApplicationVersion ) ; "13.0v1" ) and PatternCount ( Get ( HostApplicationVersion ) ; "Server" ) ; Get ( HostIPAddress ) ;
        PatternCount ( Get ( ApplicationVersion ) ; "15.0" ) and PatternCount ( Get ( HostApplicationVersion ) ; "Server" ) ; Get ( HostIPAddress ) ;
        "$" ) ;
———————————end of the new variable definition———————————

If this formula of calculation didn't modified, you can replace the entire formula by the following:

Let ([

    _host = Case (
        PatternCount ( Get ( ApplicationVersion ) ; "13.0v1" ) and PatternCount ( Get ( HostApplicationVersion ) ; "Server" ) ; Get ( HostIPAddress ) ;
        PatternCount ( Get ( ApplicationVersion ) ; "15.0" ) and PatternCount ( Get ( HostApplicationVersion ) ; "Server" ) ; Get ( HostIPAddress ) ;
        "$" ) ;

    _top = Case (
        Get ( SystemPlatform ) = 4  ; topWD.html ;
        top.html ) ;

    _editable = Case (
        Get ( SystemPlatform ) = 4  ; "false" ;
        "true" )
];


Substitute ( _top ;

// source code
    [ "{{version}}" ; version ] ;
    [ "{{fullcalendar.css}}" ; fullcalendar.css ];
    [ "{{init.css}}" ; init.css ];
    [ "{{jquery.min.js}}" ; jquery.min.js ];
    [ "{{jquery-ui.custom.min.js}}" ; ${jquery-ui.custom.min.js} ];
    [ "{{fullcalendar.min.js}}" ; fullcalendar.min.js ]
) & "¶" &


// events array
FMcalSourceEvents ( gCalendarList ; prefsUser::navDate ; prefsUser::navView ; "" ) & "¶" &


Substitute ( bottom.html ;

// config
    [ "{{config.js}}" ; config.js ] ;
    [ "{{height}}" ; Get ( WindowContentHeight ) - 55 ];
    [ "{{defaultView}}" ; prefsUser::navView ];
    [ "{{weekends}}" ; If(prefsUser::showWeekends or prefsUser::navView="agendaDay" ;"true";"false") ];
    [ "{{timeStart}}" ; Int ( Left(prefsUser::timeStart;2) ) ];
    [ "{{timeEnd}}" ; Int ( Left(prefsUser::timeEnd;2) ) ];
    [ "{{hostIPAdress}}" ; _host ];
    [ "{{fileName}}" ; Get ( FileName ) ];
    [ "{{editable}}" ; _editable ];

// launch
    [ "{{launch.js}}" ; launch.js ];

    [ "{{year}}" ; Year(prefsUser::navDate) ];
    [ "{{month}}" ; Month(prefsUser::navDate) - 1 ];  // Janvier = 0
    [ "{{day}}" ; Day(prefsUser::navDate) ]

)

)