Is there a SDK for OneNote and is it possible to write add-ons for OneNote?

C

cfman

Hi all,

I am looking for a way to add functionalities to OneNote shared session.

Currently my colleagues and I use OneNote shared session to collaborate in
drawings, etc.

We would like to add fast equation writing capabilities to the OneNote
shared session.

In the Latex world, there is open source programs that can input equations
in text-mode and render it fast as image.

I am wondering if I can copy the images to OneNote in realtime automatically
and programatically.

The workflow will be: if one wants to share equation, he opens a text
buffer, and enter math text; and the image is rendered in real time to the
OneNote whiteboard.

How to implement this?

Thanks a lot!
 
R

Rainald Taesler

I think that you might better ask in the OneNote newsgroup
(microsoft.public.onenote).

Rainald

cfman in (e-mail address removed) shared these words of
wisdom:
 
R

Rainald Taesler

cfman in (e-mail address removed)

Cfman,
only after my posting I saw that you sent your posting to *three*
groups.
This makes things unnecessarily difficult.

When crossposting (X-posting) to more than one group one should always
nominate *one* group to where the replies will be directed.
Setting a so-called "FUp2" (Follow Up To) is easily done by using the
respective field in the header.

Rainald
 
C

cfman

Patrick Schmid said:
OneNote 2003 or 2007?
A good place to start looking is
http://msdn.microsoft.com/office/program/onenote/

Either OneNote 2003 or 2007!

Is there a place/forum/newsgroup that devotes to OneNote development?

My problem is that I have the idea but I am not a programmer and I need a
way to implement it in most efficient way. If it takes me half a year to
digest how to write addons for OneNote and another 1 year to implement,
that's going to be horrible for me.

As you know, I want to implement a feature that is called "real-time
discussion of math" in OneNote.

The typesetting software LyX has a feature to instantly preview equations in
a nice display format. Its inset math box (the half-WYSIWYG one before the
instant preview) is still very good interface for typing math equations.

The workflow can be: in OneNote, I place the cursor at a certain point, then
hit a button, then a LyX embedded window gets launched so I can use its
inset math box to write equations, and the content of the inset math box
will be compiled in real time by Latex, and then the compiled display image
will be copied and pasted into the current drawing region in OneNote.

(The underlying communication will be done by OneNote.)

How to implement this?

Thanks a lot!
 
P

Patrick Schmid

This is the right newsgroup for everything related to OneNote. There is
at least one MVP that pops in from time to time that does a lot of
OneNote development.
I have never written an add-in for OneNote before, so I honestly don't
know where to start. I assume though that you'd need some version of
Visual Studio. Maybe Daniel Escapa's blog on ON Extensibility can get
you started: http://blogs.msdn.com/descapa/. He has a sample OneNote app
on there which is probably a good starting point.
He stops by in this newsgroup every few days as well, so he might just
reply to this post.
For what you are trying to do, you might be able to get away with almost
no OneNote programming. If you look for the FireFox post on Daniel's
blog (http://blogs.msdn.com/descapa/archive/2006/07/24/677045.aspx),
you'll see that if you simply execute "onenote.exe /paste", OneNote will
paste the current clipboard into the current page. So you could write an
application that doesn't even tie into OneNote, open/switch to it, do
your math thing and place an image into the clipboard and then simply
execute that statement to have the image back in ON. Not as elegant as
true add-in, but a working solution.

Patrick Schmid
 
C

cfman

Patrick Schmid said:
This is the right newsgroup for everything related to OneNote. There is at
least one MVP that pops in from time to time that does a lot of OneNote
development.
I have never written an add-in for OneNote before, so I honestly don't
know where to start. I assume though that you'd need some version of
Visual Studio. Maybe Daniel Escapa's blog on ON Extensibility can get you
started: http://blogs.msdn.com/descapa/. He has a sample OneNote app on
there which is probably a good starting point.
He stops by in this newsgroup every few days as well, so he might just
reply to this post.
For what you are trying to do, you might be able to get away with almost
no OneNote programming. If you look for the FireFox post on Daniel's blog
(http://blogs.msdn.com/descapa/archive/2006/07/24/677045.aspx), you'll see
that if you simply execute "onenote.exe /paste", OneNote will paste the
current clipboard into the current page. So you could write an application
that doesn't even tie into OneNote, open/switch to it, do your math thing
and place an image into the clipboard and then simply execute that
statement to have the image back in ON. Not as elegant as true add-in, but
a working solution.

Patrick Schmid


Hi Patrick,

Thanks a lot! The information you've provided were very helpful!

I read the blog you've referred to. It is almost the idea. Yet I still have
questions: it could be great if there is other variants of "onenote.exe
/paste" that can paste to the current position in a certain page of a
certain note.

Then my workflow can be:

1. In a math typesetting program, copy the image.
2. By setting up some magic key, make it paste to the current cursor
position of the current page in OneNote directly.

This is an okay solution.

Actually it could be nicer if OneNote can be a container for other
applications.

If we user embed a certain application into onenote's page, say LyX which is
a document processor, then whatever is editing in LyX will be shared to
other OneNote users and session participants via shared session.

That's going to a great exciting feature!
 
P

Patrick Schmid

OneNote actually cannot be a container for another application. It would
need to support OLE in order for that to work, and it doesn't.
Keep in mind that you have to work with what you have right now in
OneNote 2007 Beta 2. Microsoft won't be adding any features anymore to
2007, so what you have right now is what you will get in the release.
You have to work with extensibility features OneNote offers. There just
won't be anything else.

Patrick Schmid
 
R

Rainald Taesler

Patrick Schmid in (e-mail address removed) shared these
words of wisdom:
OneNote actually cannot be a container for another application. It
would need to support OLE in order for that to work, and it doesn't.

Too bad. I really cannot understand why not.
It would be of really great help if it would be there.

Rainald
 
I

Ilya Koulchin

I'm afraid I'm going to leave you with more questions than answers, but
here are some things you could consider. This all assumes you have some
utility that you can invoke from your program that will take a text
representation of an equation and spit out an image in whatever format.
I'll also assume you're using OneNote 2007.

The basic idea is going to be to use GetPageContent to get the contents
of the page where you want to insert the image, possibly including the
selection. Then, after you have located where you want to insert the
image, possibly by examining what the user has selected, you will need
to modify the XML returned by GetPageContent to splice in the image and
pass the result to UpdatePageContent, which will insert the image onto
the page.

You might also be able to eliminate the separate text buffer. If you
create a toolbar button for your addin, you can have it look at the text
around where the user is typing to see if it represents the appropriate
syntax for whatever equation language you're using. Then you can use the
above method to replace the text the user has typed with the equation.
The workflow would be something like this:
1: User types in an equation using the text syntax, directly where they
want it to appear on the page
2: User clicks the button for your addin
3: You export the page content, extract the equation, convert it to an
image, and insert it back to the page
4: To the user, it simply appears as if the equation was converted to an
image at the click of a button!

Ilya
 
R

Rainald Taesler

Patrick Schmid in uP7%[email protected] shared these
words of wisdom:
I just saw that Daniel posted a link to his presentation at the MS
Office Developer Conference introducing OneNote Extensibility. I
haven't looked at it yet, but I'm assuming this is the best
how-to-extend ON guide out there right now. See
http://blogs.msdn.com/descapa/archive/2006/08/17/703331.aspx

Thanks a lot for the link!
I have stored th PPT-presentation in an ON notebook a couple of weeks
ago <g>, but it's quite something else to *hear* the lecture.

Rainald
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top