1 line
22 KiB
JSON
1 line
22 KiB
JSON
{"config":{"separator":"[\\s\\-_,:!=\\[\\]()\\\\\"`/]+|\\.(?!\\d)"},"items":[{"location":"","level":1,"title":"Overview","text":"<p>Description of the documentation structure.</p>","path":["Overview"],"tags":[]},{"location":"#who-are-we","level":2,"title":"Who are we?","text":"<p>The tab \"1. Home\" is about the Controls section, announcements for events, and useful stuff as a kind of \"quick link\".</p>","path":["Overview"],"tags":[]},{"location":"#what-do-we-do","level":2,"title":"What do we do?","text":"<p>This question is ansered in the tab \"2. Services Portfolio\" with a list of all services supported by the Controls section. In addition you can find here lists of supported hardware and epics drivers.</p>","path":["Overview"],"tags":[]},{"location":"#help-to-suceed","level":2,"title":"Help to suceed","text":"<p>The \"3. Knowledge Center\" is a collection of How-To pages, workflow descrioptions and explanations of the architecture used inside the PSI control systems. In \"4. Contacts Support\" you find lists with Controls Contacts for various expert groups, beamlines, and topics as well as the service owners of Controls services. The \"5. Controls Internal\" tab contains internal procedures like onboarding, how to do travel requests and the Control system team charter. </p>","path":["Overview"],"tags":[]},{"location":"#how-to-change-or-contribute-content","level":2,"title":"How to change or contribute content","text":"<p>This webpage is hosted in Gitea: </p> <p>It uses the site generator Zensical together with Gitea Actions to convert Markdown text files into html webpages. To contribute, check out the gitea repository, update the content and check in again (a simple git help). A predefined workflow will publish the changes automatically after some seconds - just reload the webpage in your browser.</p>","path":["Overview"],"tags":[]},{"location":"1._Home/","level":1,"title":"Controls Documentation Home","text":"<p>Here you can find some always changing information.</p>","path":["1. Home","Controls Documentation Home"],"tags":[]},{"location":"1._Home/about/","level":1,"title":"Control Section Overview","text":"<p>The section \"Control Systems\" (organizational number 8210) is part of the department \"Elektronics and Control Systems\" (AEK) in the PSI Center for \"Accelerator Science and Engineerin\" (CAS).</p> <p>Center Leader: Prof. Dr. Mike Seidel</p> <p>Department Head: Dr. Thomas Schilcher</p> <p>Section Head: Dr. Tine Celcer</p> <p>Administration Office: Maria Guarino Tucci</p>","path":["1. Home","Control Section Overview"],"tags":[]},{"location":"1._Home/about/#mission-and-strategy","level":2,"title":"Mission and Strategy","text":"","path":["1. Home","Control Section Overview"],"tags":[]},{"location":"1._Home/about/#organisation-structure","level":2,"title":"Organisation Structure","text":"<p>The section consists of six groups:</p> <ul> <li>Real Time and Embedded Syst. Development (8211) (group leader: Dragutin Maier-Manojlovic)</li> <li>Software Engineering - Backend (8212) (group leader: Tadej Humar)</li> <li>Control System Infrastructure and Serv. (8213) (group leader: Andrej Babic)</li> <li>Common Systems Integration (8214) (group leader ad interim: Dragutin Maier-Manojlovic)</li> <li>Integr.+Support-Photon Science (8215) (group leader: Saeed Haghtalab)</li> <li>Integr.+Support-Large Research Facil. (8216) (group leader: Guifré Cuní i Soler)</li> </ul>","path":["1. Home","Control Section Overview"],"tags":[]},{"location":"1._Home/announcements/","level":1,"title":"Announcements and News","text":"<p>Next Section meeting: 22. June 2026 Link to presentations: TEAMS link in sharepoint</p>","path":["1. Home","Announcements and News"],"tags":[]},{"location":"1._Home/usefulLinks/","level":1,"title":"Useful Links","text":"<p>This is a collection of useful Links. The date in brackets show when the link was last veryfied to work.</p>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#facility-operation-schedule","level":2,"title":"Facility Operation schedule","text":"<ul> <li>SLS (5.5.2026)</li> <li>HIPA and PROSCAN (pdf) (5.5.2026)</li> <li>SwissFEL Overview (5.5.2026)</li> <li>Elog (SLS preselected, select other logbooks on the upper left side) (5.5.2026)</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#naming-conventions","level":2,"title":"Naming conventions","text":"<ul> <li>SLS 2.0 Naming Convention link list (5.5.2026)</li> <li>SwissFEL (5.5.2026)</li> <li>PROSCAN (5.5.2026)</li> <li>HIPA (5.5.2026)</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#ssh-links","level":2,"title":"SSH Links","text":"<ul> <li>Presentation slides \"SSH Deep Dive\" by Konrad Bucheli (6.5.2026)</li> <li>OpenSSH home page (6.5.2026)</li> <li>SSH cheat sheet (6.5.2026)</li> <li>Wikibooks: OpenSSH (6.5.2026)</li> <li>SSH academy (6.5.2026)</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#driver-documentation-links","level":2,"title":"Driver Documentation links","text":"<ul> <li>Stream Device </li> <li>RegDev </li> <li>OPC-UA</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#caqtdm-links","level":2,"title":"caQtDM links","text":"<ul> <li>Main documentaion (05.05.2026)</li> <li>Beamline Guidelines (05.05.2026)</li> <li>Control Room Styleguide (05.05.2026)</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"1._Home/usefulLinks/#general","level":2,"title":"General","text":"<ul> <li>PSI Phoebook (5.5.2026)</li> <li>Indico homepage of PSI (5.5.2026)</li> <li>Hardware Database Inventory (5.5.2026)</li> <li>EPICS Homepage (5.5.2026)</li> <li>PSP-Checker (5.5.2026)</li> <li>Accelerator Status (ext) (6.5.2026)</li> <li>Web caQtDM (int) (6.5.2026)</li> </ul>","path":["1. Home","Useful Links"],"tags":[]},{"location":"2._Services_Portfolio/","level":1,"title":"Services and Portfolio","text":"<p>Here you can find a short description of all services provided by the Controls section. If you are interested in who is responsible for which service, look in the \"Contacts and Support\" part of this webpage.</p>","path":["2. Services Portfolio","Services and Portfolio"],"tags":[]},{"location":"2._Services_Portfolio/hardware/","level":1,"title":"Hardware Portfolio","text":"<p>The list of hardware supported by Controls.</p>","path":["2. Services Portfolio","Hardware Portfolio"],"tags":[]},{"location":"2._Services_Portfolio/projects/","level":1,"title":"Projects and Initiatives","text":"<p>A list of projects and initiatives that Controls is working on. The detailed subtasks might be found in JIRA.</p>","path":["2. Services Portfolio","Projects and Initiatives"],"tags":[]},{"location":"2._Services_Portfolio/tools/","level":1,"title":"List of Tools","text":"<p>List of software tools that Controsl develops and maintains.</p>","path":["2. Services Portfolio","List of Tools"],"tags":[]},{"location":"3._Knowledge_Center/","level":1,"title":"Knowledge Center","text":"<p>There are some additional ressources around that are not directly in the content list on the right side:</p> <ul> <li>Pablo's How-To collection</li> </ul>","path":["3. Knowledge Center","Knowledge Center"],"tags":[]},{"location":"3._Knowledge_Center/epicsTraining/","level":1,"title":"EPICS Training","text":"<p>EPICS is a set of Open Source software tools, libraries and applications developed collaboratively and used worldwide to create distributed soft real-time control systems for scientific instruments such as particle accelerators, telescopes and other large scientific experiments.</p> <p>The EPICS-Controls website is a community-run site which is slowly taking over as the primary home page for the EPICS Collaboration. This site will continue to exist at APS (and will provide the mailing list archives for the forseeable future) but it may transition to hosting more specialized and Argonne-specific materials.</p> <p>The best place to start looking for documentation about EPICS is now the EPICS Documentation website, although for some specific information it will point to external web-servers provided by the projects that maintain the software.</p> <p>PSI internal information and training webpages can be found here</p>","path":["3. Knowledge Center","EPICS Training"],"tags":[]},{"location":"3._Knowledge_Center/Explanation/","level":1,"title":"Explanation","text":"<p>Explanation clarify and illuminate a particular topic. They are understanding-oriented and provide background information.</p>","path":["3. Knowledge Center","Explanation"],"tags":[]},{"location":"3._Knowledge_Center/Howto/","level":1,"title":"How-To Pages","text":"<p>How-to guides take you through the steps required to solve a real-world problem. The target group are users with some experience of the Control system. Beginners should start with the Tutorials and Explanations.</p>","path":["3. Knowledge Center","Howto","How-To Pages"],"tags":[]},{"location":"3._Knowledge_Center/Troubleshooting/","level":1,"title":"Troubleshooting pages","text":"<p>These documentation pages should contain recipes for problem handling and quick fixes.</p>","path":["3. Knowledge Center","Troubleshooting","Troubleshooting pages"],"tags":[]},{"location":"3._Knowledge_Center/Tutorial/","level":1,"title":"Tutorials","text":"<p>Tutorials are meant for beginners and are learning-oriented. For deeper understanding have a looks at the Explanations.</p>","path":["3. Knowledge Center","Tutorial","Tutorials"],"tags":[]},{"location":"4._Contacts_Support/","level":1,"title":"Contacts and Support","text":"<p>A Controls Contact is a member of the section control systems that is the first contact in case of problems or questions. He or she is not necessarily the one doing the work.</p>","path":["4. Contacts Support","Contacts and Support"],"tags":[]},{"location":"4._Contacts_Support/BL_SF/","level":1,"title":"SwissFEL Photon Science Contacts","text":"<p>Endstations and photon science Controls Contacts for SwissFEL.</p> Group Scientist Controls Contact Alvra Camila Bacellar Csaba Lombosi Bernina Henrik Lemke Thierry Zamofing Crisallina Bill Pedrini Edwin Divall Diavolezza Stefan Neppl Edwin Divall","path":["4. Contacts Support","SwissFEL Photon Science Contacts"],"tags":[]},{"location":"4._Contacts_Support/BL_SLS/","level":1,"title":"SLS Beamline Contacts","text":"Sector BL Name Scientist Controls Contact X01DD Diagnostic 1 Cigdem Ozkan Arturo Alarcon X01DA Debye Adam Clark Alvin Acerbo X02DA S-TOMCAT Marco Stampanoni Alvin Acerbo","path":["4. Contacts Support","SLS Beamline Contacts"],"tags":[]},{"location":"4._Contacts_Support/CAS/","level":1,"title":"Expert Groups Contacts","text":"<p>Control Contacts for expert groups working on the large research facilities.</p>","path":["4. Contacts Support","Expert Groups Contacts"],"tags":[]},{"location":"4._Contacts_Support/Extenal/","level":1,"title":"External Contacts","text":"<p>This is a list of people who should be contacted in different cases. They are Stakeholders and need to be informed of Control system work affecting their area.</p>","path":["4. Contacts Support","External Contacts"],"tags":[]},{"location":"4._Contacts_Support/Project/","level":1,"title":"Project and Initiative Contacts","text":"<p>All Controls projects and initiatives listed in the Services Portfolio documentation page have a dedicated member of the Controls Section responsible for organising and coordinating the project or initiative.</p>","path":["4. Contacts Support","Project and Initiative Contacts"],"tags":[]},{"location":"4._Contacts_Support/Service/","level":1,"title":"Controls Services","text":"<p>Each beamline in SLS, each endstation in SwissFEL, and all expert groups should have a Controls Contact. In addition there are some baseline services that have general contacts.</p> Service Primary Contact Secondary Contact Motion Anders Sandström Felix Maier Timing Romain Vallotton Dragutn Maier-Manojlovic Arcchiver Tadej Humar Dominik Werder","path":["4. Contacts Support","Controls Services"],"tags":[]},{"location":"5._Controls_Internal/","level":1,"title":"Controls Internal","text":"<p>This documentation pages contain relevant information for Control Section members.</p> <p>Picture Test:</p> <p></p>","path":["5. Controls Internal","Controls Internal"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/","level":1,"title":"Onboarding","text":"<p>This page contains a list of preparations and activities for new Control Section members. It could be used as a checklist.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/#concept","level":2,"title":"Concept","text":"<p>This process assumes that there is a mentor (\"Goetti\") assigned to the newcomer, that serves as the first point of questions and during an initial period makes sure the new section member has someone to ask, bring them with to lunch once in a while and for a coffee as needed.</p> <p>The timeline for this is over the first couple of months, possibly up to 6 months, in order not to overwhelm the person with information and allow them to also settle in with their work. Technical information makes more sense to get earlier on, while organizational experience makes more sense once the person is more used to the environment.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/#preparations","level":2,"title":"Preparations","text":"<p>Done or checked by the line manager of the newcomer.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/#access-permissions","level":2,"title":"Access Permissions","text":"<p>Not all of the permissions are always done automatically.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/#visits-and-meetings","level":2,"title":"Visits and Meetings","text":"<p>The purpose of this part is networking and getting a view of the span of stakeholders we have, regardless of if they are directly relevant to the person's work. It goes towards understanding what the whole section does, and that we have a wide span of needs that we address.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Onboarding/#services-and-concepts","level":2,"title":"Services and Concepts","text":"<p>Things to show, bookmark, and learn.</p>","path":["5. Controls Internal","Onboarding"],"tags":[]},{"location":"5._Controls_Internal/Homeoffice/","level":1,"title":"Homeoffice Procedures","text":"<p>Here you can find procedural and technical information how homeoffice works in the Controls Section. These procedures are specific and might not be the same in other sections or departments in PSI.</p>","path":["5. Controls Internal","Homeoffice","Homeoffice Procedures"],"tags":[]},{"location":"5._Controls_Internal/Infrastructure/","level":1,"title":"Infrastructure","text":"<p>Information about the Controls Infrastructure and setups. If you want to understand the architecture please go to Knowledge Center -> Explanation.</p>","path":["5. Controls Internal","Infrastructure"],"tags":[]},{"location":"5._Controls_Internal/Names/","level":1,"title":"Names and Places","text":"<p>To ensure that we can help each other and easily deputize for each other, there are certain rules of how to name stuff and where to put it. These rules should be followed. Exeptions should be documented clearly.</p>","path":["5. Controls Internal","Names","Names and Places"],"tags":[]},{"location":"5._Controls_Internal/PikettProcedures/","level":1,"title":"Pikett Procedures","text":"<p>The pages in this section are about general procedures and how to get paid for Pikett. If you are on Pikett and search for help about a problem, look in the Knowledge Center -> Troubleshooting.</p>","path":["5. Controls Internal","PikettProcedures","Pikett Procedures"],"tags":[]},{"location":"5._Controls_Internal/Workflows/","level":1,"title":"Workflows and Procedures","text":"<p>Here you should find links to templates and explanations how procedures and workflows in the Controls section should work.</p>","path":["5. Controls Internal","Workflows","Workflows and Procedures"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/","level":1,"title":"Writing Controls Documentation","text":"","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#different-types-of-docu","level":2,"title":"Different Types of Docu","text":"<p>The Grand Unified Theoriy of Documentation</p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#how-to-publish-controls-docu","level":2,"title":"How to publish Controls Docu","text":"<p>Everything is automated. The changes are rendered as soon as you push to the gitea repository https://gitea.psi.ch/Controls/gitea-pages.</p> <p>The webpage is generated from markdown files using Zensical together with Gitea Actions. The process to setup such page is described here https://linux.psi.ch/documentation/services/gitea/gitea-pages/</p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#how-to-work-with-your-own-fork","level":2,"title":"How to work with your own fork","text":"<p>If several people work at the same time on the same repository but on different files, it can help to create your own fork in your own gitea name space. This will make it easier to debug zensical rendering errors and layout changes without disturbing colleagues.</p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#fork-into-your-name-space","level":3,"title":"Fork into your name space","text":"<p>First you have to fork the repository by clicking on the Fork button in the upper right corner.</p> <p></p> <p>Gitea will then prompt you to put in some information in a popup window. It is suggested to change the repository name, so that you will not overwrite any existing repository for webpages in your own namespage. In the expample I used ez_dpli_test as a name. And I provided some description for some future reference.</p> <p></p> <p>Gitea now opens a browser view of your new fork repository. Otherwise you can find it in giteain your namespace with the name you selected in the step before: <code>https://gitea.psi.ch/<your_username>/<your_fork_name></code></p> <p>In the expampe that would be <code>https://gitea.psi.ch/zimoch_e/ez_doku_test</code></p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#clone-your-name-space-version","level":3,"title":"Clone your name space version","text":"<p>Lookup the ssh url to clone your repository by clicking on the Code button and copy the displayed address.</p> <p></p> <p>Go to the directory where you want to clone your repository into and use <code>git clone <your_repository_url></code></p> <p></p> <p>Now you can work in this directory and write the documentation you intended. All the markdown files are located in the <code>docs</code>directory where the structure of the webpage is created.</p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#review-your-local-changes","level":3,"title":"Review your local changes","text":"<p>Once you wrote the documentation, you add, committ, and push to your forked repository.</p> <p></p> <p>It might take some seconds until your pages is renedered. I have seen times up to 15 seconds.</p> <p>Your forked webpages can be found in the directory <code>https://<your_username>.pages.psi.ch/<your_fork_name>/</code> </p> <p>For example my fork from the examples above is reachable with <code>https://zimoch_e.pages.psi.ch/ez_doku_test/</code> </p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#merge-into-main-controls-documentation","level":3,"title":"Merge into main Controls Documentation","text":"<p>Once you have done all the intended changes to your forked repository, you have to merge it back into the main controls pages. The following workflow assumes that you needed to commit several changes until you were satisfied with the result, but all changes were mostly cosmetically (e.g. typos, better rendering, inserting subtitles, etc.).</p> <p>First you make sure that all changes are pushed to your forked repository.</p> <p>Now you should have a button on the webinterface that will create a New Pull Request. Otherwise you can initiate a pull request from the original repository <code>Controls/gitea-pages</code> by changing into the Pull Request tab.</p> <p></p> <p>In the following window you should add a one-line comment that summarizes you commit messages. Afterwards you create the pull request.</p> <p></p> <p>Now you can see your pull request in the tab of the original repository <code>Controls/gitea-pages</code>. </p> <p></p> <p>To accept the pull request (not all people might have the rights to do so), click on the listed item and select <code>Create squash commit</code></p> <p></p> <p>This will squash all commits you did on the fork into just one commit in the master branch. It is requested to do so in case all your commits were creating just one documentation page and committed several times to save intermedite results or correct typos and wrong formatting.</p> <p>After your changes were merged into the master branch you can either delete your forked repository and checked out directory (be very sure that you delete the inteded stuff!) or you can later reuse your fork for creating another documentation. In the second case use the commands <code>git fetch upstream master</code> <code>git reset --hard upstream/master</code> <code>git push --force origin master</code> </p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]},{"location":"5._Controls_Internal/Workflows/writeDocu/#debugging-problems","level":2,"title":"Debugging Problems","text":"<p>When severe errors in the markdown files hinder the redering, you can see the error messages in the Actions tab of the gitea repository. For your local fork you might need to enable it in the settings of the repository.</p> <p></p>","path":["5. Controls Internal","Workflows","Writing Controls Documentation"],"tags":[]}]} |