11
I Use This!
Activity Not Available

News

Analyzed 4 months ago. based on code collected over 2 years ago.
Posted almost 10 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 May 2014. Here is the report about the July 3rd, 2014 meeting. Christophe de Vienne (Unlish) and Dimitri ... [More] Papadopoulos (CEA) joined us to express their concerns and discuss the future of CubicWeb. 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.15 with 3.17.16 in development). Version 3.18 This version is stable and maintained (current is 3.18.5 with 3.18.6 in development). Version 3.19 This version was published at the end of April and has now been tested on our internal servers. It includes support for Cross Origin Resource Sharing (CORS) and a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read the release notes or the list of tickets for CubicWeb 3.19.0. Current is 3.19.2 Version 3.20 This version is under development. It will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should still include the work done for CWEP-002 (computed attributes and relations. For details read list of tickets for CubicWeb 3.20.0. Version 3.21 (or maybe 4.0?) Removal of the dbapi, merging of Connection and ClientConnection, CWEP-003 (adding a FROM clause to RQL). Cubes Cubes published over the past two months apycot (3.0.0 and 3.0.1), cubicweb-bootstrap (0.6.4) cubicweb-brainomics (0.10.0, 0.11.0 and 0.11.1) cubicweb-clinipath (0.1.0 and 0.2.0) cubicweb-container (2.5.0) cubicweb-fastimport (0.1.0) cubicweb-forgotpwd (0.5.0) cubicweb-genomics (0.9.0 and 0.10.0) cubicweb-jqplot (0.4.1) cubicweb-leaflet (0.2.0) cubicweb-localperms (0.3.0) cubicweb-mandrill (0.2.1 and 0.3.0) cubicweb-medicalexp (0.11.0, 0.12.0, 0.12.1) cubicweb-mercurial-server (0.5.0) cubicweb-neuroimaging (0.7.0) cubicweb-oauth (0.2.0, 0.3.0) cubicweb-questionnaire (0.7.0) cubicweb-registration (0.5.0) cubicweb-searchui (0.1.0) cubicweb-seo (0.2.1) cubicweb-signedrequest (0.1.2) cubicweb-squareui (0.3.4, 0.3.5, 0.3.6) cubicweb-tracker (1.15.3, 1.16.0) cubicweb-vcreview (1.3.0) cubicweb-vcrs (0.2.0) cubicweb-vtimeline (0.5.0) cubicweb-worker (3.0.1) narval (4.0.0) New cubes cubicweb-frbr: Cube providing a schema based on FRBR entities cubicweb-clinipath cubicweb-fastimport CWEPs Here is the status of open CubicWeb Evolution Proposals: CWEP-0002 only missing a bit of migration support, to be finished soon for inclusion in 3.20. CWEP-0003 has been reviewed and is waiting for a bit of reshaping that should occurs soon. It's targeted for 3.21. New CWEPs are expected to be written for clarifying the API of the _cw object, supporting persistent sessions and improving the performance of massive imports. Work in progress Design The new logo is now published in the 3.19 line. David showed us his experimentation that modernize a forge's ui with a bit of CSS. There is still a bit of pressure on the bootstrap side though, as it still rely on heavy monkey-patching in the cubicweb-bootstrap cube. Data import Also, Dimitry expressed is concerns with the lack of proper data import API. We should soon have some feedback from Aurelien's cubicweb-fastimport experimentation, which may be an answer to Dimitry's need. In the end, we somewhat agreed that there were different needs (eg massive-no-consistency import vs not-so-big-but-still-safe), that cubicweb.dataimport was an attempt to answer them all and then cubicweb-dataio and cubicweb-fastimport were more specific responses. In the end we may reasonably hope that an API will emerge. Removals On his way to persistent sessions, Aurélien made a huge progress toward silence of warnings in the 3.19 tests. dbapi has been removed, ClientConnection / Connection merged. We decided to take some time to think about the recurring task management as it is related to other tricky topics (application / instance configuration) and it's not directly related to persistent session. Rebasing on Pyramid Last but not least, Christophe demonstrated that CubicWeb could basically live with Pyramid. This experimentation will be pursued as it sounds very promising to get the good parts from the two framework. Agenda Logilab's next roadmap meeting will be held at the beginning of september 2014 and Christophe and Dimitri were invited. [Less]
Posted almost 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the May 15th, 2014 meeting. The previous report posted to the blog was the march 2014 roadmap. Versions Version 3.17 ... [More] 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.15). Version 3.18 This version is stable and maintained (current is 3.18.4). Version 3.19 This version was published at the end of April. It includes support for Cross Origin Resource Sharing (CORS) and a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read the release notes or the list of tickets for CubicWeb 3.19.0. Version 3.20 This version is under development. It will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and the merging of Connection and ClientConnection if it happens to be simple enough to get done quickly (in case the removal of dbapi would really help, this merging will wait for 3.21). For details read list of tickets for CubicWeb 3.20.0. Version 3.21 (or maybe 4.0?) Removal of the dbapi and merging of CWEP-003 (adding a FROM clause to RQL). Cubes Here is a list of cubes that had versions published over the past two months: accidents, awstats, book, bootstrap, brainomics, cmt, collaboration, condor, container, dataio, expense, faq, file, forge, forum, genomics, geocoding, inlineedit, inventory, keyword, link, mailinglist, mediaplayer, medicalexp, nazcaui, ner, neuroimaging, newsaggregator, processing, questionnaire, rqlcontroller, semnews, signedrequest, squareui, task, testcard, timesheet, tracker, treeview, vcsfile, workorder. Here are a the new cubes we are pleased to announce: rqlcontroller receives via a POST a list of RQL queries and executes them. This is a way to build web services. wsme is helping build a web service API on top of a CubicWeb database. signedrequest is a simple token based authentication system. This is a way for scripts or callback urls to access an instance without login/pwd information. relationwidget is a widget usable in forms to edit relationships between objects. It depends on CubicWeb 3.19. searchui is an experiment on adding blocks to the list of facets that allow building complex RQL queries step by step by clicking with the mouse instead of directly writing the RQL with the keyboard. ckan is using the REST API of a CKAN data portal to mirror its content. CWEPs Here is the status of open CubicWeb Evolution Proposals: CWEP-0002 is now in good shape and the goal is to have it merged into 3.20. It lacks some documentation and a migration script. CWEP-0003 has made good progress during the latest sprint, but will need a thorough review before being merged. It will probably not be ready for 3.20 and have to wait for 3.21. New CWEPs are expected to be written for clarifying the API of the _cw object, supporting persistent sessions and improving the performance of massive imports. Visual identity CubicWeb has a new logo that will appear before the end of may on its revamped homepage at http://www.cubicweb.org Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of july 2014. [Less]
Posted almost 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the May 15th, 2014 meeting. The previous report posted to the blog was the march 2014 roadmap. Versions Version 3.17 ... [More] 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.15). Version 3.18 This version is stable and maintained (current is 3.18.4). Version 3.19 This version was published at the end of April. It includes support for Cross Origin Resource Sharing (CORS) and a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read the release notes or the list of tickets for CubicWeb 3.19.0. Version 3.20 This version is under development. It will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and the merging of Connection and ClientConnection if it happens to be simple enough to get done quickly (in case the removal of dbapi would really help, this merging will wait for 3.21). For details read list of tickets for CubicWeb 3.20.0. Version 3.21 (or maybe 4.0?) Removal of the dbapi and merging of CWEP-003 (adding a FROM clause to RQL). Cubes Here is a list of cubes that had versions published over the past two months: accidents, awstats, book, bootstrap, brainomics, cmt, collaboration, condor, container, dataio, expense, faq, file, forge, forum, genomics, geocoding, inlineedit, inventory, keyword, link, mailinglist, mediaplayer, medicalexp, nazcaui, ner, neuroimaging, newsaggregator, processing, questionnaire, rqlcontroller, semnews, signedrequest, squareui, task, testcard, timesheet, tracker, treeview, vcsfile, workorder. Here are a the new cubes we are pleased to announce: rqlcontroller receives via a POST a list of RQL queries and executes them. This is a way to build web services. wsme is helping build a web service API on top of a CubicWeb database. signedrequest is a simple token based authentication system. This is a way for scripts or callback urls to access an instance without login/pwd information. relationwidget is a widget usable in forms to edit relationships between objects. It depends on CubicWeb 3.19. searchui is an experiment on adding blocks to the list of facets that allow building complex RQL queries step by step by clicking with the mouse instead of directly writing the RQL with the keyboard. ckan is using the REST API of a CKAN data portal to mirror its content. CWEPs Here is the status of open CubicWeb Evolution Proposals: CWEP-0002 is now in good shape and the goal is to have it merged into 3.20. It lacks some documentation and a migration script. CWEP-0003 has made good progress during the latest sprint, but will need a thorough review before being merged. It will probably not be ready for 3.20 and have to wait for 3.21. New CWEPs are expected to be written for clarifying the API of the _cw object, supporting persistent sessions and improving the performance of massive imports. Visual identity CubicWeb has a new logo that will appear before the end of may on its revamped homepage at http://www.cubicweb.org Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of july 2014. [Less]
Posted almost 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the May 15th, 2014 meeting. The previous report posted to the blog was the march 2014 roadmap. Versions Version 3.17 This ... [More] 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.15). Version 3.18 This version is stable and maintained (current is 3.18.4). Version 3.19 This version was published at the end of April. It includes support for Cross Origin Resource Sharing (CORS) and a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read the release notes or the list of tickets for CubicWeb 3.19.0. Version 3.20 This version is under development. It will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and the merging of Connection and ClientConnection if it happens to be simple enough to get done quickly (in case the removal of dbapi would really help, this merging will wait for 3.21). For details read list of tickets for CubicWeb 3.20.0. Version 3.21 (or maybe 4.0?) Removal of the dbapi and merging of CWEP-003 (adding a FROM clause to RQL). Cubes Here is a list of cubes that had versions published over the past two months: accidents, awstats, book, bootstrap, brainomics, cmt, collaboration, condor, container, dataio, expense, faq, file, forge, forum, genomics, geocoding, inlineedit, inventory, keyword, link, mailinglist, mediaplayer, medicalexp, nazcaui, ner, neuroimaging, newsaggregator, processing, questionnaire, rqlcontroller, semnews, signedrequest, squareui, task, testcard, timesheet, tracker, treeview, vcsfile, workorder. Here are a the new cubes we are pleased to announce: rqlcontroller receives via a POST a list of RQL queries and executes them. This is a way to build web services. wsme is helping build a web service API on top of a CubicWeb database. signedrequest is a simple token based authentication system. This is a way for scripts or callback urls to access an instance without login/pwd information. relationwidget is a widget usable in forms to edit relationships between objects. It depends on CubicWeb 3.19. searchui is an experiment on adding blocks to the list of facets that allow building complex RQL queries step by step by clicking with the mouse instead of directly writing the RQL with the keyboard. ckan is using the REST API of a CKAN data portal to mirror its content. CWEPs Here is the status of open CubicWeb Evolution Proposals: CWEP-0002 is now in good shape and the goal is to have it merged into 3.20. It lacks some documentation and a migration script. CWEP-0003 has made good progress during the latest sprint, but will need a thorough review before being merged. It will probably not be ready for 3.20 and have to wait for 3.21. New CWEPs are expected to be written for clarifying the API of the _cw object, supporting persistent sessions and improving the performance of massive imports. Visual identity CubicWeb has a new logo that will appear before the end of may on its revamped homepage at http://www.cubicweb.org Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of july 2014. [Less]
Posted almost 10 years ago by Aurelien Campeas
New functionalities implement Cross Origin Resource Sharing (CORS) (see #2491768) system_source.create_eid can return a range of IDs, to reduce overhead of batch entity creation Behaviour Changes The anonymous property of Session and ... [More] Connection is now computed from the related user login. If it matches the anonymous-user in the config the connection is anonymous. Beware that the anonymous-user config is web specific. Therefore, no session may be anonymous in a repository only setup. New Repository Access API Connection replaces Session A new explicit Connection object replaces Session as the main repository entry point. A Connection holds all the necessary methods to be used server-side (execute, commit, rollback, call_service, entity_from_eid, etc...). One obtains a new Connection object using session.new_cnx(). Connection objects need to have an explicit begin and end. Use them as a context manager to never miss an end: with session.new_cnx() as cnx: cnx.execute('INSERT Elephant E, E name "Babar"') cnx.commit() cnx.execute('INSERT Elephant E, E name "Celeste"') cnx.commit() # Once you get out of the "with" clause, the connection is closed. Using the same Connection object in multiple threads will give you access to the same Transaction. However, Connection objects are not thread safe (hence at your own risks). repository.internal_session is deprecated in favor of repository.internal_cnx. Note that internal connections are now safe by default, i.e. the integrity hooks are enabled. Backward compatibility is preserved on Session. dbapi vs repoapi A new API has been introduced to replace the dbapi. It is called repoapi. There are three relevant functions for now: repoapi.get_repository returns a Repository object either from an URI when used as repoapi.get_repository(uri) or from a config when used as repoapi.get_repository(config=config). repoapi.connect(repo, login, **credentials) returns a ClientConnection associated with the user identified by the credentials. The ClientConnection is associated with its own Session that is closed when the ClientConnection is closed. A ClientConnection is a Connection-like object to be used client side. repoapi.anonymous_cnx(repo) returns a ClientConnection associated with the anonymous user if described in the config. repoapi.ClientConnection replaces dbapi.Connection and company On the client/web side, the Request is now using a repoapi.ClientConnection instead of a dbapi.Connection. The ClientConnection has multiple backward compatible methods to make it look like a dbapi.Cursor and dbapi.Connection. Sessions used on the Web side are now the same as the ones used Server side. Some backward compatibility methods have been installed on the server side Session to ease the transition. The authentication stack has been altered to use the repoapi instead of the dbapi. Cubes adding new elements to this stack are likely to break. New API in tests All current methods and attributes used to access the repo on CubicWebTC are deprecated. You may now use a RepoAccess object. A RepoAccess object is linked to a new Session for a specified user. It is able to create Connection, ClientConnection and web side requests linked to this session: access = self.new_access('babar') # create a new RepoAccess for user babar with access.repo_cnx() as cnx: # some work with server side cnx cnx.execute(...) cnx.commit() cnx.execute(...) cnx.commit() with access.client_cnx() as cnx: # some work with client side cnx cnx.execute(...) cnx.commit() with access.web_request(elephant='babar') as req: # some work with web request elephant_name = req.form['elephant'] req.execute(...) req.cnx.commit() By default testcase.admin_access contains a RepoAccess object for the default admin session. API changes RepositorySessionManager.postlogin is now called with two arguments, request and session. And this now happens before the session is linked to the request. SessionManager and AuthenticationManager now take a repo object at initialization time instead of a vreg. The async argument of _cw.call_service has been dropped. All calls are now synchronous. The zmq notification bus looks like a good replacement for most async use cases. repo.stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_stats')). repo.gc_stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_gc_stats')). repo.register_user() is now deprecated. The functionality is now available through a service (_cw.call_service('register_user')). request.set_session no longer takes an optional user argument. CubicwebTC does not have repo and cnx as class attributes anymore. They are standard instance attributes. set_cnx and _init_repo class methods become instance methods. set_cnxset and free_cnxset are deprecated. The database connection acquisition and release cycle is now more transparent. The implementation of cascading deletion when deleting composite entities has changed. There comes a semantic change: merely deleting a composite relation does not entail any more the deletion of the component side of the relation. _cw.user_callback and _cw.user_rql_callback are deprecated. Users are encouraged to write an actual controller (e.g. using ajaxfunc) instead of storing a closure in the session data. A new entity.cw_linkable_rql method provides the rql to fetch all entities that are already or may be related to the current entity using the given relation. Deprecated Code Drops The session.hijack_user mechanism has been dropped. EtypeRestrictionComponent has been removed, its functionality has been replaced by facets a while ago. the old multi-source support has been removed. Only copy-based sources remain, such as datafeed or ldapfeed. [Less]
Posted almost 10 years ago by Aurelien Campeas
New functionalities implement Cross Origin Resource Sharing (CORS) (see #2491768) system_source.create_eid can return a range of IDs, to reduce overhead of batch entity creation Behaviour Changes The anonymous property of Session ... [More] and Connection is now computed from the related user login. If it matches the anonymous-user in the config the connection is anonymous. Beware that the anonymous-user config is web specific. Therefore, no session may be anonymous in a repository only setup. New Repository Access API Connection replaces Session A new explicit Connection object replaces Session as the main repository entry point. A Connection holds all the necessary methods to be used server-side (execute, commit, rollback, call_service, entity_from_eid, etc...). One obtains a new Connection object using session.new_cnx(). Connection objects need to have an explicit begin and end. Use them as a context manager to never miss an end: with session.new_cnx() as cnx: cnx.execute('INSERT Elephant E, E name "Babar"') cnx.commit() cnx.execute('INSERT Elephant E, E name "Celeste"') cnx.commit() # Once you get out of the "with" clause, the connection is closed. Using the same Connection object in multiple threads will give you access to the same Transaction. However, Connection objects are not thread safe (hence at your own risks). repository.internal_session is deprecated in favor of repository.internal_cnx. Note that internal connections are now safe by default, i.e. the integrity hooks are enabled. Backward compatibility is preserved on Session. dbapi vs repoapi A new API has been introduced to replace the dbapi. It is called repoapi. There are three relevant functions for now: repoapi.get_repository returns a Repository object either from an URI when used as repoapi.get_repository(uri) or from a config when used as repoapi.get_repository(config=config). repoapi.connect(repo, login, **credentials) returns a ClientConnection associated with the user identified by the credentials. The ClientConnection is associated with its own Session that is closed when the ClientConnection is closed. A ClientConnection is a Connection-like object to be used client side. repoapi.anonymous_cnx(repo) returns a ClientConnection associated with the anonymous user if described in the config. repoapi.ClientConnection replaces dbapi.Connection and company On the client/web side, the Request is now using a repoapi.ClientConnection instead of a dbapi.Connection. The ClientConnection has multiple backward compatible methods to make it look like a dbapi.Cursor and dbapi.Connection. Sessions used on the Web side are now the same as the ones used Server side. Some backward compatibility methods have been installed on the server side Session to ease the transition. The authentication stack has been altered to use the repoapi instead of the dbapi. Cubes adding new elements to this stack are likely to break. New API in tests All current methods and attributes used to access the repo on CubicWebTC are deprecated. You may now use a RepoAccess object. A RepoAccess object is linked to a new Session for a specified user. It is able to create Connection, ClientConnection and web side requests linked to this session: access = self.new_access('babar') # create a new RepoAccess for user babar with access.repo_cnx() as cnx: # some work with server side cnx cnx.execute(...) cnx.commit() cnx.execute(...) cnx.commit() with access.client_cnx() as cnx: # some work with client side cnx cnx.execute(...) cnx.commit() with access.web_request(elephant='babar') as req: # some work with web request elephant_name = req.form['elephant'] req.execute(...) req.cnx.commit() By default testcase.admin_access contains a RepoAccess object for the default admin session. API changes RepositorySessionManager.postlogin is now called with two arguments, request and session. And this now happens before the session is linked to the request. SessionManager and AuthenticationManager now take a repo object at initialization time instead of a vreg. The async argument of _cw.call_service has been dropped. All calls are now synchronous. The zmq notification bus looks like a good replacement for most async use cases. repo.stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_stats')). repo.gc_stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_gc_stats')). repo.register_user() is now deprecated. The functionality is now available through a service (_cw.call_service('register_user')). request.set_session no longer takes an optional user argument. CubicwebTC does not have repo and cnx as class attributes anymore. They are standard instance attributes. set_cnx and _init_repo class methods become instance methods. set_cnxset and free_cnxset are deprecated. The database connection acquisition and release cycle is now more transparent. The implementation of cascading deletion when deleting composite entities has changed. There comes a semantic change: merely deleting a composite relation does not entail any more the deletion of the component side of the relation. _cw.user_callback and _cw.user_rql_callback are deprecated. Users are encouraged to write an actual controller (e.g. using ajaxfunc) instead of storing a closure in the session data. A new entity.cw_linkable_rql method provides the rql to fetch all entities that are already or may be related to the current entity using the given relation. Deprecated Code Drops The session.hijack_user mechanism has been dropped. EtypeRestrictionComponent has been removed, its functionality has been replaced by facets a while ago. the old multi-source support has been removed. Only copy-based sources remain, such as datafeed or ldapfeed. [Less]
Posted almost 10 years ago by Aurelien Campeas
New functionalities implement Cross Origin Resource Sharing (CORS) (see #2491768) system_source.create_eid can return a range of IDs, to reduce overhead of batch entity creation Behaviour Changes The anonymous property of Session and Connection ... [More] is now computed from the related user login. If it matches the anonymous-user in the config the connection is anonymous. Beware that the anonymous-user config is web specific. Therefore, no session may be anonymous in a repository only setup. New Repository Access API Connection replaces Session A new explicit Connection object replaces Session as the main repository entry point. A Connection holds all the necessary methods to be used server-side (execute, commit, rollback, call_service, entity_from_eid, etc...). One obtains a new Connection object using session.new_cnx(). Connection objects need to have an explicit begin and end. Use them as a context manager to never miss an end: with session.new_cnx() as cnx: cnx.execute('INSERT Elephant E, E name "Babar"') cnx.commit() cnx.execute('INSERT Elephant E, E name "Celeste"') cnx.commit() # Once you get out of the "with" clause, the connection is closed. Using the same Connection object in multiple threads will give you access to the same Transaction. However, Connection objects are not thread safe (hence at your own risks). repository.internal_session is deprecated in favor of repository.internal_cnx. Note that internal connections are now safe by default, i.e. the integrity hooks are enabled. Backward compatibility is preserved on Session. dbapi vs repoapi A new API has been introduced to replace the dbapi. It is called repoapi. There are three relevant functions for now: repoapi.get_repository returns a Repository object either from an URI when used as repoapi.get_repository(uri) or from a config when used as repoapi.get_repository(config=config). repoapi.connect(repo, login, **credentials) returns a ClientConnection associated with the user identified by the credentials. The ClientConnection is associated with its own Session that is closed when the ClientConnection is closed. A ClientConnection is a Connection-like object to be used client side. repoapi.anonymous_cnx(repo) returns a ClientConnection associated with the anonymous user if described in the config. repoapi.ClientConnection replaces dbapi.Connection and company On the client/web side, the Request is now using a repoapi.ClientConnection instead of a dbapi.Connection. The ClientConnection has multiple backward compatible methods to make it look like a dbapi.Cursor and dbapi.Connection. Sessions used on the Web side are now the same as the ones used Server side. Some backward compatibility methods have been installed on the server side Session to ease the transition. The authentication stack has been altered to use the repoapi instead of the dbapi. Cubes adding new elements to this stack are likely to break. New API in tests All current methods and attributes used to access the repo on CubicWebTC are deprecated. You may now use a RepoAccess object. A RepoAccess object is linked to a new Session for a specified user. It is able to create Connection, ClientConnection and web side requests linked to this session: access = self.new_access('babar') # create a new RepoAccess for user babar with access.repo_cnx() as cnx: # some work with server side cnx cnx.execute(...) cnx.commit() cnx.execute(...) cnx.commit() with access.client_cnx() as cnx: # some work with client side cnx cnx.execute(...) cnx.commit() with access.web_request(elephant='babar') as req: # some work with web request elephant_name = req.form['elephant'] req.execute(...) req.cnx.commit() By default testcase.admin_access contains a RepoAccess object for the default admin session. API changes RepositorySessionManager.postlogin is now called with two arguments, request and session. And this now happens before the session is linked to the request. SessionManager and AuthenticationManager now take a repo object at initialization time instead of a vreg. The async argument of _cw.call_service has been dropped. All calls are now synchronous. The zmq notification bus looks like a good replacement for most async use cases. repo.stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_stats')). repo.gc_stats() is now deprecated. The same information is available through a service (_cw.call_service('repo_gc_stats')). repo.register_user() is now deprecated. The functionality is now available through a service (_cw.call_service('register_user')). request.set_session no longer takes an optional user argument. CubicwebTC does not have repo and cnx as class attributes anymore. They are standard instance attributes. set_cnx and _init_repo class methods become instance methods. set_cnxset and free_cnxset are deprecated. The database connection acquisition and release cycle is now more transparent. The implementation of cascading deletion when deleting composite entities has changed. There comes a semantic change: merely deleting a composite relation does not entail any more the deletion of the component side of the relation. _cw.user_callback and _cw.user_rql_callback are deprecated. Users are encouraged to write an actual controller (e.g. using ajaxfunc) instead of storing a closure in the session data. A new entity.cw_linkable_rql method provides the rql to fetch all entities that are already or may be related to the current entity using the given relation. Deprecated Code Drops The session.hijack_user mechanism has been dropped. EtypeRestrictionComponent has been removed, its functionality has been replaced by facets a while ago. the old multi-source support has been removed. Only copy-based sources remain, such as datafeed or ldapfeed. [Less]
Posted about 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the Mar 7th, 2014 meeting. The previous report posted to the blog was the january 2014 roadmap. Version 3.17 This ... [More] version is stable but old and maintainance will stop in a few weeks (current is 3.17.13 and 3.17.14 is upcoming). Version 3.18 This version is stable and maintained (current is 3.18.3 and 3.18.4 is upcoming). Version 3.19 This version is about to be published. It includes a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read list of tickets for CubicWeb 3.19.0. Version 3.20 This version will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and CWEP-003 (adding a FROM clause to RQL). For details read list of tickets for CubicWeb 3.20.0. Cubes Here is a list of cubes that had versions published over the past two months: addressbook, awstats, blog, bootstrap, brainomics, comment, container, dataio, genomics, invoice, mediaplayer, medicalexp, neuroimaginge, person, preview, questionnaire, securityprofile, simplefacet, squareui, tag, tracker, varnish, vcwiki, vtimeline. Here are a the new cubes we are pleased to announce: collaboration is a building block that reuses container and helps to define collaborative workflows where entities are cloned, modified and shared. Our priorities for the next two months are collaboration and container, then narval/apycot, then mercurial-server, then rqlcontroller and signedrequest, then imagesearch. Mid-term goals The work done for CWEP-0002 (computed attributes and relations) is expected to land in CubicWeb 3.20. The work done for CWEP-0003 (explicit data source federation using FROM in RQL) is expected to land in CubicWeb 3.20. Tools to diagnose performance issues would be very useful. Maybe in 3.21 ? Caching session data would help and some work was done on this topic during the sprint in february. Maybe in 3.22 ? WSGI has made progress lately, but still needs work. Maybe in 3.23 ? RESTfulness is a goal. Maybe in 3.24 ? Maybe 3.25 will be in fact 4.0 ? Events A spring sprint will take place in Logilab's offices in Paris from April 28th to 30th. We invite all the interested parties to join us there! Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of may 2014. [Less]
Posted about 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the Mar 7th, 2014 meeting. The previous report posted to the blog was the january 2014 roadmap. Version 3.17 This ... [More] version is stable but old and maintainance will stop in a few weeks (current is 3.17.13 and 3.17.14 is upcoming). Version 3.18 This version is stable and maintained (current is 3.18.3 and 3.18.4 is upcoming). Version 3.19 This version is about to be published. It includes a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read list of tickets for CubicWeb 3.19.0. Version 3.20 This version will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and CWEP-003 (adding a FROM clause to RQL). For details read list of tickets for CubicWeb 3.20.0. Cubes Here is a list of cubes that had versions published over the past two months: addressbook, awstats, blog, bootstrap, brainomics, comment, container, dataio, genomics, invoice, mediaplayer, medicalexp, neuroimaginge, person, preview, questionnaire, securityprofile, simplefacet, squareui, tag, tracker, varnish, vcwiki, vtimeline. Here are a the new cubes we are pleased to announce: collaboration is a building block that reuses container and helps to define collaborative workflows where entities are cloned, modified and shared. Our priorities for the next two months are collaboration and container, then narval/apycot, then mercurial-server, then rqlcontroller and signedrequest, then imagesearch. Mid-term goals The work done for CWEP-0002 (computed attributes and relations) is expected to land in CubicWeb 3.20. The work done for CWEP-0003 (explicit data source federation using FROM in RQL) is expected to land in CubicWeb 3.20. Tools to diagnose performance issues would be very useful. Maybe in 3.21 ? Caching session data would help and some work was done on this topic during the sprint in february. Maybe in 3.22 ? WSGI has made progress lately, but still needs work. Maybe in 3.23 ? RESTfulness is a goal. Maybe in 3.24 ? Maybe 3.25 will be in fact 4.0 ? Events A spring sprint will take place in Logilab's offices in Paris from April 28th to 30th. We invite all the interested parties to join us there! Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of may 2014. [Less]
Posted about 10 years ago by Nicolas Chauvat
The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. Here is the report about the Mar 7th, 2014 meeting. The previous report posted to the blog was the january 2014 roadmap. Version 3.17 This version is ... [More] stable but old and maintainance will stop in a few weeks (current is 3.17.13 and 3.17.14 is upcoming). Version 3.18 This version is stable and maintained (current is 3.18.3 and 3.18.4 is upcoming). Version 3.19 This version is about to be published. It includes a heavy refactoring that modifies sessions and sources to lay the path for CubicWeb 4. For details read list of tickets for CubicWeb 3.19.0. Version 3.20 This version will try to reduce as much as possible the stock of patches in the state "reviewed", "awaiting review" and "in progress". If you have had something in the works that has not been accepted yet, please ready it for 3.20 and get it merged. It should also include the work done for CWEP-002 (computed attributes and relations) and CWEP-003 (adding a FROM clause to RQL). For details read list of tickets for CubicWeb 3.20.0. Cubes Here is a list of cubes that had versions published over the past two months: addressbook, awstats, blog, bootstrap, brainomics, comment, container, dataio, genomics, invoice, mediaplayer, medicalexp, neuroimaginge, person, preview, questionnaire, securityprofile, simplefacet, squareui, tag, tracker, varnish, vcwiki, vtimeline. Here are a the new cubes we are pleased to announce: collaboration is a building block that reuses container and helps to define collaborative workflows where entities are cloned, modified and shared. Our priorities for the next two months are collaboration and container, then narval/apycot, then mercurial-server, then rqlcontroller and signedrequest, then imagesearch. Mid-term goals The work done for CWEP-0002 (computed attributes and relations) is expected to land in CubicWeb 3.20. The work done for CWEP-0003 (explicit data source federation using FROM in RQL) is expected to land in CubicWeb 3.20. Tools to diagnose performance issues would be very useful. Maybe in 3.21 ? Caching session data would help and some work was done on this topic during the sprint in february. Maybe in 3.22 ? WSGI has made progress lately, but still needs work. Maybe in 3.23 ? RESTfulness is a goal. Maybe in 3.24 ? Maybe 3.25 will be in fact 4.0 ? Events A spring sprint will take place in Logilab's offices in Paris from April 28th to 30th. We invite all the interested parties to join us there! Last but not least 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's needs. Logilab's next roadmap meeting will be held at the beginning of may 2014. [Less]