Who's Online
6 visitors online now
2 guests, 4 bots, 0 members
Support my Sponsor
  • An error has occurred, which probably means the feed is down. Try again later.

Posts Tagged ‘sharepoint 2013’

In SharePoint Online\ Office 365 under “Business data” section, excel web part is not available

This has been very common question that people can’t find the excel web part in their Office 365 subscription.

Small business plan after the upgrade.
To check if you are using Office 365 after the service upgrade, you can refer to the article below:
If not, please feel free to let us know.

First of all I would like to inform that that the Business Data Webparts are not available on all of Small business plans, it’s only available on the Enterprise Plan E3 and E4.

For more detailed information, you can refer to form in the article below:

If you have E3 and E4 subscription then try below steps:
1. Site Actions -> Site Settings -> Site Collection Features
2. Scrolled to SharePoint Server Enterprise Site Collection features and click Activate
3. Now Site Actions -> Site Settings -> Site Features
4. Scrolled to SharePoint Server Enterprise Site features and click Activate

I have seen that some people tried to download the Excel Web Access Web Part from Enterprise E3 plan and upload it to Small business plan SharePoint Online site but it gives error.

SharePoint 2013 Machine translation service error: The translation failed because the online translation service was unavailable

Error: The translation failed because the online translation service was unavailable. Please resubmit this file for translation. If the files fails again with this error message, contact system administrator.

Background about the issue :
When You clicked on the “Translation Status” action in the ribbon toolbar, you see status of the page as “error”. You see some erros under header “Translation Export” and “Translation Import”

In Event Viewer we see Event ID 8311 with description “An operation failed because the following certificate has validation errors” with some Microsoft certificate details like “Subject Name: CN=.microsofttranslator.com” “Issuer Name: CN=Microsoft Secure Server Authority, DC=redmond, DC=corp, DC=microsoft, DC=com” and error “PartialChain: A certificate chain could not be built to a trusted root authority. RevocationStatusUnknown: The revocation function was unable to check revocation for the certificate”
If you check ULS logs, you will observe similar details:
An operation failed because the following certificate has validation errors: Subject Name: CN=
.microsofttranslator.com Issuer Name: CN=Microsoft Secure Server Authority, DC=redmond, DC=corp, DC=microsoft, DC=com Thumbprint: 34E4C8A8D13F40FAB97F9655F2A505DDC36BD9C2 Errors: PartialChain: A certificate chain could not be built to a trusted root authority. RevocationStatusUnknown: The revocation function was unable to check revocation for the certificate. OfflineRevocation: The revocation function was unable to check revocation because the revocation server was offline. .

MicrosoftTranslator: Error encountered: System.ServiceModel.Security.SecurityNegotiationException: Could not establish trust relationship for the SSL/TLS secure channel with authority ‘api.microsofttranslator.com’. —> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. —> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
Solution to this issue:
Certificate is not trusted so you have to import the certificates (and all certificates up in the chain)

Open the Microsoft site(https://www.microsoft.com) in any browser and export the certificate on your local desktop.You can also directly install these certificate to Local trusted authority. Make sure you repeat this step for all other certificates in the chain. In my case, I forgot the GTE CyberTrust Global Root which results in the other certificates below the chain to be untrusted.

After this you need to restart IIS and the Machine Translation Service (via Central Admin), and hit that button in the ribbon again in order to start the machine translation.

SharePoint error : The number of items in this list exceeds the list view threshold, which is 5000 items


If you get error “The number of items in this list exceeds the list view threshold, which is 5000 items” on SharePoint Online list or any SharePoint on Premises environment.

Let us first understand why does SharePoint have a list view threshold and how does it help you besides throwing an error. Always when dealing with large amount of items takes time and resources, SharePoint provides methods to help you perform common operations efficiently such as using indexes to filter and metadata navigation fallback to return a smaller set of results when a request is too large.

In couple of operations such poor performing queries (Query is set of command which executes on SQL server to get everything from a list or filter without indexes) or operations that affect every list item such as creating a new column take time. Small list generally does not matter because there are so few items that the operation is fast. As and when the size of list increases, operations take longer time and use more resources. Just before such operations run unbounded\uncontrolled, the list view threshold prevents them. You can think of the list view threshold as a check engine light letting you know that you should change the query and how data is accessed or perform the operation when farm usage is low.

Why did Microsoft set the the limit to just 5,000 is another question which comes to our mind. When any user perform any operations on SharePoint site (against a database), SQL Server locks rows to prevent conflicts from concurrent operations. By default when operations start affecting more than 5,000 items the entire table gets locked because it is more efficient than locking the individual rows. SharePoint stores all list items for an entire content database in a single table.

Now lets go more deep into the problem, here when queries which effect approximately more than 5,000 items (even if it is a read) that table will be locked and other operations\queries\transaction for all lists in that content database wait until the current operation\query is completed. Default value of these 5,000 was selected by Microsoft after lot of recommendation \ testing and performance tuning. Decreasing this limit will result in some performance improvements, and raising it even to 10,000 will decrease throughput if operations are commonly performed that would otherwise be prevented.

Office 365 \ SharePoint Online

Note: Because this is hosted environment, you cannot Increase\change this limit in Office 365.


Only workaround for issue is to split the items into multiple list. so that no list exceeds 5,000 items. You will never be able to view this list items beyond the limit of 5,000 items.

Incase you are are planning to delete some items from the list but you can’t do so because you’ll be unable to view the list items beyond the limit of 5,000 items, you must configure metadata-based navigation so that you can access all the list’s contents.

To enable metadata-based navigation, follow the “Enable Metadata Navigation and Filtering” and “Configure Metadata Navigation”

After metadata navigation is enabled, the list’s contents will become available. We recommended that you then reduce the list’s contents to less than 5,000 items.


SharePoint 2010\ SharePoint 2013 \ SharePoint 2007 on Premises

Here are couple of solution to this issue.

  • Accessing list views that contain too many items
  • Attempting to perform privileged operations (adding a column, creating an index, adding content types)
  •  Custom code that accesses a large list

Accessing list views that contain too many items:

Basically, you need to add an index on the filtered column. Open SharePoint list and click on “Modify this view” in the ribbon. Under the “Filter” section, you should be able to see which columns are being used for the filter. Then, you can simply navigate to your list settings, select “indexed columns” and then “Create a new index” for each filtered column, and you’re good to go!

You can also configure a views to filter on indexed columns or move items into folders so there are less than 5,000 items in the root of any one folder or the root of a list. One good example for same is to use it in “My Documents” view. This is an easy view to configure because it uses system metadata that will always be set for every item. In this view you filter by Modified By and/or the Created By columns. To create this view in the filters section of the settings for a view select the Modified By column and set the value to and then set a second filter with OR on the Created By column with the value. Created By column should be used as well as Modified By when multiple users edit the same documents. Modified By is not a multiple user column so this view will not necessarily show all of the documents a user has ever modified. In this example both columns should be indexed because it is an OR operation

Attempting to perform privileged operations (adding a column, creating an index, adding content types):

Another way to mitigate this operation is to configure a daily time window so privileged operations can be performed when the farm has low usage. A specific time window can be configured for every web application in Central Administration. If any user receive a list view exception they will be notified so that they can perform the operation during the privileged time window. This will help users to perform operations such as adding columns \ content types to large lists and you get to control the time frame when users can perform these operations.

Custom code that accesses a large list

Normally in custom code there are couple of general guidelines to follow so that you can index to filter SPQueries to amounts less than the list view threshold. Couple of example are if you are planning to use an SPQuery to find a specific item in a list based on a particular column make sure it is indexed. There are always this possibility that the SPQuery may return more results than the list view then the content iterator class should be used to work through the content without hitting the list view threshold. It is especially important you are doing some operations on all the contents in a list or all of the content in a site or site collection.

Below is a example to perform a SPQuery to get all items in a list based on a non-indexed field. This is a bad idea on large list and this query should not even be considered 🙂

######Query 1########
SPQuery query = new SPQuery();
query.Query = “<Where><Eq><FieldRef Name=\”MyUnindexedField\”/><Value Type=\”Text\”>FieldValue</Value></Eq></Where>”;
SPListItemCollection items = list.GetItems(query);
// Do what you need with the collection of items
######Query 1########

Not just this query is on a unindexed field, it is also not limiting the results. So on a large list, this query will be blocked because the field is not indexed and too many results may be returned.

If you can add an index on MyUnindexedField, then you can use NVP (Name Value Pair) paging on that index:

######Query 2########
SPQuery query = new SPQuery();
query.Query = “<Where><Eq><FieldRef Name=\”MyIndexedField\”/><Value Type=\”Text\”>FieldValue</Value></Eq></Where>” + ContentIterator.ItemEnumerationOrderByNVPField;

ContentIterator ci = new ContentIterator();
delegate(SPListItem item)
// Do what you need with each item

delegate(SPListItem item, Exception e)
// Handle an exception that was thrown while iterating

// return true for ContentIterator to rethrow the exception
return true;

######Query 2########

You can always use the Office 365 workaround where SharePoint will automatically help you create the indexes for you. You can do this by enabling Metadata Navigation and Filtering as a site feature and enabling it on the lists and libraries you think will eventually reach the view threshold.
Finally, it is impossible to cover this topic without going over this last possibility which is to increase the value of the List View Threshold in the SharePoint Central Administration in order to allow the migration of your list/library with more than 5000 items. I would not venture into this option without first understanding that it might have an impact on the Server performance. In sum, this is not a recommended action, but it can still allow you to migrate your list without too much trouble.



Download and Install Cumulative Update December 2014 for SharePoint 2013

Microsoft has released another SharePoint 2013 Cumulative Update in December 2014. Let me help you know how we can install  December 2014 on SharePoint 2013 server.

Its per-requisites is either SharePoint 2013 SP1 or SharePoint 2013 March PU.

Now the most important part is how to install SharePoint server December 2014 Cumulative Update.

Previous releases of the SharePoint Server 2013 cumulative update included both the executable and the .CAB file in the same self-extracting executable download. Because of the file size, the SharePoint Server 2013 package has been divided into several separate downloads. One contains the executable file, while the others contain the CAB file. All are necessary and must be placed in the same folder to successfully install the update. All are available by clicking the same Hotfix Download Available link in the KB article for the release.

Here is link for all the updates:

Sharepoint Foundation 2013 has only 1 setup file 480643_intl_x64_zip.exe
Download SharePoint Foundation 2013 December 2014 CU

Now here the twist starts, SharePoint 2013 update has 3 setup files 480662_intl_x64_zip.exe, 480661_intl_x64_zip.exe, 480660_intl_x64_zip.exe: You can download this from:
Download SharePoint Server 2013 December 2014 CU

Project Server 2013 update has 3 setup files 480665_intl_x64_zip.exe, 480664_intl_x64_zip.exe, 480663_intl_x64_zip.exe): You can download this from below
Download Project Server 2013 December 2014 CU

Office Web App server 2013 has only 1 setup file
Download Office Web App 2013 December 2014 CU

The KB articles for September CU are available at the following locations:

  • KB 2910945 – SharePoint Foundation 2013 December  2014 CU
  • KB 2910938 – SharePoint Server 2013 December   2014 CU
  • KB 2910911 – SharePoint Server 2013 with Project Server December 2014 CU
  • KB 2899574 – Office Web App Server 2013 December 2014 CU

Once the updated the downloaded you need to extract all the updates in 1 folder as shown below:

  • Now when you run the main setup file ubersrv.exe file, you will be able to extract and install the update.
  • Once you install these updates, you need to reboot the server
  • Now system needs to be restarted.
  • Follow the same steps on all SharePoint servers in farm.
  • SharePoint PSconfig wizard on all servers.
  • Finally it is installed

Note : SharePoint Server 2013 update contains the SharePoint Foundation update.Where as SharePoint Server 2013 with Project Server update contains Project Server update, SharePoint Server update and SharePoint Foundation update.

For more information:

Duet Enterprise site tempate for SharePoint and SAP connectivity available Out Of box

Duet Enterprise site template is a product development jointly by Microsoft and SAP that enables interoperability between SAP applications and Microsoft SharePoint Server.

Duet Enterprise sites empowers employees to consume and extend SAP processes and information from within SharePoint Server and Microsoft Office client applications. Duet Enterprise includes features and functionality from both Microsoft Corporation and SAP AG.

The Duet SAP and Duet SharePoint add-ons, alongside Microsoft BCS enables communication between SAP NetWeaver and Sharepoint. The addition of SAP for Duet Enterprise is installed directly onto SAP NetWeaver, and with the Business Logic inside Duet Enterprise it acts as broker for SAP systems and SharePoint Server. Different SAP systems can connect to other SAP systems like ERP and BW, which supports high availability, scalability and even load balancing for both SharePoint Server and SAP NetWeaver.

An important consideration in the SAP to SharePoint integration strategy is the use of documents within SAP. Many “inside SAP” business processes are heavily involved with the handling of, or reference to, documents. These can be physical documents that may need to be digitally captured, CAD drawings, images, photos of employees, signed contracts, etc.

The SAP BAPIs used by Duet Enterprise only support the passing and handling of data thru their APIs. The SAP interface for archiving and recalling unstructured content needed for business processes is not BAPI based but rather a sophisticated HTTPS protocol that is based on the SAP ArchiveLink interface. Thus the DMS document services for storing documents, recalling them to workflows, deleting and adding notes to them, etc., in a managed, controlled and traceable framework are a set of functionality not delivered in Duet Enterprise.

The ERP-Link platform adds these capabilities to Duet Enterprise. The ERP-Link Suite for SharePoint and SAP brings the bi-directional access of documents (unstructured content) to users of SharePoint and SAP. With ERP-Link, your SAP and SharePoint users will have common access to documents and the ability to work on shared business processes. ERP-Link can be used for accounts payable and finance, HR, plant maintenance, project management – anywhere documents are needed to support functions based in your SAP system of record.

Duet Enterprise can support multiple SAP Systems, and even other distributed systems, which gives users the option of connecting NetWeaver to a multitude of SAP systems. If an HR system runs SAP ERP 2004 and the other runs 6.0, connectivity can be achieved through the EMEA system with system mapping.

Create a custom MySite host template in SharePoint 2010 and SharePoint 2013

Here I will show you how to create new mysites host. Once you apply this mysite site host template, all new mysite will use this as a tempate to create a mysite

  1. Create a new Mysite host.
    a. Open Central admin > Application management > Create new site collection
    b. Provider Name, URL path, Select template as “My site host” and a site collection admin > Click OK
    c. Now you can make the required modification(e.g. custom master page, custom list, library, webpart, etc) in this mysite template.

  2. Update this Mysite Host site in User profile service application
    a. Open Central admin > Application management > Manage service application > User profile service application
    b. Under My site settings select “Setup My sites” > In my site host select the new mysite host we just created e.g. http://portal/sites/host > Click ok
    C. Now all new my Site collections will use this as Host template

Note. This mysite host does not work on existing site. It only works on new mysites.

SharePoint 2010 \ 2013 warm up scripts using Powershell

SharePoint app pools recycle every night so that old data is flushed and cache is cleared. It is also important from secruity aspects. But because they recycle every night the first person to hit SharePoint each morning has to wait for the app pools to warm back up, which makes them cranky. Over the years a variety of startup scripts have been written to address this, and they all work to varying degrees.

Server Side Warm script

THis script will request the default page of the root site collection of each web application in your farm:
############## Script 1 #################
Get-SPWebApplication | ForEach-Object { Invoke-WebRequest $_.url -UseDefaultCredentials -UseBasicParsing }
############## Script 1 #################

The –UseDefaultCredentials parameter tells Invoke-WebRequest to log in to the web site as the person that PowerShell is running as. –UseBasicParsing tells Invoke-WebRequest to use basic parsing of the web page. We really don’t care about the web page, we just want to wake SharePoint up to send it to us.
You can also try below Warm up script and check if can be of any help.
This passes in the default credentials needed. If you need specific stuff you can use something else to elevate basically the permissions. Or run this task as a user that has a Policy above all the Web Applications with the correct permissions
############## Script 2 #################
$cred = [System.Net.CredentialCache]::DefaultCredentials;
$cred = new-object System.Net.NetworkCredential(“username”,”password”,”machinename”)[xml]$x=stsadm -o enumzoneurls

foreach ($zone in $x.ZoneUrls.Collection)
[xml]$sites=stsadm -o enumsites -url $zone.Default;
foreach ($site in $sites.Sites.Site)
write-host $site.Url;
$html=get-webpage -url $site.Url -cred $cred;
############## Script 2 #################
The next script is completely Powershell from http://www.jonthenerd.com/2011/04/19/easy-sharepoint-2010-warmup-script-using-powershell/

############## Script 3 #################
Add-PSSnapin Microsoft.SharePoint.PowerShell;

function Get-WebPage([string]$url)
$wc = new-object net.webclient;
$wc.credentials = [System.Net.CredentialCache]::DefaultCredentials;
$pageContents = $wc.DownloadString($url);
return $pageContents;

Get-SPAlternateUrl -Zone Default | foreach-object
write-host $.IncomingUrl;
$html = Get-WebPage -url $

############## Script 3 #################

SharePoint 2010 \ 2013 Create a SharePoint Site Collection with a custom Template using Powershell

Save the custom site with all custom list\library etc as .wsp. To do so follow below:
1. Go to Site action > Site settings > Save site as template


  1. Mention the name of template and select “Include content” > Click OK

  2. Once the site is saved, you will get link for “Solution gallery”. Go to Solution gallery and download the teamplate (temp.wsp) file to something like d:\temp.wsp.

You need to write powershell in 2 parts. One will create site collection and other will apply custom template.
1st Part of Powershell

Start Part 1 Create a SharePoint Site Collection with a custom Template using Powershell

Write-Host “Provide the site collection URL e.g. http://intranet/site/custom”
$Siteurl = read-host

Write-Host “Provide the site collection owner email address”
$owner = read-host

New-SPSite $Siteurl -OwnerAlias $owner -Name “This will have a custom template”

End Part 1 Create a SharePoint Site Collection with a custom Template using Powershell

Now we have to add our WSP to the Solution Gallery in the Site Collection. I have a do While loop to make sure that the solution has been uploaded successfully before activating it.

##### Start Part 2 Create a SharePoint Site Collection with a custom Template using Powershell ##############
Add-SPUserSolution -LiteralPath d:\temp.wsp -Site $Siteurl
$ErrorActionPreference = “silentlycontinue”
Write-Host “.” -NoNewline -ForeGroundColor White;
Start-Sleep -Seconds 5;
$testsolution = Get-SPUserSolution -Identity temp.wsp -Site $Siteurl
} while(!$testsolution);
$ErrorActionPreference = “stop”
Install-SPUserSolution -Identity temp.wsp -Site $Siteurl
Write-Host “Site collection with custom template is created”

End Part 2 Create a SharePoint Site Collection with a custom Template using Powershell

Note that the Template GUID and Name will never change. So if you want to send the script and the package to someone else, you can hard code this part and it will work no problem.

User Profile Synchronization Service Gets Stuck on Starting SharePoint 2010 \ 2013

For some reason once you provision the User Profile Service Application the User Profile Synchronization Service gets stuck on Starting, and it can’t be stopped in Central Administration. After some research on User Profile Synchronization service I found that when we Start the UPA sync service in “Services on Server” a series of tasks executes which includes Forefront Identity Manager setup. It means setting up windows services, certificates, installing database schemas, registry changes, etc. If it ails at any stage, it will try again nearly 15 times and shows failure after 15 attempt. This is the reason it appears to be “stuck” when in fact its attempting each of the runs. After around 20 to 45 minutes the status will return to Stopped, and you can attempt to start it again.

Observed that some try to reboot the server to get rid of this issue, but it still remain as “Starting” even after reboots. Now this is not a good sign because apparently a very common issue and I have even heard of people re-building SharePoint Servers to fix the issue. Here you might loss data \ settings configuered in UPA if you have to recreate UPA.

Below steps will help you start the UPA service which was stuck on starting which was working fine previously but if its a new setup then I would recemmond you to try create a new UPA service and try below.
Some cause and solutin to this issue
1. Permissions issues:
Incorrect Permissions are most known cause of “Stuck on Starting” behaviour. There is no work around for same. If you don’t set the permissions correctly things won’t work, pretty simple.

We need two accounts to configure UPS Service viz. UPS Service Instance Service Identity which run the FIM services (It is also Farm Account) and Synchronization Connection account, this is the account which actually performs the sync.

You must run the UPS Service Instance as the Farm Account. Just because its possible to change the service identity in Manage Service Accounts, doesn’t mean it will work, and more importantly it is unsupported. So don’t change it.
Next, the Farm Account must be a local administrator of the machine running the UPS Service Instance during provisioning only. When we hit Start in Services in Server a series of tasks are run, which are akin to running the second stage of the Forefront Identity Manager setup. Many of these tasks require local machine administrator rights. You must grant this right before hitting start, and more importantly they must be applied. As the Farm Account is running services on your box (SPTimerV4 and the Central Admin app pool) we must simulate a log off and log on for the change in rights to be applied. You can do this by restarting SPTimerV4, or better yet, rebooting the machine. Once UPS is provisioned you can remove the Farm Account from the local administrators group.

Note: Any event in your farm that requires the UPS service instance to be provisioned will require the Farm Account be a local admin. Such events include the re provisioning of the service instance following the deployment of a SharePoint Cumulative Update and performing a Farm Backup from Central Administration (which stops and starts the UPS service instance). Don’t forget to ensure that the correct rights are assigned (and actually taking effect) when planning and scheduling your farm operational maintenance tasks.

Farm Account must have Log on Locally rights on the machine running the UPS Service Instance. Now be careful, you may think the account has these rights, and it will do if you made it a local administrator. However once you remove the admin rights, you may not have Log On Locally. If you don’t various operations will fail.

Very importantly make sure that Synchronization Connection Account must have Replicating Directory Changes on the Domain you are syncing with. It is the only way sync will work. It’s a hard requirement. Despite the scary name the Replicating Directory Changes permission makes zero changes to AD. It provides a change log capability, which improves the speed of operations such as Sync.

If you are syncing with a Windows Server 2003 functional level domain, the Synchronization Connection Account must be a member of the Pre-Windows 2000 Compatible Access group.

If you wish to do an Export, the Synchronization Connection account must have Create Child Objects and Write permissions on the OUs you are syncing with. Watch out for a common gotcha, that these rights are set on the container level only, you must ensure that This object and all descendants is selected.
2. SQL server 2014:
Environment : If you are using SQL 2014 with SharePoint 2013 or SharePoint 2010

Error : The Open Procedure for service “WmiApRpl” in DLL “C:\Windows\system32\wbem\wmiaprpl.dll” failed. Performance data for this service will not be available. The first four bytes (DWORD) of the Data section contains the error code

Performance counters for the FIMSynchronizationService (Forefront Identity Manager Synchronization Service) service are already in the registry, no need to reinstall. This only happens when you install the same counter twice. The second time install will generate this event.

Unable to open the Server service performance object. The first four bytes (DWORD) of the Data section contains the status code

Solution :
The issue can be resolved by downloading any of the CU updates from April 2014 CU and running PSConfig. Once the CU has been deployed, go through the usual process of starting User Profile Synchronization Service from Central Admin. The issue arises due to the use of SQL 2014

Note: I always recemmond you to install latest updates on all sharepoint servers
3. Environment : SharePoint 2010
Error : Attempting to Manage the UPA, you receive an error, Not Found, Correlation ID: [guid], or Could not load file or assembly ‘Microsoft.ResourceManagement’

Try below updates to resolve the issue
KB2281364 ( Description of the SharePoint Server 2010 hotfix package (wosrv-x-none.msp, pplwfe-x-none.msp, osrv-x-none.msp): July 21, 2010)

KB983497 ( Description of the SharePoint Server 2010 hotfix package (Osrchwfe-x-none.msp;Pplwfe-x-none.msp;Spswfe-x-none.msp): June 29, 2010 )

Note: I always recemmond you to install latest updates on all sharepoint servers
4. If you are not able to resolve the issue and you want to create a new uPA service, Try to stop the User Profile Synchronization Service you need to run a Powershell Command.

a. Open up Powershell on your SharePoint Server and type in the following command

b. This will list out all of the services on your SharePoint Server with their associated GUID’s. Copy the GUID for the User Profile Synchronization Service.

c. Then run the following command to stop the User Profile Synchronization Service.

Stop-spserviceinstance <GUID>

d. Now go back into Central Administration > Application Management > Manage Service Applications and delete the User Profile Service Application.

e. Restart your server and set up the User Profile Service Application again.

Create \ Extend a SharePoint 2010 \ 2013 site for Internet (extranet)

This works for both SharePoint 2010 and SharePoint 2013

Normally web application on SharePoint server are created for internal (intranet) access only. If you want to extend this web application and access it from internet out side your organisation, you need to follow below.

If you just created Alternate Access Mapping in Central Admin, it will not work for you and you might end up facing issues.

Lets assume that your web application on port 20000 configured with windows or form based authentication.
1. Open Central administration -> Manage web application
2. Select your web application with Port 20000 -> Click EXTEND from top ribbon and enter the information for port you want to use.
Note: YOu will have to enter the host header(e.g. internet.domain.com). Port number should be 80
3. For Anonymous choose Yes, one thing here you must enable anonymous access of the web application that you are going to put internet.
4. Select authentication method, which is windows with default values and Enable form based authentication as well.
5. For form based authentication enter the membership and role provider.
6. Select Internet Zone from Public URL section and click OK.
7. Extend web application – choose zone
8. System will create the IIS website with the host header you entered. If you are on different port rather that 80 don’t forget to add that port to firewall exception.
9. Now you can browse your site from the internet using the url like http://internet.domain.com
Note: You can use form based authentication for the internet facing web application to ensure security.