AppColl provides some nice text formatting syntax for use in templates, such as "ToUpper" and "AddPeriodToInitials." I suggest a new syntax to avoid double periods at the end of a sentence. For example, I have a template letter that includes a sentence along the lines of, "(so-and-so) needs to sign the assignment, to accept it on behalf of {Matter.Applicants}." However, some applicants' names end in periods (ex., Acme Exploding Cigars, Inc.), whereas other applicants' names do not end in periods (ex., Elmer J. Fudd Enterprises). Thus, sometimes my template generates a sentence with two periods at the end (one from "Inc." and the other from the template).
I know it seems like a minor annoyance to delete the extra period, but it would be really nice to automate the deletion.
Thanks.
-George
Posts made by GeorgeJ4336
-
Text formatting syntax to avoid double period at end of sentence
-
Work-around for character limit on "applicant" field in Terminal Disclaimers
AppColl can generate a Terminal Disclaimer (TD) from within a matter detail page with the "Create USPTO Forms" button, such as using an AIA/25, 26, or 63 form. However, the AIA/25 form has a 40-character limit in the "applicant" field. The limit in the AIA/26 form is 45 characters. In the AIA/63 form, there does not appear to be a character limit, in that the form field is a multi-line field, and the character size keeps shrinking, if you continue typing text.
If the applicant name stored in AppColl exceeds the 40- or 45-character limit when generating an AIA/25 or AIA/26 TD, characters beyond the limit are truncated. This will very likely cause the TD to be disapproved, because the applicant's name on the TD will not exactly match the applicant's name on an earlier-filed Application Data Sheet. (My TD was disapproved today.)
I spoke with a USPTO representative in the OPLC. She advised entering something like, "See below <asterisk>" in the applicant field, and then adding a text box below "WARNING: Information on this form may become public..." that includes the applicant, for example, "* Acme Cartoon Props, Inc."
I suggest that, when AppColl generates a TD, if the applicant is longer than 40 characters, put "(See below *)" in the applicant field, and add a text field below the WARNING with the full applicant name. If this is not possible, I strongly suggest AppColl display an error message, to prevent a user filing a TD that is going to be DOA.
-George
-
RE: Applicant OR First Named Inventor?
@Timothy Several people requested that syntax be added to enable conditional selection of field contents, such as when a first field is null. See the thread at https://forum.appcoll.com/topic/201/syntax-for-alternate-field-when-a-first-field-is-blank. I, for one, still would like to see such syntax added. For one thing, it would alleviate the need for one-off special fields, such as {Matter.ClientContact.NicknameOrFirst}, in that we users could program our own such fields.
Also see this thread (https://forum.appcoll.com/topic/204/add-calculations-if-then-logic-and-database-queries-to-template-fields?_=1704255780781) on a related topic.
-
RE: Email Intake address simplification
In the interest of security, I edited my previous post in this thread to abstract out part of my intake e-mail address.
I was able to send to the matter I initially mentioned using a "to" address of "xxxxxxTest-0001@intake.appcoll.com"
@scott_appcoll Thanks for the clarification.
I am, however, a bit reluctant to let my clients use any .intake.appcoll.com address as their "to" address (without a CC to me), because if they mistype the address: (1) their message will not be delivered to my matter's intake mailbox, (2) I won't be informed of an attempt to communicate with me, and (3) the client won't receive an "undeliverable message" error. Given the possible consequences of a client's message getting lost this way (imagine not receiving an instruction to pay an issue fee and letting an allowed application going abandoned!), at most I will let clients use an .intake.appcoll.com e-mail address in a CC field.
Nevertheless, I appreciate AppColl implementing this alternative addressing scheme. I am sure some practitioners will find it useful.
-George
-
RE: Email Intake address simplification
@scott_appcoll Could you give an example of such an e-mail address? I tried "xxxxxxGTEST-0001@intake.appcoll.com" and "xxxxxxC26TEST-0001@intake.appcoll.com," but neither message made it to my matter that has an attorney ref. of TEST-0001. I did not get an "undeliverable" error from my e-mail client, and I did not receive a message from AppColl saying that an unauthorized person sent an e-mail message. What is the "[account intake id]?"
'Sorry for being dense.
-George -
"Opted-out of UPC" checkbox for EP cases
For each EP case, AppColl includes a checkbox for "Unitary Effect" on its matter details page. I suggest adding a second checkbox for "Opted-Out of UPC."
Most of my EP applications are opted out, so such a check box would be helpful. I considered creating a custom matter field, but custom fields do not support checkboxes. So, optionally or alternatively, please add support for checkbox custom fields.
Thanks,
George -
RE: Add Form Generation and Attachment to E-mail Templates
@SadiqA2304 I believe you are referring to the Notifications email template editing UI. I believe @JasonP2345 is requesting an addition to the "Send Email" editing UI. In a matter detail page or a task detail page, there is an email icon (yellow envelope) in the upper-right corner. Clicking that icon brings up a dialog box ("Send Email"), which allows a user to "Select Template" (from a pull-down list), "Create Template," or "Edit Template," as follows:
It would be great if an email message generated from one of these templates could automatically inherit copies of documents that are attached to the task being displayed.For example, I suggest adding a check box ("Attach any documents linked to task") to the "Send Email" dialog box, as mocked-up below.
This would, for example, make preparing reporting messages easier, because relevant documents, or perhaps a superset of them, would already be attached to the draft reporting message AppColl generates.
Alternatively, the Edit Template UI could be augmented to include a similar checkbox, as mocked up below.
-
RE: We've Transitioned to Patent Center
@KozueL5421 This is but one of may shortcomings of Patent Center. Several groups and individual practitioners have complained to the USPTO about abandoning EFS-Web and Private PAIR in favor of Patent Center, at least until Patent Center is capable of reliably providing all the services of the prior systems, and about the PTO's plan to require DOCX submissions. See, for example:
https://ipwatchdog.com/2023/11/07/uspto-delays-transition-patent-center/id=169435/
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4620375 (Letter of 82 Intellectual Property Professionals to OIRA and Commerce IG relating to non-readiness of Patent Center, requesting delay of retirement of EFS-Web and Private PAIR, Nov. 1, 2023)
https://www.aipla.org/detail/news/2023/10/31/aipla-comments-to-omb-on-docx
https://blog.oppedahl.com/an-open-letter-to-uspto-director-vidal-about-patent-center/
https://blog.oppedahl.com/napp-met-with-uspto-about-patent-center-yesterday/#comment-10049
-
ADS has two USPTO customer number fields - filled separately by AppColl
AppColl nicely generates USPTO filled-in forms from a matter detail page, including generating Application Data Sheets (ADSs).
There are two USPTO Customer Number fields in an ADS: one in the "Correspondence Information" box and another in the "Representative Information" box. AppColl apparently uses the client's customer number (if there is one) for the matter to fill in the first box, but AppColl apparently uses the law firm's customer number for the second box. Thus, it is possible for AppColl to generate an ADS with two different customer numbers. This does not inherently pose a problem, but for AppColl users who have multiple customer numbers, such as some customer numbers they share with clients, care should be exercised.
According to a customer service representative at the USPTO, the difference between the two ADS fields is as follows: The PTO will send correspondence to the address associated to the "Correspondence Information" customer number and give that customer number access to the application via Patent Center. The PTO will accept prosecution instructions, such as amendments, from practitioners associated with the customer number in the "Representative Information" field. While these two things seem quite similar, the representative noted that the Representative Information customer number can be used to provide access to the application by a number of practitioners, such as via a power of attorney (if the PoA lists a customer number), although the PTO would not necessarily send correspondence to these practitioners.
This came up, because I have a client that wants me to use a customer number that includes in-house counsel. So, I have a special customer number for just this client's work. I put that customer number in the client's contact record, and AppColl puts this number in the Correspondence Information customer number field of ADSs. But, AppColl puts my firm's customer number in the other ADS field (Representative Information). So, if I don't manually change it to the client-specific customer number, the generated ADS has two different customer numbers. Again, this doesn't necessarily pose a problem, but AppColl users should be aware of how these two ADS fields are filled.
-George
-
RE: Add Patentcenter deep link to top of matter
@gregg_appcoll Thanks, Gregg.
-George -
RE: Add Patentcenter deep link to top of matter
I also would like a link to a patent office web page in my matter details page. However, it would be nice if such a link were not limited to the USPTO. For example, links to EPO and WIPO pages would be handy, but that probably would require the user to populate the field, since AppColl probably can't predict all the different formats required for all "foreign" patent offices.
Examples:
European Register - https://register.epo.org/application?number=EPxxxxxxxx
ePCT Workbench - https://pct.wipo.int/ePCT/private/iaSearch.xhtml?iaNo=PCT/ccyyyy/xxxxxx
Currently, I have a user (custom) matter field called "PatentOfficeLink," in which I store a URL. This, of course, works for any patent office that allows direct access to an application. However, I must copy the field's contents to a browser address box to view the page. AppColl supports several types of matter user fields, including TextBox, PullDown, and MultiSelect. It would be nice if AppColl added a matter user field type of "URL," so one could click the field contents to invoke the link.
-George
-
Don't replace commas with semicolons in e-mail address fields
When a To, Cc, or Bcc field in an e-mail template is populated with a comma, such as by a field code, AppColl replaces the comma with a semicolon. On the surface, this makes sense, since it allows a user to use commas to enter a list of e-mail address field codes in the template and in contact detail records, and the resulting string (with semicolons, instead of commas, separating the addresses) is acceptable to e-mail agents.
However, when a client name includes a comma, for example between the first part of the client’s name and “Inc.,” the resulting string causes an unwanted character, i.e., a semicolon, to be included in the address, which needs to be manually edited before sending the message.
For example, I have a client whose name is of the form “Xxxxxx (USA), Inc.” If I use a field code, such as {Invoice.BillTo.Company}, in the “To:” or “Cc:” field, the comma gets replaced with a semicolon. Worse, if I send the message without manually deleting the semicolons, the display names in the sent message header get messed up.
My Default Invoice Email template includes the following in the "To:" address:
{Invoice. BillTo. First} {Invoice. BillTo Last} {Invoice. BillTo. Company} <(Invoice. BillTo.EmailNoCC}>
to create a nice display name in the delivered e-mail message.
However, in the case of my client with a comma in its name, AppColl generates something like:
Nicole Sxxxxxx Xxxxxxxx (USA); Inc. <nicole@xxxxxxxx.com>
"Nicole Sxxxxxx Xxxxxxxx (USA)" is considered to be an e-mail address, because it is separated from following text by a semicolon. However, "Nicole Sxxx..." is not a valid e-mail address, so it gets dropped, and the display name ends up being simply "Inc." which isn't very pretty.
I realize that AppColl has been replacing commas with semicolons for quite a while now, and many users may have templates that rely on such behavior. However, the behavior causes problems for client names that include commas. I'm not sure what to suggest.
-George
-
Add ability to generate a form letter from an invoice details page
A matter details page has a very nice "Create Form Letters" button, which generates a DOCX, RTF, etc. document using a pre-defined template, which has access to {Matter...} fields populated from the matter of the opened matter details page. Please provide a similar capability from the invoice details page. One of my clients wants to receive a paper invoice via the US Postal Service. I can print a PDF invoice easily enough, but I need to generate a cover letter. For the cover letter, I would like access to invoice fields, such as {Invoice.BillTo.Address} and {Invoice.InvoiceAmount}.
The invoice detail page already has an "Email to Client" button. Generating an e-mail message with this facility can take advantage of the "Show Form Fields" panel. So, it would seem that generating a form letter should not be that difficult to implement, but that is easy for me to say.
Thanks,
George -
RE: Add support for "LastWord" text formatting
@gregg_appcoll Perfect! Thanks.
I can now automatically address e-mail correspondence to examiners, such as to request interviews. In the "To" field, I put:
{Matter.Examiner} <{Matter.Examiner(FirstWord)}.{Matter.Examiner(LastWord ToTitleCase)}@USPTO.gov>
and in the salutation, I put:
Dear Examiner {Matter.Examiner(LastWord ToTitleCase)}:
-George
-
Allow custom field database query to specify what field(s) populate pull-down list
Custom (user-defined) fields for matters are very handy. A particularly handy feature is the ability to use a matter or contacts database query to define a list of selectable values for a drop-down list. Such a query returns the contact(s) or matter(s) that match the query. For example, (Role = "Inventor") returns a list of contacts who are inventors. (The parentheses are not necessary. I used them here merely for clarity. Custom fields are described in this AppCol help article.)
Custom fields would be even more powerful if the query could specify some other field(s) in the matching record(s) to populate the drop-down list.
For example, I have several USPTO customer numbers, because some of my clients want me to use specific customer numbers for their work, so they can access their applications via Private PAIR or Patent Center. I can create a custom field called USPTOCustomerNumber and manually populate it with a list of my customer numbers.
However, this field would be much more powerful if it could be defined via a contacts database query, such as (USPTOCustNum <> ""), that returns not the contact, but {Contact.USPTOCustNum}. That way, the pull-down list would automatically include all client-specific customer numbers.
I suggest a syntax along the lines of:
(USPTOCustNum <> "") (Returns {Contact.USPTOCustNum})
Bonus points if the "Returns" clause accepts syntax to concatenate several fields and format returned values.
When pulled down, a custom pull-down field defined with a database query currently displays some handy context information (name or client code, role), which helps in choosing an appropriate entry from the list.
Additional bonus points for syntax to control what gets displayed in the pull-down list, for example:(USPTOCustNum <> "") (Displays {Contact.Company} {Contact.USPTOCustNum}) (Returns {Contact.USPTOCustNum})
In contrast, a plain pull-down list of customer numbers (without a database query) does not provide any context information.
Further bonus points to add a "Displays" feature to the List-type of drop-down custom field definition syntax.
Thanks,
George -
Allow timer to be stopped from other than the matter being timed
The timer is great, because I can record time as I work on a matter, pausing and resuming the timer as needed, and then bill for the accumulated time. The timer icon animates hands on a clock when the timer is running, so I get visual feedback in case I forget to pause or resume a timer. I often have different matters open in different browser tabs, and I can have a separate timer active for each matter, but with only one running at a time.
I often switch back and forth among several windows while working on a single matter, such as looking at official correspondence and email messages for a given matter and looking up status information for a parent, child, or other application.
However, the timer icon's displays (animation) and responses to user inputs are misleading when switching among several browser windows. For example, if I am in browser tab of a first matter with a timer running for that matter and I:- create a new tab, such as for a second matter (right-click on "Matters" and choose "Open Link in New Tab" - Firefox)
- switch to the new tab and open the second matter
- switch back to the first matter tab and stop the timer
- switch to the second matter tab
The icon in the second matter tab incorrectly indicates the timer is still running, and it incorrectly shows accumulated time. Refreshing the page corrects the timer icon's display, but who is going to refresh a page each time you switch to a different browser tab?
Furthermore, you can't actually pause the first matter's timer from anywhere except the first matter's browser tab, even though it looks as though you paused it in another browser tab. Refreshing the second browser tab does not correct the problem. If the phone rings while I'm working on something, I would like to be able to pause the timer, without switching tabs, so I can return to the place I was working before the call interrupted me.
Worse, if a timer is running in a matter and you click on the "Go to matter files" icon to open a tab with the matter's file folders, that tab opens with a timer icon that indicates the timer is paused, even though the timer continues to run. You can "unpause" the timer in the files tab; the icon will animate, but it will indicate an incorrect amount of accumulated time. Pausing the timer in the files tab does not actually pause the actual timer for the matter. Refreshing the tab does not correct the problem.
Closing a matter tab with a timer running, i.e., without first pausing the timer, appears to lose accumulated time.All this is very confusing. I would like to be able to rely on the timer icon to accurately indicate whether time is accumulating, and I would like to be able to conveniently pause and resume the timer, from any browser tab.
Please make the timer icon accurately reflect what is going one, regardless of which tab I am in.
Please make it possible to pause and resume any matter's timer from any matter's window.Thanks,
George -
Allow attachments to billing items - ex. receipt from foreign associate
Some of my clients demand receipts to justify expenses greater than a predetermined dollar amount. When I incur an expense, such as paying a foreign associate or a USPTO fee, I create a billing item.
- I wish I could attach documentation in support of the expense to the billing item for later reference.
I like the predefined templates in the billing items for USPTO fees. I've added templates for paying a foreign associate, paying for shipping documents, paying for patent drawings, etc. So, creating billing items is easy. Furthermore, billing items carry over into bills generated by AppCol, and these bills (with expenses) carry over into Quickbooks, which I use for accounting.
- It would be nice if any attachments to billing items would automatically get attached to billing e-mail messages generated by AppCol.
However, as it turns out, I don't send bills to this client (the one that wants receipts) from the AppCol billing module, because this client wants me to upload its bills as LEDES files through Thomson Reuters Legal Tracker. AppCol generates the LEDES files without a problem, which is nice.
However, when I upload a LEDES file, I have to go back to the e-mail file and try to find the receipt(s). It would be better if I could have attached the receipt(s) to the billing item in the first place.
- It would be great if the billing module made it easy to download any attachments to billing items, so I could then upload them to Legal Tracker.
Thanks,
George -
RE: Syntax for alternate field, when a first field is blank
I'd like to resurrect this thread.
As @RichardS3059 noted, there are several instances where we would like to include text from a first field (if that field is not blank), but include text from a second field (if the first field is blank), and some of us prefer "a programmatic way to accomplish the result over fields that have field-specific logic embedded into them, because they allow a more generalized result."
Examples of this situation include PTO filings (responses to Office Actions, etc.) and client correspondence that reference:- a client-specific USPTO customer number (if the client has one), or the firm's customer number (if the client doesn't have one) (Some of my clients want me to use their customer number, rather than mine.)
- a client-specific USPTO deposit account number (if the client has one), or the firm's deposit account number (if the client doesn't have one)
- actual filing date vs official filing date vs priority date.
Please consider adding syntax that enables run-time selection of alternative text, such as when a first field is blank.
@RichardS3059 posted a possible syntax:
{{Matter.ClientContact.Nickname},{Matter.ClientContact.FirstName}}
and he suggested a more generalized IF syntax be created, which is a great idea.I suggested syntax along the lines of:
{!{Matter.Client.PrimaryContact.First}!Matter.Client.PrimaryContact.Nickname}Thanks,
George -
Add support for "LastWord" text formatting
AppColl has some nice text formatting codes, such as ToUpper and FirstWord. For example, {Matter.Title(FirstWord ToUpper)}.
Please consider adding LastWord to the list of supported text formatting codes. This would be very handy in formulating e-mail addresses, such as to USPTO examiners. Examiners' e-mail addresses are almost always of the form <first_name>.<last_name>@USPTO.gov. Thus, a "to" address to an examiner could be coded something like:
{Matter.Examiner} <{Matter.Examiner(FirstWord)}.{Matter.Examiner(LastWord)}@USPTO.gov>
Thanks,
George -
RE: New field request: Contact.FirstOrNickname
Thanks. This is a great addition.
-
RE: Windows Explorer-type Desktop Interface?
A competing product (Clio, see clio.com) has a web-based UI and has solved this problem. When you click on a document stored by Clio, a native application program launches on your computer to open the document. When you close the document in the application program, the revised document is stored back in Clio. I don't know how they manage this, but I tested the product when I was looking for docketing software. Unfortunately, their docketing software is not designed for patent practitioners, so it wasn't suitable.
Clio's web site describes two facilities: Clio Drive (apparently a virtual drive - "Create, access, and share your matter-related files right from your desktop and securely sync them to Clio using our virtual drive experience. No need to download or reupload. Open files from the web for easy document editing.") and Clio Launcher ("... to easily open files from your web app into programs like Microsoft Word, Adobe Reader, and more. Any updates you make will be saved on your desktop and in the cloud.")
Another competing product (maybe DocketTrack or maybe another package I tested, but I can't remember which one) also solved the problem. This package requires running a (I'll call it a "helper") program that seems to communicate with the server, so that when you click on a document, you select "download" or something like that, and the server sends the document to the helper program, which then launches a local native application program to edit the document. Once the application program closes the document, the helper program sends the modified document back to the server for storage in the cloud. I found AppColl superior to the competing product in many ways, except for this ability to handle documents.
I have suggested (including screenshots) to AppColl that they investigate operation of these competing products and consider building similar functionality.
-George
-
Augment "Attach Document or Form Letter" document chooser so it also lists prior art documents associated to the matter
Attaching documents to an e-mail message, when generating and sending an e-mail message for a matter, is straightforward, as long as the documents are in folders associated to the matter, i.e., in AsFiled, Email, OfficialCorrespondence, etc. However, to attach a prior art document, such as when reporting an Office Action, one must look in the References folder, which contains all prior art documents stored by AppColl, not just prior art references for this matter. That can be a long list, and finding exactly the desired document can be tricky, given the file names, which typically contain many digits.
I suggest augmenting the "Attach Document or Form Letter" document chooser so it also lists prior art documents associated to the matter. AppColl already knows which prior art documents are associated to the matter. (AppColl displays them in the Matter Prior Art > [select a matter] screen.) I suggest a UI something like the following:
-George
-
Enable client contact record to point to multiple other contact records, ex. GC, billing contact & paralegal
Enable a client contact record to point to several other (people or organization) contact records, for roles such as general counsel, paralegal, docketing clerk, billing contact, etc.
Conveniently, a client contact record can point to another contact record as a "Primary Contact." This is handy for generating reporting messages. I use this all the time. A client contact record can also have a pointer to a "Default Attorney" and "Other Contacts Emails."
But, there are more types of automatically generated messages sent from AppColl that are not accommodated by these fields. For example: (a) a billing contact to whom invoices are sent (by the way, this could be a company hired by the client to handle invoices), (b) general counsel to whom yearly engagement renewal letters are sent, and (c) docketing clerks and paralegals who are not the primary contact, but who should receive certain types of correspondence. (By the way, the docketing clerk could be a company where the client has outsourced its docketing.) It would be very handy for a client contact record to have the ability to point to other types of people or organizations who each have their own contact record.
A client contact record has name fields ({Contact.First}, {Contact.Last}, {Contact.Email}, etc. But, what to put in these fields for a client? No one person fits all the needs. Besides, putting a person's information here is redundant with that person's own contact record.
A specific example: The Manage Invoices module has a required field ("Bill To"), which accepts a contact. The module uses this contact's information for various things, such as when generating an invoice e-mail message, for example to populate fields such as {Invoice.BillTo.EmailNoCC} and {Invoice.BillTo.Company}. However, I can't figure out what to put into this field to meet both of two needs: (1) generate e-mail messages to deliver invoices to clients and (2) export invoices from AppColl to QuickBooks. I can set up the Bill To field to work well for either (1) or (2), but I can't figure out what to put in the field to meet both needs.
If I populate the Bill To field with a client, the client name gets sent to QuickBooks, which is good. However, the billing e-mail messages get populated from the client contact fields, such as {Contact.First}, {Contact.Last}, {Contact.Email}, etc. For some clients, I send the invoices to a billing contact, not the primary contact or general counsel. I have a separate contact record for the person at the client who should receive invoices, but I can't make the client record point to that person's contact record for directing invoices there.
I don't want to put the billing contact's information in the client's {Contact.First}, {Contact.Last}, {Contact.Email}, etc. fields, because that duplicates the information in the database. That violates a principal rule of database design, because it can lead to inconsistent information in the database about a single person.
On the other hand, if I populate the Bill To field with the billing contact's contact record, AppColl tells QuickBooks that the invoices are sent to a person, rather than an entity, and QuickBooks expects payment from that person, not from the entity. When payment from the entity arrives, QuickBooks gets confused. Besides, if the billing contact changes, QuickBooks will be even more confused, because it will think I have a new client.
So, maybe this is a two-part request:
(a) Enable a client contact record to point to other contact records for defined purposes. Enable the Manage Invoices module to select one of these (indirectly pointed) contacts as a Bill To.
(b) Enable the Manage Invoices module to send invoices to a selected contact (ex. a billing contact person, or maybe a company), but let me specify a different contact (i.e., the client) to the Manage Invoices module for passing on to QuickBooks.
-George
-
RE: Test PDF documents upon upload to Prior Art module for acceptability by USPTO
@jonah-soundhound-com I use Patent Center. I haven't used EFS-Web for months. The missing fonts issue I mentioned above relates to Patent Center. I did not try uploading the IDS via EFS-Web. I agree, it does not make sense to spend engineering effort to help with problems in a system that is planned for deprecation. However, Patent Center is not planned for deprecation.
-
Test PDF documents upon upload to Prior Art module for acceptability by USPTO
I really like the Prior Art module in AppColl, because it stores prior art, cross-correlates between matters, and generates IDSs. I have a suggested enhancement.
This weekend, I ran into a problem trying to upload several references with an IDS I generated from the Prior Art module. Patent Center would not accept two of the documents, for lack of embedded fonts. I was able to recover, but it took a while. If I had been working against a midnight deadline, I might not have made it. (I eventually learned to fix the problem using the Preview application on my Mac. The print dialog box offers a "Save as PDF..." option, which flattens the file, embeds fonts, or performs some other magic, but that is another story.)
I suggest adding a test of PDF documents uploaded into the Prior Art module to see if all the fonts are embedded, and maybe perform other tests that Patent Center performs, and warn the user if the document is unlikely to be acceptable to Patent Center. Don't reject the file, just warn the user that he/she will probably not be able to upload the PDF to the USPTO, without first flattening the file or embedding the fonts or fixing something else.
I don't know exactly what tests the USPTO performs on uploaded PDF files or what tool they use to perform the tests, but that information should be available from the USPTO. Their "PDF Creation for EFS-Web" document outlines basic PDF requirements, so that should provide at least a framework.
The USPTO being what it is, just because a PDF document passes a test AppColl performs when ingesting the document does not guarantee the PTO won't later reject the document. But, being warned of possible problems ahead of time could save a practitioner from a last minute panic.
Thanks,
George -
Add calculations, if-then logic, and database queries to template fields
Creating really powerful templates requires an ability to embed calculations, "if-then" logic, and database queries in fields.
- For example, when reporting paying an issue fee, it is nice to provide at least an estimated expiration date. If all maintenance fees are timely paid, the patent is scheduled to expire on {Matter.ExpiredDate(MMMM d, yyyy)} or {Matter.FilingDate(+20y MMMM d, yyyy)} + {Matter.PatentTermAdjustment(0)} days, assuming no terminal disclaimer is involved. It would be very nice to be able to perform that arithmetic automatically, along the lines of:
{Matter.ExpiredDate(+{Matter.PatentTermAdjustment}d MMMM d, yyyy)}
- The only current logic capability I am aware of is to specify alternative text to be inserted when a field is empty:
{!No Client Ref Specified!Matter.ClientRef}
It would be great to expand this logic capability.
For example, the due date to file an Article 19 Amendment is the later of {Task.RespondBy(-1m MMMM d, yyyy)} or {Matter.PriorityDate(+16m MMMM d, yyyy)}. It would be better if a template could include something like:
The due date to file an Article 19 Amendment is {LaterOf {Task.RespondBy(-1m MMMM d, yyyy)}, {Matter.PriorityDate(+16m MMMM d, yyyy)} }.
Although the prior example refers to dates, numerical comparisons might be useful, too.
- To report when the next European (3rd to nth) annuity payment will be due requires concatenating: (a) the application filing month, (b) the last day of that month, and (c) the current year (if the month has not yet occurred this year) or the next year (if the month has already occurred this year). But, I know of no way to do anything close to this with the present template document field syntax. I suggest adding support for syntax along the lines of:
{Matter.FilingDate(MMMM dlast)}, {if {Matter.FilingDate(MonthDayOf)} < {General.Now(MonthDayOf)} then {General.Now(yyyy)} else {General.Now(+1y yyyy)} }
or
{Matter.FilingDate(MMMM LastDayOf)}, ...
I realize this is asking for a significant addition to the capability of the syntax parser, essentially turning it into an interpreter. But, we would be able to write really useful templates.
Thanks,
George -
RE: Syntax for alternate field, when a first field is blank
@SadiqA2304 That's right. I thought it sounded familiar!
-
Syntax for alternate field, when a first field is blank
I like to address my reporting and instruction letters using nicknames, if the recipients have nicknames. The contacts module conveniently has a Nickname field, so my letter template could include something like:
Dear {Matter.Client.PrimaryContact.Nickname}:
However, many contacts do not have nicknames, so their Nickname fields are empty. It would be very nice if I could put something like:
{!{Matter.Client.PrimaryContact.First}!Matter.Client.PrimaryContact.Nickname}
in my letter template to use the Nickname field if it is not blank, but use the First field if the Nickname field is blank. I suspect this syntax would also be very handy in relation to other fields.
I realize I could go through all my contacts and, for those who don't have nicknames, copy their first names into their respective Nickname fields, but being a former software developer, I'm lazy.
Is there another way to accomplish my goal?
Thanks,
George -
Database query in e-mail or document template
AppColl allows filtering data with database queries, which is nice. It would be terrific if we could insert database queries in e-mail and document templates.
For example, I have a template e-mail message to report a Notice of Allowance, including, "The application currently has an entity status of {Matter.EntityStatus}. ... Based on this entity status, an issue fee of $1,200 / 480 is due by {Task.RespondBy(MMMM d, yyyy)}. ... absent instruction to the contrary by {Task.RespondBy(-1m MMMM d, yyyy)}, we will pay the issue fee." Of course, I must manually edit a generated draft message to select one of the fee amounts before sending the message.
Since the database already stores the issue fee amounts (in the form of Billing Item Templates, for example: "USPTO Fee 2501: Patent - Utility issue fee - 37 CFR 1.18(a)(1) - Small entity," with columns "Title" and "UnitCost"), it would be great to automate insertion of a correct issue fee amount by querying the database. Of course, we would need a way to map "Small" to "2501" and "Large" to "1501" to form the query.
George