paranext / paranext-core

Electron client, extension host, and C# library for Paranext
https://paranext.github.io/paranext-core/
MIT License
16 stars 2 forks source link

Add first pass Send/Receive #949

Closed tjcouch-sil closed 2 weeks ago

tjcouch-sil commented 2 months ago

User Story As a translator, I want to be able to collaborate with others on my Scripture projects so that we can work together effectively.

Description Develop a rough-cut first draft of Send/Receive functionality in Platform.Bible.

UX Design (in progress) https://www.figma.com/design/2p7VtjVtRzp5e8zWi5ZCSy/Send%2FReceive?node-id=0-1&t=UIbKzXg4pwcS6EB7-0

PT9 Send/Receive Dialog image of PT9 Send/Receive Dialog

Image

S/R Results dialog image of S/R Results dialog

Image

Image

Image

Image

Image

Image

tjcouch-sil commented 2 months ago

S/R Dialog

Methods from SendReceiveProjectsForm.cs

jcuenod commented 2 months ago

Not sure if this is an appropriate place for what is essentially a feature request, but I often find myself wanting to "receive without sending". Conflict resolution is obviously a complicated problem - in my case, I am always willing to destroy local changes. I am wanting to be sure I don't push local changes. At the very least, I want to note this here because I'd love to see the design support this kind of feature in the future, even if not immediately.

tjcouch-sil commented 1 month ago

Looks like we will have to find mercurial on the system or bundle it in like Paratext does (on Windows). There are also a handful of files we need to distribute. Some notes from a discord conversation:

Download - Mercurial - explanation of various options available UnixInstall - Mercurial - instructions for building versions on unix? Maybe not Mercurial downloads - download links DeveloperRepos - Mercurial - explanation of what repos are what hg-stable: 197f092b2cd9 / - 4.8.2 version source BuildingOnWindows - Mercurial - old instructions for building on Windows BuildingPackages - Mercurial

tjcouch-sil commented 3 weeks ago

Image

Image

Image

tjcouch-sil commented 3 weeks ago

To set up Paratext 10 Studio for using Send/Receive (for now - will likely improve in https://github.com/paranext/paranext-core/issues/971):

Get Paratext Registry access:

On Windows:

  1. Install Paratext 9
  2. Enter your registration information in Paratext 9

On Linux or Mac:

  1. Install Mercurial (Ubuntu: run sudo apt-get install mercurial)
  2. Choose one of the following:
    • Copy InternetSettings.xml and RegistrationInfo.xml from a Windows machine that has already set up registration information in Paratext 9 from the Windows directory %localappdata%/Paratext95 to the Linux or Mac directory ~/.local/share/Paratext95
    • Create your own ~/.local/share/Paratext95/InternetSettings.xml and ~/.local/share/Paratext95/RegistrationInfo.xml based on the templates below.
      • Change SelectedServer to Production if you want to use the production server.
      • Choose between Enabled, VpnRequired, Disabled, and ProxyOnly for PermittedInternetUse

Sample InternetSettings.xml:

<?xml version="1.0" encoding="utf-8"?>
<InternetSettingsMemento>
  <SelectedServer>Development</SelectedServer>
  <PermittedInternetUse>Enabled</PermittedInternetUse>
  <ProxyPort>0</ProxyPort>
</InternetSettingsMemento>

Sample RegistrationInfo.xml:

<?xml version="1.0" encoding="utf-8"?>
<RegistrationData>
  <Name>Your Name</Name>
  <Code>YourParatext9RegistrationCode</Code>
  <Email>YourEmailAddress@example.com</Email>
  <SupporterName />
</RegistrationData>
tjcouch-sil commented 3 weeks ago

PRs: Made extension contributions load in order, added spinner, updated ParatextData to 9.5.0.6, misc bug fixes and improvements - 8 unreplied - Reviewable Include untracked changes aka new code files in patches - Reviewable Added send/receive service to dotnet process by tjcouch-sil · Pull Request #3 · paranext/paratext-10-studio Added Send/Receive extension including dialog and menu items by tjcouch-sil · Pull Request #67 · paranext/paratext-bible-internal-extensions Added link to S/R setup instructions, fixed default hg paths for mac by tjcouch-sil · Pull Request #4 · paranext/paratext-10-studio

Documentation: Troubleshooting Guide · paranext/paranext Wiki Set up Send Receive Functionality · paranext/paranext Wiki

roopa0222 commented 2 weeks ago

Verified the Send/Receive functionality on the Paratext 10 studio.

  1. Verified that all the projects that I have access to are displayed in the Send/Receive dialog
  2. Verified that the changes I made are Send/Receive
  3. Verified I can get all the changes made by other Users (TJ)
  4. Verified that a merge conflict is displayed when 2 users made changes on the same book and same verse. Gen 1 verse showed up as conflict as changes are made in the same verse.
  5. Verified the book links on the changes and merge conflicts, on click opens up the book in the editor.

SendRecieve_zzz6

SendReceive_Changes

SendReceive_TJ_Updates

SendReceive_PB_MergeConflict