Frequently asked questions

What is TreeProjects?

TreeProjects lets you create personal searchable, hierarchical databases which can hold information items of different types.

Notes of plain or formatted text, file attachments, web-pages, and email messages can be organized in a tree-like structure, marked by tags and searched instantly. Easily view and edit your information using tabs which can be flexibly arranged on the screen. Reminder items will keep you synchronized with your plans, and reference items will help if an item belongs to more than one branch. All information is stored in a single, compact file. And new datatypes or operations can be added by installing plugins.

What is TreeProjects needed for?

So you are researching an important topic. As you progress, you accumulate emails, web pages, contacts and other bits of diverse information that someday will form a solid knowledge base. Or, maybe, you started a project and have to keep track on documentation files, key letters, meeting minutes and random notes that hold your thoughts and ideas.

Chances are that all these bits of information are scattered across your “Documents” folder in the form of .doc, .txt and .html files. You try to maintain order by creating folders, but have a feeling that your data could be more accessible and better organized. A “bird’s eye view” of your files is lacking, searching items is difficult or impossible, navigating your structures is too time-consuming. And launching massive “Word” to store a paragraph of notes feels too cumbersome.

If you find yourself in that or similar situation, TreeProjects may be the right tool for you.

How can TreeProjects solve these problems?

Your files and notes can be stored in a single file – TreeProjects database. Your information items will live in a freeform tree-like structure, similar to filesystem folders, where you can organize them as you like. You can move, copy items between branches or databases, assign icons to them, and more.

You can quickly search your information items as soon as they are added to the database – they are transparently indexed for fulltext search “on the fly”. File attachments are indexed as well – you can search Word documents, PDF files and other types of files. All information items – files, notes and even folders – can be tagged like blog posts.

Your information appears on the screen instantly, as soon as you click a tree item. To view and edit an item, you do not need to run an external program. (File attachments can be opened in an external program, though.)

If you wish, TreeProjects will preserve the editing history of your items.

Don’t be concerned that your stuff will be “locked in” once you start using TreeProjects: your database items can be exported to files at any time, preserving the tree structure in terms of disk folders. Conversely, importing files from your hard drive is as easy as dragging and dropping them from your file manager. If you’d like to play it safe, TreeProjects  will back up your database before opening it, and will recover it should an error occur.

And of course, you can email the database. Having received the single file, your peer may instantly browse all the array of your data, instantly search it or export information items to disk.

When should I, and when shouldn’t I, use TreeProjects?

Here are typlical cases of usage:

  • organizing snippets of text information: you are accumulating small, independent text files and saved webpages. They are used to store ideas, notes, article archive, etc.
  • data mining: you are researching some topic. You need to save and analyze a lot of diverse information, which is located on different webpages, in different text files. You also want to save relevant discussions, IM chats etc.
  • project management: you are leading a project, which requires organizing and storing a great quantity of artifacts: documents, important e-mails, chat transcripts, ideas, brainstorm protocols etc. In addition to specialized tools, such as MS Project, CMS or bug trackers, a personal database helps a manager to put pieces of information together, which otherwise would not “fit” into these large and formal tools.
  • structured information exchange: you need to send your colleague a set of file together with some relevant instructions. You can attach files to the database as info elements, and insert text items as child (or parent) nodes.

You shouldn’t use TreeProjects if the file system works fine for you.

Why TreeProjects?

Here are some things that about TreeProjects that you might not find in other products of similar price range.

  • TreeProjects is one of the fastest, most responsive, and least resource-demanding personal database tools. It is carefully written in pure C/C++ with efficiency in mind, achieving small memory and disk footprint.
  • Many personal database tools have tabs, but not many allow to split, dock and arrange item windows (and control panes) for concurrent editing.
  • All editions of TreeProjects, including the lower-priced L edition, can index the contents of file attachments for search. This capability is commonly provided by other personal database tools in higher price ranges.
  • The “Save” operation gives you fine control: TreeProjects allows to review all modified items, and only save the desired ones. No more accidentally overwritten stuff.
  • Item versioning is not very common in personal databases; TreeProjects offers simple but convenient versioning of items, including file attachments.
  • Dedicated error reporting which will send your error description and automatically link relevant technical information – all from within TreeProjects. In the unlikely event of application crash, the error report will be sent to the developer automatically. Many important bugs have been fixed in this manner.
  • Agile workflow and fully automated release testing process allows making very frequent releases of stable quality. This means that any critical update can be pushed in the matter of days, not months.

How should I convert between a collection of files and a TreeProjects database?

If you have an existing collection of files that represents some activity, one way is to get all of it into a new database by importing a directory. TreeProjects will store all the information and preserve the directory structure. However, it’s not the greatest way to use TreeProjects, as you’ll end up with the same collection of files, albeit searchable and contained in a single file (and usually smaller than the original).

Instead, it might be better to create a new database and add information items one by one, carefully selecting the important ones and structuring them using folders, references and tags – building the new structure from scratch. If you have notes in form of small text files, paste them as text or rich text items for instant access (.txt and .rtf files will import automatically as text items, but .doc won’t).

You should consider whether converting a particular large file base to a TreeProjects database is worth the time.  However, when you start a new activity, TreeProjects is a perfect repository for texts, files, webpages, reminders and all that.

Can I run TreeProjects from a USB drive? Is it portable?

TreeProjects can run from a normal USB drive, even if you’re logged on as a guest (non-administrator).

To make a portable copy, first install TreeProjects on your PC, and then use the menu command: “Tools – Make portable copy”.

Is there a 64-bit version of TreeProjects?

There is no 64-bit version of TreeProjects – the installation is 32-bit (although it includes small pieces of 64-bit code). Why?

  • The 32-bit installation is carefully tested to run on 64-bit Windows as well as on 32-bit Windows.
  • Contrary to a popular belief, 64-bit programs do not automatically gain significant performance advantage on 64-bit Windows. So a 64-bit version of TreeProjects would not be noticeably faster than the 32-bit one, and might possibly be slower. It would also take up more disk space.

Since there are no functional and performance differences, and due to significant added overhead of maintaining two builds, a 64-bit version of TreeProjects is currently not planned. Should you notice a problem on a 64-bit system (which may or may not be present on a 32-bit one), please use the error reporting facility of TreeProjects, and the problem will be looked into.

See also: TreeProjects in the 64-bit world

What are the limits of TreeProjects?

Item count: TreeProjects can accomodate up to 4 billion information items.

Item size: A single item cannot exceed 1 billion bytes (953,7 megabytes). Since TreeProjects compresses its data, you will usually be able to import files larger than that. However, if you find yourself storing items of this size, you are probably not using TreeProjects correctly.

Database size: There are no practical database size limits imposed by TreeProjects. The program never tries to load an entire database in memory, so you don’t have to have a lot of RAM. It uses indices to perform actions like search or children enumeration, so working with multi-gigabyte databases is almost exactly as fast as working with a nearly empty one. TreeProjects was successfully tested to efficiently handle databases exceeding 4 gigabytes.

Privacy and temporary files

TreeProjects respects your privacy. It will never get online without your approval and never send your data to anyone.

On the other hand, TreeProjects leaves log files in your temporary folder. The log files contain technical information about the program’s operation and would be sent to the developer should a problem occur (with your permission). The log files contain fragments of databases you worked with.

You can turn logging off in the Settings dialog.

TreeProjects deletes all logs older than several days. However, you can delete them by hand if you need. Use a file manager or the Disk cleanup system utility.

The temporary folder usually has the following path:
C:\Documents and Settings\your_username\Local Settings\Temp

TreeProjects temporary files have names like:
smereka_1228400369.log

What languages are supported?

The program is fully Unicode-capable and works with any language and alphabet. However, with Asian languages that use pictographic/ideographic alphabets, search does not work reliably, due to significant text tokenization difficulty for such languages.

The user interface is available in many languages. Even more translations will be available in the next versions.

How is data safety and application stability ensured?

TreeProjects employs three independent automated test suites to make sure user data is safe and the application itself behaves well:

  1. The database backend test suite covers the functionality of the database backend – a component which translates user commands into the SQL language understood by the industry standard SQLite database engine. Positive and negative tests are performed.
  2. The user interface test suite covers the functionality of TreeProjects’ graphical user interface and the operation of the bundled plugins.
  3. The database compatibility test suite verifies that database files are compatible across all the released versions of TreeProjects.

Since the test suites are fully automated, they cost nothing to run, and therefore are executed after every significant modification. All features and modifications always include updates to the automated test suites.

Nevertheless, in the event that the application malfunctions (or the user makes a mistake), database backups are automatically created before each session, unless this is disabled by the user. Moreover, in case of a crash, the database and its latest backup are automatically copied to a secondary backup folder.

What’s the story of TreeProjects?

TreeProjects is written by Yaroslav Pidstryhach. I am a professional software developer and project manager. My day job requires keeping track of and having quick access to a lot of information, which the standard tools didn’t really help to do. A couple of years ago I started searching for personal database software, but couldn’t quite find what I need. Other personal database tools were either too slow, too complicated, or had issues with Unicode. Therefore I wrote one for myself and, when the software became mature, released it to the public.

It is easy and fun for me to run this project due to careful coding, heavily automated regression testing, and completely automated order processing.

Copyright ©​ 2010--2014 by Yaroslav Pidstryhach. All rights reserved.