<div dir="ltr"><div><div>Hi list,<br><br></div>Are the various CWSchemas going to be completely independent or will it be possible to do requests combining entities or relation in several CWSchemas ?<br><br></div><div>Could it be possible to introduce a dependency hierarchy on CWSchemas as for cubes ? Cubes define a partition of an instance schema. It would be interesting to have this partition exposed in the schema stored in database. For instance it would make it possible to  browse a complex schema (such as brainomics which is not readable as a whole) cube by cube. If there is a refactoring to introduce CWSchema, it may be extended to take cubes into account. Technically, the "default" CWSchema would be a tree of schemas reflecting the cubes hierarchy. This could be done by introducing a dependency relation between CWSchemas and probably some hooks on this relation to be able to rapidly get a complete schema for each node.<br>

<br></div><div>      Yann<br><br></div></div><div class="gmail_extra"><br clear="all"><div>Yann Cointepas            Tel: +33 1 69 08 78 31<br>CEA - Neurospin           Fax: +33 1 69 08 79 80<br>Bâtiment 145, Point Courrier 156<br>

91191 Gif-sur-Yvette cedex, France</div>
<br><br><div class="gmail_quote">On Thu, Jan 30, 2014 at 8:53 AM, Celso FLORES <span dir="ltr"><<a href="mailto:celso.flores@crealibre.com" target="_blank">celso.flores@crealibre.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-01-29 Nicolas Chauvat <span dir="ltr"><<a href="mailto:nicolas.chauvat@logilab.fr" target="_blank">nicolas.chauvat@logilab.fr</a>></span>:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi List,<br>
<br></blockquote><div><br></div><div>Hi</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



Below is another idea I am trying to float around to see if it gets<br>
traction. If needed, I will turn it into an actual CWEP.<br>
<br>
CWEP-???? - CWSchema<br>
====================<br>
<br>
:champion: Nicolas Chauvat<br>
:last update: 2014/01/29<br>
:status: draft<br>
<br>
Rationale<br>
---------<br>
<br>
A recurrent feature request from users has been to be able to modify the data<br>
model without having to code or to easily adapt the data model to their very<br>
specific case.<br></blockquote><div><br></div></div><div>As we already discussed early, we had this spreadsheet idea, in which entities,</div><div> attributes, relations, translations, permissions could generate and manage a Schema for CW. </div>


<div><br></div><div>Our Client Softtek developed that and we use it to manage 52 entities, </div><div>and over 700 attributes and relations for those entities.  </div><div><br></div><div>I can't imagine managing all that schema and migrations without a central utility.</div>


<div>As for today, this is Softtek dev and none free software.   </div><div class="im"><div><br></div><div> </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<br>
Another use case would be to define forms on-the-fly by describing their data<br>
model and using the standard form engine based.<br>
<br></blockquote><div><br></div></div><div>I guess  CWSchema would be nicer than a spreadsheet, </div><div>specially if Ergonomy and Usability are at least equivalent to that experienced with </div><div>a spreadsheet. </div>

<div class="im"><div>
<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Proposal<br>
--------<br>
<br>
The main idea of this proposal is to introduce an entity CWSchema that would be<br>
used as a namespace for instances of CWEType and CWRType.<br>
<br>
At the time of this writing, the whole codebase implicitly assumes that<br>
instances of CW*Type are together defining a unique data model.<br>
<br>
A CWSchema named "default" could be introduced that would contain all the<br>
instances of CW*Type. The codebase would have to be (heavily) modified to<br>
explicitly reference the "default" CWSchema.<br>
<br>
The second step would be to set permissions on CWSchema and allow some users to<br>
create instances of CWSchema and CW*Type, then execute queries and call views<br>
"in the context/namespace of CWSchema named XYZ".<br>
<br>
Lots of questins are open at this point and it will be needed to give<br>
that idea a try and see how it changes writing forms, classifying data<br>
(think "dynamic" thesaurus) and import/export data (think user-defined<br>
schema on top of "common" objects like persons, organisations and<br>
places).<br></blockquote><div><br></div></div><div>These part sounds promising. </div><div class="im"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">



<br>
Implementation<br>
--------------<br>
<br>
Not yet.<br>
<br>
::<br>
<br>
  CWSchema.name = String(required=True, unique=True)<br>
<br>
  CWRType [*]in_schema[1] CWSchema<br>
  CWEtype [*]in_schema[1] CWSchema<br>
<br>
Questions:<br>
<br>
- would yams or RQL need to be modified ?<br>
<br>
Discussion<br>
-----------<br>
<br>
Please comment.<br>
<span><font color="#888888"><br>
<br></font></span></blockquote><div><br></div></div><div><div>Althought my programming skills are far far away from... well from almost anyone, </div><div>I will closely follow this CWEP, eager to see in which part I could fit. </div>


</div><div class="im"><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<span><font color="#888888">
<br>
<br>
<br>
--<br>
Nicolas Chauvat<br>
<br>
<a href="http://logilab.fr" target="_blank">logilab.fr</a> - services en informatique scientifique et gestion de connaissances<br>
_______________________________________________<br>
Cubicweb mailing list<br>
<a href="mailto:Cubicweb@lists.cubicweb.org" target="_blank">Cubicweb@lists.cubicweb.org</a><br>
<a href="http://lists.cubicweb.org/mailman/listinfo/cubicweb" target="_blank">http://lists.cubicweb.org/mailman/listinfo/cubicweb</a><br>
</font></span></blockquote></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Celso FLORES<br>Knowledge Management Consultant<br>Mx. 044 81 80 75 04 73  <br><a href="mailto:celso.flores@crealibre.com" target="_blank">celso.flores@crealibre.com</a>        Skype: jcelsoflores
</font></span></div></div>
<br>_______________________________________________<br>
Cubicweb mailing list<br>
<a href="mailto:Cubicweb@lists.cubicweb.org">Cubicweb@lists.cubicweb.org</a><br>
<a href="http://lists.cubicweb.org/mailman/listinfo/cubicweb" target="_blank">http://lists.cubicweb.org/mailman/listinfo/cubicweb</a><br>
<br></blockquote></div><br></div>