|
I do a lot of Java development for my company (ScreamingToaster). I also do a lot of planning and write documentation that’s product related. I’ve struggled with organizing all this information, across multiple machines (development workstations, multiple laptops, my personal machine, etc). Then there’s the issue of sharing this stuff with other people on my team. I found that sharing doc files or text files didn’t scale very well, and they were difficult to organize in folders on a hard drive. Plus sharing was not easy, or tracking changes. I tried using a Wiki… sharing was easy, access was universal, but it was a royal pain in the ass to create content using the limited editing software (I don’t like the idea of putting my ideas in a text area). So I moved away from Wikis. Then I tried using a blog engine as a cheap content management system, and things were a little better… and Windows Live Writer made it more bearable to create content, but it was still cumbersome and not natural. I considered using Sharepoint, but I didn’t want to invest the time to install it, and use it. While I was trying to figure out how to share information with myself, across various machines, and others on my team, I discovered OneNote. I’d heard about it years ago, but actually started using last year. I use it to hold all my hand drawn diagrams, notes, documents, random notes, images, and even files. I can easily tag information, and search for this quickly, and I can even insert printouts into my notebooks. It has become my repository and content management system. However, the .One files (notebooks and sections) still had to be shared amongst all my machines, and with other people. So I decided to use Subversion as a CMS, and started putting all my notebooks into SVN. This worked out really well for a while. But adding changes became cumbersome. For eg, if I have a notebook where I write down my thoughts on developerlife, and I update it on Machine 1, I would have to remember to update my working copy on Machine 1, before adding the new thought… otherwise, I run the risk of a collision (in case I have a newer version of the notebook in SVN). The workflow was clunky, unnatural, and prone to errors. And it got in the way of my creative process. So, I finally decided to invest the time in exploring the sharing features of OneNote. I’d seen something in the file menu about sharing notebooks. So I did a little research, and I no longer use SVN to share my documents, and other information. I allow OneNote to take care of it all! There are a couple of ways you can do this, and I’m only going to mention the simplest ones here:
I use option 1 and 3 above. I have a server on my LAN that hosts my SVN repository and testing app server, which is where I store all my notebooks. I regularly backup this entire machine (using Acronis), so my source code and documents are backed up together and kept in a safe place. Disaster recovery is quite simple as well, with this approach. The backup of this machine is just one file, which I upload to a remote server regularly. If there is more interest on using OneNote’s sharing capabilities, I will post an in-depth review in the Reviews section. I think it can be very helpful to people who want to manage lots of fluid information that must be persisted and replicated reliably, without having to copy files, and run cron jobs, or know how to use SVN and setup a SVN server. |
| « Web browser and Flash player for Java Swing! | New Tutorial – Using and creating GWT modules » |
OneNote is awesome – sharing documents with yourself and others
Posted January 14th, 2008 by NazmulComprehensive Real-World BlackBerry Training Courses by developerlife.com
Want to learn from the Masters? We’ve created groundbreaking BlackBerry software (we are finalists in the 2009 BlackBerry Developer Challenge). We have a complete set of instructor-led training courses available for BlackBerry development that will turbo-charge your BlackBerry development efforts. Whether you are a newbie or an experienced developer, we have modules that will fit your needs. Learn more about our courses & schedule.
Comprehensive Real-World BlackBerry Training Courses by developerlife.com
Want to learn from the Masters? We’ve created groundbreaking BlackBerry software (we are finalists in the 2009 BlackBerry Developer Challenge). We have a complete set of instructor-led training courses available for BlackBerry development that will turbo-charge your BlackBerry development efforts. Whether you are a newbie or an experienced developer, we have modules that will fit your needs. Learn more about our courses & schedule.

January 23rd, 2008 at 9:19 am
Hi there,
We just started using OneNote in our company, i think its brilliant. I was looking for more information on the firewall requirements for live sharing sessions.
Live sharing internally doesnt seem to be a problem, but i cant seem to find information on what ports i need to open on the firewall to allow sessions from user on the other side of the firewall?
If you are able to write more on this particular subject, i would look forward to reading it. Thank you.
January 23rd, 2008 at 11:32 am
Hi Khuram
OneNote is the hidden gem of Office
. I’m surprised there isn’t more marketing behind it, and it’s too bad there aren’t any services tied to it (think Amazon S3 for OneNote notebooks)…
I’m going to do an in-depth review of OneNote. I think it’s a great product, and this small blog post has been well received. Look for this in the coming week or two. I’m sorry I can’t be more specific with the timeline.
This might help with your firewall issue and live sharing… Go to Tools menu -> Live Sharing. In that dialog box you will find the port number that OneNote uses to run it’s internal sharing server. For LAN’s this is not an issue, but for WANs you would want to explicitly set this port number, and make sure to open that port for TCP traffic (inbound).
Thanks for reading and keep coming back,
Nazmul.
March 18th, 2008 at 10:32 pm
We are interested in using OneNote, as well, as a lab notebook. We have set it up as a test, under SVN control, and are running into some of the issues that you have experienced. It is critical that we allow other users to read the notebook, but were also hoping to create a section that manager’s and peers could use to ’sign’ the notebook. That section would be read-only to the user. All of these permissions are managed via an administrator via SVN. The actual experimental notebook sections would be read-only to everyone except the notebook owner.
As you can see, it all gets very complicated very quickly!
Do you know of a way to set up a share, in which you could set permissions on a section-by-section basis?
Thanks,
MaryBeth
March 26th, 2008 at 2:39 pm
Hi MaryBeth
Sorry for the late reply. One thing you can do to make a notebook ‘read-only’ to certain users, is create a Windows share that has read-only permissions set for that class of user. This way, OneNote will not be able to write to that share. This is the easiest way that I can think of to control read/write access at the Windows share level itself.
I don’t think there’s a way to do this level of access control in a section by section basis. Easy way to go around this is just separate these sections into notebooks, and use Windows shares to restrict access. You can also do this control in SVN.
I agree, this can get out of control very quickly
. If you have use cases that are not solved by using the strategies mentioned here, then it’s time for you to invest in a CMS. There are some open source ones out there that you can use. Apache even has one that you can access programatically… it supports revision control, complex access control features, etc.
Hope this helps,
Take care,
Nazmul.
May 19th, 2008 at 12:03 am
Nazmul,
OK, I’m a broke grad student being buried by rediculous amounts of information on a daily basis, all in various forms depending on the instructors mood (primarily ppts/powerpoints/drawings/word)…I’ve discovered onenote as my technological savior…BUT it takes a ton of time to get it all organized/manageable…and time is something us dental/med students don’t have. I am investigating how to implement a collaborative environment for myself and say 10 other students I trust that do as good of work as I do. The total user environment could be as high as 80 (all the students in my class) but I would think that the syncing/version control could get wacko out of control with that many users…so I’m being conservative and estimating 5-10 MAX would be my ‘team’ of editors, and perhaps we could ‘read-only’ permission the rest…
Here is our environment:
- we are mostly operating on fairly robust wifi networks (at home and at school). we can wire up, but not consistently. the speed on my network connection icon right now says 54 mbps…(my non-techy self thinks this is robust, perhaps it is not)
- the notebook size that evolves per semester can range from 250-500 MB…about 20-25 sections (each class-test), and within each are perhaps 10-15 pages (lectures).
what I think I need to do:
- A) Find a hosting service where i can get a sliver of an existing shared server. OR B) figure out how to share the file from my own home PC (where I have 70 GB)…no monthly charges…option B is prefered but I have no idea how to do it…or what hardware upgrades i need to do it.
- create the shared notebook in onenote defining where i want this file to reside.
- transfer existing unshared notebook material into the new shared notebook.
- enable permissions for the other users (not sure where this is done, at my pc sharing level, or in onenote?)
- let her rip! hoping the syncing/updating is managed well enough that it doesn’t crash too much…
Result: a highly collaborative working/learning environment where top students can share the organizational load of excessive amounts of material…into a rapidly searchable product.
QUESTIONS:
1) How does the file get downloaded/updated to the users individual onenote system? Does it access the WHOLE notebook and run a DIFF everytime? or does it just push/pull the stuff that is different…thereby minimizing network traffic/data transfer?
2) If I do this from my own home pc, and I have a few people downloading or pushing updates this, does that take up most of my bandwidth when using my internet/home network?
3) Would better network hardware in my home result in less impact to the usage of the home network (IE me not noticing that half+ the capacity is being used to push/pull updated onenote info.)???
I think that’s all the questions I have now, totally appreciate your feedback.
THANKS,
Buried
May 26th, 2008 at 4:04 pm
Hi Bill
Thanks for the comment. You are not alone in these requirements for information sharing in a small group. Sadly, there is no easy solution right now. I’m actually building a product that address the issues you are having right now, called mylisty, but it’s not even in beta right now, so that’s not going to help.
You’ve asked a lot of good questions. Onenote’s information sharing capabilities aren’t really meant to scale to the extent of your requirements. It’s a simple solution for simple needs; so if you have more than 1 machine, and you’re doing all the edits, then Onenote works great in sync’ing information across all the notebooks on different machines. Where things fall apart is when you have multiple authors, who are concurrently modifying sections. Onenote does a diff of a page at a time, so it’s not very fine grained in it’s approach. Now, this depends on the content that’s in the page (in a section). If you add content that Onenote can edit, then it’s smarter about sync-ing, than say if you drag/drop a “blob”… ie a file that it can’t edit, like a Word document.
As far as sharing goes, you could get a slice/sliver or a server, and host a file server there. Onenote works with Windows networking, so you will have to enable that (SMB) on the fileserver of yours, and you have to be careful about setting permissions on folders/shares (SMB) so that not too many people have write-privileges. Remember, Onenote does not handle concurrent modifications well. You could host this on your server at home, and just open a port on your firewall. But there are issues with doing this – you are opening up a SMB protocol hole in your firewall, and it’s open to exploits over the Internet. Also, consider that upload speeds are limited on most home networks… so other people might find it very slow to commit changes to your shared notebooks.
I suggest the following, you can either get a hosted Sharepoint server service online, and put your notebooks up on there. Sharepoint will do all the sync’ing, and handle all the privileges, etc. Or you can setup a Subversion server on your slice/sliver of a server on the Internet, and you can use a Subversion client to checkin/checkout notebooks among all your collaborators.
Sharepoint is what Microsoft intends you to use for complex sharing tasks, like the ones that you’ve outlined in your requirements. I don’t like Sharepoint; I’ve used it, and it’s clunky at best.
Sorry that I couldn’t give you a simple answer. There isn’t one to give. Mylisty will fix a lot of these problems. You will able to access your information from web, desktop, and mobile! You will be able to collaborate, and sync stuff to a service. All for $10 per year. I’m planning on releasing this product later on this year. Let me know if you’re interested in beta testing it
. Also, mylisty will use geolocation in ways that most people haven’t imagined yet, to make life a little bit easier
.
Take care,
Nazmul.
September 10th, 2008 at 5:30 pm
Hi Buried,
I’m in the EXACT position as you described. I was wondering if in the past months you have found any solutions to your (our) networking predicament.
Thanks,
TM