Thursday, October 4, 2007

How to prevent SharePoint Designer 2007 users from changing a Windows SharePoint Services 3.0 site or a SharePoint Server 2007 site

INTRODUCTION
This article describes how to prevent Microsoft Office SharePoint Designer 2007 users from changing a Microsoft Windows SharePoint Services 3.0 site or a Microsoft Office SharePoint Server 2007 site.
MORE INFORMATION
To prevent users from changing a Windows SharePoint Services 3.0 site or a SharePoint Server 2007 site, disable the authoring feature in SharePoint Designer 2007 by editing the Onet.xml file. By default, the Onet.xml file for Windows SharePoint Services 3.0 and for SharePoint Server 2007 is in the following folder:
\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\SiteTemplates\\xmlNote Replace the placeholder with the name of the Windows SharePoint Service that is installed on the server.For example, if the English (United States) version of Windows SharePoint Services is installed on the server, the SharePoint Team Site site template is located in the following folder:
Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\1033\STS\XMLTo do this, follow these steps:
1.
On the server that is running Windows SharePoint Services 3.0 or SharePoint Server 2007, locate the site template that you want to modify. Site templates are located in the following folders on the server:

SharePoint Team Site: Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extentsions\12\Template\LangID\STS\XML.

Meeting Workspaces: Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extentsions\12\Template\LangID\MWS\XML Note Replace the Drive placeholder with the drive where Windows is installed. Replace the LangID placeholder with the language version of Windows SharePoint Services 3.0 that is installed on the server.
2.
Right-click the Onet.xml file, click Open With, and then click Notepad.
3.
Locate the Project Title tag, and then add the following line:
DisableWebDesignFeatures=wdfopensiteThen, click Save.The complete Project Title tag is as follows:

4.
Restart Internet Information Services (IIS). To do this, follow these steps:
a.
Click Start, click Run, type cmd, and then click OK.
b.
At the command prompt, type iisreset computer_name /restart, and then press ENTER. Note Replace the computer_name placeholder with the name of the computer that is running IIS. After you follow these steps, users who try to open a site that is based on the site template that has the DisableWebDesignFeatures=wdfopensite attribute will receive the following message:
This web site has been configured to disallow editing with FrontPage. Contact your web site administrator for more informationBy default, if you try to change a Windows SharePoint Services 3.0 site or a SharePoint Server 2007 site by using Microsoft Office FrontPage 2003, you receive the following error message:
Web Site Editing is Disabled. This web site has been configured to disallow editing with FrontPage. Contact your web site administrator for more information.

Does your SQL server look like this after a SharePoint install?

The below screen shot was from a SQL server where SharePoint was installed. Notice the database names. Now if this was a managed SQL server environment the DBA's or system administrators would be wondering what the heck are these databases?

You may also notice that a few of the Admin Content Databases are offline. This was taken from a server where something went wrong. I can't specifically say what it was. But the point of this post is to highlight that you can actually give these databases proper names that would make sense.
For a seasoned SharePoint administrator this is obvious that the user who installed SharePoint did not use PSCONFIG to provision the databases. In a shared database environment if you have not documented your install well it will become very difficult for someone who has no SharePoint background to figure out why these types of databases are created with a GUID.
The point is that if you have are planning to deploy SharePoint into a production environment have a look at planning and installing SharePoint using the PSCONFIG command.
First point of reference before a production installation is:
Deployment for Microsoft Office SharePoint Server 2007 on TechNet.
For planning your Security accounts you should reference "Plan for administrative and service accounts" article on TechNet. SharePoint takes on the least privilege administration principal for the installs. Which means the installation accounts DO NOT have to be Domain administrators. For a list of least privilege administration requirements with domain user accounts, see the Office SharePoint Server security account requirements guide document on TechNet.
For a SharePoint base install that will allow you to later provision web applications and site collections you will need the following accounts and databases. Assume that you do not have direct access to the DB server and that your databases are created by a system administrator. Unless you plan and request the databases to be created with the required permissions your installation may not end up being the best that it could. The installation assumes that you will be installing and deploying SharePoint using domain accounts.
Setup user account
This account is the account you will use to install and configure SharePoint on your web front end (assuming that your deployment is a server farm using a dedicated or shared SQL back end) For later reference I will call this account: "svcMOSSSetupAdmin"
The requirements for this account is:
That it is a Domain user account. NOT a Domain administrator.Member of the Administrators group on each server on which Setup is run. Typically the server that you are running the SharePoint setup from. make sure you log in to the server using this account when running setup.
On the SQL server this accounts DOES NOT need administrative privileges. So if you are installing SharePoint on a database that has already being created you must ask that your system administrator or DBA should grant the following SQL Server security roles for this account.
securityadmin fixed server role
dbcreator fixed server role
Also this account must be "db_owner" of all three following databases. This is when you run STSADM command this is the account that will connect to the database where your sites are hosted.
This account is used for:
The SharePoint Products and Technologies Configuration Wizard
The PSCONFIG command-line tool
The STSADM command-line tool
Go to TechNet for complete references of PSCONFIG and STSADM.
PSCONFIG command-line reference
STSADM command-line reference
Server farm account
The server farm account is used as the application pool ID for the Central Administration Web Application. This account is also used as the process account by the Windows SharePoint Services Timer service. This service acts as the heartbeat for the server farm and is responsible for running timer jobs that propagate configuration settings across your server farm. Typically when you create these accounts you set account password expiry to off. Unless you have a change management process to change this via Central Administration when your password expiration policies kick in. I will refer to this account as "svcMOSSFarmAdmin"
So the requirements for this account is that it's a Domain account. No Administration privileges required.
If the server farm is a child farm with Web applications that consume shared services from a main farm, this account must be a member of the "db_owner" database role on the configuration database of the main farm. Additional permissions are automatically granted for this account on Web servers and application servers that are joined to the server farm when you run the install process.This account will be automatically added as a SQL Server login on the computer running SQL Server and added to the following SQL Server security roles:
dbcreator fixed server role
securityadmin fixed server role
db_owner fixed database role for all databases in the server farm
Now that you have sorted your accounts you'll need 3 databases to be created on your SQL server.
When you request the Databases to be created by a DBA (Assuming that you will not be creating the DB's on the SQL server yourself) make sure that you ask for the collation set to be specified as: Latin1_General_CI_AS_KS_WS
The collation settings can be read as: Case Insensitive (CI), Accent Sensitive (AS), Kana Sensitive (KS),Width Sensitive (WS).
Once again TechNet has details of preparing your database servers. If your deployment environment has a managed SQL back end then you will need to read: Deploy using DBA-created databases (Office SharePoint Server).
Database Names. I typically use the following conventions so that I can give detailed names to the databases. [NAME] can be swapped with the actual deployment scenario. [ENVIRONMENT] refers to Dev, Stg or Prd.
MOSSConfiguration_[NAME]_[ENVIRONMENT]Contains all of the configuration information relating to the sever farm
MOSSCentralAdminContent_[NAME]_[ENVIRONMENT]Contains the content for the Central Administration site
MOSSSearch_[NAME]_[ENVIRONMENT]Contains search configuration information for the farm
Ex for a Web deployment: MOSSConfiguration_[NAME]_[ENVIORNMENT] should be MOSSConfiguration_Web_Dev Ex for an Intranet deployment: MOSSConfiguration_[NAME]_[ENVIORNMENT] should be MOSSConfiguration_Intranet_Dev
So provided that you have planned your install and determined your deployment topology you can install and configure SharePoint as follows.
Login to the server (Web) where you will install and configure SharePoint using the "svcMOSSSetupAdmin" account. Run the SharePoint Setup.EXE file from the media.
Choose "Advanced" as the installation type. In the next screen make sure you choose "Complete". I want to point out here the main differences of the types of installs.
Complete – Installs all of the files necessary to run all services on the server (Most Recommended option).
Web Front End – This is used when you are absolutely sure that this server is only used to serve web pages. No roles can be assigned or services such as “Search” and “Excel Services” if this option is chosen (Choose only if this has been agreed as part of the deployment)
Stand-alone – Installs all components including SQL Server Express. This should ONLY be used for development servers and should not be used in a production scenario.
Also on this screen you can select the index and log locations of your search index files. The search index is located on the physical disk. So depending on the install type make sure that the location has enough disk space.
Once this is done click "Install Now". Once the install process is finished you need to make sure that you DO NOT run the "SharePoint Products and Technologies Configuration Wizard" so make sure that you uncheck the checkbox and exit the wizard.
No the next steps involve running the PSCONFIG utility to connect and configure the databases on your SQL server. Now you will have nice and easy to understand database names in your deployment.
Open a CMD prompt and set your path to: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN (Known as the 12 hive bin directory)
Then run the following command:
Psconfig –cmd configdb –create –server [DB SERVER NAME] -database MOSSConfiguration_[NAME]_[ENVIRONMENT] –user [DOMAIN]\svcDevMOSSFarmDB –password [MOSSFarmDBPassword] -admincontentdatabase MOSSCentralAdminContent_[NAME]_[ENVIRONMENT]
Example:
Psconfig -cmd configdb -create -server WLGSQLSDEV1 -database MOSSConfiguration_Web_Dev -user lnzl_well\svcDevMOSSFarmDB -password p@ss5w0rd1 -admincontentdatabase MOSSCentralAdminContent_Web_Dev
The command will setup the databases. Once the command finishes you need to run the “SharePoint Products and Technologies Configuration Wizard” via Program Files > Microsoft Office Server. This will finish the installation and configuration of your SharePoint install.
The wizard will show the options to "connect" or "disconnect" , select the option “Do not disconnect from this server farm” when prompted. The wizard will create the Central Administration web application.
Once the Central Administration web application has been setup you should be able to navigate to the main screens. Now you will need to start the Search function. Windows SharePoint Services Search function needs a DB for storing configuration information this is the "Search" database you created earlier. To connect and configure Search run the following command.
stsadm -o spsearch -action start -farmserviceaccount [DOMAIN]\ svcDevMOSSFarmDB -farmservicepassword [PASSWORD] -farmcontentaccessaccount [Domain]\ svcDevMOSSSearchServ -farmcontentaccesspassword [MOSSSearchServicePassword] -databaseserver [DB SERVER NAME] -databasename MOSSSearch_[NAME]_[ENVIRONMENT]
Now your databases have proper names!
before you can finish the install you will need to start the SharePoint Server Search Index and Query service needs to be started. To start this service run the following command: (This is the Microsoft Office SharePoint Server Search Index Service)
stsadm -o osearch -action start -role IndexQuery -farmcontactemail [FARM CONTACT EMAIL] -farmserviceaccount [DOMAIN]\ svcDevMOSSFarmDB -farmservicepassword [PASSWORD]
Once this service is started your installation should be ready to apply your governance and maintenance policies. Joel has lots about Governance here: Joel Oleson's SharePoint Land (Governance)
I did a post previously on SQL Server and SharePoint which also has some information that is related to this post.
Hope this is helpful for a better installation when you next install SharePoint!
Technorati Tags: , , , , , , , , ,
Posted at 6:02 p.m. by Chandima Kulathilake Category: SharePoint 2007 Permalink Email this Post Comments (0)

To add Custom Web part to a Sharepoint Server 2007

To add a custom Web Part to a SharePoint Server 2007 Web site, follow these steps:
1.
On the computer that is running SharePoint Server 2007, copy the compiled VBWebPart.dll file to the Web application folder. For example, copy the compiled VBWebPart.dll file to the following folder:
\Inetpub\wwwroot\wss\VirtualDirectories\WebAppFolder\binNote VBWebPart is a placeholder for the name of the compiled .dll file. WebAppFolder is a placeholder for the name of the Web application folder.
2.
In the \Inetpub\wwwroot\wss\VirtualDirectories\WebAppFolder folder, right-click the Web.config file, click Open With, and then click Notepad.
3.
In the Web.config file, add the following element under the element:

4.
Click File, and then click Save.
5.
Start Windows Internet Explorer, and then visit the SharePoint Server 2007 Web site.
6.
On the SharePoint Server 2007 Web site, click Site Actions, and then click Site Settings.
7.
On the Site Settings page, click Web Parts under Galleries.
8.
On the Web Part Gallery page, click New.
9.
On the Web Part Gallery: New Web Parts page, click to select the check box next to the Web Part that you want to add, and then click Populate Gallery.
10.
Visit the SharePoint Server 2007 Web site, click Site Actions, and then click Edit Page.
11.
On the SharePoint Server 2007 Web site, click Add a Web Part.
12.
In the Add Web Parts dialog box, expand All Web Parts, click to select the check box next to the Web Part that you want to add, and then click Add.
13.
To publish your changes, click Publish.

What is ECM?

What is ECM?
Enterprise Content Management (ECM) is the technologies used to capture, manage, store, preserve, and deliver content and documents related to organizational processes. ECM tools and strategies allow the management of an organization's unstructured information, wherever that information exists. Content at WorkIt's not enough to "manage" content. Of course, the ability to access the correct version of a document or record is important, but companies must go further. Content must be managed so that it is used to achieve business goals. Central to this strategy are the tools and technologies of ECM, which manage the complete lifecycle of content, birth to death. To drive understanding of these tools, this poster highlights a typical process for a piece of content as well as four primary areas in which content, and ECM, is fundamental to the success of your company: Compliance, Collaboration, Continuity, and Cost.
While there are ECM technologies, more importantly, ECM is an ongoing and evolving strategy for maximizing how your content is to be used. Use the information below as a starting point to review a common content lifecycle. Map a current process to see where you may find overlap and room for improvement for the applications and strategies that your business is developing. The information below only hints at the complexity inherent in any process that deals with managing an organization's content. As always, you must match up the technology tools to address YOUR businesses needs. Technology can enable streamlined management of content, but the underlying strategy must come first.
ComplianceThe key to a successful compliance strategy is integrating the idea of compliance success into your business-not viewing compliance as a project that can be completed and then considered "finished." While painful, complying with regulations should be viewed as an opportunity to improve common business processes and not just an ongoing cost to the business. It is no secret that there can be high costs associated with your compliance initiatives for both technology and employees. Only securing compliance for one regulation such as Sarbanes-Oxley or HIPAA will cause your costs to continue to grow as each new regulation is delivered over the years. To help limit the risk and cost, proactive ECM strategies must be developed within key areas, such as records management and business process management. Ensuring that the proper business practices are followed and that content is properly captured, stored, managed, and disposed of at the appropriate and legal time in its lifecycle. Developing a compliance initiative properly will tap many areas of expertise, particularly legal, IT, and records management; all in support of the overall business objectives of the organization. Individuals from each of these areas must contribute their knowledge and perspectives to ensure the benefits of a sound compliance program. While compliance is not always a technology problem, information technology, and the massive growth of unstructured content, contributes to corporate exposure. The tools of ECM, properly used, can help reduce the overall cost of compliance to the business.
CollaborationCollaboration is the art of working together. The key to strong collaboration is utilizing the set of technologies-instant messaging, whiteboards, online meetings, email, etc.-that allow work to take place wherever and whenever needed. It's good business; groups can accomplish more than individuals. Collaboration allows individuals with complementary, or overlapping, areas of expertise to create better results faster than before. With today's collaborative tools, business units and teams can work together anytime-whether in adjoining offices or a world apart. The technology can now address operational objectives like saving time, streamlining processes, cutting costs, and improving time to market. With the many different types of collaborative tools available, companies must be sure they select the correct tool for their business need. Functionality can be broadly grouped into (1) communication channel facilitation, which enables short-lived interaction such as chat, instant messaging, white boarding, etc.; (2) content lifecycle management, which manages content objects involved in a business process; and (3) project facilitation, which organizes and simplifies the way that people work toward a common goal. However, there is a catch with collaboration. When using collaborative tools, you must be aware of records management, knowledge capture, and compliance requirements. For some industries, all customer communications must be kept. And, for a collaborative product design process, companies must be sure that the results are kept as business records.
CostWhile ECM can be a costly initiative, what are the costs of not properly managing your content? The cost of not implementing ECM tools is too often left unmeasured until too late. Things like the cost of long legal proceedings, the loss of repeat business through the inability to perform simple customer service interactions, and the cost of typical business process delays are easy to measure after the fact-lawyers' time, the cost to acquire new customers, and FTE salaries. Understanding the cost of these potential losses will allow you to see that ECM investments have valuable benefits that often can be measured, but not always. The key is to set your key metrics for success up front and measure your success based on those expectations. Measuring the revenue based on improved information in the call center can be done as well as measuring the cost benefits of improvements in process speed for a loan application, claim process, or FDA drug approval (to name a few). The improvements will not always show on the final balance sheet but they are out there. While identifying a direct ROI can be difficult, it is not impossible to see the impacts of the improved process efficiency on the business. ECM tools can make your organization more efficient and drive down the cost of doing business. These technologies provide value to your organization by more efficiently organizing information for its subsequent retrieval, use, and, ultimately, disposition. Plus, as these tools are used by more organizations, it becomes part of how you work. What's the ROI on a telephone? Yet, you wouldn't think of doing business without one, would you?
ContinuityKeeping a business going 24x7 is the task of business continuity planning. While often mentioned with disaster recovery, business continuity planning is the overall strategy for ensuring that operations continue in the event of any disruption-natural or man-made. Disaster recovery is more narrowly focused on getting an organization's IT infrastructure going again, a subset of business continuity. Because the lifeblood of most businesses today is represented by electronic documents, ECM has a key role to play in continuity. After all, without access to the most vital electronic documents, a business is dead in the water. ECM technologies allow the creation of centralized repositories where all vital corporate information can reside. The method of storage will vary depending on how critical the content is to the company-from off-site back up tapes to redundant, mirrored sites separated by geography and on different power grids. A strong continuity plan will show you that not all content is critical. Companies must prioritize their content to determine how quickly content needs to be back online in the event of a disaster. Business continuity begins with a sound plan and high-level executive support. Next, mission-critical processes and the entities on which they are dependent must be determined, followed by a business impact assessment to determine the impact of a disruption, or losing, those processes. Defining what a business considers a disaster and explaining how key processes will be recovered are the next steps in the plan. A crisis operations center should also be established with procedures for chain of command and other roles. Finally, don't forget to update and test the plan annually or as business needs change. Effectively delivering on a continuity plan will enhance your ability not only to recover during a system failure but will enable you to better define the priority of your business content and improve your overall ECM strategy.
BUSINESS PROCESS MANAGEMENT/WORKFLOWThe tools that move content throughout an identified business process, such as claims processing. BPM solutions are frameworks that can be used to develop, deploy, monitor, and optimize multiple types of process automation applications-including processes that involve both systems and people. Consider which processes are candidates for automation, and whether they require some degree of ad hoc processing or manual intervention. Workflow is now commonly associated with the manual processes of managing documents. Workflow handles approvals and prioritizes the order documents are presented. In the case of exceptions, workflow also escalates decisions to the next person in the hierarchy. These decisions are based on pre-defined rules developed by system owners.
CONTENT AND DOCUMENTSUnstructured content enters an organization's IT infrastructure from a variety of sources. Regardless of how a piece of content enters, it has a lifecycle. Follow a document through its lifecycle as viewed through the use of ECM technology. 1. Electronic Unstructured Data: email, instant message, text document, spreadsheet, etc.2. Electronic Forms3. Paper Documents/Forms
SCANNINGPaper generally enters the organization through a scanner, or sometimes, a multifunction device. In centralized scan operations, large volumes of paper are put into the system by dedicated workers. In distributed operations, smaller volumes of documents are captured with lower volume scanners or multifunction devices closer to their point of creation.
DOCUMENT IMAGINGSoftware captures the image of the paper document. Increasingly, electronic document images have the same legal status as a paper document.
FORMS PROCESSINGBusiness forms are ingested into the system. Most forms today are "structured"-the location of the form elements are known. The ability to process unstructured forms, those without a pre-defined form template, is improving.
RECOGNITIONTechnologies that allow paper information to be translated to electronic data without manual data input. Recognition technologies have progressive capabilities from optical character recognition (OCR) to intelligent character recognitions (ICR) and are important for converting large amounts of forms or unstructured data to usable information in a content management system.
CATEGORIZATION/TAXONOMYA taxonomy provides a formal structure for information, based on the individual needs of a business. Categorization tools automate the placement of content (document images, email, text documents, i.e., all electronic content) for future retrieval based on the taxonomy. Users can also manually categorize documents. Critical step to ensure that content is properly stored.
INDEXINGAn essential part of the capture process, creates metadata from scanned documents (customer ID number, for example) so the document can be found. Indexing can be based on keywords or full-text.
DOCUMENT MANAGEMENTDocument management technology helps organizations better manage the creation, revision, approval, and consumption of electronic documents. It provides key features such as library services, document profiling, searching, check-in, check-out, version control, revision history, and document security.
RECORDS MANAGEMENTContent of long-term business value are deemed records and managed according to a retention schedule that determines how long a record is kept based on either outside regulations or internal business practices. Any piece of content can be designated a record.
EMAIL MANAGEMENTAs the de facto standard for business communication, removing emails from the server and saving them to a repository isn't enough. Email must be classified, stored, and destroyed consistent with business standards-just as any other document or record.
WEB CONTENT MANAGEMENTWeb content management technology addresses the content creation, review, approval, and publishing processes of Web-based content. Key features include creation and authoring tools or integrations, input and presentation template design and management, content re-use management, and dynamic publishing capabilities.
DIGITAL ASSET MANAGEMENTSimilar in functionality to document management, DAM is focused on the storage, tracking, and use of rich media documents (video, logos, photographs, etc.). Roots of the technology are in the media and entertainment industry, currently experiencing growth, especially in marketing departments. Digital assets typically have high intellectual property value.
REPOSITORIESStructured and unstructured-the core of many ECM systems. This is where the data resides and where much of a company's investment in ECM resides. A repository can be a sophisticated system that costs hundreds of thousands of dollars, or as simple as a file folder system in a smaller company. The key is to have information that can be found once it is placed in the system.
STORAGEContent needs to "live" somewhere. Storage technology (optical disks, magnetic, tape, microfilm, RAID, paper) provide options for storing content online for rapid access or near- or off-line for content that isn't needed often.
CONTENT INTEGRATIONEnables disparate content sources to look and act as a single repository.
MIGRATIONAs storage media ages, content must be moved to new media for continued accessibility.
BACKUP/RECOVERYBacking up content in various formats and/or locations helps to ensure business viability in the face of a disaster.
SEARCH/RETRIEVALOne of the greatest benefits of a strong ECM system is the ability to get out what you put in. By having strong indexing, taxonomy, and repository services, locating the information in your system should be a snap.
SYNDICATIONDistribution of content for reuse and integration into other content.
LOCALIZATIONRecasting content based on the needs and cultural mores of different global markets.
PERSONALIZATIONDrawing on a taxonomy and based on established user preferences, various types and subjects of content can be delivered via user-defined preferences.
PUBLISHContent gets where and to whom it needs to go through a number of tools. Content can be delivered via print, email, websites, portals, text messages, RSS feeds.
PAPER ELECTRONICPortal, Intranet, Extranet, Email, Fax
SECURITYRestricts access to content, both during its creation and management as well as when delivered. 1. Digital Rights Management - prevents the illegal distribution of rights-managed content by restricting access to content down to the sentence level as well as granting/restricting permissions for forwarding and accessing content.2. Digital Signatures - ensures the identity of a document sender, and the authenticity of the message.3. PKI - uses a public and private key pair held by a trusted third party to transact business over the public Internet.
COLLABORATIONCollaboration technologies enable individual users, such as employees or business partners to easily create and maintain project teams, regardless of geographic location. These technologies facilitate collaborative, team-based content creation and decision-making.
LONG-TERM ARCHIVALContent that must be preserved over decades must be saved to media, such as paper and film-based imaging, with longevity to match.
© AIIM - The ECM Association (2005)