Files
odoo_source/addons/website/data/website_data.xml
T
David Beguin 6bec0e4d29 [IMP] website : add website visitors activity tracking
This commit adds the website_visitor model that will be used
to track website visitor activity (page viewed, number of visits and
more general info about the visitor (country, lang, etc..)

This model will, in later commit, be used to send chat requests
and push notification from the operators (or backend users)
directly to the visitor.

- A website_visitor is created once the visitor is requesting
a website.page that is tracked.
- A website_visitor is considered as connected if his last tracked
website_page request is within the last 5 minutes.
- The number of visits for a website_visitor is incremented
if his last tracked website_page request was at least 8 hours ago.
- A website_visitor is only handled by the system. Users cannot
create, edit or delete a website_visitor.
- A unique website_visitor is created per website.
That means that the same real person can triggers multiple visitor
creation if visits multiple websites.
This is because, for livechat purpose on later commit, for example,
the chat request can be created on the correct livecaht channel
(linked to the correct website)
- The visitor is recognized via his cookie (visitor_id). So if the visitor
flush his cookies, a new visitor will be created the next time he will
request a tracked website_page.
- Link user's res.partner to website.visitor.
    If a website_visitor log in
    (a visitor that has visitor_id in his cookie),
    the website_visitor is linked to the res.partner.
    The website visitor name is than adapted to match the name of
    the first res.partner linked to the visitor.
    A visitor can have multiple partners as the same session
    can be used by multiple person (one PC for a team for example).

To keep a detailed history of the visitor page views,
we add a website.visitor.page model that makes the link
between visitor and website.page but that keeps the visit date.
So that we can see if a visitor went mulitple times
on the same page and when. It's usefull to see his last page views.

Task ID : 2028059
PR #34624
2019-08-19 06:33:37 +00:00

515 lines
27 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<!-- split between ir_ui_view & website_page record to keep external_id on ir_ui_view -->
<record id="homepage" model="ir.ui.view">
<field name="name">Home</field>
<field name="type">qweb</field>
<field name="key">website.homepage</field>
<field name="arch" type="xml">
<t name="Home" priority="29" t-name="website.homepage">
<t t-call="website.layout">
<t t-set="pageName" t-value="'homepage'"/>
<div id="wrap" class="oe_structure oe_empty"/>
</t>
</t>
</field>
</record>
<record id="contactus" model="ir.ui.view">
<field name="name">Contact Us</field>
<field name="type">qweb</field>
<field name="key">website.contactus</field>
<field name="arch" type="xml">
<t name="Contact Us" t-name="website.contactus">
<t t-call="website.layout">
<div id="wrap">
<div class="oe_structure">
<section class="pt8 pb8">
<div class="container">
<div class="row s_nb_column_fixed">
<div class="col-lg-12 s_title pt16 pb16">
<h1>Contact us</h1>
</div>
</div>
</div>
</section>
</div>
<div class="container mt-2">
<div class="row">
<div class="col-lg-8">
<div class="oe_structure">
<section class="s_text_block">
<div class="container">
<div class="row">
<div class="col-lg-12">
<p>
Contact us about anything related to our company or services.<br/>
We'll do our best to get back to you as soon as possible.
</p>
</div>
</div>
</div>
</section>
</div>
<div class="text-center my-3" name="mail_button">
<a role="button" t-attf-href="mailto:{{ res_company.email }}" class="btn btn-primary" id="o_contact_mail">Send us an email</a>
</div>
</div>
<div class="col-lg-4">
<t t-call="website.company_description"/>
</div>
</div>
</div>
<div class="oe_structure mt-2"/>
</div>
</t>
</t>
</field>
</record>
<record id="aboutus" model="ir.ui.view">
<field name="name">About us</field>
<field name="type">qweb</field>
<field name="key">website.aboutus</field>
<field name="arch" type="xml">
<t name="About us" t-name="website.aboutus">
<t t-call="website.layout">
<div id="wrap">
<div class="oe_structure">
<section class="pt8 pb8">
<div class="container">
<div class="row s_nb_column_fixed">
<div class="col-lg-12 s_title pt16 pb16">
<h1 class="text-center">About us</h1>
<h3 class="text-muted text-center">Great products for great people</h3>
</div>
</div>
</div>
</section>
<section class="s_text_image pt8 pb8">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 pt16 pb16">
<p>
We are a team of passionate people whose goal is to improve everyone's
life through disruptive products. We build great products to solve your
business problems.
</p>
<p>
Our products are designed for small to medium size companies willing to optimize
their performance.
</p>
</div>
<div class="col-lg-6 pt16 pb16">
<img src="/website/static/src/img/library/business_conference.jpg" class="img img-fluid shadow" alt="Our Team"/>
</div>
</div>
</div>
</section>
</div>
</div>
</t>
</t>
</field>
</record>
</data>
<data noupdate="1">
<record id="homepage_page" model="website.page">
<field name="is_published">True</field>
<field name="url">/</field>
<field name="view_id" ref="homepage"/>
<field name="is_tracked">True</field>
</record>
<record id="contactus_page" model="website.page">
<field name="url">/contactus</field>
<field name="is_published">True</field>
<field name="view_id" ref="contactus"/>
<field name="is_tracked">True</field>
</record>
<record id="aboutus_page" model="website.page">
<field name="is_published">True</field>
<field name="url">/aboutus</field>
<field name="view_id" ref="aboutus"/>
<field name="is_tracked">True</field>
</record>
<!-- Default Menu to store module menus for new website -->
<record id="main_menu" model="website.menu">
<field name="name">Default Main Menu</field>
<field name="url">/default-main-menu</field>
</record>
<record id="menu_home" model="website.menu">
<field name="name">Home</field>
<field name="url">/</field>
<field name="parent_id" ref="website.main_menu"/>
<field name="sequence" type="int">10</field>
</record>
<record id="menu_contactus" model="website.menu">
<field name="name">Contact us</field>
<field name="url">/contactus</field>
<field name="parent_id" ref="website.main_menu"/>
<field name="sequence" type="int">60</field>
</record>
<record id="default_website" model="website">
<field name="name">My Website</field>
<field name="domain"></field>
<field name="company_id" ref="base.main_company"/>
<field name="user_id" ref="base.public_user"/>
<field name="homepage_id" ref="homepage_page"/>
</record>
<!-- Open website on install -->
<record id="action_website" model="ir.actions.act_url">
<field name="name">Website</field>
<field name="url">/</field>
<field name="target">self</field>
</record>
<record id="base.open_menu" model="ir.actions.todo">
<field name="action_id" ref="action_website"/>
<field name="state">open</field>
</record>
<!-- Pre loaded images -->
<record id="website.business_conference" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">business_conference.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">binary</field>
<field name="datas" type="base64" file="website/static/src/img/library/business_conference.jpg"/>
</record>
<record id="website.library_image_01" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">bridge.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/bridge.jpg</field>
</record>
<record id="website.library_image_02" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">deliver.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/deliver.jpg</field>
</record>
<record id="website.library_image_03" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">clock.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/clock.jpg</field>
</record>
<record id="website.library_image_04" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">manufacturing.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/manufacturing.jpg</field>
</record>
<record id="website.library_image_05" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">compass.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/compass.jpg</field>
</record>
<record id="website.library_image_06" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">gift.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/gift.jpg</field>
</record>
<record id="website.library_image_07" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">mobile_device.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/mobile_device.jpg</field>
</record>
<record id="website.library_image_08" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">mobile.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/mobile.jpg</field>
</record>
<record id="website.library_image_09" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">office.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/office.jpg</field>
</record>
<record id="website.library_image_10" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">ice_coffe.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/ice_coffe.jpg</field>
</record>
<record id="website.library_image_11" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">rocket.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/rocket.jpg</field>
</record>
<record id="website.library_image_12" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">sell.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/sell.jpg</field>
</record>
<record id="website.library_image_13" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">shop.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/shop.jpg</field>
</record>
<record id="website.library_image_14" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">sign.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/sign.jpg</field>
</record>
<record id="website.library_image_15" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">sweet.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/sweet.jpg</field>
</record>
<record id="website.library_image_16" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">wine.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/wine.jpg</field>
</record>
<record id="website.library_image_17" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">marketing.jpg</field>
<field name="res_model">ir.ui.view</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/library/marketing.jpg</field>
</record>
<!-- Website Builder Background Images -->
<record id="website.s_background_image_01" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_01.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/peak.jpg</field>
</record>
<record id="website.s_background_image_02" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_02.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/la.jpg</field>
</record>
<record id="website.s_background_image_03" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_03.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/panama-sky.jpg</field>
</record>
<record id="website.s_background_image_04" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_04.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/cubes.jpg</field>
</record>
<record id="website.s_background_image_05" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_05.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/building-profile.jpg</field>
</record>
<record id="website.s_background_image_06" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_06.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/type.jpg</field>
</record>
<record id="website.s_background_image_07" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_07.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/people.jpg</field>
</record>
<record id="website.s_background_image_08" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_08.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/city.jpg</field>
</record>
<record id="website.s_background_image_09" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_background_image_09.jpg</field>
<field name="type">url</field>
<field name="res_model">ir.ui.view</field>
<field name="url">/website/static/src/img/backgrounds/sails.jpg</field>
</record>
<!-- Snippets' Default Images (to be replaced by themes) -->
<record id="website.s_cover_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_cover_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_cover.jpg</field>
</record>
<record id="website.s_quotes_carousel_demo_image_1" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_quotes_carousel_image_01.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_quotes_carousel_1.jpg</field>
</record>
<record id="website.s_quotes_carousel_demo_image_2" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_quotes_carousel_image_02.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_quotes_carousel_2.jpg</field>
</record>
<record id="website.s_quotes_carousel_demo_image_3" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_quotes_carousel_image_3.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_3.png</field>
</record>
<record id="website.s_quotes_carousel_demo_image_4" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_quotes_carousel_image_4.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_2.png</field>
</record>
<record id="website.s_quotes_carousel_demo_image_5" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_quotes_carousel_image_5.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_4.png</field>
</record>
<record id="website.s_image_text_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_image_text_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_image_text.jpg</field>
</record>
<record id="website.s_text_image_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_text_image_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_text_image.jpg</field>
</record>
<record id="website.s_carousel_default_image_1" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_carousel_default_image_1.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_carousel_1.jpg</field>
</record>
<record id="website.s_carousel_default_image_2" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_carousel_default_image_2.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_carousel_2.jpg</field>
</record>
<record id="website.s_carousel_default_image_3" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_carousel_default_image_3.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_carousel_3.jpg</field>
</record>
<record id="website.s_picture_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_picture_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_picture.jpg</field>
</record>
<record id="website.s_banner_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_banner_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_banner.jpg</field>
</record>
<record id="website.s_parallax_default_image" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_parallax_default_image.jpg</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_parallax.jpg</field>
</record>
<record id="website.s_reference_demo_image_1" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_reference_demo_image_1.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_references_1.png</field>
</record>
<record id="website.s_reference_demo_image_2" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_reference_demo_image_2.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_references_2.png</field>
</record>
<record id="website.s_reference_demo_image_3" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_reference_demo_image_3.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_references_3.png</field>
</record>
<record id="website.s_reference_demo_image_4" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_reference_demo_image_4.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_references_4.png</field>
</record>
<record id="website.s_reference_demo_image_5" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_reference_demo_image_5.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_references_5.png</field>
</record>
<record id="website.s_company_team_image_1" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_company_team_image_1.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_1.png</field>
</record>
<record id="website.s_company_team_image_2" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_company_team_image_2.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_2.png</field>
</record>
<record id="website.s_company_team_image_3" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_company_team_image_3.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_3.png</field>
</record>
<record id="website.s_company_team_image_4" model="ir.attachment">
<field name="public" eval="True"/>
<field name="name">s_company_team_image_4.png</field>
<field name="type">url</field>
<field name="url">/website/static/src/img/snippets_demo/s_team_member_4.png</field>
</record>
</data>
<data>
<record id="group_multi_website" model="res.groups">
<field name="name">Multi-website</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</data>
</odoo>