posts - 289, comments - 120, trackbacks - 110

My Links

News

My main blog url now is: weblogs.asp.net/meligy

Tag Cloud

Article Categories

Archives

Post Categories

BlogRoll

About Me:

ITWorx CuttingEdge Club First Public Session - Welcome to MS Office Sharepoint

Introduction
This week, I've been to ITWorx first public seminar called "CuttingEdge Club" on Saturday. The idea of a public developer seminar was pretty interesting to me being one of the organizers and speakers for the first developer seminars held in Egypt ever (the DemoDay event we started earlier back in November 2006), and being a speaker myself in ITWorx internal seminars just last week!
Interestingly enough, ITWorx started their internal seminars/conferences/clubs (call it whatever you like :)) by almost the same time we started it in SK. We both shared the idea that it's important to share knowledge with other developers in Egypt knowing the sad fact that Egypt critically lacks offline user groups for developers. Our management both cared about this as it improves the image of Egyptian developers internationally (both SK and ITWorx relay on foreign clients although each targets a very different market). And here ITWorx shows the same passion of educating developers in Egypt using public events as we did in our two DemoDay events with their first public CuttingEdge club seminar.

First thing I liked about CuttingEdge club is that they didn't just repeat how we did it in DemoDay, instead of a whole day event on new BETA technologies mainly besides recently released and rarely used concepts/skills related to existing technologies as in DemoDay, they have chosen to go for a 4 hours event (starting 5 PM) one of these relatively new existing technologies, MS Office SharePoint, which is not extremely new, but developers lack information about it as they hardly learn it until they get into a project featuring this technology. This is great as it benefits Egyptian developers with another taste of an event. After all, independent developer seminars are PURE volunteer work, not meant to be just another way to help competing with other companies, bla bla bla (Trust me, I've been involved in making some ;)).
I have been to the session with few other guys from SK .I already knew a number of ITWorx friends, so, once I reached the place - which was a little far and quite bit to find yet really interesting and has great hospitality and preparations -, started hanging out with SK and ItWorx guys, and other attendees from  my ex-company (at the end of the day, we're just developers, not soldiers in enemy countries :D) until Eng. Mohamed Karam, the chief architect, and the one leading a department in ITWorx called "Architecture Group" (the one behind the CuttingEdge club) started his keynote, talking about the history of the club and other community activities inside ITWorx. The guy was (like all speakers I've seen that day) an interesting fun speaker, and although he had to go through many points and we all were dying to get to the sessions, he gave a pretty interesting keynote.

The First Session: Introduction to SharePoint :
I believe this session was hard to give, but Eng. Marwan, the speaker did a really great job at it. The point is, the session was intended to benefit both who have worked with SharePoint 2003 and those who have never worked with SharePoint, to introduce to them SharePoint 2007. The guy started with talking about what physical components of SharePoint are (the DB backend (Aka SQL Server), web server (Aka, IIS), and application services (Aka SharePoint itself)) and going further to deployment scenarios being pain in 2003 and easy in 2007. It sounds weird start when I read my notes now but at that time it went pretty smooth :). He also of course differentiated the free WSS (Windows ShrePoint Services) you can download for free, and the full featured SharePoint Server, the concepts of "Web Application" and "Website Collection" and demoed creating both through the "Central Management" tool. through the demo, he also went through using website templates, creating multiple websites under the "top level" site   using themes, the role of master page in just-created web applications.
Later, he went into SharePoint Webparts. As usual with interesting going-smooth starts, he started by how the webparts related to Windows Workflow Foundation (WF) -indicating that SharePoint 2007 runs on .NET 3.0 of course- and mentioning the non customizable out-of-the-box templates, ability to create your own custom workflow, and the usage of SharePoint designer that enables limited workflow functionality. He went into Visual Studio 2005 integraton with VS SharePoint templates, and the "Office Forms Server" featuring InfoPath forms (with no special client requirements like SharePoint 2003), "Excel Services", Business Data Catalog (which was the main topic of the advanced session), and the Enterprise Content Management features.
He kept continuing with webparts, mentioning the bless of editing them in runtime, and the ability to create properties on those, and making them support using the built-in personalization and customization features (later I asked him and he said that you can make even custom editors for these webpart properties). He explained that webparts are hte main content of a web page in SharePoint, showed VS Extensions for WSS, ad the ugly fact that webparts do NOT have markup files (nr Designer Tool of course). He went through code snippets to give simpla example of how the development model works through custom SharePoint controls and dynamically adding those to page, then he demoed how to add this to existing and running webpage.
Later he went to illustrating another component of SharePoint called "Features". These are basically like pluggable commands, components to be added to running websites. He demoed adding new "Feature" to running SharePoint website through the central management web UI (in "Site Settings"). He did highlight by then and in many other places the great role of SharePoint developer community of enhancing the not-so-beautiful-by-default developer experience with SharePoint.
He then went on demoing what a "Feature" is, going through the XML file that defines it (what did you expect ? :D), what different options you have in such file (scope, like website; whether hidden or not; etc...), and deploying a "Feature" using the default SharePoint command prompt (Yes, you read that right, command prompt!). and the alternative tools liek WSB Builder.
In general, it was a great session, and I was very impressed by having all this information pretty easily and smoothly in what's called an "introduction" session. Mohamed Samy, my best friend @ ITWorx says I always want a course instead of a seminar session. This session satisfied me a lot anyway, Mohamed :).

The Second/Last Session: Advanced SharePoint:
Now it was Mohamed Yehya's turn to take the lead (he was present as co-speaker to add more interactivity and fun atmosphere to the session, and he exchanged places with Marwan this session, having Marwan as the co-speaker).  The big title for the advanced session was "Business Data Catalog", which is the base you'll rely on for any customization or integration work you need to do with SharePoint. To make the topic familiar to developer minds, he started talking about common integration scenarios like direct DB access by multiple systems, integration through webservices, using integration server (aka, BizTalk), or using backend interface (API injection). He got these options in the context of a case study of an enterpirse organization that needs to get some business information into its to-be-created portal, with enabling these to be searchable, and guaranteeing security of aggregation.
Of course that moved us to "Business Data Catalog" (BDS), how it does connect the application to the backend.which identifies the system we need to integrate with, with all metadata we need and other information (like, in case of integrating with DB, the DB provider and connection string), and how this can be leveraged across an entire windows enterprise.
Through explaining that XML "Application Definition File", after talking about DB integration, he also went into the details of defining a system including system types (and relations between them), and the properties, methods related to each type. He then demoed how you can use the central manager to import that file and how this allows SharePoint to realize all the types, properties, relations and  actions provided for the defined system(s) inside that definition file.
Continuing the demo, he showed how you can use the imported info (DB integration scenario, shouldn't make difference though if web services, which as I asked him are one of the powerful options when creating the definition for the system),
 he created a simple SharePoint webpart that was mapped to the related web application to use one of the types in the application definition type ("Product" in our case) with listing and selection, and even using simple web menu options to associate that with another related type ("Category" of course :)). He showed how this all shows up when using search, and the ability to use type specific actions through for example the search results page.
Going more about search, he also showed how to provide new searchable "Content Source" from the central management UI, mentioned the crowling (indexing) nature of that search, xml-configurable security trimming (not showing results that the user is not privileged to see), and - talking about security - he also mentioned the different permissions a user can have of an entity of each system type, and then talking more about something called entity "Profile".
The profile is simply like a default details page of the entity, showing all its properties and enabling you (if authorized of course as in everything) to perform the available actions for the type of the entity. He went through his demo to show how you can entirely customize the profile page, showing an interesting usage of "Excel Web Access", which is showing web charts related to the entity.
Then the next important concept was "Business Data Columns". As you may guess from the name, each business column is an business entity property, but the story does not end here. You can go through SharePoint UI component (the document library), go and add new column (for example, from another related entity, like "Reseller" in our example), and totally control which columns to show for the entity (even regardless of the defined properties). He also demoed how this all fully integrates with Office 2007 to enable (for example) creating new document that fills the entity with the business data columns you specified earlier, and showing the new "Information Panel" in office 2007 which integrates your office with SharePoint search and enables you to work with business data in general, mentioning that this can be utilized later for document workflow purposes. He also returned to the web UI to show that you can do type checking on the entered values on the specified columns (like autocomplete list for inputs from related entity).
Then we went back to search to focus more on the actions tied to an entity (appearing in search results and profile as mentioned above). He mentioned that you have a list of default actions to perform, but you can edit the default profile page for example using the "Business Data Editor" UI for adding your actions to the item shown in that profile. He demoed emailing action which was interestingly 100% done through the SharePoint web UI, mapping required fields like email address, etc, to business item/entity properties, so, being appearantly dynamic enough.
Back on security, he mentioned that the authorization model for performing these actions can be performed using the logged in user permissions, or SharePoint "Single Sing On" feature performing your own authorization on top of it. He also mentioned that authorization and other features are all subject to wide logging features in SharePoint.
Still, the first major pain with all that as we agreed was creating the definition file itself, which all other features work after importing it. For the DB model, he went through demoing a tool provided by August Update of SharePoint SDK. The tool "Business Data Catalog Definition Editor" provides a design surface much similar to DB diagram with enabling choose types, properties and relations (even if not existing in DB) to your system definition, allowing you to name your system(s) later and export the whole work to an XML file that can be later imported through central management UI.
The last topic for the session was "metadata authoring" meaning using the ShrePoint API to create your custom work through code not just like custom webparts, but any other application even a desktop one, as these APIs can simply run
outside the ShrePoint context.

Conclusion:
It was a very fun and informative day (or should I say night!). I really hope to see other companies going with the same attitude as we developers need something to gather use, if offline user groups are not working out so far, we can keep trying with adding one more option like public seminars. This is really great.
My comment on the specific ITWorx event is that it's a good step. I can say it was done right to a pretty good extent for the first public event, and certainly, if I have free time (my work timing is quite weird due to my univ. study), I'll sure attend more CuttingEdge club events, internal and public. Really Good Work M. Yahya (sorry if misspelling that!) and Marwan. You were the stars of the event and you deserved it fully :).
Oh yeah, one more thing: Goo for you that you insisted on keeping my questions to the end. I was pretty interested that my mind was so full with questions and hardly helped my built-in nature :D ;)

Note:

As with DemoDay, the CuttingEdge Club seminar was video recorded. I'll post an update here once I get information regarding the videos being available online for public.

Print | posted on Monday, November 26, 2007 8:17 AM | Filed Under [ Local Events ]

Feedback

Gravatar

# re: ITWorx CuttingEdge Club First Public Session - Welcome to MS Office Sharepoint

Thanks Mohamed for your review and for attending the session. Hope to see you in future events. You can spell my name that way you like, I prefer Mohamed Yehia :)
11/26/2007 12:32 PM | Mohamed Yehia

Post Comment

Title  
Name  
Email
Url
Comment   

Powered by: