Download as pdf or txt
Download as pdf or txt
You are on page 1of 255

Plato Operating Guide

ZorbaSoft 2011 Version 01 Build 001

Contents
1 Introduction 1.1 So What Exactly is Plato ? . . . . 1.2 Whats Plato to You? . . . . . . . 1.2.1 Information Management . 1.2.2 File Management . . . . . 1.3 How does Plato work? . . . . . . 1.4 What You Can Expect from Plato 1.5 What You Need To Run Plato . 1.6 Platos Limitations . . . . . . . . 1 1 2 3 4 4 5 6 6 9 9 9 10 11 11 14 15 15 16 16 16 17 17 17 18 18 19

. . . . .

. . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

2 Getting Your Feet Wet 2.1 For Starters . . . . . . . . . . . . . . . . . . . . 2.1.1 Setting Up Plato . . . . . . . . . . . . . 2.1.2 Starting and Quitting Plato . . . . . . . 2.2 The Plato Display . . . . . . . . . . . . . . . . . 2.2.1 Overview . . . . . . . . . . . . . . . . . 2.2.2 Window Pane Navigation . . . . . . . . 2.2.3 Color Cues . . . . . . . . . . . . . . . . 2.3 About Objects . . . . . . . . . . . . . . . . . . 2.4 About Class Libraries . . . . . . . . . . . . . . . 2.5 About Databases . . . . . . . . . . . . . . . . . 2.5.1 Whats a Database? . . . . . . . . . . . 2.5.2 Opening, Closing, and Listing Databases 2.6 Data entry . . . . . . . . . . . . . . . . . . . . . 2.6.1 Selecting Data . . . . . . . . . . . . . . . 2.6.2 Entering and Saving Data . . . . . . . . 2.6.3 Undoing Changes . . . . . . . . . . . . . 2.6.4 Data Entry Without Using the Mouse . iii

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

iv 2.6.5 Template Data Entry . . . . . . . . . . . . Creating objects . . . . . . . . . . . . . . . . . . . Importing Objects . . . . . . . . . . . . . . . . . Editing objects . . . . . . . . . . . . . . . . . . . 2.9.1 Overview . . . . . . . . . . . . . . . . . . 2.9.2 Editing Notes . . . . . . . . . . . . . . . . 2.9.3 Editing Properties . . . . . . . . . . . . . Copying, moving, deleting objects . . . . . . . . . 2.10.1 Using the Cross Reference Window . . . . 2.10.2 Copy/Moving Objects between Folders . . 2.10.3 Copy/Moving Objects between Databases 2.10.4 Deleting Objects from Folders . . . . . . . 2.10.5 Deleting Objects from the Database . . . . Searches and lookups . . . . . . . . . . . . . . . . 2.11.1 Searching . . . . . . . . . . . . . . . . . . 2.11.2 Lookups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 19 21 23 23 24 27 30 30 30 30 31 32 32 32 36 39 39 40 40 40 40 41 42 42 43 43 43 43 44 44 45 45 45 47 48 48

2.7 2.8 2.9

2.10

2.11

3 In to Your Waist 3.1 Folders and Views . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Category views . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Multi-dimensional Category views . . . . . . . . . . . . 3.1.4 xRef views . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Cross References . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Cross reference Chains and Hierachies . . . . . . . . . 3.3 Bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Creating Bookmarks . . . . . . . . . . . . . . . . . . . 3.3.2 Finding Bookmarks . . . . . . . . . . . . . . . . . . . . 3.3.3 Deleting Bookmarks . . . . . . . . . . . . . . . . . . . 3.3.4 The Bookmark List . . . . . . . . . . . . . . . . . . . . 3.3.5 Bookmark Editing Pane . . . . . . . . . . . . . . . . . 3.3.6 Getting the Most from the Bookmark Comment Feature 3.3.7 Preventing Problems with Bookmarks . . . . . . . . . . 3.3.8 Using Bookmarks as Footnotes . . . . . . . . . . . . . 3.4 Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Concordance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Building a concordance . . . . . . . . . . . . . . . . . 3.6 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS 3.7

Document Templates . . . . . . . . . . . . . . . . . . . . . . . 48 3.7.1 Using Templates to Automate File Creation . . . . . . 50 53 53 53 54 55 55 55 55 56 57 57 58 59 59 60 60 61 64 64 65 65 65 67 67 67 67 67 67 67 68 68

4 Up to Your Neck 4.1 External Applications . . . . . . . . . . . . . . 4.1.1 Standard Applications . . . . . . . . . 4.1.2 Other Applications . . . . . . . . . . . 4.1.3 Editors and File Signatures . . . . . . 4.1.4 Plato Post-Processing Scripts . . . . . 4.2 Scripts . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Type . . . . . . . . . . . . . . . . . . . 4.2.2 Scope . . . . . . . . . . . . . . . . . . 4.2.3 Output . . . . . . . . . . . . . . . . . . 4.3 Multidimensional Clusters . . . . . . . . . . . 4.3.1 Conguring Multidimensional Clusters 4.4 Conguration . . . . . . . . . . . . . . . . . . 4.4.1 Conguration les . . . . . . . . . . . 4.5 Messages . . . . . . . . . . . . . . . . . . . . . 4.5.1 General information on message buers 4.5.2 Message buer settings . . . . . . . . . 4.6 Error Handling . . . . . . . . . . . . . . . . . 4.7 Resource . . . . . . . . . . . . . . . . . . . . . 5 Editing the Class Library 5.1 Class Library . . . . . . . . . . . . . . . . . 5.2 Class Library List . . . . . . . . . . . . . . . 5.3 Class Library List Editing . . . . . . . . . . 5.4 Class Library Settings . . . . . . . . . . . . 5.5 Object Actions . . . . . . . . . . . . . . . . 5.6 Object Attribute Editing . . . . . . . . . . . 5.7 Object Attributes . . . . . . . . . . . . . . . 5.8 Object Class Editing . . . . . . . . . . . . . 5.8.1 Transferring object classes to another 5.8.2 More About Copying Object Classes 5.9 Object Classes . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . class . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . library . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

vi 6 Using Markup 6.1 Markup . . . . . . . . . . . . . . . . . . . . . 6.2 Markup Tags . . . . . . . . . . . . . . . . . . 6.2.1 General Guidance . . . . . . . . . . . . 6.2.2 The Markup Editor . . . . . . . . . . . 6.2.3 Markup Formatting Options . . . . . . 6.2.4 Markup Examples . . . . . . . . . . . 6.3 Swap Lists . . . . . . . . . . . . . . . . . . . . 6.3.1 General Guidance . . . . . . . . . . . . 6.4 Post Processing . . . . . . . . . . . . . . . . . 6.5 Importers . . . . . . . . . . . . . . . . . . . . 6.5.1 General Guidance . . . . . . . . . . . . 6.5.2 Approaches to Importing . . . . . . . . 6.5.3 Importing mechanics . . . . . . . . . . 6.5.4 Importer Format . . . . . . . . . . . . 6.6 Exporters . . . . . . . . . . . . . . . . . . . . 6.7 Auto-enumeration . . . . . . . . . . . . . . . . 6.7.1 Auto-enumeration with formatting . . 6.7.2 Auto-enumeration without formatting . 7 Screen Reference 7.1 Screen reference . . . . . . . . . . . . . . . . . 7.2 Class library, main screen . . . . . . . . . . . 7.3 Class library, settings . . . . . . . . . . . . . . 7.4 Class library, categories . . . . . . . . . . . . . 7.5 Class library, change impact . . . . . . . . . . 7.6 Class library, transfer . . . . . . . . . . . . . . 7.7 Class library, object classes . . . . . . . . . . . 7.8 Class library, class attributes . . . . . . . . . . 7.9 Class library, markup . . . . . . . . . . . . . . 7.10 Class library, markup editor, tags . . . . . . . 7.11 Class library, markup editor, swap lists . . . . 7.12 Class library, markup editor, importers . . . . 7.13 Class library, markup editor, exporters . . . . 7.14 Class library, markup editor, autoenumerators 7.15 Database, main screen . . . . . . . . . . . . . 7.16 Database, view pane (folders) . . . . . . . . . 7.17 Database, view pane (categories) . . . . . . .

CONTENTS 69 69 70 70 73 73 74 76 76 78 78 78 79 82 84 90 92 92 93 95 95 97 99 101 103 105 107 109 110 112 115 117 119 123 125 128 130

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

CONTENTS 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29 7.30 7.31 7.32 7.33 7.34 7.35 7.36 7.37 7.38 7.39 7.40 7.41 7.42 7.43 7.44 7.45 7.46 7.47 7.48 7.49 7.50 7.51 7.52 7.53 Database, view pane (cross reference hierarchies) . . Database, view pane (multi-dimensional categories) Database, view pane (les) . . . . . . . . . . . . . . Database, lookup pane (folders) . . . . . . . . . . . Database, lookup pane (bookmarks) . . . . . . . . . Database, lookup pane (lists) . . . . . . . . . . . . Database, lookup pane (cross references) . . . . . . Database, lookup pane (validation lists) . . . . . . . Database, lookup pane (hyperlinks) . . . . . . . . . Database, lookup pane (note search) . . . . . . . . Database, lookup pane (parent folders) . . . . . . . Database, lookup pane (words in object) . . . . . . Database, lookup pane (object word prole) . . . . Database, lookup pane (words in concordance) . . . Database, scripts pane . . . . . . . . . . . . . . . . Database, graphics pane . . . . . . . . . . . . . . . Database, maintenance pane . . . . . . . . . . . . . Database, export pane . . . . . . . . . . . . . . . . Database, properties, description . . . . . . . . . . Database, properties, display . . . . . . . . . . . . . Database, properties, inheritance . . . . . . . . . . Database, properties, validation . . . . . . . . . . . Database, properties, omit lists . . . . . . . . . . . Database, properties, backups . . . . . . . . . . . . Concordance (main view) . . . . . . . . . . . . . . Concordance (settings) . . . . . . . . . . . . . . . . Concordance (statistics) . . . . . . . . . . . . . . . 7.44.1 Concordanace settings, statistics . . . . . . . Concordance (proles) . . . . . . . . . . . . . . . . 7.45.1 Concordanace settings, proles . . . . . . . Cross reference display (main) . . . . . . . . . . . . Cross reference display (maps) . . . . . . . . . . . . Cross reference pane (assigning cross references) . . Cross reference pane (change object class) . . . . . Script pane (script name, type) . . . . . . . . . . . Script pane (script scope) . . . . . . . . . . . . . . Script pane (script output) . . . . . . . . . . . . . . Script pane (nd and replace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vii 132 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 152 154 155 156 157 158 159 160 161 163 164 167 168 169 172 174 176 177 179 181 183

viii 7.54 7.55 7.56 7.57 7.58 7.59 7.60 7.61 7.62 7.63 7.64 7.65 7.66 Script pane (markup templates) . . . . . Script pane (messages) . . . . . . . . . . System conguration (colors) . . . . . . System conguration (chat templates) . System conguration (default lists) . . . System conguration (editors) . . . . . . System conguration (signatures) . . . . System conguration (le templates) . . System conguration (elements) . . . . . System conguration (messages) . . . . . System conguration (paths) . . . . . . . System conguration (report templates) System conguration (user variables) . . 7.66.1 User Variables . . . . . . . . . . . 7.66.2 Subdirectory Variables . . . . . . 7.66.3 Internal Variables . . . . . . . . . 7.66.4 Text Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 185 186 188 190 192 194 196 198 200 202 204 206 206 207 207 208

8 Properties Reference 8.1 Database Properties . . . . . . . . . . . . . . . 8.1.1 Database settings: descriptive . . . . . . 8.1.2 Database settings: display/performance . 8.1.3 Database settings: inheritance . . . . . . 8.1.4 Database properties: data validation . . 8.1.5 Database properties: omit lists . . . . . 8.1.6 Database properties: le format/backups 8.1.7 Database properties: system . . . . . . . 8.2 Concordance Properties . . . . . . . . . . . . . 8.2.1 Concordanace settings . . . . . . . . . . 8.2.2 Concordanace settings, statistics . . . . . 8.2.3 Concordanace settings, proles . . . . . 8.3 Class Library Properties . . . . . . . . . . . . . 8.4 Object Class Properties . . . . . . . . . . . . . 8.4.1 Object Class Properties . . . . . . . . . 8.4.2 Object Class Actions . . . . . . . . . . . 8.4.3 Object Attribute Properties . . . . . . . 8.4.4 Object Attribute data types . . . . . . . 8.4.5 text . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

209 . 209 . 210 . 211 . 213 . 214 . 215 . 216 . 218 . 220 . 220 . 226 . 229 . 229 . 229 . 229 . 232 . 234 . 236 . 236

CONTENTS 8.4.6 numeric . . . . . . . . . . 8.4.7 pick list . . . . . . . . . . 8.4.8 internal list . . . . . . . . 8.4.9 date . . . . . . . . . . . . 8.4.10 path name . . . . . . . . . 8.4.11 conversion . . . . . . . . . 8.4.12 le name . . . . . . . . . . 8.4.13 eld list . . . . . . . . . . 8.4.14 folder sorts . . . . . . . . 8.4.15 ag . . . . . . . . . . . . . 8.4.16 cross reference . . . . . . . 8.4.17 numeric, incrementing . . 8.4.18 record key . . . . . . . . . 8.4.19 Special Property reference Plato Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix 237 239 239 239 240 240 241 241 241 242 242 242 242 244 244

8.5

Chapter 1 Introduction

1.1

So What Exactly is Plato ?

Plato is the namesake of the ancient Greek philosopher who taught that ideas must always preceed and govern particulars. Plato is the pre-eminent tool by which this excellent principle may be applied to organizing data on your computer. In addition, you may note that Plato , when pronounced in the American vernacular, sounds a lot like play-dough. This is a happy coincidence because this reects the second aspect of Plato s character, namely that you can mold and congure it any way you want, as if it were putty in your hands. What you need is a mind, ideas to organize, and the desire to organize them. With these tries, Plato allows you to go forth and clutter your computer instead of your mind. If you are the type that insists on a nit-picky sort of orderliness, Plato will give your computer the cleanliness you normally demand of your clothes closet. If youre of a more slipshod sign, you will still enjoy ddling around with Plato . It may even give you the illusion of orderliness. But no mechanical device is a substitute for an orderly mind! 1

CHAPTER 1. INTRODUCTION

1.2

Whats Plato to You?

Plato can be anything from a personal information manager to a full-featured research assistant. To be the former, you need only use it as it comes from the boxit comes precongured to manage tasks, contacts, notes, and les, as well as commonly inventoried items such as books, videos, CDs, software, and generic household items. To be the latter, Plato can be congured to meet the most minute requirementssimply and without programming. Plato helps you store, nd, classify, and transform information and concepts. Information may be research informationclipped electronic articles and books, references, notes, survey results, images, and the like. Or it could be your collections: books, lms, coins, stamps, recipes. Concepts may be categories or classication schemes you use to understand and order the information. When youre not sure which concepts apply to your information, Plato can prole and cluster your information in ways that may allow the governing concepts to emerge. Plato lets you classify your information. Classifying your information can be as simple as putting your information into categorized folders. Or it can be quite complex: you may develop several concurrent classication schemes and link your information to the relevant classications, then see how the information falls out, or clusters, within all the classications at once. Plato lets you classify types of information in addition to the information itself. It does this through the use of objects and object classes. In other words, all your book information will reside in objects called books, which will in turn all be members of an object class called book, which will in turn have specied book attributes such as title, author, publisher, date and anything else you may want to use to dene a book. Object classes my be linked to one another: the book object class, for instance, can reference an author object class. In this way you can see at a glance all the books associated with an author without having performing a query. Plato lets you transform your information: into documents, spreadsheets, database tables, lists, and more. Using scripts and markup, Plato can take your information and create web pages; XML spreadsheets; formatted database tables; complex documents with footnotes and indexes using A TEX, L TEX, or RTF; formatted plain text documents of your own devising. Plato cross references may be converted to GraphViz dot maps, where they

1.2. WHATS PLATO TO YOU? may be viewed as graphs in tools such as Gephi or Zgvr Viewer.

1.2.1

Information Management

Lets mention a few of the things Plato can do. A computer application should do something, right? (Something hopefully useful or at least amusing.) Plato can: Keep lists, from the simple (a list for Santa Claus, perhaps) to the very complex (a library catalog, photographic inventory, or geodatabase). Plato also has special features for managing task lists. Manage things that you or others write (scattered or structured notes, daily journals, correspondence, web clips, articles, novels, research, scientic treatises, or just about anything else). Manage your projects, ideas for projects, notes, and documents (of any sortdrawings, reports, memos, poems, novels...). Catalog your phone numbers and addresses, books and articles, photography and print collections, or research notes. Classify your information using virtually any classication system you can adopt or invent. Show relationships between things, from simple one-to-one relations to complex maps with thousands of interrelations. Navigate interactively through these relations with your mouse, with the ability to access and edit underlying data at any point. Combine written things with lists and all their relationships to build simple or elaborate research databases (for your use) or specialized expert systems (for use by others). By means of le signatures, know which application any le belongs towithout having to bother about clumsy le extensions. Logically extend your databases to include objects outside to the computer environment such as paper in ling cabinets, books, records, sheet music, photographs, etcetera. Work hand in hand with other applications via markup to:

CHAPTER 1. INTRODUCTION Create RTF documents for use Microsoft Word and other word processors Create XML documents for use in Microsoft Excel
A Create TEX/L TEX documents and BibTEX bibliographies for reports, journal submissions, and textbooks

Create dot language cross reference maps and display them with GraphViz.

1.2.2

File Management

Plato is also a le manager. Its le management features are mostly geared towards getting data into Plato or using Plato to manage matadata associated with les. However, Plato s le manager has a few unusual features: Store and reuse complex instructions for automated le searches. Select a list of les and join them into one le. This can can be used in conjunction with Plato import scripts to facilitate importing data into Plato , such as contact information in vcards or similar information from structured text les. Attach lengthy descriptions to les and display them in the le list display Keep a sorted list of selected subdirectories displayed for easy access to commonly used les. Associate les with applications using Plato le signatures and launch them from the le manager.

1.3

How does Plato work?

Plato works using three central concepts: object, cross reference, and script. Every item in a Plato database is an object of one sort or another. Objects are simply the things you work with or are studying: books, chapters,

1.4. WHAT YOU CAN EXPECT FROM PLATO

notes, journals, publications, authors, publishers, and the like. Some objects have special uses to Plato , such as folders, lists, and scripts. But objects can be anything you want to make them: mountains, stars, movies, plants, birds, kinship categories, mythical beasts. Objects have named classes, actions, attributes, and unstructured notes. Lets make one out of our previous list: a mountain. Our object has the named class mountain. There is no action associated with it; its just data. We will give it several attributes: name, parent range, elevation, political location, and geographical coordinates (latitude and longitude). For unstructured notes we might include a lengthy description of it. If we were to describe this object in plain text, it might look like this: Object: Mt Everest ==================================================== Object class = mountain Action = data only Attributes ----------------------------Name = Mt. Everest Parent Range = Himalaya Elevation = 29,028 feet Location = Nepal Latitude = 27 59 North Longitude = 86 56 East Notes --------------------Mt. Everest is a big mountain in a big mountain range in the biggest continent on Earth.

Cross references show relations between objects.

1.4

What You Can Expect from Plato

You can expect that Plato will address every conceivable need you may ever encounter as you use your computer. This would be a false expectation, however! You may more reasonably expect that Plato will manage the information on your computer very well and be a constant, amenable companion

CHAPTER 1. INTRODUCTION

to your day-to-day computer work. You may also expect that it will become addictive to the point that you wonder how you could possibly work without it.

1.5

What You Need To Run Plato

Memory In general, a half-gigabyte (512 MB) of main memory should be sucient unless you run several memory-hogging applications concurrently. Large databases and concordances will like as much memory as you can give them. With less than half a gigabyte your milage will vary, but at the worst performance may falter and creep painfully and that can be frustrating. Disk space The base installation will consume less than 5 megabytes of disk space. The disk space your databases will consume will varyI use Plato for research and I currently have 15 database les ranging in size from 100 kilobytes to 18 megabytes. Operating System Plato will run on Intel machines running Windows NT, 2000, XP, or Vista. It will also run on Windows 95 and 98 (if the machines running these older OSs have acceptable memory and processing speed). It might run on a Mac (using one of the many Windows XP emulators), but I havent tried it.

1.6

Platos Limitations

Database size Database size will be limited by your computers memory and performance. Platos databases are loaded entirely into main memory (although for databases with a lot of text there is a paging option that may reduce memory requirements considerably in some cases). Number of Objects Beyond the issue of available memory and acceptable performance, there are no limits to the number of objects you

1.6. PLATOS LIMITATIONS can put in a database.

Size of Objects Objects may have no more that 30 eld attributes. There is no limit to the amount of text an object may contain, however performance will once again dictate practical limits. Performance should not degrade signicantly with object text of up to 1,000,000 characters. If you are using a concordance set for real time updating, saving changed records will result in a slight processing delay, which may increase as the amount of text in an object increases. I say may because the increase will be less noticable on faster computers with more memory. Number of Folders There is no limit to the number of folders you can create. Your practical limit will again be based on performance and convenience. Folders can be nested to any depth, but Plato s scripting engine will only descend to ten levels of recursion. Folders nested more deeply than this can still be accessed manually however. Plato does not use the Windows registry.

CHAPTER 1. INTRODUCTION

Chapter 2 Getting Your Feet Wet

2.1

For Starters

2.1.1

Setting Up Plato

Plato installs automatically without fuss. Here are some of the details: When Plato is installed it will set up a directory hierarchy with which to store its working les. (You are free to set up your own directory structure later if you like.) Here is the Plato directory structure. 9

10

CHAPTER 2. GETTING YOUR FEET WET

Screenshot 1 Plato installation le structure

The base directory must either be the application directory (the directory with the Plato.exe le in it) or the users home directory. These will usually be: C:\Program Files\Plato C:\Documents and Settings\[your name]\Plato The data directory will contain Plato conguration and other data les. these les will be: Post-Installation Set Up Since Plato works in concert with other applications on your computer, you will need to tell Plato the applications you want it to work with. This is a manual process and it will require that you nd the applications executable les and register them with Plato . See Incorporting partner applications for more information.

2.1.2

Starting and Quitting Plato

Starting Plato Click the Plato icon (a little cloud) from the desktop, task bar, or start menu; cover your ears and stand back. (You dont really need to cover your ears.) The Plato splash screen appears and displays its start-up

2.2. THE PLATO DISPLAY

11

chatter in a scrolling text box. The Plato console is launched (in a minimized stateit will appear on your Windows task bar) and then the last database you used is loaded and displayed. Quitting Plato Select exit from the database drop down menu to quit Plato .

2.2

The Plato Display

2.2.1

Overview

Platos user interface consists of three main windows and a passel of helper windows. The three main windows, along with their helper windows, are: The Database Window The main Plato window, which displays lists of database views, folder contents, and the contents of objects. This where you will do most of your work. Database Properties Window Shows the underlying database properties that govern the behavior of the currently loaded database. Each database has its own set of properties. Database Export Window Displays the various options for exporting a database into other formats, and allows you to perform exports. Database Utilities Window Displays a list of database utilities and allows you to execute them. Catagories Window Allows you to create and edit categories and link them to database objects. Cross Reference Window Allows you to make and break cross references, and manage cross references in various other ways. Search window Allows you to search a database by word, phrase, time, or date. Concordance Properties Window Allows you to manage concordance settings and rebuild a concordance. Folder Properties Window Allows you to set folder properties

12

CHAPTER 2. GETTING YOUR FEET WET xRef Properties Window Allows you to manipulate folder properties Script Builder Window Allows you to build scripts. The Class Library window The class library window allows you to create and edit Plato object classes and their attributes. It also allows you to edit markup for use in import and export scripts. Class Library Properties Window Allows you to edit class library properties such as descriptions and protections. Object Class Categories Window Allows you to set up categories for object classes. Markup Editing Window Allows you to create and edit markup. System Utility Windows Utility windows allow you to view and manage Plato s general settings, operating parameters, and messages. Database List Window Allows you to display and edit lists of Plato databases, database categories, and class libraries. System Console Window Allows you to display and manage Plato windows. Messages Window Allows you to view the current message log as well as old message logs. You may also view a comprehensive list of current (unsaved) database changes, and external commands that have been executed. System Conguration Window Allows you to change Plato system defaults and parameters. External Application Window Allows you to run the external applications on Plato s application list. Scratchpad Window Allows you create and edit scratchpads (notes les managed by Plato that are not incorporated into a database.

2.2. THE PLATO DISPLAY Screenshot 2 Plato Database window

13

14

CHAPTER 2. GETTING YOUR FEET WET

2.2.2

Window Pane Navigation

TAB and SHIFT-TAB The TAB key will allow you to navigate the window panes in the database window. Hitting TAB successively will traverse windows in this order (hitting SHIFT-TAB will navigate in reverse): 1. Views/lookup/image/script buttons 2. folder/view tree, lookup, or script pane (depending on what is visible) 3. Folder pane 4. object properties pane 5. Note pane If a particular window pane is not visible it will be skipped on the list. Screenshot 3 Plato Database window TAB order

2.3. ABOUT OBJECTS

15

2.2.3

Color Cues

Plato uses colors to indicate when things have changed in a database, or to indicate active data sources. When you change a note or the data in an objects elds, the object title bars color will change from white to pale yellow. When the changed data is saved to the database, the title bar color will change back to white. When a database object has changed, the database change bar will change color from light blue to orange. When the database is saved, the change bar will change back to light blue. When the data source changes, the color of the folder list changes. You will normally browse through objects in the folder pane and the object data will display in the data pane when you scroll. However, you can also browse object data when you click through a cross reference hierarchy. When the browsing source is the cross reference list, the color of the folder pane will change. When you use subdirectory folders, the color of the folder pane will also change. When you use a cross reference work space, the color of the folder pane will change. Plato uses icons to indicate when you have messages When there are unread messages in the message buer, the information icon will appear on the toolbar and in the system message pane. When there are unread warning messages, the warning icon will appear in the same places. For errors, the error icon will appear. When you have read the messages, the cloud icon will reappear.

2.3

About Objects

Youll be seeing the word object a lot here so we might as well say what it is. An object is the most basic item of information in a Plato database you could also call it an item or record (or thing), but we settled on object. We like the term because its so utterly generic and nondescript pathetic, in factits just crying to be given a form and purpose. And thats

16

CHAPTER 2. GETTING YOUR FEET WET

right where we want it, because before an object can be put into a Plato database must be given a form and purpose. Objects have attributes

2.4

About Class Libraries

Plato objects have to be dened, and object denitions are contained in special les called class libraries. Plato comes with a prebuilt, standard class library with predened objects such as contacts, tasks, notes, images, books, journals, and many other paraphernalia of research. But if you have more specialized data requirements you can add to this library or build your own. One of the nice things that makes a Plato database dierent from a relational database is that these object denitions can be changed whenever you want, without having to modify or restructure the database in any way.

2.5
2.5.1

About Databases
Whats a Database?

Plato databases are collections of objects and descriptions of the relationships between objects. In their native, internal form, Plato databases are essentially unstructured heaps of objects that can be viewed just about any way you want. Objects are always accessed through an view, which is basically an index of selected objects in the heap. Plato creates and maintains some views automatically; others you make yourself, based on how you want to access your data. Plato supports some very sophisticated views, including multi-dimensional views. All the various views of a Plato database are organized in the left-hand pane of the Plato user-interface window. See concepts, folders and views for more information. Another feature of Plato databases is that relationships between objects do not have to be dened in the database structure, but can be dened and redened at will. Relationships can be built into the database structure, if you choose, but they can also be made arbitrarily. Relationships between

2.6. DATA ENTRY

17

objects in a Plato database are bi-directionalthey can be followed in any direction arbitrarily. As you will see, this may allow you to discover more distant relations between objects you didnt know were there.

2.5.2

Opening, Closing, and Listing Databases

Plato databases must be opened from the Plato managed database list.

2.6

Data entry

You can enter data in Plato directly from the keyboard or through imports from the clipboard or les. Plato has features to make either way a friendly process. For importing data, Plato easily imports les as blocks of text or as simple lists. For complex les, Plato has standard import templates (or allows you to write your own templates to cover less standard situations). For the keyboarder, Plato is optimized for direct key entry so that nearly all necessary functions can be performed without using the mouse.

2.6.1

Selecting Data

Object data can be selected from the folder, the cross reference hierachy, and the cross reference display in the lookup pane. Note: to see what youve selected, the object data plane must be displayed. If it isnt, press F3 or unselect hide object data pane from the view dropdown menu. Most often you will select data from the folder list, which can be done by clicking on a list item with the mouse, or scrolling up and down the screen using the arrow keys, page up or down, home (start of list) and end (end of list). Shortcut: If you are doing data entry from the object properties pane, you can move to the next object in the folder list by pressing lower case z; to move to the previous object, press lower case a. Object data may be selected while traversing cross references. Doubleclicking an object in the cross reference hierarchy will display the object data in the data pane if it is not hidden. This action will grey out the folder list, indicating that the source of the object data is the cross reference pane.

18

CHAPTER 2. GETTING YOUR FEET WET

2.6.2

Entering and Saving Data

Manual data entry is done through the object properties and/or note pane. In the object properties pane, use the up and down arrows to select a eld and press ENTER to access the data. An entry form will appear where you may edit the data (text data may be pasted from other sources as well as manually entered). To save the edit, press ENTER or click the save button. In the notes pane, simply type in new text or cut and paste it from an external source. You dont have to do anything to save your changesthe changes will automatically be saved as soon as you do something else in Plato select another object, perform a menu operation, click the toolbar, or the like. Note that when youve changed the data in an object, the database changes bar above the tree view/lookup pane will turn orange and keep count of the changes youve made since you opened the database (it will also tell you how many of your changes can be undone).

2.6.3

Undoing Changes

You can undo changes either before or after they are saved. Undoing changes before they are saved Note that when the object data has been changed, the object description bar will turn yellow and an undo button will appear. This means that the object data has changed but hasnt been saved yet. To undo your changes before saving, press the undo button or select undo current changes from the object pulldown menu. Note that this will undo ALL your changes and return the object to its state before you changed it. Undoing Changes after they are Saved You can undo the last saved change by selecting undo last object change from the object pulldown menu, or pressing CTRL-U. You can also undo any saved changes in any order via the changes pane. To open the changes pane, select show session changes from the database pulldown menu or click the database changes bar above the tree view/lookup pane. Select the change you want to undo from the changes list and click the undo changes button. You can undo as many as you like from this list. Note that some changes to the database cant be undone. In general, only changes you make to objects can be undone. Changes to cross references or database settings cant be undone. The changes list lists all changes whether they can be undone or not. If a change cant be

2.7. CREATING OBJECTS undone, the undo changes button will be disabled.

19

2.6.4

Data Entry Without Using the Mouse

Most Plato commands can be entered from the keyboard for mouseless use. Pressing F10 from any pane in the database window will access the main dropdown menu, which can then be navigated using the arrow keys; press ENTER to execute an item.

2.6.5

Template Data Entry

Template data entry is useful when you need to create many objects that have only minor variations of the same metadata. Using a template allows you to use the same data over and over, changing only what you need to. Template data entry allows you to use existing objects as templates. Select the object you want to use as a template from the folder pane. Change the existing eld data as needed (be careful not to save your changes though). Select Duplicate current object from the object menu (or press F9). You have now created a new object having the changes you made, leaving the template object as it was before you changed it. Note that the folder selection will have jumped to the new object youve created. This is the default behavior and if you want the selection to remain on the template object youll have to change it.

2.7

Creating objects

New objects are created within folders. When they are created, they will be added to the end of the folder. The options for creating new object are: Duplicate Current Object This selection will duplicate the object selected in the folder. Use folder default This selection will create a new object using the folders default object class. If you havent specied a folder object class default, this selection will be greyed out.

20

CHAPTER 2. GETTING YOUR FEET WET Specify object type This selection will bring up a dialog and allow you to manually choose an object class for the new object youll create.

The create new object options can be accessed from the folder popup menu or the main menu. From the main menu, select Object ] Create new object. From within a folder, right click to pull up the folder menu. Select New from the menu and drag right to get the same selections.

Screenshot 4 Plato Folder popup menu: creating new objects

If you choose to specify an object class manually, the following dialog will appear:

2.8. IMPORTING OBJECTS Screenshot 5 Plato Create New Object window

21

From this dialog you may select the object class you want to create. Note that there are two ways to lter the list: objects in use and unused objects. The rst gives a list of the object classes currently in use in the database. The second give a list of all the object clases in the current class library that are not in use by the current database.

2.8

Importing Objects

Data can be imported into Plato from the clipboard or from les. To import, right-click in the folder pane and select import... Or from the main menu, select import new object... from the object menu. This will invoke the import pane. The import pane allows you to import the current contents of the clipboard or a selected le. The default is the clipboard. You may import text or RTF from the clipboardimage information cannot be imported using the import pane, however you can drag and drop images into existing notes. The import pane has the following settings:

22

CHAPTER 2. GETTING YOUR FEET WET Import from Use this combo box to select the clipboard or a le as ther source of the import.

Filename If le is selected as the source, use this combo box to type in the lename. To browse les to select, click on the browse button to the right of the lename combo.

Import as Object Class This eld contains the object class the import to which the will be assigned. If the folder youre importing to has a default object class, this eld will inherit it. To select another object class, click the browse button to the right of the eld.

Parsing Options This eld allows you to select how the clipboard or le will be imported. Options are as follows:

1. Import Contents as Note This will place the contents of the clipboard or le into the note eld of the new object. The selection will copy the rst 45 characters of the note and use it for the description eld. 2. Import as list, one new object per line This will break the clipboard or le into lines and create a new object for each line. The contents of the line will be placed in the description eld. This selection is intended for creating a series of objects from a list. 3. Other Parsers Any other parsers that are associated with the object class selection in Import as Object Classs will be listed here.

2.9. EDITING OBJECTS Screenshot 6 Plato Import pane

23

2.9

Editing objects

2.9.1

Overview

For imformation on selecting objects see 2.6.1. Objects can be changed and edited by selecting them from a folder and opening the object properties pane. Open the object properties pane by right clicking in the folder list and bringing up the folder pop-up menu. From the menu, uncheck hide data pane. The data pane will appear beneath the folder pane. Note the drop down list at the top right-hand corner of the pane. This allows you to select

24

CHAPTER 2. GETTING YOUR FEET WET

the data viewnotes, properties, or notes and properties in a split pane. When you change the note text or properies of an object, the object title bar will turn yellow to indicate that youve changed it. Clicking on another object in the folder or starting some other action will automatically save the changes. Until then, clicking the undo button on the object title bar will undo the changes youve made.

2.9.2

Editing Notes

Screenshot 7 Plato Object Note pane

The note eld is a rich-text window allowing any amount of text to be placed into it. Notes can be entered in plain text and enhanced using rich text attributes. Text and graphics may be dragged and dropped into the note eld from other Windows applications as well. Formatting operations such as word wrap and text clean-ups may be applied selectively or to the entire note. The note eld is not a full featured text editor or word processor but it does allow basic control over fonts, text enhancements, and lookups. Here is the note popup menu with a list of note functions: Highlight text Highlights the selected text with the default highlight color (the default color is selected in the format pane, below). Bold Text Toggles boldface on or o for the selected text.

2.9. EDITING OBJECTS Italicize Text Toggles italics on or o for the selected text.

25

Bullet Text Toggles bullets on or o for the selected text (bullets are applied to start of each paragraph. Format... Opens the format pane, which allows you to apply a variety of formatting changes to the selected text (if no text is selected the changes will apply to the whole note). Character formatting This portion of the dialog allows you to select fonts, font sizes, text attributes (bold, italics, underline, bullets), and font color. Text formatting This portion of the dialog allows you to set custom word wrap, or strip extra spaces and hard carriage returns. Look up in concordance This will look up highlighted word(s) in the concordance and display the results in a new window. Bookmark and comment This will set a bookmark for the highlighted text and automatically open the bookmark editing window so you may enter comments. Bookmark This will set a bookmark for the highlighted text. Add to list This will add the highlighted text to the current list copy Copies the selected text to the clipboard cut Cuts the selected text and puts it in the clipboard paste Pastes text in the clipboard into the note at the selection point. delete Deletes highlighted text (does not place it in the clipboard) Select all Selects all text in the note. Delete note Deletes the entire note.

26

CHAPTER 2. GETTING YOUR FEET WET

Screenshot 8 Plato RTF popup menu and Note format pane

2.9. EDITING OBJECTS

27

2.9.3

Editing Properties

Screenshot 9 Plato Object properties pane

The property pane displays the various properties (metadata) of an object. The left column displays the property name; the center column the data; and the right column the data type. The three lines above the property elds display the description of the object, brief information about the object, and information about the selected eld. Properties may be edited by selecting the property from the property pane and double-clicking or pressing enter. This will open editing panes tailored for various eld types. The behavior of editing panes depends on the way the eld is congured in the class library. Each eld pane has an accept button and a cancel button with which to save your eld changes or abandon them. Shortcut: You may also press ENTER to accept changes of ESC to cancel. Some elds have additional buttons that allow you to congure the eld. All elds are fully validated according to the rules set up for them in the class library. For numeric elds, this can mean Text Panes The captions on top give the name of the eld and its formatting: upper case, lower case, title case, name case, or literal case.

28

CHAPTER 2. GETTING YOUR FEET WET

Beneath these is the text eld. Its designed to accomodate small amounts of text, but any amount of text up to 30 kb can be placed there.

Number panes The top captions give the name of the eld and its formatting: number mask, units (if any), and range. Below this is the number eld. What you may enter in the number eld is restricted by the number mask and range.

Date panes The top captions give the name of the eld and its formatting; for dates this will the predened display format selected in the class library. Dates can be typed in any format and they will automatically be correctly formatted (or the dialog warn you when theres something wrong with the date youve typed). You may also type now or today and todays date will be used. Note: the date pane may become confused if the date is supplied in year-day-month order.

Pick Lists Displays the items in the pick list. When multiple items are displayed, multiple selections can be made. If the Edit list button is displayed, the entire list may be edited from the edit pane.

Cross References Displays a list of objects to be cross referenced. As with the pick lists, when multiple items are displayed multiple selections can be made. Selections made here will automatically be cross referenced with the object youre editing.

2.9. EDITING OBJECTS Screenshot 10 Plato validated editing panes

29

30

CHAPTER 2. GETTING YOUR FEET WET

2.10

Copying, moving, deleting objects

2.10.1

Using the Cross Reference Window

The cross reference window is a multi purpose window; from it you copy or move objects, as well as change object classes and cross references. For each of the actions below you will access the cross reference window to carry things out.

2.10.2

Copy/Moving Objects between Folders

Objects can be copied or moved between folders using the cross reference pane. Select the objects you want to move or copy in the folder pane and right click the mouse, and select copy/move to another folder from the pop up menu. The cross reference window will appear with a list of the objects you selected in the top list. The bottom list contains a list of the folders you may move them to. Note the option buttons to the right of the copy/move button. Select either copy or move (the default is copy). Then select a folder and click the copy/move button to copy or move the objects. Note that moving objects means that they will be rst copied to the new folder then deleted from the current folder. (Note: you are only copying or moving pointers to objects in this operation; the object itself will never be deleted from the database).

2.10.3

Copy/Moving Objects between Databases

Follow the procedure for copy/moving between folders, except select copy/move between databases from the folder pop up menu. The bottom list in the cross reference window will now contain a list of databases instead of folders; otherwise the procedure is the same. You should select a database that uses the same class library as the current database, otherwise the target database may not recognize the objects youve sent to it. Plato will warn you if you are about to copy or move objects to a database that uses a dierent class library. Warning: When you move objects between databases, the objects youre moving will really be deleted from the current database, unlike when moving

2.10. COPYING, MOVING, DELETING OBJECTS between folders. Screenshot 11 Plato Cross Reference pane

31

2.10.4

Deleting Objects from Folders

To delete objects from folders, select the objects you want to delete in the folder pane and right click the mouse, and select delete from view from the pop up menu. The objects will be deleted from the folder (but not the database).

32

CHAPTER 2. GETTING YOUR FEET WET

2.10.5

Deleting Objects from the Database

To delete objects from the database, select the objects you want to delete in the folder pane and right click the mouse, and select delete from database from the pop up menu. Plato will warn you, then delete the objects from the database. The objects will also be deleted from every folder that contained it. If you decide youve made a mistake you can always undo the command.

2.11

Searches and lookups

Plato is pre-eminently geared towards browsing but it searches faster than a car full of speed-fueled private eyes. So lets take searching rst.

2.11.1

Searching

Databases can be searched by word, phrase, or date. Word searches can be conducted using the concordance, in which case nds can be nearly instantaneous. More complex phrase and date searches take a bit longer. Concordance searches A concordance is a list of all the words in a database with pointers for each word to every object that contains it. Since the database already knows where each word resides, word searches are instantaneousit takes longer to display the results to the screen than to nd where the word resides. So the rst thing you need for a concordance searches is a concordance. See SACKO for buiding concordances and options for maintaining them. If a concordance doesnt exist, search tabs and menu items relating to concordances will be disabled or not visible. You can search the database using the concordance a couple of dierent ways: 1. Click the search button (a little pair of binoculars) in the toolbar. The search window will appear and will automatically show the concordance search tab. Type the words youre looking for into the word pane and press enter. The search results will display in the results pane.

2.11. SEARCHES AND LOOKUPS

33

2. If you are browsing through a note and want to search for something, highlight the words you want to search, then right-click the mouse. From the pop-up menu, select Look up in concordance. The words you highlighted will automatically be placed in the word pane and the search results listed in the result pane. The concordance can be searched using the * wildcard in which case cognates of a word will be returned as well as the word itself. For example, can* *ing b*ing returns returns can, cant, cannot, candy, etc. floating, fighting, camping, etc. is not supported

The results of a concordance search are displayed in order of most to least matches. Match means the search word was found in the object. When your search contains several words, the objects which contain the most matches will sort to the top of the list. Search results can be further ltered by restricting the display to certain object classes, or only showing complete matches. If you want to examine the search results in more detail, click one of the send to folder buttons. The search results will be placed in a scratch folder and displayed in the folder pane. Text/Phrase searches Text/phrase searches are slower than concordance searches but the search parameters are more extensive and can be tuned with greater nesse. Here are the text/phrase parameters: Select text in any eld Enter text in the combo box and Plato will look in all elds for the text. Select text in specic elds Select the eld to look in (up to three dierent elds) using the left-hand drop down lists; enter the text you want to look for in the corresponding text box to the right of the drop down list. This is best used in conjunction with ther select object option, below.

34

CHAPTER 2. GETTING YOUR FEET WET Select objects Selecting an object here will restrict the search to the object class you select. This selection will determine which elds are available to select.

Restrict search to current folder Checking this box will force Plato to look only in the current folder.

Search in notes also Checking this box will force Plato to look in note elds as well as metadata.

Use raw data (dont expand) Checking this box forces Plato to look at all data before it is formatted for display. This is for expert users and requires that you understand how Plato stores its data internally.

2.11. SEARCHES AND LOOKUPS Screenshot 12 Plato Concordance Search Pane

35

Date Searches Date seaches will nd objects based on the date data thats associated with them. Most often this is the date they were created or last edited, but it can also be any other date eld. Here are the date parameters: Use general range Allows you to seach within general range of dates

36

CHAPTER 2. GETTING YOUR FEET WET starting with today (i.e., 7 days ago, 14 days ago, 30 days ago, etc.) Specify month and year Allows you to specify a month and a year and search for dates within that time frame. Select date attribute to search on This is a drop down list containing all ther date attributes currently in use in the database. Select the date attribute you want to search on.

2.11.2

Lookups

Lookups are a hodge-podge of ways to keep information at your ngertips. Lookups are accessed by clicking the lookups option button at the top of the view pane, and then by selecting the lookup mode from the drop-down list that appears below it. Available lookup types are: 1. Folder Access History Displays an alphabetical list of folders that have been opened. To clear the list, right click the mouse and click clear list on the pop-up menu. Note that folders in the folder stack will not be cleared. 2. Bookmarks Displays book marks for the object currently selected in the folder list. To display all bookmarks in the database, right click the mouse and click show all bookmarks in the opo-up menu. 3. Lists Displays a list of lists in a drop-down menu, with the content of the selected list displayed in the lookup pane below. 4. Find in note 5. Hyperlinks 6. Cross References 7. Words in Object 8. Objects Word Prole 9. Words in Object 10. Validation List Lookups

2.11. SEARCHES AND LOOKUPS 11. Find in concordance

37

38

CHAPTER 2. GETTING YOUR FEET WET

Chapter 3 In to Your Waist

3.1

Folders and Views

Views are the portals through which you may look at objects in a database. Views do not actually contain objects; they display objects within a certain dened frame of reference. An object can appear in any number of views, even though it only exists once in the database. Therefore, if an object is changed, the change will appear simultaneously in all the views in which it appears. Likewise if an object is deleted, it will disappear from all views. PLATO supports several types of views: folders categories multi-dimensional categories cross-reference hierarchies le system 39

40

CHAPTER 3. IN TO YOUR WAIST

3.1.1

Folders

Generic folder views: Folders are populated with objects that are placed there explicitly by you. You may create objects in a folder, import them into a folder, or copy and move them from one folder to another. Objects within a folder or document may be sorted by eld, or be arranged in some other order determined by you. Object class index views: Object class index views are populated automatically with all objects that belong to a specic object class. Index views are re-created each time they are requested (by double-clicking on the index entry in the view pane). Scratch view: Whenever you query the database (to perform a search, run a script, or request an index) Plato creates a scratch folder to hold the results of the query. The scratch view is a list of all these scratch folders, which you may open by double clicking them. You can purge scratch folders at any time by selecting purge scratch from the folder view menu. You can also tell Plato how to deal with scratch folders when the database is saved: always purge before saving, never purging before saving, or asking you whether to purge before saving. This setting is contained in the database properies dialog under le formats/backups.

3.1.2

Category views

Category views display any of the category families you create. Categories within a family are displayed as simple lists or hierarchies, depending on how you arrange them. Clicking on a category will display all items related to the category in a scratch folder. See categories for more information.

3.1.3 3.1.4

Multi-dimensional Category views xRef views

Platos folder management system consists of tools for creating, changing, and deleting folders

3.2. CROSS REFERENCES

41

3.2

Cross References

Cross references link items in a database with other items. They show relationships. If a relationship between items is possible, PLATO can show it: each object in a PLATO database may be associated with any number of other objects. In addition, PLATO links are bi-directional. Bidirectional means a cross reference may be followed forwards or backwards. Following a cross reference forward usually denotes a parent to child relation; following a cross reference backward is a child to parent relation. Bidirectional cross referencing allows you to see relationships between records in a database that may be very subtle and complex. A net of cross references may show records to be related in ways that were never suspected at rst. Because of this, bidirectional cross referencing can be a valuable tool for qualitative analysis of data. Cross references can be named to show other relationships besides parent to child. For instance, in a database that contains genealogy data, you can create a named link called married to to capture the marriage relationship as well as the child of and sibling relationships already depicted by the standard parent-child links. Plato displays cross references in a horizontal tree format, like the tree in Windows Explorer, as shown in the following gure: Screenshot 13 Plato Croos Reference Display

42

CHAPTER 3. IN TO YOUR WAIST

3.2.1

Cross reference Chains and Hierachies

Plato descends (or ascends, as the case may be) through cross references. It works like this: You select an object to check for cross references, and Plato does the following: 1. Checks the object for cross references, and makes a list of them. 2. Checks each item on the list for cross references, and makes listsPlato 3. Screenshot 14 Plato Cross Reference ow

Cross references can be assigned automatically or manually. Setting up Cross references Manually Manual cross refereences are set up through the cross reference pane. This pane is accesed from the folder

3.3

Bookmarks

Bookmarks allow you to mark selected text within a note, and if you want, attach comments to what youve marked. Bookmarks can also be incorporated into scripts so that they may be used as footnotes, endnotes, or margin notes (depending on the capabilities of the markup language.

3.3. BOOKMARKS

43

3.3.1

Creating Bookmarks

To create a bookmark, select the text within a note that you want to mark. Then right-click the mouse and select bookmark from the pop-up menu, or press ALT-K. A bookmark will be created for the text you selected. To bookmark and comment, follow the same procedure except select bookmark and comment from the pop-up menu or press ALT-B. The selected text will be bookmarked and the bookmark editing window will be displayed so that you may enter comments.

3.3.2

Finding Bookmarks

With both the note pane and the bookmark pane open, click on a bookmark in the bookmark pane to jump the cursor to the marked location in the note and highlight the marked text.

3.3.3

Deleting Bookmarks

With the bookmark pane open, select the bookmark you want to delete from the list, then right click the mouse to open the bookmark pop-up menu. Select delete from the menu to delete the bookmark.

3.3.4

The Bookmark List

Bookmarks are listed and managed from the bookmark list. Click the lookups option button at the top left portion of Plato s database window, then select bookmarks from the drop-down combo box. The three columns in the bookmark pane display: Bookmark A short description of the bookmark Oset This is the position of the bookmark in the note. The number represents the number of characters from the start of the note. Bookmark parent This the description of the bookmarks parent object. The bookmark list is context-sensitive; it will display only the bookmarks attached to the currently selected object. As an option however, you

44

CHAPTER 3. IN TO YOUR WAIST

may display all the bookmarks in the database at once. Right click in the bookmark list, and select show all bookmarks from the pop up menu. Use the same procedure to toggle back to the context-sentive display. You may sort the bookmark list by description, oset, or parent description by clicking on the appropriate column header.

3.3.5

Bookmark Editing Pane

You can add or edit bookmark comments by selecting a bookmark from the list, right clicking the mouse, and selecting edit bookmark from the pop up menu. This will display the bookmark editing pane. From this pane you can edit the bookmarks description, add or edit comments, and reset the bookmark location. The bookmark editing pane is synchronized with the bookmark list. This means you can leave the editing pane open while you scroll through the bookmark list, the contents of the pane will change as you scroll. Edit Bookmark Description Type changes into the bookmark description eld to edit the description Add or edit comments Type your comments in to the comment box. Text can be cut and pasted into the box as well. Reset Bookmark Location To reset the bookmark location, select the new text you want associated with the bookmark in the database note pane. Then click the reset button on the bookmark pane. The bookmark will now be associated with the new text you selected. Saving Changes to the Bookmark Changes to the bookmark are automatically saved when you close the editing pane.

3.3.6

Getting the Most from the Bookmark Comment Feature

Plato bookmarks are more than your typical bookmarkyou should think of them as margin notes as well. Just as you would jot notes in the margins of a book youre reading, Plato bookmarks allow you to jot notes in the margins of the electronic article youre reading in Plato . You can use bookmarks as notes to yourself, or you can use them to cite references, in which case you bookmarks can double as footnotes.

3.4. CATEGORIES

45

3.3.7

Preventing Problems with Bookmarks

Bookmarks are tied to a specic location in a Plato note. But what if you edit the note and the bookmark location changes? If this happens, Plato relocates the bookmark by searching for the text you highlighted when you created the bookmark. It will rst look in the vicinity of the old location, and if it doesnt nd it it will search the whole note. When it nds the text, it will register the new location and automatically update the bookmark. A couple of things can get in the way of this, however: If the text you selected occurs several places throughout the note, Plato might select an occurance of the text at a wrong location. The best way to prevent this is to select at least several words to bookmark If you change the text of the selection itself, Plato wont be able to nd it. This can most easily happen when you select two or more lines of text to bookmark, then later remove the line break that seperates them. A good practice is to strip hard line breaks from your notes when you import them. If for some reason you dont want to do this, try not to select bookmark text across two or more lines of text.

3.3.8

Using Bookmarks as Footnotes

See Using Markup for guidance.

3.4

Categories

Categories are one of Platos methods of allowing you to categorize your information. The basic procedure is: you create the catergories you want, and link them to objects in the database. Then when you click on a category all the objects related to it will be displayed in a scratch folder. Objects can be linked to as many dierent categories as you want. Categories can be anything you want them to bewords, phrases, standard terms. They can be linked to one another to form hierarchies (up to ten levels deep) or can simply be lists. They can start out as simple lists and evolve into complex hierachies (or vice versa) as your needs change. Categories can

46

CHAPTER 3. IN TO YOUR WAIST

be added or deleted, or linked to one another in hierarchies, on the y as you work. When you double-click on a category, all the objects in the database that are linked to the category will be displayed in a folder. Categories belong to families. Depending on your needs, you may have as many category families as you want. Within a family, you can have as many categories as you want. Lets take an example of how this might work. Lets say you are a bird watcher and are collecting notes of all your bird sightings. You decide to correlate your sightings by bird species, the location of the sightings, and the time of year of the sightings, and the year of the sighting. So you will set up four category families: 1) bird species, 2) sighting locations, 3) time of year (by month), and 4) year. The rst family will be a list of all the bird species you observe. The second will be list of all the locations you visit. The third will be a list of the twelve months of the year. The fourth will be list of the years in which your observations take place. When you enter your notes into Plato, you will link each note to categories in each of the four families. You can do this manually by clicking and linking from the category pane while your note is selected in the folder pane. Or you can set up your note in the class library to have each of the category families as attributesthe categories can then be selected from drop-down lists as you do your data entry. Objects that are cross referenced to several category families can be analyzed for clustering. See multi-dimensional clusters for information on this. The category display is selected via the dropdown list in the database view pane. Select category (single hierarchies). Immediately below the view dropdown list will be a dropdown list of category families. Select the family you want to view from this list. The categories will be displayed in the pane below. Double-clicking on a category will display all the objects that are linked to it in a scratch folder. Right clicking on the category pane will open the category popup menu. link category to current object Selecting this will link the selected folder object to the selected category. link category to current bookmark This will only be active if the bookmark editing pane is displayed. Selecting it will link the open bookmark to the selected category.

3.5. CONCORDANCE

47

add, change, delete category Selecting this will open the category editing window. More on this below. display children of children Selecting this will toggle subcategory display on and o. When this is on, double clicking on a category will display all objects linked to the selected category and all of its subcategories. display category counts Creating New Category Families New category families are created in the class library.

3.5

Concordance

A concordance is a list of all the words found in a database, with each word indexed to the objects that contain it. A databases concordance allows for a number of things: For all users: very fast word searches, relevancy ranked searches For reseachers: a comprehensive word list for an entire database, seperate word lists for each object in a database, analysis of word/object relationships, word frequency determinations Concordances are interactive. If you click on a word in the concordance list, all the objects that contain it are displayed in a folder where they may be edited. Concordances are tailorable. Each concordance can have its own stop list and list of word seperators. The concordance can be set to encompass object metadata, note text, or both. Concordance maintenance is selectable. Concordances can be generated ad-hoc, or made a persistant part of the database. Concordances can also be self-maintaining; that is, the concordance can update itself in real time as you edit the database.

48

CHAPTER 3. IN TO YOUR WAIST

3.5.1

Building a concordance

To access the dialog for building the concordance and managing concordance settings, select concordance... from the database drop down menu. This will open the concordance dialog. In brief To build a concordance using the standard options, click the build concordance button. If you have a big database with lots of words, building a concordance can take a few minutes. If you change you mind after the process has started, click the stop button. The concordance build will be cancelled and the unnished concordance will be deleted. In depth

3.6

Lists

Lists are pretty self-explanitorythey are a simple way of keeping lists relating to the things youre studying. To add things to your list, you can simply highlight the word or phrase you want to add, right click the mouse, and select send to list the put the highlighted text on the list. Like most things in Plato , lists are interactive. Click on a list item and all the objects related to it will be displayed. If you later want to turn your list into a series of Plato objects, simply send the list to the clipboard and import it onto your database as a list of objects. Lists can also be converted into markup for use as an LaTeX index.

3.7

Document Templates

Document templates are templates you set up to automate the creation of commonly used documents. You might set up a correspondence template, for instance, which would be a blank document with your return address and a salutation. Or you might set up a spreadsheet template, which would be

3.7. DOCUMENT TEMPLATES

49

a blank spreadsheet with labeled columns and rows, plus preset formulas. Document templates can be anything. The idea is to capture repetitive content in a template and use it over and over again. A list of document templates are found in the system conguration pane under templates. Each listed template must have a description, a template le, and an editor for the le.

Description A brief desciption of the template.

Template le The lename of the template le, complete with pathname. Template les are external to Plato . Create them with the application that uses them. For better organization, you should store all your template les in the same directory, but this is not required.

Editor The editor is the application that created the le. If you create a correspondence template in Microsoft Word, for instance, then select Microsoft Word as the template editor.

50

CHAPTER 3. IN TO YOUR WAIST

Screenshot 15 Plato Document Template Conguration

3.7.1

Using Templates to Automate File Creation

Document templates work in conjunction with the autole folder settings to automate the creation of standard documents. When the autole settings are properly set, a document will automatically be created when the Plato object is created. The document will have the content you specify, be placed in the subdirectory you specify, and have the lename you specify. Filenames can be automatically incremented by Plato when they are created. The set up a folder to automate the creation of documents, the following folder properties must be set: Default object The folders default object must have the object action type of Launch le with editor.

3.7. DOCUMENT TEMPLATES

51

Default template A template must be selected from the template list auto le Auto le must be set to on autole path to les An autole path must be specied. This is the path where the new le will be created. autole name template An autole name template must be specied. The name template tells Plato how to name the le. Through the use of numbering templates and Plato s internal variables lenames can be incremented and date stamped. autole incrementer

52

CHAPTER 3. IN TO YOUR WAIST

Chapter 4 Up to Your Neck

4.1

External Applications

Plato is designed to work with external applications. Potentially these can be any external applications, but there are a few standard applications that will be immediately useful. Plato interacts with external applications by building data les formatted for the application, reading les from applications and converting them to Plato formatted data, executing external applications via Plato scripts, or some combination of the three.

4.1.1

Standard Applications

Plato is designed to work easily with a handful of standard applications. Here are the main ones. Microsoft Word Plato can be used to create RTF les and load them into Microsoft Word (or any other RTF compatible editor) for further editing. 53

54

CHAPTER 4. UP TO YOUR NECK Microsoft Excel Plato can be used to create Excel formatted XML spreadsheets and load them into Microsoft Excel for further analysis. Alternatively, it can create simpler CSV spreadsheets for loading into Excel or various database applications. HTML Processors and Editors Plato can be used to create HTML formatted les for use as web pages, or as intermediate forms for eBook builders such as MobiPocket.
A A L TEX Processors and Editors Plato can be used to create L TEX A X editors such as TexMaker. Or formatted les and load them into L TE A A it can use L TEX to directly process a L TEXformatted le and load the resulting DVI le into the DVI viewer of your choice. I personally use A the MikTex TEX distribution to directly process Plato generated L TEX les and view them in the YAP DVI viewer. When I am designing A A complex L TEX books composed of many les, I send the L TEX assembly to TexMaker for debugging and viewing.

BibTEX Plato can be used to create BibTEX bibliography les for use A by L TEX or BibTEX bibliography managers such as JabRef. GraphViz Plato can be used to create DOT les for use by GraphViz or other graph generating programs. This interaction is particularly useful in displaying Plato cross reference maps Free Mind FreeMind and some other mind mapping programs can read simple indented text les and convert them to hierachical, graphical displays. Plato can convert its cross reference maps to such les and load them into the mind mapping program via the clipboard or command line.

4.1.2

Other Applications

With a little ingenuity Plato can be congured to work with other applications provided the application accepts input in plain text format. This includes a large variety of applications that read and write XML data, CSV data, or special text formats such as FrameMakers maker interchange format (MIF) and the like.

4.2. SCRIPTS

55

4.1.3

Editors and File Signatures

Before Plato can work with an application, the application must be listed in Plato s editor list. The editor list is used to tell Plato how to work with the application: where to nd it, how it should be displayed in Plato s lists, which command arguments should be passed to it when it launches, and the like. To add applications to the editors list, open the Plato system conguration pane and select editors from the conguration index at the left of the pane. Plato allows you to set up le signatures as a means of associating applications with their les. When you set up a le signature it will become the primary means of associating les with applications while working in Plato ; Windows le extensions will be ignored. This is useful if you would use le extensions as a way of classifying les by content but cant because it prevents Windows from identifying its parent application.

4.1.4

Plato Post-Processing Scripts

Plato allows you to append post-processing instructions to scripts, which allows you to perform complex operations on the data output by the script.

4.2

Scripts

PLATO scripts are used to export data into lists and reports, and use data to build documents by means of simple text formatting or more complex formatting using XML, HTML, RTF, TeX, or virtually any other form of text-based markup. Scripts can also be used to perform global search and replacement of data throughout an entire database. Each PLATO script has four basic elements: a type, a scope, and an output destination.

4.2.1

Type

A scripts type (see 7.50) denes what it will do. A script can be one of three types:

56

CHAPTER 4. UP TO YOUR NECK Find specic objects within a database and display them in a folder Globally replace specic data within a database or external le. Export data from a database into formatted documents

4.2.2

Scope

A scripts scope (see 7.51) denes where it will draw data from. Scripts perform their action within a database, in one of the following contexts: An entire PLATO database A single dened folder within a database The folder currently open in a database The currently selected object in a database Within a database or folder the scope can be further dened by: Listing specic object classes to operate upon to the exclusion of other object classes. Limiting the objects to act upon by specifying the object attributes and data that an object must contain. Specifying whether the script should descend recursively through nested folders. Specifying whether an objects child or parent cross references should be included in the scope. Object classes the script will act on are selected by checking them o in the selected objects list. Find/Replace Criteria Multiple nd replace criteria (see 7.53) can be specied.

4.3. MULTIDIMENSIONAL CLUSTERS

57

4.2.3

Output

Script output (see 7.52) can be sent to any of the following: A scratch folder within a PLATO database A note object in the current folder within a PLATO database A le buer keyed to the script, or an external le named by the script If the action of a script is to produce reports or documents, the desired output format must be specied. This is done by creating and attaching markup. Markup must always be specied by the user, however several canned output formats are provided with PLATO so the user can see how they are designed. In general, markup describes how data from Plato is to be formatted within a document or spreadsheet. This process is a little like the mailmerge feature in word processors. If the output is sent to the le buer or another le, the script can invoke other applications to post-process the le. Post processing can be as simple as loading the output le into a word processor for further editing, or into a web browser for viewing. However, post processing can involve more complex operations, such as converting the output to another format and then loading it into a viewer or other application.

4.3

Multidimensional Clusters

Multidimensional clusters are a way of looking at the relationships between objects in your databases across several dimensions at the same time. Heres a sample multidimensional problem: You are a zoologist who has been studying bobcats for several years and you have used Plato to store all your eld data. Your database is a collection of all the bobcat sightings you have either personnally witnessed or recieved secondhand reports about. For each sighting in your database you have entered the following information: location, year, time of day, season, and bobcat

58

CHAPTER 4. UP TO YOUR NECK maturity (adult or youngster). Your problem is that you want to see how your sightings cluster within the dimensions of year, location, time of day, season, and bobcat maturity.

In this example, Plato might cluster all of your sightings in accordance with your categories as follows: Locus ----------------------------------------------1981, Del Valle park, fall, morning, youngsters 1981, Del Valle park, fall, morning, adults 1981, Del Valle park, fall, evening, youngsters 1981, Del Valle park, fall, evening, adults [and so on...] Sightings --------2 12 3 2

Ferreting out these sorts of complex relationships can be dicult, timeconsuming, and problematic. However, Plato can show these sorts of relationships quickly and reliably. Because it contains persistent information about the relationships between objects in a database, Plato can quickly discard whole regions of empty clusters and zero in on the populated clusters. Plato can almost always take a cluster problem with trillions of possible combinations and reduce the domain so dramatically that the clusters may be determined in seconds or minutes as opposed to hours.

4.3.1

Conguring Multidimensional Clusters

Looking at multidimensional clusters requires that your data be cross referenced using one of the following two methods: The objects that you want to cluster must have one or more object of class attributes. The number of such attributes will correspond with the number of dimensions you can analyse. The objects that you want to cluster must be cross referenced with one or more object classes of the type family of categories. The number of family of categories the target object class is cross referenced to will correspond with the number of dimensions you can analyse.

4.4. CONFIGURATION

59

4.4

Conguration

The are many PLATO settings that are user congurable. Some of these settings control preferences like screen colors and path and lename defaults. Some of the settings extend the range of PLATOs capabilities, such as editor and signature denitions, and substitution tables used for macro expansions. Settings fall into three categories: Conguration settings: The settings control the general behavior of the PLATO system: where it stores its les, what are the basic inheritance rules for objects, what the display will look like, and many other things. Multi-User: These are a set of tables that contain data that will be used throughout a multi-user installation of PLATO (they can be used in a single-user installation as well, however). These tables are: users, groups, organizations, tasks, and enumerators. Tools: The are a set of tables that allow PLATO to work seamlessly with your computers lesystem and its external applications. These tables are: editors, signatures, templates, and paths.

4.4.1

Conguration les

Where Plato stores conguration elements is largely user congurable. This is so you can move selected conguration elements from computer to computer (i.e., from desktop to laptop, or from home to work) without having to reenter the data. You may have a library of le signatures or user variables, for instance, that you want to use on all your computers; Plato allows you to store them in one le that may be copied from place to place. For purposes of storage, conguration elements may be of the following three types: xed, local, and portable. Fixed elements must be stored in the main conguration le, PLATO.INI. Local elements are generally associated with paths or les that are specic to a local installation of Plato for a particular computer. Portable elements have no local association and can be used by any Plato installation. The best solution for maximum portability is of course to set up identical directory structures on all your computers; then all the local Plato elements

60

CHAPTER 4. UP TO YOUR NECK

will be portable too. Plato s standard le setup places all xed elements in PLATO.INI, all local elements in LOCAL.PFG, and all portable elements in PORTABLE.PFG. Heres a breakdown of Plato s conguration elements: Fixed miscellaneous settings conguration le settings Record enumerators table Colors database plato le paths plato le extensions plato messages settings Local File management settings Path variables table Plug-in editors Portable Database list Database categories File signatures

File templates Users Command history Groups buer list of nd criteria sets Organizations class library list list of user-dened variables plato chat settings plato words and lists settings

4.5

Messages

Plato can be congured to keep track of all its activity through the message log. The last 500 messages can always be viewed in the message window; all messages can be saved to a daily log le. You may select which messages are captured and which are ignored. When viewing messages, you can lter the display to show only the messages youre interested in. Plato can generates messages for practically all of its activity

4.5.1

General information on message buers

Plato has one message and two command buers.

4.5. MESSAGES

61

Message buer: this is a log of Platos internal messages it issues during operations. Messages are keyed to internal and external commands so that a message can be related to the operation in which it occurred. Each log entry contains a time/date stamp, the code for the message type, a cross reference to the command that was underway when the message was spawned, and the text of the message. Message types and the text of each message are contained in the messages portion of the resourse le. Internal Command Buer: This is a log of each Plato command that is issued by the user. Each log entry contains a time/date stamp, the name of the command, and a verbose desription of the command. Internal commands are listed in the command portion of the resource le. External command buer: This is a log of each command that Plato shells to the operating system. The log contains a time/date stamp, a reference to the application that was shelled, and the command line passed to the shell application. Each entry in the external command buer may be re-executed by double-clicking the log entry. The external command buer is persistent (i.e., it is saved to the disk between sessions of Plato). When the external command buer is loaded during Platos initialization, each entries command line is checked to see if the referenced le still exists. If a referenced le does not exist, the entry in the command log is deleted.

4.5.2

Message buer settings

Save daily log le Activating this setting causes the message buer to be saved to a daily log le. The default value is o. Log le format This setting denes the format of the log le. You may select one or both of the formats. If you select both, two log les will be written, one for each format. If you dont select a format (and you have activated the daily log le setting) the log will be written in the default format (plain text). The dafault value is plain text. The two formats are: Plain text (default format) The advantages of this form are that it can be easily read and understood using a text editor or word processor.

62

CHAPTER 4. UP TO YOUR NECK The disadvantage is that the information is at le: it cannot show relationships between messages and commands. Coded form The advantages of this form are that it is slightly more concicse, and it can show heirarchical relationships between commands and messages. This makes it easy to relate messages to the actions you perform while working in Plato. The disadvantage is that the message entries cannot be deciphered without using Plato to read them.

Unanticipated errors This setting controls the logging behavior when an unanticipated error occurs. The dafault value is do nothing special. The choices are: do nothing special immediately append to daily log immediately write to special error log immediately write to both special and daily logs Two additional, related error massage settings are: Dump complete data image on unanticipated error. This setting will cause Plato to dump its complete memory image to a le when an unanticipated error occurs. This can be used by the developer (not the user) to debug the error. The default value is o. Display errors and warnings in dialog as soon as they occur. This will cause Plato to display a dialog when errors or warnings occur. If the setting is turned o you will not be notied of errors and warnings as you work (the messages will still be saved to the message log, however). The default value is on. Message lter: This setting tells Plato which messages to save in the log. The default setting is 8, errors and warnings. The choices are: 0 [no logging] 1 [all messages] 2 errors 3 warnings 4 initialization 5 commands 6 le operations 7 idle chatter 8 errors, warnings 9 errors, warnings, inits 10 errors, warnings, inits, commands 11 errors, warnings, inits, commands, le ops Size of buer (lines): This setting controls how much of the message log is kept in the buer at any one time. The minimum value is 100 lines; the maximum is 1000 lines. The size may be specied in increments of 100

4.5. MESSAGES

63

anywhere within this range. The buer is a queue, that is, entries are ejected from a full buer on a rst in, rst out basis. If the save log le setting is turned on, entries are saved to the log le before they are ejected from the buer. The default value is 500. Repeated similar messages: This setting will set a limit on how many times a similar message is repeated. Similar messages may occur repeatedly during certain operations. For instance, if you unpack a suitcase le into a database with thousands of existing note les and the message lter is set to capture all messages, you will get thousands of messages reporting that each invidual le has been backed up. To avoid this tedious situation, you may limit the times similar messages are repeated to any value from 5 to unlimited. The default value is 20. Default view: This setting sets how the message buer will be displayed as a default. The choices are tree view and list view. The tree view setting shows messages in both chronological order and hierarchical relation to the commands that spawned them. The list view is simply a chronological list of messages as they occurred. The default value is list. The structure of message resources Each message record in the resource le is structured as follows: eld 1: unique message ID eld 2: message type. Valid types are: 2 = error 3 = warning 4 = initialization chat 5 = le operations 6 = commands 7 = exhaustive chit chat (normally for debugging) eld 3: message display destination. Valid destinations are: 1 = main message log 3 = message dialog pop up box 6 = database creation display log 7 = database loading messages log (for big databases) 8 = le copy dialog 10 = internal use by PLATO (strings used in user interface) eld 4: display only ag. This ag indicates that the message is for display only and should not be retained in the message log. eld 5: [reserved for internal use] eld 6: message text.

64

CHAPTER 4. UP TO YOUR NECK

4.6

Error Handling

4.7

Resource

Chapter 5 Editing the Class Library

5.1

Class Library

Class libraries are where all the objects you use in Plato are dened. Object classes are like templates. When you set up an object class for book, for instance, all the books you create in a database will have the same characteristics as the object class.

5.2

Class Library List

The class library list lists all the class libraries for your system. Access the list by opening the database list and selecting class libraries from the drop down box at the top of the window. A list of class libraries will appear. From the class library list you may open (and edit), delete, or modify metadata for existing class libraries. You may also create new class libraries. 65

66

CHAPTER 5. EDITING THE CLASS LIBRARY

Editing Class Library Data

Open library and edit Select the library you want to open and double click the entry, or press ENTER.

Modify library metadata Select the library you want to edit, right click the mouse, and select edit data.

Delete library Select the library you want to delete, right click the mouse, and select delete. Note that you may only delete class libraries that are not attached to any databases. Plato keeps track of which class libraries are in use by which databases and will only allow you to delete class libraries that are not in use by any databases.

5.3. CLASS LIBRARY LIST EDITING Creating New Class library

67

5.3

Class Library List Editing

5.4

Class Library Settings

5.5

Object Actions

5.6

Object Attribute Editing

5.7

Object Attributes

5.8

Object Class Editing

5.8.1

Transferring object classes to another class library

You can copy object classes, attributes, and markup to another class library. Select the object classes you want to copy and right click the mouse. Click copy to another class library. A list of class libraries will pop up. Select the target class library and click the copy button. The items youve selected will by copied to the target class library.

68

CHAPTER 5. EDITING THE CLASS LIBRARY

5.8.2

More About Copying Object Classes

5.9

Object Classes

Each Plato object class is dened by its name, a set of user-denable attributes, and the action associated with it. Together these elements constitute the object class denition. Object classes are always containers of data. However, in addition to this, they may also be containers of other objects or les that are external to PLATO databases.

Chapter 6 Using Markup

6.1

Markup

Each class library contains a markup library. This allows all databases attached to a class library to use the same markup. Each markup entry in the library has the following attributes: name, description, markup type, markup family, attach to object class, and the markup text itself. Name Name with which to identify markup on menus Description Short description of the markup Markup type The markup type desgnated the function of the markup. It must be one of the following types: 1. Script markup Markup that will be used by scripts to general documents. 2. Object Import Markup that will be applied to les external to Plato so that le content may be imported into Plato . 69

70

CHAPTER 6. USING MARKUP 3. Auto-Enumeration Markup that is used in conjunction with script markup to automatically number paragraphs, sections, sentences, or other document elements 4. Xref Map Markup used to generate cross reference maps for use in external programs such as Graphviz, Gephi, or Tulip. 5. Export database Markup used to export Plato databases to other formats. This markup type allows you to expose Plato readonly attributes that are normally hidden, such as object ID, object class ID, and the like. 6. Export class library Same as export database, except for class libraries. Markup family Allows you to designate the markup by markup family, such as TexT, RTF, HTML, XML, and the like. The list of markup families is a class library setting that may be edited through the class library setting dialog. Markup text Markup text is displayed in a read only window in the class library pane. It may be edited by pressing the edit markup button.

6.2

Markup Tags

6.2.1

General Guidance

Markup tags are the means by which Plato data can be converted to documents. Markup consists of text into which Plato data codes have been inserted. When the markup is processed by a script, the codes are substitued with actual data from Plato objects, similar to the way mail-merge works in a word processor. Plato codes are simply object attribute names in brackets, such as: [title]. Platos markup editor allows you to insert Plato codes from a menu. Markup is also broken up into sections. Sections are indicated by labels, which consist of the section name enclosed in double brackets, such as:

6.2. MARKUP TAGS

71

[[head]]. Sections allow you to assign dierent markup to dierent object classes. The following section labels may be used: [[head]] Markup under this section will be placed at the beginning of the output le. [[tail]] Markup under this section will be placed at the end of the output le. [[object object class name: object class ID]] Markup under this section will be added to each object of the type specied. Note that each object section must be associated with a particular object class:

Label syntax: [[object object class name: object class id]] Example: [[object note:8]]

Object classes can be selected from a menu and Plato will supply the correct codes and insert the label into the markup. [[bookmarks]] Markup under this section will be added to bookmarks. [[post processing]] This section denes post-processing instructions. swap lists Swap list sections allow you to build swap lists and apply them to various elements of markup and object data. See xxx for more information about swap lists. There are six ways swap lists can be applied; each variation performs its substitutions on a dierent portion of the script. Although this variety of types may initially seem like unneeded complexity, you will eventually see that for certain types of problems that may arise with markup logistics, each type performs a necessary function. The six ways are: 1. [[swap list markup]] Acts only on the markup before any object data is attached. 2. [[swap list metadata only]] Acts only on object eld data (metadata) before it is attached to markup.

72

CHAPTER 6. USING MARKUP 3. [[swap list notes before/without formatting]] Acts on notes without formatting, or (for notes with formatting instructions attached) before they are formatted. 4. [[swap list notes after formatting]] For notes with formatting instructions, acts on the note after it has been formatted. For notes without formatting instructions, this has the same eect as swap list (notes before/without formatting). Be carefulif you apply both swap list types to an unformatted note the results may be unpredictable. 5. [[swap list markup metadata notes]] Acts on both object eld data and notes after markup has been applied to them. This is the swap list type you will probably most often use. 6. [[swap list bookmark notes only]] Acts only on the note eld for bookmark objects (this allows footnotes or endnotes to have dierent formatting markup).

As an example, heres some of the the markup that produces the Plato web page:

markup for title text blocks ---------------------------------------------[[object plato_text_title_block: 201104020858100]] [table style="width: 100&"] [tr] [td class="style11"][strong][Item_title]//strong]//td] //tr] [tr] [td class="style10"][@note]//td] //tr] [tr] [td class="style10"]\ //td] //tr] //table] markup for form text blocks ----------------------------------------------

6.2. MARKUP TAGS [[object plato_form_block: 2009071910400]] [table style="width: 100&"] [@note] //table]

73

6.2.2

The Markup Editor

Screenshot 16 Plato Markup sections and labels

6.2.3

Markup Formatting Options

These instructions are used to format notes. They are delimited with braces:

74 Instruction note note/wrap 3 74 note/wrap 3 74 ni note/strip space note/strip returns

CHAPTER 6. USING MARKUP Explanation insert contents of note insert contents of note; word wrap into block starting at column 3 and ending at column 74 same as word wrap command except the rst line will start at column 0 (no indent) insert contents of note and remove all extra spaces insert contents of note and remove all single CR/LF characters

These instructions may be combined: {note/wrap 2 74/strip space/strip returns} These instructions are used to merge database records into a report template. They are delimited with brackets: [field name] [field name/20] = insert field contents = insert field contents in a fixed space of 20 characters

6.2.4

Markup Examples

This markup: [author], [title], [publisher] ([date]). Will result in: John Steinbeck, The Grapes of Wrath, Random House (1946). This markup:

6.2. MARKUP TAGS Author: Title: Publisher: Date: Will result in: Author: Title: Publisher: Date: This markup: John Steinbeck The Grapes of Wrath Random House 1946 [author] [title] [publisher] [date]

75

[author/17] Will result in:

[title/25]

[date]

John Steinbeck

The Grapes of Wrath

1946

NOTE If you preface the markup brackets with a capital R, the script will use the raw data from the eld instead of the formatted data. Example: R[author] Note and eld markup can be combined in a template as follows: This markup:

[author], [title], [publisher] ([date]). ---------------------------------------------Synopsis: {note/wrap 2 74}

76

CHAPTER 6. USING MARKUP

Will result in: John Steinbeck, The Grapes of Wrath, Random House (1946). ---------------------------------------------Synopsis: Text of synopsis, whatever it may be. whatever it may be. Text of synopsis, Text of synopsis, whatever it may be. whatever it may be. Text of synopsis, Text of synopsis, whatever it may be. whatever it may be. Text of synopsis, Text of synopsis, whatever it may be. whatever it may be. Text of synopsis, Text of synopsis, whatever it may be. Text of synopsis, whatever it may be. Text of synopsis, whatever it may be. Text of synopsis, whatever it may be.

6.3

Swap Lists

6.3.1

General Guidance

Swap lists are a form of markup for use in scripts. Swap lists will allow you to substitute words, phrases, or characters during the course of script processing. The substitutions will show up in the output of the script but your original object data will be left unchanged. Swap list syntax is fairly simple: One statement to a line; each line contains the text to be swapped, followed by an equal sign (=), followed by the replacement text. Use Platos string constants for non-displaying characters and certain other characters (such as quotes) that may also be used as delimiters. When the text contains spaces (the literal space character, ASCII 32) enclose the text with quotes. Swap lists are often necessary if your goal is keep your object data independent from markup. For example, you probably use quotation marks in your text where necessary. But if you use TeX or LateX as your document

6.3. SWAP LISTS

77

formatter, it will require that quotations be rendered and (left and right respectively). Changing your object data to conform to this convention will make it dependent on TeX/LateX, because other formatters may not recognize the TeX convention as quotes. The solution is to keep your quotes as they are but write a swap list to make conversions when TeX/LaTeX output is required. Heres sample markup from a swap list addressing TeX/LateX quotes (the words starting with an ampersand are Plato string constants):

\&end_of_line\&quote \&quote \&quote \&quote\&end_of_line

= = = =

\&end_of_line \&end_of_line

Similarly, you probably press [enter] at the end of a line or paragraph (which puts a carriage return/line feed combination in your text le. But if you want to create RTF markup for use in word processors, carriage return/line feeds are ignored by RTF, which uses other line/paragraph markup conventions. Again, a swap list will resolve the problem and deliver good RTF markup without changing your object data. Heres a sample line from a swap list addressing RTF paragraph breaks:

\&end_of_para

\par}{\Pard

Swaps lists are not a universal solution to these sorts of problems but with a little ingenuity they can go a long way.

78

CHAPTER 6. USING MARKUP

6.4

Post Processing

6.5

Importers

6.5.1

General Guidance

Importers are customized scripts for reading les that are external to Plato and importing them into Plato objects. Plato objects consist of eld atributes and notes, so the task of a importer is to break the le up into records that will correspond to Plato objects, and analyze each record to determine which portions of it are eld attributes and which are notes. It then further analyses the list of eld attributes and assigns each to an objects specic eld attributes. Importers can do simple clean-ups on les. Unwanted characters can be stripped or replaced; large text elds can be word wrapped. Plato importers are designed to be general purpose and can serve many applications, but they are not a substitute for more elaborate parsing engines such as Sed or Awk that use a full complement of regular expressions. Importers are stored in the markup section of class libraries. Pressing the edit markup button will load the importer for editing and place into the markup editor.

6.5. IMPORTERS Screenshot 17 Plato Importers in class library

79

6.5.2

Approaches to Importing

Importers may be written with a great deal of exibility but some structure must be present in the le so that the importer has something to work with. Typical les amenable to parsing are: emails or email folder les, web pages and other HTML or XML les, spreadsheet CSV les, and database query result les. Some binary les can be parsed as well, though their structure must be precisely known in order to get meaningful results. Text les that have no regular structure can still be parsed and imported, provided you dont mind marking them up rst and writing your importer to match the markup youve used. The key to successful importing is to look at the source le to see how it is structured, then write the importer to match that structure. Lets take two examples. The rst is relatively straightforward the standard comma seperated

80

CHAPTER 6. USING MARKUP

value (CSV) le. Here are a few lines from such a le:

Mojoworld","","Pandromeda","game, simulation Nikon Scan","","Nikon","editor, image Wikipad","1.16","Jason Horman","editor, outliner Chview","","","mapping, astronomical Looking at this type of a le will show you that each line is a record. There is no start-of-record marker; the end-of-record marker is a line break. Within each record, elds are seperated by commas. Fields may also be enclosed in quotes if the text in the eld contains commas that should not be confused with the commas that seperate the elds. The names of the elds are not contained in the records, so the importer will have to know what they are (or shuld be) and assign them. To see what a importer might look like for a CSV le, see the example at the end of this article. The second example is a BibTeX formatted bibliography. This also has a standard record/eld structure, but it is more complex than the CSV le. Heres a record from such a le: @book{taylor_ethics_1985, address = {Englewood Cliffs N.J.}, title = {Ethics, faith, and reason}, isbn = {9780132905527}, publisher = {Prentice-Hall}, author = {Richard Taylor}, year = {1985} } Notice that the record in a BibTeX le can be many lines long, and that the elds in the record contain both the contents of the eld and the name of the eld. The start-of-record marker is a BibTeX keyword bracketed by @ and a left curly brace . The end-of-record character is a right curly brace . Within the record, elds are seperated by commas. Within the eld, the eld name is seperated from the eld contents by =.

6.5. IMPORTERS

81

When eld contents may contain commas or equal signs, they may be bracketed with quotation marks or curly braces. There are some potential parsing problems here that must be addressed. Since curly braces may be used both as record markers and eld content brackets, the importer must be told to keep track of them so it wont forget which is which. (This can be done by telling the importer to track braces and giving it a list of the braces to track.) Another potential problem is that BibTeX eld names are generally intended to follow a convention, and so the importer should ensure that the convention is followed. Here are the instructions from an importer that would parse the BibTeX record above: [INSTRUCTIONS] block_mode block_composition block_mark_mode field_mode field_name_mode

= = = = =

block fields start_and_end_tags delimited yes

[MARKUP_DEFINITIONS] block_start = @book{ block_end = } delimiter = \&comma field_seperator = = field_braces = [] () {} \&quotes [FIELD_SUBSTITUTION] title = clip_pointer These are a couple of examples of standard le structures. A little more imagination may be required if the le structure is not standard. The basic questions to be answered are: How are records to be dened in the le? How are elds dened?

82

CHAPTER 6. USING MARKUP Do elds contain names along with content? Will matching braces need to be kept track of? Should eld names be validated?

Remember that the ultimate goal is to import the data into Plato objects, so look at possible ways of dening records and elds with this outcome in mind. Rather than agonize over writing a importer to cover all the contingencies of a bizarrely structured le, remember that it may be easier to add consistent markup to the le yourself, then write a simple importer to take care of it.

6.5.3

Importing mechanics

Extracting Blocks Plato importers work with blocks of text that they extract from les. They use one of four modes for obtaining these blocks: block, chunk, line, and le mode. Chunk mode is for binary les and works by pointing to a le oset and grabbing a chunk of the le of the length youve specied. Chunk mode should only be used on binary les with embedded plain text information. The importer does not have facilities for deciphering text encodings that are packed, compressed, or bit-shifted. One chunk mode method is to go to a specied location in the le and grab one chunk of text. This is useful for reading text information from binary le headers if you know where to nd that information. Another chunk method is to start at a particular location in the le and sequentially read chunks of the specied length until the end of the le is reached. This approach may be useful for small at-le databases that have xed record and eld lengths. It is also useful for going through a binary le whose structure is unknown and extracting all the text strings. Block mode reads the le a line at a time and looks for start of record and end of record markers; everything between the markers goes into a block.

6.5. IMPORTERS

83

Line mode reads the le a line at a time and puts each line into a block.

File mode takes the whole le and puts it into a block.

Fields and Notes Once the importer has obtained a block, it parses the block for elds. How it parses the elds will depend on a particular les format. Some formats contain sequential eld content without names, some contain eld names and content. Varying eld delimiter markup is used from le to le. The importer will have to dene elds and markup in accordance with the conventions of a particular les format. Some les, such as email les, have a elds section followed by a body section. The importer has a note delimiter statement that tells it if it should try to subdivide the block in this way. Some possible values of the note delimiter statement are:

note_delimiter = \&[end_of_para]

This statement tells the importer to look for an end of paragraph marker (two CR-LFs) and use it subdivide the block into a elds section and a notes (or body) section.

Validation and Output When the block is parsed, the eld information is gathered into an array where it may be validated against the eld oset table and the eld substitution table before being imported into a new Plato object.

84

CHAPTER 6. USING MARKUP

6.5.4

Importer Format

Screenshot 18 Plato Importer Edit Window

Importers consist of the following le sections: instructions, markup denitions, and eld order tables. Every importer must have an instruction section but the other two sections are optional. Section labels must be the only thing on the line that contains them and have the following format: [instructions] [markup definitions] [order tables]

Instructions Instructions consist of a statement, a seperator (always =), and

6.5. IMPORTERS Order tables

85

Substitution tables are used to translate eld names found in the le being parsed to actual object attibute names. Example:

author name = author year = publication\_date

Oset tables Oset tables dene the osets used to parse elds and the object attributes the elds are assigned to. Oset tables can be one of three types:

none line_offset field_order field_length

= = = =

offset table not used table contains line offsets table contains desired field order table contains field lengths

Line Oset The line oset type is for les with a record on each line, in which the elds are aligned in columns and padded with spaces. Database reports are sometimes structured this way. Such a le might look like this:

Customer ID ----------12345 23456 34567

Name -----------Jones, Bob Miller, Bill Smith, Jack

Address --------------123 Elm Street 234 Oak Street 345 Ash Street

Phone --------555-1212 555-2323 555-3434

A line oset table for this le would be:

86 1 13 33 55 = = = = customer_id name address phone

CHAPTER 6. USING MARKUP

This example would take whatever is found from line osets 1 to 12 and place it in the objects customer id attribute, and so on to the end of the line. Field Order The eld order type is for delimited les with a record on each line, such as CSV les, in which the order of elds doesnt match the order in the Plato object. For example, the le might look like: 12345","Jones, Bob","123 Elm Street","555-1212 23456","Miller, Bill","234 Oak Street","555-2323 34567","Smith, Jack","345 Ash Street","555-3434 where customer ID is the rst eld, followed by name, address, then phone number. But the Plato object might have its attributes placed in a dierent order, such as: Name phone address customer_id A eld order table for this le would then be: 2 4 3 1 = = = = name phone address customer_id

6.5. IMPORTERS Field Length

87

The eld length type is for binary les that contain xed-length records of known length and sequence. Markup Denitions Markup denitions dene how the le is to be parsed. Denitions may be line osets, delimiter characters, or specied markup. In the following examples note that string constants are often used instead of literal strings. Tags that are line osets: These tags apply only when the le will be parsed line by line. Fields are dened by line osets listed in the oset table (see below). Tags that are delimiter characters: These tags also apply only when the le will be parsed line by line. Fields are dened by the listed delimiter. If quotes are used as part of the delimiter, this is indicated in the choice of tag name. Example:

delimiter

= ,; \

Note that the delimiters in the two examples are the same, but quotes will be treated as delimiters in the second. Tags that are specied delimiters: Tags may be specied that dene the start and end of records and elds. Record tags: These dene the start and the end of a block that is to be treated as a record. Example:

record_start record_end

= [ = ]

If the end of block marker is omitted, the end of block is assumed to be the next start of block marker. Example:

record_start

= \L 500

88

CHAPTER 6. USING MARKUP

You can list multiple record starts and ends. Field tags: These dene the start and end of a eld, and how to dierentiate the eld name from the eld contents. Example: field_start field_end field_seperator = = = \&[start_of_line] \&[end_of_line] =

String constants String constants for use in parse scripts (acsii values shown are decimal): Instruction &start of line &end of line &end of para &end of le &null &tab &page &space &quote &comma &control &normal &extended &numeric &alpha &punctuation Explanation start of line, i.e., the rst character following the end of the previous line. end of line, i.e., a carraige return (CR), line feed (LF) combination. end of paragraph, i.e., two [CR)(LF) combinations in a row. end of le (this is the end of le CONDITION, not the end of le character) null character (ascii 0) tab character (ascii 9) page (form feed) character (ascii 12) space character (ascii 32) quote character (ascii 34) comma character (ascii 44) all control characters (ascii 0 to 31) all normal text characters (ascii 32 to 126) all extended characters (ascii 127 to 255) all numeric characters (ascii 48 to 57) all alpha text characters (ascii 65 to 90, and 97 to 122) all punctuation characters (ascii 32 to 47, 58 to 64, 91 to 96, and 123 to 126)

6.5. IMPORTERS Parsing command statements Instruction parse mode oset table

89

trace braces

Explanation Keyword that that indicates how the le will be parsed (in blocks or line by line) Keyword that indicates how the oset table will be used. Values are: none = oset table not used oset = table contains le osets eld length = table contains eld lengths eld order = table contains desired eld order Character pairs that are used as braces. These are used to determine if the braces are properly matched when used in conjunction with eld delimiters.

Field delimiters Field delimiters dene where elds strart, end, and are divided. Some le formats will not use them all. The CSV format, for instance, only uses a eld end delimiter (a comma) and sometimes uses eld brace delimiters (quotation marks), but never uses a eld seperator delimiter. XML uses a paired syntax to delimit eld data, so uses both eld start and eld end delimiters, but not eld seperator delimiters. Instruction eld start eld end eld seperator eld braces record start record end strip from block strip from eld Explanation String that indicates the start of a eld String that indicates the end of a eld String used to seperate the eld name from the contents of the eld Same as delimiter, except that the text between delimiters will be contained in quotes String that indicates the beginning of a record String that indicates the end of a record String of characters to strip from a block BEFORE parsing it String of characters to strip from a eld AFTER parsing it

90 Instruction strip from note

CHAPTER 6. USING MARKUP Explanation String of characters to strip from a note AFTER parsing block

6.6

Exporters

Exporters are a variety of markup that allows you to build templates for exporting database objects. Like other forms of markup, exporters have no restrictions on content, but there are a few formatting conventions that must be observed. |file_head| |class_lib_start| |attributes_start| |attributes| |class_start| |classes| |class_lib_end| |database_start| |object_start| |fields| |object_end| |database_end| |file_tail| Heres a sample exporter that will export Plato data to an XML le (not a very useful onethis is just a simple example to give you the idea!).

|file_head| [?xml version="1.0"?]

6.6. EXPORTERS

91

[database name="%db_title%"] |class_lib_start| [plato_classes] |attributes_start| [attributes] |attributes| [attribute] [field_ID][attribute_id]//field_ID] [field_name][attribute_name]//field_name] [description][attribute_description]//description] [field_type][attribute_type]//field_type] [field_attributes][attribute_attributes]//field_attributes] //attribute] |class_start| //attributes] [classes] |classes| [class] [class_ID][class_id]//class_ID] [class_name][class_name]//class_name] [description][class_description]//description] [action][class_action]//action] [category][class_category]//category] [field_list][class_field_list]//field_list] [class_attributes][class_attributes]//class_attributes] //class] |class_lib_end| //classes] //plato_classes] |database_start| [database_objects] |object_start| [object] [object_ID][object_id]//object_ID] [object_class][object_Class]//object_class] |fields| [field] [field_name][field_name]//field_name]

92

CHAPTER 6. USING MARKUP

[field_content][field_content_expanded]//field_content] [field_content_raw][field_content_raw]//field_content_raw] //field] |object_end| //object] |database_end| //database_objects] |file_tail| //database]

6.7

Auto-enumeration

Auto-enumerator markup creates auto-enumeration schema for use in scripts. See 7.14 for details on the autoenumeration editing pane. Auto-enumeration schema are of two types: autoenumeration with formatting and autonumeration without formatting.

6.7.1

Auto-enumeration with formatting

Auto-enumeration with formatting is for plain text documents that have no formatting markup associated with them. Auto-enumeration formula will supply the specied paragraph indents and margins as well as the enuerators. Each auto-enumeration formula contains markup information for each level of nested content that may be encountered in a document. Each formula contains the following elds: 1. document right margin (for plain-text formatting) 2. Enumeration info for level 1: (a) level of nesting (1, 2, 3, 4 etc.) (b) Token (format with which to enumerate the paragraph, section, etc.) (c) Spaces to indent paragraph

6.7. AUTO-ENUMERATION (d) Width (in spaces) in which to embed the enumeration token. 3. Enumeration info for level 2: [etc.]

93

The # symbol in a token represents a number. Other characters are interpreted litrally. For example:

6.7.2

Auto-enumeration without formatting

Auto-enumeration without formatting is for RTF/HTML documents that have their own formatting markup but no auto-enumeration feature. For these documents you must place an auto-enumeration token ([#NUM]) in your markup at the location you want to numbering to appear. The autoenumeration formula will then look for auto-enumerator tokens and supply the correct paragraph or section numbers, but will not take care of formatting.

94

CHAPTER 6. USING MARKUP

Chapter 7 Screen Reference

7.1

Screen reference

What follows is a reference for all of Platos screens. Plato has over a hundred major and minor windows with which to manage its data. Screens are roughly divided into two major categories: 1. Screens with which to edit or otherwise manipulate objects in a database These are the screeens to edit database objects, concordances, cross references, category systems, pick lists, and other miscellaneous settings. 2. Screens with which to manage other system data that doesnt reside in a database. These are screens to manage class libraries, database lists, messages, and system conguration settings. The following gure shows all the Plato screens and how they are related to one another. The number to the right of each box is the section of this screen reference where you will nd detailed information about the screen. 95

96

CHAPTER 7. SCREEN REFERENCE

Screenshot 19 Plato family of screens

7.2. CLASS LIBRARY, MAIN SCREEN

97

7.2

Class library, main screen

Screenshot 20 Class library, main screen

Description Parent screen

Work area for Plato class libraries Database, Database list

The class library window is where you can create new object classes and edit existing classes, as well as create and edit class attributes, and markup. The window is organized as follows: Class, attribute, markup selector Drop down list that allows you to navigate between the object class list, the class attribute list, and the markup list. Toolbar Contains buttons for the following common functions:

98

CHAPTER 7. SCREEN REFERENCE Class library Properties Click to open the class library properties dialog. Allows you to edit them. Save class library Click to save the class library. The button is disabled until changes have actually been made to the class library. View eects on database Click to view changes to the database that will occur as a result of your class library edits. Select class library for copy If you have selected classes, attributes, or markup for copy to another class library, this toolbar item (a bridge) will be lit. Click it to select a target class library. Toggle connections/changes display Clicking this toggles between the connections display and the changes display at the lower left. Filters Allows you to lter a large list of items to make it more manageable. Filters are: 1. Object classes catagory, action type, and classes that are unused 2. Attributes data type, belonging to object class 3. Markup markup type, markup family List of item List that displays all the object classes, attributes, or markup items in the library. Cross reference/changes list Lists that display where the selected object class is used. One list displays the databases in which the object class is used; the other list displays the instances of the object class in the current database. Editing pane This pane displays the various elds that allow you to edit object classes, attributes, or markup.

7.3. CLASS LIBRARY, SETTINGS

99

7.3

Class library, settings

Screenshot 21 Class library, settings

Description Parent screen

displays class library settings for editing class library

This pane displays some general class library settings. These settings control the class library description, le format, and security. To save any changes you make here, click the save button at the bottom left of the window. Title Mandatory text eld. Descriptive title for the class library that will appear in the class library list. Description Optional text eld. A more verbose description of the class library. Save library as memory image Toggles the format of the class library from plain text to memory image. The memory image format

100

CHAPTER 7. SCREEN REFERENCE is more compact and loads very quickly, but is unreadable except by Plato . Text is slower but can be read by any text editor (and edited, if you know exactly what you are doing).

Class library statisticsThis is a read-only eld that displays the following class library stastistics: 1. Number of object classes 2. Number of class attributes 3. Number of markup items 4. Number of object classications Security SettingsOn the right hand side of the window are several sets of security settings. The security parameter in listed in the drop down list abaove the checkmark list. Checking items in the checkmark list will enable the selected security parameter for the checked item. Security parameters are as follows: 1. Mandatory object attributes Items checked here become mandatory attributes for any object classes you create (i.e., you will not be allowed to create a new object without this minimum set of attributes). 2. Protect from delete (objects) Items checked here are object classes that cannot be deleted. 3. Protect from edit (objects) Items checked here are object classes that cannot be edited. 4. Protect from delete (attributes) Items checked here are object attributes that cannot be deleted. 5. Protect from edit (attributes) Items checked here are object attributes that cannot be edited. 6. Protect from delete (markup) Items checked here are markup items that cannot be deleted. 7. Protect from edit (markup) Items checked here are markup items that cannot be edited.

7.4. CLASS LIBRARY, CATEGORIES

101

7.4

Class library, categories

Screenshot 22 Class library, categories

Description Parent screen

displays categories for editing class library

This pane displays elds for editing categories. The current categories are displayed in tree view at left. Two levels of subcategories are allowed. To edit an existing entry, click on the entry in the tree view. The following elds are displayed at the right: 1. Catergory name Enter a descriptive name for the category. 2. Subcategory of If the selected entry is a subcategory of another classication, the parent classication will be listed here. Change the parent

102

CHAPTER 7. SCREEN REFERENCE by selecting another one from the drop down list.

To accept changes, click change. To add a new classication based on your edits, click add. To delete the selected classication, click delete.

7.5. CLASS LIBRARY, CHANGE IMPACT

103

7.5

Class library, change impact

Screenshot 23 Class library, change impact

Description

displays impact of changes

104 Parent screen class library

CHAPTER 7. SCREEN REFERENCE

This pane displays the impact of class library changes to the current database. This lets you think twice about making extensive changes by seeing what they will do to existing records. The screen consists of the following elements (top to bottom): 1. Short description of changes (top left). 2. Return to class library button (top right). Click to close window and return to the class library. 3. Drop down list of changed object classes. Click and select the object class to view. 4. List of changed database objects matching the selected object class. Click to look at the database object. 5. Attributes of selected database object. Here you can see what each changed object looks like in detail. Note that this only displays raw datacross reference links are not resolved, etc.

7.6. CLASS LIBRARY, TRANSFER

105

7.6

Class library, transfer

Screenshot 24 Class library, transfer

Description Parent screen

displays transfer target class library

106

CHAPTER 7. SCREEN REFERENCE

This pane displays other class libraries to which you may transfer tagged object classes, attributes, or markup. Select the target class library and click copy to complete the transfer.

7.7. CLASS LIBRARY, OBJECT CLASSES

107

7.7

Class library, object classes

Screenshot 25 Class library, object classes

Description Parent screen

displays object classes for editing class library

This pane displays elds for conguring an object class. See 8.4.1 for details on object class elds. The following elds are available: 1. Class Name Mandatory text eld; spaces are automatically converted to underscores by Plato . 2. Class Description Optional text eld. 3. Class Action Type Mandatory pick list eld, pick from a list of valid action types. 4. Class Note Format Mandatory pick list eld. 5. Class External Editor Field is only visible for classes with actions involving external programs. Pick list of Plato editors.

108

CHAPTER 7. SCREEN REFERENCE

6. Class Field Attributes Mandatory list eld; invokes add elds dialog to pick Plato eld attributes. 7. Class Description Template Optional text eld.

7.8. CLASS LIBRARY, CLASS ATTRIBUTES

109

7.8

Class library, class attributes

Screenshot 26 Class library, class attributes

Description Parent screen

displays class attributes for editing class library

This pane displays elds for conguring a object class attribute. See 8.4.3 for details on object class attribute elds. The following elds are available: 1. Attribute Name Mandatory text eld; spaces are automatically converted to underscores by Plato . 2. Attribute Description Optional text eld. 3. Attribute Data Type Mandatory pick list eld, pick from a list of valid data types. 4. Special Attributes There are a number of special attribute elds that may appear depending on the selected data type.

110

CHAPTER 7. SCREEN REFERENCE

7.9

Class library, markup

Screenshot 27 Class library, markup

Description Parent screen

displays markup for editing class library

This pane displays elds for conguring markup tags. See ?? for details on markup tag elds. The following elds are available: 1. Markup Name Mandatory text eld; spaces are automatically converted to underscores by Plato . 2. Markup Description Optional text eld. 3. Markup Family Mandatory pick list eld, pick from a list of valid markup families. 4. Markup Type Mandatory pick list eld, pick from a list of valid markup types. 5. Attach to Object Class Select an object class with which the markup will be associated. Select any if the markup can be applied to any object class.

7.9. CLASS LIBRARY, MARKUP

111

6. Markup Text Read-only view of the markup text. To edit the markup, click the edit markup button.

112

CHAPTER 7. SCREEN REFERENCE

7.10

Class library, markup editor, tags

Screenshot 28 Class library, markup editor, tags

Description Parent screen

displays markup editor for tags class library

This pane displays the markup editor congured for markup tags. Here are the screen elements: Paired Tag selector At the top is a dropdown list allowing you to select Tag A or Tag B. The dropdown list is only applicable to paired tags; for single tags it is disabled. Save button To the right of the drop down list is the save button. Click this to save your changes. When you click the save button, Plato

7.10. CLASS LIBRARY, MARKUP EDITOR, TAGS

113

will rst check the markup to see if you are referencing valid attributes. If it nds errors, it displays them in the error pane (which will appear in orange below the markup edit pane) and will not save the changes until you correct them. Editing pane Below the paired tag selector is the editing pane. This is where you will type (or cut and paste) the text of your markup. The edit pane is a simple plain-text editor, and supports basic functions such as insert, delete, cut, copy, and paste. It will not accept rich text. Tag Generator The right portion of the markup pane is the tag generator. You can use it to assemble and insert Plato attribute tags in the correct format. The elements of the tag generator are as follows: 1. Markup code type A markup code may be: (a) No formatting The Plato attribute will be inserted into the markup exactly as it is found. (b) Use Formatting You may apply word wrap and other text enhancements to the attribute before it is inserted in the markup. (c) No formatting, xed-length eld The attribute will be inserted into a space the length of which you set using the length parameter. If the attribute is longer than the space, it will be truncated; if shorter, the gap will be padded with spaces. Length may be any value from 1 to 121. 2. Select class attribute This is where you select the attribute whose contents will be inserted in place of the code. The attributes you have to choose from depend on the object class you will attach the markup to. If youve chosen a class, only its attributes will appear in the list. If youve chosen any class, all the atributes in the class library will appear here. In addition, three special attributes will always appear here: @note (for the content of an objects note), @cluster (for the contents of an objects multi-dimensional cluster data), and @script (for the content of an objects script). 3. Apply word wrap Checking this box activates the word wrap margin parameters. Word wrap will only be enabled, though,

114

CHAPTER 7. SCREEN REFERENCE when the dierence between the right and left margins is at least 25 characters. If you set the left margin to a value greater than zero, the space between zero and the left margin will be padded with spaces for each line. 4. Margins (left and right) Set the margins using these drop-down lists. Margins may be any value from 0 to 120, so long as right margin - left margin ]= 25. 5. No indent rst line If you have specied a left margin greater than zero, checking this box will force the left margin of the rst line to be zero. 6. Strip extra spaces Forces Plato to elminate all strings of two or more consecutive spaces. 7. Strip CR/LFs at line ends Forces Plato to eliminate all single carriage return/line feed (CR/LF) pairs. If Plato nds two adjacent CR/LFs, it will assume they are an end-of-paragraph marker and wont strip them.

Code Snippet Box and Insert Button A copy of the code snippet is assembed here for your viewing as you change the various markup parameters. Click the insert button to insert the code snippet into the markup text at the current insertion point.

7.11. CLASS LIBRARY, MARKUP EDITOR, SWAP LISTS

115

7.11

Class library, markup editor, swap lists

Screenshot 29 Class library, markup editor, swap lists

Description Parent screen

displays markup editor for swap lists class library

This pane displays the markup editor congured for swap lists. Here are the screen elements: Paired Tag selector The paired tag selector is only applicable to tags; for swap lists it is disabled. Save button To the right of the drop down list is the save button. Click this to save your changes. When you click the save button, Plato will rst check the swap list for formatting errors (it does not check for

116

CHAPTER 7. SCREEN REFERENCE content-thats up to you!). If it nds errors, it displays them in the error pane (which will appear in orange below the markup edit pane) and will not save the changes until you correct them.

Editing pane Below the paired tag selector is the editing pane. This is where you will type (or cut and paste) the text of your swap list. The edit pane is a simple plain-text editor, and supports basic functions such as insert, delete, cut, copy, and paste. It will not accept rich text. Macro generator The right portion of the markup pane is the macro generator. Plato macros are special codes that are transformed into preassigned text when the script is run. The standard Plato macros represent special characters that would otherwise be dicult to use or interpret in the markup. See xxx for more information on macros. The macro generator provides access to the standard Plato macros and lets you insert them into the swap list. The elements of the macro generator are as follows: 1. Macro list List of Plato macros that may be inserted in to swap lists. 2. insert button Click this to insert the macro at the cursor position in the editing pane.

7.12. CLASS LIBRARY, MARKUP EDITOR, IMPORTERS

117

7.12

Class library, markup editor, importers

Screenshot 30 Class library, markup editor, importers

Description Parent screen

displays markup editor for importers class library

This pane displays the markup editor congured for importers. Here are the screen elements: Paired Tag selector The dropdown list is only applicable to paired tags; for importers it is disabled. Save button To the right of the drop down list is the save button. Click this to save your changes. When you click the save button, Plato will rst check the markup to see if everything is formatted correctly.

118

CHAPTER 7. SCREEN REFERENCE If it nds errors, it displays them in the error pane (which will appear in orange below the markup edit pane) and will not save the changes until you correct them.

Editing pane Below the paired tag selector is the editing pane. Import markup is entirely menu-created so everything in the editing pane is written by Plato in accordance with the importer menu settings. Importer Generator The right portion of the markup pane is the import code generator. You will use it to assemble import instructions in the correct format. The main elements of the tag generator are selected using the option buttons. The elements are instructions, markup descriptions, and list specications. For a more detailed discussion of importers and how they work, see xxx. Instructions Instructions tell the importer how it is to behave. 1. 2. 3. 4. 5. 1. 2. 3. 4. Block mode Block composition Block markers Field mode Field name mode Markup keywords Markup denition Add, change, delete buttons Markup list

Markup descriptions

List specications 1. Table type 2. Field sequence value

7.13. CLASS LIBRARY, MARKUP EDITOR, EXPORTERS

119

7.13

Class library, markup editor, exporters

Screenshot 31 Class library, markup editor, exporters

Description Parent screen

displays markup editor for exporters class library

This pane displays the markup editor congured for exporters. Here are the screen elements: Paired Tag selector The dropdown list is only applicable to tags; for exporters it is disabled. Save button To the right of the drop down list is the save button. Click this to save your changes. When you click the save button, Plato will rst check the markup to see if you are referencing valid attributes.

120

CHAPTER 7. SCREEN REFERENCE If it nds errors, it displays them in the error pane (which will appear in orange below the markup edit pane) and will not save the changes until you correct them.

Editing pane Below the paired tag selector is the editing pane. This is where you will type (or cut and paste) the text of your markup. The edit pane is a simple plain-text editor, and supports basic functions such as insert, delete, cut, copy, and paste. It will not accept rich text. Export Tag Generator The right portion of the markup pane is the export tag generator. Although it looks the same as the markup tag generator, it is dierent in a couple of respects. You can use it to assemble and insert Plato attribute tags in the correct format. The elements of the tag generator are as follows: 1. Markup code type A markup code may be: (a) No formatting The Plato attribute will be inserted into the markup exactly as it is found. (b) Use Formatting You may apply word wrap and other text enhancements to the attribute before it is inserted in the markup. (c) No formatting, xed-length eld The attribute will be inserted into a space the length of which you set using the length parameter. If the attribute is longer than the space, it will be truncated; if shorter, the gap will be padded with spaces. Length may be any value from 1 to 121. 2. Select class attribute This is where you select the attribute whose contents will be inserted in place of the code. Exporters use a dierent set of attributes that markup tags. Exporter attributes are divided between object class tags and database object tags. (a) Object Class attributes These are for exporting object class data from the database. i. class id Unique, Plato assigned ID for the object class ii. class name Object class name, as entered in class library iii. class description Object class description, as entered in class library

7.13. CLASS LIBRARY, MARKUP EDITOR, EXPORTERS

121

iv. class action Class action (action code, not the description) v. class category Class category vi. class eld list List of class attributes, given as the raw attribute ID list. vii. class attributes List of additional class attributes, given as attribute name = value viii. attribute id Unique, Plato assigned ID for thr attribute ix. attribute name Attribute name, as entered in class library x. attribute description Attribute description, as entered in class library xi. attribute type Attribute type (type code, not the desription) xii. attribute attributes List of additional attributes, given as attribute name = value (b) Database attributes These are for exporting object data from databases. i. object id Unique, Plato assigned ID for the database object ii. object Class Object class code for the object iii. note Full text of the note eld iv. script Full text of the script v. clusters Full text of multidimensional cluster data vi. word refs Unique work list for the object, if present vii. xrefs All xrefs to the object, given as object row/object ID/xref type codes viii. eld name Name of object attribute ix. eld content raw Content of object attribute, raw form x. eld content expanded Content of object attribute, expanded form 3. Apply word wrap Checking this box activates the word wrap margin parameters. Word wrap will only be enabled, though, when the dierence between the right and left margins is at least

122

CHAPTER 7. SCREEN REFERENCE 25 characters. If you set the left margin to a value greater than zero, the space between zero and the left margin will be padded with spaces for each line. 4. Margins (left and right) Set the margins using these drop-down lists. Margins may be any value from 0 to 120, so long as right margin - left margin ]= 25. 5. No indent rst line If you have specied a left margin greater than zero, checking this box will force the left margin of the rst line to be zero. 6. Strip extra spaces Forces Plato to elminate all strings of two or more consecutive spaces. 7. Strip CR/LFs at line ends Forces Plato to eliminate all single carriage return/line feed (CR/LF) pairs. If Plato nds two adjacent CR/LFs, it will assume they are an end-of-paragraph marker and wont strip them.

Code Snippet Box and Insert Button A copy of the code snippet is assembed here for your viewing as you change the various markup parameters. Click the insert button to insert the code snippet into the markup text at the current insertion point. Exporter labels Below the code snippet box is a drop-down list of exporter labels. Click the insert button to insert the selected label at the current insertion point in the markup text.

7.14. CLASS LIBRARY, MARKUP EDITOR, AUTOENUMERATORS123

7.14

Class library, markup editor, autoenumerators

Screenshot 32 Class library, markup editor, autoenumerators

Description Parent screen

displays markup editor for autoenumerators

This pane displays elds for conguring autoenumerators. See ?? for details on autoenumerator elds. The following elds are available: Paired Tag selector The dropdown list is only applicable to paired tags; for autoenumerators it is disabled. Save button To the right of the drop down list is the save button. Click this to save your changes. When you click the save button, Plato

124

CHAPTER 7. SCREEN REFERENCE will rst check the markup to see if everything is formatted correctly. If it nds errors, it displays them in the error pane (which will appear in orange below the markup edit pane) and will not save the changes until you correct them.

Editing pane Below the paired tag selector is the editing pane. Autoenumerator markup is entirely menu-created so everything in the editing pane is written by Plato in accordance with the autoenumerator menu settings. Autoenumerator Generator The right portion of the markup pane is the autoenumerator code generator. You will use it to assemble autoenumerator instructions. Instructions are as follows: 1. Auto-enumeration type Select the autoenumerator type. Two types are available: (a) Enumerate and format document (b) Enumerate only 2. Right margin Sets the right margin for formatted auto enumerators. This eld is not available for unformatted autoenumerators. 3. Token list List of the enumerator token you create, listed in order of nesting level. 4. Action buttons These buttons are used to add, change, or delete enumerator tokens. (a) Add (b) Change (c) Delete 5. Nesting level Nesting level for the token. 6. Enumerator token The token used to expand the enumerator. 7. Paragraph indent The indent (in spaces) for the enumerated paragraph. Used to format indented paragraphs. This eld is not available for enumerate only. 8. Token block width The width (in spaces) of the entire token block. Used to format indented paragraphs. This eld is not available for enumerate only.

7.15. DATABASE, MAIN SCREEN

125

7.15

Database, main screen

Screenshot 33 Database, main screen

Description Parent screen

Work area for Plato databases none

The database window is where Plato databases are displayed, and where you will be working most of the time. Its a three-pane window: the left pane is where views and lookups are displayed. The top right pane is where the contents of folders are displayed. The bottom right pane is where the contents of the selected folder objects is displayed. Youll notice that there are other minor elements: colored captions, icons, and menus. Heres a complete description of the database window: Title bar: This is the bar at the very top of the window. From left to right you will see the Plato icon and name, the tile of the open database

126

CHAPTER 7. SCREEN REFERENCE in brackets, and (at the far right) the window minimize, restore, and close buttons.

Menu bar: Immediately below the title bar is the menu bar, which contains Plato s pull-down menu system. More on this later. Toolbar: Immediately below the menu bar is the tool bar. The tool bar accesses the following features (left to right): Save database button: When the database has changes that need to be saved, this button turns black. Pressing the button saves the database. Open database list button: Opens the database list window, from which you may open databases, edit information about the databases, edit database ling categories, or delete databases. Database Dropdown selector: Select and load a database from the dropdown list. Previous Folder Button: Load the previous folder. Folder Stack Dropdown List: Select a load a folder from the list of previously loaded folders. Search Button: Opens the search window. Category Editor Button: Opens the category editor window. Database Properties Button: Opens the database properties window. Class library editor button: Opens the class library currently in use. Folder Properties Button: Opens the folder properties window. File Management Button: Opens the le management window. Applications Button: Opens the list of Plato helper applications Scratchpad Button: Opens the scratchpad window System Conguration Button: Opens the system conguration window.

7.15. DATABASE, MAIN SCREEN View Pane The view pane contains

127

Database status chat Displays statistics about the database: number of objects, objects changed, etc. View/lookup/image/scripts selector Selects the pane view: database views, lookups, image display, or script list Folder/lookup dropdown selector Allows selection of one of the following lookup categories: folder history, bookmarks, lists, pick lists, instances of object classes, word lookup in note, word lookup in concordance, list of unique words in selected object, list of cross references for selected object, list of hyperlinks for selected object, and scripts. View/lookup display Displays the relevant content for selected lookup category (more on this in section 33455) Folder Pane

128

CHAPTER 7. SCREEN REFERENCE

7.16

Database, view pane (folders)

Screenshot 34 Database, view pane (folders)

Description Parent screen

view database folders database

The folder views are selected via the drop-down list at the top of the pane (click the drop-down list to drop down the other items in the list). Select Plato folders and other views. Below this list appears another drop downlist with three entries: folders, scratch folders, and object class indexes. Each

7.16. DATABASE, VIEW PANE (FOLDERS) of these entries is explained below.

129

Folders This selection allows you to view the folders hierarchy (shown in screenshot, above). Using the pop up menu, you can also create new folders, modify existing folder properties, delete folders, and manually sort the folder list. Functions available through the pop up menu: 1. Properties Opens the folder properties pane and allows you to edit them. See xxx. 2. New folder Opens a dialog to create a new folder. The new folder dialog allows you to name the folder and optionally use a another folder as a template when you create it. If you select a template folder, all the properties of the template folder will be copied to the new folder. If a template folder has not been selected, the currently selected folder in the tree pane will be selected as a template. 3. Sort folders Manually sorts the folder list in alphabetical order. 4. Expand all levels Nested folders are normally hidden under their parent folder; clicking on the plus sign to the left of the folder icon will display them. Checking expand all folders will display all child folders. 5. Display as map Displays the folder hierarchy as an cross reference map. (see 7.47). 6. Delete Deletes the selected folder. Scratch folders This selection (not shown) allows you to view scratch folders Object class indexes This selection (not shown) displays a list of all the object classes in use in the current database. Double-clicking on an object class will create a scratch folder displaying all of the database objects of that class.

130

CHAPTER 7. SCREEN REFERENCE

7.17

Database, view pane (categories)

Screenshot 35 Database, view pane (categories)

Description Parent screen

view database categories database

This pane allows you to view and edit categories. Categories are always visually tagged with cat iconsFelix the Cat, in this case. The drop down list at the top of the pane contains a list of the available catergory families. When you select one all the categories in the family will

7.17. DATABASE, VIEW PANE (CATEGORIES)

131

be displayed in the tree list. When you double click on a category all the records associated with thr category will be displayed in a scratch folder. The following functions are available in the pop up menu (right-click the mouse from within the tree pane): Link category to current record Click on this to link the selected category to the selected object in the folder. If the folder object is already attached, this entry will say detach category from current record and clicking it will detach the object. Link to open bookmark If you have a bookmark editing window open this selection will be activated; otherwise it will be greyed out. Click to link the open bookmark to the category. If the bookamrk is already attached, this entry will say detach category from open bokmark and clicking it will detach the bookmark. add, rename, delete categories Click to open the category editing window. See xxx. Include child hierarchy in results Click on this to include results from all levels beneath the category you clicked. Include related words in result If the category has related words, include all objects associated with the related words. Display as map Displays the entire family of categories as a hierarchical map in Plato s output pane. Expand all levels Opens all entries with sub-entries so that the entire hierarchy is displayed at once. Refresh categories Rebuilds and redisplays the category list.

132

CHAPTER 7. SCREEN REFERENCE

7.18

Database, view pane (cross reference hierarchies)

Screenshot 36 Database, view pane (cross reference hierarchies)

Description Parent screen

view database cross reference hierarchies database

This pane allows you to view and edit cross reference hierarchies. Cross references are visually tagged with the following icons:

7.18. DATABASE, VIEW PANE (CROSS REFERENCE HIERARCHIES)133 Base node icon The base node is the object Pafrent icon Child icon The drop down list at the top of the pane contains a list of cross reference nodes youve browsed from within the cross reference hierarchy. Note that this history is reset whenever you select an object from the folder. The following functions are available in the pop up menu (right-click the mouse from within the tree pane): Hierachy properties Opens the pane for editing cross reference display settings. See 7.46. Display as map Displays the current hierachy as a map, in accordance with the current map display settings See 7.47.

134

CHAPTER 7. SCREEN REFERENCE

7.19

Database, view pane (multi-dimensional categories)

Screenshot 37 Database, view pane (multi-dimensional categories)

Description Parent screen

view database multi-dimensional categories database

7.20. DATABASE, VIEW PANE (FILES)

135

7.20

Database, view pane (les)

Screenshot 38 Database, view pane (les)

Description Parent screen

view subdirectories and les database

136

CHAPTER 7. SCREEN REFERENCE

7.21

Database, lookup pane (folders)

Screenshot 39 Database, lookup pane (folders)

Description Parent screen

lookup folder history database

7.22. DATABASE, LOOKUP PANE (BOOKMARKS)

137

7.22

Database, lookup pane (bookmarks)

Screenshot 40 Database, lookup pane (bookmarks)

Description Parent screen

lookup bookmarks database

138

CHAPTER 7. SCREEN REFERENCE

7.23

Database, lookup pane (lists)

Screenshot 41 Database, lookup pane (lists)

Description Parent screen

lookup lists database

7.24. DATABASE, LOOKUP PANE (CROSS REFERENCES)

139

7.24

Database, lookup pane (cross references)

Screenshot 42 Database, lookup pane (cross references)

Description Parent screen

lookup cross references database

140

CHAPTER 7. SCREEN REFERENCE

7.25

Database, lookup pane (validation lists)

Screenshot 43 Database, lookup pane (validation lists)

Description Parent screen

lookup validation lists database

7.26. DATABASE, LOOKUP PANE (HYPERLINKS)

141

7.26

Database, lookup pane (hyperlinks)

Screenshot 44 Database, lookup pane (hyperlinks)

Description Parent screen

lookup hyperlinks database

142

CHAPTER 7. SCREEN REFERENCE

7.27

Database, lookup pane (note search)

Screenshot 45 Database, lookup pane (note search)

Description Parent screen

lookup note search database

7.28. DATABASE, LOOKUP PANE (PARENT FOLDERS)

143

7.28

Database, lookup pane (parent folders)

Screenshot 46 Database, lookup pane (parent folders)

Description Parent screen

lookup parent folders database

144

CHAPTER 7. SCREEN REFERENCE

7.29

Database, lookup pane (words in object)

Screenshot 47 Database, lookup pane (words in object)

Description Parent screen

lookup words in object database

7.30. DATABASE, LOOKUP PANE (OBJECT WORD PROFILE)

145

7.30

Database, lookup pane (object word prole)

Screenshot 48 Database, lookup pane (object word prole)

Description Parent screen

lookup object word prole database

146

CHAPTER 7. SCREEN REFERENCE

7.31

Database, lookup pane (words in concordance)

Screenshot 49 Database, lookup pane (words in concordance)

Description Parent screen

lookup concordance words database

7.32. DATABASE, SCRIPTS PANE

147

7.32

Database, scripts pane

Screenshot 50 Database, scripts pane

Description Parent screen

scripts list database

148

CHAPTER 7. SCREEN REFERENCE

7.33

Database, graphics pane

Screenshot 51 Database, graphics pane

Description Parent screen

graphics view database

7.34. DATABASE, MAINTENANCE PANE

149

7.34

Database, maintenance pane

Screenshot 52 Database, maintenance pane

Description Parent screen

database maintenance Database

The maintenance pane allows you to run special database scripts that diagnose and correct certain problems that may arise. duplicate record check This utility scans the database for duplicate records. When a duplicate record is found, it is corrected by assigning

150

CHAPTER 7. SCREEN REFERENCE a new ID to the duplicate ID. Note that cross references for one of the records will be lost.

validate folder references This utility validates folder references and corrects them if they are wrong. If a reference cannot be validated or corrected it is deleted. check for lost folders This utility scans the database for duplicate records. When a duplicate record is found, it is corrected by assigning a new ID to the duplicate ID. Note that cross references for one of the records will be lost. compact cross references This utility compacts the cross reference table manually (The cross reference table is automatically compacted when it contains 1/5 empty space). validate cross references This utility validates cross references and corrects them if they are wrong. If a reference cannot be validated or corrected it is deleted. synch with class library This utility synchronizes all database object class tables with class library object class tables. check and repair bookmarks This utility validates all bookmarks and corrects them if they are wrong. If a bookmark cannot be validated or corrected it is deleted. rebuild class tables This utility rebuilds all object class tables (object classes, attributes, tags) from scratch. rebuild folder tables This utility rebuilds the folder table from scratch. rebuild descriptions This utility goes through the whole database and rebuilds each objects description eld. compact concordance This utility compacts the concordance manually. rebuild all word proles This utility rebuilds the word prole for each database object. This is a lengthy process that may take several minutes.

7.34. DATABASE, MAINTENANCE PANE

151

clear object access logs This utility resets all the folder access counters to zero and clears all the last accessed dates.

152

CHAPTER 7. SCREEN REFERENCE

7.35

Database, export pane

Screenshot 53 Database, export pane

Description Parent screen

export database objects Database

The database export pane allows you set the criteria for exporting objects from a database. From it you may select export templates, object classes to export, and the output le. To use the export pane: 1. Select the export template you want to use from the available script

7.35. DATABASE, EXPORT PANE

153

templates drop down menu near the top of the pane. If there are none to select, youll have to create one or more tempaltes in the class library. Export templates are a type of markup. See markup for details on export templates. 2. Select the object classes you want to export by checking the appropriate boxes in the select object classes to export list. 3. Enter the name of the output le for the export. You may type it directly in the target le for export eld or select a le from the le menu. 4. Click export to begin the export.

154

CHAPTER 7. SCREEN REFERENCE

7.36

Database, properties, description

Screenshot 54 Database, properties, description

Description Parent screen

datbasae properties, description Database

7.37. DATABASE, PROPERTIES, DISPLAY

155

7.37

Database, properties, display

Screenshot 55 Database, properties, display

Description Parent screen

database properties, display Database

156

CHAPTER 7. SCREEN REFERENCE

7.38

Database, properties, inheritance

Screenshot 56 Database, properties, inheritance

Description Parent screen

database properties, inheritance Database

7.39. DATABASE, PROPERTIES, VALIDATION

157

7.39

Database, properties, validation

Screenshot 57 Database, properties, validation

Description Parent screen

database properties, validation Database

158

CHAPTER 7. SCREEN REFERENCE

7.40

Database, properties, omit lists

Screenshot 58 Database, properties, omit lists

Description Parent screen

database properties, omit lists Database

7.41. DATABASE, PROPERTIES, BACKUPS

159

7.41

Database, properties, backups

Screenshot 59 Database, properties, backups

Description Parent screen

database properties, backups Database

160

CHAPTER 7. SCREEN REFERENCE

7.42

Concordance (main view)

Screenshot 60 Concordance (main view)

Description Parent screen da da da

Display concordance words Database

7.43. CONCORDANCE (SETTINGS)

161

7.43

Concordance (settings)

Screenshot 61 Concordance (settings)

Description Parent screen

Concordance settings Database

Concordance settings control how words are gathered, where they are gathered from, which words should be omitted, and how the concordance should behave. (See 8.2.1 for a more thorough reference to concordance settings. How words are gathered is determined by word delimiters, which

162

CHAPTER 7. SCREEN REFERENCE tell Plato where to look for the beginnings and ends of words. Basically, Plato considers anything between two delimiters to be a word. Typical delimiters are spaces, commas, periods, and other punctuation. Hyphens are dicult case because sometimes they are delimiters and sometimes part of a word. Checking smart hyphens will cause Plato to try to determine if any given hyphen is part of a word, and if so to ignore it as a delimiter. Special delimiters are

7.44. CONCORDANCE (STATISTICS)

163

7.44

Concordance (statistics)

Screenshot 62 Concordance (statistics)

Description Parent screen

Concordance statistics Database

164

CHAPTER 7. SCREEN REFERENCE

7.44.1

Concordanace settings, statistics

stats of last build Property type Related form

Database Concordance (See 7.44)

This read-only eld displays the results of the last full concordance build. It is a time stamped log of the concordance building process along with the relevant statistics. Here is an example: [16:43:22]: [16:43:59]: [16:43:59]: [16:43:59]: [16:44:04]: [16:44:14]: [16:44:14]: [16:44:14]: [16:45:07]: [16:45:07]: Began concordance build: [12-07-2008] Parsed 303,341 words from the database Collected 237,408 words Discarded 65,933 words (that were on the stop list) Sorted 237,408 words Compiled wordlist of 15,371 unique words and cross referenced them Built index to wordlist (507 entries) Worst case index performance: 679 tries out of 15,371 possible Reverse indexed 15,371 words (82,928 total instances binned) Completed build

current stats Property type Related form

Database Concordance (See 7.44)

7.44. CONCORDANCE (STATISTICS)

165

This read-only eld displays current concordance statistics. Here is an example: Concordance size Hapax Legomena Concordance slack Search index size Worst case search : : : : : 15,532 words 7,567 0 deleted words 508 entries 688 hits

Concordance size is the number of words in the concordance. Hapax legomena is the number of words that appear in only one object. Concordance slack is the number of deleted words in the concordance. Search index size and worst case search describe the size of the word index and the worst case performance speed with which any given word might be found (the actual speed will depend on the speed of your CPU).

word history Property type Related form

Database Concordance (See 7.44)

This read-only eld displays the time-stamped log of words added or deleted from the concordance. Here is an example:

[2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, This log is

09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]:

accepting (added) accrued (added) ACQUIRED (added) alter (added) alteration (added) counted (added)

166 word occurance statistics Property type Related form

CHAPTER 7. SCREEN REFERENCE

Database Concordance (See 7.44)

This read-only eld displays the time-stamped log of words added or deleted from the concordance. Here is an example: [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, This log is 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: accepting (added) accrued (added) ACQUIRED (added) alter (added) alteration (added) counted (added)

7.45. CONCORDANCE (PROFILES)

167

7.45

Concordance (proles)

Screenshot 63 Concordance (proles)

Description Parent screen

Concordance proles Database

da da da

168

CHAPTER 7. SCREEN REFERENCE

7.45.1

Concordanace settings, proles

7.46. CROSS REFERENCE DISPLAY (MAIN)

169

7.46

Cross reference display (main)

Screenshot 64 Cross reference display (main)

Description Parent screen

displaying cross references Database

At the top of the cross reference display pane is a drop-down list of the available xref displays, to the right of which are three buttons: save, save as new, and delete. The rest of the pane below this contains the all the settings for the selected display, which will change as you scroll through the drop

170

CHAPTER 7. SCREEN REFERENCE

down list of displays. Cross reference display settings are as follows: Description A brief description of the current display. This description is what will appear in the drop drown list. For use in scripts Checking this box will allow you to use the display settings in scripts. Cross reference types to display This is list of the available cross reference types. Check the ones you want to have appear in your display. If you dont check any of them, Plato will display general cross references as a default. object classes to exclude If there are object classes you want to exclude from the display, check them o here. Cross reference path The xref path species the direction in which cross references will be followed. The choices are: 1. Follow parent links This path starts at the selected object and follows back through its parents to the parents of its parents, and so on. 2. Follow child links This path starts at the selected object and follows forward to its children to the children of its children, and so on. Start hierarchy at The cross reference may start at one of the following: 1. Start at selection Starts at the selected object 2. Start at parent of selection Starts at the parent of the selected object (if there is oneotherwise it starts at the selected object). Levels to display The number of levels to display. For instance, if the path is to follow child links and youve selected to display four levels, the display will include: 1. The selected object 2. The select objects children

7.46. CROSS REFERENCE DISPLAY (MAIN) 3. The select objects childrens children 4. The select objects childrens childrens children Show siblings

171

Auto-open collapsed branches Branches at each level of the hierarchy are normally closed; that is, you have to click on a branch to see whats under it. Checking auto-open collapsed branches will force all branches to display fully open. Sort results Checking this will sort all objects within one branch in ascending alphabetical order. Restrict scope to current folder Checking this will force Plato to only display objects that are in the current folder. Normally the scope for displaying cross references is the entire database. The buttons do the following: Save Saves changes made to the set of display settings selected in the drop down list Save as new Creates a new set of settings and adds it to the dop down list of settings. Delete Deletes the selected set of display settings from the database.

172

CHAPTER 7. SCREEN REFERENCE

7.47

Cross reference display (maps)

Screenshot 65 Cross reference display (maps)

Description Parent screen

displaying cross reference maps Database

At the top of the cross reference display pane is a drop-down list of the available cross reference maps, to the right of which are three buttons: save, save as new, and delete. The rest of the pane below this contains the all the settings for the selected map, which will change as you scroll through the

7.47. CROSS REFERENCE DISPLAY (MAPS) drop down list of maps. Cross reference map settings are as follows:

173

Description A brief description of the current display. This description is what will appear in the drop drown list. Map Type Checking this box will allow you to use the display settings in scripts. Map Output This is list of the available cross reference types. Check the ones you want to have appear in your display. If you dont check any of them, Plato will display general cross references as a default. The buttons do the following: Save Saves changes made to the set of map settings selected in the drop down list Save as new Creates a new set of settings and adds it to the drop down list of settings. Delete Deletes the selected set of map settings from the database.

174

CHAPTER 7. SCREEN REFERENCE

7.48

Cross reference pane (assigning cross references)

Screenshot 66 Cross reference pane (assigning cross references)

Description Parent screen

Congures Plato cross references Database

7.48. CROSS REFERENCE PANE (ASSIGNING CROSS REFERENCES)175 The cross reference pane is invoked from the folder pop up menu: select cross references... The cross reference pane is actually a multi-function pane; from it you can manage cross references, move objects between folders or databases, or change an objects class. The pane has three sections (top to bottom): Action section: This where you select the action you wish to accomplish: Copy or move objects to another folder Copy or move objects to another database Add change or delete cross references Change the class of selected objects Flip the paretn/child relation of objects Clear all cross references of an object Object list section: This is the list of objects youve selected, which will be changed by the action you select. Result section: This is where you specify what is to be done the the list of objects, given the action you selected. The contenets of this pane will dier based on the action you selected.

176

CHAPTER 7. SCREEN REFERENCE

7.49

Cross reference pane (change object class)

Screenshot 67 Cross reference pane (change object class)

Description Parent screen da da da

Changes Plato object classes Database

7.50. SCRIPT PANE (SCRIPT NAME, TYPE)

177

7.50

Script pane (script name, type)

Screenshot 68 Script pane (script name, type)

Description Parent screen

Select script type and name Database

The script name and type screen contains the following elements: Script Type Scripts may be one of the following types: 1. nd and display in folder Selects objects according to the nd criteria you specify and displays the results in a scratch folder. 2. create formatted document Selects objects according the criteria you specify and attaches the mark up specify to create documents. The created documents may also be loaded into applications you specify using post-processing criteria. 3. nd and replace (no display) Selects objects according to the criteria you specify and makes the changes you specify.

178

CHAPTER 7. SCREEN REFERENCE

Script Name This is a descriptive name of the script with which it will be identied in the script list script notes This eld can contain verbose descriptive notes. It may be useful for summarizing the purpose or actions of complex scripts.

7.51. SCRIPT PANE (SCRIPT SCOPE)

179

7.51

Script pane (script scope)

Screenshot 69 Script pane (script scope)

Description Parent screen

dene script scope Database

The scope pane lets you determine which objects the script will select. Scope is determined by the data source, which object classes to include, and whether the script should descend through nested folders or follow cross reference hierarchies. Data Source The data source is always the current database; this setting determines how the script will access the database objects. Your choices are: 1. Selected object The object curently selected in the open folder. 2. Current folder All the objects in the currently open folder. 3. Selected folder All the objects in the folder selected from the drop down list.

180

CHAPTER 7. SCREEN REFERENCE 4. Database All the objects in the database.

Expand data Plato expands data for display in accordance with the formatting instructions for a given object attribute. For instance, Plato stores dates internally in the following format: 20091210. But depending on the date format youve assigned to a date class attribute, it might expand that to: December 10, 2009. If you leave this box unchecked, Plato will not expand the data. Object classes to include If you check any of the object clases on this list, the script will only select objects from the classes youve checked. Folders and cross references This section controls how 1. Descend folders 2. Descend cross references

7.52. SCRIPT PANE (SCRIPT OUTPUT)

181

7.52

Script pane (script output)

Screenshot 70 Script pane (script output)

Description Parent screen

Dene script output Database

This screen lets you determine where the output to the script will be sent. Destination Output can be sent to one of two destinations: 1. Plato output window When selected, a special pane will open up in the database form when the script completes and display the output of the script. 2. External program When selected, a drop down list will appear from which you a select an application to load and process the script output. The applications will be those youve added to Plato s editor list. See xxx. Output le The script output le can be one of the following:

182

CHAPTER 7. SCREEN REFERENCE 1. Plato standard output Plato standard output is a special le cross referenced to the script. The lename will consist of the script objects internal ID (a number in the form 22912211234780001) and the script lename extension (usually scr). This le will reside in the Plato output directory. 2. external le When selected, a eld will appear in which you may enter a lename of your choice. Next to the lename eld will be a browse button; click this to open a le dialog from which you may select existing les.

7.53. SCRIPT PANE (FIND AND REPLACE)

183

7.53

Script pane (nd and replace)

Screenshot 71 Script pane (nd and replace)

Description Parent screen da da da

Dene nd/replace criteria Database

184

CHAPTER 7. SCREEN REFERENCE

7.54

Script pane (markup templates)

Screenshot 72 Script pane (markup templates)

Description Parent screen da da da

Select script markup templates Database

7.55. SCRIPT PANE (MESSAGES)

185

7.55

Script pane (messages)

Screenshot 73 Script pane (messages)

Description Parent screen da da da

Display script status messages Database

186

CHAPTER 7. SCREEN REFERENCE

7.56

System conguration (colors)

Screenshot 74 System conguration (colors)

Description Parent screen

Allows colors to be congured for Platos main windows Database, system console

Plato screens are arranged in the hierarchical tree with their elements as branches. Select the element you want to change in the tree, then select the foreground and background colors from the edit pane below the tree. Clicking

7.56. SYSTEM CONFIGURATION (COLORS)

187

the apply button with change the screen colors for the current session only; clicking the save button will change the screen colors permanently (that is, until you change and save them again).

188

CHAPTER 7. SCREEN REFERENCE

7.57

System conguration (chat templates)

Screenshot 75 System conguration (chat templates)

Description Parent screen

Congures Plato chat templates Database, system console

Select the editor you want to change in the tree, then select the foreground and background colors from the edit pane below the tree. Clicking the apply button with change the screen colors for the current session only; clicking the save button will change the screen colors permanently (that is, until you

7.57. SYSTEM CONFIGURATION (CHAT TEMPLATES) change and save them again).

189

190

CHAPTER 7. SCREEN REFERENCE

7.58

System conguration (default lists)

Screenshot 76 System conguration (default lists)

Description Parent screen

Denes lists to be used in sorting and capitalization Database, system console

Default lists in this pane are some of the lists Plato uses to manage displays and the concordance. The lists given here will be inherited by newly created databases, where they may be congured in the database to meet specic needs.

7.58. SYSTEM CONFIGURATION (DEFAULT LISTS)

191

Omit Words for Sorting These are words that will be ignored when sorting objects in a folder. Concordance Omit Words These are noise words that will be discarded when bulding a concordance. Title Case Omit Words Sentences or phrases with title case will have every word capitalized, except for the words in this list. Title case omit words are typically articles and conjunctions but can be anything you want. When a title case omit word is bracketed, it means that the word will be capitalized exactly as shown in the brackets. This is useful for protecting acronyms from the title case rules. For instance, the list item [USA] will ensure that USA does not become Usa. Word Delimiters (standard Characters) Characters in the list will be used by Plato to distinguish words in sentence. Word Delimiters (non-standard Characters) Same as standard characters, except these are non-printable, non-displayable characters. Words per Page (for page counts) The number of words that constitute a page. Plato will use this value to calculate the number of pages in a note.

192

CHAPTER 7. SCREEN REFERENCE

7.59

System conguration (editors)

Screenshot 77 System conguration (editors)

Description Parent screen

Allows external applications to be congured for use by Plato Database, system console

How do I get here? From the database window, click the conguration bnutton on the toolbar, or select system settings from the system pulldown menu. From the system console menu, system: conguration from

7.59. SYSTEM CONFIGURATION (EDITORS)

193

the window list. The editor list displays the editors youve congured. As you scroll the list, the parameters for each editor will be displayed in the edit pane below the list. If the name of an editor is colored red on the list, it means that the le for the editor could not be found. Note that changes to the editor list cant de undone, so be careful! Editable attributes are as follows: Description The description is what will appear in all of the editor lists in the various Plato screens. For this reason it should clearly identify the editor and distinguish it from other editors. Filename This should be the executable le that launches the editor. Type it in if you know it or use the browse button to nd it. Arguments If you will be using any command line arguments to launch the editor, put them here. Use short lenames Check this box for DOS compatibility. When this box is checked, Plato will use the DOS eight-dot-tree lename convention when it pases lenames to the editor. Arguments after lename If you check this box, Plato will place arguments after the lename in the command line. This option accomdates varying command line conventions in applications. Consult the applications documentation to see which convention it prefers. To add a new editor, simple change the attributes for any existing editor and click add. To change attributes for an existing editor, select the editor from the list, make your changes, and click change. To delete an editor, select it from the list and click delete.

194

CHAPTER 7. SCREEN REFERENCE

7.60

System conguration (signatures)

Screenshot 78 System conguration (signatures)

Description Parent screen

Denes le signatures for use by Plato Database, system console

The signature list displays the signatures that came with Plato or that youve congured. As you scroll the list, the parameters for each signature will be displayed in the edit pane below the list. Note that changes to the signature list cant de undone, so be careful! Editable attributes are

7.60. SYSTEM CONFIGURATION (SIGNATURES) as follows:

195

Description The description is what will appear in all of the editor lists in the various Plato screens. For this reason it should clearly identify the editor and distinguish it from other editors. Signature Type Select the type of signature here. There are ve types: File extension File is identied by its le extension. Custom File is identied by a unique signature embedded within the le. Text File is a unidentied plain text le. Binary File is unidentied binary le. File extension Give the le extension here. If the le type can be identied by multiple le extensions, list them seperated by commas, such as doc, docx, wps. This eld is displayed only for le extension signature types. Start at oset Give the le oset where the signature starts. This eld is displayed only for custom signature types. Signature length Give the length of the signature in bytes or characters. This eld is displayed only for custom signature types. Signature Put the signature here. This eld will accept ASCII control characters and it may be necessary to copy the signature directly from the le and paste it here. This eld is displayed only for custom signature types. Editor Select the editor that will load the le here. To add a new signature, simply change the attributes for any existing signature and click add. To change attributes for an existing signature, select the signature from the list, make your changes, and click change. To delete a signature, select it from the list and click delete.

196

CHAPTER 7. SCREEN REFERENCE

7.61

System conguration (le templates)

Screenshot 79 System conguration (le templates)

Description Parent screen

Denes le templates for use by Plato Database, system console

The template list displays the templates that youve congured. As you scroll the list, the parameters for each template will be displayed in the edit pane below the list. Note that changes to the template list cant de undone, so be careful! Editable attributes are as follows: Description The description is what will appear in all of the template

7.61. SYSTEM CONFIGURATION (FILE TEMPLATES)

197

lists in the various Plato screens. For this reason it should clearly identify the template and distinguish it from other templates. Editor This is the editor that will be used to load and edit the template. Template File Type in the name of the template le here if you know it, or click the browse button to select a le from a directory. You may edit the selected template by clicking the edit template button. To add a new template, simply change the attributes for any existing template and click add. To change attributes for an existing template, select the template from the list, make your changes, and click change. To delete a template, select it from the list and click delete.

198

CHAPTER 7. SCREEN REFERENCE

7.62

System conguration (elements)

Screenshot 80 System conguration (elements)

Description Parent screen

Congures Plato conguration elements Database, system console

Select the editor you want to change in the tree, then select the foreground and background colors from the edit pane below the tree. Clicking the apply button with change the screen colors for the current session only; clicking the save button will change the screen colors permanently (that is, until you

7.62. SYSTEM CONFIGURATION (ELEMENTS) change and save them again).

199

200

CHAPTER 7. SCREEN REFERENCE

7.63

System conguration (messages)

Screenshot 81 System conguration (messages)

Description Parent screen

Congures messages and logs Database, system console

The message pane lets you specify how Plato displays and logs messages of various kinds. The settings are divided into two groups: progress and warning dialogs, and message capture and logging. Progress and Warning Dialogs

7.63. SYSTEM CONFIGURATION (MESSAGES)

201

Use Progress dialogs Check to enable, uncheck to disable. Progress dialogs pop up when Plato estimates that one of its operations might take a while to complete. The dialog shows how far along Plato is in the operation and gives an estimate of the time left to complete. If the operation can be cancelled, Plato will also display a cancel button and allow you to stop the operation if desired. Show progress pane when process will take longer than... Lets you set the estimated duration that triggers the progress dialog display. The value can be anything from always show to 30 seconds. Display warning dialog for the following... Check to enable, uncheck to disable. Lets you

202

CHAPTER 7. SCREEN REFERENCE

7.64

System conguration (paths)

Screenshot 82 System conguration (paths)

Description Parent screen

Congures Plato paths and le extensions Database, system console

Select the editor you want to change in the tree, then select the foreground and background colors from the edit pane below the tree. Clicking the apply button with change the screen colors for the current session only; clicking the save button will change the screen colors permanently (that is, until you

7.64. SYSTEM CONFIGURATION (PATHS) change and save them again).

203

204

CHAPTER 7. SCREEN REFERENCE

7.65

System conguration (report templates)

Screenshot 83 System conguration (report templates)

Description Parent screen

Congures Plato reporting templates Database, system console

Select the editor you want to change in the tree, then select the foreground and background colors from the edit pane below the tree. Clicking the apply button with change the screen colors for the current session only; clicking the save button will change the screen colors permanently (that is, until you

7.65. SYSTEM CONFIGURATION (REPORT TEMPLATES) change and save them again).

205

206

CHAPTER 7. SCREEN REFERENCE

7.66

System conguration (user variables)

Screenshot 84 System conguration (user variables)

Description Parent screen

Denes subdirectory variables for use in macros and by le management Database, system console

7.66.1

User Variables

This screen allows you to edit, add, and delete user variables. User variables

7.66. SYSTEM CONFIGURATION (USER VARIABLES)

207

7.66.2

Subdirectory Variables

Subdirectory variables allow you to create a named variable and assign a subdirectory path name to it. The displayed list shows three columns: variable type, variable description, and variable name. Desciption A description of the subdirectory variable; for example, Jims recipes. Variable name The name you want to give the variable; for example, recipes. Path Specication The path you want assigned to the variable. This should be an absolute path; for example: C:\Documents and Settings\Jim\My Documents\Jims recipes This eld is validated; you will have to enter a valid path that exists. To nd a valid path you may use the browse button to the right of the eld; press the button to get a list of all subdirectories. File lter The le lter determines which les will be displayed if the subdirectory is opened in a le list. The le lter should consist of standard DOS wildcard characters, such as: *.*, *.txt, mango*.doc. Display in subdirectory list If you check this box, the subdirectory will appear in Plato subdirectory lists.

7.66.3

Internal Variables

Internal variables allow you to create a named variable that displays one of Plato s internal registers. The displayed list shows three columns: variable type, variable description, and variable name. Desciption A description of the internal variable; for example, Database title. This example would display the title of the currently loaded database. This eld is validated; you may only pick a description thats displayed in the drop down list. Variable name The name you want to give the variable; for example, db title.

208

CHAPTER 7. SCREEN REFERENCE

7.66.4

Text Variables

Text variables allow you to create a named variable that displays one of Plato s internal registers. The displayed list shows three columns: variable type, variable description, and variable name. Desciption A description of the internal variable; for example, Database title. This example would display the title of the currently loaded database. This eld is validated; you may only pick a description thats displayed in the drop doen list. Variable name The name you want to give the variable; for example, db title.

Chapter 8 Properties Reference

8.1

Database Properties

Database properties are settings that dene how a database performs and displays. Some settings are assigned by Plato but most are user congurable. Each database has its own settings. Here are the categories of database settings:

Description These settings are various descriptions of the database; some are used as captions in the database scren Display and performance These settings control how folders are displayed, and how the database performace may be tweaked.

209

210

CHAPTER 8. PROPERTIES REFERENCE

8.1.1
title

Database settings: descriptive

Property type Related form

editable Database Properties (See 7.36)

This is the descriptive title for the database. It will be the primary description of the database that will appear in the database list and on the database windows control bar.

description Property type Related form editable Database Properties (See 7.36)

A more verbose description of the database that you may provide in addition to the database title. This property appears in the database list.

category Property type Related form editable Database Properties (See 7.36)

The database category is a way of classifying databases by subject matter or other criteria you may want to set up. Databases can them be dorted by catagory in the database list, or the database list can be ltered to display only databases of a certain category.

notes Property type editable

8.1. DATABASE PROPERTIES

211

Related form

Database Properties (See 7.36)

This may contain more detailed notes about the database. The eld is limited to 30K bytes of text. The content of this eld will by displayed in the about this database window

synch descriptions with db list Property type Related form editable Database Properties (See 7.36)

Setting this property will cause any changes to the database description elds to be synchronized with the same data in the database list (and vice versa).

reuse scratch Property type Related form editable Database Properties (See 7.36)

Toggle scratch reuse. When this property is checked, only one scratch folder will be created and every time a scratch folder needs to be used the previous contents of the folder will be replaced by new content. When this property is unchecked, a new scratch folder will be created each time one is required. See 12 for general information about scratch folders.

8.1.2

Database settings: display/performance

folder types to show Property type editable

212

CHAPTER 8. PROPERTIES REFERENCE

Related form

Database Properties (See ??)

This setting controls which folder types to display in the folder tree. Plato considers any object class with the open as folder action to be a potential folder. This setting displays all the object classes with open as folder actions and allows you to check the ones you want displayed in the folder tree. The default is folder.

rst folder to load Property type Related form editable Database Properties (See ??)

Stipulates the rst folder to load when the database opens. You may pick from a list of all available folders in the database. This setting only aects databases saved in text format; in memory-image format, Plato will automatically open the folder you had open when you last saved the database.

Default object display Property type Related form editable Database Properties (See ??)

This setting which object properties are rst displayed when you open the object view pane. Choices are notes and properties; the default is notes.

auto-select object display Property type Related form editable Database Properties (See ??)

8.1. DATABASE PROPERTIES

213

If the default object display is set to notes, this setting will override it if the note eld is empty, and display the objects properties instead.

performance: slack records Property type Related form editable Database Properties (See ??)

This setting controls the number of slack records the database will maintain.

8.1.3

Database settings: inheritance

default object class Property type Related form

Database Properties (See ??)

The default object class is used to determine

object class for clipboard imports Property type Related form

Database Properties (See ??)

template for normal folders Property type Related form

Database Properties (See ??)

214

CHAPTER 8. PROPERTIES REFERENCE

template for scratch folders Property type Related form

Database Properties (See ??)

use folder object class for clipboard imports Property type Related form

Database Properties (See ??)

8.1.4

Database properties: data validation

cross reference consistency Property type Related form editable Database Properties (See ??)

Checks to see if cross references correctly reference real objects in the database. If discrepancies are found, the function will attempt to correct them. If they cannot be corrected, they are deleted from the cross reference table.

class library consistency Property type Related form editable Database Properties (See ??)

Checks to see if database objects are consistent with the object classes in the class library. If there are newer versions of object classes in the class library,

8.1. DATABASE PROPERTIES the database will be updated with the newer versions.

215

folder validation Property type Related form editable Database Properties (See ??)

Checks to see if each folder item points to the correct record, and corrects the folder reference if possible. If the folder reference cant be resolved it is deleted. For large databases with big folders (i.e., hundreds or thousands of items) this check can be time consuming. The default setting is o (i.e., unchecked).

8.1.5

Database properties: omit lists

omit list for folder sorts Property type Related form editable Database Properties (See ??)

Works in this list are ignored when sorting items in a folder.

omit list for title case Property type Related form editable Database Properties (See ??)

Words in this list are dealt with specially when Plato determines the title case of a sentence or heading. Words listed here are not capitalized. Words listed

216

CHAPTER 8. PROPERTIES REFERENCE

here in brackets are treated literally. This is useful in preserving acronyms.

8.1.6

Database properties: le format/backups

always purge scratch before saving Property type Related form editable Database Properties (See ??)

Denes what to do with scratch folders when the database is saved. This setting has three options: always purge scratch before saving, never purge scratch before saving, and ask before purging or saving scratch.

backup lename extension format Property type Related form editable Database Properties (See ??)

Denes the lename format for database backups. When a database is saved, the previous version of the database is automatically saved as a backup. This format specication tells Plato how to format the le extension.

current backup count Property type Related form read-only Database Properties (See ??)

Displays the current number of backups for the current database. This is a read-only property.

8.1. DATABASE PROPERTIES keep notes in seperate les Property type Related form editable Database Properties (See ??)

217

When this property is checked, notes, scripts, and cluster data are stored in individual les seperate from the main database le.

number of backups to keep Property type Related form editable Database Properties (See ??)

This setting species the number of backups that will be maintained. When the maximum number of backups is reached, Plato will delete the oldest backup when a new backup is added to the list.

save database to format Property type Related form editable Database Properties (See ??)

This setting species the format in which the database will be saved. There are two choices: Text This is special plain text format that captures Plato records, cross references, notes, scripts, clusters, and settings in a modied comma seperated value format. This format is currently intended for manual debugging and can be slow to save and load, however it will allow you to edit the entire database in a text editor. See xxxx for the details of the text format. Memory Image This is Platos native format. It loads and saves very quickly but it can only be deciphered by Plato .

218 undo format Property type Related form This setting allows

CHAPTER 8. PROPERTIES REFERENCE

editable Database Properties (See ??)

8.1.7

Database properties: system

Database ID Property type Related form read-only Database Properties (See ??)

The database ID is automatically issued by Plato when the database is created. You cannot edit it.

class library to attach Property type Related form read-only Database Properties (See ??)

Each database must be attached to a class library. This property contains the ID of the class library the database is attached to.

le name Property type Related form read-only, hidden Database Properties (See ??)

8.1. DATABASE PROPERTIES

219

The lename of the database, as it would appear in a Windows directory display such as Windows Explorer.

old le name Property type Related form

Database Properties (See ??)

date last saved Property type Related form read-only Database Properties (See ??)

Date the database was last saved. This property is automatically assigned by Plato and you may not edit it.

lines in le Property type Related form read-only, hidden Database Properties (See ??)

Numer of lines in a text-format database. This number is determined when the database is saved.

history: target le Property type Related form read-only, hidden Database Properties (See ??)

This read-only eld contains the last few paths that were specied in the path dialog. Whenever you select a target le in the le management window, it

220 is saved

CHAPTER 8. PROPERTIES REFERENCE

history: target path Property type Related form read-only, hidden Database Properties (See ??)

This read-only eld contains the last few paths that were specied in the path dialog.

history: word nd Property type Related form read-only, hidden Database Properties (See ??)

This is read only eld that contains the last few words that were searched for using the note or concordance search.

8.2

Concordance Properties

8.2.1

Concordanace settings

word delimiters Property type Related form

Database Concordance (See 7.43)

8.2. CONCORDANCE PROPERTIES

221

Word delimiters are standard alphanumeric charcters that separate words in a sentence or in a list. These characters are: ,;:.[]{}!()? and [space] You may add or subtract from this list if you like, but do it thoughtfully or you may really hate the sort of concordance you end up with.

special character delimiters Property type Related form editable Database Concordance (See 7.43)

Special delimiters are non-alphamumeric characters that may occasionally be found to seperate words or sentences, particularly in lists. These characters are: tab (ASCII 9) carriage return (ASCII 13) line feed (ASCII 10) form feed (ASCII 12) null (ASCII 0) You should always at least include carriage return and line feed on this list because one or both of these characters usually signify the end of a line.

data to include in concordance Property type Related form editable Database Concordance (See 7.43)

222

CHAPTER 8. PROPERTIES REFERENCE

This property tells what sources to include when preparing/updating the concordance: object properties, object text, or both.

included data types Property type Related form

Database Concordance (See 7.43)

This setting tells Plato which types of elds to look in for words. Some eld types do not typically contain text so looking for words in them will only slow the concordancer down. The default eld types for this setting are: text text (read only) pick list clip text

save concordance when database is saved Property type Related form editable Database Concordance (See 7.43)

This setting tells Plato to save the concordance when the database is saved. If this setting is unchecked the concordance will be DISCARDED when you exit the database. See concordance for a discussion of temporary versus permanent concordances.

automatically update concordance as you work Property type editable

8.2. CONCORDANCE PROPERTIES

223

Related form

Database Concordance (See 7.43)

This setting tells Plato to automatically update the concordance whenever you add, change or delete objects. If this setting is unchecked the concordance will only be updated whenever you rebuild it.

words to omit from concordance Property type Related form

Database Concordance (See 7.43)

This is a list of words Plato will ignore when it builds a concordance. These should be very common words you are not likely to ever search for, such as the, and, this, that, and the like. You can also omit words that contain certain characters by putting a vertical bar followed by the unwelcome character. For example: & will tell the concordancer to omit any word that contains an ampersand. This feature is useful for omitting noise words that contain numbers or symbols that are not meaningful to most human beings, or to you at any rate. You can also exclude words that contain certain endings by putting the minus sign - followed by the word ending to be excluded. For example, -ly tells the concordancer to omit all words that end in ly. The omit list should contain only one word per line. The default omit list is:

224

CHAPTER 8. PROPERTIES REFERENCE

a Before H about but he already by him also C her although can I always could Ill am D Im an do in and E is any F it are for J as Fwd K at G L B G+ M be G++ me

n their o then of to on U or under our us over v P very Q W R was s what T when than who that x the you

Z 1 2 3 4 5 6 7 8 9 0 ] / @

mini-concordance (words) Property type Related form editable Database Concordance (See 7.43)

For performance reasons, the concordancer uses a mini-concordance to record concordance changes as you work. This setting controls the size (in words) of the mini-concordance. When the size threshhold is reached, the mini-concordance is ushed by merging its contents into the main concordance. The default setting is 5,000 words (the minimum setting), which should be big enough for everday use. The larger settings should be reserved for times when you import large quantities of text into a database, in which cases the concordancer will perform better with the larger settings.

word history buer (bytes) Property type

8.2. CONCORDANCE PROPERTIES

225

Related form

Database Concordance (See 7.43)

Sets the size of the word history buer. This buer controls whether the concordancer keeps a log of the words it adds and deletes from the concordance as you work. If the word history buer is set to zero, no log will be kept. Higher values determine how much of the log will be kept in memory. When the memory threshold is reached or exceeded, the entries in memory will be appended to the databases word history log le. The word history buer is persistentit is not discarded when you exit the database. The word history buer can be from 0 to 30,000 bytes in size, set in 5,000 byte increments.

parse buer (words) Property type Related form

Database Concordance (See 7.43)

Controls the size of the word parsing buer. The parsing buer is where the concordancer weeds out the omit words before building a word list. The default size is 100,000 words, but if some of your objects have really huge amounts of text, this may not be enough. Plato will tell you when it cant get a word list because the parse buer is too small. The size of the parse buer can be set from 100,000 to 900,000 words in 100,000 word increments. Smaller buers are faster and more ecient so you should only increase the size if you have to.

omit pronouns, prepositions, conjunctions, and contractions Property type Related form When this setting is checked editable Database Concordance (See 7.43)

226

CHAPTER 8. PROPERTIES REFERENCE

omit helping verbs and common adverbs Property type Related form When this setting is checked editable Database Concordance (See 7.43)

8.2.2

Concordanace settings, statistics

stats of last build Property type Related form

Database Concordance (See 7.44)

This read-only eld displays the results of the last full concordance build. It is a time stamped log of the concordance building process along with the relevant statistics. Here is an example: [16:43:22]: [16:43:59]: [16:43:59]: [16:43:59]: [16:44:04]: [16:44:14]: [16:44:14]: [16:44:14]: [16:45:07]: [16:45:07]: Began concordance build: [12-07-2008] Parsed 303,341 words from the database Collected 237,408 words Discarded 65,933 words (that were on the stop list) Sorted 237,408 words Compiled wordlist of 15,371 unique words and cross referenced them Built index to wordlist (507 entries) Worst case index performance: 679 tries out of 15,371 possible Reverse indexed 15,371 words (82,928 total instances binned) Completed build

8.2. CONCORDANCE PROPERTIES current stats Property type Related form

227

Database Concordance (See 7.44)

This read-only eld displays current concordance statistics. Here is an example: Concordance size Hapax Legomena Concordance slack Search index size Worst case search : : : : : 15,532 words 7,567 0 deleted words 508 entries 688 hits

Concordance size is the number of words in the concordance. Hapax legomena is the number of words that appear in only one object. Concordance slack is the number of deleted words in the concordance. Search index size and worst case search describe the size of the word index and the worst case performance speed with which any given word might be found (the actual speed will depend on the speed of your CPU).

word history Property type Related form

Database Concordance (See 7.44)

This read-only eld displays the time-stamped log of words added or deleted from the concordance. Here is an example:

[2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13,

09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]:

accepting (added) accrued (added) ACQUIRED (added) alter (added) alteration (added)

228

CHAPTER 8. PROPERTIES REFERENCE

[2009.04.13, 09:55:15]: counted (added) This log is

word occurance statistics Property type Related form

Database Concordance (See 7.44)

This read-only eld displays the time-stamped log of words added or deleted from the concordance. Here is an example:

[2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13, [2009.04.13,

09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]: 09:55:15]:

accepting (added) accrued (added) ACQUIRED (added) alter (added) alteration (added) counted (added)

This log is

8.4. OBJECT CLASS PROPERTIES

229

8.2.3

Concordanace settings, proles

8.3

Class Library Properties

8.4

Object Class Properties

8.4.1
class ID

Object Class Properties

Property type Related form

read-only, hidden Class Library Editor (See ??)

The class ID is a unique string that is used to dene class. It is displayed in the class attributes window but is assigned by PLATO and may not be changed.

class name Property type Related form editable Class Library Editor (See ??)

A short, descriptive name for the object class that quickly identify any object of its type. Good examples would be journal, book, recipe, and the like. This is a mandatory eld. Note that any space characters in your name will automatically be converted to underscore characters by Plato .

230 class description Property type Related form

CHAPTER 8. PROPERTIES REFERENCE

editable Class Library Editor (See ??)

A longer description of the object class. Since this a sortable eld, it can be used to globally categorize object classes, or simply to provide an expanded description of the object if the object name itself might seem ambiguous when compared to all the other object class names.

class category Property type Related form editable Class Library Editor (See ??)

Categories allow you to better organize large libraries of object classes

class action type Property type Related form editable Class Library Editor (See ??)

Action types dene the behavior of the object. For descriptions of available actions, see 8.4.2

class note format Property type Related form editable Class Library Editor (See ??)

Denes the format of the note eld. Choices are Rich text (RTF) or plain text. If you set a note eld to plain text, RTF enhancements will not be

8.4. OBJECT CLASS PROPERTIES

231

available for the note. For object classes that have special use by Plato , plain text is mandatory. These object classes are: lists,

class external editor Property type Related form editable Class Library Editor (See ??)

If the object class action is to load an external le, this eld allows you to select a default editor with which to load the le.

class eld attributes Property type Related form editable Class Library Editor (See ??)

Each object class has eld attributes that are user denable. This attribute is a list of these elds in the order they will appear when they are displayed. To add, edit, or delete eld attributes, click the add elds button. See 8.4.2

description template Property type Related form editable Class Library Editor (See ??)

Allows you to build a description in a tailored way from object class attributes. In this template, any characters may be used. Numeric characters will be interpreted to represent a eld by its position in the attribute list. For example, the following attributes:

author title

= =

James Madison Years of our Days

232 publisher = year =

CHAPTER 8. PROPERTIES REFERENCE Machree and Sons 1924

And this description template: 2, 1 (4) Will result in this description: Years of Our Days, James Madison (1924) If you leave the description template blank Plato will use the contents of the rst eld to build the description.

8.4.2

Object Class Actions

open as folder Property type Related form

(See ??)

Objects of this type should be thought of as le folders, and contain other objects. When you click on them, they open to reveal the objects they contain. Open as Folder objects can appear in the database tree pane.

open as document Property type Related form

(See ??)

8.4. OBJECT CLASS PROPERTIES This object type will be omitted in the release version.

233

open as list Property type Related form

(See ??)

Objects of this type are the same as open as folder objects, but they cannot appear in the database tree pane. Open as list objects are useful for building nested documents.

list data in notes eld Property type Related form

(See ??)

Objects of this type are data only, but have the special property of containing user-dened lists. User-dened lists are research and study aids.

data only Property type Related form

(See ??)

Data only objects contain the usual properies and text, but beyond this do not do anything else.

execute script Property type Related form

(See ??)

234 Execute script objects

CHAPTER 8. PROPERTIES REFERENCE

launch le with editor Property type Related form

Class Library Editor (See ??)

Objects of this type have an associated application and a lename, and when clicked will open the le with the application.

launch (no le check) Property type Related form

(See ??)

launch (use le spec) Property type Related form

(See ??)

8.4.3
eld ID

Object Attribute Properties

Property type Related form

read-only, hidden Class Library Editor (See ??)

The attribute ID is a unique string that is assigned to each attribute. It is displayed in the attributes window but is assigned by PLATO and may not

8.4. OBJECT CLASS PROPERTIES be changed.

235

eld name Property type Related form editable Class Library Editor (See ??)

A short, descriptive name for the attribute that quickly identify it. Good examples would be author, title, publisher, and the like. This is a mandatory eld. Note that any space characters in your name will automatically be converted to underscore characters by Plato .

eld description Property type Related form editable Class Library Editor (See ??)

A longer description of the attribute. Since this a sortable eld, it can be used to globally categorize attributes, or simply to provide an expanded description of the attribute if the attribute name itself might seem ambiguous when compared to all the other attribute names.

eld data type Property type Related form editable Class Library Editor (See ??)

Data type denes the action of the eld and its special attributes. Plato allows 12 user assignable data types.

Plato special attributes

236

CHAPTER 8. PROPERTIES REFERENCE

Property type Related form

(See ??)

Each attribute has special attributes that depend on the data type. The text data type, for instance, has the special attribute case.

8.4.4

Object Attribute data types

8.4.5

text

Text elds will accept any alpha-numeric text. The only validation in such elds is the ensure that the text characters are ASCII characters within the range of ASCII (decimal) 32 to 126. Case can be forced in a text eld by setting the case variable. Here are the case variables and their eects: Case Effect -------- ----------------------------LITERAL None (Accepts case as it entered by the user) UPPER Forces all text to upper case LOWER Forces all text to lower case TITLE Forces all text to title case (first letter of each word is upper case).* NAME Forces names into the following format: last name [comma] first name middle name (or initial). The first letter of each word is upper case. * Note that in title case conjunctions and articles are usually not capitalized unless they begin the title or sentence. The list of words the title case

8.4. OBJECT CLASS PROPERTIES

237

algorithm will omit is contained in the PLATO resource le and can be modied to t special circumstances. See the article on PLATO resources for instructions on modifying resources. Text can also be displayed within a mask. Masks can be used to automate repetitive typing, such as phone numbers with the same area code or prex. A mask can be set up as follows: Type the text mask within the text mask eld. The text mask can consist of any characters you like (except the percent sign (

Example: text mask text entered into text field text Plato displays

= (555) 444-% = 9137 = (555) 444-9137

8.4.6

numeric

Numeric elds will only accept characters within the range of ASCII (decimal) 48 to 57, plus the decimal point character ASCII 45. Numeric elds may also be validated against a user dened range. PLATO will allow any range as long as lower limit of the range (nn) is less than the higher limit (nnn). Ranges are specied as follows:

range = nn-nnn

Numeric elds are always assumed to be integers. If you wish to use oating point decimal values, you must specify a range and include a decimal point in the range limits. For open-ended ranges, use any as the upper limit. For instance: range = 0.0-any

238

CHAPTER 8. PROPERTIES REFERENCE

will accept any oating point number larger than zero. Numeric elds may also be assigned user dened units. Units are not validated; any unit is allowed. Units are specied as follows: Unit spec ---------------no unit spec unit = meters unit = gallons unit = fishes Result ---------------1234567 1234567 meters 1234567 gallons 1234567 fishes

Masks may also be specied. Masks should be specied if you want your numbers to be formatted with commas, with a xed number of places to the right of a decimal, or as currency. When specifying a mask, use # to represent each numerals place. If the number of numeral places shown in the mask must be explicitly observed during data entry, preceed the mask spec with L. Beyond this, anything goes. Here are some possible masks and their results: Mask Result ----------------------- ------------------------no mask 1234567 mask = \#\#\#,\#\#\#,\#\#\# 1,234,567 mask = L\#\#\#,\#\#\#,\#\#\# error (not enough digits) mask = \$\#\#\#,\#\#\#,\#\#\#.\#\# \$12,345.67 mask = \#\#\#-\#\#\#\# 123-4567 mask = (\#\#\#) \#\#\#-\#\#\#\# 123-4567 mask = L(\#\#\#) \#\#\#-\#\#\#\# error (not enough digits) mask = \#\#\# bowling pins 1234567 bowling pins* *(If you use a mask to specify units in this way, take care that it does not conict with any unit spec you may have also used.) Range, unit, and mask specications for numeric elds must be seperated by a semicolon to distinguish them, as follows:

8.4. OBJECT CLASS PROPERTIES range = 1-9000; unit = meters; mask = \#\#\#,\#\#\# Ranges, units and masks are optional.

239

8.4.7

pick list

Pick lists are elds that check user input against the contents of a list. They can be used to facilitate input by displaying a list of choices to pick from, yet allowing you to add new entries on the y if you wish. Conversely, they can control input by forcing you to pick only from the existing list. Setting up pick list elds

8.4.8

internal list

8.4.9

date

Dates can be entered in any format and are fully validated. Any year may be entered from -10,000 to +10,000. Years entered as minus numbers are displayed as positive numbers with BC appended. Date elds govern how dates are displayed. The following formats may be selected for date elds: Numeric formats ----------03/08/1999 3/8/1999 03/08/99 3/8/99 1999.03.08 1999-03-08 Written formats -------------8-Mar-1999 Mar-8-1999 8-Mar-99 Mar-8-99 Mar 1999 8.Mar.99 Roman numeral formats ------------8.III.99 8.III.1999

240

CHAPTER 8. PROPERTIES REFERENCE 8.Mar.1999 March 8, 1999 8 March 1999 8 March 99 March 1999

Other formats may be added using advanced customization. See xxx. If you want to specify only the year, use the numeric data type.

8.4.10

path name

Path name elds must contain a valid path.

8.4.11

conversion

Conversion elds contain hidden user-dened formulas that automatically convert the numerical contents of a source eld into another unit of measurement, which is displayed in a read only eld. Setting up conversion formulas involve dening the following elements: Calculation formulas: Calculation formulas are simple arithmetical statements in the form: [value1] [operation] [value2] where: [value1], [value2] are numbers or the numerical contents of object attributes, and [operation] is one of the following artithmetical operations: + * \ = = = = addition subtraction multipication division

8.4. OBJECT CLASS PROPERTIES

241

When [value] is to be the numerical contents of an object attribute, it must be formatted as follows: unit = unit to tag the result with (optional) mask = format mask for the conversion result (optional).

8.4.12

le name

File name elds must contain a valid le name. File names must contain the path to the le, otherwise the current path is assumed.

8.4.13

eld list

This is a special data type that allows elds to be selected and ordered for display as columns in a window. It is only useful as a attribute to objects that cause other objects to be displayed in a window, such as folders.

8.4.14

folder sorts

Provides sorting options for folders. There are two standard options: click column to sort Allows you to click on a column and sort the contents using the column elds as a key. prohibit sorting Prevents you from sorting the folder. Other options are any elds you have selected to appear in columns using the display in columns eld. Selecting a eld will cause the folder to automatically sort on that eld when the folder is opened. When you select an auto-sort Field option, you also disable the option to cick on a column to sort.

242

CHAPTER 8. PROPERTIES REFERENCE

8.4.15

ag

Flags are simple yes or no values. The ag value is a toggle during data entry.

8.4.16

cross reference

Cross reference elds are elds that display a list of all objects in a database of a particular class. Single or multiple objects may be selected from the list and placed in the eld. The record containing a cross reference eld is automatically cross referenced with whatever objects are listed in the eld. Setting up a cross reference eld requires the following:

8.4.17

numeric, incrementing

Incrementing numeric elds provide a means of automatically issuing a sequential number to a record when it is created. Since the number is automatically provided by Plato, it is read only. Setting up incrementing numeric elds consists of setting two elements: a counter and a number mask. The counter is what Plato automatically increments when it issues a new record; it can be reset (but be carefulsee below). The number mask provides a user-dened format for displaying the number

8.4.18

record key

The record key data type automatically generates a bibliographic key based on the content of other elds within the record. Record keys are specied by naming a eld followed by an optional eld operator which species the characters from the eld that will be used to assemble the key. If the operator is omitted, the entire contents of the eld will be used.

8.4. OBJECT CLASS PROPERTIES Record key formula: [field name]:[operator]

243

(Note that for multiple eld/operator formulas, each formula should be seperated from the next by a space) Valid operators: INI = initials (i.e., the first letter from each word in the field) LNO = last name only (intended for fields that contain names) FNO = first name only (intended for fields that contain names) ALN = all last names (intended for fields that contain several names) LFT\# = The leftmost specified number of characters in the field RGT\# = The rightmost specified number of characters in the field Example: This record key: author:LNO title:INI year applied to this record: author = Hannah Arendt title = Between Past and Future year = 1968 Will generate this record key:

244 ArendtBPAF1968

CHAPTER 8. PROPERTIES REFERENCE

8.4.19

Special Property reference

8.5

Plato Macros

The following Plato macros may be used in markup: Macro -------------&end_of_line &end_of_para &page &null &tab &space &comma &quote &empty Expands to --------------------------------single CR/LF two CR/LFs ASCII page marker (ASCII 12) ASCII null character (ASCII 0) ASCII tab character (ASCII 9) ASCII space character (ASCII 32) ASCII comma character (ASCII 45) ASCII quote character (ASCII 34) nothing (zero length--no content)

The following Plato macros may be used in importers: Macro -------------&quotes &control &normal &extended &numeric Expands to --------------------------------A pair of quotes ASCII control characters (ASCII 0 to 32) All alphabetic, numeric, and punctuation characters (ASCII 32 - 126) ASCII extended characters (ASCII 127-255) ASCII numeric characters (ASCII n - n)

8.5. PLATO MACROS &alpha &punctuation &spaces &CRLF Upper and lower case alphabet Punctuation characters (ASCII Any sequence of more than two Any sequence of more than two

245 characters (ASCII n - n, n - n) n - n, n - n) spaces CRLF characters.

You might also like