0 votes

Our team has at least 16 Paratext projects. We need to know the number of Unresolved notes that have the ToDo tag for each book of the NT for each Paratext project. I am working with Claude Cowork to try to get this info and put it into a spreadsheet. I can get the info myself by opening a Notes List window on every Paratext  project and set the filters appropriately. That gets me the numbers today and I don't mind doing it that way one time. But I am going to need these numbers again as we track the teams' progress, so I want Claude to do it for me and be able to do it again. It has been unable to come up with numbers that match what I see in Paratext. It is having a hard time reverse engineering the data structures. So here are its questions as it put them to me: 
The specific questions I'd ask the developers:

  1. When a user filters for "Unresolved To Do" notes, how does Paratext determine the current tag of each thread? Is it: (a) global accumulation of all TagAdded/TagRemoved across all users' files, (b) the root comment's tag only, or (c) something else?
  2. How does Paratext determine whether a thread is unresolved? Root comment's Status field, any user's Status, or a dedicated thread-level field?
  3. Does the filter show threads from all users or only threads the logged-in user has participated in?
  4. Does a thread with a deleted root comment still appear in the filter?
Thanks for any help you can give me on this. 
John Nystrom
Aitape West Translation Programme
SIL PNG 
Paratext by (310 points)

2 Answers

0 votes

Since it's talking about a "root comment", I'm guessing this is already being done, but just in case, before anything else can be calculated, the comments from all users with the same thread ID need to be gathered and sorted by date. This is Paratext's definition of a project note thread. After that ordered list of comments is created, then you can calculate the other stuff:

  1. The current tag is determined by looking at the <TagAdded> and <TagRemoved> elements while looping through the comments. It was originally designed to allow multiple tags on a note, but I don't think that is actually possible through the UI, so you can probably just look at the last comment that has a <TagAdded> or <TagRemoved> element.
  2. There is no thread-level data. Threads only exist by having comments with the same thread ID. To determine if a thread is unresolved, the last comment with a non-empty <Status> element needs to be anything but "deleted" (usually "todo").
  3. It's all users.
  4. I'm not sure what that means. If it means that the first comment has a <Status> of "deleted" and there are no following comments that change the status, then no, that thread would be considered resolved.
by [Expert]
(16.6k points)
Also, beware that the dates are in a format that includes an offset (i.e. they are in local-time). They are not in UTC. This means that the parsing of the date/time for each comment needs to take that offset into account to make sure sorting is done properly.
+1 vote

Maybe this is simpler than it looks. You can open a notes list for multiple projects.
When Notes List comes up, select all 16 of your projects. Then set your filter to unresolved and todo.

I get 353 Unresolved To Do notes in aArp, aMal, and aSer
image

by [Expert]
(3.3k points)
Thank you Steve. Yes, we can do what you show here, and do it all the time. But the goal for my current purpose is to get separate counts for each book in the NT for each of the projects so we can see who is caught up and who is behind, and to be able to get those counts in a spreadsheet that can be updated.
As much as I love solving all problems externally using (AI-written) scripts to do things PT was never intended to do...

I think Steve might be onto something. Why not create a Layout with the notes of all 16 projects open in 16 separate windows, then save that as a new Layout. You can load that Layout when you need to see the totals, then load your standard Layout the rest of the time.

Mnjames,

I actually do have a Paratext layout that does exactly that. We certainly can look at each project's Notes List and see how many notes are outstanding for the current book. But we need that information for all books as we anticipate producing Mini-Bibles in these languages. We need this info in a form that gives us an overview of the whole team so we can see the big picture and the details. It's not practical for me or another team member to do that exercise for each book and manually type the number into a spreadsheet so we can see the big picture.

Paratext once had a Big Picture view that, if I remember correctly, provided this information, but it was removed several years ago. I loved it and felt our team needed it. The Paratext "Owner" at the time hated it and asked me if we used it often enough to justify having it stay in the UI. I gave in and said "no, go ahead and take it out if it's a problem for the development team," but I now regret saying that. This is the sort of thing administrators of cluster projects need. 

Thanks to a suggestion from @mnjames, I now have two Python scripts that accomplish this task and create a spreadsheet. I can run those scripts again at any time to update the spreadsheet. If anybody is interested in these scripts, let me know. I'll copy in the cells of the spreadsheet below. 

By looking at the numbers, we can see who is close to completing their notes on which books and who has a long way to go. This can help us answer questions like, "How long is it going to take to clear the backlog of project notes so we can publish Mini-Bibles for these languages?" and "Who is likely to have which books ready to publish if we do our Mini-Bibles all at the same time on a certain date?" 

Thanks to all who helped me think through this, and to those who encouraged me to learn to use Claude functions I can't do in Paratext itself. 

JN

BookaArpaArpBTaSnoaMalbBarbG1BTbPoubSumcGoicOGBTcRbrcWoldOpidOLBTTotal
MAT810568929123617271139121103201406
MRK1421159485013115524203333445
LUK173932433739661123873212634341340
JHN1961327215153089421281071622401669
ACT11019612925325225112362802528306512502504841
ROM19293
1CO11
2CO112
GAL715478518967981010276
EPH2536569811655143
PHP1221158544177
COL648673432151
1TH31118411233100
2TH115513364
1TI424311563473355
2TI1111111961441151
TIT117311216
PHM11114
HEB15520
JAS11161255025597
1PE22344848667544895
2PE32457373653444420
1JN21112121130
2JN411131112
3JN112
JUD4455219943244236
REV110316397143546678
Total371622922066384956664775578378179196667796312624
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Give proper recognition to those widows who are really in need.
1 Timothy 5:3
3,032 questions
5,987 answers
5,653 comments
2,019 users