Tuesday, July 01, 2014

OnePlus One - First Look


OnePlus One.  Look on the internet and you will see a lot of talk about this phone.  It's hard to get one right now, and a lot of the hard core fans are  upset.  I was thankfully able to get my hands on one!

First off, this thing feels amazing in the hand.  It is so much higher quality than the Galaxy S5 its crazy.  This device feels like a high quality piece of technology.  Even the packaging it came in was of higher standards.

Performance is fantastic.  I have never used a phone that performed this well. Photo quality is one of my highest priorities and I plan to spend a lot of time comparing this phone to my S5 and an older S4, so look for that soon.

Saturday, June 02, 2012

SharePoint 2010 on SQL 2012

Did a production SharePoint install on SQL 2012 the other day.  Went very smooth. No issues at all.   Just FYI/

SharePoint 2010 on Windows Server 2012!

So, I couldn't sleep tonight and decided to see if I could get SP 2010 up and running on the newly released Windows Server 2012 RC. The short answer is YES! The long answer is a bit more fun. WS 2012 installs like a dream and is very Metro. Getting SharePoint to install was a bit trickier. I ended up downloading a script I found here: SP 2010 PreReqs PS and it worked like a charm.  The rest of the install was normal.  I also installed SQL 2012 Express Management Studio so I could attach some content databases from another farm.  Just for added fun.

Everything is rocking along as it should.  It's now a production box for one of my sites ;-)

Thursday, February 23, 2012

VS 11 Gets a New Look!!

I saw this post on the VS blogs today. Check it out:

The New Developer Experience!

Wednesday, September 01, 2010

SharePoint Foundation 2010

OMFG, I am finally getting to dig into SF 2010, and I gotta say I LOVE it! The install routine is perfect, and the features are great. This is a fantastic product from Microsoft. I can't see any reason why everyone isn't running this. Its perfect for hosting applications and allowing for collaboration and document sharing.

I'm going to host an application on it and I am heavily customizing the L&F right now. I will update and maybe add some screen shots when I am done.

Tuesday, June 01, 2010

Outsourced SharePoint Development

If you have a SharePoint development need, but can't afford to hire a developer or just don't want to go through the hassle, drop me a line. I can help you with any need, be it workflow, web part, theme or customization. I can turn most projects around fairly quickly and for a reasonable fee.

Also, be sure to check out my free components!

You can always donate too!

-Thanks!

Donate

Hey everyone, I appreciate all the downloads. If you want to, you can help me by donating a little something for my efforts.

Thanks!





Friday, April 16, 2010

Adding Opportunities In MS CRM with Code!

Ok, in case anyone cares, I am now doing a LOT of custom dev with MS CRM 4.0. If you have a question, ask me. I have probably already done it!

Anyway, I'll try and share code snippets when I think about it. Here is how to create a new opportunity via code. You know, in case you have a dataset of leads and want to auto-magically create opportunities from it.

opportunity o = new opportunity();
o.name = "*NAME OF OPP*";
Customer c = new Customer();
c.type = EntityName.account.ToString();
c.Value = new Guid(*GUID of Account to tie it to*);
o.customerid = c;
//ADD any other data about the opp HERE!!
//Grab the new opportunities ID on create!
Guid gOpId = _Service.Create(o);

See? Easy!

Wednesday, April 07, 2010

SharePoint Is Awesome

So, there have been quite a few posts lately that trash SharePoint. The comments are along the lines of "it's too hard to install/ develop on" or "it's too complicated". To all the whiners out there all I have to say is $(%&P($#%(#$%#$(, sorry I mean suck it up. Geez! I mean you are working in TECHNOLOGY!!!!!! Hello!! The world changes, new technologies come and old ones go. SharePoint is the future of development for at least the next 5 years. Deal with it. I love this blog post in response to one of these boo-hooers:
http://tonybierman.com/blog/2007/10/16/i-dont-care-if-you-dont-want-to-develop-on-sharepoint-and-neither-does-your-boss

It really says it all. Especially this part:

"I don’t care if you don’t want to develop on SharePoint. In fact, neither does your boss. Because he’s going turn on SharePoint in your enterprise anyway, just like everybody else is. One billion in sales baby, and growing fast. And your boss is going to want customizations and apps written for SharePoint. If you can’t do it, your boss is going to find someone else to do it. Like me."

And from Bob Mixon:
http://bobmixon.com/BLOG/archive/2007/10/16/Are-You-Ready-For-SharePoint.aspx

Couldn't have said it better myself! If you think SharePoint is too hard/complicated/difficult then you probably shouldn't be working as a developer. Why dont you run on home and let the grown ups get back to work

MOSS Bug?

I'm working on an application and we are using User Controls hosted in an ASP.Net 2.0 Web Part. Everything was working fine then suddenly nothing seemed to work right. The form view controls were either outright broken, or the we saving blank rows to the database. It took some investigating, but here is what I discovered:

1. You cannot have an Object Data Source running on MOSS and it have a parameter (insert, update or otherwise) with a type of 'object'. This appears to be the type assigned for GUIDs (database fields of type 'unique identifier'). When you do, as soon as I would bind the formview I would get a generic MOSS error page. You know the one, 'A web part is causing a problem....'
By changing the type on the parameter to 'string' everything started working. Of course that was only half the problem. Since making this change eliminated the MOSS error but I was still getting blank rows in the database.

2. The other thing I discovered. You cannot use the asp:table control in templates of the form view. When you do, the data fields are no longer bound to the datasource. The asp:table is bound. The controls of the form view are now children of the asp:table and not the form view. You could probably get around this by fully qualifying the controls for the parameters but why?

So, we changed the templates back to straight HTML tables and changed the parameter types to strings and voila! The app is working as it should.

Now keep in mind that outside off MOSS the app worked fine without changing the parameter types. The asp:tables were still an issue thou.

Windows Auth + FBA

I have been working to implement Forms auth and Wndows AD together on the same web application for the last few days. I am pretty happy with the results (extending the app, creating an extranet zone etc.) but saw this great article and thought it would help a lot of you out (like Scot!). Here's a quick blurb:

"This method uses forms authentication on a SharePoint web application to authenticate users against both SQL Server and Active Directory. Not only will this hybrid provider be able to manage users across the two most prevalent user data stores in Windows, but it can also be scaled out to support other .NET membership providers, as well as run custom code to query into any source of user information."

Thanks go out to Christopher V Domino for the great article!

Workflows P2

So, I was working on a project and need to programatically fire off a work flow for a list item. Easy you say? Well it is. Sort of. See first I needed to know WHICH work flow to fire off (in case there were multiple workflows associated with the list). So here is the code I used:

private void GetWorkflows()
{
SPWeb web = new SPSite "http://serverurl").OpenWeb();
SPList list = web.Lists["list name"];

string strWorkFlows = "";

//This would normally be passed in. Its the List Item ID
string strTaskID = "4";

foreach (SPWorkflowAssociation wfa in list.WorkflowAssociations)
{
if (wfa.BaseTemplate.Name == "NameOfWorkflow")
{
strWorkFlows += wfa.InstantiationUrl + "?List=" + list.ID.ToString() + "&ID=" + strTaskID + "&TemplateID={" + wfa.ParentAssociationId.ToString() + "}&Source=" + list.DefaultViewUrl;
}
}

Neat huh? What I did was re-create the URL that exists when you initiate a workflow from the list itself. The 'BaseTemplate.Name' will give you the name of the workflow assigned in the feature, not the one assigned by whoever created the association. This is helpful for making sure you find the correct workflow. That's it. Ping me with any questions/thoughts/suggestions.

Setting the Content Type of a document programatically

I had occasion to write a workflow that collected some documents and uploaded them to a documnet library. Pretty easy task, however I hit a little snag. Each document had a unique content type depending on the type of document. How would one go about setting the content type of a document that was being added to a doc lib programatically I asked. It would make sense to do it like so:

SPContentType type = list.ContentTypes["[Enter Content Type ID]"];
file.Item.ContentType = type;
folder.Files.Add(file);
folder.Update();
list.Update();

Alas, no. You see file.Item.ContentType is READ ONLY. Hmmm, now what? Well answer was a little more obscure than I expected. But ironically was the same methode I was using for someting else. Here is the solution:

Hashtable fileProps = new Hashtable();
fileProps.Add("ContentType", fileDocType);

Where fileDocType is passed in as a string representing the name of the ContentType. I already had the Hashtable created to set some other metadata on the document, so I really only need one additional line of code. Neat huh?

Adding new Virtual Directories with code!!!

Ok, we had a question come up at the User Group (UG) the other night. This person needs to create new virtual directories each time a new site is created. These VirDirs are to host legacy ASP.net applications. Now I know the CORRECT answer (at least mine) is to not host other applications on your SharePoint FEWS. However in the interest of being fair and realizing that it may be the only option for some folks, here is some C# code you can use where appropriate:
=================
//Create New Virtual Directory in IIS with DirectoryEntry()
string wwwroot = "c:\\Inetpub\\wwwroot";
string virtualDirectoryName = "myNewApp";
string sitepath = "IIS://localhost/W3SVC/1/ROOT";
DirectoryEntry vRoot = new DirectoryEntry(sitepath);
DirectoryWntry vDir = vRoot.Children.Add(virtualDirectoryName, "IIsWebVirtualDir");
vDir.CommitChanges();
vDir.Properties["Path"].Value = wwwroot + "\\" + virtualDirectoryName;
vDir.Properties["DefaultDoc"].Value = "Default.aspx";
vDir.Properties["DirBrowseFlags"].Value = 2147483648;
vDir.Commitchanges();
vRoot.CommitChanges();
======================
Enjoy!

Monday, January 04, 2010

From my Droid

Test post from my Droid. 


From my Droid

Test post from my Droid. 


Sunday, November 08, 2009

Dynamics CRM

So, I have been tackling a new MS beast these last few months. Her name is Dynamics CRM. In a lot of was CRM is very similar to MOSS. Sadly it's in their failings that they are most alike. The SDK is the worst. At least in CRM it's not full of placeholder content. However the content that is there is absolutely useless.

So, over the course of the last couple of weeks I have become the CRM master, as I had to become the Sharepoint master before. It all started with my desire to handle all of the data migration and integration myself, rather than let the consultants we hired for the implementation handle it. At the rate they were charging us and knowing that they required us to buy a third party tool, I felt (and rightly so of course) that I could do a better job. Most of the work was pretty easy. I created several SSIS packages to handle various tasks (full loads, incremental loads etc) from our data sources (Outlook contacts, ERP data from an Informix database etc...). The real problem came with the little gotchas. Things like assigning an owner of an account to a system user, or setting the parent company of an imported contact and sharing contacts with other system users.

These were not unsolvable problems (obviously since the code is complete) but they could have been made much easier with a properly written SDK. I'll try and put the code I came up with out on the interwebs for all to see soon.

Cheers!

Wednesday, June 24, 2009

SiriusXM iPhone App Review

So, I have been a huge fan of satellite radio for a while now. I have had XM in the wifes car since 2007 and Sirius in mine since 2008. I also had several radios around the house and the office. When the iPhone app was released last week I was pretty excited. I saw it as an oppurtunity to drop at least some of my radios, possibly all of them. Having used the app for only a day or so I have to say it feels like more of a novelty than anything else. While they did a great job for an intial effort it is still lacking in a couple of key areas.

First, the information displayed is too small. The artist, track etc is in small print ant the bottom of the screen. You have the option to show the station logo basically full screen, but the track info still stays small at the bottom. To me this is a huge miss. Especially for use on the go. It's hard to read at a glance if you or the iPhone is moving.

Next, and this is more a problem with Apples restriction on background apps but still, when someone calls your phone the app closes and you have to re-open it and navigate back to the channel you were listening too. That is a huge issue since you can't know when a call may come in.

Finally, the audio quality, while generally good, seems erratic. It appears that the initial 2-3 mins of listening is at a much lower bitrate, then as you maintain the stream it abruptly changes to a higher quality.

The second issue is why I consider the app a novelty. How can you use it for anything if the app can be closed at anytime? You couldn't effectivly use it to work out or connected to your stereo for a party. I guess I'll have to stick with the iPod functionality for that.

Friday, May 29, 2009

hulu Desktop

I just installed hulu desktop on my PC. All I can say is wow! I have a PC that I use for Media Center capabilities. It is connected to an HDTV via component video. The interface for hulu is fantastic and the video quality is simply amazing. It's the same as my Uverse, which is IPTV.

I may be able to scale back my TV subscriptions with all of this great content on the 'net/

Cheers!