<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Logilab&#39;s roadmap for CubicWeb as of February 2013 (CubicWeb&#39;s Forge) RSS Feed</title>
    <description></description>
    <link>http://www.cubicweb.org/blogentry/2709670</link>
<item>
<guid isPermaLink="true">http://www.cubicweb.org/blogentry/2709670</guid>
  <title>Logilab&#39;s roadmap for CubicWeb as of February 2013</title>
  <link>http://www.cubicweb.org/blogentry/2709670</link>
  <description>&lt;p&gt;The Logilab team now holds a roadmap meeting every two months to plan its CubicWeb development effort. Here are the decisions that were taken on Feb 1st, 2013.&lt;/p&gt;
&lt;div class=&quot;section&quot; id=&quot;version-3-17&quot;&gt;
&lt;h3&gt;&lt;a&gt;Version 3.17&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This version should be published before the end of March and will finish all the things
that are work in progress. It will include:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;the refactoring necessary to introduce persistant sessions,&lt;/li&gt;
&lt;li&gt;the shrinking of web/views: everything that does not deserve its own cube (like sioc, embed,
geocoding, etc) will go into a cube named legacyui (this will open the door to squareui),&lt;/li&gt;
&lt;li&gt;stop serving pages with &amp;quot;content-type: application/xhtml&amp;quot;,&lt;/li&gt;
&lt;li&gt;handling postgresql schemas (will require a new version of logilab.database),&lt;/li&gt;
&lt;li&gt;a new logo.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;squareui&quot;&gt;
&lt;h3&gt;&lt;a&gt;Squareui&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Once the cube legacyui extracted (in version 3.17), it will be possible to move forward
swiftly with squareui. Due to its other duties, one can not expect the core CW team to develop squareui.
People interested will be in charge and ideally the squareui cube could be released when cubicweb 3.17
will be published.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;cleaning-up-the-backlog&quot;&gt;
&lt;h3&gt;&lt;a&gt;Cleaning up the backlog&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The lead CW developers will spend about 20% of their time cleaning up the ticket backlog at the forge (900 open tickets and 50 in progress !)&lt;/p&gt;
&lt;p&gt;The first step will be to reduce the number of tickets &amp;quot;in progress&amp;quot;, then to organize the open tickets and merge the duplicates.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;version-3-18&quot;&gt;
&lt;h3&gt;&lt;a&gt;Version 3.18&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This version is due at the end of may 2013. It will include:&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;persisting sessions,&lt;/li&gt;
&lt;li&gt;WSGI,&lt;/li&gt;
&lt;li&gt;RESTfulness: support for HTTP verbs PUT / DELETE, enforcement of the semantics of
GET / POST (may be difficult to maintain backward-compatibility)&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;section&quot; id=&quot;mid-term-goals&quot;&gt;
&lt;h3&gt;&lt;a&gt;Mid-term goals&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The mid-term goals are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;possibility to add new base types (&lt;em&gt;Array&lt;/em&gt;, &lt;em&gt;HStore&lt;/em&gt;,
&lt;em&gt;Geometry&lt;/em&gt;, &lt;em&gt;TSVector&lt;/em&gt;, etc.) that would use extensions from the
SQL backend&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;&lt;tt class=&quot;docutils literal&quot;&gt;FROM&lt;/tt&gt; clause in rql queries&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;websockets&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;defining attribute on relations and defining &amp;quot;virtual&amp;quot; relations or rules:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Contribution&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;EntityType&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;author&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SubjectRelation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;Person&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cardinality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;1*&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inlined&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;book&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SubjectRelation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;Book&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cardinality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;1*&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inlined&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;role&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;SubjectRelation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;Role&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cardinality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;1*&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inlined&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;preface_writer&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;VirtualRelation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;#39;C is Contribution, C author S, C book O, &amp;#39;&lt;/span&gt;
                                 &lt;span class=&quot;s&quot;&gt;&amp;#39;C role R, R name &amp;quot;preface writer&amp;quot;&amp;#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;And:&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
Any P WHERE B is Book, P preface_writer B
&lt;/pre&gt;
&lt;p&gt;Will we need a materialized view in the database, a standard relation maintained by hooks,
rewrite the RQL on-the-fly ? Time will tell.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;cards with logic (mustache js templates for example)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;coffeescript ? brython ? javascript ? prototype something with CubicDB + WebService that
outputs json + user interface in full javascript&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;package separately Cubic(Web)DB et CubicWeb ?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;think about the overall architecture (using WSGI, persistent sessions, etc.), and find
solutions that fit a distributed architecture (look at paste.deploy, circus, etc.)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;clean up the javascript en web/data/*.js&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;configurable metadata, managing the size of the &lt;tt class=&quot;docutils literal&quot;&gt;entities&lt;/tt&gt; table&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;more SPARQL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p class=&quot;first&quot;&gt;namespaces for the data models of the cubes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As already said on the mailing list, other developers and contributors are more than welcome to share their own goals in order to define a roadmap that best fits everyone&#39;s needs.&lt;/p&gt;
&lt;p&gt;Logilab&#39;s next roadmap meeting will be held at the beginning of April 2013.&lt;/p&gt;
&lt;/div&gt;
</description>
  <dc:date>2013-02-04T14:45-01:00</dc:date>
  <dc:creator>Nicolas Chauvat</dc:creator>
</item>
  </channel>
</rss>