Skip to content
Akashdeep Dhar edited this page Jan 21, 2021 · 4 revisions
  1. Install python3 and pip with your GNU/Linux distribution-specific package managers.
  2. Install and upgrade virtualenv if not already done.
    $ pip3 install virtualenv --user
  3. Clone the repository on your local storage and make it your current working directory.
    $ git clone https://github.com/t0xic0der/syngrafias.git
    $ cd syngrafias
  4. Create a virtual environment.
    $ virtualenv venv
  5. Activate the virtual environment.
    $ source venv/bin/activate
  6. Install all dependencies for the project.
    (venv) $ pip3 install -r requirements.txt
  7. Check the version of the Syngrafias Unified Server and make sure it is up-to-date.
    (venv) $ python3 syngrafias.py --version
    Syngrafias, version 09122020
  8. View help topics and flags present in the server file.
    (venv) $ python3 syngrafias.py --help
    Usage: syngrafias.py [OPTIONS]
    
    Options:
      -s, --servport TEXT  Set the port value for Interface [0-65536]  [required]
      -c, --sockport TEXT  Set the port value for WebSockets [0-65536]  [required]
      -6, --ipprotv6       Start the server on an IPv6 address  [required]
      -4, --ipprotv4       Start the server on an IPv4 address  [required]
      --version            Show the version and exit.
      --help               Show this message and exit.
  9. Run the Syngrafias Unified Server with the tweakable options shown above.
    (venv) $ python3 syngrafias.py -s 6969 -c 9696 -4
     * Starting Syngrafias...
     * Collaborator server started on port 9696.
     * WebSocket server started on port 6969.
     * IP version  : 4
     * Serving Flask app "modules.servdocs" (lazy loading)
     * Environment: production
       WARNING: This is a development server. Do not use it in a production deployment.
       Use a production WSGI server instead.
     * Debug mode: off
     > [Sun Dec 13 09:39:42 2020] [HOLAUSER] Starting Syngrafias...
     > [Sun Dec 13 09:39:42 2020] [HOLAUSER] IP version : 4
     > [Sun Dec 13 09:39:42 2020] [HOLAUSER] Syngrafias was started up on 'ws://0.0.0.0:6969/'
     * Running on http://0.0.0.0:9696/ (Press CTRL+C to quit)
  10. Make a note of your device's IP address - keeping in mind the IP version you chose while initiating the servers and ensure if your device is reachable in your network.
  11. To access the collaborator web-interface,
    1. Devices in your network can simply head over to http://<YOUR-LOCAL-IP-ADDRESS>:6969/ on a web browser.
    2. To ensure that the server is discoverable across the internet, enable port forwarding or use the IPv6 mode.
    3. Simply replace the port number provided here with the one that you provided while initiating the collaborator server - Specifically the one after the -s suffix.
    4. The IPv6 mode is natively supported though it is really upto your internet service provider if IPv6 addresses are made available to you or not.
  12. Playing around with the web-interface, you can
    1. Create yourself a workspace session by typing in your alias and generating a workspace identity.
    2. Keep a copy of the identity as that is how your fellow collaborators can join this workspace.
    3. Let your friend join the workspace by entering in their alias and your workspace identity.
    4. Begin with exploring intuitive cells
      1. Create cells by clicking on the Append cell button on the dropdown menu. The cells you create are conveyed to everyone sharing your workspace and users are made aware that you created a cell.
      2. Discard cells by clicking on the cell identifier unit and then on the Remove button from the modal which just opened up. The discarded cells are removed for everyone sharing your workspace and users are made ware that you removed a cell.
    5. Move on to editing contents
      1. Rename cells separately collaboratively. The modified cell names are conveyed to respective cells for everyone sharing your workspace and users are made aware that you are renaming the cell.
      2. Edit cell contents collaboratively. The modified cell contents are conveyed to respective cells for everyone sharing your workspace and users are made aware that you are editing the cell.
    6. Retain and retrieve your work
      1. Retain the progress by clicking on the Save document button on the dropdown menu. This will save a copy of the document locally.
        1. Make sure that you have popups enabled for this web application.
        2. Enter a unique name to your document or use the one generated automatically for you.
      2. Retrieve the document and continue working by clicking on Open document button on the dropdown menu with a local upload.
        1. Loading up files from your local storage requires the presence of a compatible File Reader API support which is supported in most modern day browsers including Firefox and Chrome.
        2. The default editor only supports the Syngrafias Workspace Document format and any other file type cannot be opened up because the same would not be able to be parsed by the loader.
        3. The ADOC Unity Mode supports opening up of only ASCIIDoctor files so any other file type cannot be opened up because the same would not be able to be parsed by the loader.
        4. The MD Unity Mode supports opening up of only Markdown files so any other file type cannot be opened up because the same would not be able to be parsed by the loader.
        5. Opening up a new document would remove all the cells present in the current workspace so be sure to save your changes before opening up a new document in the same workspace.
        6. The newly opened cells are not conveyed to everyone sharing your workspace and they would be out-of-sync should you continue editing the newly opened cells.
        7. It is wiser to first have everyone sharing a workspace to open up the same document and then begin editing so as to keep the changes synchronized at all the ends.
    7. Keep a check on activities done by clicking on the Track activities button on the dropdown menu. You would see all activities done by every collaborator.
    8. Dive into other features
      1. Access the in-app documentation by clicking on the View support button on the dropdown menu.
      2. Know more about the web application by clicking on the About the app button on the dropdown menu.
      3. Tweak the web-interface's look and feel by clicking on the Change preferences button on the dropdown menu.
      4. End your session by clicking on the Reset workspace button on the sidebar.
  13. Once you are done, head back to the terminal and press [Ctrl+C] to stop the server.
  14. When done tinkering, deactivate the virtual environment in both the terminals.
    (venv) $ deactivate
  15. Give stars to the repository if you found it useful.

You may request for the addition of new features in the issues page but as the project is singlehandedly maintained - it might take time to develop on them.

Please consider forking the repository and contributing to its development. ❤️

Clone this wiki locally