I'm a fairly experienced developer (.NET, C#, XML, Webservices, HTML, Javascript, various databases etc.) who have been tasked with a new project in SharePoint. I know nothing about SharePoint.
My question is: What is the best way for an experienced developer to start learning SharePoint 2007. I'm not looking for long lists of books or websites, which I can google myself, or for general advice on learning, but for specific advice from people who has recently learned SharePoint.
This might be advice on the one specific article that I really should read, or what my first learning-project should be, or one trap that almost everyone falls into in the beginning
Like you I hate to go through 500+ Pages book, How I started was on job training.
I would suggest you get created with a SharePoint site, from your System admin.
If you are the one who need to kick start the SharePoint. Then follow the steps and for each of the steps you can find ample number of links using Google
- Install SharePoint and Configure it.
- Create a Site Collection
- Go to the Site and in the Right Corner you will find a Menu called Site Settings
- Select that and play around with each and every options out there.
- Most of the options can be understood by the Name
- If you struck up some where come to SO or Start over again.
- Make sure that you always ask the question why this behaves this way & why this implemented this way.
- Try creating pages Same Site SEttings Menu has option to create page.
- There is some thing called Web Part which is actually a Pluggable component UI/ functionaly which can be customized as per the user needs.
- Try using those webparts (Lost of Out of the Box)
- Later move in to WebPart development,create your own, deploy it
- Start using the Microsoft.SharePoint.dll to access the SharePoint site using you custom code.
To give you a brief description.
Microsoft Office SharePoint Server 2007 is an integrated suite of server capabilities that can help improve organizational effectiveness by providing comprehensive content management and enterprise search, accelerating shared business processes, and facilitating information-sharing across boundaries for better business insight. Additionally, this collaboration and content management server provides IT professionals and developers with the platform and tools they need for server administration, application extensibility, and interoperability.
- I call it as Application development platform
- For anything you wanted to do there will be a option directly / indirectly in SharePoint
- Basically it is a Web Application built on top of ASP.NET 2.0
- Main entry point to it is an Web Application (Central Administration Site) you get this once you install SharePoint.
- This is where you can Create Web Application (Nothing but a Site in the IIS & Content DB)
- Yes you read it right Database,SharePoint stores all its content in Database
- Web Application is directly not usable (Its like empty DB and Empty IIS site) you need to have some content to be display to the user.
- Then Site collection comes, it give content to the User.You need to at least create Site collection under Web Application (Through Central Admin).
- While Creating Site Collection you will be provided with a Site Template (Template is nothing but a Blue print sort of thing that will dictate what your site will look like and what it have) there are template For Project Management,Bug Tracking (has options to track Bug, kind of basic infrastructure that will be needed in any Bug Tracking system).
- Next level is Sub site, under site collection you can have Site( here too you have an option to select the template), and under that Site you can have another Sub Site so on.
- And there is another important thing in SharePoint called List, its a similar to Table in SQL server but not exactly same (because list content are internally stored in SQL Tables), and List contains Fields (Similar to Column in Table). You can use them to store your custom data. While creating the list also you will have Templates (Say for example to Represent a Announcement you have a template, this will have all the fields that are needed to represent annoucement)
- And you have a Option to Create your own List Structure as well.
- There is a special kind of List in SharePoint called Document Library which can store documents.
- One final thing Security, managing Security is out of the Box. You can control who has access to you Site and what they can Access (Only Announcement , only Published documents) and what they can do with the item (Edit/Readonly/Delete) etc.
- You can create fine grained permission as you wish.
Hope So much of Typing helps some one out there :).
Welcome to THE SHAREPOINT WORLD
I agree with kusek, that's a great answer.
I would also add that SharePoint is too big a product to pick up development from a "Hello World"-type customisation as I think you're looking for. It's important to know the product first and the out-of-the-box functionality it can provide as often you might be able to avoid custom dev. When you exhaust these options and need to dev, there are several technologies involved and sometimes different options, all underpinned by an API with its share of gotchas (like any).
To cut through all of this I really believe you should read a book, and that book should be Inside Windows SharePoint Services 3.0. This will teach you most of the customisations you can do, it's simple and clear, and shows you best practices as well.
I started off the same way as kusek did (in fact SharePoint development was my first exposure to ASP.NET full stop). I just wish this book existed when I'd started several years ago as it would have saved a lot of pain and made me a better SharePoint developer, sooner.
SharePoint development really is a great challenge! I hope you enjoy it!