From 9ad20e14e94a6c9fb9787a958186116e63938aa9 Mon Sep 17 00:00:00 2001 From: Anna Ziegler Date: Wed, 25 Feb 2026 15:15:27 +0000 Subject: [PATCH 1/7] Updated Links and References - Codeathon 2026 DOC-STRUCT-004 --- src/components/SiteSpecificVersions.js | 10 ----- src/components/collaboration.js | 2 +- src/pages/about.js | 58 ++++++++++++++++++++++++-- src/pages/contribute.js | 14 ++++--- src/pages/services.js | 17 ++++++-- 5 files changed, 77 insertions(+), 24 deletions(-) diff --git a/src/components/SiteSpecificVersions.js b/src/components/SiteSpecificVersions.js index 02b947f..9b18e50 100644 --- a/src/components/SiteSpecificVersions.js +++ b/src/components/SiteSpecificVersions.js @@ -28,16 +28,6 @@ const StyledDownloadButton = styled.a` const SiteSpecificVersions = () => { return ( - -

DESY

- - CSS DESY KRYO - -

ESS

{ /> { ISIS @@ -229,6 +229,16 @@ const About = () => { + +

Lingran Xiao

+ Site Representative + Advanced Photon Source (ANL) +
    +
  • + +
  • +
+

Tynan Ford

Site Representative @@ -239,8 +249,51 @@ const About = () => {
+ +

Dominic Oram

+ Site Representative + Diamond Light Source (DLS) +
    +
  • + +
  • +
+
+ +
+

Community Resources

+

Matrix Chat

+

+ Join the CS-Studio Chat at + #cs-studio:epics-controls.org + or read on for more information. +

+

+ Follow the instructions on + EPICS Chat - epics-controls.org + to set up an account and get started. +

+

Github Discussion

+

+ Participate in our discussions on + GitHub - Control System Studio + . +

+

Contact

@@ -252,9 +305,6 @@ const About = () => { rel="noopener noreferrer" >EPICS Tech-Talk Mailing list

-

Developer Level Questions: cs-studio-core@lists.sourceforge.net

Report Bugs/Problems: { target="_blank" rel="noopener noreferrer" > - docbook + Guidebook . @@ -63,7 +63,7 @@ const About = () => { target="_blank" rel="noopener noreferrer" > - docbook + guide . @@ -98,7 +98,7 @@ const About = () => {

  • We use Google Hangouts to share our progress and discuss issues.
  • -
  • Meetings are posted (viewable after being added to group)
  • +
  • Meetings are posted (viewable after being added to group).
  • Minutes are posted to{" "} { > Google Docs + .
  • -
  • We meet the first Wednesday of each month (9am EST)
  • -
  • Project groups meet once a week when actively developing
  • +
  • We meet the first Wednesday of each month (9am EST).
  • +
  • Project groups meet once a week when actively developing.
  • Reporting Problems

    @@ -120,7 +121,7 @@ const About = () => { target="_blank" rel="noopener noreferrer" > - open a ticket + create an issue .

    @@ -167,6 +168,7 @@ const About = () => { > Submit a pull request + .
  • There should be some discussion and we will help you to get your diff --git a/src/pages/services.js b/src/pages/services.js index c3fc8ac..716c8f6 100644 --- a/src/pages/services.js +++ b/src/pages/services.js @@ -51,7 +51,7 @@ const About = () => {

    - Read more - Alarm Logger + Read more - Alarm Logging Service

    @@ -59,6 +59,17 @@ const About = () => { Read more - Alarm Configuration Logger

    + {/** Archiver Appliance **/} +
    +

    Archiver Appliance

    +

    + The EPICS Archiver Appliance (EAA) is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs. +

    +

    + + Read more + +

    {/** Channel Finder */}

    Channel Finder Service

    @@ -75,9 +86,9 @@ const About = () => {

    {/** Logbook Service**/}
    -

    Logbook Service

    +

    Logbook Service (Olog)

    - The Logbook Service (OLOG) is an electronic logbook which allows for the creation and retrieval of log entries. + The Logbook Service (Olog) is an electronic logbook which allows for the creation and retrieval of log entries. The service was developed to address the needs of operators, engineers, and users of large scientific facilities. Since these log entries are stored in Elasticsearch, the service also supports a powerful search API. Search criteria include log entry title and body or its meta-data (author, date, tags, properties), or both. From 63f6e55e4354a738bf5dbbee9f497f06dca4b2e6 Mon Sep 17 00:00:00 2001 From: Anna Ziegler Date: Thu, 26 Feb 2026 17:03:49 +0000 Subject: [PATCH 2/7] Downloads - Adding a Getting started section. --- src/pages/download.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/pages/download.js b/src/pages/download.js index ac994d2..c0dc364 100644 --- a/src/pages/download.js +++ b/src/pages/download.js @@ -13,6 +13,11 @@ import SiteSpecificVersions from "../components/SiteSpecificVersions" import { dlInfo } from "../utils/downloadinfo" +const Highlight = styled.span` + color: #00293f; + font-weight: bold; +` + const Flex = styled.div` display: flex; flex-direction: column; @@ -177,6 +182,23 @@ const Download = () => { )} +

    Qickstart Guide

    +

    + Build: After downloading, you can follow the + build instructions + on GitHub. +

    +

    + Run: For instructions on how to run Phoebus, you can have a look at the + Guidebook . +

    +

    Site Specific Versions

    From ed3f347f3de58d94b7219335327d2ecd757e431a Mon Sep 17 00:00:00 2001 From: Anna Ziegler Date: Thu, 26 Feb 2026 17:04:47 +0000 Subject: [PATCH 3/7] Adding missing information, proof reading text, moving text to a better fitting place. --- src/pages/about.js | 38 +++++++--- src/pages/applications.js | 146 +++++++++++++++++++------------------- src/pages/contribute.js | 55 +++++++------- src/pages/docs.js | 34 +-------- src/pages/index.js | 46 ++++++------ src/pages/services.js | 111 ++++++++++++++++------------- 6 files changed, 215 insertions(+), 215 deletions(-) diff --git a/src/pages/about.js b/src/pages/about.js index 3e927fb..a2faeaf 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -55,11 +55,29 @@ const About = () => { -

    - Control System Studio is a collection of tools and applications to monitor and operate +

    + Control System Studio is a collection of tools and applications to monitor and operate large scale control systems, such as the ones in the accelerator community. Phoebus is the current implementation of CS-Studio.

    +

    Policy

    +

    + Through a strategy of continuous improvement and teamwork, the Control System Studio Collaboration is dedicated + to supplying control system tools for machine and experiment operator interfaces, automation and + service integration to enable our users to achieve their scientific objectives. +

    +

    The foundation for achieving our commitment is based on:

    +
      +
    • Understanding and meeting the requirements of our users,
    • +
    • continuously improving all processes related to the Control System Studio product,
    • +
    • effectively utilizing the creative talents in the collaboration,
    • +
    • and meeting statutory, regulatory, and other requirements.
    • +
    +

    Objectives

    +
      +
    • 90% User satisfaction from registered sites with a site representative.
    • +
    • 90% Developer satisfaction from registered sites with a site representative.
    • +

    Meet Our Team

    @@ -271,16 +289,15 @@ const About = () => { href="https://matrix.to/#/#cs-studio:epics-controls.org" target="_blank" rel="noopener noreferrer" - > #cs-studio:epics-controls.org - or read on for more information. + > #cs-studio:epics-controls.org.

    - Follow the instructions on + You can follow the instructions on EPICS Chat - epics-controls.org + > EPICS Chat to set up an account and get started.

    Github Discussion

    @@ -298,18 +315,19 @@ const About = () => {

    Contact

    - User Level Questions:{" "} + For User Level Questions contact us through the {" "} EPICS Tech-Talk Mailing list + >EPICS Tech-Talk Mailing list.

    -

    Report Bugs/Problems: If you want to Report Bugs/Problems, you can use our GitHub Issue Tracker

    + >GitHub Issue Tracker. +

    diff --git a/src/pages/applications.js b/src/pages/applications.js index 7e22877..9e30cfa 100644 --- a/src/pages/applications.js +++ b/src/pages/applications.js @@ -1,12 +1,18 @@ import React from "react" import { useStaticQuery, graphql } from "gatsby" import { GatsbyImage } from "gatsby-plugin-image" +import styled from 'styled-components' import Layout from "../components/layout" import SEO from "../components/seo" import Container from "../components/container" import Banner from "../components/banner" +const Highlight = styled.span` + color: #00293f; + font-weight: bold; +` + const About = () => { const images = useStaticQuery(graphql`{ banner: file( @@ -73,44 +79,39 @@ const About = () => {

    Display Builder

    - Display Builder is an operator interface panel builder for CS-Studio Phoebus. + Display Builder is an operator interface panel builder for CS-Studio Phoebus. Driven by changes in computer graphics technology and trends, EPICS operator interface tools tend to undergo fundamental transformations every 10 years, recently accelerating. - The Display Builder aims to minimize these transitions. It is in large part backwards - compatible with the original CS-Studio BOY tool and there are converter tools - for EDM and MEDM displays. + The Display Builder aims to minimize these transitions. It is in large parts backwards + compatible with the original CS-Studio BOY tool and there are converter tools available for EDM and MEDM displays.

    Key features include:

    • - Heavy use of threading. Display files are loaded in background - threads, related displays are loaded in parallel, plot images are - prepared in separate threads, scripts are executed off the user - interface thread. + Heavy use of threading. Display files are loaded in background threads, + related displays are loaded in parallel, plot images are prepared in separate threads, + scripts are executed off the users interface thread.
    • - Large number of single-purpose widgets. For example, an{" "} - Ellipse - for static graphics, an LED that changes between on/off - states based on a PV, and a Multi State LED that - changes between more than two PV states. Widgets with specific - purposes are more obvious not only to the end user but also to tools - which translate between display file formats. + Large number of single-purpose widgets. + Widgets with specific purposes are more obvious, + not only to the end user but also to tools which translate between display file formats. + Exmaple widgets are an Ellipse for static graphics, a LED that changes between on/off + states based on a PV, and a Multi State LED that changes between more than two PV states.
    • - The PV layer supports EPICS Channel Access, PV Access, local PVs, + EPICS Support. The PV layer supports EPICS Channel Access, PV Access, local PVs, simulated PVs, but also other protocols like MQTT. The data flow is controlled using the Reactive Extensions for Java.
    • - Model, Representation, Runtime and Editor are strictly separate + Modularization. Model, Representation, Runtime and Editor are strictly separate modules, allowing each to evolve separately.
    • - The Representation is based on JavaFX, the most modern Java GUI - library, but as mentioned the representation is fundamentally - separate from the model and runtime. In principle, we could replace - the graphics library, and a proof-of-concept had indeed been + The Representation is based on JavaFX, the most modern Java GUI + library, but as mentioned the representation is fundamentally separate from the model and runtime. + In principle, we could replace the graphics library, and a proof-of-concept had indeed been implemented based on SWT.
    @@ -119,24 +120,26 @@ const About = () => { style={{ maxWidth: `100%` }} />
    -

    The Display Builder file format is saved with the .bob extension and is "compact XML" similar to this:

    +

    The Display Builder file format is saved with the .bob extension and is "compact XML" similar to this:

               
    -            {`
    -  100
    -  200
    -  Hello
    -`}
    +          {`
    +            
    +            100
    +            200
    +            Hello
    +            
    +          `}
               
             

    - Such an XML format can be read and written by many tools, simplifying - the programmatic generation of displays. The minimal nature without - any direct references to the display builder will simplify future + These XML files can be read and written by many tools, simplifying the programmatic generation of displays. + The minimal nature without any direct references to the display builder will simplify future moves to the next greatest EPICS display tool.

    - A purely web based tool called Display Builder Web Runtime (DBWR) + A purely web based tool called Display Builder Web Runtime + (DBWR) utilizes the same XML format and is available for viewing Display Builder files in a web browser. This allows CS-Studio Phoebus screens to be viewed within the application and on a web browser without any changes to the underlying .bob file. @@ -146,10 +149,10 @@ const About = () => {

    Alarm Table

    - The Alarm Table application displays the current state of alarms in the control system. - Its interface will show all current alarms and give operators helpful information on what - each alarm means and the steps needed to address the issue. Alarms can be acknowledged, - which moves them to a separate table of acknowledged alarms. + The Alarm Table application displays the current state of alarms in the control system. + Its interface will show all current alarms and provide operators with helpful information on the meaning of + each alarm and the required steps needed to address the issue. + Alarms can be acknowledged, moving them to a seperate table.

    {

    Alarm Log

    - In order for the alarm system to be effective and functional, proper configuration - and periodic tuning is essential. While the Alarm Table displays the current state - of the control system alarms, the Alarm Log Table gives users a view of past alarm events. - The user interface allows users to effectively search, filter, and parse through the archived - alarm messages which can help to better understand past events and better configure the Alarm Server for the future. + In order for the Alarm System to be effective and functional, proper configuration and periodic tuning is essential. + Rather than displaying pending Alarms in the Alarm Table, the Alarm Log Table provides a list of past alarm events. + The user interface allows users to effectively search, filter, and parse through the archived alarm messages + which can help to better understand past events and better configure the Alarm Server for the future.

    {

    Channel Table

    - The Channel Table application features a search box that queries the control system directory - service for a list of channels that match certain conditions, such as physical functionality - or location. Queries will result in a list of PVs that match the filter along with various + The Channel Table application features a search box that queries + the Control System Directory Service for a list of channels that match certain conditions, + such as physical functionality or location. + Queries will result in a list of PVs that match the filter along with various PV metadata including the IOC Name, Host Name, Record Type, Description, and PV Status. - Channel Table also provides mechanisms to create new metadata, allowing for different + Channel Table also provides mechanisms to create new metadata, allowing for different perspectives of the same set of channel names.

    {

    Data Browser

    - The Data Browser is a trending tool for displaying both live and archived control system - data in a Strip-Chart type plot. Data Browser plots are saved as .plt files and contain - the configuration of the specific plot so they can be easily reopened later and integrated + The Data Browser is a trending tool for displaying both live and archived Control System data + in a Strip-Chart type plot. Data Browser plots are saved as .plt files and contain + the configuration of the specific plot so they can be easily reopened later and be integrated with Display Builder displays.

    - The current data on the plot can also be easily captured in a snapshot image or exported directly - into spreadsheet or Matlab formats. Users can annotate the plots to highlight important events - and the snapshot images can be quickly attached to Logbook entries, emailed to other users, or saved locally. + The current data on the plot can either be captured in a snapshot image or + exported directly into spreadsheet or Matlab formats. + Users can annotate the plots to highlight important events and the snapshot images can be quickly attached to Logbook entries, + emailed to other users, or saved locally.

    {

    Log Entry Table / Send to Logbook

    - CS-Studio Phoebus contains a pluggable framework which allows applications to - create and view log entries to several different implementations of Logbook - services including Olog, Olog-ES, ELOG, and SNS operations logbook. + CS-Studio Phoebus contains a pluggable framework which allows applications to create and view log entries + to several different implementations of Logbook services including Olog, Olog-ES, ELOG, and SNS operations logbook.

    - The Log Entry Table displays log entries and any attached files that might be - included while also letting users search for specific log entries that match their - filtered query. Many other applications integrate with the Logbook by including a - “Send to Logbook” button which allows for the quick creation of an entry. - The log entry menu also easily lets users attach images of the current CS-Studio - window or Data Browser snapshot. + While displaying log entries and all attached files, + the Log Entry Table also allows useres to search for specific log entries that match their filters. + + Other applications can integrate the Logbook by including a “Send to Logbook” button, + allowing the user to quickly create a new entry. + Through the log entry menu users may attach screenshots of the current CS-Studio window or Data Browser snapshot.

    {

    Probe

    - The Probe tool allows users to quickly view the current value and status of a control system signal. - The current alarm state, last update timestamp, and any PV meta-data are shown. Users can also - use Probe to update the value of the PV by clicking into the Value box and typing the new value. + The Probe tool allows users to quickly view the current value and status of a Control System Process Value. + The current alarm state, last update timestamp, and any PV meta-data are shown. + Users can also use Probe to update the value of the PV by clicking into the Value box and typing the new value.

    { /> {/** Save & Restore */}
    -

    Save And Restore

    +

    Save and Restore

    - The save & restore application is used to take a “snapshot” of a user-defined list of PV values. - Typical use case is to save the configuration of a subsystem when it has been tuned to a wanted state. - Snapshot data can be used to restore the PV values in order to put the subsystem back to the same state. + The Save and Restore application is used to take a “snapshot” of a user-defined list of PV values, + saving the configuration to a file, containing values of a subsystem that has been tuned to a wanted state. + Snapshot data can be used to restore the PV values in order to put the subsystem back to the same state. In the client application users may modify values or exclude PVs prior to restore.

    - Snapshots may also be combined to let a restore operation process a larger set of PVs. + Snapshots may also be combined to run a single restore operation, processing a larger set of PVs.

    {

    Scan Editor / Scan Monitor

    - The Scan Editor application is the interface for creating the logic for a specific scan. - It gives a drag and drop interface for adding commands such as conditional branches, - wait calls, step loops, and calling scripts. Once the logic is completed and submitted, - the scan is run on a central server. + The Scan Editor application is the interface for creating the logic for a specific scan. + It provides a drag and drop interface for adding commands such as conditional branches, wait calls, step loops, and calling scripts. + Once the logic is completed and submitted, the scan is run on a central server.

    - The Scan Monitor tool shows which scans are running and a history of completed scans. + The Scan Monitor tool shows which scans are running and a history of completed scans.

    { -

    How to Contribute

    - Phoebus & CS-Studio development is hosted on Github. You will need a Github - account. + Phoebus & CS-Studio development is entirely hosted on GitHub if you want to participate you will need a GitHub account. - -

    CS-Studio Phoebus

    +

    CS-Studio Phoebus

    • - The most complete documentation for developers, including how to - build and set up various IDE's for development of Phoebus, is the{" "} + The most complete documentation for developers, including build information + and instructions for setting up various IDE's for the development of Phoebus, is the{" "} { target="_blank" rel="noopener noreferrer" > - Phoebus Github repository + Phoebus GitHub repository .
    • @@ -63,7 +60,7 @@ const About = () => { target="_blank" rel="noopener noreferrer" > - guide + Guide . @@ -74,13 +71,13 @@ const About = () => { target="_blank" rel="noopener noreferrer" > - CS-Studio Github repository + CS-Studio GitHub repository .
    -

    Fork us on Github

    +

    Fork us on GitHub

    All contributions are accepted as Pull Requests on{" "} @@ -89,7 +86,7 @@ const About = () => { target="_blank" rel="noopener noreferrer" > - Github + GitHub .

    @@ -98,7 +95,7 @@ const About = () => {
  • We use Google Hangouts to share our progress and discuss issues.
  • -
  • Meetings are posted (viewable after being added to group).
  • +
  • Meetings are posted there, visible after being added to the group.
  • Minutes are posted to{" "} { .
  • -
  • We meet the first Wednesday of each month (9am EST).
  • +
  • Monthly Meeting on the first Wednesday of the month (9am EST).
  • Project groups meet once a week when actively developing.
  • Reporting Problems

    - When in doubt or have a question, you should{" "} + When in doubt or if you have a question, you can{" "} {

    Development Guidelines

    Reporting Problems

    - When in doubt or if you have a question, you can{" "} + When in doubt or have a question, you should{" "} {

    Development Guidelines

    Reporting Problems

    - When in doubt or have a question, you should{" "} + When in doubt or if you have a question, you can{" "} {

    Development Guidelines