Tycho v 0.0.5

Help Topics

What is Tycho?
Working with topics
      Create a new topic
      Rename a topic
      Edit topic metadata
      Delete topic
      Reordering topics
      Sorting topics
Working with notes
      Create a new note
      Edit a note
      Rename a note
      Edit note metadata
      Delete note
      Change layout
      Reordering notes
      Sorting notes
      Sorting inside notes
      Notes as scripts
      Notes and external apps
Searching
      Searching globally
      Searching within a topic
      Advanced searching
Working with metadata
      Standard metadata
      Custom metadata
      Metadata inheritance
The Tycho API


What is Tycho?


Tycho is a Personal Information Manager (PIM) partially inspired by the commercial Windows software Info Select. Its primary platform is Linux, but efforts will be made to ensure that it run on Mac OSX and Windows.

Tycho is open source, distributed under the same license as Ruby. The project page is on Rubyforge, and contributions to the design and code are welcome.

By "PIM" we do not mean just another electronic Rolodex or contact manager. Tycho is for the quick storage and retrieval of large amounts of loosely-structured data. There is a hierarchy of topics, and each topic consists of a group of notes. Currently the notes are simply text.

Typical notes might be:

Some of the design goals are as follows:

In its current early stages, Tycho falls short of these goals. This help file should always reflect its current capabilities, but the release notes may be slightly more up to date.

Back to top


Working with topics



Working with notes



Searching



Working with metadata


Every topic or note has metadata associated with it. Internally this is stored as a hash of strings to values.

Some of these are metadata assigned automatically, such as the creation and modification dates. Some are assigned manually, but have special meaning. Finally, there is the possibility for the user to define arbitrary custom metadata to be used in a specialized way.

Back to top



Back to top


The Tycho API


The Tycho API is intended to allow full manipulation of all topics and notes in the Tycho datastore in a programmatic way. It may be used from an external script (without the GUI) or from a note with a script embedded in it.

To use it from an external script: require 'tycho-api'

Support is very incomplete at the moment. Here are some operations that work at least partially:

app = Tycho.new
Start a Tycho instance and load the datastore
DataStore.current
Return the current topic (as an object).
app.find_topic(key)
Find and open the top-level topic named by "key" (which may be a string or regex). If there is more than one, an exception is raised.
app.find_topics(key)
Find every top-level topic named by "key" (which may be a string or regex). An array is returned.
app.find_topic!(key)
Find and open a topic named by "key" (which may be a string or regex). If there is more than one, the first will be used. The entire tree is searched.
app.find_topics!(key)
Find every topic named by "key" (which may be a string or regex). An array is returned. The entire tree is searched.
app.new_topic(topic_name)
Create a new top-level topic. A Topic object is returned, to which you may add subtopics and notes.
topic.new_topic(topic_name)
Create a new subtopic under topic. A Topic object is returned, to which you may add other subtopics and notes.
topic.new_note(title,contents)
Create a new note under topic, with the given title and contents. A Note object is returned.
note.metadata.title = str
Change the title of a note. Any other piece of metadata may be accessed, changed, or added on the fly in the same way.
topic.notes
A list of Note objects for the specified topic.


Back to top