From: Carlos Pascual-I. <cpa...@ce...> - 2022-04-04 14:50:12
|
Hi all, As some of you may know, I’ve been the main maintainer of Taurus (as well as an occasional contributor to other projects within the Tango community) for a long time. Now I am taking one step in my professional career and leaving ALBA’s Controls group, which unfortunately implies detaching from the Taurus project and the Tango community. But before leaving, I’ve been kindly asked to organize a knowledge-transfer webinar to facilitate other people taking over with Taurus maintenance. The tentative date for the webinar is 27th of April. The idea is *not*to do an exhaustive review of Taurus for new users, but rather to focus on specific aspects that may be of more value to current Taurus users/developers who may consider getting more involved in the Taurus maintenance and development. I hope to see some of you there! Carlos PS: Below is a draft for the contents of the webinar. *Suggestions for removal/inclusion of topics are most welcome* Contents: * taurus-org <https://gitlab.com/taurus-org>and related repositories * Sources of docs o official docs <http://taurus-scada.org/> o wiki <https://gitlab.com/taurus-org/taurus/-/wikis/home> o Taurus4 best practices <https://gitlab.com/taurus-org/taurus/-/wikis/Best-Practices-for-Taurus-4> o ESO ELT Control user UI Tutorial <https://www.eso.org/~ahoffsta/docs/v1.2.0/introduction/html/docs/introduction.html#python> * Workflows for contributing to Taurus (issues, MRs, TEPs,…) * Taurus plugins (and entry points in Taurus). TEP13 <http://www.taurus-scada.org/tep?TEP13.md> * Structure of Taurus project and official API of taurus <https://www.taurus-scada.org/devel/api/index.html> * CLI o current taurus subcommands o click o taurus subcommands entry-point * User and system settings (new!) * Quick review of generic widgets catalog o display, input, button, panel, table, tree container,… o plotting in Taurus (taurus-pyqtgraph and guiqwt) o synoptics: built-in (jdraw) vs svgsynoptic plugin * The various levels of GUI development in Taurus o using TaurusGui o using the designer (dynamic .ui loading!) o programmatic * Forms: o TaurusValue and factories * Taurus core o taurus models (auth, device, attr) and validators o how to create a new scheme o pint units integration (the less-understood feature in taurus!) o advanced uses of the evaluation scheme o Tango events/polling… + issue with Tango attr timeouts + issue with slow GUI start times (Tango event subscription) + new tango scheme <https://gitlab.com/taurus-org/tg_scheme> * Developing new Taurus widgets o |TaurusBaseComponent|: event handling, thread decoupling, filtering, … o |TaurusBaseConfigurableClass|: config properties / config delegates o scheme agnosticism <https://gitlab.com/taurus-org/taurus/-/wikis/Best-Practices-for-Taurus-4#scheme-agnosticism-avoid-tango-centric-code> o codecs API o formatters API o multi-model API (new!) * Supported Qt bindings and |taurus.external.qt| * TaurusGUI customization mess: .py vs .xml vs .ini files * Test and CI o gitlab-ci o supported python versions o precommit, flake8 and black o docker images o vagrant * Releases and packaging o release schedule and manual tests o pypi o conda: conda-forge and deprecated conda channels o official debian packaging repositories for taurus <https://salsa.debian.org/science-team/taurus/>and taurus-pyqtgraph <https://salsa.debian.org/science-team/taurus-pyqtgraph> o unnofficial debian repositories and backports (ALBA) * Ideas for future directions o relaxing release schedule and doing continuous delivery o provide public debian repo with latest backports o decoupling of tango-centric code as a plugin o make use of the multi-model API for e.g. Taurus Labels o improving the tangoarchiving scheme o polishing taurus-pyqtgraph o replacing guiqwt with pyqtgraph for 2D and 3D plots o make use of units API in widgets (e.g. selectable units in taurus forms) o improving svgsynoptics o improve enum support (get rid of custom enumeration class in taurus) o … * Open Questions -- +----------------------------------------------------+ Carlos Pascual Izarra Scientific Software Coordinator Computing Division ALBA Synchrotron [http://www.albasynchrotron.es] Carrer de la Llum 2-26 E-08290 Cerdanyola del Valles (Barcelona), Spain E-mail:cpa...@ce... Phone: +34 93 592 4428 +----------------------------------------------------+ |