420 views
owned this note
Aristofanis's thesis internal notes with Maria === ![](https://codimd.web.cern.ch/uploads/upload_75a642ce3d394994fc0f3ec737ea8613.png) ## Status of Slides App -- for October's Documentation Project Meeting * Currently https://slides.web.cern.ch/#/ is in a good working condition * One can Add Text/Image * There is by default a text box in the first slide * Users can clone current slide * Change theme and background color on the fly * Change the way the users delete Text/Image * JIRA issues are updated * Migration from Spectacle presentation engine to Reveal.js is going really well, is almost done, all the functions like, add/remove slide, text, image, clone slide, change theme and background color on the fly. 'Save Presentation' works. What's left is documented here: [JIRA issue](https://its.cern.ch/jira/browse/AUTHORING-314?focusedCommentId=3435134&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-3435134) Main functions left to be implemented, Presentation Mode (shouldn't be difficult) and Export to PDF (needs some work, but possible, I have thought of a solution, but haven't implemented anything yet) ## Before I leave * Talk with Michal to see the status of the project, what is important --> **Reveal.js Migration** :+1: * Put here a status report that can be presented at the October Doc. Proj. meeting and to which Michal will agree. :+1: * Update documentation :+1: * JIRA issues :+1: * Reveal progress... described as last item --> https://codimd.web.cern.ch/s/SyiR7Fxdr#Status-of-Slides-App-%E2%80%93-for-October%E2%80%99s-Documentation-Project-Meeting ## Michal 2020/09/02 > maybe writing a summary what has been done is not a bad idea but apart from that it would be good to provide some development documentation how to set it up locally etc... and apart from that focus on the code ## Zoom 2020/08/17 *TODO*: * merge develop to reveal branch * continue Revealjs ---- * fix move resize glitches some times (Michal doesn't experience this problem) * and the resize and move file because is large (Not high priority, can be resolved later) ---- *DONE*: * use percentages in positioning * clone slide for any item * add new slide adds two text boxes * Delete button handler bug * Position correctly where new textboxes and images spawn * Make the border of the text box visible around the real area * When I have the same picture in more than one slides, when I delete it from one slide then the second slide has it in cache but if I try to delete it there is a 404 error, maybe I have to rethink image name used when saving. * remove this slide doesn't remove picture from backend * if it is in presentation or export mode then the calculation is good in resize and move * BUT in the edit mode, take into account the two leftmost side bars the width they take * SOOOO substract the widths from these two bars * don't show the border in the presentation mode ## Meeting 2020/08/12 Talk about: * We now have a new App logo! (Thanks to Lida Zacharova, Dominik Taborsky). * One can export the presentation as PDF (Still in testing mode, best works for Google Chrome browser, uses the Spectacle's exporting functionality which relies to the browser for PDF exporting). * Github/Gitlab/Openshift environments should be re-organized. On Michal. * [JIRA tickets](https://its.cern.ch/jira/secure/RapidBoard.jspa?rapidView=6837&view=planning&selectedIssue=AUTHORING-313&epics=visible&issueLimit=100&selectedEpic=AUTHORING-17) should be resolved. I will try to fix the most critical issues: * PDF exporting, needs some tweaking. * Clone a current slide. * Put 2 text boxes by default when one clicks "Add a New Slide". * Fix a bug in positioning and resizing, the library uses "px" but would be more efficient and accurate if we could use "%" instead, this will be beneficial, to the Presentation Mode, PDF exporting and in having two text boxes in the center when one clicks: "Add a New Slide". * Migrate from Spectacle to Reveal. * Main reasons: https://codimd.web.cern.ch/s/SyiR7Fxdr#20200730-reveal-vs-spectacle-v6 * I will mark the most critical JIRA issues with a label and sort them, to make it easy for the next person to continue the Slides' development. * Indico Integration: Will not happen, if one wants to send a presentation only for viewing, then will attach to Indico a PDF file of the presentation, created in Slides'. If they want to share a presentation that can be edited further, one can attach the ".slides" file which can then be uploaded and edited online using the Slides' App. * Phoenix Integration: Will not happen, because there is not enough time left. Can happen in the future. BSc thesis on the CERN Slides' App: https://cds.cern.ch/record/2724152 ## Zoom 2020/08/06 * when page not found 404, the _go to home_ button doesn't show. ## 2020/08/05 - Future of the CERN Slides' App Meeting between Andreas, Aristofanis, Maria, Michal to prepare the position for the [August 12th Documentation Project meeting](https://indico.cern.ch/event/930101/). 1. Github (is now the master - this was decided for attracting external contributions - also for Aristofanis's thesis) vs gitlab (current mirror). We need gitlab because all the OpenShift deployment needs it. * Michal suggests to continue with gitlab and make it the master. If someone external wishes to contribute via github, they anyway have to place a _pull request_. [**JIRA needed**](https://its.cern.ch/jira/browse/AUTHORING-325) 2. Open access to the whole of CERN? How to do it? When to do it? About _how_: Default [applications-portal](https://application-portal.web.cern.ch) _Role_ is _eduGAIN_. We have _CERN_ (maximum restriction) for _Slides_. To open to the whole of CERN, just remove _it-dep-cda_ from _Linked Groups_ on [this page](https://application-portal.web.cern.ch/manage/08d7f0d4-78e1-45d7-8154-8365ba3b3006/role/08d7f0d6-6ecb-456b-8ab3-9e56acc0b638). About _when_: Some input from Andreas that will make the application fly. Then we can open it and request feedback. [**JIRA needed**](https://its.cern.ch/jira/browse/AUTHORING-326) except for those too easy to do. * Clone a slide (most important - easy) * New slide - 2 text boxes (title and body - doable ) * escape the theme (one can't change their mind when attempting to change theme) * escape the slideshow to return to edit (simply the _Back_ key but the users can't guess it). 3. slides-admin.docs.cern.ch necessary content: It should be a development guide for some student to become familiar with the application internals. How to deploy the application (from [the gitlab CI](https://gitlab.cern.ch/authoring/slides/Slides/pipelines)?), how to upgrade, etc... * Michal will merge the slides-backend and slides-frontend in OpenShift in the future. [**JIRA ticket**](https://its.cern.ch/jira/browse/AUTHORING-327) * Move the slides-backend.web.cern.ch web content of today to the slides-admin.docs.cern.ch. ![](https://codimd.web.cern.ch/uploads/upload_110c38cf665f7196a4baaff7b84e6905.png) 4. Move from Spectacle v.5 to Reveal.js [Reason here](https://codimd.web.cern.ch/npmeRtJkTluBvdNNh3b42g#20200730-reveal-vs-spectacle-v6). - OK since reveal is better supported than _formidable_ products and has good functionality. This is first priority for Aristofanis given the limited time remaining (2 weeks). - Adapt slides.docs.cern.ch for the _reveal_ URLs. Write the URLs with bigger letters in the doc. They are too small in the images. Introduce sub-sections to jump to _Present_ and _Export PDF_. 5. Sort bug fixes' and improvements' backlog [here](https://its.cern.ch/jira/secure/RapidBoard.jspa?rapidView=6837&view=planning.nodetail&epics=visible&issueLimit=100&selectedEpic=AUTHORING-17) based on importance, urgency, priority. **Michal, Maria, Aristofanis week of August 17th**. 6. There is no need for Aristofanis to do the Slides-Indico integration [here are possible ways to do it](https://codimd.web.cern.ch/npmeRtJkTluBvdNNh3b42g#20200729-Indico-integration-status) because: - for _view_ the PDF is enough as Indico material. Aristofanis's time should be used to make the PDF Export perfect. For _edit_ people can make available the .slides file as Indico material (download and open via https://cern.ch/slides necessary for further edit). 7. There is no need for Aristofanis to do the Slides-CERNBox (later Phoenix) integration - the SLM decided this is not for now because of very reduced resources in the Storage group [The process _is_ documented here](https://codimd.web.cern.ch/npmeRtJkTluBvdNNh3b42g#Phoenix-meeting-notes-20200727) for possible future use. ## 2020/07/30 reveal vs spectacle v.6 We are in favour of _reveal_ because it: 1. looks very much like codimd slides ==> easy adoption. 2. its API is very well documented and has a lot of config options: https://revealjs.com/config/ 3. themes integration and expansion is easy for the maintainer (simple .css addition). 4. easy slideshow. 5. better PDF export(also from command line). https://github.com/astefanutti/decktape 6. more activity in the community (dev and issues and responses) 7. There may be a way to import reveal.js or CodiMD slides in the CERN Slides App. We can reuse already made slides with reveal, that would be amazing advantage and I have some ideas on how to implement it! We need to get the sections and make them slides, needs work but can be done! 8. it is a W3C standard https://www.w3.org/2013/06/revealjs/#/ 9. Answer from _spectacle_ developer to Aristofanis on v.6 soon to be undone by v.7. We run spectacle v.5.7.2, which seems to be more solid than v.6: _https://github.com/FormidableLabs/spectacle/issues/929#issuecomment-665089398_ ## 2020/07/29 Indico integration status Current situation: 1. One can attach a .slides file to an Indico event as material. Also the .pdf version of the same file. 2. The .slides one has to download and open from within https://cern.ch/slides 3. The .pdf one one opens like any other. Example on https://indico.cern.ch/event/930101/ (file July24.slides is attached material). The optimisation would be to avoid the download and render in-situ. CDA mgnt would like this very much. This requires quite a development - also on the Indico side. (Aristofanis) I can see two ways, always keeping in mind that cern.ch/slides requires CERN login to be used: * Way 1: User is in Indico with his/her _user-login_ done. Sees a .slides material and clicks on it. A new tab opens with https://slides.web.cern.ch/edit/user-login/Presentation_Title. Development needed: * From the Indico side, I am not sure if it is possible to make POST requests to applications. If yes, Indico can send a POST including the ".slides" file and the authentication credentials of the user who clicks on the .slides material. For _Public_ Indico events where no login is needed, we can only show the PDF. * From the Slides' App side, a REST API endpoint which will accept the Bearer token and the ".slides" file and will be similar to the "Upload Presentation" in terms of functionality. This will give the user edit rights and ownership of his/her own copy of the original presentation which he/she can then edit and save locally or remotely to CERNBox (in the future). * Way 2 (preferred by the Indico team): Have a public mode of presentation and give the user the possibility to get a public URL like https://slides.web.cern.ch/public/user-login/Presentation-Title which can then be attached to Indico. The question is in which folder to store this file, detached from the _user-login_ (OpenShift or CERNBox). This will require more space for the CERN Slides' App (now ~10GB). Way 2 requires no development from Indico's side and a lot of development in the Slides' side. The user will be able to just _view_ the presentation and not _save_, hence not _edit_, it will be very complicated and not good in my opinion, I wouldn't like to take this approach. This was briefly discussed with Pedro and Adrian. They accept _Way 2_ , which they find better than the [Jupyter notebook plugin](https://github.com/indico/indico-plugins/tree/master/previewer_jupyter/indico_previewer_jupyter). ## 2020/07/28 For Monday Three solutions: 1. Stay in version 5.7 2. Go to Spectacle v6 3. Go to reveal.js Challenges and Opportunities in each solution, time estimation and discussion with Maria and Michal. ## 2020/07/27 * Documentation work :+1: * Meeting with Phoenix team :+1: * slides-admin access now :+1: (context slides-admin Michal the last 10 days) * Spectacle v6 * WOPI ### slides-admin The how-to.docs.cern.ch documentation is correct no need to change something, the error was that we didn't give the correct service name when registering in the cern-sso-proxy. The correct one is: slides-admin-docs ### Phoenix meeting notes 2020/07/27 **2020/07/30** The CDA Section Leaders' Meeting (SLM) decided to leave the Slides-CERNBox/Phoenix integration for now, given the limited remaining time for Aristofanis @ CERN. **2020/07/27** [Meeting agenda here](https://indico.cern.ch/event/941946/). Present: Giuseppe, Diogo, Aristofanis, Maria. Phoenix availability is not before the end of the year 2020. There will be more weeks needed for testing. Still CERNBox integration might be a waste of time, given that Phoenix _is_ the target. * Is https://codimd.web.cern.ch/s/B1vMM3sEU# correct? YES * Still valid? YES * Is effort needed from Aristofanis given that WOPI & CS3-REVA connection is completed since June? YES for connecting to storage using WOPI API calls and for _".slides"_ file handling from the UI (either Phoenix or CERNBox) through the integration application. * Phoenix is only the UI (offered by Owncloud). It is imminent but we don't need it. The substantial part is the **storage integration**, which is done in the background using WOPI. * Follow Collabora's example to integrate _Slides_ with CERNBox. Forget about Phoenix for now, not mature yet, though good progress is made. * Once Aristofanis develops the Slides-to-Storage integration, then integration to CERNBox and (later) Phoenix is trivial because the development of integration applications will be necessary (already DONE for Phoenix) - will be similar for CERNBox -. * OK to post technical questions in [the Slides' mattermost channel](https://mattermost.web.cern.ch/it-dep/channels/slideswebcernch--cernbox). Giuseppe will be the person to answer. Only for cases not in the [WOPI documentation](https://wopi.readthedocs.io/projects/wopirest/en/latest/) of course. * **Next** [CERNBox Integration project meeting](https://indico.cern.ch/event/880741/). Aristofanis may attend. ## 2020/07/23 1. Open JIRA ticket for links active in PDF. 2. Open JIRA ticket to keep slide number ON slide when exporting to PDF (spectacle doesn't cover that.) 3. Open JIRA ticket and investigate why Maria's browser has still the cached version of Slides' App. 4. Change screenshots in slides.docs.cern.ch. 5. Add the Export PDF section and write in slides.docs.cern.ch about the settings needed (depending on the browser) to show PDF in landscape and without header/footer. 6. Write in https://slides.docs.cern.ch/software_stack/ that more details are available in slides-admin.docs.cern.ch viewable by CDA members only. 7. Make sure that slides.docs.cern.ch is public wherelse slides-admin.docs.cern.ch is accessible from CDA only. 8. Write to IT-CDA in mattermost encouraging people to use cern.ch/slides and the export PDF beta. Mention that links are not yet there. 9. slides-admin.docs.cern.ch doesn't have a route now, check what's wrong in openshift. ## 2020/07/22 1. Present an Alert on Export PDF for right click to save. :+1: 3. Put in production :+1: 4. Send to Maria :+1: 5. When OK send to CDA mattermost Write in the JIRA ticket the time estimate for the 2nd stage: to get directly to the prompt to save PDF. (_I am not sure yet_) ## 2020/07/21 * Present an Alert on Export PDF for right click to save. * Ideally get directly to the prompt to save PDF. * Change the text (Pending) to (Prototype) or similar. ## 2020/07/17 * Upgrade to v6 will happen, but first we need to fix pdf-export and give it to prod * I have to update slides-admin * Thesis is submitted to PERGAMOS, now a final verification process from the library of the University has to take place * SNOW ticket for thesis submission to CDS: [RQF1619101](https://cern.service-now.com/service-portal?id=ticket&n=RQF1619101) * Work on pdf-export following Michal's words ## Zoom 2020/07/16 - Includes decision on spectacle version. * Open a SNOW ticket to CDS asking if you can submit the thesis and if the secretariat should be involved and if there is a specific category for BSc thesis reports. :+1: * Open JIRA for _Public mode of Presentation_. Check if Phoenix integration can be done a.s.a.p. to spare this development. :+1: * On PDF export check with Michal and/or Cristi then maybe other doc-proj members (Maria). * On spectacle v.6 it currently seems wiser to ignore it because a lot of things must change in the code. Spectacle v.5 is stable and satisfactory. E.g.: * new URL for slide number X * new URL for export (now export mode=) * themes' parsing. ## Zoom 2020/07/15 1. put same size for images incl. page numbers :+1: 2. reread and reformat the whole thesis to make sure it's correct :+1: 3. put ref. for dockers, kubernetes and MkDocs :+1: 4. check ref. in text after automatic renumbering :+1: 5. send final to thesis@uoa.gr :+1: 6. send to Maria and Takis until the meeting with Maria today :+1: 7. E-groups' title with 'E' :+1: ## FOR MARIA DIMOU **IMPORTANT**: Gitlab changed again ... When you try to create a documentation site, the Deploy Token is under 'Repository' not, 'CI/CD' as in the "https://how-to.docs.cern.ch/new/deploy_token/". ![](https://codimd.web.cern.ch/uploads/upload_8b6bc26b6a9d0e5273df27294dd7f5ca.png) ![](https://codimd.web.cern.ch/uploads/upload_4cf9255b3cec83ee449fceffcfd35e37.png) ![](https://codimd.web.cern.ch/uploads/upload_3f907aec0425f26fa30b742908f83d2f.png) I have to add the red arrows and Maria has to update the photos in "https://how-to.docs.cern.ch/new/deploy_token/" ## 2020/07/15 * trying the spectacle-renderer to help with export to pdf, seems difficult... (https://github.com/FormidableLabs/spectacle-renderer) ## 2020/07/14 * Thesis read and reformat, sent for format-test * Coding PDF-export functionality * Upgrading the Spectacle to v 6.2.0 is breaking, they have a lot of important [un-resolved issues](https://github.com/FormidableLabs/spectacle/issues), and it takes them a lot of time to fix them. So, for now, until everything is working properly, I will stay with the old version and try the PDF export functionality with this version. ## 2020/07/13 - Indico integration investigation * Finished the thesis reformatting * Resetup the project at home * Slides-Indico integration meeting with Pedro @15:00 (user space, or public?) (All are protected how are we going to do this) (We need only presentation mode) * Slides-Indico integration conclusions: * It can happen Slides -> Indico or Indico -> Slides. * An idea is that the users will have an "Indico" button in their Edit mode of the Slides' App and this button will be saving the presentation as a public link to an indico event/contribution etc. From a technical point of view, an indico plugin ( example: https://github.com/indico/indico-plugins-cern/tree/master/conversion) has to be developed in order for the Slides' App to be sending the file to the Indico database. It is something feasible but needs quite an effort. * From the Slides' App point of view, a public mode/view should be created with a URL making a presentation available to anyone with this URL. * Or we can use the PDF of the presentation and send this to Indico. * Before we continue with this integration, which requires a lot of work from both ends, some things have to get ready in the Slides' App side: * Export-PDF * Public mode of Presentation * Fix bugs in Slides' App * See when the Slides' App will be production ready, and then make the integration, when is something that people will use and will have an audience * Read the code of the indico-plugin ## 2020/07/10 * Investigate the spectacle v6 migration. * Open [GitHub issue](https://github.com/FormidableLabs/spectacle/issues/929) and send email to Kylie (spectacle developer) for open collaboration. * Read other github issues and examples of spectacle usage in v6 ## 2020/07/09 - From Monday -> Make github triggers: - https://github.com/CERN/slides/settings/hooks/new - https://docs.openshift.com/container-platform/3.5/dev_guide/builds/triggering_builds.html - https://developer.ibm.com/technologies/containers/tutorials/github-webhook-triggers-openshift/ - https://docs.openshift.com/container-platform/3.9/dev_guide/builds/triggering_builds.html - Update Jira issues - Talk with Adrian - Development work on feature/pdf-export branch. Updated spectacle to new major/breaking version, trying to understand how it works, rewrite the code so that it works well with this new version. - Talk with Thomas ## 2020/07/08 * Fork the project and what is the branch naming convention (find info in google docs doc: "GIT branches") * Read about good practices for git projects, important as the project is now open source and has to have a good professional image, talked with Michal and Adrian, I can add Michal and Dimitra as reviewers in my PRs * Became verified using GPG keys, important in order for me to be able to push in master in gitlab (https://gitlab.cern.ch/help/user/project/repository/gpg_signed_commits/index.md) * Updated the READMEs * Using the branching, naming, commit messages properly * Adrian messages in mattermost, gitlab mirror * Pending: * Add in admin-docs how can someone contribute. * Create properly the saving of images folder. * Continue with the development from where I left it. * Formatting feedback for thesis from UNI. ## 2020/07/07 * finished the pre-commit hooks * fixed the formatting of the code as Adrian correctly pointed out * syncronized gitlab with the new github.com/CERN/slides mirror * clear up the project * Pending: * Create properly the saving of images folder * Fix git history because it is a big mess (be careful with my new commits) (git logline, rebase -i) * Continue with the development from where I left it * Formatting feedback for thesis from UNI ## 2020/07/06 * deployed the admin docs: https://slides-admin.docs.cern.ch/ * worked with the pre-commit hooks ## How can someone run the Open Source Slides project * Clone the github repository: "https://github.com/CERN/slides" * (Check that .npmrc is in the project), if not, add the .npmrc file in the root of the project, and write registry=https://cern.ch/cern-nexus/repository/npm-group/ inside. (this is important in order for the "@authzsvc/keycloak-js-react@^1.1.0" package to be found in the npm registry) * create a .env file in the packages/slides-server folder. it's contents are:  KEYCLOAK_REALM="cern" KEYCLOAK_URL="https://auth.cern.ch/auth" KEYCLOAK_CLIENT_ID=*** KEYCLOAK_CLIENT_SECRET=***  * To find the secret values for Keycloak authentication, * Navigate to "https://openshift.cern.ch/console/project/slides-backend/browse/secrets" * Reveal the secret keycloak-client-id * Reveal the secret keycloak-client-secret * use these two values in the .env file * run yarn in the root of the project. * cd packages/slides-server && yarn start:dev. * in a new terminal tab: cd packages/slides-frontend && yarn start:dev. * a new tab in the browser will open automatically with "localhost:3000" as the URL, providing the frontend of the application. ### All these info about how to run the Slides' App locally is now on slides-admin.docs.cern.ch ## 2020/06/19 * Transfer ownsership of slides-backend to Maria ## 2020/06/17 Discussion with Giuseppe resulted in him sharing with me a git-repository: https://github.com/cs3org/wopibridge, which contains example code for the Slides' App integration with WOPI server. **IMPORTANT** regarding the Phoenix integration of the Slides' App. ## 2020/06/12 List for Monday: #### DONE or HAVE STARTED: * https://cern.ch/slides, has frontend/backend authentication, is live for usage and is connected with the CephFS storage. (This took a lot more time than expected, because the initial estimation didn't take into account the backend authentication requirement and also because the correct mounting of the storage to the slides application, required redesign of the docker-files responsible for the application's deployment in Openshift.) * Slideshow is done (some bug fixes still pending) * Export to PDF is under development (with the help of Michal Kolodziejski). * https://slides.docs.cern.ch, documentation first draft is up. * Thesis writing. * Unicode provisioning (I think it is okay...). * The unfolding of slides was just a zoom illusion, not a bug. * Allow the on-the-fly change of theme is done. * Show users the themes to select from is done, but the theming needs quite a lot of work yet until it is perfect. New themes have to be created and replace the current selection. #### STILL PENDING: * Phoenix Integration. * Image center-position (with a button, to happen automatically). * Ctrl+S to save text in the text editor. * Image as slide-background. #### ASK: * When will we open the github code? * CERN github, transfer the project ## Zoom 2020/06/10 * Use https://codimd.web.cern.ch/s/B1vMM3sEU# in the thesis. Review with the Phoenix guys if needed. * Replace the images in slides.docs.cern.ch. Put functional names in the images' dir. ## Zoom 2020/06/09 * Mention the applications' portal in the admin doc and the thesis. ## Feedback from the 2020/06/08 White Area Strategy comments on the [event](https://indico.cern.ch/event/870219/). Comments from the Zoom chat: Adrian: how would someone outside CERN, ie without access to this tool, edit a presentation made with the app? any plans to import/export from/to a standard format like pptx or odp (ms/libre office). Adrian: Alignment is done only within a box, but not globally on the slide - is there any way to get actually centered content (which is rather comment in presentations) without having to manually try to center the content box? [JIRA 257](https://its.cern.ch/jira/projects/AUTHORING/issues/AUTHORING-257?filter=allissues) I agree that if we try to import pptx it will always be bad and will give a bad impression of the tool Siavas: custom themes - codimd doesn't support the change of font. Change font for the whole presentation. Keyboard short-cuts. Leo+Asier: when will the slides' app be opened to Open Source? What about the integration in CERNBox, that was worked on in the initial days? Maybe I missed it but I don't think it has been referenced. Apostolos: bring text in front of picture. Already Done. Crop and resize picture outside the canvas. Tim: CERNBox, Indico, CDS integration. M.Alandes: I see an incredible amount of duplicated work here: OnlyOffice integration in CERNBox, Collabora integration in CERNBox and now this application also integrated in CERNBox. Please, take into account that users want to have a clear choice on what to use as an alternative to MS Office. And the licenses we are paying for OnlyOffice and Collabora already include presentation software, so I don't see the point of another application. Emmanuel: well MS Powerpoint, Only office or Collabora are all 3 old style slides editor suites. They are needed because people have habits. Reveal, slides, prezzi, etc. are the new ways of making slides, so we currently need both to properly evolve towards an 'online only' world, where people can interact without the need for a cernbox repository or a software suite compatible with a file format. Emmanuel on Themes: these 6 CERN themes are not "official", experiment with new ones, set global fonts for the slides. Ask others for cooperation for slide. ## Section headers for the BSc thesis Take important elements from the monthly reports' content from https://indico.cern.ch/event/852986/. Give definition and short description of acronyms and tools used. 1. **Abstract** (what https://cern.ch/slides is about and why we decided to develop a web slides' solution from scratch). 2. **Background** (evaluation of existing web-based slide maker and why they were rejected). 3. **Architecture** 1. Current (open https://cern.ch/slides). 5. Future (open from within Phoenix - alias CERNBox. Explain why not yet). 5. **Functionality requirements** (sorted by importance. Challenges during their implementation). 6. **User facing views** (with screenshots and explanations on how we go there and why). 1. a note on CERN themes. 1. Different browsers, Operating Systems. 8. **Editor** (investigation, evaluation, selection and conclusions with rationale). 9. **Images** (positioning, size calculation and storage challenges). 10. **The code** (structure, comments in JSDoc, libraries, dependencies, README components of general use). 11. **Authenication** (new SSO integration, Redux, keycloak et al). 12. **Storage** (present). 1. **Save** 1. **Upload** 13. **Slideshow** 14. **Export** (list all possible formats - comment on difficulties). 15. **Environment** 1. GitHub, the mirror in GitLab, why both. 2. Webservices PaaS sites 3. Frontend and backend in Openshift 5. ... 16. **Documentation** 1. https://slides.docs.cern.ch (defined, still empty). 2. https://slides-admin.docs.cern.ch (defined, still empty). 3. e-groups (slides-support, slides-admin,... and what they are needed for) 16. Conclusion from this experience. 17. Future work. 18. Operational requirements. END ------------------------------------- ## About Themes _Theme investigation using [this](https://codimd.web.cern.ch/s/H1p8rFYiL) codimd_ * **Theme 1** * font-family: PT Sans * blue of cern background * no first last slides * no logos![](https://codimd.web.cern.ch/uploads/upload_4dbc1f2fcb7e068e89ea017c0e4090d9.png =600x) * **Theme 2** * font-family: Roboto Slab * the same exactly with theme 1 but with different text font!![](https://codimd.web.cern.ch/uploads/upload_03fd7a3559735ee053ac601e6ed9281e.png =600x) * **Theme 3** * font-family: Roboto Slab * blue of cern background * first and last slides with cern logo. First has the www.cern.ch address under the cern-logo, last doesn't. * middle slides have the cern logo in the bottom left corner * **Theme 4** * font-family: PT Sans * blue of cern background * first and last slides with cern logo like in theme3 * middle slides have cern logo at bottom left corner and a blue stripe as footer * **Theme 5** * font-family: PT Sans * white background * first and last slides * middle slides have logo of IT dep in bottom left corner (with white background) * **Theme 6** * font-family: PT Sans * white background * no first and last slides * middle slides have logo of IT dep in bottom left corner (with white background) ## Export to PDF Today I was exploring the export to PDF functionality. _The results are:_ * In our current version of spectacle, ?export should be appended in the end in order to get the presentation in a state ready to be printed as PDF. * It doesn't work out-of-the-box, probably because spectacle keeps an internal history state (its own routing system), to which it refers when we append ?export * But Slides App has its own routes and history object that has to be replaced with the spectacle's one while in exportMode _Michal's contribution_ For him is working already, for me not yet. ## SUMMER **Meet @ CERN for thesis report on Fri 19/6 afternoon.** All dates below with "??????" due to COVID-19 **Maria** 22/6-14/7 & 20/8-12/9. **Aristofanis** 1-5/7. ## Zoom 2020/06/02 * White Area Monday https://indico.cern.ch/event/870219/ Slides on Mon 10AM. * Mention Phoenix * Show the 2 images of current and future architecture. * Mention Indico integration. * Mention the JIRA tickets' backlog (number) and an estimation of what cannot be done until 30/9. * On _slideshow_ mode show the page number. ## Zoom 2020/05/28 * Mk jira 2 tickets * Answer Thomas * Put labels in the themes'pop up * Rm the theme choice from landing page. * Think how to handle themes w/o cover _after_ themes with cover. * Put in slides.docs.cern.ch not to choose a font size before deciding on headers! * jira and thomas about "When you double click on a text item to edit it, the position of the text changes, this should not happen, instead the menu bar should appear above the text (and not push it down the page". * jira and Thomas " The cursor for moving or resizing does not fit the size of the element. A “moving” can appear far below an image element for ex." ## Zoom 2020/05/25 * Change theme on the fly :+1: * Refresh token :+1: ## Zoom 2020/05/20 * Discuss the candidate email for Monday. Aristofanis to send it. * Discuss alternative subjects for [the White Area lecture](https://indico.cern.ch/event/870219/). * New button on ultra-left banner with preview and choice of theme, allowing change on the fly. New window will open with 2-row, 3-column table with the themes layout. ## Zoom 2020/05/19 * Themes all together on homepage. (Change of mind the next day) * Fix theme 6 if possible. * Page number on save/upload presentation. * new SSO refresh token. Maria will edit the email to doc.proj. ## Dimitra's Feedback 2020/05/18 * Change the 'authenticated' parameter in App, to user or token * Change text color feature * Use different background color for each slide * Ctrl+s save text * Custom font size * Upload image not clear how to use (small and pale letters in the prompt) * Change position of alert in landing page (middle) * Landing page one on top of the other, instead next to each other (no symmetry) * Let's GO button Green * Remove all exclamation marks(!) * Download icon instead of Save Presentation * Icon of changing background colour ![](https://codimd.web.cern.ch/uploads/upload_109e2ad8b09f1ae3f0b1aba24f5c2276.png =50x) ## 2020/05/14 Zoom * About Openshift being slow on image loading (mattermost to Alex or SNOW ticket). * About re-opening existing presentation, new save overrides. Show warning "Give new presentation name." ## 2020/05/13 Zoom (no Zoom on 05/12 - Maria on holiday) REACT issues * First slide appears as last (both browsers) * Upload presentation takes quite some time (maybe server issue)... * Image loading takes some time... Symptoms in Chrome * Link is not obeyed. https://cern.ch/slides is open instead. Same in firefox. On mouse on and when clicking the new tab has bogus URL https://slides.web.cern.ch/dimou/May13-purple/edit/home.cern#/ * smileys w/o colour (on in Firefox) * renaming doesn't work the 2nd time. * open app name provisionally bla * save app new name bla-bli * re-save app new name bla-bli-bli (here it stops working. It claims that name already exists.) This works correctly in Firefox. ## 2020/05/11 Zoom 1. <original-name>.slides creation failed says now... 2. For new presentation name "A presentation with the same name already exists" is not true! Firefox behaviour. OK in chrome. 3. Check if there is any issue of token expiration related to 'save' failure. 4. Upload not yet ready because of Cloak. * Mk _upload_ and _letsgo_ buttons same colour. * Mk a draft drawing for the themes for people to vote. * Test spaces between lines of text on slide * image - say loading... * .gif upload seems now not ok from firefox ## How to give Takis access to Slides * Log in to https://users-portal.web.cern.ch with a social account. CERN lightweight accounts are not yet in new SSO production. * Once he logs in, he will have an Identity in our system. Add him to a group in our https://groups-portal.web.cern.ch * Then add the group to your guest role (that way you don't have to give access to everyone) ## Tasks I have to do (temporary) * Branches, merge to master - create feature branches - fix a bit the commits and history - merge the two openshift projects to one * Clear up the Jira tickets * Clear up code a bit * Fix Saving and Loading of Presentations * Add Loading indicator, in Landing Page and while image is uploading to server * **Chrome** (test other browsers) fix emojis and Landing page divider * Redesign Landing Page because less details are needed from the user, and add the tiles option for themes * Think how to delete images uploaded by user to the server when user leaves the Slides App * When reloading happens, everything is LOST * Routing, URL, sanitizing * Start thesis * Stabilize master branch and only fire new deployments when master changes, then move to a feature's branch and work there * Ctrl+S for saving in Text Editor * Dragging-Resizing problem (Snaps to another position after resize, maybe due to the calculations and item handler and render don't coincide) * Renaming presentation bug * Adding a new Item should be placed in the middle directly? Add button which centers item * When I load a presentation, go to first slide * Theme 6 is not working properly * Slideshow * Export to PDF * Change all alerts to sweetalert2 * Revise backend for corrections * Revise frontend where i need more alerts?! * Check again if backspace deletes items properly * Code Review by Michal would be nice * Add Linter * Use an image as background of a slide * Change theme on-the-fly * change all requests to only one, and get a parameter as a string, not with a lot of bool requests (onLoadRequest, onSaveRequest) ## Zoom 2020/05/07 * Open JIRA ticket to test all features on Chrome * Check the backend, we can't save presentation. * Change the error msg "this presentation already exists" in case when the backend can't be contacted to check the availability of the new name. The msg is misleading. The user knows this _is_ a new name. Better write "I can't accept this name right now - I can't contact the backend". * Fix the images ### Redux State Handling in Save & Load * I have 4 things in my state, - keycloak (auth) - presentation (general information about the presentation, like title, background color, etc...) - deck (holds all information about each slide) - router (holds information about url) * I will save only, presentation and deck in the presenation.JSON file, which is included in .slides file and can be read by the user. * When the user uploads a presentation file, auth will be there already, because the user will be already signed in, so no need to touch this. * The router will be initialized in the default, that maybe will start always the presentation in slide 0. ## Zoom 2020/05/06 * Backend and frontend both deployed in Openshift * Add Authentication to frontend * Writing report to Takis ### Notes on how to give Takis Access to Slides' App _input by Hannah Short_ - My University (_National and Kapodistrian University of Athens_) is not part of the eduGAIN Network. - So one option would be to allow access with social networks. - Or I can create a new Role in the application-portal only for Takis, and create an e-group with his email account only and give him access. - Or maybe he can make a lightweight account (as Maria proposed). ## Zoom 2020/05/05 _slides-admin_ in https://application-portal.web.cern.ch ## Zoom 2020/05/04 Busy with backend/frontend (messages with Alex,Tamas). The rest depends on this. ## Zoom 2020/04/30 * Deploy backend+frontend in the GitLab CI. * Solve the problem of _username_ which is now replaced by _achionis_. * Discussion on URL format. It will be https://slides.web.cern.ch/<username>/title/edit * <username> not needed in the landing page form. It will be taken for the path from the _new SSO_ identification. * Use the freed space to offer all the themes in miniature for the users to click on. * Solve landing page problem for Chrome (find new lib). ## Zoom 2020/04/29 * Say that the image relocation has to be dragged from the left, if still valid. * Page numbers are missing sometimes (ignore if zoom0-related) ## Features to show on Tue 28/4 * The theme selection * The title as filename * The local storage * The change of background colour * The CERN default highlighted * The formatting palette * The multiple boxes on a given slide * The image + text possibility * The repositioning * The resizing * The link with separate tab * The presentation re-opening. ## Content of the 2020/04/28 demo 1. Title slide: Αριστοφάνης in greek Aristophanes latin transcription Aristofanis phonetic 2. Slide with [photo - choose from](https://duckduckgo.com/?q=aristophanes&t=canonical&atb=v165-1&iax=images&ia=images) and header 3. Slide with list of a few works (say there are MORE) 4. Slide with links to wikipedia and/or other good pages. 5. Slide with thanks and animated gif. ## Zoom 2020/04/27 Make JIRA for _save as_ for presentations. It accepts a different name but doesn't show it on the URL! ## Access CERN-internal-only pages https://security.web.cern.ch/security/recommendations/en/ssh_browsing.shtml For Maria this doesn't work: 1) σε ένα terminal τρέχω ssh -D 12345 -N dimou@lxplus.cern.ch βάζω τον κωδικό μου και το αφήνω όπως είναι (δεν επιστρέφει κάτι αν βάλεις σωστά τον κωδικό σου) 2) σε ένα άλλο terminal τρέχω /usr/lib/chromium-browser/chromium-browser --proxy-server="socks5://localhost:12345" --host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE localhost" που ανοίγει τον chromium browser και είσαι εντός του CERN network ## zoom 2020/04/23 * when you resize then the position is lost... especially on images, sometimes it also happens when repositioning * i have to make text editor box bigger * text rendered in the beginning is like <p></p>, so the html renderer does the default and render it in the middle, while the text editor has as default the <p></p> to be left-aligned, same applies for h1-2-3 etc, I have to find a workaround. 1. when you click on add text place the box with formatting commands in the middle. 2. Expand the text "start typing - don't forget to save". 3. Place the green save rectangle _on top_ of the formatting box. 4. commit to master to have a stable version ensured for Tuesday. 5. Change disquette description to "save presentation". 6. open Jira to make the content of the box _Presentation title_ into web page _Title_ (not URL). See how CodiMD slides handle the web page _Title_. They take the presentation title https://codimd.web.cern.ch/p/SJaroUFSV#/ * based on this remove completely the largest box "what is your presentation about" ## zoom 2020/04/22 * Continue the development, demo tomorrow. * Alexandre responded to the ticket in MM private channel. I have to create a new Route in Openshift, named backend-slides.app.cern.ch, mount the CephFS storage there and hit this url for the APIs. This path will be exposing the backend, and the slides.web.cern.ch the frontend. https://cern.service-now.com/service-portal/article.do?n=KB0006299 more details here. Quoting **Alexandre**: > well, you need a second deployment running the backend, no? This is where you'll mount the storage For the moment you only run a static web server serving the javascript of the frontend. How do you run the actual backend server? Can't help you there, this is node.js know-how I suggest you first try to make your site work locally on your development machine using the Docker image you've built Once you can get that working, we can see how to deploy it in Openshift I suspect your Docker image only serves the static content I created the docker image locally, I ran the container, executed a shell on it and tried ls different paths, I was getting same results as in openshift, I could see the same paths, the paths in the container. But when I was seeing the logs of the docker container, they were giving me some URLs that I could access, but I couldn't for some reason. **Final conclusions from talking with Alexandre:** > You will see the same when you have a working backend that actually executes the ls / command. All you've said confirms what I've been telling you from the beginning: your docker image only runs a static web server returning the javascript of your single-page-application frontend. So you now need to build a functional docker image that includes the backend. I gave you several suggestions already: try the same npm command in your Docker image as you use for testing, try the S2I image. In any case I'm confident you can easily find instructions online to build a functional Docker image for a node.js application. ## zoom 2020/04/21 1. Open new [request for Openshift](https://cern.service-now.com/service-portal/view-request.do?n=RQF1570367) with Alexandre Lossent included making reference to https://cern.service-now.com/service-portal/view-request.do?n=RQF1567461 and Maria in the Watch list asking about the files' location and why you are stuck in built 52 and https://mattermost.web.cern.ch/it-dep/channels/openshift. 2. Complete RQF1567461 by asking why "undefined path" for the _Filepath_ and the other error for _ls_ (after 1) 3. Check SNOW KBs and tutorial on OpenShift https://cern.service-now.com/service-portal/search.do?q=openshift 4. top banner with formatting is too small still 5. mk black and blue frame coincide 6. on 2 boxes per slide - mk mv independent 7. on re-open show slide 1/x 8. Fix themes e.g. 6 9. https://en.wikipedia.org/wiki/ReStructuredText chk if appropriate for non-python code. * reminder of discussion on RST https://codimd.web.cern.ch/s/S1r2wlnUQ#About-sharepoint-and-other-formats ### Notes on Documentation of JS Projects The best way to write documentation for JS Projects seems to be the following: * [JSDoc](https://jsdoc.app/), is a standardized way of writing comments in your code to describe functions, classes, methods, and variables in your codebase. Example:  javascript /** * Adds two numbers together * * @param {number} first The First Number * @param {number} second The Second Number * @returns {number} */ function add(first, second) { return first + second; }  * use [Documentation.js](https://documentation.js.org/) to generate documentation based on all the comments you wrote in your project. What this does is to translate your carefully written JSDoc code comments into readable html or markdown documentation. * _It is probably a good idea to output documentation directly in .md, in order to use it with Mkdocs?!_ * use [Flow](https://flow.org/), this seems to be a nice to have, but optional step, to make documentation easier to write. Flow helps you avoid writing the types of a function, because it extracts this information automatically. It seems to have a nice [ReactJS integration](https://flow.org/en/docs/react/components/) as well, provided that our frontend is fully written in React, this can be really useful. Definetely worth looking more into it. _[source](https://medium.com/4thought-studios/documenting-javascript-projects-f72429da2eea)_ ### Open Slides to the World * First register Slides here: https://application-portal.web.cern.ch/ * Add the **new SSO to Slides**, using Cristi's wisdom * (Select which e-groups can access the app) * Go to the [Web Services](https://webservices.web.cern.ch/webservices/) site and click on _'Manage my websites'_ * Select the site you want to expose from the list of _'My websites'_ * Click on **'Site Access & Permissions'** * Choose **'Internet'** * (Ask security team for evaluation?!) _[source](https://cern.service-now.com/service-portal/article.do?n=KB0004359)_ ### Managing Openshift Storage I followed this [guide](https://cern.service-now.com/service-portal/article.do?n=KB0004361) to create a CephFS without backup storage. And this [guide](https://docs.openshift.com/enterprise/3.0/dev_guide/volumes.html) to remove the unwanted mounted volumes. ### Openshift Problems So I had a remaining container in the openshift project, that I couldn't find how to remove, Cristi helped me again. There were 2 containers in the pod, he had to manually edit the kubernetes definition, the yaml file of the deployment configuration and wipe out everything related to eos. **RESULT:** Now the deployed version is again up and running. So I can run my new test API and get the results to respond to the tickets. ## zoom 2020/04/20 No demo today. Aristofanis works on item 5 below. * Created a new storage mount and trying to use this for the pictures, trying to understand how openshift works, maybe I should close this ticket and open a new one. ## zoom 2020/04/16 1. Fix themes e.g. 6 2. rm black frame present after finishing edit -done 3. mk black and blue frame coincide -done 4. top banner with formatting is too small today 5. image,text mv & resize - save in Redux not yet 6. make link box bigger to see 'save' the target 7. on re-open show slide 1/x 8. https://cern.service-now.com/service-portal/view-request.do?n=RQF1567461 ## zoom 2020/04/15 1. Don't show the black line between formatting symbols and writing space. 2. Don't show the black box when done with content 3. Allow highlighting text in Edit without moving the whole box 4. Allow text and image without putting text in the middle of image 5. when reloading existing presentation show the right slide number. ## zoom 2020/04/14 Document how you access the site cern.ch/slides with the recipe by Cristi via lxplus and the Firefox plugin. **For the Maria-Aristofanis testing phase only**. 1. Add this to your .bashrc: alias proxylx='ssh -N -T -D 1234 username@lxplus.cern.ch' 2. Do source ~/.bashrc 3. Start the proxy, write proxylx, it's gonna ask for _password_ 4. Install firefox plugin [SwitchyOmega](https://addons.mozilla.org/en-US/firefox/addon/switchyomega/) 5. Add a profile like that, switch to it, voila ![](https://codimd.web.cern.ch/uploads/upload_a40e6ace8ba9f690ea9de383ae6c8835.png) 6. Access internal cern websites. (Verify that your IP is a CERN IP) ### Authentication notes 1. Check https://how-to.docs.cern.ch/advanced/authentication_authorisation/#f-select-thhe-cern-sso-proxy for the production. This is definitely useful for the documentation (later) but maybe also for the cern.ch/slides as well, given that it runs on OpenShift as well. 2. Check this recipe by Nikos K. on how to make an OpenShift site: (1) Available from the Internet AND (2) Available behind SSO to ALL authenticated CERN users (not a specific egroup).  1) Add a CERN SSO proxy as described here: <https://how-to.docs.cern.ch/advanced/authentication_authorisation/> 2) When asked for the "AUTHORIZED_GROUPS" enter anything (like "test" for example, it doesn't matter, you'll remove it later) 3) This has now created a thing called "cern-sso-proxy" under the "Resources" --> "ConfigMaps" in your OpenShift project. The URL to reach that thing directly will be something like this: <https://openshift.cern.ch/console/project/my_site/browse/config-maps/cern-sso-proxy> (replace "my_site" with your actual site name, i.e. your OpenShift project). 4) There will be a line like "Require shib-attr ADFS_GROUP test" there (or instead of "test", what you input as "AUTHORIZED_GROUPS") 5) Click on "Actions" --> "Edit" on the upper right corner. 6) Simply remove the "Require shib-attr ADFS_GROUP test" line! You should be left with (within the "Location" directive): --- <RequireALL> Require valid-user </RequireALL> --- That means that "valid users" are required (i.e. authenticated users) but no other restrictions are defined. 7) Save your changes. 8) For your changes to take effect you'll have to restart your CERN SSO proxy. Go to the "cern-sso-proxy" thing under "Applications" --> "Deployments". The URL to reach that thing directly will be something like this: <https://openshift.cern.ch/console/project/my_site/browse/dc/cern-sso-proxy> (replace "my_site" with your actual site name, i.e. your OpenShift project). 9) Click on "Deploy" on the upper right corner. 10) After a few seconds you should be all done!  _this is for the old sso_ ### New SSO (Cristi input) * Start with the documentation on using the new CERN SSO: https://auth.docs.cern.ch/applications/application-configuration/ * Wrapper for React applications that use new CERN SSO: https://gitlab.cern.ch/authzsvc/libraries/keycloak-js-react ## zoom 2020/04/09 Done on https://cern.ch/webservices/ : The website http://cern.ch/slides-docs has been successfully requested. The website http://cern.ch/slides-admin-docs has been successfully requested. Aristofanis to proceed with Step 2 and more as per https://how-to.docs.cern.ch/new/new_repository/ **mk JIRA ticket for this!!** **Note for the doc** The title is important because it gives the file name. **Dev items** Save and Upload image not working in Production Handle empty string in text editor :+1: Make prompt box bigger. Make open link in new tab default. (needs approval) Line height. (needs approval) Color Picker. (discuss) Flexible image position. Resize image. allow user to define font size outside the values offered (last priority feature). handle image storage in OpenShift to be able to open the app from the web. given the delay of Phoenix in production, check how to open cern.ch/slides from outside cern and with cern login. Implement authentication in the app, then SNOW for webservices.web.cern.ch. ## zoom 2020/04/08 Maria to create sites for userguide and admin. Aristofanis to put content when product mature. **Done** Current issues are: * The CKEditor5 integration to the application (positioning, alignment and some formatting issues) didn't work. Now trying react-draft-wysiwyg, based on draftjs.org. Repo is https://github.com/jpuri/react-draft-wysiwyg * Handling of multiple items in one slide, interactions between them * The export to PDF. * The time uncertainty of integration with Phoenix. ## zoom 2020/04/02-07 Aristofanis tries to integrate CKEditor5 in the Slides Application. Please delete _Obsolete JIRA issues with name: "TO BE DELETED"_ Maria **Done**. Issues to reflect into JIRA tickets: 1. Investigate why when _saving_ one is told _you are trying to **open** a file..._ _(ticket created)_ **Done** It depends on the OS. 2. Performance optimisation, the part that is due to the application and not to zoom. _(I won't create new ticket for this, because I know why it is happening and there is a more specific ticket for it.The source is the wrong handling of clicks from my ReactJS components.)_ 3. Image positioning. Now it escapes to the page top. _(Already in the list!)_ 4. 2nd image positioning. Now it vanishes, sometimes... _(same as above.)_ 5. Solve the format issue. We can't have any formating now or lists etc... **Done** 6. when you wish to _Add text_ in an _existing slide_ nothing happens...**Done**. ## zoom 2020/04/01 1. Substitute "Import from my CERNBox" with "Upload existing presentation" **Done** 2. Substitute "Export" by "Export as PDF (pending)". **Done** 3. Change "Slideshow" to "Slideshow (pending)". **Done** ## zoom 2020/03/30 Install zoom desktop to try demo remotely with slides' app running on Aristofanis' localhost. (Μαρια) **Done** Explain here how Aristofanis's local screen is shared for users to test. (Aristofanis) **Done** --- ### Remote Desktop Control: **Prerequisites:** * Both Users use a PC or Mac. **Giving Mouse Control:** While screen sharing in a Zoom meeting, you can "Give mouse/Keyboard control" to another participant that is in the meeting. First, the host or participant must select "**Share Screen**", (_**Host** cannot initiate screen share to present for another participant in the meeting._) Next, move your mouse to the top of your meeting window/screen to "toggle" the drop-down screen sharing menu. Select "**Give mouse/keyboard control to**" and then select the participant you would like to give control to. The participant can click anywhere on their screen to start control. ![](https://codimd.web.cern.ch/uploads/upload_c1dab7bbaa6b6a139d593c24c4f0df04.png) [source](https://canvas.du.edu/courses/79407/pages/sharing-mouse-control-in-a-team-meeting) --- **1,2 below for tomorrow** 1. 'Save as' is urgent. **Done** 2. Make PDF from .slides. This is the only way to open and show existing presentation as screenshow. 3. Put some order in the various notes, e.g. https://codimd.web.cern.ch/s/B1vMM3sEU# is now linked from Indico but all is spread out too much. 4. Insert link now crashes and loses the whole presentation. This is part of **TextEditor URGENT FIX** 5. When 'Add text' say 'double click to enter text &/or image'. **Done** 6. 'Load existing presentation' will be achieved when "save" is fixed. **Done** 7. The 'export to pdf' should be handled by the Slides App. Even if Phoenix in the future provides in its new UI a possibility to 'export to PDF', the conversion process should be done by 'Slides'. .slides files (in fact .zip) are in .json format. Others tips to newcomers: * Make a short video on how to use - put it in the monthly reports indico * Alignment is important. * Rename 'Preview' to 'Slideshow'. **Done** * Think on how to tell the user that clicking outside the frame completes the slide. * When 'Add new slide', skip the need to click again on 'Add text'. Just place a box saying 'double click to enter text &/or image'. * Change the 'Style' string with 'Background colour'. Mark in the palette the CERN official blue (default).**Done** * Allow 'Add text' to be clicked only once per given slide. * Allow re-size image. ## zoom 2020/03/26 1. Mark in current diagram the test workflow vs the future one with diff colour and mention in the legend. 2. Mark in the current legend what Phoenix is (future cernbox). 3. Make new cernbox diagram to show Slides app access for view/edit from cern.ch/slides. Mention storage-related packages and workflow and people involved. 4. Adapt cernbox diagram from within cernbox. **Done but waiting for Giuseppe/Hugo** 5. Commit changes to master to be able to adjust to user's screen size. **Pending <1/4 with other changes** 6. Ask for an OpenStack host **ask Piotr** to show Phoenix and WOPI server integration with the Slides' app. 7. Give priority to BIG size for edits (Thomas) **Done but not committed to Master yet**. ## Notes for the slides' prototype To create a web site, I believe it should be PaaS https://it-dep-cda.web.cern.ch/it-dep-cda/services/paas-web-hosting/ Name 'slides' is OK legally. Checked with Emmanuel on 2019-10-08. ## Template for every month 1. Milestones for current month (Status, issues, discoveries from similar activities, descriptions of needed new directions) 2. Results from previous month Location of reports for the University https://indico.cern.ch/event/852986/ ## Introduction This work will cover: * Sharepoint .aspx to .md file investigation (conversion?) * How to combine sharepoint site migration efforts with the Documentation project * Other formats to .md conversion * .pptx slides' generator investigation and deployment. More detailed [description here](https://it-student-projects.web.cern.ch/projects/malt-related-project-standard-documentation-workflow-and-conversion-tools-documentation). **[The MALT project](https://cern.ch/malt) is about having a flexible, vendor independent and cost-effective solution for users to work with, focusing on open software.** ## Milestones for October 2019 1. .aspx format conversion to MkDocs (what exists, what to code, where to put it, how to prompt the user). Web form? (we can transform .aspx -> .PDF or .html -> .md) 1. About sharepoint sites number (~2.400) and content and impact talk to **Pablo Jimenez** and get his presentation. 2. Pablo's analysis will show which sites should be simply archived or migrated and combined with the Documentation Project. 2. when .md file done, then **where** to publish? 3. espace.cern.ch to cernbox.cern.ch migration (when, if... who). 1. Input from Bruno: _For document libraries, yes there is a feature out-of-the-box. It works with a couple of clicks with IE on Windows or any webdav client. I implemented another export mechanism for the entire sites, though it is accessible only to administrators. This script exports the sharepoint site to dfs webarchive and deletes the site. The filesystem can be other than dfs.Data files are exported as .csv and could be used by cernbox. Just make sure permissions are fine._ 3. ??? twiki investigation of priority (Maria). 4. .pptx alternatives' investigation (some background in https://twiki.cern.ch/Edutech/NonPowerPointSlides). - - - ## Notes for the November 2019 report Put notes and presentation from the https://indico.cern.ch/event/853420/ presentation and video and summary notes starting here https://codimd.web.cern.ch/s/S1r2wlnUQ#Sharepoint-migration-and-Documentation-Project ### About sharepoint documentation sites' conversion to MkDocs Obtain **all** info from Pablo Jimenez with data from https://codimd.web.cern.ch/s/S1r2wlnUQ#Sharepoint-migration-and-Documentation-Project Check how to convert the FAQs of Thomas in https://espace.cern.ch/AVC-workspace/default.aspx ### Plan for MALt Project Build a web app with semantic ui and gatsby which has two sections: - make a new presentation || convert from a format to markdown - in the new presentation side: build beautiful and easy to use for users UI and do the job with reveal API, because it is free, open-source and makes beautiful slides. - in the corversion side, the user puts a document and it is converted to markdown. ### Slides' Investigation & Results: - These days I was investigating how to move forwards with the PowerPoint Alternatives project - Today I had the opportunity to have an insightful discussion with Pedro. - Having both technical & leading/architectural experience, he gave me some advice. - Summarizing our discussion the results where the following: - Building a clone of slides.com have the following important drawbacks: - They have done a lot of work on top of reveal.js, it's not as simple as I thought in the beginning. - It's not realistic, for me alone to build something till July that is useful and can really replace powerpoint. - It will have limited functionality and in reality it will be completely useless because no one wants to use limited functionality software. - It won't be able to open existing powerpoint presentations.That is extremely important and near to impossible to happen, best solution to this is Libre Office (best compatibility and most similar software to Microsoft powerpoint). - It needs a dedicated team, We are not a company that produces software services like Microsoft - Everything depends on the strategy we want to follow: - If we really want to get rid of microsoft Powerpoint, we need to be able to create new slides and open old ones.The best solution for that is libre office, if we want to target the big audience every user and not only the technical users. - Another approach is to improve an existing project.We could talk with the codimd people and contribute to this opensource presentation project.For example resizing and nice placing of pictures is a bit difficult for user to define. So in this approach we target the tech users of CERN and not all users.I can try implementing a plugin to improve functionalities, easier use of codimd slides for users.Easily adding content to presentations and resising them - we can combine these two approaches - If we take for granted that people are using again and again similar slides, the components they need are limited and specific, like title, image, bullet points text.I can make a GUI and offer these limited functions and produce an html based on them and serve it with reveal. - [Libre Office > Open Office](https://www.techradar.com/news/libreoffice-vs-openoffice) I believe OpenOffice is **NOT** free and the negotiations between Michal and them were not successful for months! Anyway, please check if I am right... If LibreOffice is better than OpenOffice, just forget this bullet. - In the November report, write a sentece around these lines: https://codimd.web.cern.ch/s/S1r2wlnUQ#Non-powerpoint-slides (about change of philosophy and new tool, no sustitute) ## Slides' investigation ### 2019/12/03 * Isolate _slides_ stories/epics in JIRA. * Discuss when and what Dimitra's slides' contribution will be. ### 2019/11/26 Scrum Nikos, Dimitra, Aristofanis, Maria * The _spectacle-editor_ below, doesn't work on Linux, so far. * Future functionality: convert existing codimd presentation to display/edit from within _slides_. Investigate how to handle images which appear as a codimd internal URL. * New jira item about enhancement of the entry box to cover the case of re-editing existing presentation. ### 2019/11/21 Editor investigation: https://formidable.com/open-source/spectacle-editor/ (Proposal by Emmanuel & Tim) ### 2019/11/19 Scrum Nikos, Dimitra, Aristofanis, Maria Nikos to send the CERN themes from OpenShift to Aristofanis. [Jira _story_ in the _epic=slides_](https://its.cern.ch/jira/browse/AUTHORING-41). This relates to Aristofanis's current work on the _text entry box_. This is inspired by codimd functionality [see here the use of metadata related to these cern themes](https://twiki.cern.ch/Edutech/NonPowerPointSlides#Additional_functionality_and_cor). ### 2019/11/13 Discussion between Michal and Maria on the slides' storage considerations: 1. Change cernbox settings for Aristofanis so that he can see the functionality that _onlyoffice_ provides and get inspired for his _slides_ development. 2. Forget about storing slides' files for now because of the changing situation around all cernbox APIs. Discussing with Hugo periodically is useful, in order to get first hand info on the european project (new APIs to [_owncloud_](https://owncloud.org/) and [_nextcloud_](https://nextcloud.com/) and several other storage solutions). Concentrate on the UI for now and store data locally. Pushing to EOS later is good enough. ### 2019/11/05 Discussion between Aristofanis, Giuseppe Lo Presti, Maria onlyoffice license being negotiated since end of 2018 open office was discussed in the documentation-project but onlyoffice not https://www.onlyoffice.com/ In the LEGO project notes https://codimd.web.cern.ch/sMFnKn9STpyUC_lVZSLTRQ#Slides-editing there wasn't much mention of onlyoffice. New API being developed by Hugo Gonzalez Labrador who is back on 25/11. Meanwhile talk to ALVES DE SOUSA CASTRO, Diogo for the new API development and integration. This dev. will take 3 years starting Jan 2020 but Giuseppe and Hugo are already working on it for many months. Discussions held regularly with Michal K. Next week Wed 13/11 @ 15.30. Aristofanis subscribed in the e-group. On storing and retrieving application data to/from EOS: https://cern.service-now.com/service-portal/article.do?n=KB0004361 https://cern.service-now.com/service-portal/article.do?n=KB0005259 Esteban Puentes from CDA-AD integrated drawio to cernbox. He can advise on application integration to cernbox: APIs link provided by Giuseppe : https://github.com/cs3org/cs3apis ### 2019/10/16 Discussion between Aristofanis, Emmanuel, Maria, Nikos, Pedro, Tim. **Ideal principles**: As per [the 2019/10/07 discussion](https://codimd.web.cern.ch/J40rhuevQAqQ12oqNtgZ-g#Non-powerpoint-slides), namely: _Our policy is to replace Microsoft PowerPoint with an open source, web-based, (ideally) free of charge product that covers our use cases with a different philosophy than the “.pptx substitutes” à la LibreOffice, OpenOffice etc. We also don’t wish to resort to Google. We wish to base Aristofanis' prototype on reveal. Powerpoint or LibreOffice slides' compatibility is not a problem because these tools will not disappear and because we are not asked to convert existing slides from the past._ **Decisions**: 1. Aristofanis to still try for a while to develop a slide editor (reduced functionality compared to slides.com) built on **reveal.js** or based on: 1. alternatives taken from the [list of slide tools from the LEGO project](https://codimd.web.cern.ch/sMFnKn9STpyUC_lVZSLTRQ#Slides-editing). Some of these tools are based on markup, which is not excluded but it depends on the flavour. Markdown solutions are much preferred and compatible with our documentation strategy. 1. Interesting starting point is _kreatorjs_. Old, but made in a few months by one person: demo: http://piatra.github.io/kreator.js/#/ code: https://github.com/piatra/kreator.js story: http://soc.rosedu.org/blog/?author=6 2. Fall-back solution: Enhance the codimd slide making. Although [codimd](https://cern.ch/it-dep-cda/services/codimd/) is still under evaluation (not a SNOW service), implementing slide enhancements will gain us only 10% of user community joining. On the other hand it is realistic to develop in Aristofanis's time-scale available (in operation by end of May 2020). It should come with a proper MkDocs documentation. Proposed name slides.docs.cern.ch ### 2019/10/22 * Site https://cern.ch/slides is created in OpenShift to host the prototype. Details in https://webservices.web.cern.ch/webservices/Services/SiteDetails/?SiteName=slides. documentation-project e-group members are moderators. * Dev in https://github.com/aristofanischionis/iPresent inspired by [_spectacle_](https://github.com/FormidableLabs/spectacle). _kreator_ was abandoned as old. * Aristofanis (to publish his prototype under development) and Background info discussed on 2019/10/16 [here](https://codimd.web.cern.ch/s/SyiR7Fxdr#Slides%E2%80%99-investigation) ### Slides' user requirements Aristofanis also polled the members of the mattermost _codimd_ channel for input on 2019/10/15 [here](https://mattermost.web.cern.ch/it-dep/pl/hi7616bb4jyeuqnx1bungfa4ty) Examples of existing slides: * Sophisticated: https://indico.cern.ch/event/666891/attachments/1540276/2415072/Mangano-AT.pdf * Requiring: https://indico.cern.ch/event/820018/contributions/3436379/attachments/1862098/3060623/2019-06-13_-_IT_Department_Meeting.pdf * Corner-case complexity: * https://indico.cern.ch/event/660352/attachments/1583505/2502838/Jan-2018-talk.pdf * https://indico.cern.ch/event/857135/attachments/1970155/3277003/Jan-2020-DG-talk.pdf #### Features' list (incomplete) 1. Text box appearence (evaluate if more than one text boxes should be offered as options). 2. Reserved space for slide title 3. Page number automatic assignment 4. Header and footer / optional / option to start from slide 2 5. Convert to pdf and check inclusions 6. Insert table, different colour cells 7. Insert picture next to the text, not only in the middle as per example https://codimd.web.cern.ch/p/SJaroUFSV#/6 8. Slide Master 9. User-friendly URL 10. Presentation templates 11. Presentation notes 12. Possibility to insert shapes 13. Easy change of theme (current themes in https://twiki.cern.ch/Edutech/NonPowerPointSlides). 14. A palette of fonts to choose from 15. Easy change of background colour 16. Easy adaptation of image size for embedded images 17. Content transition inclusion 18. Play video without exiting slides 19. Code and math inclusion, highlight and display 20. **Advanced development** Bridge the https://cern.ch/slides application with Indico, e.g. from a _Contribution_. * **IF** we need to fall back to a "codimd enhancement" solution, then: _How can one do "Undo" while editing in codimd?_ * Enhance the usage Documentation, e.g. PDF export, currently in https://twiki.cern.ch/Edutech/NonPowerPointSlidesquite