diff --git a/doc/howto/howto_website.rst b/doc/howto/howto_website.rst
index 67b1348258327e9464077c6e20468fdf6b093c22..f94c9a93c65e4b7d261bb3a6932bd81280d1ea7f 100644
--- a/doc/howto/howto_website.rst
+++ b/doc/howto/howto_website.rst
@@ -553,6 +553,30 @@ keep only the datetime and location:
 
 .. patch::
 
+Moving lectures and TAs
+~~~~~~~~~~~~~~~~~~~~~~~
+
+There are already demonstration data in events and event types, so we'll want
+to delete them before inserting our own. The gist of the operation is fairly
+simple, but there are lots of changes:
+
+* The custom models can be removed as we'll be using standard objects
+* The controller has to be altered to fetch from standard objects
+  (``event.event`` and ``res.users``), we'll use groups to discriminate
+  between our academy objects and other demo objects, so that has to be used
+  as well
+* HTML templates have to be slightly edited to match the new objects
+  (our lecture's ``date`` field is replaced by ``event.event``'s
+  ``date_begin``)
+* Missing parts of the standard events have to be added (``res.partner``,
+  which is where "personal" informations are stored for ``res.users``, does
+  not have a biographical field. We have to add it)
+* Finally demo files must be converted, and existing demo data should be
+  purged if we do not need it (e.g. existing non-lectures events and event
+  types can be removed before adding our own)
+
+.. patch::
+
 .. [#taprofile] the teaching assistants profile view ends up broken for now,
                 but don't worry we'll get around to it
 
diff --git a/doc/howto/howto_website/move-to-openerp-objects b/doc/howto/howto_website/move-to-openerp-objects
new file mode 100644
index 0000000000000000000000000000000000000000..8623d8a90e5fcef21e39f14a158c7d0a3b15b086
--- /dev/null
+++ b/doc/howto/howto_website/move-to-openerp-objects
@@ -0,0 +1,300 @@
+# HG changeset patch
+# Parent ade038cd6dfd855f1d423cffb3d4e242404c28f0
+
+diff --git a/__init__.py b/__init__.py
+--- a/__init__.py
++++ b/__init__.py
+@@ -1,4 +1,3 @@
+ # -*- coding: utf-8 -*-
+ import controllers
+ import models
+-
+diff --git a/__openerp__.py b/__openerp__.py
+--- a/__openerp__.py
++++ b/__openerp__.py
+@@ -17,10 +17,8 @@
+     # any module necessary for this one to work correctly
+     'depends': ['website', 'website_event'],
+     'data': [
+-        'security/ir.model.access.csv',
+         'views/templates.xml',
+         'data/records.xml',
+-        'data/views.xml',
+     ],
+     'demo': [
+         'demo/teaching_assistants.xml',
+diff --git a/controllers/academy.py b/controllers/academy.py
+--- a/controllers/academy.py
++++ b/controllers/academy.py
+@@ -6,18 +6,29 @@ from openerp.addons.web.controllers impo
+ class academy(main.Home):
+     @http.route('/', auth='public', website=True)
+     def index(self):
++        registry = http.request.registry
+         cr, uid, context = http.request.cr, http.request.uid, http.request.context
+-        Lectures = http.request.registry['academy.lectures']
+-        tas = http.request.registry['academy.tas'].search_read(
+-            http.request.cr, http.request.uid, context=http.request.context)
++
++        Data = registry['ir.model.data']
++        _, ta_group_id = Data.get_object_reference(cr, uid, 'academy', 'tas')
++        tas = registry['res.users'].search_read(
++            http.request.cr, http.request.uid,
++            [('groups_id', '=', [ta_group_id])],
++            context=http.request.context)
++
++        Lectures = registry['event.event']
++        _, lecture_type_id = Data.get_object_reference(cr, uid, 'academy', 'lecture_type')
+         lectures = Lectures.browse(
+-            cr, uid, Lectures.search(cr, uid, [], context=context), context=context)
++            cr, uid,
++            Lectures.search(cr, uid, [('type', '=', lecture_type_id),], context=context),
++            context=context)
++
+         return http.request.website.render('academy.index', {
+             'tas': tas,
+             'lectures': lectures,
+         })
+ 
+-    @http.route('/tas/<model("academy.tas"):ta>/', auth='public', website=True)
++    @http.route('/tas/<model("res.users"):ta>/', auth='public', website=True)
+     def ta(self, ta):
+         return http.request.website.render('academy.ta', {
+             'ta': ta,
+diff --git a/data/views.xml b/data/views.xml
+deleted file mode 100644
+--- a/data/views.xml
++++ /dev/null
+@@ -1,25 +0,0 @@
+-<openerp>
+-    <data>
+-        <record id="list_academy_lecture" model="ir.ui.view">
+-            <field name="model">academy.lectures</field>
+-            <field name="arch" type="xml">
+-               <tree string="Lectures">
+-                   <field name="name"/>
+-                   <field name="date"/>
+-               </tree>
+-            </field>
+-        </record>
+-
+-        <record id="action_academy_lecture" model="ir.actions.act_window">
+-            <field name="name">Academy lectures</field>
+-            <field name="res_model">academy.lectures</field>
+-        </record>
+-
+-        <menuitem sequence="0" id="menu_academy" name="Academy"/>
+-        <menuitem id="menu_academy_content" parent="menu_academy"
+-                  name="Academy Content"/>
+-        <menuitem id="menu_academy_content_lectures"
+-                  parent="menu_academy_content"
+-                  action="action_academy_lecture"/>
+-    </data>
+-</openerp>
+diff --git a/demo/lectures.xml b/demo/lectures.xml
+--- a/demo/lectures.xml
++++ b/demo/lectures.xml
+@@ -1,24 +1,47 @@
+ <openerp>
+     <data>
+-        <record model="academy.lectures" id="lecture1">
++        <delete model="event.registration" search="[]"/>
++        <delete model="event.event" search="[]"/>
++        <delete model="event.type" search="[]"/>
++
++        <record model="event.type" id="lecture_type">
++            <field name="name">Lecture</field>
++        </record>
++
++        <record model="event.event" id="lecture1">
+             <field name="name">Lecture 1</field>
+-            <field name="date">2014-01-06</field>
++            <field name="date_begin">2015-01-06 10:00:00</field>
++            <field name="date_end">2015-01-06 12:00:00</field>
++            <field name="type" ref="lecture_type"/>
++            <field name="website_published" eval="True"/>
+         </record>
+-        <record model="academy.lectures" id="lecture2">
++        <record model="event.event" id="lecture2">
+             <field name="name">Lecture 2</field>
+-            <field name="date">2014-01-08</field>
++            <field name="date_begin">2015-01-08 10:00:00</field>
++            <field name="date_end">2015-01-08 12:00:00</field>
++            <field name="type" ref="lecture_type"/>
++            <field name="website_published" eval="True"/>
+         </record>
+-        <record model="academy.lectures" id="lecture3">
++        <record model="event.event" id="lecture3">
+             <field name="name">Lecture 3</field>
+-            <field name="date">2014-01-10</field>
++            <field name="date_begin">2015-01-10 10:00:00</field>
++            <field name="date_end">2015-01-10 12:00:00</field>
++            <field name="type" ref="lecture_type"/>
++            <field name="website_published" eval="True"/>
+         </record>
+-        <record model="academy.lectures" id="lecture4">
++        <record model="event.event" id="lecture4">
+             <field name="name">Lecture 4</field>
+-            <field name="date">2014-01-13</field>
++            <field name="date_begin">2015-01-13 10:00:00</field>
++            <field name="date_end">2015-01-13 12:00:00</field>
++            <field name="type" ref="lecture_type"/>
++            <field name="website_published" eval="True"/>
+         </record>
+-        <record model="academy.lectures" id="lecture5">
++        <record model="event.event" id="lecture5">
+             <field name="name">Lecture 5</field>
+-            <field name="date">2014-01-15</field>
++            <field name="date_begin">2015-01-15 10:00:00</field>
++            <field name="date_end">2015-01-15 12:00:00</field>
++            <field name="type" ref="lecture_type"/>
++            <field name="website_published" eval="True"/>
+         </record>
+     </data>
+ </openerp>
+diff --git a/demo/teaching_assistants.xml b/demo/teaching_assistants.xml
+--- a/demo/teaching_assistants.xml
++++ b/demo/teaching_assistants.xml
+@@ -1,19 +1,54 @@
+ <openerp>
+     <data>
+-        <record id="padilla" model="academy.tas">
++        <record id="padilla_p" model="res.partner">
+             <field name="name">Diana Padilla</field>
+         </record>
+-        <record id="carroll" model="academy.tas">
++        <record id="padilla" model="res.users">
++            <field name="login">padilla</field>
++            <field name="partner_id" ref="padilla_p"/>
++        </record>
++
++        <record id="carroll_p" model="res.partner">
+             <field name="name">Jody Carroll</field>
+         </record>
+-        <record id="vaughn" model="academy.tas">
++        <record id="carroll" model="res.users">
++            <field name="login">carroll</field>
++            <field name="partner_id" ref="carroll_p"/>
++        </record>
++
++        <record id="vaughn_p" model="res.partner">
+             <field name="name">Lester Vaughn</field>
+         </record>
+-        <record id="jimenez" model="academy.tas">
++        <record id="vaughn" model="res.users">
++            <field name="login">vaughn</field>
++            <field name="partner_id" ref="vaughn_p"/>
++        </record>
++
++        <record id="jimenez_p" model="res.partner">
+             <field name="name">Paul Jimenez</field>
+         </record>
+-        <record id="harris" model="academy.tas">
++        <record id="jimenez" model="res.users">
++            <field name="login">jimenez</field>
++            <field name="partner_id" ref="jimenez_p"/>
++        </record>
++
++        <record id="harris_p" model="res.partner">
+             <field name="name">Tanya Harris</field>
+         </record>
++        <record id="harris" model="res.users">
++            <field name="login">harris</field>
++            <field name="partner_id" ref="harris_p"/>
++        </record>
++
++        <record id="tas" model="res.groups">
++            <field name="name">Teaching Assistants</field>
++            <field name="users" eval="[
++                (4, ref('padilla')),
++                (4, ref('carroll')),
++                (4, ref('vaughn')),
++                (4, ref('jimenez')),
++                (4, ref('harris')),
++            ]"/>
++        </record>
+     </data>
+ </openerp>
+diff --git a/models/__init__.py b/models/__init__.py
+--- a/models/__init__.py
++++ b/models/__init__.py
+@@ -1,3 +1,3 @@
+ # -*- coding: utf-8 -*-
+-import academy
++import res_partner
+ 
+diff --git a/models/academy.py b/models/academy.py
+deleted file mode 100644
+--- a/models/academy.py
++++ /dev/null
+@@ -1,19 +0,0 @@
+-# -*- coding: utf-8 -*-
+-from openerp.osv import orm, fields
+-
+-class TeachingAssistants(orm.Model):
+-    _name = "academy.tas"
+-
+-    _columns = {
+-        'name': fields.char(),
+-        'biography': fields.html(),
+-    }
+-
+-class Lectures(orm.Model):
+-    _name = 'academy.lectures'
+-    _order = 'date ASC'
+-
+-    _columns = {
+-        'name': fields.char(required=True, string="Name"),
+-        'date': fields.date(required=True, string="Date"),
+-    }
+diff --git a/models/res_partner.py b/models/res_partner.py
+new file mode 100644
+--- /dev/null
++++ b/models/res_partner.py
+@@ -0,0 +1,8 @@
++from openerp.osv import orm, fields
++
++class Partner(orm.Model):
++    _inherit = 'res.partner'
++
++    _columns = {
++        'biography': fields.html(),
++    }
+diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
+deleted file mode 100644
+--- a/security/ir.model.access.csv
++++ /dev/null
+@@ -1,3 +0,0 @@
+-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+-access_academy_tas,access_academy_tas,model_academy_tas,,1,0,0,0
+-access_academy_lectures,access_academy_lectures,model_academy_lectures,,1,0,0,0
+\ No newline at end of file
+diff --git a/views/templates.xml b/views/templates.xml
+--- a/views/templates.xml
++++ b/views/templates.xml
+@@ -31,11 +31,11 @@
+                         </tr>
+                         <tr t-foreach="lectures" t-as="lecture">
+                             <td>
+-                                <span t-field="lecture.date"
++                                <span t-field="lecture.date_begin"
+                                       t-field-options='{"format": "long"}'/>
+                             </td>
+                             <td>
+-                                <span t-field="lecture.date"
++                                <span t-field="lecture.date_begin"
+                                       t-field-options='{"format": "EEE"}'/>
+                             </td>
+                             <td>
+@@ -56,9 +56,9 @@
+             <div class="oe_structure"/>
+             <div class="oe_structure">
+                 <div class="container">
+-                    <h1 t-field="ta.name"/>
++                    <h1 t-field="ta.partner_id.name"/>
+                     <h2>Biography</h2>
+-                    <div t-field="ta.biography"/>
++                    <div t-field="ta.partner_id.biography"/>
+                 </div>
+             </div>
+             <div class="oe_structure"/>
diff --git a/doc/howto/howto_website/series b/doc/howto/howto_website/series
index 18f3e6aba0e25f5bae1233a987d0593e6623e849..0cdae6542bf99d896069bc9466316c01555effe4 100644
--- a/doc/howto/howto_website/series
+++ b/doc/howto/howto_website/series
@@ -21,3 +21,4 @@ events-menu-rename
 disable-events-filters
 events-remove-breadcrumbs
 simplify-lectures-list
+move-to-openerp-objects