11
I Use This!
Activity Not Available

News

Analyzed 4 months ago. based on code collected over 2 years ago.
Posted about 9 years ago by David Douard
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in January 2015. Christophe de Vienne (Unlish) and Aurélien Campéas (self-employed) joined us. Christophe de Vienne ... [More] asked for discussions on: Security Context: settle on an approach, and make it happen. Pyramid Cubicweb adoption: where are we? what authentication stack do we want by default? Package layout (aka "develop mode" friendliness): let's get real Documentation: is the restructuration attempt (https://www.cubicweb.org/ticket/4832808) a credible path for the documentation? Aurélien Campéas asked for discussions on: status of integration in the 3.21 branch a new API for cubicweb stores Sylvain Thénault asked for discussions on: a new API for dataimport (including cubicweb stores, but not only), new integrators on CW Versions Cubicweb Version 3.18 This version is stable but old and maintained (current is 3.18.8). Version 3.19 This version is stable and maintained (current is 3.19.9). Version 3.20 This version is now stable and maintained (current is 3.20.4). Version 3.21 See below Cubes cubicweb-bootstrap 0.6.6, 1.0.0, 1.0.1, 1.0.2 cubicweb-ckanpublish 0.1.0, 0.2.0 cubicweb-comment 1.11.0 cubicweb-company 0.6.1 cubicweb-forge 1.11.0 cubicweb-forgotpwd 0.6.2 cubicweb-iprogress 0.2.0 cubicweb-mandrill 0.4.0 cubicweb-nosylist 0.6.0 cubicweb-preview 1.1.1 cubicweb-registration 0.6.1 cubicweb-slickgrid 1.0.0 cubicweb-squareui 0.3.8, 1.0.0 cubicweb-testcard 0.5.0 cubicweb-tracker 1.16.2, 1.16.3 cubicweb-trackervcs 1.3.0 cubicweb-trustedauth 0.3.1 cubicweb-varnish 0.3.0 cubicweb-vcreview 2.1.0, 2.1.1 cubicweb-vcsfile 2.0.1, 2.0.2, 2.0.3 cubicweb-worker 3.0.5 cubicweb-wsme 0.1.6 narval 4.1.2 pyramid-cubicweb 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of may 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions New integrators Rémi Cardona (rcardona) and Denis Laxaldle (dlaxalde) have now the publish access level on Cubicweb repositories. Security context Christophe exposed his proposal for a "security context" in Cubicweb, as exposed in https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002278.html and https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002297.html with a proposition of implementation (see https://www.cubicweb.org/ticket/4919855 ) The idea has been validated based on a substitution variables, which names will start with "ctx:" (the RQL grammar will have to be modified to accept a ":") This will then allow to write RQL queries like (API still to be tuned): X owned_by U, U eid %(ctx:cwuser_eid)s Pyramid The pyramid-based web server proposed by Christophe and used for its unlish website is still under test and evaluation at Logilab. There are missing features (implemented in cubes) required to be able to deploy pyramid-cubicweb for most of the applications used at Logilab, especially cubicweb-signedrequest In order to make it possible to implement authentication cubes like cubicweb-signedrequest, the pyramid-cubicweb requires some modifications. These has been developped and are about to be published, along with a new version of signedrequest that provide pyramid compatibility. There are still some dependencies that lack a proper Debian package, but that should be done in the next few weeks. In order to properly identify pyramid-related code in a cube, it has been proposed that these code should go in modules in the cube named pviews and pconfig (note that most cube won't require any pyramid specific code). The includeme function should however be in the cube's main packgage (in the __init__.py file) There have been some discussions about the fact that, for now, a pyramid-cubicweb instance requires an anonymous user/access, which can also be a problem for some application. Layout Christophe pointed the fact that the directory/files layout of cubicweb and cubes do not follow current Python's de facto standards, which makes cubicweb hard to use in a context of virtualenv/pip based installation. There is the CWEP004 discussing some aspects of this problem. The decision has been taken to move toward a Cubicweb ecosystem that is more pip-friendly. This will be done step by step, starting with the dependencies (packages currently living in the logilab "namespace"). Then we will investigate the feasibility of migrating the layout of Cubicweb itself. Documentation The new documentation structure has been approved. It has been proposed (and more or less accepted) to extract the documentation in a dedicated project. This is not a priority, however. Roadmap for 3.21 No change since last meeting: the complete removal of the dbapi, the merging of Connection and ClientConnection. remains Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported: removed (too soon, pyramid-cubicweb's APIs are not stable enough) Integration of CWEP-003 (FROM clause for RQL): removed (will probably never be included unless someone needs it) CWEP-004 (cubes as standard python packages) is being discussed: removed (not for 3.21, see above) dataimports et stores A heavy refactoring is under way that concerns data import in CubicWeb. The main goal is to design a single API to be used by the various cubes that accelerate the insertion of data (dataio, massiveimport, fastimport, etc) as well as the internal CWSource and its data feeds. For details, see the thread on the mailing-list and the patches arriving in the review pipeline. [Less]
Posted about 9 years ago by David Douard
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in January 2015. Christophe de Vienne (Unlish) and Aurélien Campéas (self-employed) joined us. Christophe de Vienne ... [More] asked for discussions on: Security Context: settle on an approach, and make it happen. Pyramid Cubicweb adoption: where are we? what authentication stack do we want by default? Package layout (aka "develop mode" friendliness): let's get real Documentation: is the restructuration attempt (https://www.cubicweb.org/ticket/4832808) a credible path for the documentation? Aurélien Campéas asked for discussions on: status of integration in the 3.21 branch a new API for cubicweb stores Sylvain Thénault asked for discussions on: a new API for dataimport (including cubicweb stores, but not only), new integrators on CW Versions Cubicweb Version 3.18 This version is stable but old and maintained (current is 3.18.8). Version 3.19 This version is stable and maintained (current is 3.19.9). Version 3.20 This version is now stable and maintained (current is 3.20.4). Version 3.21 See below Cubes cubicweb-bootstrap 0.6.6, 1.0.0, 1.0.1, 1.0.2 cubicweb-ckanpublish 0.1.0, 0.2.0 cubicweb-comment 1.11.0 cubicweb-company 0.6.1 cubicweb-forge 1.11.0 cubicweb-forgotpwd 0.6.2 cubicweb-iprogress 0.2.0 cubicweb-mandrill 0.4.0 cubicweb-nosylist 0.6.0 cubicweb-preview 1.1.1 cubicweb-registration 0.6.1 cubicweb-slickgrid 1.0.0 cubicweb-squareui 0.3.8, 1.0.0 cubicweb-testcard 0.5.0 cubicweb-tracker 1.16.2, 1.16.3 cubicweb-trackervcs 1.3.0 cubicweb-trustedauth 0.3.1 cubicweb-varnish 0.3.0 cubicweb-vcreview 2.1.0, 2.1.1 cubicweb-vcsfile 2.0.1, 2.0.2, 2.0.3 cubicweb-worker 3.0.5 cubicweb-wsme 0.1.6 narval 4.1.2 pyramid-cubicweb 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of may 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions New integrators Rémi Cardona (rcardona) and Denis Laxaldle (dlaxalde) have now the publish access level on Cubicweb repositories. Security context Christophe exposed his proposal for a "security context" in Cubicweb, as exposed in https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002278.html and https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002297.html with a proposition of implementation (see https://www.cubicweb.org/ticket/4919855 ) The idea has been validated based on a substitution variables, which names will start with "ctx:" (the RQL grammar will have to be modified to accept a ":") This will then allow to write RQL queries like (API still to be tuned): X owned_by U, U eid %(ctx:cwuser_eid)s Pyramid The pyramid-based web server proposed by Christophe and used for its unlish website is still under test and evaluation at Logilab. There are missing features (implemented in cubes) required to be able to deploy pyramid-cubicweb for most of the applications used at Logilab, especially cubicweb-signedrequest In order to make it possible to implement authentication cubes like cubicweb-signedrequest, the pyramid-cubicweb requires some modifications. These has been developped and are about to be published, along with a new version of signedrequest that provide pyramid compatibility. There are still some dependencies that lack a proper Debian package, but that should be done in the next few weeks. In order to properly identify pyramid-related code in a cube, it has been proposed that these code should go in modules in the cube named pviews and pconfig (note that most cube won't require any pyramid specific code). The includeme function should however be in the cube's main packgage (in the __init__.py file) There have been some discussions about the fact that, for now, a pyramid-cubicweb instance requires an anonymous user/access, which can also be a problem for some application. Layout Christophe pointed the fact that the directory/files layout of cubicweb and cubes do not follow current Python's de facto standards, which makes cubicweb hard to use in a context of virtualenv/pip based installation. There is the CWEP004 discussing some aspects of this problem. The decision has been taken to move toward a Cubicweb ecosystem that is more pip-friendly. This will be done step by step, starting with the dependencies (packages currently living in the logilab "namespace"). Then we will investigate the feasibility of migrating the layout of Cubicweb itself. Documentation The new documentation structure has been approved. It has been proposed (and more or less accepted) to extract the documentation in a dedicated project. This is not a priority, however. Roadmap for 3.21 No change since last meeting: the complete removal of the dbapi, the merging of Connection and ClientConnection. remains Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported: removed (too soon, pyramid-cubicweb's APIs are not stable enough) Integration of CWEP-003 (FROM clause for RQL): removed (will probably never be included unless someone needs it) CWEP-004 (cubes as standard python packages) is being discussed: removed (not for 3.21, see above) dataimports et stores A heavy refactoring is under way that concerns data import in CubicWeb. The main goal is to design a single API to be used by the various cubes that accelerate the insertion of data (dataio, massiveimport, fastimport, etc) as well as the internal CWSource and its data feeds. For details, see the thread on the mailing-list and the patches arriving in the review pipeline. [Less]
Posted about 9 years ago by David Douard
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in January 2015. Christophe de Vienne (Unlish) and Aurélien Campéas (self-employed) joined us. Christophe de Vienne ... [More] asked for discussions on: Security Context: settle on an approach, and make it happen. Pyramid Cubicweb adoption: where are we? what authentication stack do we want by default? Package layout (aka "develop mode" friendliness): let's get real Documentation: is the restructuration attempt (https://www.cubicweb.org/ticket/4832808) a credible path for the documentation? Aurélien Campéas asked for discussions on: status of integration in the 3.21 branch a new API for cubicweb stores Sylvain Thénault asked for discussions on: a new API for dataimport (including cubicweb stores, but not only), new integrators on CW Versions Cubicweb Version 3.18 This version is stable but old and maintained (current is 3.18.8). Version 3.19 This version is stable and maintained (current is 3.19.9). Version 3.20 This version is now stable and maintained (current is 3.20.4). Version 3.21 See below Cubes cubicweb-bootstrap 0.6.6, 1.0.0, 1.0.1, 1.0.2 cubicweb-ckanpublish 0.1.0, 0.2.0 cubicweb-comment 1.11.0 cubicweb-company 0.6.1 cubicweb-forge 1.11.0 cubicweb-forgotpwd 0.6.2 cubicweb-iprogress 0.2.0 cubicweb-mandrill 0.4.0 cubicweb-nosylist 0.6.0 cubicweb-preview 1.1.1 cubicweb-registration 0.6.1 cubicweb-slickgrid 1.0.0 cubicweb-squareui 0.3.8, 1.0.0 cubicweb-testcard 0.5.0 cubicweb-tracker 1.16.2, 1.16.3 cubicweb-trackervcs 1.3.0 cubicweb-trustedauth 0.3.1 cubicweb-varnish 0.3.0 cubicweb-vcreview 2.1.0, 2.1.1 cubicweb-vcsfile 2.0.1, 2.0.2, 2.0.3 cubicweb-worker 3.0.5 cubicweb-wsme 0.1.6 narval 4.1.2 pyramid-cubicweb 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of may 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions New integrators Rémi Cardona (rcardona) and Denis Laxaldle (dlaxalde) have now the publish access level on Cubicweb repositories. Security context Christophe exposed his proposal for a "security context" in Cubicweb, as exposed in https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002278.html and https://lists.cubicweb.org/pipermail/cubicweb/2015-February/002297.html with a proposition of implementation (see https://www.cubicweb.org/ticket/4919855 ) The idea has been validated based on a substitution variables, which names will start with "ctx:" (the RQL grammar will have to be modified to accept a ":") This will then allow to write RQL queries like (API still to be tuned): X owned_by U, U eid %(ctx:cwuser_eid)s Pyramid The pyramid-based web server proposed by Christophe and used for its unlish website is still under test and evaluation at Logilab. There are missing features (implemented in cubes) required to be able to deploy pyramid-cubicweb for most of the applications used at Logilab, especially cubicweb-signedrequest In order to make it possible to implement authentication cubes like cubicweb-signedrequest, the pyramid-cubicweb requires some modifications. These has been developped and are about to be published, along with a new version of signedrequest that provide pyramid compatibility. There are still some dependencies that lack a proper Debian package, but that should be done in the next few weeks. In order to properly identify pyramid-related code in a cube, it has been proposed that these code should go in modules in the cube named pviews and pconfig (note that most cube won't require any pyramid specific code). The includeme function should however be in the cube's main packgage (in the __init__.py file) There have been some discussions about the fact that, for now, a pyramid-cubicweb instance requires an anonymous user/access, which can also be a problem for some application. Layout Christophe pointed the fact that the directory/files layout of cubicweb and cubes do not follow current Python's de facto standards, which makes cubicweb hard to use in a context of virtualenv/pip based installation. There is the CWEP004 discussing some aspects of this problem. The decision has been taken to move toward a Cubicweb ecosystem that is more pip-friendly. This will be done step by step, starting with the dependencies (packages currently living in the logilab "namespace"). Then we will investigate the feasibility of migrating the layout of Cubicweb itself. Documentation The new documentation structure has been approved. It has been proposed (and more or less accepted) to extract the documentation in a dedicated project. This is not a priority, however. Roadmap for 3.21 No change since last meeting: the complete removal of the dbapi, the merging of Connection and ClientConnection. remains Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported: removed (too soon, pyramid-cubicweb's APIs are not stable enough) Integration of CWEP-003 (FROM clause for RQL): removed (will probably never be included unless someone needs it) CWEP-004 (cubes as standard python packages) is being discussed: removed (not for 3.21, see above) dataimports et stores A heavy refactoring is under way that concerns data import in CubicWeb. The main goal is to design a single API to be used by the various cubes that accelerate the insertion of data (dataio, massiveimport, fastimport, etc) as well as the internal CWSource and its data feeds. For details, see the thread on the mailing-list and the patches arriving in the review pipeline. [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in November 2014. Here is the report about the January 8th, 2015 meeting. Christophe de Vienne (Unlish) and Aurélien ... [More] Campéas (self-employed) joined us to express their concerns and discuss the future of CubicWeb. Versions Version 3.18 This version is stable but old and maintained (current is 3.18.7). Version 3.19 This version is stable and maintained (current is 3.19.8). Version 3.20 This version has been released a few days ago. It has not been deployed on production systems yet. Its main features are: virtual relations: a new ComputedRelation class can be used in schema.py; its rule attribute is an RQL snippet that defines the new relation. computed attributes: an attribute can now be defined with a formula argument (also an RQL snippet); it will be read-only, and updated automatically. Both of these features are described in CWEP-002, and the updated "Data model" chapter of the CubicWeb book. cubicweb-ctl plugins can use the cubicweb.utils.admincnx function to get a Connection object from an instance name. new 'tornado' wsgi backend session cookies have the HttpOnly flag, so they're no longer exposed to javascript rich text fields can be formatted as markdown the edit controller detects concurrent editions, and raises a ValidationError if an entity was modified between form generation and submission cubicweb can use a postgresql "schema" (namespace) for its tables cubicweb-ctl configure can be used to set values of the admin user credentials in the sources configuration file For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection. Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-003 (FROM clause for RQL) and CWEP-004 (cubes as standard python packages) is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes apycot 3.2.0 cubicweb-brainomics 0.11.5 cubicweb-card 0.5.4 cubicweb-container 2.7.0 cubicweb-elections 0.2.0, 0.2.1 cubicweb-fastimport 0.2.1 cubicweb-forgotpwd 0.6.1 cubicweb-inlinedit 1.2.1 cubicweb-mercurial-server 0.6.0 cubicweb-nazcaui 0.3.1 cubicweb-registration 0.6.0 cubicweb-signedrequest 0.1.3 cubicweb-subprocess 0.2.1 cubicweb-timeseries 1.4.0 cubicweb-timesheet 0.12.0 cubicweb-trackervcs 1.2.0 cubicweb-transactionlog 0.3.0 cubicweb-treeview 0.1.1 cubicweb-vcreview 2.0.0 cubicweb-vcsfile 1.17.0, 2.0.0 cubicweb-vcwiki 0.3.0 cubicweb-worker 3.1.0 cubicweb-wsme 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5 narval 4.1.1 cwclientlib 0.2.1 pyramid-cubicweb 0.1.2, 0.1.3 rqlquery 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of march 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions Refactoring the documentation Christophe de Vienne suggested to completely revamp the documentation and intends to lead this effort. Training material Aurélien Campéas asks if Logilab would be willing to share its training material under a free license to help interested parties organize and sell trainings. Towards making squareui the default rendering engine for cubicweb We are expecting to be able to use squareui/bootstrap as "rendering engine" for our forge applications (like http://www.cubicweb.org and http://www.logilab.org) as soon as possible. However to achieve to goal, there are still too many "visual bugs", some of which may require a discussion. Among others: put the ctxtoolbar component in the <nav> div each box component should have an icon (what API for this?) we cannot easily make the left column of the main template responsive-aware (requires to change the html flow), so it's probably best to take inspiration from things like http://wrapbootstrap.com/preview/WB0N89JMK facet boxes are a mess, there is no simple solution to have a "smart layout" Migration AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there. [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in November 2014. Here is the report about the January 8th, 2015 meeting. Christophe de Vienne (Unlish) and Aurélien ... [More] Campéas (self-employed) joined us to express their concerns and discuss the future of CubicWeb. Versions Version 3.18 This version is stable but old and maintained (current is 3.18.7). Version 3.19 This version is stable and maintained (current is 3.19.8). Version 3.20 This version has been released a few days ago. It has not been deployed on production systems yet. Its main features are: virtual relations: a new ComputedRelation class can be used in schema.py; its rule attribute is an RQL snippet that defines the new relation. computed attributes: an attribute can now be defined with a formula argument (also an RQL snippet); it will be read-only, and updated automatically. Both of these features are described in CWEP-002, and the updated "Data model" chapter of the CubicWeb book. cubicweb-ctl plugins can use the cubicweb.utils.admincnx function to get a Connection object from an instance name. new 'tornado' wsgi backend session cookies have the HttpOnly flag, so they're no longer exposed to javascript rich text fields can be formatted as markdown the edit controller detects concurrent editions, and raises a ValidationError if an entity was modified between form generation and submission cubicweb can use a postgresql "schema" (namespace) for its tables cubicweb-ctl configure can be used to set values of the admin user credentials in the sources configuration file For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection. Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-003 (FROM clause for RQL) and CWEP-004 (cubes as standard python packages) is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes apycot 3.2.0 cubicweb-brainomics 0.11.5 cubicweb-card 0.5.4 cubicweb-container 2.7.0 cubicweb-elections 0.2.0, 0.2.1 cubicweb-fastimport 0.2.1 cubicweb-forgotpwd 0.6.1 cubicweb-inlinedit 1.2.1 cubicweb-mercurial-server 0.6.0 cubicweb-nazcaui 0.3.1 cubicweb-registration 0.6.0 cubicweb-signedrequest 0.1.3 cubicweb-subprocess 0.2.1 cubicweb-timeseries 1.4.0 cubicweb-timesheet 0.12.0 cubicweb-trackervcs 1.2.0 cubicweb-transactionlog 0.3.0 cubicweb-treeview 0.1.1 cubicweb-vcreview 2.0.0 cubicweb-vcsfile 1.17.0, 2.0.0 cubicweb-vcwiki 0.3.0 cubicweb-worker 3.1.0 cubicweb-wsme 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5 narval 4.1.1 cwclientlib 0.2.1 pyramid-cubicweb 0.1.2, 0.1.3 rqlquery 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of march 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions Refactoring the documentation Christophe de Vienne suggested to completely revamp the documentation and intends to lead this effort. Training material Aurélien Campéas asks if Logilab would be willing to share its training material under a free license to help interested parties organize and sell trainings. Towards making squareui the default rendering engine for cubicweb We are expecting to be able to use squareui/bootstrap as "rendering engine" for our forge applications (like http://www.cubicweb.org and http://www.logilab.org) as soon as possible. However to achieve to goal, there are still too many "visual bugs", some of which may require a discussion. Among others: put the ctxtoolbar component in the <nav> div each box component should have an icon (what API for this?) we cannot easily make the left column of the main template responsive-aware (requires to change the html flow), so it's probably best to take inspiration from things like http://wrapbootstrap.com/preview/WB0N89JMK facet boxes are a mess, there is no simple solution to have a "smart layout" Migration AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there. [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in November 2014. Here is the report about the January 8th, 2015 meeting. Christophe de Vienne (Unlish) and Aurélien ... [More] Campéas (self-employed) joined us to express their concerns and discuss the future of CubicWeb. Versions Version 3.18 This version is stable but old and maintained (current is 3.18.7). Version 3.19 This version is stable and maintained (current is 3.19.8). Version 3.20 This version has been released a few days ago. It has not been deployed on production systems yet. Its main features are: virtual relations: a new ComputedRelation class can be used in schema.py; its rule attribute is an RQL snippet that defines the new relation. computed attributes: an attribute can now be defined with a formula argument (also an RQL snippet); it will be read-only, and updated automatically. Both of these features are described in CWEP-002, and the updated "Data model" chapter of the CubicWeb book. cubicweb-ctl plugins can use the cubicweb.utils.admincnx function to get a Connection object from an instance name. new 'tornado' wsgi backend session cookies have the HttpOnly flag, so they're no longer exposed to javascript rich text fields can be formatted as markdown the edit controller detects concurrent editions, and raises a ValidationError if an entity was modified between form generation and submission cubicweb can use a postgresql "schema" (namespace) for its tables cubicweb-ctl configure can be used to set values of the admin user credentials in the sources configuration file For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection. Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-003 (FROM clause for RQL) and CWEP-004 (cubes as standard python packages) is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes apycot 3.2.0 cubicweb-brainomics 0.11.5 cubicweb-card 0.5.4 cubicweb-container 2.7.0 cubicweb-elections 0.2.0, 0.2.1 cubicweb-fastimport 0.2.1 cubicweb-forgotpwd 0.6.1 cubicweb-inlinedit 1.2.1 cubicweb-mercurial-server 0.6.0 cubicweb-nazcaui 0.3.1 cubicweb-registration 0.6.0 cubicweb-signedrequest 0.1.3 cubicweb-subprocess 0.2.1 cubicweb-timeseries 1.4.0 cubicweb-timesheet 0.12.0 cubicweb-trackervcs 1.2.0 cubicweb-transactionlog 0.3.0 cubicweb-treeview 0.1.1 cubicweb-vcreview 2.0.0 cubicweb-vcsfile 1.17.0, 2.0.0 cubicweb-vcwiki 0.3.0 cubicweb-worker 3.1.0 cubicweb-wsme 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5 narval 4.1.1 cwclientlib 0.2.1 pyramid-cubicweb 0.1.2, 0.1.3 rqlquery 0.2.0, 0.2.1 Agenda Next roadmap meeting will be held at the beginning of march 2015 at Logilab. Interested parties are invited to get in touch. Open Discussions Refactoring the documentation Christophe de Vienne suggested to completely revamp the documentation and intends to lead this effort. Training material Aurélien Campéas asks if Logilab would be willing to share its training material under a free license to help interested parties organize and sell trainings. Towards making squareui the default rendering engine for cubicweb We are expecting to be able to use squareui/bootstrap as "rendering engine" for our forge applications (like http://www.cubicweb.org and http://www.logilab.org) as soon as possible. However to achieve to goal, there are still too many "visual bugs", some of which may require a discussion. Among others: put the ctxtoolbar component in the div each box component should have an icon (what API for this?) we cannot easily make the left column of the main template responsive-aware (requires to change the html flow), so it's probably best to take inspiration from things like http://wrapbootstrap.com/preview/WB0N89JMK facet boxes are a mess, there is no simple solution to have a "smart layout" Migration AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there. [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in September 2014. Here is the report about the November 6th, 2014 meeting. Christophe de Vienne (Unlish) joined us ... [More] to express their concerns and discuss the future of CubicWeb. Dimitri Papadopoulos (CEA) could not come. Versions Version 3.17 This version is stable but old and maintainance will continue only as long as some customers will be willing to pay for it (current is 3.17.17). If you're still using 3.17, you should go directly to 3.19. Version 3.18 This version is stable but old and maintained (current is 3.18.6). Version 3.19 This version is stable and maintained (current is 3.19.5). Version 3.20 This version is still under development but should be released very soon now (expected next week). Its main feature being the inclusion of CWEP-002 (computed attributes and relations), along with many small improvement patches. For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection, and possibly including CWEP-003 (adding a FROM clause to RQL). Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-004 is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes cubicweb-bootstrap (0.6.5) cubicweb-brainomics (0.11.4, 0.12.0) cubicweb-clinipath (0.2.1, 0.2.2) cubicweb-collaboration (1.0.1) cubicweb-fastimport (0.2.0) cubicweb-file (1.16.1) cubicweb-forge (1.10.2) cubicweb-forgotpwd (0.6.0) cubicweb-invoice (0.8.0) cubicweb-leaflet (0.2.1, 0.3.0) cubicweb-mediaplayer (0.1.3, 0.1.4) cubicweb-medicalexp (0.12.3) cubicweb-osmfrance (0.2.2) cubicweb-person (1.8.1, 1.9.0) cubicweb-postgis (0.3.0) cubicweb-relationwidget (0.2.0) cubicweb-rqlcontroller (0.2.0, 0.3.0) cubicweb-squareui (0.3.7) cubicweb-subprocess (0.2.0) cubicweb-tracker (1.16.1) cubicweb-transactionlog (0.2.0, 0.2.1) cubicweb-worker (3.0.3, 3.0.4) cubicweb-wsme (0.1.0) cwclientlib (0.2.0) cwtags (1.1.0) New cubes and libraries cubicweb-i18nfield (0.1.0) cubicweb-pyramid (0.1.0) cubicweb-massmailing (0.1.0) cubicweb-wsme (0.1.0) pyramid-cubicweb (0.1.0, 0.1.1) rqlquery (0.1.0, 0.1.1) CWEPs Here is the status of open CubicWeb Evolution Proposals: to be written Work in progress Some work is in progress around CKAN, DCAT and othr Open Data and Semantic Web related technologies. Agenda Next roadmap meeting will be held at the beginning of january 2015 at Logilab, and Christophe and Dimitri (or Yann) are invited. Open Discussions Migration: AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in September 2014. Here is the report about the November 6th, 2014 meeting. Christophe de Vienne (Unlish) joined us ... [More] to express their concerns and discuss the future of CubicWeb. Dimitri Papadopoulos (CEA) could not come. Versions Version 3.17 This version is stable but old and maintainance will continue only as long as some customers will be willing to pay for it (current is 3.17.17). If you're still using 3.17, you should go directly to 3.19. Version 3.18 This version is stable but old and maintained (current is 3.18.6). Version 3.19 This version is stable and maintained (current is 3.19.5). Version 3.20 This version is still under development but should be released very soon now (expected next week). Its main feature being the inclusion of CWEP-002 (computed attributes and relations), along with many small improvement patches. For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection, and possibly including CWEP-003 (adding a FROM clause to RQL). Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-004 is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes cubicweb-bootstrap (0.6.5) cubicweb-brainomics (0.11.4, 0.12.0) cubicweb-clinipath (0.2.1, 0.2.2) cubicweb-collaboration (1.0.1) cubicweb-fastimport (0.2.0) cubicweb-file (1.16.1) cubicweb-forge (1.10.2) cubicweb-forgotpwd (0.6.0) cubicweb-invoice (0.8.0) cubicweb-leaflet (0.2.1, 0.3.0) cubicweb-mediaplayer (0.1.3, 0.1.4) cubicweb-medicalexp (0.12.3) cubicweb-osmfrance (0.2.2) cubicweb-person (1.8.1, 1.9.0) cubicweb-postgis (0.3.0) cubicweb-relationwidget (0.2.0) cubicweb-rqlcontroller (0.2.0, 0.3.0) cubicweb-squareui (0.3.7) cubicweb-subprocess (0.2.0) cubicweb-tracker (1.16.1) cubicweb-transactionlog (0.2.0, 0.2.1) cubicweb-worker (3.0.3, 3.0.4) cubicweb-wsme (0.1.0) cwclientlib (0.2.0) cwtags (1.1.0) New cubes and libraries cubicweb-i18nfield (0.1.0) cubicweb-pyramid (0.1.0) cubicweb-massmailing (0.1.0) cubicweb-wsme (0.1.0) pyramid-cubicweb (0.1.0, 0.1.1) rqlquery (0.1.0, 0.1.1) CWEPs Here is the status of open CubicWeb Evolution Proposals: to be written Work in progress Some work is in progress around CKAN, DCAT and othr Open Data and Semantic Web related technologies. Agenda Next roadmap meeting will be held at the beginning of january 2015 at Logilab, and Christophe and Dimitri (or Yann) are invited. Open Discussions Migration: AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there [Less]
Posted over 9 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in September 2014. Here is the report about the November 6th, 2014 meeting. Christophe de Vienne (Unlish) joined us to ... [More] express their concerns and discuss the future of CubicWeb. Dimitri Papadopoulos (CEA) could not come. Versions Version 3.17 This version is stable but old and maintainance will continue only as long as some customers will be willing to pay for it (current is 3.17.17). If you're still using 3.17, you should go directly to 3.19. Version 3.18 This version is stable but old and maintained (current is 3.18.6). Version 3.19 This version is stable and maintained (current is 3.19.5). Version 3.20 This version is still under development but should be released very soon now (expected next week). Its main feature being the inclusion of CWEP-002 (computed attributes and relations), along with many small improvement patches. For details read list of tickets for CubicWeb 3.20.0. We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price). Version 3.21 For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection, and possibly including CWEP-003 (adding a FROM clause to RQL). Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported. Integration of CWEP-004 is being discussed. Version 4.0 We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want: be pyramid-based (remove twisted, auth management, etc.), do not have anything left of old dbapi and ClientConnection, integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system. Cubes cubicweb-bootstrap (0.6.5) cubicweb-brainomics (0.11.4, 0.12.0) cubicweb-clinipath (0.2.1, 0.2.2) cubicweb-collaboration (1.0.1) cubicweb-fastimport (0.2.0) cubicweb-file (1.16.1) cubicweb-forge (1.10.2) cubicweb-forgotpwd (0.6.0) cubicweb-invoice (0.8.0) cubicweb-leaflet (0.2.1, 0.3.0) cubicweb-mediaplayer (0.1.3, 0.1.4) cubicweb-medicalexp (0.12.3) cubicweb-osmfrance (0.2.2) cubicweb-person (1.8.1, 1.9.0) cubicweb-postgis (0.3.0) cubicweb-relationwidget (0.2.0) cubicweb-rqlcontroller (0.2.0, 0.3.0) cubicweb-squareui (0.3.7) cubicweb-subprocess (0.2.0) cubicweb-tracker (1.16.1) cubicweb-transactionlog (0.2.0, 0.2.1) cubicweb-worker (3.0.3, 3.0.4) cubicweb-wsme (0.1.0) cwclientlib (0.2.0) cwtags (1.1.0) New cubes and libraries cubicweb-i18nfield (0.1.0) cubicweb-pyramid (0.1.0) cubicweb-massmailing (0.1.0) cubicweb-wsme (0.1.0) pyramid-cubicweb (0.1.0, 0.1.1) rqlquery (0.1.0, 0.1.1) CWEPs Here is the status of open CubicWeb Evolution Proposals: to be written Work in progress Some work is in progress around CKAN, DCAT and othr Open Data and Semantic Web related technologies. Agenda Next roadmap meeting will be held at the beginning of january 2015 at Logilab, and Christophe and Dimitri (or Yann) are invited. Open Discussions Migration: AppObjects should not be loaded by default Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there [Less]
Posted over 9 years ago by Denis Laxalde
The datafeed API is one of the nice features of the CubicWeb framework. It makes it possible to easily build such things as a news aggregator (or even a semantic news feed reader), a LDAP importer or an application importing data from another web ... [More] platform. The underlying API is quite flexible and powerful. Yet, the documentation being quite thin, it may be hard to find one's way through. In this article, we'll describe the basics of the datafeed API and provide guiding examples. The datafeed API is essentially built around two things: a CWSource entity and a parser, which is a kind of AppObject. The CWSource entity defines a list of URL from which to fetch data to be imported in the current CubicWeb instance, it is linked to a parser through its __regid__. So something like the following should be enough to create a usable datafeed source [1]. create_entity('CWSource', name=u'some name', type='datafeed', parser=u'myparser') The parser is usually a subclass of DataFeedParser (from cubicweb.server.sources.datafeed). It should at least implement the two methods process and before_entity_copy. To make it easier, there are specialized parsers such as DataFeedXMLParser that already define process so that subclasses only have to implement the process_item method. Overview of the datafeed API Before going into further details about the actual implementation of a DataFeedParser, it's worth having in mind a few details about the datafeed parsing and import process. This involves various players from the CubicWeb server, namely: a DataFeedSource (from cubicweb.server.sources.datafeed), the Repository and the DataFeedParser. Everything starts from the Repository which loops over its sources and pulls data from each of these (this is done using a looping task which is setup upon repository startup). In the case of datafeed sources, Repository sources are instances of the aforementioned DataFeedSource class [2]. The DataFeedSource selects the appropriate parser from the registry and loops on each uri defined in the respective CWSource entity by calling the parser's process method with that uri as argument (methods pull_data and process_urls of DataFeedSource). If the result of the parsing step is successful, the DataFeedSource will call the parser's handle_deletion method, with the URI of the previously imported entities. Then, the import log is formatted and the transaction committed. The DataFeedSource and DataFeedParser are connected to an import_log which feeds the CubicWeb instance with a CWDataImport per data pull. This usually contains the number of created and updated entities along with any error/warning message logged by the parser. All this is visible in a table from the CWSource primary view. So now, you might wonder what actually happens during the parser's process method call. This method takes an URL from which to fetch data and processes further each piece of data (using a process_item method for instance). For each data-item: the repository is queried to retrieve or create an entity in the system source: this is done using the extid2entity method; this extid2entity method essentially needs two pieces of information:a so-called extid, which uniquely identifies an item in the distant source any other information needed to create or update the corresponding entity in the system source (this will be later refered to as the sourceparams) then, given the (new or existing) entity returned by extid2entity, the parser can perform further postprocessing (for instance, updating any relation on this entity). In step 1 above, the parser method extid2entity in turns calls the repository method extid2eid given the current source and the extid value. If an entry in the entities table matches with the specified extid, the corresponding eid (identifier in the system source) is returned. Otherwise, a new eid is created. It's worth noting that the created entity (in case the entity is to be created) is not complete with respect to the data model at this point. In order the entity to be completed, the source method before_entity_insertion is called. This is where the aforementioned sourceparams are used. More specifically, on the parser side the before_entity_copy method is called: it usually just updates (using entity.cw_set() for instance) the fetched entity with any relevant information. Case study: a news feeds parser Now we'll go through a concrete example to illustrate all those fairly abstract concepts and implement a datafeed parser which can be used to import news feeds. Our parser will create entities of type FeedArticle, which minimal data model would be: class FeedArticle(EntityType): title = String(fulltextindexed=True) uri = String(unique=True) author = String(fulltextindexed=True) content = RichString(fulltextindexed=True, default_format='text/html') Here we'll reuse the DataFeedXMLParser, not because we have XML data to parse, but because its interface fits well with our purpose, namely: it ships an item-based processing (a process_item method) and it relies on a parse method to fetch raw data. The underlying parsing of the news feed resources will be handled by feedparser. class FeedParser(DataFeedXMLParser): __regid__ = 'newsaggregator.feed-parser' The parse method is called by process, it should return a list tuples with items information. def parse(self, url): """Delegate to feedparser to retrieve feed items""" data = feedparser.parse(url) return zip(data.entries) Then the process_item method takes an individual item (i.e. an entry of the result obtained from feedparser in our case). It essentially defines an extid, here the uri of the feed entry (good candidate for unicity) and calls extid2entity with that extid, the entity type to be created / retrieved and any additional data useful for entity completion passed as keyword arguments. (The process_feed method call just transforms the results obtained from feedparser into a dict suitable for entity creation following the data model described above.) def process_item(self, entry): data = self.process_feed(entry) extid = data['uri'] entity = self.extid2entity(extid, 'FeedArticle', feeddata=data) The before_entity_copy method is called before the entity is actually created (or updated) in order to give the parser a chance to complete it with any other attribute that could be set from source data (namely feedparser data in our case). def before_entity_copy(self, entity, sourceparams): feeddata = sourceparams['feeddata'] entity.cw_edited.update(feeddata) And this is all what's essentially needed for a simple parser. Further details could be found in the news aggregator cube. More sophisticated parsers may use other concepts not described here, such as source mappings. Testing datafeed parsers Testing a datafeed parser often involves pulling data from the corresponding datafeed source. Here is a minimal test snippet that illustrates how to retrieve the datafeed source from a CWSource entity and to pull data from it. with self.admin_access.repo_cnx() as cnx: # Assuming one knows the URI of a CWSource. rset = cnx.execute('CWSource X WHERE X uri %s' % uri) # Retrieve the datafeed source instance. dfsource = self.repo.sources_by_eid[rset[0][0]] # Make sure it's parser matches the expected. self.assertEqual(dfsource.parser_id, '<my-parser-id>') # Pull data using an internal connection. with self.repo.internal_cnx() as icnx: stats = dfsource.pull_data(icnx, force=True, raise_on_error=True) icnx.commit() The resulting stats is a dictionnary containing eids of created and updated entities during the pull. In addition all entities created should have the cw_source relation set to the corresponding CWSource entity. Notes [1]It is possible to add some configuration to the CWSource entity in the form a string of configuration items (one per line). Noteworthy items are: the synchronization-interval; use-cwuri-as-url=no, which avoids using external URL inside the CubicWeb instance (leading to any link on an imported entity to point to the external source URI); delete-entities=[yes,no] which controls if entities not found anymore in the distant source should be deleted from the CubicWeb instance. [2]The mapping between CWSource entities' type (e.g. "datafeed") and DataFeedSource object is quite unusual as it does not rely on the vreg but uses a specific sources registry (defined in cubicweb.server.SOURCE_TYPES). [Less]