Monthly Archives: December 2014

SharePoint 2010 – ASPHostPortal.com :: Creating a Custom Login Page for FBA in SharePoint 2010

Introduction

Today I will tell you how to Create a Custom Login Page for FBA in SharePoint 2010.  While as of late assisting my client with their Sharepoint 2010 FBA design, I went over an obviously baffling part of utilizing a custom ASP.NET form to handle the validation. Amid the advancement of custom login page, i came to realize that a large portion of documentation that is accessible on this theme, all that is needed is to give a URL to your structure in Central Administration. The inquiry is do you think it is just conceivable approach to do this by giving URL in Central Admin? The answer is NO. It is conceivable. Lets have some Tea and prepared to ride on this.

Foundation:

It would be incredible if things worked so effortlessly as simply hitting in a URL and the back-end wiring itself up naturally. Lets accept you have an essential ASP.NET form and you’ve arranged it in this way with standard control alongside expecting that you’ve set up the Asp.net Membership SQL database, designed the Membership and Role suppliers, rolled out the vital improvements in the web application, Secure Token Service and Central Admin web.configs and gone into Central Administration to arrange Forms Based confirmation (FBA in Sharepoint 2010),you’d find that all your endeavors would have been for nix – This structure would submissively approve your qualifications against the Membership database and afterward savagely provided for you a lapse when the structure endeavored to redirect you /_layouts/Authenticate.asp

Why this blunder comes? Reason:

A vanilla ASP.NET form inherits from System.web.ui.page – you are no one worth mentioning the extent that Club Sharepoint 2010 is concerned. Since an ASP.NET form has no clue how to make the obliged cases based validation token to pass along to Sharepoint to say that you truly are on “the rundown” and that you know this gentleman inside who can guarantee for you.

Arrangement:

There is no API documentation on this. For this situation, to set your login structure page to inherit from the same class that the out-of-the-case Sharepoint FBA login structure executes: Microsoft.sharepoint.identityprovider.formssigninpage (you can discover this page in the/_forms sub organizer of any Sharepoint 2010 web application that has been set for FBA – 11574 for my situation.

Creating a Custom Login Page for FBA in SharePoint 2010

Presently everyonce thinks about polymorphism, we can get to all the Sharepoint FBA/Claims Auth token creation goodness out-of-the-case FBA structures get “free of charge” utilizing the enchantment of polymorphism.

Creating a Custom Login Page for FBA in SharePoint 20102

You can utilize your own altered expert page likewise in which your modified client control will be incorporated (I have made an expert page with name “Masterforcustomlogin” which contains tweaked html according to my prerequisite).

You can make an organizer likewise in _forms/ (Basically it requires to store pictures if your login page has)

By doing this, you can now adjust your prior FBA login structures to accommodate with the cases based auth necessities for Sharepoint 2010.

My Login page resembles this now (in the wake of performing above steps):

Creating a Custom Login Page for FBA in SharePoint 20103

Once you enter your credentials, you will be authenticated with your membership providers and able to logged in.

Important:
During this development, I observed one thing – When you enter your sharepoint site url into address bar it looks like :

Creating a Custom Login Page for FBA in SharePoint 20104

You can see “http://kirti-p:11574/_login/default.aspx?ReturnUrl=%2f_layouts%2fAuthenticate.aspx%3fSource%3d%252F&Source=%2F”. This _login folder is available in virtual directory of sharepoint site itself. When you select “Forms Authentication” from drop down this url will be changed and looks like:

Creating a Custom Login Page for FBA in SharePoint 20105

It says, while you are accessing Forms Authentication option it refere different master page.

loginpage_61

You have to change master page entry accordingly. Thats it for custom login page.

SharePoint 2013 – ASPHostPortal.com :: Workflow Manager Installation and Configuration

SharePoint 2013 introduced a brand new way of workflow management. Now workflow could be hosted in separate server – so scalable and reduces load on SharePoint Net Front End server. Nevertheless this introduce a new level of complexity that we need to be conscious of.

ahp_freehostSHP(1)

To utilize a windows server as workflow manager you have to install/configure Workflow Manager inside the windows server. Workflow manager is a new form of application server that host/manage workflow execution. SharePoint 2013 workflow is primarily based on .net framework 4.0. Workflow Manager is designed with Window Azure hosting in mind, but now it supports on-premise installation. If organizations now want to host the workflow on-premise they could still use Workflow Manager but in future if they desire to move to Windows Azure hosting for their workflow, the migration will likely be smoother with this Workflow Manager.

Before start installing/developing SharePoint Manager you need to know few points:

  • You should not use SharePoint ‘system account’ to test workflow. If you use ‘system account’ to develop/run workflow, the workflow will fail to run.
  • You need to make sure User Profile Service (UPS) is running and the user who is running workflow has profile in UPS. Workflow Manager use UPS under the hood.
  • Make sure App Management Service is created and running. You don’t need to configure SharePoint 2013 App settings in the server, just creating App Management service (with proxy) will do.
  • SharePoint 2013 workflow is declarative – means you can only define workflow in XML. You can’t write any C# code inside workflow as you used to do before. All your custom logic should be put outside of SharePoint, inside WCF Service. Then you will call the service from workflow to implement your custom logic in code.

To register workflow Server with SharePoint, a SharePoint site collection URL is provided (see the section Register Workflow Service with SharePoint later in the post). Apparently it seems, each and every site collection need to be registered with workflow server. But it’s not, registering a single SharePoint site  collection, will enable workflow manager for all SharePoint web applications/site collections.

Install/Configure Workflow Manager

The first step in workflow setup/configuration is to install workflow manager in the workflow server (either Web Front End or a separate server). To install the workflow Manager download it from Microsoft Site or alternatively you can download it from Web Platform Installer. The installation contains few components:

  • Workflow Manager: This is the host that runs workflows.
  • Workflow Manager Client: It contains the API to allow clients to communicate with Workflow host.
  • Workflow Tool: It needs to be installed in the development server to develop SharePoint 2013 workflow. It supports the workflow development in Visual Studio 2012.

Workflow Manager client needs to be installed in every SharePoint WFE server.

After installing Workflow Manger, you can configure workflow manager with Workflow Manager Configuration Wizard. The configuration involves two steps: Workflow Manager Configuration and Service Bus Configuration.

  • Workflow Manger Configuration (first step in the wizard) is the configuration related to work host server
  • Service Bus configuration (second step in the wizard): Service Bus is used to manage communication between Workflow Server and it’s client (so, SharePoint). Service Bus queues the income request to workflow manage, provide REST interface for Workflow Manager etc.

In workflow configuration wizard don’t use any admin or SharePoint setup user, create a new service user for workflow and use that user:

1fhbeneIf you want SharePoint Server to communicate with Workflow Server over HTTP, you can select the option shown below. But please make sure this is secure in your case. For public site, this might not be secure but in case of Local Intranet with firewall, this might be secure.

2regerhIf you want to use the same service account (as well as auto generated key for certificate), you can use so as shown below:

3grfmrmrIf you want to use the same service account (as well as auto generated key for certificate), you can use so as shown below:

Register Workflow Service with SharePoint

Once you have installed/configured Workflow Server, you need to register the workflow service to SharePoint Server. The registration depends on how the SharePoint and Workflow server is connected to each other. You can find more details at technet site. The workflow manager creates an HTTPS endpoint at port 12291 and HTTP port at 12290. If you use HTTP for communication you need to provide ‘AllowOAuthHttp’ switch in the PowerShell command. The PowerShell command looks like below:

Communication over HTTP

Register-SPWorkflowService –SPSite http://sharepointsite –WorkflowHostUri http://workflowhost:12291 –AllowOAuthHttp

Communication over HTTPS

Register-SPWorkflowService –SPSite http://sharepointsite –WorkflowHostUri https://workflowhost:12290

PowerShell Script to Install/Configure Workflow Manager

I have modified the wizard-generated PowerShell script a bit to make it more reusable. The Script reads configuration values from xml file and apply the configuration. The script uses auto-generate key for certificate. Also the database name are hard-coded in the script, but you can add prefixes (like dev, test, prod) to the database from xml file. The script also configure App Management Service, if the service is not already created. The sample PowerShell Script is provided below:

#Get current user full login name
$CurrentUserLoginName=[Environment]::UserName + '@' + [Environment]::UserDomainName;
#Get current server fully qualified domain name
$HostFQDN="$env:computername.$env:userdnsdomain";

#Load SharePoint Snapin
if ( (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ){  
    Add-PsSnapin Microsoft.SharePoint.PowerShell
}

#Get DB Connection String
function GetDBConnectionString([string]$connectionStringFormat, [string]$dbPrefix, [string]$dbName){
    if($dbPrefix -ne ""){
        $dbFullName=$(GetDBName $dbPrefix $dbName);
        return [string]::Format($connectionStringFormat,$dbFullName);
        }
    else {
        return $dbName;
    }
}

#Add Dev, Test etc. environment prefix, if needed
function GetDBName([string]$dbPrefix,[string]$dbName){
    if(($dbPrefix) -and ($dbPrefix -ne "")){
        return $dbPrefix + "_" + $dbName;
    }
    return $dbName;
}

#Get current Script directory
function Get-ScriptDirectory
{
  $Invocation = (Get-Variable MyInvocation -Scope 1).Value
  Split-Path $Invocation.MyCommand.Path
}

function ConfigureWFManager([string]$settingsFile){
    [xml]$wfsettings = Get-Content $settingsFile
    $settings=$wfsettings.Settings;
    $SharePointSiteUrl=$settings.SiteUrl;
    $dbPrefix=$settings.DBPrefix;
    $CertificateKey=$settings.CertificationKey;
    $databaseServer=$settings.DBServer;
    $ConnectionStringFormat="Data Source=$databaseServer;Initial Catalog={0};Integrated Security=True;Encrypt=False";
    $RunAsAccount=$settings.WFManagerRunAsUser;
    $RunAsPasswordPlain=$settings.WFManagerRunAsPassword
    $WorkflowNamespace=$settings.WorkflowNamespace;
    if(ShouldIProvision($settings.AppManagementService))
    {
        ProvisionAppManagementService($settings);
    }

    # To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.
    # Create new Service Bus Farm
    $SBCertificateAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force  -String $CertificateKey -Verbose;

    New-SBFarm -SBFarmDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'SBManagementDB')  -InternalPortRangeStart 9000 -TcpPort 9354 -MessageBrokerPort 9356 -RunAsAccount $RunAsAccount -AdminGroup 'BUILTIN\Administrators' -GatewayDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'SBGatewayDB') -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -MessageContainerDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'SBMessageContainerDB') -Verbose;

    # To be run in Workflow Manager PowerShell console that has both Workflow Manager and Service Bus installed.

    # Create new Workflow Farm
    $WFCertAutoGenerationKey = ConvertTo-SecureString -AsPlainText  -Force  -String $CertificateKey -Verbose;


    New-WFFarm -WFFarmDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'WFManagementDB') -RunAsAccount $RunAsAccount -AdminGroup 'BUILTIN\Administrators' -HttpsPort 12290 -HttpPort 12291 -InstanceDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'WFInstanceManagementDB') -ResourceDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'WFResourceManagementDB') -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;

    # Add Service Bus Host
    $SBRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String $RunAsPasswordPlain -Verbose;


    Add-SBHost -SBFarmDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'SBManagementDB') -RunAsPassword $SBRunAsPassword -EnableFirewallRules $true -CertificateAutoGenerationKey $SBCertificateAutoGenerationKey -Verbose;

    Try
    {
        # Create new Servie Bus Namespace
        New-SBNamespace -Name $WorkflowNamespace -AddressingScheme 'Path' -ManageUsers $RunAsAccount,$CurrentUserLoginName -Verbose;

        Start-Sleep -s 90
    }
    Catch [system.InvalidOperationException]
    {
    }

    # Get Service Bus Client Configuration
    $SBClientConfiguration = Get-SBClientConfiguration -Namespaces $WorkflowNamespace -Verbose;

    # Add Workflow Host
    $WFRunAsPassword = ConvertTo-SecureString -AsPlainText  -Force  -String $RunAsPasswordPlain -Verbose;


    Add-WFHost -WFFarmDBConnectionString $(GetDBConnectionString $connectionStringFormat $dbPrefix 'WFManagementDB') -RunAsPassword $WFRunAsPassword -EnableFirewallRules $true -SBClientConfiguration $SBClientConfiguration -EnableHttpPort  -CertificateAutoGenerationKey $WFCertAutoGenerationKey -Verbose;

    Write-Host "Registering workflow host (HTTP) to site: $SharePointSiteUrl";
    Register-SPWorkflowService –SPSite $SharePointSiteUrl –WorkflowHostUri $("http://$HostFQDN" + ":12291") –AllowOAuthHttp
}

function ProvisionAppManagementService([System.Xml.XmlNode] $settings){

    $appManagementServices=Get-SPServiceApplication | Where-Object { $_.GetType().ToString() -eq "Microsoft.SharePoint.AppManagement.AppManagementServiceApplication"}
     If($appManagementServices -ne $null)
     {
         Write-Host "An App Managemetn service is already running. Returning.." -ForegroundColor Yellow
        return;
     }    
    
    Write-Host "Provisioning App Management Service";
    $appManagementService=$settings.AppManagementService;
    $appPool=$(GetAppPool $appManagementService)
    $dbName=$(GetDBName $settings.DBPrefix $appManagementService.DBName);
    $appAppSvc = New-SPAppManagementServiceApplication -ApplicationPool $appPool -Name $appManagementService.Name -DatabaseName $dbName
    New-SPAppManagementServiceApplicationProxy -ServiceApplication $appAppSvc
}

function GetAppPool([System.Xml.XmlNode] $appManagementService){
    $pool = Get-SPServiceApplicationPool -Identity $AppManagementService.AppPoolName -ErrorVariable err -ErrorAction SilentlyContinue
    If ($err) {
        # The application pool does not exist so create.
        Write-Host -ForegroundColor White " - Getting $($appManagementService.ManagedAccountUserName) account for application pool..."
        $managedAccount = (Get-SPManagedAccount -Identity $appManagementService.ManagedAccountUserName -ErrorVariable err -ErrorAction SilentlyContinue)
        If ($err) {
            If (($appManagementService.ManagedAccountPassword -ne "") -and ($appManagementService.ManagedAccountPassword -ne $null)) 
            {
                $appPoolConfigPWD = (ConvertTo-SecureString $appManagementService.ManagedAccountPassword -AsPlainText -force)
                $accountCred = New-Object System.Management.Automation.PsCredential $appManagementService.ManagedAccountUserName,$appPoolConfigPWD
            }
            Else
            {
                $accountCred = Get-Credential $appManagementService.ManagedAccountUserName
            }
            $managedAccount = New-SPManagedAccount -Credential $accountCred
        }
        Write-Host -ForegroundColor White " - Creating applicatoin pool $($appManagementService.AppPoolName)..."
        $pool = New-SPServiceApplicationPool -Name $appManagementService.AppPoolName -Account $managedAccount
    }
    return $pool;
}

Function ShouldIProvision([System.Xml.XmlNode] $node)
{
    If (!$node) {Return $false} # In case the node doesn't exist in the XML file
    # Allow for comma- or space-delimited list of server names in Provision or Start attribute
    If ($node.GetAttribute("Provision")) {$v = $node.GetAttribute("Provision").Replace(","," ")}
    ElseIf ($node.GetAttribute("Start")) {$v = $node.GetAttribute("Start").Replace(","," ")}
    ElseIf ($node.GetAttribute("Install")) {$v = $node.GetAttribute("Install").Replace(","," ")}
    If ($v -eq $true) { Return $true; }
    Return $false;
}

Write-Host "Configuring WF Manager"
$location=Get-ScriptDirectory
ConfigureWFManager "$location\WFFarmSettings.xml"

The following XML file provides the input settings for the above PowerShell script (named as WFFarmSettings.xml in the above PowerShell script). Though you will use a site collection to register the workflow and SharePoint communication, I’ve found that workflow work for all others site collections/web application in the SharePoint Server.

<Settings>
  <SiteUrl>http://siteulr</SiteUrl>
  
  <!--Delete DBPrefix tag, if you don't want any prefix-->
  <DBPrefix>DEV</DBPrefix>
  
  <!--Key used to generate certificates-->
  <CertificationKey>CertificationKey</CertificationKey>
  
  <!--Database server name, database names are hardcoded in powershell-->
  <DBServer>DBServer</DBServer>
  
  <!--Format should be USERNAME@DOMAIN-->
  <WFManagerRunAsUser>[email protected]</WFManagerRunAsUser>
  <WFManagerRunAsPassword>Password</WFManagerRunAsPassword>

  <!--dot (.) not allowed-->
  <WorkflowNamespace>WorkflowNamespace</WorkflowNamespace>
  
  <!--To work with workflow, app management service need to be provisioned-->
  <AppManagementService Provision="true">
    <Name>App Management Service Application</Name>
    <DBName>AppManagementServiceDB</DBName>
    <!--If managed account already exists with the same name, the existing one will be used-->
    <ManagedAccountUserName></ManagedAccountUserName>
    <ManagedAccountPassword></ManagedAccountPassword>
    <AppPoolName>App Management Service App Pool</AppPoolName>
  </AppManagementService>
</Settings>

sharepont2013

SharePoint 2013 Hosting :: How to Migrate DocRead from SharePoint 2010 to SharePoint 2013

How to migrate DocRead from SharePoint 2010 to SharePoint 2013

If you are considering migrating your SharePoint Farm to SharePoint 2013 (from SharePoint 2010) then please read through this article for steps on how to achieve this. Before proceeding, it’s important that you read ‘migrating between editions’ to understand how this effects your licensing.

Preparing your SharePoint 2013 Farm :

It is important to know that we only support migrations that have followed Microsoft’s recommended approach.

Note: We don’t support migrations that have been completed using custom code, or by using 3rd party migration tools such as those offered by AvePoint and Metalogix.

If you do wish to use one of these approaches then it may still be possible to migrate your DocRead data but it would require one of our DocRead developers to work with you as a chargeable piece of work.

Before you start the migration :

Before you start the migration you will need to download the latest version of DocRead for both 2010 and 2013. It’s very important that you are migrating from the one version of DocRead to another with the same build number. (e.g “v2.5″). If you aren’t running the latest version of DocRead on SharePoint 2010 you will need to carry out an upgrade which is detailed in our Installation Guide. Once you have completed the upgrade – it’s important to test DocRead to ensure that it is still fully operational and working as expected on SharePoint 2010.

Migration Steps (Central Admin) :

  • Complete the build and testing of your new SharePoint 2013 Farm.
  • Install but do not configure the latest version of DocRead for SharePoint 2013 onto your new Farm. (you will also need a license key by this stage).
  • Install but do not configure the latest version of the DocRead Scheduler onto your new Farm.
  • Attach and upgrade all of the content databases that DocRead was used on previously (please refer to the Technet guide).
  • If you are using SharePoint Global Audiences with DocRead it’s also necessary migrate your User Profile Service App and Metadata Service App which is detailed here.
  • Once this is complete, please test that your Farm is operational and specifically ensure that the Site Collections, Webs, Libraries / Lists, Groups, Audiences and Documents now exist with the same content as they had for SharePoint 2010.

Do a full back-up your SharePoint 2013 Farm.

  • Back-up your 2010 DocRead database and restore it to the SQL Server that you will be using for production and make a note of the Database name and Server Name.
  • Navigate to Central Admin > Collaboris Settings > Database Settings and enter the ‘SQL Server’ and ‘Database Name’ that you noted in the step above. Click ‘Ok’
  • Navigate to Central Admin > Collaboris Settings > Licensing  and enter your license key and click ‘Add’. Click ‘Ok’
  • Navigate to Central Admin > Collaboris Settings > Global Settings and add all of the Web Applications that contain sites where DocRead is activate. (Please note, even if they appear to look the same, it’s important to remove all and the re-add them as the internal ID’s will differ). Click ‘Ok’.

Disable the following DocRead timer jobs by going to Central Admin > Monitoring > Review Job Definitions :

  • DocRead audiences synchronisation job
  • DocRead readership processing job
  • DocRead SharePoint synchronisation job
  • DocRead Worker job
  • DocSurvey Stats Job (optional)
  • Migration Steps (Site Collection)
  • That’s all you need to do in Central Admin for now. The next phase is deactivate and uninstall the old 2010 Features and activate the new 2013 Features.
  • You can download the ‘upgrade Powershell script from here.
  • Once downloaded, open Powershell script with Notepad and edit the Datasource, Database (DocRead database) and user credential (if required).

Save the updates

  • Execute the Powershell script file (click right mouse button and select ‘Run with Powershell’.
  • IMPORTANT: The script only reactivates DocRead basic features. If any additional features were activated before you should reactivate them manually.
  • Post Migration Steps (Central Admin) :
  • Perform an IISReset on all of your machines in the production Farm.
  • Restart the SharePoint Timer job on all machines in the production Farm (see step 12 above for a list).
  • Perform a “Process Reading Tasks” in each DocRead enabled web and ensure that all the tasks are a present as before.
  • Configure the DocRead Scheduler as specified in the Installation Guide.
  • Scheduler a regular backup of the DocRead database.

ASPHostPortal.com Proudly Announces DotNetNuke 7.3.4 Hosting

ASPHostPortal.com, The Best, Cheap and Recommended ASP.NET Hosting proudly announces DotNetNuke 7.3.4 Hosting with a combination of affordable price, fast & stable network and high customer satisfaction rate. ASPHostPortal.com provides full trust web hosting services for DotNetNuke 7.3.4 site.

DNN (formerly DotNetNuke) provides a suite of solutions for creating rich, rewarding online experiences for customers, partners and employees. DNN products and technology are the foundation for 750,000+ websites worldwide. In addition to commercial CMS and social community solutions, DNN is the steward of the DotNetNuke Open Source Project.

DNN Platform 7.3.4 has been released. The 7.3.4 release is a stabilization release. DNN 7.3.4 is a smaller maintenance release than normal and is focused on addressing the most serious platform issues. This version release to solve some issue, such as : fixed issue where site settings were not updating correctly in multi-language installations, fixed issue where partial site templates were not working correctly with child sites, fixed issue where links created in Telerik RadEditor were not correct and many others.

ASPHostPortal.com, a windows-based hosting service provider offers the most reliable and stable DotNetNuke 7.3.4 web hosting infrastructure on the net with great features, fast and secure servers. Customer’s site will be hosted in USA, Amsterdams or Singapore based server. All of our windows hosting plan supports DotNetNuke 7.3.4 and you can install DotNetNuke 7.3.4 with just one click. We offer professional DotNetnuke 7.3.4 site start from $5/month. The following are the reasons why you should choose and keep trust with us :

Uptime & Support Guarantees
We are so confident in Windows hosting services, we not only provide you with a 30 days money back guarantee, but also give 99.9% uptime guarantee.

Best and Friendly Support
Our support team is extremely fast and can help you with setting up and using DotNetNuke 7.3.4 on your account. Our customer support will help you 24 hours a day, 7 days a week and 365 days a year.

Dedicated Application Pool
Your site will be hosted using isolated application pool in order to meet maximum security standard and reliability.

ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET Hosting. With the DotNetNuke 7.3.4 in their hosting deal will make ASPHostPortal continue to be the Best ASP.NET hosting providers. To learn more about DotNetNuke 7.3.4 Hosting, please visit http://asphostportal.com/DotNetNuke-734-Hosting

About ASPHostPortal.com :
ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET Hosting. ASPHostPortal.com has ability to support the latest Microsoft and ASP.NET technology, such as: such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch. ASPHostPortal include shared hosting, reseller hosting, and sharepoint hosting, with speciality in ASP.NET, SQL Server, and architecting highly scalable solutions. ASPHostPortal.com strives to supply probably the most technologically advanced hosting solutions available to all consumers the world over. Protection, trustworthiness, and performance are on the core of hosting operations to make certain each and every website and/or software hosted is so secured and performs at the best possible level.

SharePoint 2013 Hosting With ASPHostPortal :: How to Use Microsoft SharePoint Workspace Mobile

ahp_freehostSHP(1)With SharePoint Workspace Mobile, you can open, edit, and save Microsoft Office documents that are on a SharePoint 2013 site or on SharePoint Online sites, which are available with Microsoft Office 365. Just go to the Office Hub to get started.

Notes

  • Unless your organization uses a Microsoft Forefront Unified Access Gateway (UAG) server, you can only access a SharePoint 2013 site if you’re in the office and connected to your organization’s Wi-Fi network. For more info, see Connect to a Wi-Fi network.
  • You can access documents that are on a SharePoint Online site at any time and from any location by using your phone’s cellular data connection or any Wi-Fi connection that lets you connect to the Internet.

To open a SharePoint site for the first time on your phone

  1. On Start, flick left to the App list, and then tap Office .
  2. Flick to Locations, and then tap SharePoint.

If you already signed in on your phone with an email account that you have as part of Microsoft Office 365 and your plan includes SharePoint Online, your SharePoint team site will already appear in Locations. Just tap the team site to open it.

  1. Next to https://, type the address for a SharePoint site, document library, list, or folder, and then tap Go .

If you have an Exchange email account set up on your phone, SharePoint will try to use that user name and password information to sign in to the SharePoint site. If you don’t have one set up on your phone, you’ll be prompted to enter your user name and password.

  1. If you’re prompted to sign in, do one of the following:
    • If the Microsoft Office 365 sign-in page appears, type your user ID in the corresponding box, type your password in the Password box, and then tap Sign in.
    • If the Site screen displays, tap the User name box, and type your user name. Type your password in the Password box, tap Domain, and then type the domain for your account. For example, if you log on as “domainName/user” at work, you’d type domainName. Tap Done.
  2. Tap More > Bookmark this link > OK in the Link added screen to bookmark the link for later.

Note

To open another SharePoint site or location later on, flick to Locations in the Office Hub, and then tap New . On the Open URL screen, type the SharePoint site address, and then tap Go .

To browse a SharePoint site

  1. In the Office Hub, flick to Locations.
  2. Tap the SharePoint site, document library, list, or folder that you want to browse.
  3. Tap Up to go up one level in the SharePoint site.
  4. To open the SharePoint site in your phone’s web browser, tap More > Open in browser.

To search the SharePoint site for a document

  1. In the Office Hub, flick to Locations.
  2. Tap the SharePoint site, document library, list, or folder that you want to search.
  3. To search the current view for a document, tap Search . In the Search box, start typing the document name, and then tap the document when you see it.
  4. If no matches are found in the current view, tap Search for documents on to search for the document on the SharePoint site.
  5. Tap the document to open it on your phone.

To open, edit, and save changes to an Office document on a SharePoint site

From your phone, you can open and edit any Office file stored on a SharePoint site.

  1. In the Office Hub, flick to Locations.
  2. Tap the SharePoint site, document library, list, or folder that has the document that you want to open and edit.
  3. Tap the document that you want to open.

A copy is downloaded to your phone.

  1. Make and save your changes as you normally would.

The changes you make will be saved on the SharePoint site. Other people in your company or organization can then open the same version of the document that you modified.

  1. Press the Back button to return to SharePoint Workspace Mobile.

To connect to a SharePoint 2013 site from outside your company’s network

If your organization uses a UAG server, you can connect to a SharePoint 2013 site when you’re away from the office by using either Wi-Fi or your phone’s cellular data connection. To do this, you’ll first need to configure the UAG server settings on your phone.

  1. On Start, flick left to the App list, tap Settings > Applications > Office.
  2. Tap UAG server.
  3. On the UAG server screen, do the following, and then tap Done:
    • In the UAG server address box, type the server address, beginning with https://.
    • In the User name box, type your domain and user name. For example, if you log on to your computer using domainName\user, you would type domainName\user in the box.
    • In the Password box, type your password.

To resolve a conflict

A conflict can occur if you’re editing a document from your phone, make some changes, and then try to save your changes to the SharePoint site after someone else has also made changes to the same document. When this occurs, you need to resolve the conflict before you can save the document back to the SharePoint site.

  1. If the Can’t upload message box is still displayed, tap OK.
  2. In the Office Hub, flick to Locations, tap the SharePoint site, tap and hold the document that has the upload error underneath it, and then tap View status.
  3. Tap Resolve on the Upload status screen.
  4. On the Conflict resolution screen, do one of the following, depending on what you want to do:
    • To update the document on your phone with the latest copy from the SharePoint site, tap Replace item on phone, and then tap Refresh copy. Warning: The changes you made to the document on your phone will be lost.
    • To save a copy of the document that’s on your phone to the SharePoint site, tap Replace item on server, and then tap Refresh copy. Your copy will be saved to the SharePoint site and will overwrite the current version that’s on it.
    • To keep both versions of the document, rename your copy of the document on your phone. Tap Save as, type a file name in the File name box, and then tap Save. Sync your phone with the server so that you also have the newer version of the document from the server, and you’ll have both copies to compare on your phone.

To keep an offline copy of a document on your phone

You can make sure a copy of a document always remains on your phone by keeping it offline. When you do this, a partnership is set up between the copy on the SharePoint site and the one on your phone. If the copy on the SharePoint site is updated and you open the copy of the document that’s on your phone, you’ll be notified and can open the newer version on your phone. Likewise, you can make changes to the document on your phone and save them back to the SharePoint site.

  1. In the Office Hub, flick to Locations.
  2. Tap the SharePoint site, document library, list, or folder that contains the document that you want to keep offline on your phone.
  3. Tap and hold the document, and then tap Always keep offline.

To email a link to a SharePoint site

  1. In the Office Hub, flick to Locations.
  2. Tap and hold the SharePoint site, and then tap Send link.
  3. Tap an email account name.
  4. Add the recipient and any other information to your email, and then tap Send .

Tip

You can also tap and hold on a document library, list, folder, or document, and then tap Send link to send a link to one of these items.

SharePoint 2013 Hosting with ASPHostPortal.com :: How to fix “Microsoft SharePoint is not supported with version 4.0.30319.225 of the Microsoft .Net Runtime” in PowerGUI

Introduction

banner promo-01

Today, i will tell you about fixing “Microsoft SharePoint is not supported with version 4.0.30319.225 of the Microsoft .Net Runtime” in PowerGUI. This porblem started when I attempt to run some Powershell command against Sharepoint in PowerGUI , I experience some slip message as beneath:

Remove-SPSite : Microsoft SharePoint is not supported with version 4.0.30319.225 of the Microsoft .Net Runtime.

At C:\SiteCreation.ps1:37 char:14

+ CategoryInfo : InvalidData: (Microsoft.Share…mdletRemoveSite:SPCmdletRemoveSite) [Remove-SPSite], PlatformNotSupportedException

The mistake message is really clear that Powergui attempt to run the Powershell command under .Net form 4.0 which is not backed by Sharepoint2010, Sharepoint2010 just help .Net 3.5.so in what capacity would I be able to change the settings so that Powershell does run under .Net3.5 in Powergui? The arrangement is really simple.

Solution

1. Open your windows explorer and explore to C:\program Files (x86)\powergui\ and open the configuration file Scripteditor.exe.config.

2. Change the supportedruntime form under Startup settings by deleting the version=”v4.0″ as underneath.

From :

<startup useLegacyV2RuntimeActivationPolicy=”true”>
<supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.0″ />
<supportedRuntime version=”v2.0.50727″ />
</startup>

To :

<startup useLegacyV2RuntimeActivationPolicy=”true”>
<supportedRuntime version=”v2.0.50727″ />
</startup>

3. Restart your PowerGUI and rerun your script. It works like a charm.

ASPHostPortal.com Proudly Launches nopCommerce 3.50 Hosting

ASPHostPortal.com, The Best, Cheap and Recommended ASP.NET Hosting proudly Launch nopCommerce 3.50 Hosting at affordable price, instant activation, and fast & stable network. ASPHostPortal.com provides full trust web hosting services for your nopCommerce 3.50 site. Full service and fully accountable, we expertly manage your hosting.

nopCommerce is an open source ecommerce software that contains both a catalog frontend and an administration tool backend. nopCommerce is a fully customizable shopping cart. It’s stable and highly usable. From downloads to documentation, nopCommerce.com offers a comprehensive base of information, resources, and support to the nopCommerce community. Now, nopCommerce has released the new version (nopCommerce 3.50).

nopCommerce 3.50 is much faster and easier to use, there is a slew of design as well as performance changes. nopCommerce 3.50 now support rental products, new tax rules for Europe Union from 2015, better warehouse and inventory control. In this version, nopCommerce allow a store owner to define custom address attributes and see all existing extensions and themes in admin area. And now specification attributes support several types like option, custom text, HTML text and hyperlink.

Why to Host Your nopCommerce 3.50 Site with ASPHostPortal.com

Uptime & Support Guarantees
We are so confident in Windows hosting services, we will not only provide you with a 30 days money back guarantee, but also give you a 99.9% uptime guarantee.

Dedicated Application Pool
With us, your site will be hosted using isolated application pool in order to meet maximum security standard and reliability.

Security
We employ best in breed firewalls and perimeter network protection.

ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET Hosting. With the nopCommerce 3.50 in their hosting deal will make ASPHostPortal continue to be the Best ASP.NET hosting providers. To learn more about nopCommerce 3.50 Hosting, please visit http://asphostportal.com/ nopCommerce-3-50-Hosting

About ASPHostPortal.com :
ASPHostPortal.com is The Best, Cheap and Recommended ASP.NET Hosting. ASPHostPortal.com has ability to support the latest Microsoft and ASP.NET technology, such as: such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch. ASPHostPortal include shared hosting, reseller hosting, and sharepoint hosting, with speciality in ASP.NET, SQL Server, and architecting highly scalable solutions. ASPHostPortal.com strives to supply probably the most technologically advanced hosting solutions available to all consumers the world over. Protection, trustworthiness, and performance are on the core of hosting operations to make certain each and every website and/or software hosted is so secured and performs at the best possible level.

SharePoint 2013 Hosting with ASPHostPortal :: Configures the Application Server and Web Server

The pre-requisites installation in one of my recent SharePoint 2013 farm installations was failing at the step where it configures the Application Server and Web Server role for the Server:

installationerror

 

Further, the error logs had the following entry:

  • Request for install time of Application Server Role, Web Server (IIS) Role
  • Install process returned (0)
  • [In HRESULT format] (0)
  • “C:\Windows\system32\cscript.exe” “C:\Windows\system32\iisext.vbs” /enext “ASP.NET v4.5.30319″
  • Request for install time of Application Server Role, Web Server (IIS) Role – Install process returned (1)
  • [In HRESULT format] (-2147024895)
  • Error when enabling ASP.NET v4.5.30319 – Last return code

Since I did not find much community guidance around this, I thought I’ll do some research myself and post the solution for other’s benefit as well. A little bit of digging around revealed that the IISExt.vbs script file was indeed missing from the C:\Windows\System32 folder. Further research revealed that the script is part of the IIS 8.0 scripting tools. The solution therefore is as simple as enabling the IIS 8.0 Scripting Tools through the Server Roles and Features Wizard. The path to the IIS 8.0 Scripting Tools is shown in the following screen capture:

iis6scriptingtools

That’s it. Your pre-requisites installation should proceed as intended after you install these tools… Good Luck with your install! :D

SharePoint 2013 Hosting with ASPHostPortal.com :: How to Access SharePoint Data from Provider-Hosted Apps Use the Right Context

Recently I have focused on building apps that access, manipulate, and interact with data stored in SharePoint Online with Office 365. If you have done any development using the client-side object model (CSOM) for SharePoint, you understand the importance of instantiating the proper ClientContext object to access data in a particular SharePoint site. The ClientContext constructor takes as an argument the URL of a SharePoint site and allows you to access data stored in the Lists collection of the Web associated with it. In this post, I will discuss the various context objects you should use in your provider-hosted app depending on where the data your app needs to access resides and if the user’s permissions need to be considered. If you have been developing apps for SharePoint for awhile now (and even if you haven’t), I strongly encourage you to use Visual Studio 2013 and the Office Developer Tools for Visual Studio 2013

Host webs and app webs

When dealing with apps for SharePoint, you will become familiar with host webs and app webs:

  • Host web – the SharePoint site to which an app is installed
  • App web – the special isolated site (a unique app web is provisioned for each installation of the app) where the app for SharePoint’s internal components and content, such as lists, content types, workflows, and pages, are deployed

Note that a provider-hosted app is not required to have an app web, and in fact may not need one depending on your business requirements.

Your app will always have Full Control permissions to its app web. However, your app will need to request (and be granted) permissions by the user installing your app in order to access data in the host web. This is handled through the app manifest.
If your app needs to access data in the SharePoint site where it is being installed, you will be working with a host web context of some sort. As you will see, there are actually two different host web context objects, depending on the app authorization policy you choose.
Life made easy, thanks to SharePointContext.cs

When you create a new provider-hosted app in Visual Studio 2013, you have the option to create a new ASP.NET Web Forms or MVC application to serve as your app’s remote web application. If you are using the Office Developer Tools for Visual Studio 2013, you also have the option to convert an existing ASP.NET web application to an app for SharePoint project (really cool!) In either case, you will notice that SharePointContext.cs is added to the remote web application project. This file contains class definitions forSharePointAcsContext and SharePointHighTrustContext, which allow you to create host web and app web context objects based on whether your trust broker is ACS (which it is with Office 365) .
Accessing data in the app web
To access data in the SharePoint app web from your app, use the following pattern:

CSOM (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);using (var clientContext = spContext.CreateUserClientContextForSPAppWeb()){Web web = clientContext.Web;

clientContext.Load(web);

clientContext.ExecuteQuery();

ListCollection lists = web.Lists;

clientContext.Load<ListCollection>(lists);

clientContext.ExecuteQuery();

}

REST (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);HttpWebRequest listRequest = (HttpWebRequest)HttpWebRequest.Create(spContext.SPAppWebUrl + “/_api/web/lists”);listRequest.Method = “GET”;listRequest.Accept = “application/atom+xml”;

listRequest.ContentType = “application/atom+xml;type=entry”;

listRequest.Headers.Add(“Authorization”, “Bearer ” + spContext.UserAccessTokenForSPAppWeb);

JSOM

var appweburl = decodeURIComponent(getQueryStringParameter(“SPAppWebUrl”));var clientContext = new SP.ClientContext(appweburl);var appWeb = clientContext.get_web();var appWebListColl = appWeb.get_lists();

clientContext.load(appWebListColl);

clientContext.executeQueryAsync(onAppWebGetListSuccess, onError);

Accessing data in the host web

To access data in the SharePoint host web (the SharePoint site where your app is installed) from your app, use the following pattern:

CSOM (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);using (var clientContext = spContext.CreateUserClientContextForSPHost()){Web web = clientContext.Web;

clientContext.Load(web);

clientContext.ExecuteQuery();

ListCollection lists = web.Lists;

clientContext.Load<ListCollection>(lists);

clientContext.ExecuteQuery();

}

REST (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);HttpWebRequest listRequest = (HttpWebRequest)HttpWebRequest.Create(spContext.SPAppWebUrl + “/_api/web/lists”);listRequest.Method = “GET”;listRequest.Accept = “application/atom+xml”;

listRequest.ContentType = “application/atom+xml;type=entry”;

listRequest.Headers.Add(“Authorization”, “Bearer ” + spContext.UserAccessTokenForSPHost);

JSOM

var appweburl = decodeURIComponent(getQueryStringParameter(“SPAppWebUrl”));var hostweburl = decodeURIComponent(getQueryStringParameter(“SPHostUrl”));var clientContext = new SP.ClientContext(appweburl);var factory = new SP.ProxyWebRequestExecutorFactory(appweburl);

clientContext.set_webRequestExecutorFactory(factory);

var appContextSite = new SP.AppContextSite(clientContext, hostweburl);

var hostWeb = appContextSite.get_web();

hostWebListColl = hostWeb.get_lists();

clientContext.load(hostWebListColl);

clientContext.executeQueryAsync(onHostWebGetListSuccess, onJSOMError);

Note that using JSOM, we still need to construct a ClientContext for the app web before we generate an AppContextSite for the host web, made possible through theSP.ProxyWebRequestExecutorFactory.

A note about the app-only authorization policy

By default, authorization checks in the host web succeed only if both the current user and the app have sufficient permissions to perform the action in question, such as reading from or writing to a list. We are reminded that the user’s permissions are taken into account based on the names of the context and access token objects we use in these scenarios: for instance, CreateUserClientContextForSPHost and UserAccessTokenForSPHost. However, your app has the ability to do something akin to running with elevated privileges using the app-only policyfor authorization. Also controlled through the app manifest, the app-only policy is useful when an app doesn’t need or want to consider the permissions of the current user. In Visual Studio 2013, you can specify that your app would like to have the ability to use the app-only policy by checking this box in the AppManifest.xml editor.
That being said, just because your app is granted this permission does not mean that you can use the same host web context or access token as before to automatically leverage it. To access data from the SharePoint host web (taking only your app’s permissions into account and ignoring the current user’s permissions) from your app, use the following pattern:

CSOM (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);using (var clientContext = spContext.CreateAppOnlyClientContextForSPHost()){Web web = clientContext.Web;

clientContext.Load(web);

clientContext.ExecuteQuery();

ListCollection lists = web.Lists;

clientContext.Load<ListCollection>(lists);

clientContext.ExecuteQuery();

}

REST (C#)

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);HttpWebRequest listRequest = (HttpWebRequest)HttpWebRequest.Create(spContext.SPAppWebUrl + “/_api/web/lists”);listRequest.Method = “GET”;listRequest.Accept = “application/atom+xml”;

listRequest.ContentType = “application/atom+xml;type=entry”;

listRequest.Headers.Add(“Authorization”, “Bearer ” + spContext.AppOnlyAccessTokenForSPHost);

Remember that in order to use the app-only policy, your app must request and be granted this permission by the site owner who installs your app. Also note that there is no JSOM example using the app-only policy because apps that do not make OAuth authenticated calls (such as apps that are only JavaScript running in the app web) cannot use the app-only policy.
As you can see, the code you write in each of the above scenarios (accessing data in the app web, host web, or using the app-only authorization policy) is identical except for the method or property you use from the SharePointContext class to get the appropriate context or access token. Understanding these subtle differences is vitally important when making sure your app has the ability to access and manipulate the SharePoint data it needs.

SharePoint 2013 Hosting With ASPHostPortal.com :: Tips How to Creating a SharePoint development environment

SharePoint 2013 Development Environment

ahp_freehostSHP(1)Creating a SharePoint development environment is a task that can be challenging because the aim is to produce a usable environment, often on resource-constrained hardware. Keep in mind that no amount of tweaking will yield a satisfactory result unless your machine meets the minimum requirements for SharePoint 2013. Here are some tips to keep your dev box humming along nicely:

  • Memory – use as much of it as you can. 8 GB is the absolute minimum and even this amount may cause you some problems. If SQL Server starts paging to disk you’ll get no work done.
  • When using a hypervisor such as Hyper-V make sure you allocate more than 1 CPU core to your SharePoint VM.
  • Set a maximum server memory limit in SQL Server.
  • Don’t create a search service application unless you need one. Those noderunner.exe processes will gobble up lots of memory. You can limit the memory usage by editing the noderunner.exe.config file located in C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0. Look for the memoryLimitMegabytes attribute.
  • If you have a search service application disable continuous crawling and don’t set any crawl schedules. Crawl your content when you need to.
  • Use Set-SPEnterpriseSearchService -PerformanceLevel Reduced to reduce the CPU impact the search service has on your dev environment.
  • Pause the search service application if you’re not using it.
  • Keep the number of web applications to a minimum. Lots of IIS application pools means increased memory usage.
  • Configure an agressive diagnostic log storage limit. You probably won’t need days or weeks of trace log history at your fingertips.
  • Set the recovery model of your SharePoint databases to Simple. This will eliminate the need for a SQL maintenance plan. Many developers overlook SQL log file rotation until their dev machine runs out of storage.
  • Disable usage data collection (unless you need it).
  • Don’t use your regular domain account to run SharePoint services and don’t make it a local administrator of your development box. Develop and test using different user accounts.
  • Keep in mind that these tips are designed to make your personal development environment responsive and easy to work with. A production SharePoint environment would not need these changes as it should be properly resourced and managed.