Kit Kai's Tech Blog

Blog about SharePoint

This Blog

Syndication

Search

Tags

News



  • Want to be notified when new posts are available? Click the icon below for more information on how to subscribe.

    Blog Flux MapStats: Stats and Counter for Kit Kai's Tech Blog Subscribe to Kit Kai's Tech Blog

    Locations of visitors to this page Add to Technorati Favorites

Community

Email Notifications

Archives

Sharepoint / CMS Blogs

MVPs', Leads' & RDs' Blogs

Singapore Usergroups

Overseas Usergroups

About Me

Hi all,

Together with two other friends, Tan Chee and Alvin Lau, we formed a team and took part in Photo360, a photosynth contest organised by Microsoft Singapore. There are two ways to win, one is the best synth, while the other is the most popular synth. If you like the synth we have done, please help by voting. Thanks!

The area we synth is the Kranji War Memorial. Its a challenging place to synth, as the graves makes the place repeating, and requires lots of details for PhotoSynth to successfully synth it together nicely. But lots of details means lots of photographs, which PhotoSynth cannot handle. So we broke it into two part.

http://photosynth.net/view.aspx?cid=6189ba51-90d9-4428-a54b-635345011335

The purpose of this synth is to help guide the visitors how to make their way from the bus stop into the memorial. This is actually the better synth, IMHO, as there are only two hiccups. One is the path to busstop, which is disjoint, and the other is the path to the graves of the two presidents, which is still intact, but difficult to navigate to that one and only path.

http://photosynth.net/view.aspx?cid=2caa84b1-f89d-4c2e-b30d-a6503ab94254

The second one is the memorial itself. Photosynth was able to stitch most together, but wasn't able to position them exactly in real world, as evident in the overhead view, but one can still move from the gate all the way to the back. I must say the architect that design the place is really brillant, as the whole design significies the army, the navy and the airforce in its own distinct way. I love the way he signifies the airforce. Just click on bing maps, and you should be able to appreciate what I mean.

[Update]I noticed there is no "I like" button, so I guess "add to favorites" means voting... And please vote on the second one. The first one is used in the competition, as only one photosynth is considered.

Posted by kitkai | 1 comment(s)
Filed under:

I'm in the process of migrating some of my discussion forum work from MOSS 2007 to SPS 2010, in preparation for two presentation. One is IW Community organised by Malaysia SharePoint usergroup, while the other is CTU 2009 II, organised by Singapore Community. When deploying the content type definitions using sandbox solution (I love this!!!), I get an error.

Error occurred in deployment step 'Activate Features': Key cannot be null.
Parameter name: key

Was looking at what did the product team added to the content type definition by looking at ctypes.xml, but found nothing. I copied their <FieldRef Name="Title" .../> to my content type, and deployment went successfully!!! I started to work with CAML during SharePoint 2003. At that time, xml tags are still using this syntax, <FieldRef Name="Name"></FieldRef>. The more modern way of doing this is <FieldRef Name="Name" />. I always thought they are the same, just less typing only. But since I don't have any more clues, I just tried changing the syntax, and the error go away...

So in SharePoint world, the two syntax means different thing. Is it the same in .Net world??

Posted by kitkai | 1 comment(s)

 

Are you an unsung hero? Are you a developer who has stories that need to be told?

http://geeksengaged.com/blogs/geeksengaged/archive/2009/07/21/singapore-s-50-successful-developers.aspx

Posted by kitkai | with no comments
Filed under:

OneNote

http://blogs.msdn.com/david_rasmussen/archive/2009/07/15/onenote-2010-what-s-new-for-you.aspx

InfoPath

http://blogs.msdn.com/infopath/archive/2009/07/15/what-s-new-in-infopath-2010.aspx

will update as I discover (not actively finding though) new blog entries...

Posted by kitkai | with no comments
Filed under:

1. Outlook can connect to more than one exchange server!

Just close, go to mail in control panel, and just add a new exchange account! It no longer stops you! :)

2. Translation!

 

All I did was mouse over, and office translates it to the language I choose previously.

Have not tested entire paragraph to see how accurate is, but I'm sure this would come in handy when working with off shore offices

Posted by kitkai | with no comments
Filed under:

http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx

Go view the video... Exciting times ahead!

Posted by kitkai | 1 comment(s)
Filed under:

More details here,

Posted by kitkai | with no comments
Filed under:

http://www.office2010themovie.com/

Posted by kitkai | with no comments
Filed under:

I'm attending training this week, and I'm using virtualised Windows 2003 R2 given by the training company. I'm also using Windows 7 on my laptop, hence I need to upgrade the integration services. During the upgrade, Windows 2003 R2 dvd is required. I was thinking to myself, oh no! Must download from MSDN over 3G! :(

Then I remember I was mounting ISO using Virtual CD over network at home whenever I'm reinstalling my OS. Then I was wondering if I could do the same over internet...

Establish VPN back home, mount the ISO over VPN, and within seconds, I'm done! No need to transfer the entire ISO over!

I'm damn pleased!

Posted by kitkai | with no comments
Filed under:

For those playing with Vista SP2 (why am I doing this??!!) on Hyper-V, and no matter what they do, integration services just don't get installed properly, don't panick...

Pop in the SP2 for Windows 2008, wait damn long (30 min to 1 hour) for the update to complete, then install the new integration services, and you are good to go.

Posted by kitkai | 2 comment(s)
Filed under:

Many preach that deployment of assembly to GAC is a potential security breach, as codes are run with full trust. So many advocate deploying your assemblies to the Bin directory and use CAS to give them the necessary rights to run.

I've been working on a customisation to improve wiki and forum functionality in SharePoint to better support a technical community. I decided to give CAS a try, and deploy to Bin (my work are mostly POCs, hence I just deploy to GAC). It was difficult at the beginning, as it is so difficult to understand and determine the necessary permissions. Fellow MVPs Reza Alirezaei, Paul Schaeflein, Todd Bleeker helped me pick it up, and managed to grant all the necessary rights for my webparts. I gave up on application pages, but later know that inheriting from layoutsPageBase requires full trust.

When trying to figure out the how to give the assemblies the necessary rights, I found myself just adding permission requests in the assemblyinfo.cs. Then I realise, the target environment doesn't have any code review process in place. Many clients that engage my consulting time also doesn't want to hear about code review, testing. They still insist of using app pool to prevent code from one vendor to bring down production server, etc etc. Hence there is nothing to stop a dev from just basically requesting every permission available!

I also find the permission request quite general. Some of the request are just granting the code to access the object model. Tell me, which SharePoint customisation doesn't use OM? Why isn't it broken down to smaller pieces, like code to request administrative objects like central admin, or shared services. So I don't believe CAS will help deliver more secure code. But if IT has code review process in place, then CAS will help to a certain extend (though I think it would even be better if permissions can be made more granular)

For now, I rather GAC all my assemblies...

Posted by kitkai | with no comments

http://blogs.zdnet.com/Google/?p=1308&tag=nl.e539

This is already the second time information is leaked from Google. So if you have NDA information, or company secrets inside Google, be warned!

Posted by kitkai | with no comments

http://www.facebook.com/video/video.php?v=86101991840Big Smile

 

 

Posted by kitkai | with no comments

After reading Andrew Connell's post on Live Mesh, I've decided to give it a try, and see if it can replace Live Sync, which is working very well on my computers, except that it doesn't do mobile sync, or web sync.

Basically, I'm looking at Live Mesh to meet two short comings of Live Sync

1. Web Sync of certain folders, so that I can have access to some files outside my own workstations.

2. Ability to sync sub folders to someone else. E.g. I've set up sync for community projects. That's for me to access the files on any machines I'm developing / testing on. But each project, I work with a different set of people, and sometime, source control is not an option. So I would like to be able to sync a project, (e.g. COP), which resides inside community projects, to members of the project team.

After setting up Mesh with the various computer I have, I like the ability to

1. Sync with web,

2. Potential to extend the Mesh to sync other stuff (What I'm really lacking is true multi device rss reader, (Newsgator does sync all the subscriptions across devices, but doesn't mark a post as read across multiple device),

3. Create a new sync via drag and drop.

I find more short comings for now, though it is not enough to stop me from using. Just have to be careful.

1. If you setup with existing folders which are synced, but not update to date, there is a risk that older files will override newer files (which unlike live sync, will make a copy of them). I was lucky, I was working on the project, hence I can reject reloading in visual studio, and save the new copies back.

2. It is still not able to meet my second requirement.

3. Remote desktop, while useful, is less than usable. I rather use my existing vpn / rdp setup, which is much faster even when done on my HTC Touch Pro (A blog post coming up soon!)

4. Not able to set up the sync in one central location. Live Sync allows you to set up the sync on the web, to various computer, specifying details like where you want to sync to on each computer. But Live Mesh requires to go to each computer to pull it in. Web based setup also doesn't allow you to specify where you want to sync to. This is a big NO NO for me, a control freak!

5. Slow! Live Sync synchronises files much faster!

Posted by kitkai | with no comments

Pardon my yet another very "expressive" post. Wasted quite a bit of precious time, especially when the work I'm doing is community work, and a new born baby is competing with this precious resource. (More to come!)

Again, SDK says if you want to check if the person have approval rights (CAML), then render certain stuff, you use <RightsGroup PermApproveItems="Required" />I use this without really testing it in an existing field, and now there is something wierd going on in my SharePoint. Ok, maybe I should uninstall and reinstall the feature. And you know what? stsadm tells me the above attribute is not declared! NOW I AM PISSED!

Removed the attribute, and install the feature. Then put the attribute back, and now I did proper testing. Added a user without approval rights, and see if information rendered. No it didn't. Used back the administrator account and see if the information renders. Yes it did. HUH? So documentation is correct and works! So next time u see "something not declared" error from stsadm, remove that offending attribute, install and place the offending attribute back.

Maybe my next job, I must make sure SharePoint Architect / Developer must have access to a Psychiatrist!

Posted by kitkai | with no comments
More Posts Next page »