• Added curlypage scheduler submodule.
  • Added domain curlypages submodule.

With curlypage scheduler you can program when your curlypage will be shown, for example during a specific campeign (Enable on: 2009-12-20 00:00, Disable on: 2010-01-06 00:00). You can add as many schedules as you want to any curlypage.

Domain curlypages is added to provide domain specific visibility settings for curlypages for websites using Domain Access module.

CommentFileSizeAuthor
#6 curlypage.zip147.82 KBmanfer

Comments

manfer’s picture

  • Added roles visibility exclusion.
manfer’s picture

  • Added curlypage clicks submodule.

With curlypage clicks you can log clicks on your curlypages. The module tracks for each click: user who clicked, date/time when clicked, link clicked (normally it would be the same in all the curlypage life but someone could decide to change the link, so it is registered), curlypage clicked.

You have an statistic table where you can look the count of clicks on each curlypage. From there you can click 'view details' button to see the detail information of every click on the corresponding curlypage.

Curlypage tracking is disabled for every curlypage by default when you install curlypage clicks module. To enable tracking on a curlypage you'll have a new checkbox ("Track clicks") in URL settings of each curlypage after the submodule is installed.

Will be availble in homepage after next packaging as curlypage 6.x-2.x-dev (2010-Jan-15).

manfer’s picture

  • Added repeat feature to schedules.

With that feature you can program an schedule to be repeated every XX days and XX hours until date/time XXXX/XX/XX XX:XX.

Examples:

Configure a curlypage on even hours one day:
Enable on: 2010-01-15 00:00
Disable on: 2010-01-15 01:00
Repeat: checked
Days: 0
Hours: 2
Until: 2010-01-16 00:00

Configure a curlypage on odd hours one day:
Enable on: 2010-01-15 01:00
Disable on: 2010-01-15 02:00
Repeat: checked
Days: 0
Hours: 2
Until: 2010-01-16 00:00

Configure a curlypage to run every day from 10:00 to 13:00 from 18 to 25 Jan:
Enable on: 2010-01-18 10:00
Disable on: 2010-01-18 13:00
Repeat: checked
Days: 1
Hours: 0
Until: 2010-01-25 00:00

....

Will be working on next packaging, 6.x-2.x-dev (2010-Jan-16)

manfer’s picture

Improvements to curlypage clicks:

  • Added reset curlypage clicks log and count feature.
  • Added delete single click log feature.
manfer’s picture

Improvements to curlypage scheduler:

  • Added delete schedule button on schedules list.
  • Added edit single schedule.

Improvements to curlypage clicks:

  • Added views count.
  • Added click throughs.
manfer’s picture

StatusFileSize
new147.82 KB

I have just done many changes to the code, I was not satisfied with how submodules where plugged into main module so I decided to move some code into hooks. I added to curlypage main module some events (hooks). To make it easy for submodules to add new elements to the curlypage configuration form, three hooks are provided by curlypage (hook_curlypage_form, hook_curlypage_form_validate and hook_curlypage_form_submit), to notify submodules a curlypage has been deleted (hook_curlypage_delete), to notify submodules a curlypage has been viewed (hook_curlypage_view) and to notify submodules a curlypage has been clicked (hook_curlypage_click).

I changed some of the javascript code too, now it makes use of jquery library functions.

And now the new features I added.

Curlypage_clicks adds two new configuration elements to curlypages, Max close views and Max open views, so you can configure a curlypage to be disable when that amoung of views (open or close what you decide) are reached. As with schedules this is done by cron so the number you configure is not going to be totally accurate. Example if you configure the max close views to 500 (just an example), when cron is run checks if that number of views has been reached and disables the curlypage if so (than means at the time cron runs the amoung of close views could have been reached 517 for example, a little more than those ones configured). Those variables can be configured, if curlypage_clicks module is enable, under URL settings in curlypage configuration form (maybe a could move all that to a new settings fieldset, Track settings, containing track enable, max close views and max open views configuration).

To curlypage module itself, I added time settings:

  • Delay: You can configure a delay in seconds. The curlypage wont be shown until those seconds have passed.
  • Time Slot: You can configure how much time to show the curlypage in seconds. After those seconds have passed the curlypage would be destroyed.
  • Repeat: You can configure how many times the curlypage should be shown (you'll understand this later when I explain groups).

All those three parameters can be configured to 0, meaning no delay, show forever, repeat forever.

And I added Group:

  • You can now include curlypage in a group (from 1 to 100) or just go on its own (None group, group 0). If you configure some curlypages on same group and same corner and they satisfy visibility settings, all of them will be added to the node. But how they would be displayed?... In client side rotation. The first one is displayed for its configured time slot after its delay, when that time is over it is destroyed and readded to the end of the group if it is configured to be repeated, then the second one is displayed with same logic...

I think that's all.

Well, only one thing more, domain curlypages had a bug, that now is fixed.

As those where a lot of changes and I didnt know how it was going to work cross browser I decided to do all those changes but not commit anything. I would like to do some tests before. I did some myself (Mac OSX Safari 4 - Firefox 3.6, Ubuntu Firefox 3.5, Windows 7 64bits IE8, Windows Vista IE8, Windows XP IE8 - Firefox 3.0 - Safari - Opera - Chrome) and all seems to work.

I'm going to ask you for help testing this new version. As an example it would be nice to know how IE7 and IE6 like this code but any other test is going to be very useful too. Please test if you can do and report here how it is working. Thanks in advance.

I attach here the version with all changes, if all goes fine I will commit and maybe, as this version has a lot of changes till curlypage 6.x-2.3 (last recomended one) it could just be a candidate to become 6.x-3.0 version.

manfer’s picture

I have confirmed 6.x-2.3 version is not compatible with IE6 and that this new version is (I suppose jQuery makes this posible, it is the advantage of libraries dealing with browsers not following always web standards).

So I think I'm going on with this and release a 6.x-3.0 version. This has a lot of changes since 6.x-2, the new submodules, and some new features added to main module too (the last one I added is content type visibility settings). So I'm going to prepare it and release.

All feedback would be welcome. I did a lot of tests on it on many different environtments but some of the test are virtualize (as an example IE6 is tested in a virtualize window vista and with IETester software). So it would be very helpful if any who test it could report if it works and on which testing environtment (Operating System and Browser with its version).

It has been commited and made available at project page as a release candidate.

Thanks in advance.

manfer’s picture

6.x-3.0-RC4 releseased.

  • Added new curlypage general settings. One setting is to allow to configure curlypage media providing directly the paths instead of uploading the files. The other setting is to allow the admin to use a version of swfobject from his own server instead of using an external version (this way if you need this feature you don't have to modify curlypage code anytime the module is updated).
  • Added new curlypage setting "Open Onclick" under motion settings. With it you can specify a curlypage to be opened with a click instead of the default mouse over.
manfer’s picture

6.x-3.0 version released.

manfer’s picture

Some problems not detected in 6.x-3.0 version until testing it online had made me release new versions to correct the bug.

6.x-3.1 was not enough to correct it and a new 6.x-3.2 version has been released.

Sorry for any inconvenience.

This is a final stable release for 6.x.

manfer’s picture

  • Added a new global setting, use version 10 swfs.

Curlypage uses swf files (flag.swf, turn.swf) to render the effect. Those files are published by default to flash player version 9. That limits the swf media you can load in your curlypages to version 9 compatible swfs. With this global setting checked curlypage will use version 10 swfs (flag_flashV10.swf, turn_flashV10.swf) so you will be able to use swf media files in your curlypages that are only compatible with flash version 10.

manfer’s picture

  • Added error handling on AS3 code.
  • Added IE6 test.

IE6 does not support fixed position model. So there was still a problem with IE6 for curlyapages with fixed position. I have included a test for that browser so curlypages on top corners with fixed position will be shown with absolute position and curlypages on bottom corner with fixed position will not appear on IE6.

manfer’s picture

  • Updated file management code.
  • Fixed horizontal scroll bars when top right curlypages load.
  • Updated uris to flash vars urlencoded, js escape dropped.
  • Updated group curlypages code.
manfer’s picture

  • Updated in transition as3 code.
  • Updated scaling as3 code.
  • Updated, dropped automatic close limit when close button enabled.

On version 6.x-3.3 and earlier automatic close feature had a limit. It would not work if close button was enabled. But I think that was a nonsense limit. If someone does not won't automatic close when close button is enabled he can just set the automatic close feature disabled (0) and if anyone wants an automatic close even with close button enabled, why he can't do so?. That's why I dropped that limit.

manfer’s picture

Dev version test
------------------

WINDOWS
------------
Firefox 3.0
Firefox 3.6
Opera 10.01
Opera 10.54
Safari 4
Safari 5
Internet Explorer 8
Internet Explorer 7
Internet Explorer 6 (works as expected, only top curlypages are shown on this browser)
Chrome 5

OS X
------
Firefox 3.6
Chrome 6
Safari 5

LINUX
-------
Firefox 3.6
Chromium 5
Opera 10
Epiphany 2.3

I Haven't found any problem. Works fine on all tests.

manfer’s picture

  • Added new global visibility settings (for all curlypages) in curlypage global settings. As for the visibility for individual curlypages, you can configure visibility by language, by role, by node type and by page.
  • Added new administer curlypage global settings permission to have more fine grained permissions for curlypages. With this new permission you can give an administrator to configure the global settings for curlypage and prevent other admins from changing them.
  • Added a new constant to include paths where curlypages should not be render. What is this for? As an example, consider IMCE module. This module renders a page (a tpl template) inside an iframe on a node. We don't want curlypages on this inner iframe so imce* path is excluded with this new constant. This is the first conflict of this kind I have found but may grow in future.
  • Added the possibility to disable the get flash icos that appear on browsers without flash player installed (or flash incompatible as chrol reported on iphone)
  • Added a setting to control the behavior when the module is disabled. By default, and what I decided when I started the module development was to disable all active curlypages when the module was disabled. This way when the module was enabled again later all curlypages were disabled and no curlypage appears on nodes by mistake. After disable you have to reconfigure curlypages again. There were no need to disable curlypage, not even during updates, so was no problem. But Anyway I added a new setting so you can decide if you want curlypages disabled or not when the module is disabled. This allow to disable the module during updates or upgrades without affecting which curlypages are enabled before disable and after reenable.