-
Notifications
You must be signed in to change notification settings - Fork 89
Epics tools and services codeathon project ideas
Collection of projected ideas for codeathon sessions.
Complete open Issue tickets on github
The online help mechanism is currently based on some key ideas:
- Help should fundamentally be implemented in a markdown format (read-the-docs/sphinx, comparably simple to learn, is also readable as plain ASCII text)
- Help for application XXX should be located close to the source code (app/XXX/doc/ folder, easy to update as application is extended)
- Should be built into the product and available from "Help" menu
- Still want to allow including HTML content from other sources (javadoc)
This is all achieved by tweaking the sphinx conf.py
, https://github.com/ControlSystemStudio/phoebus/blob/4cd48cc3e93ddaef82827fd546cbdeff842cba3a/docs/source/conf.py#L248, so that it searches all the app/*/doc
folders for markup files or pre-generated html content.
It's described on https://github.com/ControlSystemStudio/phoebus/blob/master/docs/README.md, but has some downsides:
- Our customization of conf.py can break with sphinx updates
- Can't directly edit-on-github, https://github.com/ControlSystemStudio/phoebus/issues/2028
- In the standalone online version, https://control-system-studio.readthedocs.io/en/latest/, we can only show the markup-based content. Links to pre-generated html like the "Java Doc for scripts" on https://control-system-studio.readthedocs.io/en/latest/app/display/editor/doc/scripts.html are broken
Potential topics:
- Review key ideas
- Check if https://github.com/ControlSystemStudio/phoebus/blob/master/docs/README.md needs updates or clarifications
- Check/extend documentation for Phoebus applications
Difficultly: medium/easy
Release Phoebus binaries to maven central repositories.
- This should enable the Phoebus core modules like data types, the new pva client library, etc... to be easily used by other projects
- Building a site specific product would no longer require building the main Phoebus repo, all the required module and apps could be pulled from the publicly available maven central repo.
Difficulty: medium/low
- Update all Epics middle layer services ( and the few clients which directly query the elastic backend) to uses elastic 8.
- Describe how to copy data from existing elastic 7 installation to new elastic 8 server.
Difficulty: medium
Update channelaccess and pvAccess clients to first query the name service/directory service for the IOC information of pv's before resorting to a name resolution broadcast.
Difficulty: medium
Rewrite the recceiver.
Difficulty: medium/easy
The Epics Archiver client library protobuff dependency needs to be upgraded.
Difficulty: medium/easy
Complete minor changes to the DLS project on visualizing disconnect events in the databrowser. Port the changes from the eclipse CS-Studio to Phoebus
Difficulty: medium/easy
Build and test Phoebus with Java17(18?) and openjfx 17(18?)
Difficulty: medium/easy
Package Phoebus within a GraalVM
Difficulty: medium/easy
Expand the UI tests for Phoebus applications. Writing UI tests which run headlessly has been difficult, however expanding UI testing can be useful for developers.