Quantcast
Channel: SharePoint – Be Awesome @
Viewing all articles
Browse latest Browse all 19

Recap 2011

$
0
0

End of the year and time look back on what I have accomplished.  Although I’ve been doing some form of SharePoint projects development / configuration / administration for much of the last 10 years, this has been one of the most productive from a development perspective.  I have had the good fortune of working with some very talented developers, both in SharePoint and .net.  I have grown a lot.  I have also had the opportunity to share what I learned with some of the newer members of the team.

While not everything, here is a short list of some of the more memorable skills I picked up or enhanced over the course of the year.  Everything here was done in SharePoint 2010 using Visual Studio 2010 only (ie  no InfoPath or Designer).

Content Type creation by defining in elements.xml files.  This includes the creation of Site Columns, Site Content types and list content types.  List content types get defined when you define fields in the list schema definition, which is the same as adding columns in the List Settings through the UI.

Custom Content Template for creating custom New, Edit and Display pages for list content types.

List Definition and List Instance creation either based on a custom content type or from an out of the box list type, mostly custom lists and document libraries.

List Field Iterator control for creating dynamic pages for both display and edit.  Used this control in combination with other SharePoint controls to customize how I display or enter data for a specific list item.  Also used the Excluded fields property to display or hide fields depending on the current SPWeb.

Workflow Development including assigning workflow to a list on feature activation.  This was a little challenging at first because I had not done any .net workflow to this point.  Near the end of the year, I needed to quickly create two new workflows for a project.  We have one of the third party SharePoint workflow tools and this was an option, but for the flexibility needed, I chose a custom workflow.  I completed the first one in about 1/3 the time budgeted for the task and the second was half of that. 

Timer Job Development.  From the simple beginnings of  following Andrew Connell’s excellent example back in March, this was one of the more frequently used tools for solution development.  I even used it to replace the SharePoint alert system on a project.  Many of these uses have since been converted to workflow or architected differently so as not to need this component.

Custom Application Page development is becoming pretty standard for much of the custom code we develop.  For me, I have created more application pages than webparts on my recent projects.  Not that there is anything wrong with webparts.  There are just specific design decisions where the application page is a better fit than the webpart, as well as times when it is not.

Anytime I did need a webpart, I would choose the classic webpart project item that has been available since .net 2.0. I finally needed to look into the visual webpart for a project. It is just a .net control added to the control collection of a ‘classic’ webpart, so it reminded me of the ‘Smart Part’ for SP2003. After looking at it this way, I was able to reuse some control templates I created for an application page in a webpart by pointing to this control template instead of the control template for the webpart.

Integrate third party web UI controls into application pages and webparts. This was fun as I looked at a number of web UI vendors to determine which one to use for a project. In the end, I was able to get them all working in SP so it really same down to feature set and ease of use. Quite happy with the choice and I’m becoming proficient with them.

Claim Based Authentication configuration for our SharePoint sites. One of my projects is an externally facing site, so not all of the people accessing the site will have an AD account.  Forms Based Authentication was needed to support the authentication of people not in our domain.  Spent much of the summer getting the original configuration correct and then getting this onto the other development machines.  I also created a Custom Login page to replace the out of the box mixed-mode authentication page.  It handles some of the important tasks needed for user account management, like security questions and forgot passwords.

jQuery and sp.js.  One of the biggest skills I picked up was around jQuery.  I played with it a little in the past, but I had a couple of important functions and this was the only tool that could meet the need.  This kind of task forces you to quickly understand and implement a solution with this tool.  It started with a simple request.  I had a project with a left navigation panel where there was a header section with submenus.  Could these headers be closed by default and opened once the user clicked the header.  A little searching and tweaking lead to the answer.  I actually got it working on a local html page where I pasted the html for the left navigation markup.  This was an easier way to look at how this works without running into any SharePoint complexities. Once it was working locally, it was easy to move this to the master page and deploy to the site.  This little bit of work led to my most viewed post on this blog and my most upvoted question on SPSE.  jQuery has also been helpful with adding links to BI images and changing out headers for reports.  Both were occasions where I did not have access to the native code, and had to wait until the object rendered client-side to make the changes.

Looking back at all of these techniques and the projects where I used them, I think this was a good year. 



Viewing all articles
Browse latest Browse all 19

Latest Images

Trending Articles





Latest Images