November 2007 - Posts
I'm here at the Developer Academy Day in Airport City and between the great lectures and the awesome lunch – I've managed to find a few minutes to blog. I guess the Live Blogging ordeal that we have here got the best of me as well. Damm, I never thought I'll find myself giving up on desert to post a new blog…
Anyway, this post is actually a new chapter for the ever-lasting issue of PDF IFilter and 64Bit (As you may remember, the last update was by FoxIT and her PDF IFilter for 64 Bit). And the great thing - this time the solution is by the official Adobe. I'm afraid to speak the words but could this mean that this saga is finally over?
Here's the the quote from the Abode Labs wiki:
This prerelease software will allow a server administrator to configure the current 32-bit PDF IFilter so that it may be used with Microsoft Office Sharepoint Server 2007 on Windows Server 2003 x64 Edition.
Adobe currently bundles a 32-bit PDF iFilter with both Acrobat 8 as well as the free Adobe Reader 8. This uses the Microsoft iFilter interface and allows third party indexing tools to extract text from Adobe PDF files. However, currently this 32-bit PDF iFilter does not work on 64-bit systems.
In response to customer requests, Adobe is releasing this prerelease version of instructions and files which will allow a server administrator to configure the current 32-bit PDF iFilter to work on 64-bit systems, specifically Microsoft Office Sharepoint Server 2007 on Windows Server 2003 x64 Edition.
Here's the full article link. It also contains full installation orders. Check it out here:
Hmmm, Was that my final post about PDF? Let's hope...
Well – I'm off to see Yossi Taguri's lecture about Silverlight. The first part was really good!
I want to make short and sweet (or bitter in that case). I have learnt a valuable lesson this week and I would like to share - The ONLY supported virtualization platform for MOSS is Virtual Server 2005 R2. That's right – you read correctly. Virtual Server 2005 is the only way to go virtual in MOSS. Forget about VPC 2007! Forget about Virtual Server 2005! And most importantly, forget about VMWare! Microsoft won't support any of those implementations on a production server.
Several months ago, one of our customers tried to "play against the rules" and go VMWare. He was reassured by the VMWare guys that told him he will receive "commercially reasonable" support. Ok, promises like that are hardly something that would make me sleep better at night but the customer was satisfied. VMWare MOSS was implemented.
This lasted up until now. We've recently bumped into a nice performance issue in one of the FE virtual servers. We knew it had nothing do with Virtualization since we tested it over and over and we decided to ask the big brother – Microsoft Services. Now, here's the catch – they told us to go physical before they'll inspect the problem. We tried to rebel that annoying decision (and again – we tested it and that was MOSS's problem and not virtually/physical issue) but there is nothing MS could do – this is exactly what "Not Supported" means!
Anyway, if you chose virtual to be your production server for MOSS – that's OK and it'll probably work fine. However, unless you are working with Virtual Server 2005 R2 - at any time, Microsoft PSS guys could ask you to go to physical hardware to aid in troubleshooting and there is nothing you can do about it. I urge you to take it into consideration before you decide on the full virtual architecture…
This will be short and sweet. I ran into a customer yesterday tried to run a code for handling a Delete event in a document library. He responded to the "Itemdeleted" event and tried to get the SPItem object through the event's variables. However, the SPItem object consistently returned null so he couldn't do anything with it.
Well – this was true in earlier version but today, this issue is fairly simple to resolve. MOSS has both sync and a-sync events in the new programming model. In our case, the ItemDeleted event is not the best one. This event gets fired once the item was already deleted so we can't really reach any of its inner properties or values. You should use the ItemDeleteing event that is much more fit in this scenario. The ItemDeleting event gets fired after a Delete request was received but before the actual Delete operation. This means that your code is bound to commit when the item still exists and the SPItem is still available for use. Seems like a small issue in English grammar but could be very meaningful when you code…
By the way – This is true for all of the "ing" events in MOSS.
I wanted to blog about this one for a very long time but all I had to watch my mouth shut up until the official declaration. Well – no more waiting! Finally it's out in the open: say a big fat hallo to Search Server 2008! As you may have figured out from the product's name, Search Server 2008 is the new guy in Microsoft's enterprise-search family and it comes with a lot of new/improved bonuses for search fans like me. So, as of November 6 (which is today…), you can finally download and test the RC version (see link at the end of this post) and get your hands on Microsoft's new search toy.
OK. That's nice but why do we need Enterprise search product? We have our Google and Live Search so why not using them instead? Well, the answer is you could but it will work far worse that it does on the Web. You see, Enterprise Search is very different from Internet Search since our goal in the organization is usually to index structured and unstructured data stored inside corporate applications – a task that has very little to do with the Web Search engines. Search Server 2008 comes to address this problem. It was actually designed to provide a full solution for the inner-organization search and address all of the challenges in the way.
But there's more. In my opinion, the product that is probably the coolest one in the new family it the Search Server Express version. The Express version is built on the same core search engine of MOSS 2007, uses the same centralized administration console and features and it comes free of charge! It actually contains some huge additions like the new federated-search functionality that is very much needed in MOSS's current version. And even though it's going to be a free product, Express Server 2008 won't come any limit or small words in the license agreement (such as the number of documents in a single index like in the MOSS for Search version). So what's left for the full Search Server 2008, you ask? Don't worry – we still have plenty of things in there such as high-availability and load-balancing capabilities as well as an enhanced version of the BDC feature.
But that's not all – Microsoft will ship the final Search Server 2008 product with some new and very much anticipated protocol handlers that will allow indexing a whole bunch of 3rd party systems such as EMC's Documentum, IBM's FileNet and more. And if that's not enough, the federation search will also support the OpenSearch standard so you can basically take this federation idea anywhere. By the way, those features will be available to MOSS's versions as well in one of the planned Service Packs that will be released in 2008.
Well, enough talking! How do you get started?
So - Are you still here!?
The Document Information Panel (AKA the DIP) is one of the coolest features in the Office System 2007 integration. If you saw it - it allows you to fill in the Document Library/Content Type metadata within the document and even bind some of the metadata into the document's body. And guess what - This is only the beginning! It's true that Sharepoint auto-builds a very nice DIP according the relevant metadata but the really neat thing about it is that you can easily customize it with the full power of InfoPath 2007.
For example: I have a customer that wanted to replace a Textbox in the DIP to a Dropdown List that will display data from a Web Service. When using InfoPath 2007 – you don't have to deal with BDC or other complicated structures. InfoPath allows you to do it in a very simple manner and sometimes without even troubling a developer.
However, you may remember the good and the bad about InfoPath solutions. InfoPath 2003 was also a very powerful tool for creating forms but it wasn't too popular since it required InfoPath on all of the clients (think big $ signs…). Microsoft addressed this issue with the new Forms Server that ships with the Office System 2007 solutions and today this feature is extensively used. The Forms Server renders the InfoPath form into a web page and now you can consume this form without any further installations (and even in multi platforms!).
But wait, what about the DIP? It looks like the DIP is not rendered into a web form so it must use the InfoPath client installation to work (or at least a variation of it). Damm, isn't that exactly what killed the InfoPath 2003 solutions?!
Well, Microsoft thought about it and tried very hard to avoid another InfoPath 2003 fiasco. In the official documentation (an article called "Understanding Document Information Panels") from the official office.microsoft.com, you can find the following qoute:
"The Document Information Panel is a Microsoft Office InfoPath 2007 form that is hosted and displayed within a document. You do not need InfoPath installed on your computer to see a Document Information Panel in a 2007 Microsoft Office system document, but you do need Office InfoPath 2007 to design or customize Document Information Panels. "
Relaxed now? DON'T BE!!! I still came across the following error message that states exactly the opposite!
So what the hell is going on here? I would say the documentation is incorrect but there are some loose ends here. If InfoPath 2007 were mandatory for the DIP to work - why on earth would the "ipeditor.dl" be installed and shipped with just a Word 2007 installation?!
Well, there is some logic around it. It took me a while to find but once you get it – it's not too hard to understand. Here it is:
- Auto-Created DIP – When you DIP is auto-created by MOSS and no customization was done with InfoPath - You don't need InfoPath at all! This should be the default case and I guess this is this is the case described in the documentation.
- Customized DIP – If you ever used InfoPath 2007 to customize the DIP – you're in trouble. The documentation "forgets to mention" that that action shakes things up. Even if you just opened the DIP and saved it again (without changing a thing!) - You will need InfoPath on all of the machines running this document. This is a very important information to consider when deciding how to approach a solution (from the Web or from InfoPath). In that case, if you'll open a document and InfoPath is not installed, you will see the error message attached in this post and there is nothing you can do about it.
Hope this helped you. It's a real bummer to create a major design for a super cool solution and then find out it comes with a huge price tag (InfoPath in all of the client machines).