New endpoints, configurable window size in paginator, retries on some timeouts, and other updates #29
Replies: 3 comments 1 reply
-
I've been considering rethinking the way endpoints are handled, so I'd love to see what you've done. |
Beta Was this translation helpful? Give feedback.
-
Re endpoints and additional APIs, I worked through much of the API v2 docs from Filevine and wrote the appropriate code. Note that there seem to be a lot of inaccuracies in the docs, ranging from missing options to fields that can not actually be used or that are ignored. At present I have:
I also have Task_management which is giving me some difficulties. The API docs seem off, and I can not update/patch the targetDate field. This is the field that stores the "Set For" or due date on a task. I can read it. I can see that it changes when we make updates via the GUI. And I can see that my other updates work, so the code is good in general. But I can not set this field. Either the field is not supported for update via the API, or I do not have the proper date formats. I have an open call with API support at Filevine, but would welcome any feedback if you've had luck setting DateTime items via API. All of the endpoints are very similar to the ones you provided for get_contact and update_contact, as well as get_document, get_document_list, delete_document. I've worked these functions to the point where they work as expected for me, but I have certainly not tried every use case or tried to update or set every field. As you probably figured out, many of them can only be set in certain combinations. Your decision to set a team member as primary, for example, dictates if you can set other fields or not. When you try to set a field that Filevine does not like, it just ignores that change. If you set an unknown field or make a typo, it is just ignored. The lack of errors and feedback as well as the issues with documentation makes knowing if the functions are 100% correct pretty tough. What were you thinking of changing re how endpoints are handled? |
Beta Was this translation helpful? Give feedback.
-
Sorry for the delay in responding. This got mixed in with a bunch of automatic messages and other updates.
Yes, I have made a number of changes to the library, including to the paginator. I am not an active Github user and have not yet finished / formally tested every change and merged back. Some of it, such as retries on paginator, are a bit of a hack at present, with lots of debug log statements that need to be cleaned out. They give me the background I need in order to understand, in some cases, why Filevine gets upset.
Changes include:
* Configurable window for paginator, from the min up to the max of 1000 per call
* Added a retry on timeout mechanism for paged list results, but not other calls
* Added additional endpoints, including folder management, project management, and updates to the others.
Re getting more timeouts, "something broke" and similar errors, Filevine has made some changes and has, in some cases, more limited resources. This has led to, in our experience, significantly more errors in code that used to work without issue.
You might try to make a fuss and complain that stuff that used to work fine doesn't anymore and they may boost the resources or limits in your environment. They tried for a long while to blame our code and the code of another development group before acknowledging the issue, and putting the resources we needed back in place. It won't eliminate errors, especially during busy times, but can make a big difference in how reliably your code can run.
Re last activity, I wanted to point out that this is NOT truly the data of last activity in the project. This is the date that the last activity note was made. Updates that don't update that section/tab don't count. Some activities (adding or updating a file, for example?) do not change that date.
Filevine does have some tool or system they can put in place that automatically updates the last activity when ANY activity takes place in the project. This means that you can actually use the last activity date as expected, search on last activity date, etc. But this has to be asked for and is not standard behavior.
Finally, I believe that they've updated the API and you can now do a get project list and request projects that have activity date in the last X days, or since a certain date. It is not in the documentation, so you'd need to ask for it, but it does exist. It might be just what you need.
Jeffrey Rosenberg, CFO
***@***.******@***.***>
www.DorsetConnects.com<http://www.DorsetConnects.com>
(o) 484-845-1600
(d) 484-968-3023
(c) 610-636-0593
Join Our 550 Referral Program!<https://www.dorsetconnects.com/about-us/referral-program/>
[cid:52f24b41-e25d-423f-97a0-e42b1e0c4cd2.jpg] [cid:DCO2017_80H_0bd58379-15db-4ff1-b10a-ee559d290454.gif]
…________________________________
From: markm-io ***@***.***>
Sent: Tuesday, May 30, 2023 1:04 PM
To: W1ndst0rm/Treillage ***@***.***>
Cc: Jeffrey S. Rosenberg ***@***.***>; Mention ***@***.***>
Subject: Re: [W1ndst0rm/Treillage] New endpoints, configurable window size in paginator, retries on some timeouts, and other updates (Discussion #29)
@JeffreyRosenberg<https://github.com/JeffreyRosenberg> interested in knowing if you have made any changes to the list_paginator functionality. Used to not have very many issues but now I have more errors than successes when trying to pull all projects.
I get the dreaded
treillage.exceptions.TreillageHTTPException: {"message": "Endpoint request timed out"}
Currently using this to extract all project list and then compare the lastActivity to when I last extracted the data and then grab the forms and project teams for those updated projects. If there is a better way to get the last updated projects I would love to hear it. I know lead docket has laststatuschangesince but nothing like that in Filevine and their API support hasn't offered any suggestions.
—
Reply to this email directly, view it on GitHub<#29 (reply in thread)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AKHENNIPMGOBV27IAUVHGPTXIYSCHANCNFSM6AAAAAARDCCLN4>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@W1ndst0rm @moosmank I have a project actively using an updated version of Treillage in production. In order to get it working for me, I've added a number of endpoints and made other changes. Would you be interested in these updates for the project?
And on a related note, are either of you actively using the Filevine API in production? If so, do you have additional endpoints? I still have to resolve some date-updating issues with Tasks, as well as add some collection and section handling APIs to the project handler.
I don't want to duplicate effort if we're going to be merging projects.
Thanks for the work done so far. The endpoints are relatively easy to add now that you have the tokens and refresh and connections and error handling taken care of.
Beta Was this translation helpful? Give feedback.
All reactions