PIM.cphrase
Here you can browse the full PIM.cphrase. Note the use of views and reports.
<?xml version="1.0" encoding="UTF-8"?>
<config id="PIM" name="PIM" db="sqlite:PIM.db" language="english" version="1.0.15" description="">
<table id="Note" writes="full">
<column id="id" type="int"/>
<column id="title" type="text"/>
<column id="type" type="text"/>
<primary_key key="id"/>
<primary_value key="title" />
</table>
<table id="Note_Attachment" writes="full" lex="photo attachment,photo attachments">
<column id="note" type="int" select="false"/>
<column id="file" type="file"/>
<foreign_key from="note" to="Note"/>
</table>
<table id="Exercise" writes="full" lex="exercise,exercises">
<column id="id" type="int"/>
<column id="type" type="text">
<value val="bicycle"/>
<value val="desk work"/>
<value val="hard labor"/>
<value val="kettlebell"/>
<value val="outside time"/>
<value val="run"/>
<value val="run/walk"/>
<value val="skiing"/>
</column>
<column id="date" type="date" default="(date('now'))"/>
<column id="description" type="memo"/>
<column id="measure_title" type="text"/>
<column id="measure" type="real"/>
<primary_key key="id"/>
</table>
<table id="Task" writes="full" lex="task,tasks">
<column id="id" type="int"/>
<column id="name" type="text" notnull="true"/>
<column id="priority" type="text" notnull="true">
<value val="high"/>
<value val="low"/>
<value val="medium"/>
</column>
<column id="severity" type="text" notnull="true">
<value val="high"/>
<value val="low"/>
<value val="medium"/>
</column>
<column id="posted" type="date" default="(date('now'))"/>
<column id="starred" type="boolean" default="0"/>
<column id="notes" type="memo"/>
<column id="task_type" type="int" default="1" select="false"/>
<primary_key key="id"/>
<foreign_key from="task_type" to="Task_Type"/>
<primary_value key="name" />
</table>
<table id="Task_Type" writes="full" lex="project,projects,task category,task categories,task type,task types">
<column id="id" type="int"/>
<column id="name" type="text"/>
<column id="area" type="text" properties="+value-stands-for-table"/>
<column id="description" type="memo"/>
<primary_key key="id"/>
<primary_value key="name" />
</table>
<table id="Eating" writes="full" lex="eating,eatings,ate,eaten">
<column id="food" type="text" lex="food" select="false"/>
<column id="date" type="date" default="(date('now'))" lex="when" properties="+value-stands-for-column"/>
<column id="helping" type="real" default="(1.0)" units="portions" lex="helping,helpings,quantity"/>
<virtual_column id="id" type="text" properties="-project">
<![CDATA[
replace(replace($VAR.food,',',''),'''','') || $VAR.date
]]>
</virtual_column>
<primary_key key="id"/>
<foreign_key from="food" to="Food"/>
</table>
<table id="Food" writes="full" lex="food,foods">
<column id="name" type="text" notnull="true" properties="+like"/>
<column id="calories" type="real"/>
<column id="notes" type="memo"/>
<primary_key key="name"/>
</table>
<table id="Journal" writes="full" lex="journal,journals">
<column id="id" type="int"/>
<column id="posted" type="date" default="(date('now'))"/>
<column id="notes" type="memo"/>
<primary_key key="id"/>
</table>
<view id="Daily" lex="calorie report,calorie reports">
<column id="date" type="date"/>
<column id="calories" type="real"/>
<primary_key key="date"/>
<![CDATA[
select sum(helping * calories) as calories, date
from Eating, Food
where eating.food = Food.name
group by date
]]>
</view>
<report purview="Daily" handler="bar">
<![CDATA[
SELECT date, calories FROM ($SUB)
]]>
</report>
<report purview="Task" handler="table">
<![CDATA[
SELECT edit,id,name,posted,LENGTH(notes) as note_length FROM ($SUB) ORDER BY name ASC
]]>
</report>
<report purview="Food" order="ORDER BY upper(name)" handler="table">
<![CDATA[
$SUB $ORDER
]]>
</report>
<report purview="Note_Attachment" handler="table" lex="raw">
<![CDATA[
$SUB $ORDER
]]>
</report>
<report purview="Note_Attachment" handler="table">
<![CDATA[
SELECT DISTINCT
(SELECT Y1.title FROM Note as Y1 WHERE Y1.id = X1.note) as note_title, '<img src="static/files/' || X1.file || '"/>' as image
FROM ($SUB) AS X1
]]>
</report>
<cascade >
<pre from="order by" to="order by increasing" description=""/>
</cascade>
</config>