I can't find a reference to the earlier versions in the usual source (wikipedia), but I can tell you this: earlier versions of Microsoft Sharepoint were not well received by the community. Apparently the latest version is more friendly (but still not as friendly as it could be) and is a lot more than what I remember Sharepoint being advertised as (a long time ago, admittedly).
Last night was the monthly FSDNUG meeting. We started out with a brief tool presentation from David Mohundro about Lutz Roeder's Reflector. It's a great tool for analyzing the libraries you're using or figuring out how the IL the .NET compiler generates looks like when disassembled and uncompiled. I was talking to David after the meeting, and he mentioned a feature that sounded useful, if a little out of the way: you can bind Reflector such that special hyperlinks can open it to specific assemblies. That would be handy for sharing assembly locations.
The main presentation was from Steve Walker (he hasn't posted in a while), of Microsoft Consulting Services, about Microsoft Sharepoint. I'll admit I was a little biased coming in, remembering what was probably the first version of the servers being marketed around my Dad's office, thinking, "How could this be useful to us?" Sharepoint, though, looks like a great resource for enterprise situations that can really use a combination web-development framework and deployment solution. The biggest problem I can see with using it is that if you don't deploy your applications the "right way", the incredible scalability possible, where you can just bring a new Sharepoint server online and make it add itself into your farm of Sharepoint servers, disappears.
Mostly, though, I see it as a way to handle deployment of web applications across server farms in an easily repeatable way (QA and operational departments should love this). It also provides a framework to work within as well, especially through the use of what's called Delegate Controls. These are basically controls that you can setup that say, "Hold a place me, I'm going to put something else here - maybe more than one - but I also want some functionality in case I don't replace you." The most visible of these on Sharepoint sites is usually the search box in the upper right. There's a default version and appearance of the control, but if you want to roll your own you can set up your search box in the place of the delegate control.
But I'm not really qualified to talk about it. Best to give you a link, in this case one that Steve pointed us too after the meeting: FanU. I won't get any use out of it, but that whole site is setup using Sharepoint.
August 5, 2008
Sharepoint?
July 7, 2008
July DNUG Meeting
So tonight, in addition to the traditional pizza, we also had the traditional (I guess that's ok to say, it has only been a few months though) presentation and the soon to be traditional "Tool Tip".
This first presentation of a "Tool Tip" - my own name for it, though if you want to take it, do so Paladino - was vouching for and showing some uses of some of Sysinternals's utilities. Now, I'd heard of Sysinternals before, but didn't know they'd been bought by Microsoft.
Two things of note not mentioned at the meeting:
- Sysinternals is the group behind Rootkit Revealer, which famously uncovered the infamous Sony Music CD rootkit.
- Some PC games have copy-protection software that watches for either an installation of Process Explorer or for an active Process Explorer, uh, process. So, fair warning to those of you who may game on a machine you also use for developing.
It's all based around the decoupling of client and service (or server) through the use of Web Service Definition Language (WSDL) "contracts". This means that you don't need to explicitly share code between your two pieces and really facilitates having, say, an internal WinForms or WPF application and an external ASP.NET or Silverlight application that make use of the same functionality.
Since WCF is entirely opt-in through attributes (except for the actual host of the service, which I would hope is obvious), it should be pretty easy to adapt an existing codebase - probably the "business logic" layer of a standard WinForms app - for use as a service. And like I said above, depending on how the service is being hosted or the service itself, a WCF service can talk to a non-WCF client and a non-WCF service can communicate with a WCF client. That means you can talk cross-platform if you have a mixed shop.
It's some pretty cool stuff, especially with the use of the IExtensibleDataObject interface that allows a service and the client to pass around information that they don't really understand but some service in chain uses or requires. It's a sort of "soft versioning" so that the clients don't blow up when you change the service. Read More......
June 2, 2008
Object-Relational Mapping
For those of you who haven't noticed these past three months, I tend to blog about the FSDNUG meetings relatively shortly after. Since the meetings happen on the first Monday of every month, guess what time it is?
Since the dawn of time (ok, for as long as there have been databases and programmers that could connect to them), man has searched for ways to get database ... data ... into a usable form that programs could use. One of the solutions to this problem, in the land of object-oriented programming, is to use an ORM (see title) tool to help. There are a variety of these available, probably as many as there are motivated, capable people who have different ideas of how to do things. Of the many, the .NET world includes NHibernate (a port of Hibernate Core for Java), the ADO.NET Entity Framework (which hasn't quite been released yet, I believe), and SubSonic.
Tonight, Michael Paladino gave a presentation on ORMs and, in particular, SubSonic. SubSonic is an open-source (free as in speech and free as in beer) ORM tool designed for use with ASP.NET websites. From the demos offered, it looks like an incredibly useful tool if you set you database up properly (it's definitely possible to use configurations to get some functionality out of it, but at its base it relies on certain conventions being followed). They even include some fairly handy web forms controls, even if some of them are only really useful to accelerate your RAD processes at the earlier stages.
It really sucks, IMNSHO (that's right, look it up), that I'll probably never see use out of any tools like this at my current office. First, we'd have to find something that supported DB2 (I jokingly asked during the meeting, "So we won't be getting LINQ to Mainframe?"). Then we'd have to convince the DBAs and the cpu-efficiency folks that it was a good idea.
By the way, Paladino, you should at least update your blog to mention/discuss the presentation. For those interested in the PPT or the sample project, click the Fort Smith .NET User Group link to the right and then go to "Previous Meetings". Until next month, it should be the first meeting at the top of the page (for future reference, it's the June 2, 2008 meeting).
May 5, 2008
Going Mobile
So, tonight was the third meeting of the Fort Smith .NET User Group, and the second time I've attended. First things first, I got no swag. I suppose that's what I get for winning that copy of ReSharper last time.
Tonight's speaker was a someone from my place of work, a man by the name of Kerry Jenkins, talking about the .NET Compact Framework. It was a good, though quick, look at what is and isn't available along with some of the challenges involved in programming for the varied Smartphone/PocketPC landscape. Just some general notes follow.
- Get access to Battery level and other system related information
- Tap into the received SMS messages to trigger program execution. To more securely handle this than Kerry did, you'd probably want to setup the interception based on the "Sender".
- PocketPC and Smartphone environments differ, although the Smartphone environment maybe a subset of the PocketPC environment.
- Due to varying aspect ratios and resolutions, if you want to make a truly universal application you'll need to do some multi-platform setup and testing.
- There are actually internal database setups available/deployable in the environment.
While I was there in the room and while I've been typing this I was thinking: you could totally set this thing up to help you/the police track down someone who's stolen your phone. Like I said above though, to prevent erroneous starts, you'd want to tie the interceptor to the sender of the message, and then scan the text of the message to determine what to do. Once you've done that, if it's a "start tracker" message, start the application and periodically send GPS data to a website, a personal email account, or even the phone that sent the text message. Read More......
March 31, 2008
Thoughts on Silverlight
So, I guess you could say I've seen the light regarding Silverlight. Tonight's FSDNUG meeting with Chris Koenig has revealed to me a few reasons why Silverlight can be a better choice than Flash, especially depending on the environment you already have in place. Before I go further, I should note that I'm specifically referring to Silverlight 2.0, which is still just in Beta 1 right now.
- Developers already familiar with C# or VB .NET don't need to learn a completely new set of tools. (see: learning curve of Flash/ActionScript)
- It's even simpler if you're familiar with the Windows Presentation Foundation (WPF), as Silverlight is a specific subset of that feature set/framework.
- It can coexist with Flash in a page.
- Tools to set apart GUI Design from the rest of the development. Even though Silverlight will never see the light of day where I work, WPF probably will in a few restricted areas and these tools will work for that as well. Though, much to the chagrin of most of the developers they've talked to, they don't implement source control yet.
In other news, I won a license for ReSharper, which I plan to put into heavy use at work as soon as I set it up and figure out how to use it. I know some particularly nasty looking pieces of code that should look nicer once I get the refactoring tool after it. Read More......
On Surprises...
If you look at my profile, you'll see my 25th birthday is coming up. Hooray for reduced insurance prices!
Anyways, my parents came up this weekend. The same weekend that one of my friends was arranging a get-together to play some Super Smash Bros. Brawl (SSBB) and grill some burgers. Unbeknownst to me, this was all actually the cover for a surprise birthday party, including NES-controller-shaped cake, courtesy of my sister (I'll have to get some pics from someone who had a camera). Thanks for the party everybody! Although, we should definitely get together sometime just for Brawl.
In other news, it appears that GameStop is going to attempt to solve my PS3 SNAFU by shipping me what I ordered. Hopefully they get it right this time, otherwise I'm gonna tell'em to just accept the return and buy a 60Gb PS3 off of the Amazon Marketplace.
In the meantime, I think I'm going to attend tonight's second (my first, should I go), meeting of the Fort Smith .NET User Group (FSDNUG). I don't think I'll ever use Silverlight at my current job, but it should interesting to see what Microsoft plans for their Flash-like framework.
Before that though, I'm going to try and get through the month of November in Persona 3 (only 23 days before the FES expansion comes out).
