Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Apr 2011
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Post Personalisation Engine.

    Hello users,

    I am fairly new to PHP/MySQL and would really appreciate some help on some topic's I am trying to tackle.

    I am attempting to create a web site personalisation engine, whereby the page alters while the user interacts with it. The default page I will be working with is my Uni's intranet home page, as an example, there is a list of hyperlinks leading to different areas of the web site, the more a user clicks on a link, the larger the font gets or the higher up the list the link goes.

    To begin with I need a database structure to store elements (not whole pages) that can be customised , the different elements will be text in links, plain text, lists and images.

    1. What would be the best way to store the different web elements in the database?
    2. How will I be able to display the different web elements combined on one page as it was originally? (I assume the elements will be jumbled up in the database meaning it wouldn't be as simple as connecting via php and echoing the contents)

    Is this as simple as listing everything by their ID as they appear on the web page and then altering the order of the elements later / having an elements field for me to order with an algorithm.

    Finally, is there a way that I can monitor mouse in/out of areas on the web page or to measure the time between page requests as an estimate for how long users spend on each page ?

    Thanks for any help that anyone can give me, sorry if this is more of a MySQL problem and sorry for the wall of text.

    Cheers, Tyler

  • #2
    UE Antagonizer Fumigator's Avatar
    Join Date
    Dec 2005
    Location
    Utah, USA, Northwestern hemisphere, Earth, Solar System, Milky Way Galaxy, Alpha Quadrant
    Posts
    7,691
    Thanks
    42
    Thanked 637 Times in 625 Posts
    As for storing elements in the database, I'd probably keep it pretty simple. Give each element a single category identifier, and then come up with an easy-to-decipher system of identifying each link. Then you just need to keep a tally of users-to-elements, using a cross-reference table.

    After that it's a matter of translating a user's click/mouse patterns into the display of the elements.

    Is this as simple as listing everything by their ID as they appear on the web page and then altering the order of the elements later / having an elements field for me to order with an algorithm.
    I wouldn't alter later, I would output the initial page based on the results of the algorithm.

    As for mouse activity monitoring, you can do this easily using Ajax but your user's experience may suffer depending on how seamlessly you make your server calls as a mouse flies around a page. You may find it better to store up the mouse activity via Javascript via variables and when a certain number of actions have been stored up, make the Ajax call to write it all to the database. (You risk losing some activity if a user closes the page before pending activity gets stored but you can capture some of those types of actions using Javascript.)


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •