Programmatically retrieving Site Usage in MOSS 2007
Alternatively site usage reports can also be viewed from the site settings menu. However this option is available when it is enabled from the Central Administration's Usage Analysis Logging. The log file is located by default in the 12 hive of SharePoint in the LOGS folder. However there is an option available in central administration to change the logging path.
Business Data Catalog Overview
The Business Data Catalog feature of Microsoft Office SharePoint Server 2007 provides an easy way to integrate business data from back-end server applications, such as SAP or Siebel, with your corporate portal to provide rich solutions for end users without writing any code. You register business data exposed in databases or through Web services in the Business Data Catalog by creating metadata that describes the database or Web service. The Business Data Catalog then uses this metadata to make the right calls into the data source to retrieve the relevant data.
After you register a data source in the Business Data Catalog, the business data entities are available for use by any of the following business data features:
- Business Data Web Parts Generic Web Parts that display any entity from the Business Data Catalog, without deploying new code. The Web Parts provide customization, Web Part connections, and the standard Microsoft Windows SharePoint Services look-and-feel capabilities (paging, filtering, and style).
- Business Data in Lists New field type that allows you to add any entity defined in the Business Data Catalog to a SharePoint list or document library.
- Business Data Actions Business Data Actions bridge the gap between Office SharePoint Server 2007 and a native application user interface by providing a link back to the back-end data source. You can use Business Data Actions to build applications with write-back scenarios, such as a Customer Profile view that allows a user to update profile information directly in a back-end server application, such as SAP or Siebel. Actions are implemented as links, so you can also use actions to perform simple actions such as send an e-mail message or open a customer’s home page.
- Business Data Search Offers full-text search of the data sources registered in the Business Data Catalog. You can create new search result types based on the specific data entities registered in the Business Data Catalog.
- Business Data in User Profiles You can augment Office SharePoint Server 2007 user profiles from any external data source registered in the Business Data Catalog.
Excel Services - Architecture
- Excel Calculation Service
- Excel Web Access
- Excel Web Service
Here is what each of these components do.
- Excel Web Access – This is a web-part in SharePoint that performs the “rendering” (development team speak for “creating the HTML”) of Excel Workbooks on a web page. This is perhaps the most visible component for the end user. For those of you familiar with SharePoint, you can use it like any other web part in SharePoint to create a wide range of web pages.
- Excel Web Services – This component provides the programmatic access that I talked about yesterday. It is a web service hosted in SharePoint. You can use methods in this web service to develop applications that incorporate calculations done by Excel Services and to automate the update of Excel spreadsheets.
- Excel Calculation Service – This is the component that loads the spreadsheets, calculates them, refreshes external data, and maintains session state for interactivity. This is the heart of Excel Services.
Additionally, there is also a proxy that is used internally to handle the communication between the components on the web front end and the application server in multiple-server configurations. It also handles the load balancing in case there are multiple application servers in your installation.
These three components are divided in two major groups – those that live on a front-end server (which we refer to as a “web front end”), and those that live on a back-end application server. In the simplest of the configurations, all these components could be running on the same machine (we call this a “single box” installation). In a typical production environment with significant number of users, the components on the web front end and the application server would be on different machines. It is possible to scale (up or out) these components independently.
Security
Excel Services leverages the security infrastructure provided by SharePoint. Excel services uses SharePoint for authentication (who can log into the server) as well as authorization (who has access to which spreadsheet and the type of access; read, write, view only etc.). This provides a robust security environment for protecting your spreadsheets.
Performance and Scalability
Excel Services are optimized for scenarios in which multiple users access the same spreadsheets. We have done a lot of work to optimize for this scenario – for example, caching at multiple levels so that collective performance for a group of users is improved by caching spreadsheets as well as external data queried by the spreadsheets. All this is transparent to the end user except for the good response time. (Anticipating a question, we only share cached results between users that have the same rights.)
Excel Services can be scaled up by adding additional CPUs or memory to the server it runs on. It will take full advantage of multiple CPUs to handle multiple requests concurrently. It also supports 64bit CPUs. And it is possible to scale out the web front end and application server components independently, so you can adjust either based on server load and performance requirements. For example, if there is a bottleneck in rendering spreadsheets with Excel Web Access, then you can add more web front ends, and if there is a bottleneck is in calculations, then you can add more application servers to the farm. A lot will depend on the type, size of the workbooks and external data connections in the workbooks you are planning to use with Excel Services. For large deployments, some planning will need to go into the number of users as well as the anticipated workbook mix for the installation. The architecture is designed to meet the needs of a spectrum of deployments from a departmental to enterprise. The multi-tiered approach also allows for better security and isolation of services, for example in extranet scenarios.
Technical Architecture
- Meeting system requirements and objectives: Both functional and non-functional requirements can be prioritized as "must have", "should have" or "want", where "must have" identifies properties that the system must have in order to be acceptable. An architecture allows us to evaluate and make tradeoffs among requirements of differing priority. Though system qualities (also known as non-functional requirements) can be compromised later in the development process, many will not be met if not explicitly taken into account at the architectural level.
- Enabling flexible partitioning of the system: A good architecture enables flexible distribution of the system by allowing the system and its constituent applications to be partitioned among processors in many different ways without having to redesign the distributable component parts. This requires careful attention to the distribution potential of components early in the architectural design process.
- Reducing cost of maintenance and evolution: Architecture can help minimize the costs of maintaining and evolving a given system over its entire lifetime by anticipating the main kinds of changes that will occur in the system, ensuring that the system's overall design will facilitate such changes, and localizing as far as possible the effects of such changes on design documents, code, and other system work products. This can be achieved by the minimization and control of subsystem interdependencies.
- Increasing reuse and integration with legacy and third party software: An architecture may be designed to enable and facilitate the (re)use of certain existing components, frameworks, class libraries, legacy or third-party applications, etc..
Service Oriented Architecture (SOA) - The Basics
- False: SOA equals web services.
SOA equals distributed services. - Ideal: SOA cleanly partitions and consistently represent business services.
- Real: SOA is a fundamental change in the way we do business.
Real SOA
- Changed mindset: service-oriented context for business logic.
- Changed automation logic: service-oriented applications.
- Changed infrastructure: service-oriented technologies.
- A top-down organization transformation requiring real commitment.
SOA Characteristics
- Loosely coupled: minimizes dependencies between services.
- Contractual: adhere to agreement on service descriptions.
- Autonomous: control the business logic they encapsulate.
- Abstract: hide the business logic from the service consumers.
- Reusable: divide business logic into reusable services.
- Composable: facilitate the assembly of composite services.
- Stateless: minimize retained information specific to an activity.
- Discoverable: self-described so that they can be found and assessed.
Potential Benefits
- Based on open standards.
- Supports vendor diversity.
- Fosters intrinsic interoperability.
- Promotes discovery.
- Promotes federation.
- Fosters inherent reusability.
- Emphasizes extensibility.
- Promotes organizational agility.
- Supports incremental implementation.
- Technical architecture that adheres to and supports the principles of service orientation.
Common Misperceptions
- SOA is just Web services.
- SOA is just a marketing term.
- SOA is just distributed computing.
- SOA is a magic global solution to general interoperability.
Common Pitfalls
- Not basing SOA on standards.
- Not creating a transition plan.
- Not starting with a solid XML foundation architecture and skill set.
- Not understanding SOA performance requirements.
- Not understanding web services security.
Summing Up SOA
- Not a magic trick.
- Not a magic solution.
- Not an easy thing to do correctly.
- The wavelet of the present.
- The wave of the future.
- A useful architectural concept.
- A potential business facilitator.
Resources
- Douglas K. Barry, Web Services and Service-Oriented Architectures: the savvy manager’s guide.
- Thomas Erl, Service-Oriented Architecture: concepts, technology and design.
- Thomas Erl, Service-Oriented Architecture: a field guide to integrating XML and web services.
Disable Right Click On SharePoint Site
Follow these steps to prevent users from right-clicking in your sharepoint site.
- Add a content editor web .
- Add the following piece of code in the source editor of the content editor web part.
<HTML>
<BODY OnContextMenu = "return false;">
No Right Click on this Page.
</BODY>
</HTML>
- Save the content editor web part.
Users are now prevented from the right click option on the page.
Reconnecting Content Databases in MOSS 2007
- Content database
- Admin database
- Configuration Database
- Search Database
- Shared Services Provider
The following stsadm commands are used to reconnect to the content database after a failover, the deletecontentdb will remove the reference to the old database server and the addcontentdb will add the new database as the content database
stsadm –o deletecontentdb –url [Site] -databasename -databaseserver [Old Principal]
stsadm –o addcontentdb –url [Site] -databasename -databaseserver [Old Principal]
Reconnecting content databases can also be done using Central Administration,
- Navigate to Central Administration.
- Navigate to Application management page
- Click on the Content Databases.
- Select the content database that has failed-over.
- In the Manage Content Databases page, choose the Remove content database option, and then click OK.
- Select the Add a content database option, and enter the required details.
- Replace the Database Server box with the new principal server, and then click OK.
Globalization In .NET
In internationalization process the application code base will be same and the efforts will be on jobs such as translating, storing, retrieving and to make the application user friendly for the selected locale. In any given place the culture and the language will always be different and besides this you should also take into account the other factors such as time zone, normal date pattern usage, cultural and language environments, currencies, telephone numbers, and so many other factors that are specific to the locale.
In globalization the process of internationalization enables you to remove from the code base and the presentation layer all the contents and make you to use only a single presentation layer and single code base with a common contents that can suit any culture. The internationalization process will aid you to keep all the contents in a common place with an idea of making it easily accessible by the programme codes and the results can easily be populated all over presentation layer and the application with ease and efficiently.
In addition to the above, the internationalization process also enables you to store the contents and all the collected inputs from the user in a user friendly format and in a highly secured manner without compromising any standards pertaining to the local culture. The internationalization process is one step before any attempt for localising the application to suit to the local needs.
With the help of the localization process of globalization, you can make your application adaptable to the various location specific conditions and it will be easy for you to translate and re-format your application to suit to your new location and that too without changing any of the codes. Further, you can make use of the process for rectifying any of the reported bugs and for fine tuning the application for running smoothly without any hitch.
The globalization process also makes use of the locally prevailing information on culture where the software or the application is to be installed and maintained. The locational details and the language used in that particular area constitute to culture information and for working with any culture based information the namespace concept is utilised and the System.Globalization, System.Resources and System.Threading are the available namespaces in .NET Framework.
Out of the various namespaces, the System.Globalization namespace constitute classes that are used to hold information relating to region or country, the local language used, type of calendars, date format used, numbers, currency, etc., all in a meticulously arranged fashion and all these classes are used while developing the globalized (internationalized) applications.
You can use advanced globalization functionalities with the assistance of classes such as StringInfo and TextInfo classes and the various functionalities include text element processing and surrogate support systems.
The System.Resources namespace constitutes interfaces and classes that are very helpful for developers and maintenance experts in creating, storing, retrieving, and managing various resources used in the application that are culture and location-specific.
The System.Threading namespace constitutes interfaces and classes that aid in multithreaded programming. The classes that are used in this type of SystemThreading namespace are also useful in accessing data and for synchronization of thread activities.
Pros & Cons: Custom Templates and Site Definitions
Customization of site definitions holds the following advantages over custom templates:
- Data is stored directly on the Web servers, so performance is typically better.
- A higher level of list customization is possible through direct editing of a SCHEMA.XML file.
- Certain kinds of customization to sites or lists require use of site definitions, such as introducing new file types, defining view styles, or modifying the drop-down Edit menu.
Site definition disadvantages include the following:
- Customization of site definition requires more effort than creating custom templates.
- It is difficult to edit a site definition after it has been deployed.
- Doing anything other than adding code can break existing sites.
- Users cannot apply a SharePoint theme through a site definition.
- Users cannot create two lists of the same type with different default content.
- Customizing site definitions requires access to the file system of the front-end Web server.
Custom templates hold the following advantages over customization of site definitions:
- Custom templates are easy to create.
- Almost anything that can be done in the user interface can be preserved in the template.
- Custom templates can be modified without affecting existing sites that have been created from the templates.
- Custom templates are easy to deploy.
Custom template disadvantages include the following:
- Custom templates are not created in a development environment.
- They are less efficient in large-scale environments.
- If the site definition on which the custom template is based does not exist on the front-end server or servers, the custom template will not work.
Difference Between MOSS 2007 and WSS 3.0
- User Profiles support - Allows each user to store profile information
- Site Manager - Manage Navigation, Security and look and feel with drag an drop functionality
- Enterprise Search Tools - numerous tools to search Sharepoint Sites and Portals across entire enterprises
- Business Data Catalog - The Business Data Catalog (BDC) tightly integrates external data, providing access to external data residing within other business applications, and enabling the display of, and interaction with external data
- Business data search - Search data residing in your business applications using the BDC
- Business Data Web Parts - Used for viewing lists, entities, and related information retrieved through the Business Data Catalog
- Business document workflow support - Automate document review, approval, signature collection, and issue tracking using workflow applications
- Retention and auditing policies - Allows customized information management policies to control retention period, expiration, and auditing
- Browser-based forms - Integration with InfoPath, allows integration on to SharePoint of created forms and surveys.
- Integrated, flexible spreadsheet publishing - Allows information workers to easily choose what they want to share with others and determine how others can interact with published spreadsheets.
- Share, manage, and control spreadsheets - Provides access to spreadsheet data and analysis through server-calculated, interactive spreadsheets from a Web browser. Can help to protect any sensitive or proprietary information embedded in documents, such as financial models, and audits their usage.
- Web-based business intelligence using Excel Services - Allows spreadsheets to be broadly and easily shared. Fully interactive, data-bound spreadsheets including charts, tables, and PivotTable views can be created as part of a portal, dashboard, or business scorecard.
- Data Connection Libraries - Document Libraries storing ODCs (Office Data Connections), Making one single location for all data connections.
- Business Data actions - Easily create actions that open Web pages, display the user interfaces of other business applications, launch InfoPath forms, and perform other common tasks.
- Integrated business intelligence dashboards - Rich, interactive BI dashboards that assemble and display business information from disparate sources by using built-in Web parts, Excel spreadsheets, Reporting Services, or a collection of business data connectivity Web Parts.
- Report Center - Provides consistent management of reports, spreadsheets, and data connections.
- Key performance indicators - A KPI web Part can connect to Analysis Services, Excel Spreadsheets, SharePoint Lists, or manual entered data.
- Notification service - Improved allowing workflow users to receive emails by default, and improved triggering and filtering
- Single Sign-On (SSO) - Allows the User to log onto a variety of applications with a single user name and password, therefore integrating back office applications, and helps pre-population with integration to the Profile part of MOSS 2007.
- Social Networking Part - Connect to Public My Site pages to help establish connections between colleagues with common interests
- Personal Site Support - Allows Users to create Personal Web Sites
- Content syndication - Use RSS feeds to syndicate content managed in a portal site.