bibledit / cloud

Source code for Bibledit core library and Cloud binary
GNU General Public License v3.0
13 stars 3 forks source link

Nehemiah 12 Bibledit-Paratext Bridge and sending to Cloud #339

Closed warpok closed 4 years ago

warpok commented 4 years ago

When I activate the Paratext Bridge, I always get the same chapter that is copied, not merged. It is Neh. 12.

Screenshot-1

warpok commented 4 years ago

\c 12 \s1 Daftar para imam dan orang-orang Lewi yang kembali \p \v 1-3 Banyak imam dan keturunan Lewi kembali dari Babel bersama Zerubabel dan Yesua. Mereka adalah Seraya, Yeremia, Ezra, Amarya, Malukh, Hatus, Sekhanya, Rehum, Meremot, \v 4-6 Ido, Ginetoi, Abia, Miyamin, Maaja, Bilga, Semaya, Yoyarib, Yedaya, \v 7 Salu, Amok, Hilkia dan Yedaya. Itulah kepala-kepala imam dan saudara-saudara mereka pada zaman Yesua. \p \v 8 Daftar keturunan Lewi yang kembali yaitu: Yesua, Binnui, Kadmiel, Serebya, Yehuda, dan Matanya. Mereka bertanggung jawab memimpin nyanyian ucapan syukur kepada Tuhan. \v 9 Bakbukyah, Uni, dan keturunan Lewi lainnya membentuk paduan suara yang berdiri di hadapan mereka saat bernyanyi sesuai dengan tugasnya. \v 10 Yesua bertahun-tahun sebelumnya adalah imam besar. Dia adalah ayah dari Yoyakim, yang adalah ayah dari Elyasib, Elyasib adalah ayah Yoyada. \v 11 Yoyada adalah ayah Yonatan, Yonatan adalah ayah dari Yadua. \p \v 12 Yoyakim adalah pemimpin semua imam. Sedangkan para pemimpin keluarga untuk keluarga Meraya Seraya, Hananya memimpin keluarga Yeremia, \v 13 Mesulam memimpin keluarga Ezra, Yohanan memimpin keluarga Amariah, \v 14 Yonathan memimpin keluarga Melikhu,Yusuf,memimpin keluarga Sebanya. \v 15 Yang lainnya adalah Adna yag memimpin keluarga Harim, Helkai yang memimpin keluarga Marayot. \v 16 Zakharia yang memimpin keluarga Ido. Mesulam yang memimpin keluarga Gineton. \v 17 Zikhri memimpin keluarga Abia, Piltai memimpin keluarga Minyamin dan Moaja. \v 18 Samua memimpin keluarga Bilgia, Yonatan memimpin keluarga Semaya. \v 19 Matnai memimpin keluarga Yoyarib,Uzi memimpin keluarga Yedaya. \v 20 Hasabya memimpin keluarga Hilkia. Netaneel memimpin keluarga Yedaya. \v 21 Hasabya memimpin keluarga Hilkia. Netaneel memimpin keluarga Yedaya. \p \v 22 Pada waktu Elyasius memimpin orang-orang Lewi, inilah daftar semua kepala kaum keluarga: Elyasib, Yoyada, Yohanan, dan Yadua. Mereka menulis nama keluarga yang merupakan keturunan Lewi. Ketika Darius raja Persia, para imam bertanggung jawab untuk mencatat siapa kepala keluarga. \v 23 Mereka menulis nama para pemimpin keluarga yang merupakan keturunan Lewi dalam kitab sejarah. Mereka mencatat kejadian tersebut sampai Yohanan yang merupakan cucu Elyasib. \v 24 Nama pemimpin orang-orang Lewi: Hasabya, Serebya, Yesua anak Kadmiel, dan saudara-saudara mereka yang berdiri di depan mereka untuk menyanyikan puji-pujian dan ucapan syukur kepada ALLAH. Mereka melakukan hal itu sama seperti yang diperintahkan olehraja Daud,orang yang melayani TUHAN. \v 25 Matanya, Bakbukya, Obaja, Mesulam, Talmon dan Akub adalah penjaga pintu gerbang. Mereka berjaga di gudang dekat pintu gerbang bait ALLAH. \v 26 Mereka melakukan pekerjaan itu pada masa Yoyakim anak Yesua dan cucu Yozadak, pada zaman pemerintahan gubernur Nehemia dan imam Ezra. Ezra juga mengenal hukum Yahudi dengan sangat baik. \s1 Peresmian tembok kota Yerusalem \p \v 27 Ketika kami meresmikan tembok di sekitar Yerusalem, kami memanggil keturunan Lewi yang tinggal di sekitar Israel, sehingga mereka bisa datang untuk merayakan pengudusan tembok. Mereka akan menyanyikan puji-pujian ucapan syukur kepada TUHAN dan banyak dari mereka memainkan simbal, kecapi dan kecapi. \v 28 Kami memanggil keturunan Lewi yang terus bernyanyi bersama. Mereka datang ke Yerusalem dari daerah terdekat tempat mereka tinggal, dan dari tempat-tempat di sekitar Netofa, sebelah tenggara Yerusalem. \v 29 Ada juga yang datang dari tiga tempat yaitu dari timur laut Yerusalem, Bet Gilgal dan daerah sekitar Geba dan Azmavet. Di dekat Yerusalem para penyanyi itu membangun desa untuk tempat tinggal mereka. \v 30 Para imam dan keturunan Lewi melakukan ritual untuk menguduskan mereka di mata Tuhan dan semua orang, gerbang kota dan tembok itu. \p \v 31 Kemudian saya mengumpulkan para pemimpin Yehuda di atas tembok, dan saya menunjuk mereka untuk memimpin dua kelompok besar untuk berbaris mengelilingi kota tempat tembok berdiri, bersyukur kepada TUHAN. Saat mereka menghadap kota, satu kelompok berjalan ke kanan menuju Gerbang Sampah. \v 32 Di belakang mereka berjalanlah Hosaya dan setengah dari para pemimpin Yehuda. \v 33-34 diikuti oleh Azarya, Ezra, Mesulam,Yehuda, Benyamin, Semaya dan Yeremia, \v 35 lalu dari kaum imam yang memegang nafiri adalah: Zakharia anak Yonatan. Yonatan anak Semaya. Semaya anak Matanya. Matanya anak Mikha. Mikha anak Zakur. Zakur anak Asaf. \v 36 Di belakang mereka berbaris anggota keluarga Zakharia lainnya yaitu: Semaya, Azarel, Milalai, Gilalai, Maai, Netaneel, Yehuda, dan Hanani. Mereka semua memainkan alat musik sejenis yang pernah dimainkan raja Daud bertahun-tahun sebelumnya. Ezra, orang yang mengenal hukum Yahudi dengan baik, berjalan di depan kelompok ini. \v 37 Ketika mereka sampai di pintu air mancur, mereka menaiki tangga menuju Kota Daud, melewati lokasi istana Daud, dan kemudian sampai ke tembok di pintu air, di sisi timur kota. \p \v 38 Paduan suara lainnya yang sedang bernyanyi dan bersyukur kepada TUHAN berbaris ke kiri di atas tembok. Saya mengikuti mereka dengan setengah dari rakyat. Kami berjalan melewati Menara perapian ke Tembok Lebar. \v 39 Dari sana kami berjalan melewati Gerbang Efraim, Pintu Gerbang Lama, Gerbang Ikan, Menara Hananeel, Menara Mea, sampai ke Pintu Gerbang Domba. dan berhenti di dekat pintu gerbang menuju Rumah TUHAN. \p \v 40 Kedua kelompok tersebut sampai di Rumah TUHAN dan mengucap syukur. Mereka berdiri di tempat mereka di sana. Saya dan para pemimpin yang bersama saya juga berdiri di tempat kita. \v 41 Di kelompok kami para imam yang semuanya meniup sangkakala yaitu: Elyakim, Maaseya, Miniamin, Mikha, Elioenai, Zakharia, Hananya, \v 42 Para penyanyi yang dipimpin oleh Yizrahya bernyanyi dengan nyaring adalah Maaseya lain, Semaya, Eleazar, Uzi, Jehohanan, Malkia, Elam, dan Ezer. \v 43 Setelah kami pergi ke luar Rumah TUHAN, kami memberikan banyak persembahan. Kami semua bersukacita karena Allah sudah membuat kami sangat bahagia. Para wanita dan anak-anak juga bersukacita. Orang-orang yang jauh bisa mendengar suara yang kami buat di Yerusalem. \s1 Sumbangan untuk para imam \p \v 44 Pada hari itu ada orang ditunjuk untuk bertanggung jawab atas gudang tempat mereka menyimpan uang yang diberikan orang untuk Rumah TUHAN. Mereka juga bertanggung jawab atas persepuluhan dan bagian pertama dari gandum dan buah yang dipanen setiap tahun. Mereka juga membawa ke dalam gudang sebagian dari panen dari ladang untuk para imam dan keturunan Lewi. Hal ini dilakukan karena orang Yehuda sangat senang memiliki pelayan yang bertugas di Rumah TUHAN. \v 45 Para imam dan orang-orang Lewi melayani Allah dalam ritual mereka untuk menyucikan sesuatu, dan para pemusik di Rumah TUHAN dan para penjaga gerbang juga melakukan pekerjaan mereka seperti raja Daud dan Salomo, anaknya, sudah menyatakan bahwa mereka harus melakukannya. \v 46 Sejak zaman Daud dan Asaf, sudah ada pemimpin dan penyanyi, mereka menyanyikan lagu untuk memuji dan bersyukur kepada Allah. \v 47 Selama masa Zerubabel dan Nehemia, seluruh Israel menyumbangkan makanan yang dibutuhkan para penyanyi dan penjaga pintu gerbang setiap hari. Mereka menyisihkan apa yang orang-orang Lewi butuhkan untuk hidup, dan orang-orang Lewi menyisihkan untuk keturunan Harun, pemimpin pertama dari semua imam.

teusbenschop commented 4 years ago

Does it struggle with the combined verse numbers perhaps?

What will happen if the verse numbers are simple without the combinations?

warpok commented 4 years ago

How could that be? We have combined verses in lots of places. But maybe it is because there are combined verses right at the top of the chapter. But I am pretty sure that happens in other books/chapters as well.

===============

Pada tanggal Sel, 10 Des 2019 pukul 17.15 Teus Benschop < notifications@github.com> menulis:

Does it struggle with the combined verse numbers perhaps?

What will happen if the verse numbers are simple without the combinations?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bibledit/cloud/issues/339?email_source=notifications&email_token=ABDSIJIN43AMUTA54OMNYHDQX7FEJA5CNFSM4JZACYRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGQA3DQ#issuecomment-564137358, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDSIJLXZQXIDAQLNJ2BOFDQX7FEJANCNFSM4JZACYRA .

teusbenschop commented 4 years ago

Is there a way for me to receive the version of the book of Nehemia in Bibledit, and one of the version in Paratext?

That way I can reproduce it here and see what happens.

warpok commented 4 years ago

18_Nehemia.Bibledit.tar.gz

warpok commented 4 years ago

16NEHTSIC.SFM paratext.tar.gz

warpok commented 4 years ago

Thanks, Teus!

teusbenschop commented 4 years ago

Thank you for the two books.

After comparing the two on textual content, both editions of chapter 12 are identical.

warpok commented 4 years ago

I just did another Send/Receive, then immediately did the Paratext bridge:

Screenshot-7

warpok commented 4 years ago

How can that be explained?!!!

Now for another question: Screenshot-6

warpok commented 4 years ago

The above Sending to the server was from yesterday.

Why is it that after doing a Send/Receive and Paratext bridge that then everything will be sent to the server? Screenshot-8

warpok commented 4 years ago

I just received the new files Gen 29, 30, 31, etc from the server. Then I did the Paratext bridge (which I assume does not change the Bibledit files, but only merges into the Paratext files). The 5 chapters above have not changed in my Bibledit from what is on the server. So why is Bibledit sending them again to the server?!!!

teusbenschop commented 4 years ago

After putting the data into both books of Nehemia, as you have it, the same phenomenon occurs here too.

teusbenschop commented 4 years ago

The only reason I can think of why it sends the chapters to the server would be that something got changed somehow.

Did anything change here in the contents of the chapters?

teusbenschop commented 4 years ago

Here is a snippet of the code that explains why Nehemia 12 gets copied from Bibledit to Paratext.

  // If Bibledit has the chapter, and Paratext does not, take the Bibledit chapter.
  if (!bibledit.empty () && paratext.empty ()) {
    resulting_usfm = bibledit;
    messages.push_back (translate ("Copy Bibledit to Paratext"));
  }

It means that the system sees the Paratext edition of Nehemia 12 as non-existent.... And that is strange, because it does exist.

warpok commented 4 years ago

Responding to your comment:

The only reason I can think of why it sends the chapters to the server would be that something got changed somehow. Did anything change here in the contents of the chapters?

Sometimes, with the size of my team, there are 20-30 chapters that get updated to Paratext. Then immediately the same number get sent to the server. If anything has been changed, it is because Bibledit is causing some change in the merging process.

The thing I want to make sure of is that nothing from Paratext is being merged into the Bibledit chapters.

teusbenschop commented 4 years ago

Then if it is Bibledit that is causing some changes in the merging process, it's helpful to somehow get to see what those changes are. Do you notice a difference in "textual" content after the merging?

teusbenschop commented 4 years ago

The USFM of Nehemia that I received, the Paratext edition, has a space after \c 12

Bibledit tidies this space up automatically, but Paratext obviously does not.

Once you remove that extra space at the Paratext side, everything will be okay again.

teusbenschop commented 4 years ago

Correction: It is not a normal space that is after the \c 12 in the file from Paratext. But it is a non-breaking space. That kind of space is breaking the system.

warpok commented 4 years ago

I've fixed it. And I will confirm that it now is working properly soon.

teusbenschop commented 4 years ago

I am also going to handle this non-breaking space in the code so that after the fix it will just handle it without anyone noticing

teusbenschop commented 4 years ago

A local client with the fix was installed here locally. The offending Paratext file of Nehemia was copied to the "My Paratext 8 Projects" folder. The client was made to synchronise with Paratext.

The outcome is good:

Sample <> TST Nehemiah 12: Chapter merged

warpok commented 4 years ago

Wonderful! Will this be implemented on the server and in clients?

teusbenschop commented 4 years ago

Yes, it will be implemented throughout .

teusbenschop commented 4 years ago

I did a check on doing a Paratext synchronise action, and then doing a send/receive to the Cloud.

Here are the actions:

  1. Genesis 1 was changed in Paratext.
  2. Do a Paratext sync.
  3. Do a Send/receive to Cloud.

Here is the result:

Paratext: Send/receive Sample <> TST Genesis 1: Chapter merged Paratext - Sample Genesis 1 Paratext: Up to date Bibles: Send/receive Bibles: Sending to server: Sample Genesis 1 Bibles: Up to date

But this was on a simulated environment on macOS, perhaps it's better to do this on Windows.

warpok commented 4 years ago

I use the Linux client, where I saw this happening. I have already done a Send/Receive whenever I do a Paratext bridge operation.

So (in my case at least) the client and the server already have the newest Genesis 1. So why would the client need to send it to the server again after only doing the Paratext bridge?

teusbenschop commented 4 years ago

On a Windows system, with Bibledit for Windows, and with Paratext, the phenomenon occurs here as follows.

Here are the steps:

  1. Synchronise with the Cloud.
  2. Synchronize with Paratext.
  3. Edit Genesis 1 in Bibledit.
  4. Synchronise with Paratext.
  5. Synchronise with the Cloud.

The expected result is that there's changes sent to the Cloud. The actual result is that Bibledit sends changes to the Cloud.

So this is good.

But your case is different. I will have a look at that too.

teusbenschop commented 4 years ago

When doing a Paratext sync, that led to a merge operation in Bibledit, and then doing a send/receive to the Cloud, then here too the same occurs as you see, which is that Bibledit sends the chapter to the Cloud.

When looking in the Cloud, there's no Journal entry about it. This means that the Cloud did not see changes when it received the chapter from Bibledit.

This means that Bibledit sends something to the Cloud, but this does not contain changes.

warpok commented 4 years ago

Do you want it to do it that way?

teusbenschop commented 4 years ago

Do you want it to do it that way?

No, it's not the intended behaviour that it is doing right now. It should not be sending that chapter, with no changes, to the Cloud.

teusbenschop commented 4 years ago

Another test has been done on this issue. After merging with Paratext, there's no change in the chapter at the Bibledit side at all. The file before the merge, and the file after the merge, are identical. So it should not be sending this to the Cloud.

teusbenschop commented 4 years ago

The issue of sending to the Cloud after doing a sync with Paratext has now been fixed in the code.

warpok commented 4 years ago

Yay! Thanks so much for solving the problem. No data lost. It just was bugging me.

teusbenschop commented 4 years ago

Yes, it's better to be sure that it was sending no changes to the Cloud.