The Technical Side to Pathagoras

   As complex as Pathagoras may seem to many, it is a remarkably simple program. The below is a discussion of the 'Technical Side' to Pathagoras.

       The Pathagoras 'engine':

The engine that drives Pathagoras is a single file. The name of the file is "pathagoras.dotm"

The file is stored in Word's StartUp folder. (The StartUp folder is established by Microsoft. It is not in the same location from version to version, or even within the same version. Check with your IT department for help in determining the StartUp folder.) Pathagoras determines the location of the StartUp folder during the initial installation phase of the program. You do not need to know the location ahead of time.

When Pathagoras distributes an update, the primary action is to replace the old version of 'pathagoras.dotm' with the newer version. The action is practically identical to saving a Word document or template.. If the document or template exists, the old version is deleted, and the new version replaces it. (If the document or template never before existed (as measured by the name), the new document is saved into the target folder.) HERE IS THE KICKER FOR THIS LESSON: If the Word document or template you are trying to replace is open at the time of the attempted save, you will get an error message that you cannot perform the save.

If Pathagoras is open (and Pathagoras is open whenever Word is running -- because all programs in the StartUp folder are activated when Word starts -- it cannot be overwritten. See above paragraph.

Therefore, before you attempt to upgrade Pathagoras, Word must be 'closed'. (Rarely, Word may appear closed, but it really is not. To see if Word is really closed, activate the Task Manager. Look in the 'Processes' tab for a program called 'winword.exe'. If you see it, click 'End Task' to close it.).

Most upgrades involve only changes to the 'pathagoras.dotm' file. It is typically safe to perform a copy of 'pathagoras.dotm' from one computer to another. Word needs to be closed on both.

Some upgrades involve updates and additions to the Ancillary Files. If there is a public announcement of an upgrade, you should perform a full upgrade using the 'Pathagoras Setup.exe' file (to which you will be provided a link with the upgrade announcement). That way you can make sure you have the latest ancillary files.

Servers systems: If the office (and all users in the office) run within a Citrix or Microsoft server environment, and all users connect to the server via terminals, all users must be out of Word in order to upgrade Pathagoras. This is an atypical situation. The common situation is that Word is installed on the individual office computers. In the latter case, only the individual user must be 'out' of Word to upgrade Pathagoras. (Please understand that a server-terminal setup is not the same as having an office server that stores your documents, spreadsheets, etc. The files are stored in a common location, but programs are run locally. This is a 'typical' setup.

Ancillary Files:

There are many other files that are required for Pathagoras to actually work for you in your office.

These files are stored in the folder selected when you originally install Pathagoras. By default, it is "C:\program files (x86)\Pathagoras"

Without these, and one 'secret sauce' file, Pathagoras cannot function. So just having 'pathagoras.dotm' in your StartUp folder will not cause Pathagoras to function.

However, and this is a 'biggie', if Pathagoras has been properly installed and licensed on Computer A and Computer B (so the 'secret sauce' file resides on both) AND you want Computer B to mimic all of the Computer A settings, you can simply copy and paste the entire content of the Pathagoras folder from A to B. This can be done at any time. (So if you are adding licenses, it will work. If you are changing computers, and intend to ditch Computer A --no license violations, please -- it will work.)

Instant Database Files:

Pathagoras has a unique and very powerful way of storing client data. It is also uniquely simple. All data for a client is stored in a simple '.csv' file (standing for 'comma separated value'), There is no separate database. The collection of files constitutes the database.  When we think 'databases', we think of a container into which new data is saved, and a way by which the individual records can be recalled and viewed. The container Pathagoras uses is a bit 'unconventional' in that it is simple a folder. The sorting engine is Microsoft's folder sorting capabilities.  It's no more complicated than that. At installation, the default storage folder is 'C:\Program Files (x86)\Pathagoras\IDBs'. The folder can be changed to any other desirable location, and if users intent to share data (typically client records of names, addresses, phones, etc.), they should be repointed to a common location. Repointing is discussed at this page.

DropDown Lists

A DropDown List is another highly functional, but remarkably simple, tool. As explained elsewhere, a DropDown List points to a folder (typically a folder of documents) and displays the content of that folder.

After the initial read of the folder, subsequent displays of that folder's content are instantaneous. This is done by writing a list of the file names in a text file stored along with the Pathagoras ancillary files. (Windows is optimized to read text files extremely quickly.)

If a new item is added, the list is augmented (typically by clicking the Refresh button at the bottom of the List. When the List is removed, only the text file containing names is deleted. The original documents are never touched.

Libraries and Books

A 'Book' is a folder name to which Pathagoras points and can read and display its contents.

A library is simply collection of those folder names written to a text file bearing the name you assign to the Library.  It is saved in the (default) 'C:\program files (x86)\Pathagoras\PathSmart' folder.

There can be up to 10 books per Library. (You can have an unlimited number of Libraries.) Therefore, the 'collection' of folder names that comprise the Library will be only 10 lines long.

When a book is removed, only the line in the collection file is erased. The original documents are never touched.

When a Library is deleted, only the Library file (the 10 line text file described above) is deleted. The original documents to which the Books point are never touched.

Names & Subjects Editor

The Names & Subjects Editor allows you to freely manipulate values you wish (or may wish) to assign to the existing names and subjects of a file folder on your computer or on your network server.

Once you point Pathagoras to the folder, Pathagoras reads the names and the subjects assigned to each document in that folder and presents them onto a dynamic chart. Buttons on the screen allow you to try different naming schemes. No actions that write to your disk are occurring at this time. You can 'play' all you want. Only when you press the green 'Go' button will any changes you make be written to your drives. (Even then, a fail-safe mechanism is in place allowing you to first create a backup of your existing files.)

Pathagoras 'programming language'

Yeah, I know we say that there is no programming required, and we really mean it. There is no programming to create, let's say a variable. It's just square brackets surrounding a word. An optional text -- just curly braces surrounding any amount of text. But you can get really fancy-- multiple choice variables; options text; options text where you can select only one of the choices; options text where you can select multiple choices, and then have the choice(s) you make cascade down the document to make other choices for you or to ask additional questions. All this is possible, but Pathagoras needs a consistent set of characters and a defined order to things. It's those characters and the setup order that is the 'programming language.' But unlike other programs, Pathagoras programming text is on the face of the document, not hidden in fields, remote tables or ancillary documents. It's typed where the 'action' occurs. It's easy to read, easy to edit, easy to learn and easy to teach. Read more about Pathagoras' programming language at this link.