1. Managing a very large collection of Notes 'n Quotes begun years ago
using a different outliner, relating to technical, political, and
legal aspects of software interoperability (currently about 1.6 MB)
as well as other similar documents on other topics;
2. My primary editor for generating HTML content for articles on my
Drupal web site and for commenting on articles on other web sites that
allow use of HTML markup;
3. My primary editor for generating initial drafts of lengthy
OpenOffice.org word processing documents.
Major advantages for the above purposes:
Common to all of those uses, NC Pro generates a clean minimalist HTML
upon export to HTML as well as a hyperlinked table of contents. To my
knowledge (after considerable investigation), KnowIt and NoteCase are
the only outliners that produce a minimalist hyperlinked HTML table of
contents. There are other outliners that produce hyplinked tables of
contents, but all I found do so in a form unusable in other editors,
e.g., gussied up with Javascript, CSS, and icons. NC Pro can do that
too (the framed HTML export), but for interoperability with other rich
text editors one needs minimalist HTML.
Topic specific advantages:
1. Managing Research Notes 'n Quotes:
NC Pro is fairly unique in allowing not only hierarchical organization
of nodes, but also provides several means for escaping the bounds of a
strict hierarchical organization. Such information tends toward
defying strict classification. E.g., one node may may really belong
under multiple classifications. As another example, the original
system of hierarchical classification may become largely irrelevant in
the blink of an eye if one is drafting a new document with a different
slant. So the following additional features become important:
a. Find: NC Pro has a quite powerful Find feature, allowing searching
not only for strings but also patterns (the PCRE regular expression
engine). One may not only traipse through the document reviewing each
occurrence of a character string or pattern, but instead fill the
search result to a list of all found nodes and their content, and do
so repeatedly very easily using the save query tool. Major drawback
here: no method yet to run either a Find or Replace operation across
multiple files, so have to repeat one file at a time.
b. Node Clones: The node cloning feature is major step forward.
Multiple clones of a single node can be maintained under multiple
branches whilst maintaining the ability to edit the original and all
clones from any one of them (single editing point for recurring data).
There are still some kinks to work out in this new feature, such as
losing node clone content when exporting to HTML (haven't checked
build 2.5.9 on this yet). But I've already found the node clone
feature very useful for content that belongs under multiple branches.
c. Node Tags: If you have not yet discovered the Node Properties
dialog, be sure to check it out soon. It's in the Tree menu. From
there you can manipulate node properties including tagging a node with
one or more keywords. That might seem like much until you more closely
inspect the Find dialog. There, searches can be limited to nodes
containing the keyword(s) you want. And the results of the query can
be filled to a list to display the content of all nodes that contain
that keyword or keyword combination.
So this is yet another way of escaping the bounds of strict
hierarchical organization. Combined with the ability to save queries
in the Find dialog and consistent use of a well designed ontology,
such queries will produce not only the information it did the last
time you ran the query, but any new nodes you have created in the
meantime that share the same keywords.
As Miro gets farther along with exporting methods for Lua scripting,
the tagging feature will become far more useful. E.g., one script I'm
aiming toward is one that will automatically create a set of
hyperlinks at the end of each node to all other nodes in the same
document that share any of that node's keywords. This would sidestep
the need to run a query to navigate to the related nodes. More
importantly, the hyperlinks would survive export to HTML, allowing
creation of large web documents chock full of cross-referencing
hyperlinks.
2. Editing Content for Web Pages:
Because NC Pro's can export a minimalist HTML, it is an excellent rich
text editor for any web-based content management system that enables
direct editing of content using HTML markup, although on some CMS you
must change the settings to allow particular markup tags, such as
definition list markup. Very few web apps perform autosaving of
content so there is always a risk that data entered directly in a web
app can disappear before being saved, due to power failures, browser
crashes, accidentally closed browser tabs, etc.
To boot, I'm not a fan of content management systems that create a
nested and hyperlinked table of contents by requiring a different
heading style to be used for each level of nesting. You wind up with
headings that are both ridiculously large and small. One of the NC Pro
HTML export options allows you to produce a hyperlinked table of
contents without applying heading styles.
I've also found that with minimal post-export processing, I can still
add HTML markup that is not yet supported by NC Pro plus custom HTML
markup required by my Drupal installation, e.g., markup for HTML
blockquotes. It's a simple matter of using unique strings within NC
Pro, e.g., "blockquote" and "/blockquote", and then running a replace
operation post-export using a text editor to convert the strings to
the proper markup. With the custom markup features coming in NC Pro,
this will become even easier, with conversion being handled by an NC
Pro export script.
3. Creating Draft Word Processing Documents:
The NC Pro vanilla HTML export makes it fairly easy to import NC Pro
documents into at least three word processors without data loss: [i]
OpenOffice.org; [ii] Google Docs; and [iii] Zoho Writer.
If one exports to HTML using the "simple HTML with <H1...H6> headings
option, in each of the above apps headings will be imported using
heading styles. From there, a variety of table of contents styles can
be applied, e.g., with different numbering schemes. Or if numbering is
not desired, use the export options for a simple table of contents
without using the <H1 ... H6> option.
There is also an option in NC Pro under Tools > Configure Note Case
Pro > Export to apply numbering to nodes when exporting to HTML. In
the three word processors listed above, that numbering will be picked
up when generating the table of contents.
NC Pro's vanilla HTML export will import directly into Zoho Writer and
Google Docs. There are a couple of extra steps necessary to get the
HTML into the main OOWriter app in non-HTML editor mode.
-- Open the HTML document in OOWriter;
-- Use File > Publish to publish the document to ODT format.
-- Close the HTML file and open the ODT version.
The document can now be polished in OOWriter or saved/exported to any
of the multitude of file formats supported by OOWriter. A smaller
number of export formats are supported by Zoho Writer and Google Docs.
But between ODT, RTF, and Doc, you should be able to then open the
document in virtually any word processor on the market. I'm a
WordPerfect power user from way back, so I tend to use OOWriter just
to get NC Pro documents into RTF or DOC, then open them in
WordPerfect.
The major disadvantage of using NC Pro to create draft documents is
missing features, such as footnotes and tables. With footnotes, I
store them inline in the paragraphs at the point where I want the
footnote linked from, set off with greater than and lesser than
symbols, e.g., "<<footnote text>>. Once in WordPerfect, I run a script
written by a friend that converts such text to footnotes.
<http://wptoolbox.com/library/ConvertR.html>. With tables, I create
them in WordPerfect and merge them with the NC Pro document after
getting the document into WordPerfect.
But for me, advantages of producing the first draft of lengthy
documents in NC Pro outweigh the disadvantages. With nearly all my
research notes in NC Pro, I like to be able to create my draft using
the same app that my notes are stored in.
Moreover, I really like working in a dual pane outliner during the
assembly phase of a document's development. WordPerfect has strong
outliner features, but it folds nodes rather than managing them in a
tree structure. I seem to think better using a tree structure,
beginning from an unordered laundry list of topics to cover in the
document assembled in a single node, then using the NC Pro Node
Splitting feature to break the list into separate nodes, rearranging
them into a sensible order under a major writing outline that uses
complete sentences for headings,
Because I tend to write repeatedly about different facets of the same
subject, recycling quotes, citations, and content is a real work
saver. I used to rely extensively on desktop search to retrieve such
information. The outliner I used previously really was not very good
for organizing the notes. E.g., there was no way to copy or import one
outline into another.
My productivity has soared since I got my notes 'n quotes far better
organized in NC Pro.
Best regards,
Paul
--
Universal Interoperability Council
<http:www.universal-interop-council.org>
My experience was very similar. Miro is a precious jewel among the
software developers I've worked with. And other than utilities, I do
nearly all my work now with NC Pro and a web browser.
> and
> now, as I wrote earlier, I use it on all my computers, having my
> NoteCase files on my keychain.
I'm running a system with WinXP running as a virtual guest atop
Kubuntu 8.04, with NC Pro running on each.
> So now you know a little more about my background. Sorry for getting
> off-topic. :-)
Please don't apologize. I'm enjoying getting to know folks on this list.
> Tagging:
> I would like the tags easily to be chosen using the context menu,
> instead of going through the properties dialog. Miro, do you think
> this will be possible? Maybe for adding new tags (and not selecting
> from the existing tags) the dialog must still be opened. But for
> selecting, the context menu could have an item "apply tag" which has a
> submenu consiting of all available tags. Each selected tag gets a
> checkmark...
I like the idea with the caveat that some of my tag ontologies are
large enough that all tags could not be displayed in a single screen.
Perhaps a separate tag dialog that breaks the tag functionality out of
the Node Properties dialog except for a linking button? (Just thinking
out loud here; I suspect that design of a separate tagging dialog
deserves far more discussion and study.)
A work-around in the meantime: I added the Node Properties dialog's
icon to the toolbar as the last item on it. It saves the menu
navigation steps.
I've suggested a few enhancements for tagging. One is to be able to
import and export tag ontologies, which would be stored as HTML <meta>
keywords in the header lines of the NCD and would appear as available
tags in the Node Properties dialog. Likewise, adding a new tag to a
node would be echoed in the <meta> keywords.
The problems to work past here include: [i] use of different tags,
e.g., "interop" and "interoperability," for the same meaning in
different outlines leads to tag clashes when combining portions of
different outlines; [ii] I tend toward spending a fair bit of time
developing ontologies; I'd like to be able to edit them as a TXT file,
1 tag per line in alphanumeric order, that can be imported into a new
outline, etc.
Another tagging enhancement I've suggested is the ability to apply a
tag retroactively to all children of a node. Relationships of multiple
nodes' content is not always clear at the time a branch is begun, when
you can use the templating feature to apply tags to all children.
It might be useful to start a separate thread to discuss tagging needs
and brainstorm solutions. Particularly with Lua scripting and custom
markup coming, I see node tags as playing much more vital and flexible
roles.
> Find:
> The drawback you mention can be overcome if you first combine the
> files (using import) to one file and later seperate them again. I am
> not sure what is more efficient: Combining and then replacing over the
> one result file, or doing the find / replace steps ofer each file
> seperately. Probably depends on the amount of find / replace steps you
> want to do.
Find is not as big a problem because the queries can be stored.
Replace is more problematic. I've suggested some methods to export
from NC Pro for Lua scripting in aid of batch processing multiple
documents. In the meantime, my work-around is much as you describe; I
build rather huge and complex outlines. The major drawback there is
that as complexity increases, hierarchical relationships tend to
become less useful for finding your way back to particular content;
memory begins to fail.
>
> NC as a word processor:
> Using NC as a draft tool for later import into a word processor is an
> excellent idea I didn't have myself before!
> I had a lot of problems with copy and pasting contents to or from
> NoteCase in the past, so I put the idea of easy interoperation between
> NoceCase with other applications aside for now. But using the HTML
> files for content interchange is an excellent idea, thank you!
One of the advantages of this list is that we can learn from each
other. Thank you for your contributions.
> Have you tried to use the plain NCD files (Which are also HTML with a
> lot of comments for holding additional NC-specific parameters) for
> import into different applications?
I haven't. But I have played with two other methods: [i] the
tab-delimited export feature works fairly well for getting content
into some spreadsheets and database apps; [ii] saving as NCDB then
using an SQLite tool to convert to comma-delimited format works
better. I've been using SQLite Database Browser for the purpose,
http://sqlitebrowser.sourceforge.net/. Public domain, lightweight,
runs on Windows, OS X, Linux, Unix, and all POSIX-based operating
systems. Requires no knowledge of SQL to use for simple operations
like converting an NCDB to CSV comma-delimited format. Just rename the
.NCDB as a .DB file, import into the Database Browser. Most commonly,
I select "notes" as the table type to be exported to CSV.
From CSV, I import into DabbleDB, an outstanding online relational
database service that requires no knowledge of SQL.
<http://dabbledb.com/>. From Dabble, I can create different
applications and views of the data, and include the views in external
web sites via an iFrame. I haven't done that last step yet, but am
aiming toward getting my Interop Notes 'n Quotes onto my Drupal site
by that means.
Miro got me started looking in this direction when he pointed out that
.NCDB was just an SQLite 3 database with a custom file extension, that
renaming it was all that was needed to treat is like any other SQLite
database.
Here are some links to some other SQLite resources I gathered:
HowTo -- Convert SQLite 3 to CSV using SQLite,
http://forums.mysql.com/read.php?145,71867,92624#msg-92624.
SQLite Studio, http://sqlitestudio.one.pl/index.rvt?act=about
(Linux/Solaris) (GPLv2) Exports to various formats (SQL statements,
CSV, HTML, XML). Many more features. Runs on Windows 9x/2k/XP/Vista,
Linux, Solaris, OS X support in development. Licensed under GPLv2.
SQLite Administrator, http://sqliteadmin.orbmu2k.de/ Exports to XSL,
CSV, HTML, XML. Many other features. Runs on Win2000, XP, Vista.
Freeware.
SQLite2008 Pro Enterprise Manager, http://osenvistasuite.com/?xp=3
Exports to XSL, CSV, HTML, and XML, has LUA embedded. Runs on WinXP;
not sure about other Windows versions. Freeware.
SQLite ODBC driver, <http://www.ch-werner.de/sqliteodbc/>; see also
<http://www.sqlite.org/cvstrac/wiki?p=SqliteOdbc>. Reportedly, this
driver works with OpenOffice.org to connect SQLite databases to the
app. I haven't played with it yet. Builds available for Windows,
Linux, and OS X. Might work with other apps that support ODBC, e.g.,
the word processor table and spreadsheet apps in MS Office and
WordPerfect Office. FOSS licensing.
Lots of other SQLite management tools,
<http://www.sqlite.org/cvstrac/wiki?p=ManagementTools>. Includes tools
for getting SQLite databases into other apps not listed above.
Returning to the topic of NC Pro as a word processor, I maintain one
outline named "Working." It has only two root level nodes. One is
In-Box, a place to quickly place information I encounter that doesn't
clearly fit into an existing outline's categories. This frees me from
the need to interrupt a project to rethink and rework an existing
outline's structure. Every now and then, I tackle integration of the
new information under that root node with existing outlines.
The second root node is "Article Ideas." It has two children. One is
"Ideas," whilst the other is "In Progress." As an idea for an article
or other writing occurs to me, I quickly take a few notes about the
idea, then return to what I was working on when the light bulb moment
struck.
When I begin fleshing out an idea into a finished work, it moves under
the In Progress branch, acquiring children and content. I usually have
a dozen or so such works in progress simultaneously at different
stages of drafting. (One of the advantages of retirement is that I no
longer face deadlines so I now have the luxury of putting projects on
the shelf for a bit so I can get a fresh look at what's done so far
before doing more work on them.)
Another method of getting an emotionally fresh look when you reach the
mental state where you've lost your way on creating a lengthy piece is
an old word processing trick, switching the content's type face and
size. Reviewing what you've done in a different typeface and size
usually imparts enough of a fresh look to arrive at a more creative
mental state. :-)