Welcome @Ads
There is a regression in the 3.2.3 build of DEVONthink To Go. An issue has been filed.
If you need to create plain text files in the meantime, using Markdown would allow you to do so.
Thanks for your patience and understanding.
This is not good news…
I use DTTG to store lectures and lessons for different university courses. I arrived to give seminars today, opened DTTG and my records and plans were invisible. I was saved by having not deleted DTTG 2 - my database text files were visible in there.
This is concerning because DTTG and DT are databases and to have files become unusable reflects badly on the software. It’s not a bug in a word processor application, for example, whereby you might use a different application to write until the bug is fixed.
Also, did nobody at Devon Technologies check that file formats were working after the upgrade?
As an emergency workaround, you can convert the note to rich text, and it will then display in DTTG.
(However, if your phone is in dark mode at the time of the conversion, the converted document seems to end up as black text on a black background when it syncs to the Mac, even though it looks fine and has a white background in DTTG.)
Can you give us a clearer idea of how long this might take to fix? Not being able to view plain-text files is a major problem for my daily workflow, and converting to rich text is not solving the issue in my case.
My expensive research software suddenly can’t display the vast majority of my notes. We’re talking about rendering plain text files, just about the most basic functionality there is. The app is fundamentally broken for me until this is fixed.
I understand that you don’t share development timelines, but I’m working on a deadline. I can’t afford to wait indefinitely to be able to view txt files. My goodness.
I might look at around twenty documents per day (notes and paragraphs related to journal papers), to use for academic work. In my teaching, I would look at perhaps ten student records during the day to see their progress and add the latest notes. I guess I’d need to access (read and edit) thirty plain text documents in an average working day.
So the hurdle is I don’t have the energy or patience to share each document to an external editor to work with, and if all I can see is the titles of the documents, how do I quickly confirm the content is the research/citations I need? The content is invisible.
As a quick solution I used DTTG2 which was still on my ipad. I could still access all my old notes etc. I’m not putting any new notes into DTTG3 until it’s fixed.
I used RTF for years with no problem, and then they started to lose formatting when syncing between DT (on my Mac) and DTTG. So moved to plain text files last year to get consistent formatting and layout.
Now I can’t see plain text files…
I was already thinking about only using DT and DTTG to host my huge library of PDF files and research papers rather than as a place to make notes etc. I think this latest scenario has confirmed that that’s what I should do.
As a test I created a plain text file in DTTG3 (there was an update released this afternoon). The content turned invisible after creation, just the title was visible. I synced with DT on my Mac and the new plain text file didn’t sync.
Just fired up Scrivener to work on my paper tonight…
I’ve never done this, and others can comment, but maybe you can restore your IOS device(s) from iCloud backup to which holds version 3.2.2 … I don’t know if restores bring in the apps on the backup or draw ijn latest from the App Store, but something I’d pursue if needed in a case like this.
Thanks for your help, but, sorry I’m not sure I understand…
I have the latest DTTG installed - plain text files are invisible.
I had the previous version - plain text files are invisible.
I’m not going to restore my IOS device to solve a bug on one program, I’ll move to using a different program.
I don’t have the time to experiment, I also don’t want to revist the old days of Windows: ‘oh, what you need to do to make it work is [insert workaround]’.
I use Windows 11 every day as well as Macs, and Windows is pretty good these days, and you can add hard drives and memory to your machines…
I really do appreciate your help, thank you.
At the moment I need things to work as they should, I don’t have any time for experimentation, quite a few deadlines are approaching.
Note: Pretty sure not all Markdown special characters are escaped.
-- Create Markdown record for open databases' text records
-- NOTE: Close unnecessary databases before using this script.
use AppleScript version "2.4"
use framework "Foundation"
use scripting additions
property theWorkaroundTag : "_WORKAROUND"
tell application id "DNtp"
try
set theRecords to search "filename:>txt"
if theRecords = {} then return
set theTempDirectoryURL to my createTempDirectory()
repeat with thisRecord in theRecords
set thisRecord_NameWithoutExtension to name without extension of thisRecord
set thisRecord_Text to plain text of thisRecord
set thisRecord_Text_escaped to my tid(my tid(my regexReplace(thisRecord_Text, "\\(|\\)|\\[|\\]|:|>|\\*", "\\\\$0"), linefeed), space & space & linefeed)
set thisTempPath to my createTempFile(thisRecord_Text_escaped, theTempDirectoryURL)
set thisMarkdownRecord to import thisTempPath name thisRecord_NameWithoutExtension to parent 1 of thisRecord
set thisRecord_Parents to (parents of thisRecord whose location does not start with "/Tags")
repeat with thisParent in thisRecord_Parents
replicate record thisMarkdownRecord to thisParent
end repeat
tell thisMarkdownRecord
set comment to comment of thisRecord
set aliases to aliases of thisRecord
set creation date to creation date of thisRecord
try
set custom meta data to custom meta data of thisRecord
end try
set label to label of thisRecord
set locking to locking of thisRecord
set rating to rating of thisRecord
set state to state of thisRecord
set tags to (tags of thisRecord) & {theWorkaroundTag}
try
set thumbnail to thumbnail of thisRecord
end try
set unread to unread of thisRecord
end tell
end repeat
my deleteTempDirectory(theTempDirectoryURL)
on error error_message number error_number
if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
return
end try
end tell
on createTempDirectory()
try
set theTempDirectoryURL to current application's |NSURL|'s fileURLWithPath:((current application's NSTemporaryDirectory())'s stringByAppendingPathComponent:(current application's NSProcessInfo's processInfo()'s globallyUniqueString()))
set {successCreateDir, theError} to current application's NSFileManager's defaultManager's createDirectoryAtURL:theTempDirectoryURL withIntermediateDirectories:false attributes:(missing value) |error|:(reference)
if theError ≠ missing value then error (theError's localizedDescription() as string)
return theTempDirectoryURL
on error error_message number error_number
activate
if the error_number is not -128 then display alert "Error: Handler \"createTempDirectory\"" message error_message as warning
error number -128
end try
end createTempDirectory
on createTempFile(theText, theTempDirectoryURL)
try
set theTempURL to ((theTempDirectoryURL's URLByAppendingPathComponent:(current application's NSProcessInfo's processInfo()'s globallyUniqueString()))'s URLByAppendingPathExtension:"md")
set theString to (current application's NSString's stringWithString:theText)
set {success, theError} to theString's writeToURL:theTempURL atomically:true encoding:(current application's NSUTF8StringEncoding) |error|:(reference)
if theError ≠ missing value then error (theError's localizedDescription() as string)
return (theTempURL's |path|()) as string
on error error_message number error_number
activate
if the error_number is not -128 then display alert "Error: Handler \"createFile\"" message error_message as warning
error number -128
end try
end createTempFile
on deleteTempDirectory(theTempDirectoryURL)
try
set {successDeleteDir, theError} to (current application's NSFileManager's defaultManager()'s removeItemAtURL:(theTempDirectoryURL) |error|:(reference))
if theError ≠ missing value then error (theError's localizedDescription() as string)
on error error_message number error_number
activate
if the error_number is not -128 then display alert "Error: Handler \"deleteTempDirectory\"" message error_message as warning
error number -128
end try
end deleteTempDirectory
on regexReplace(theText, thePattern, theRepacement)
try
set theString to current application's NSString's stringWithString:theText
set newString to theString's stringByReplacingOccurrencesOfString:(thePattern) withString:(theRepacement) options:(current application's NSRegularExpressionSearch) range:{location:0, |length|:length of theText}
set newText to newString as string
on error error_message number error_number
activate
if the error_number is not -128 then display alert "Error: Handler \"regexReplace\"" message error_message as warning
error number -128
end try
end regexReplace
on tid(theInput, theDelimiter)
set d to AppleScript's text item delimiters
set AppleScript's text item delimiters to theDelimiter
if class of theInput = text then
set theOutput to text items of theInput
else if class of theInput = list then
set theOutput to theInput as text
end if
set AppleScript's text item delimiters to d
return theOutput
end tid