A question about SharePoint 2013 CAL

Hi all,
I have a question about SharePoint 2013 licensing. We are at the moment using SPS 2010, for 2015 we are going to use SharePoint 2013. We licensed SharePoint 2010 with enterprise CALs and we feel that most of its features are not being used by us. The only
thing that we use is publishing InfoPath forms to form libraries within SharePoint, do we need to have Full enterprise license to use this feature? Or would the standard CAL suffice to do this function. Any advice would be appreciated.
Thanks

InfoPath Forms services is an Enterprise license feature.  Anyone using InfoPath forms will need an Enterprise cal in 2013.
Paul Stork SharePoint Server MVP
Principal Architect: Blue Chip Consulting Group
Blog: http://dontpapanic.com/blog
Twitter: Follow @pstork
Please remember to mark your question as "answered" if this solves your problem.

Similar Messages

  • SharePoint 2013 CAL and External users

    Hi,
    We are setting up an extranet site(SharePoint 2013 standard version) on Rackspace, Both employee and non-employee will use this site. Employee will use company existing SAML 2.0 based authentication and non-employee will use FBA to login to
    the portal.
    I would like to know if we need to buy CAL for external users(non-employee)? What is the definition of external users?
    Thanks,
    Pat

    Check out this post and this should answer all you questions. 
    http://social.technet.microsoft.com/forums/sharepoint/en-US/0756aaa7-b307-4793-b019-bc58d4ace8b2/sharepoint-foundation-fba-on-internet-licensing
    Thanks, Danny Hickman IT Support Specialist

  • RBS questions on sharepoint 2013

    I need some advice on RBS setup on sharepoint 2013.  I am following the microsoft article on setting RBS setup, on where you run some sql queries for the sql file stream on the content databases you want RBS to be setup on.  Then i download the
    RBS_amd64.msi file and install it on one web front end server  and enable for each content database. 
    My questions are that i have other web servers, app servers and db servers, do i need to install the rbs.msi exe on every other server in the farm , or just only the web servers and the app servers. Such as do we run that msiexec command on each server.
    Also how does rbs work for all migrated sites or existing sites which have documents already stored.  So if we enable rbs for these sites and for files over 5 mb, would that apply to only new uploaded files over 5mb, or will apply to also already stored
    over 5mb files. 
    Also does shredded storage impact the files sizes been uploaded as while, such if we configure files to be uploaded over 5 mb, will this apply to the files over this limit or does the files have to be much larger than 5 MB, such 8 or 9 mb have the rbs applied
    to them.
    Can i be advised on these 2 questions.
    Thanks

    I SUGGEST YOU NOT TO USE RBS IF YOU HAVE FURTHER PLANS FOR MIGRATING FOR NEWER VERSIONS. STILL I will give you steps for migrating RBS on sharepoint 2010 to 2013. But note that when I have migrated it on 2013 it is not in the way or RBS. I had to remove
    RBS from 2010 server and convert it itn database file of more than 600 GB and then migrated this db file to restore on sharepoint 2013 with sql 2012. and belive me it took more than 15 days to make copy and paste only. so.. better not to use RBS if you have
    large data.
    see the below steps.
    1.   
    Live SharePoint 2010 environment with SQL 2008 R2
    a.   
    Take back up from 2010 live server.
    i.     
    Open management studio on SQL server.
    ii.     
    Take back up of content database of live application.
    2.   
    QA SharePoint 2010 environment with SQL 2008 R2
    a.   
    Restore SQL backup
    i.     
    Open management studio on SQL server.
    ii.     
    Restore database.
    b.  
    Create Web Application
    i.     
    Open SharePoint server
    ii.     
    Open central admin
    iii.     
    Create web application with classic authentication.
    c.   
    Dismount database which is with existing application
    i.     
    Open SharePoint PowerShell on SharePoint server.
    ii.     
    Fire below command.
    Dismount-SPContentDatabase <Database name>
    Note: Change the database name.
    d.  
    Mount restored database with existing application
    i.     
    Open SharePoint PowerShell on SharePoint server.
    ii.     
    Fire below command.
    Mount-SPContentDatabase <Database name>  -DatabaseServer  <Database server name > -WebApplication <Web application>
    Note: Change the database name and web application URL.
    iii.     
    Open SharePoint Designer and change the master page and publish it.
    iv.     
    Set the Test page as Home page.
    v.     
    Test user logging
    Logging with the 2-3 different users and test they can able to logging.
    e.   
    Configure RBS
    i.     
    Enable FILESTREAM on the database server
    Open SQL Server Configuration manager on SQL Server.
    From left panel click on SQL Server Services.
    From right panel select the instance of SQL Server on which you want to enable FILESTREAM.
    Right-click the instance and then click Properties.
    In the SQL Server Properties dialog box, click the FILESTREAM tab.
    Select the Enable FILESTREAM for Transact-SQL access check box.
    If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Enter the name of the Windows share in the Windows Share Name box.
    If remote clients must access the FILESTREAM data that is stored on this share, select allow remote clients to have streaming access to FILESTREAM data.
    Click Apply and ok.
    ii.     
    Set FILESTREAM access level
    Open SQL management studio and connect SQL database instance.
    Right click on database instance and open Property.
    Go to: click on advanced from left panel.
    Find the “Filestream Access Level” property and set the value “Full access enabled”
    Click OK and exit window.
    iii.     
    Set SharePoint Configure FILESTREAM access level
    Open Query window on root
    Execute  following query
    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE
    Restart SQL services
    Note: You will get message” Configuration option 'filestream access level' changed from 2 to 2. Run the RECONFIGURE statement to install.”
    iv.     
    Provision a BLOB store for each content database
    Click the content database for which you want to create a BLOB store, and then click New Query
    Execute following query
    use [<Database name>]
    if not exists
    (select * from sys.symmetric_keys
    where name = N'##MS_DatabaseMasterKey##')
    create master key encryption by password = N'Admin Key Password !2#4'
    Note:
    Change the database name
    You get “Command(s) completed successfully.” Message.
    use [<Database name>]
    if not exists
    (select groupname from sysfilegroups
    where groupname=N'RBSFilestreamProvider')
    alter database [<Database name>]
    add filegroup RBSFilestreamProvider contains filestream
    Note:
    Change the database name.
    You get “Command(s) completed successfully.” Message.
    use [<Database name>]
    alter database [<Database name>]
     add file (name = RBSFilestreamFile, filename =
    '<E:\SQL\Data\PetroChina>')
    to filegroup RBSFilestreamProvider
    Note:
    Change the database name and store path.
    If you get message “FILESTREAM file 'RBSFilestreamFile' cannot be added because its destination filegroup cannot have more than one file.”
    Ignore it.
    v.     
    Install the RBS client library on each Web server
    To install the RBS client library on the on the first Web server
    Open SharePoint Web server
    Open command prompt.
    Execute following command
    msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME=<Database name> DBINSTANCE=<Database server> FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    Note:
    Change the database name and database instance name.
    DB instance should be <server name\instance name>
    Download RBS.msi for respective SQL version.
    To install the RBS client library on all additional Web and application serversOpen SharePoint Web server
    Open command prompt.
    Execute following command
    msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi DBNAME=<Database name> DBINSTANCE=<Database server> ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
    Note:
    Change the database name and database instance name.
    DB instance should be <server name\instance name>
    vi.     
    Enable RBS for each content database
    You must enable RBS on one Web server in the SharePoint farm. It is not important which Web server that you select for this activity. You must perform this procedure once for each content database.
    Open SharePoint web server
    Open SharePoint PowerShell
    Execute below script
    $cdb = Get-SPContentDatabase <Database name>
    $rbss = $cdb.RemoteBlobStorageSettings
    $rbss.Installed()
    $rbss.Enable()
    $rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
    $rbss
    Note: Change the database name.
    vii.     
    Test the RBS installation
    On the computer that contains the RBS data store.
    Browse to the RBS data store directory.
    Confirm that size of RBS data store directory.
    On the SharePoint farm, upload a file that is at least 100 kilobytes (KB) to a document library.
    On the computer that contains the RBS data store.
    Browse to the RBS data store directory.
    Confirm that size of RBS data store directory.
    It must be more than before.
    viii.     
    Test user logging
    Logging with the 2-3 different users and test they can able to logging.
    f.    
    Migrate RBLOB from RBS to SQL database and completely remove RBS
    i.     
    Migrate all content from RBS to SQL and disable RBS for content DB:
    Open SharePoint server.
    Open SharePoint management PowerShell
    Execute below script
    $cdb=Get-SPContentDatabase <Database name>
    $rbs=$cdb.RemoteBlobStorageSettings
    $rbs.GetProviderNames()
    $rbs.SetActiveProviderName("")
    $rbs.Migrate()
    $rbs.Disable()
    Note:
    Migrate() might take some time depending on amount of data in your RBS store.
    Change the database name.
    If you get message on the PowerShell “PS C:\Users\sp2010_admin> $rbs.Migrate()
    Could not read configuration for log provider <ConsoleLog>. Default value used.
    Could not read configuration for log provider <FileLog>. Default value used.
    Could not read configuration for log provider <CircularLog>. Default value used.
    Could not read configuration for log provider <EventViewerLog>. Default value used.
    Could not read configuration for log provider <DatabaseTableLog>. Default value used.” Then wait for while it will take some time to start migration.”
    ii.     
    Change the default RBS garbage collection window to 0 on your content DB:
    Open SQL server
    Open SQL management studio
    Select your content DB and open new query window
    Execute below SQL query
    exec mssqlrbs.rbs_sp_set_config_value ‘garbage_collection_time_window’,'time 00:00:00′
    exec mssqlrbs.rbs_sp_set_config_value ‘delete_scan_period’,'time 00:00:00′
    Note:
    Run one by one SQL query
    You will get “Command(s) completed successfully.” Message
    iii.     
    Run RBS Maintainer (and disable the task if you scheduled it):
    Open SharePoint server
    Open command prompt
    Run below command
    "C:\Program Files\Microsoft SQL Remote Blob Storage 10.50\Maintainer\Microsoft.Data.SqlRemoteBlobs.Maintainer.exe" -connectionstringname RBSMaintainerConnection -operation GarbageCollection ConsistencyCheck ConsistencyCheckForStores -GarbageCollectionPhases
    rdo -ConsistencyCheckMode r -TimeLimit 120
    iv.     
    Uninstall RBS:
    Open SQL server
    Open SQL management studio
    On your content DB run below SQL query
    exec mssqlrbs.rbs_sp_uninstall_rbs 0
    Note:
    If you will get message “The RBS server side data cannot be removed because there are existing BLOBs registered. You can only remove this data by using the force_uninstall parameter of the mssqlrbs.rbs_sp_uninstall stored pro” then run this “exec mssqlrbs.rbs_sp_uninstall_rbs
    1 ”
    You will get “Command(s) completed successfully.” Message.
    v.     
    Uninstall from add/remove SQL Remote Blob Storage.
    I found that there were still FILESTREAM references in my DB, so remove that reference
    Open SQL server
    Open SQL management studio
    Run below SQL query on your content DB:
    ALTER TABLE [mssqlrbs_filestream_data_1].[rbs_filestream_configuration] DROP column [filestream_value]
    ALTER TABLE [mssqlrbs_filestream_data_1].[rbs_filestream_configuration] SET (FILESTREAM_ON = "NULL")
    Note:
    Run one by one SQL query
    vi.     
    Now you can remove the file and filegroup for filestream:
    Open SQL server
    Open SQL management studio
    Open new query window on top
    Execute below SQL query
    ALTER DATABASE <Database name> Remove file RBSFilestreamFile;
    Note:
    Change the database name
    If it gives message “The file 'RBSFilestreamFile' cannot be removed because it is not empty.” Then remove all table prefix with “mssqlrbs_” from your database and execute SQL query again.
    This query takes time as per your database size (almost 30 min).
    You will get “The file 'RBSFilestreamFile' has been removed.” Message
    Execute below SQL query
    ALTER DATABASE <Database name> REMOVE FILEGROUP RBSFilestreamProvider;
    Note:
    Change the database name
    You get “The filegroup 'RBSFilestreamProvider' has been removed.” Message.
    Or If you get “Msg 5524, Level 16, State 1, Line 1 Default FILESTREAM data filegroup cannot be removed unless it's the last
    FILESTREAM data filegroup left.” message. Then ignore this message.
    vii.     
    Remove Blob Store installation
    Open SharePoint server
    Run RBS.msi setup file and choose Remove option.
    Finish wizard.
    viii.     
    Disable FILESTREAM in SQL Configuration Manager
    Disable FILESTREAM in SQL Configuration Manager for your instance (if you do not use it anywhere aside this single content DB with SharePoint), run SQL reset and IIS reset and test.
    ix.     
    Test the RBS Removed or not?
    On the computer that contains the SQL database.
    Confirm that size of SQL database (.mdf file).
    On the SharePoint farm, upload a file that is at least 100 kilobytes (KB) to a document library.
    On the computer that contains the SQL database.
    Confirm that size of SQL database.
    It must be more than before. If there is no difference then ignore it. Just check it Store is no more in SQL.
    x.     
    Test user logging
    Logging with the 2-3 different users and test they can able to logging.
    g.   
    Convert classic-mode web applications to claims-based authentication
    i.     
    Open SharePoint server
    ii.     
    Open SharePoint PowerShell
    iii.     
    Execute below script
    $WebAppName = "<URL>"
    $wa = get-SPWebApplication $WebAppName
    $wa.UseClaimsAuthentication = $true
    $wa.Update()
    $account = "<Domain name\User name>"
    $account = (New-SPClaimsPrincipal -identity $account -identitytype 1).ToEncodedString()
    $wa = get-SPWebApplication $WebAppName
    $zp = $wa.ZonePolicies("Default")
    $p = $zp.Add($account,"PSPolicy")
    $fc=$wa.PolicyRoles.GetSpecialRole("FullControl")
    $p.PolicyRoleBindings.Add($fc)
    $wa.Update()
    $wa.MigrateUsers($true)
    $wa.ProvisionGlobally()
    iv.     
    Test user logging
    Logging with the 2-3 different users and test they can able to logging.
    h.  
    Take SQL backup from QA server
    i.     
    Open SQL server
    ii.     
    Open management studio on SQL server
    iii.     
    Select the content database
    iv.     
    Take back up of content database
    Information: This SQL backup is not content RBS.
    3.   
    New SharePoint 2013 environment with SQL 2012
    a.   
    Restore SQL backup
    i.     
    Open SQL server
    ii.     
    Open SQL management studio
    iii.     
    Restore the SQL database using *.bak file
    b.  
    Dismount database which is with existing application
    i.     
    Open SharePoint server
    ii.     
    Open SharePoint management PowerShell
    iii.     
    Execute below script
    Dismount-SPContentDatabase <Database name>
    Note: change the database name which bind with existing application.
    c.   
    Mount restored database with existing application
    i.     
    Open SharePoint server
    ii.     
    Open SharePoint management PowerShell
    iii.     
    Execute below script
    Mount-SPContentDatabase <Database name> -DatabaseServer <Database server name> -WebApplication <URL>
    Note:
    Change the database name with new restored database name
    Change the database server name in form of “DB server name\DB instance name”
    Change the URL of web application
    This command take some time.
    d.  
    Upgrade site collection
    i.     
    Open SharePoint server
    ii.     
    Open new site
    iii.     
    You will find message on top “Experience all that SharePoint 15 has to offer. Start now or Remind me later”
    iv.     
    Click on “Start”
    v.     
    Click on ”Upgrade this Site Collection”
    vi.     
    Click on “I Am ready”
    vii.     
    After some time you will get message “Upgrade Completed Successfully”
    viii.     
    Test User logging.

  • Error while installing MS Project Server 2013(trial) on Sharepoint 2013(CAL)

    My problem is that I get the following error:
    trial editions and licensed editions of SharePoint, Project Server, and Office Web Apps products may not be installed on the same server
    when I try to install MS Project Server 2013(180 days-evaluation) over a Sharepoint 2013(MAPS license).
    What does exactly this error say?
    Do I need to have Sharepoint and MS Project Server with same type of license?
    If so, I suppose I'll have to remove Sharepoint(MAPS) and install a 180 days-evaluation Sharepoint. Will this re-installation be acceptable or I'll get some license type incompatibility issues?

    Hello. You are correct, you will need to have the same license types either both trials or both licensed. Uninstalling/ reinstalling with trials should work fine or build another trial farm. Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS |
    MVP | Downloads

  • Question about Sharepoint online ExcelService

    Recently, I want to develop a customize app which need to get& save data from Excel which hosted on Sharepoint online. So I should use ExcelService web service(SOAP API). But when I use ExcelService.OpenWorkBook function based on Microsoft's guide,
    system reports an error- "We couldn't find the file you wanted". Here is my code:
                Status[] outStatue;
                RangeCoordinates ranngeCoordinates = new RangeCoordinates();
                string sheetname = "Summary";
                string targetWorkBookpath = "XXXX";
                es.Credentials = new System.Net.NetworkCredential(userName, securePwd, "XXX.sharepoint.com");
                es.SoapVersion = SoapProtocolVersion.Soap12;
                string sessionId = es.OpenWorkbook(targetWorkBookpath, "en-US", "en-US", out outStatue);
    So could you help me know:
    1. Whether Sharepoint online supports ExcelService web service(SOAP API), or whether can I get/save excel data by using ExcelService web service?
    2. Could you please provide me some related material or web reference to help me learn how can I get/save excel data by using ExcelService web service.
    3. Because Sharepoint online is based on Office 365, so it's mapped to Https, I guess system need do user authentication, how can I can do it in my code. 

    try these links:
    http://stackoverflow.com/questions/27810229/using-excel-services-on-sharepoint-online
    https://social.technet.microsoft.com/Forums/en-US/e85ea9b8-68e3-4d0d-9421-6e9424a57ab4/excel-web-access-error-when-i-click-browse-button-beside-workbook?forum=sharepointadmin
    http://blog.sharepointsite.co.uk/2014/01/office-web-app-ran-into-problem-opening.html
    https://curah.microsoft.com/66407/were-sorry-we-ran-into-a-problem-completing-your-request-please-try-that-again-in-a-few-minutes
    yes it supports excel web services api below links is useful:
    http://blogs.office.com/2013/12/17/excel-rest-api-in-sharepoint-online/
    http://msdn.microsoft.com/en-us/library/office/ff640648%28v=office.14%29.aspx

  • Question about Outlook 2013 Today (Blank/Empty Outlook Today)

    Hello,
    I have a 64 bit Outlook 2013 Professional Plus running on v15.0.4551.1511 of Outlook.exe and v15.0.4551.1007 of MSO.DLL.
    The OS is a 64 Bit windows 8.1 professional edition
    The problem here is that i get a blank Outlook Today screen. I do have some tasks and events set for today.. i definitely have mails today. How do i get this to work ?
    Here are my installed updates.
    50 Instances of Win32_QuickFixEngineering
    Node
    Description
    FixComments
    HotFixID
    InstallDate
    InstalledBy
    InstalledOn
    Name
    ServicePackInEffect
    Status
    TESLA
    Update.
    KB2899189_Microsoft-Windows-CameraCodec-Package.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2843630.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Security Update.
    KB2862152.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2868626.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2876331.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2883200.
    NT AUTHORITY\SYSTEM.
    1/28/2014.
    TESLA
    Update.
    KB2884846.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2887595.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2892074.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2893294.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2893984.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2894029.
    NT AUTHORITY\SYSTEM.
    1/28/2014.
    TESLA
    Update.
    KB2894179.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2895219.
    NT AUTHORITY\SYSTEM.
    1/23/2014.
    TESLA
    Update.
    KB2898514.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2898742.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2898785.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2898868.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Security Update.
    KB2898871.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Security Update.
    KB2900986.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2901101.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2901125.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Security Update.
    KB2901128.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2902892.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2903939.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2904266.
    NT AUTHORITY\SYSTEM.
    1/28/2014.
    TESLA
    Update.
    KB2904440.
    NT AUTHORITY\SYSTEM.
    1/30/2014.
    TESLA
    Update.
    KB2906956.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2908174.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2908816.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Security Update.
    KB2909210.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2909569.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2909921.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2911106.
    NT AUTHORITY\SYSTEM.
    2/16/2014.
    TESLA
    Update.
    KB2911134.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2912390.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2913152.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2913270.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2913320.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Security Update.
    KB2916036.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2916626.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2917929.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2917993.
    NT AUTHORITY\SYSTEM.
    1/26/2014.
    TESLA
    Update.
    KB2919394.
    NT AUTHORITY\SYSTEM.
    3/3/2014.
    TESLA
    Update.
    KB2919907.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2923300.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2923528.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2923768.
    NT AUTHORITY\SYSTEM.
    2/12/2014.
    TESLA
    Update.
    KB2929825.
    NT AUTHORITY\SYSTEM.
    2/5/2014.
    TESLA
    Update.
    KB2934802.
    NT AUTHORITY\SYSTEM.
    2/21/2014.

    Same Problem here! Any suggestions?
    Goddamn Outlook 2013!
    Marc

  • SharePoint 2013 with sp1 install on windows server 2012 R2

    Hi All:
    excuse me I have a question about sharepoint installation. I install sharepoint 2013 with sp1 on windows server 2012 R2,but i always got "Configuring Application Server Role, Web Server (IIS) Role"
    message. I refer to this article <http://support.microsoft.com/kb/2765260>. I still got this message ... Which I did wrong step ?? I have been troubled for a long time, thanks to the help ...

    Hi  TiM,
    According to your description, my understanding is that you got an error when you installed the prerequisites for SharePoint 2013 SP1 on Windows 2012 R2.
    Please make sure that you have installed .NET Framework 3.5 on Windows Server 2012 R2, and enable .NET Framework 3.5 by using the Add Roles and Features Wizard.
    Here is a blog you can refer to:
    http://blog.migrationking.com/2013/11/how-to-install-net-framework-35-on.html
    Reference:http://social.technet.microsoft.com/Forums/en-US/55589deb-cddf-445f-be41-b4c97f06ff4d/sharepoint-2013-sp1-on-windows-2012-r2?forum=sharepointgeneral
    Thanks,
    Eric
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support,
    contact [email protected]
    Eric Tao
    TechNet Community Support

  • SharePoint 2013 event receiver error

    I am currently working on a SharePoint online project. I am facing a strange issue. My code generates 6 documents
    in 6 different document libraries along with other metadata. When I save data to a List, the event receiver fires and creates all the 6 documents. But sometimes it stops creating the 6 documents and left with 1 or 2 documents. Sometimes documents has been
    created but without any metadata. The same code is working fine in my on-premises environment, but it sometimes breaks in the Office 365 environment. I also created a log list to track the issue as we cannot debug in Office 365. In the log list I found a error
    message saying "Thread was being aborted." Below is my code. please help it is happening only in Office 365 environment.
    using Microsoft.SharePoint;
    /// <summary>
    /// List Item Events
    /// </summary>
    public class ExcelGenReceiver : SPItemEventReceiver
    /// <summary>
    /// The template URL
    /// </summary>
    private const string TemplateUrl = "/Quotation Analysis Electrical/Forms/Quotation Analysis Sheet ELEC_Blank.xlsm";
    /// <summary>
    /// The template url1
    /// </summary>
    private const string TemplateUrl1 = "/Quotation Analysis Mechanical/Forms/Quotation Analysis Sheet MECH_Blank.xlsm";
    /// <summary>
    /// The template url2
    /// </summary>
    private const string TemplateUrl2 = "/TenderSummaryLib/Forms/TenderSummaryBlankMaster1.xlsm";
    /// <summary>
    /// The RFI template URL
    /// </summary>
    private const string RfiTemplateUrl = "/EstimatingRFI/Forms/RFI Schedule MASTER.docx";
    /// <summary>
    /// The drawing template URL
    /// </summary>
    private const string DrawingTemplateUrl = "/Tender and Drawing Schedule/Forms/Tender Document Drawing Schedule.docx";
    /// <summary>
    /// The tender return template URL
    /// </summary>
    private const string TenderReturnTemplateUrl = "/Est_Tender_Pricing_Document/Forms/Tender Pricing Document blank.xlsm";
    /// <summary>
    /// The project number
    /// </summary>
    private string projectNumber = string.Empty;
    /// <summary>
    /// The project name
    /// </summary>
    private string projectName = string.Empty;
    /// <summary>
    /// The no bid
    /// </summary>
    private string noBid;
    /// <summary>
    /// The team
    /// </summary>
    private string team;
    /// <summary>
    /// The description
    /// </summary>
    private string description;
    /// <summary>
    /// The status
    /// </summary>
    private string status;
    /// <summary>
    /// The electrical
    /// </summary>
    private SPUser electrical;
    /// <summary>
    /// The mechanical
    /// </summary>
    private SPUser mechanical;
    /// <summary>
    /// The document date
    /// </summary>
    private DateTime? docDate;
    /// <summary>
    /// The tender received
    /// </summary>
    private DateTime? tenderReceived;
    /// <summary>
    /// The tender return
    /// </summary>
    private DateTime? tenderReturn;
    /// <summary>
    /// The pre construction program start date
    /// </summary>
    private DateTime? preConstructionProgramStart;
    /// <summary>
    /// The pre construction program end date
    /// </summary>
    private DateTime? preConstructionProgramEnd;
    /// <summary>
    /// The sector
    /// </summary>
    private string sector;
    /// <summary>
    /// The design build
    /// </summary>
    private string designBuild;
    /// <summary>
    /// The build type
    /// </summary>
    private string buildType;
    /// <summary>
    /// The service program start date
    /// </summary>
    private DateTime? serviceProgramStart;
    /// <summary>
    /// The service program completion date
    /// </summary>
    private DateTime? serviceProgramCompletion;
    /// <summary>
    /// The client1
    /// </summary>
    private string client1;
    /// <summary>
    /// The client2
    /// </summary>
    private string client2;
    /// <summary>
    /// The client3
    /// </summary>
    private string client3;
    /// <summary>
    /// The client4
    /// </summary>
    private string client4;
    /// <summary>
    /// The consultant
    /// </summary>
    private string consultant;
    /// <summary>
    /// An item is being added.
    /// </summary>
    /// <param name="properties">The Item Event properties</param>
    public override void ItemAdded(SPItemEventProperties properties)
    //this.EventFiringEnabled = false;
    var web = properties.Web;
    var listItem = properties.ListItem;
    try
    LogIssue(web, null, "Item Added", "List Item Id {0}", listItem.ID);
    if (!this.AttemptCopyProcess(listItem))
    LogIssue(web, null, "List Id : " + listItem.ID, "AttemptCopyProcess failed.");
    catch (Exception ex)
    LogIssue(web, ex, "List Id : " + listItem.ID, "AttemptCopyProcess failed.");
    finally
    //this.EventFiringEnabled = true;
    LogIssue(web, null, "List Id : " + listItem.ID, "Event Receiver completed sucessfully.");
    /// <summary>
    /// Logs any issues found
    /// </summary>
    /// <param name="webContext">The web context.</param>
    /// <param name="exception">The exception, if null not exception details are written</param>
    /// <param name="contextId">The context identifier, a unique identifier that allows us to know where the call originated, i.e. a List and ListItem Id, or a Page Url</param>
    /// <param name="comment">The comment.</param>
    /// <param name="args">The arguments.</param>
    private static void LogIssue(SPWeb webContext, Exception exception, string contextId, string comment, params object[] args)
    //// if (webContext.AllProperties.ContainsKey("EnableLogging"))
    var list = webContext.Lists.TryGetList("ErrorIssues");
    if (list != null)
    var item = list.AddItem();
    item["Title"] = contextId;
    if (exception != null)
    item["Message"] = exception.Message;
    item["InnerException"] = exception.InnerException ?? (object)string.Empty;
    item["StackTrace"] = exception.StackTrace;
    if (!string.IsNullOrEmpty(comment))
    item["Comment"] = string.Format(comment, args);
    item.Update();
    /// <summary>
    /// Assigns the field.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>The fields string value if present, otherwise string.empty.</returns>
    private static string AssignField(SPListItem listItem, string fieldName, string contextId)
    var fieldValue = string.Empty;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    fieldValue = listItem[fieldName].ToString();
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return fieldValue;
    /// <summary>
    /// Assigns the field as a DateTime
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>Returns the date if found, otherwise returns DateTime.MinValue</returns>
    private static DateTime? AssignDateField(SPListItem listItem, string fieldName, string contextId)
    DateTime? fieldValue = null;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    fieldValue = Convert.ToDateTime(listItem[fieldName].ToString());
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return fieldValue;
    /// <summary>
    /// Creates the folder.
    /// </summary>
    /// <param name="listdoc">The list.</param>
    /// <param name="folderName">Name of the folder.</param>
    private static void CreateFolder(SPList listdoc, string folderName)
    LogIssue(listdoc.ParentWeb, null, "List Id : " + listdoc.ID, "Creating folder {0} in {1}", folderName, listdoc.RootFolder.ServerRelativeUrl);
    // Updated by Indusnet
    SPListItem folder1 = listdoc.Items.Add(listdoc.RootFolder.ServerRelativeUrl, SPFileSystemObjectType.Folder);
    folder1["Name"] = folderName;
    folder1.Update();
    listdoc.Update();
    // End Updated
    /// <summary>
    /// Assigns the user field.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="fieldName">Name of the field.</param>
    /// <param name="contextId">The context identifier.</param>
    /// <returns>Returns the user if found, otherwise null.</returns>
    private static SPUser AssignUserField(SPListItem listItem, string fieldName, string contextId)
    SPUser user = null;
    if (listItem.Fields.ContainsField(fieldName) && listItem[fieldName] != null)
    var userField = (SPFieldUser)listItem.Fields.GetField(fieldName);
    var fieldValue = (SPFieldUserValue)userField.GetFieldValue(listItem["electrical_proj_manager"].ToString());
    user = fieldValue.User;
    else
    LogIssue(listItem.Web, null, contextId, string.Format("Field not available : {0}", fieldName));
    return user;
    /// <summary>
    /// Attempts the copy process.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <returns>True if it successfully processed, false otherwise.</returns>
    private bool AttemptCopyProcess(SPListItem listItem)
    if (listItem.ParentList.Title != "Enquiry_Template")
    LogIssue(listItem.Web, null, "List Id : " + listItem.ID, "ListItem titles is not Enquiry_Template, aborting.");
    return false;
    var finalNum = "15-" + new Random().Next(0, 9999).ToString("D4");
    this.Initialize(listItem, finalNum);
    if (this.noBid != "Yes")
    LogIssue(listItem.Web, null, "List Id : " + listItem.ID, "The noBid field does not equal Yes, aborting.");
    return false;
    this.CopyFiles(listItem.Web, finalNum);
    this.CreateFolders(listItem.Web);
    return true;
    /// <summary>
    /// Copies the files.
    /// </summary>
    /// <param name="web">The web.</param>
    /// <param name="finalNum">The final number.</param>
    private void CopyFiles(SPWeb web, string finalNum)
    LogIssue(web, null, "Web Id : " + web.ID, "Setting the copying of files ...");
    var mechanicalQuoteList = web.Lists["Quotation Analysis Mechanical"];
    var electricalQuoteList = web.Lists["Quotation Analysis Electrical"];
    var tenderSummarList = web.Lists["TenderSummaryLib"];
    var estimatingList = web.Lists["EstimatingRFI"];
    var tenderSheduleList = web.Lists["Tender and Drawing Schedule"];
    var tenderPricingList = web.Lists["Est_Tender_Pricing_Document"];
    var url1 = mechanicalQuoteList.RootFolder.ServerRelativeUrl;
    var url = electricalQuoteList.RootFolder.ServerRelativeUrl;
    var url2 = tenderSummarList.RootFolder.ServerRelativeUrl;
    var urlA = estimatingList.RootFolder.ServerRelativeUrl;
    var urlB = tenderSheduleList.RootFolder.ServerRelativeUrl;
    var urlC = tenderPricingList.RootFolder.ServerRelativeUrl;
    var foldername1 = string.Empty;
    var foldername = string.Empty;
    var foldername2 = string.Empty;
    var foldernameA = string.Empty;
    var foldernameB = string.Empty;
    var foldernameC = string.Empty;
    var folder1 = web.Folders[url1 + "/" + foldername1];
    var folder = web.Folders[url + "/" + foldername];
    var folder2 = web.Folders[url2 + "/" + foldername2];
    var folderA = web.Folders[urlA + "/" + foldernameA];
    var folderB = web.Folders[urlB + "/" + foldernameB];
    var folderC = web.Folders[urlC + "/" + foldernameC];
    if (!folder1.Exists && !folder.Exists && !folder2.Exists && !folderA.Exists && !folderB.Exists && !folderC.Exists)
    var folders1 = web.GetFolder(url1).SubFolders;
    var folders = web.GetFolder(url).SubFolders;
    var folders2 = web.GetFolder(url2).SubFolders;
    var foldersA = web.GetFolder(urlA).SubFolders;
    var foldersB = web.GetFolder(urlB).SubFolders;
    var foldersC = web.GetFolder(urlC).SubFolders;
    folders1.Add(foldername1);
    folders.Add(foldername);
    folders2.Add(foldername2);
    foldersA.Add(foldernameA);
    foldersB.Add(foldernameB);
    foldersC.Add(foldernameC);
    var file1 = web.GetFile(web.Site.Url + TemplateUrl1);
    var file = web.GetFile(web.Site.Url + TemplateUrl);
    var file2 = web.GetFile(web.Site.Url + TemplateUrl2);
    var fileA = web.GetFile(web.Site.Url + RfiTemplateUrl);
    var fileB = web.GetFile(web.Site.Url + DrawingTemplateUrl);
    var fileC = web.GetFile(web.Site.Url + TenderReturnTemplateUrl);
    if (file1 != null && file != null && file2 != null && fileA != null && fileB != null && fileC != null)
    var fileName = string.Format("{0}/{1}{2}", folder1.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 1 {0} to {1}...", file1.Name, fileName);
    var byteArray1 = file1.OpenBinary();
    var uploadedFile1 = folder1.Files.Add(fileName, byteArray1, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 1 Uploaded with new ID of {0}", uploadedFile1.Item.ID);
    this.EventFiringEnabled = false;
    var listitem1 = uploadedFile1.Item;
    listitem1["Name"] = this.projectName;
    listitem1["EnquiryNo"] = finalNum;
    listitem1["Project_Name"] = this.projectName;
    listitem1["Tender_Received"] = this.tenderReceived;
    listitem1["Tender_Return"] = this.tenderReturn;
    listitem1["Quotation_Analysis_Mech_Url"] = "https://groupportal.sharepoint.com/sites/EnginSouth/Quotation%20Analysis%20Mechanical/Forms/DispForm.aspx?ID=" + listitem1.ID;
    listitem1.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 1.");
    fileName = string.Format("{0}/{1}{2}", folder.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 2 {0} to {1}...", file.Name, fileName);
    var byteArray = file.OpenBinary();
    var uploadedFile = folder.Files.Add(fileName, byteArray, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 2 Uploaded with new ID of {0}", uploadedFile.Item.ID);
    this.EventFiringEnabled = false;
    var listitem = uploadedFile.Item;
    listitem["Name"] = this.projectName;
    listitem["EnquiryNo"] = finalNum;
    listitem["Project_Name"] = this.projectName;
    listitem["Tender_Received"] = this.tenderReceived;
    listitem["Tender_Return"] = this.tenderReturn;
    listitem["Quotation_Analysis_Elec_Url"] = "https://groupportal.sharepoint.com/sites/EnginSouth/Quotation%20Analysis%20Electrical/Forms/DispForm.aspx?ID=" + listitem.ID;
    listitem.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 2.");
    fileName = string.Format("{0}/{1}{2}", folderA.ServerRelativeUrl, this.projectName, ".docx");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 3 {0} to {1}...", fileA.Name, fileName);
    var byteArrayA = fileA.OpenBinary();
    var uploadedFileA = folderA.Files.Add(fileName, byteArrayA, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 3 Uploaded with new ID of {0}", uploadedFileA.Item.ID);
    this.EventFiringEnabled = false;
    var listitemA = uploadedFileA.Item;
    listitemA["Name"] = this.projectName;
    listitemA["EnquiryNo"] = finalNum;
    listitemA["Project_Name"] = this.projectName;
    listitemA["Date"] = this.docDate;
    listitemA["Description"] = this.description;
    listitemA["ProjectNo"] = this.projectNumber;
    listitemA["RFIUrl"] = "https://groupportal.sharepoint.com/sites/EnginSouth/EstimatingRFI/Forms/DispForm.aspx?ID=" + listitemA.ID;
    listitemA.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 3.");
    fileName = string.Format("{0}/{1}{2}", folderB.ServerRelativeUrl, this.projectName, ".docx");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 4 {0} to {1}...", fileB.Name, fileName);
    var byteArrayB = fileB.OpenBinary();
    var uploadedFileB = folderB.Files.Add(fileName, byteArrayB, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 4 Uploaded with new ID of {0}", uploadedFileB.Item.ID);
    this.EventFiringEnabled = false;
    var listitemB = uploadedFileB.Item;
    listitemB["Name"] = this.projectName;
    listitemB["EnquiryNo"] = finalNum;
    listitemB["Project_Name"] = this.projectName;
    listitemB["Date"] = this.docDate;
    listitemB["Description"] = this.description;
    listitemB["ProjectNo"] = this.projectNumber;
    listitemB["DrawingURL"] = "https://groupportal.sharepoint.com/sites/EnginSouth/Tender%20and%20Drawing%20Schedule/Forms/DispForm.aspx?ID=" + listitemB.ID;
    listitemB.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 4.");
    fileName = string.Format("{0}/{1}{2}", folderC.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 5 {0} to {1}...", fileC.Name, fileName);
    var byteArrayC = fileC.OpenBinary();
    var uploadedFileC = folderC.Files.Add(fileName, byteArrayC, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 5 Uploaded with new ID of {0}", uploadedFileC.Item.ID);
    this.EventFiringEnabled = false;
    var listitemC = uploadedFileC.Item;
    listitemC["Name"] = this.projectName;
    listitemC["EnquiryNo"] = finalNum;
    listitemC["Project_Name"] = this.projectName;
    listitemC["Date"] = this.docDate;
    listitemC["Description"] = this.description;
    listitemC["ProjectNo"] = this.projectNumber;
    listitemC["PricingURL"] = "https://groupportal.sharepoint.com/sites/EnginSouth/Est_Tender_Pricing_Document/Forms/DispForm.aspx?ID=" + listitemC.ID;
    listitemC.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 5.");
    fileName = string.Format("{0}/{1}{2}", folder2.ServerRelativeUrl, this.projectName, ".xlsm");
    LogIssue(web, null, "Web Id : " + web.ID, "Copying file 5 {0} to {1}...", file2.Name, fileName);
    var byteArray2 = file2.OpenBinary();
    var uploadedFile2 = folder2.Files.Add(fileName, byteArray2, true);
    LogIssue(web, null, "Web Id : " + web.ID, "File 6 Uploaded with new ID of {0}", uploadedFile2.Item.ID);
    this.EventFiringEnabled = false;
    var listitem2 = uploadedFile2.Item;
    listitem2["Name"] = this.projectName;
    listitem2["EnquiryNo"] = finalNum;
    listitem2["Project_Name"] = this.projectName;
    listitem2["Date"] = this.docDate;
    listitem2["Team"] = this.team;
    listitem2["Estimator_Electrical"] = this.electrical;
    listitem2["Estimator_Mechanical"] = this.mechanical;
    listitem2["Status"] = this.status;
    listitem2["Tender_Received"] = this.tenderReceived;
    listitem2["Tender_Return"] = this.tenderReturn;
    listitem2["Sector"] = this.sector;
    listitem2["Design_Build"] = this.designBuild;
    listitem2["Build_Type"] = this.buildType;
    listitem2["Service_Prog_Start"] = this.serviceProgramStart;
    listitem2["Service_Prog_Completion"] = this.serviceProgramCompletion;
    listitem2["Client_1"] = this.client1;
    listitem2["Client_2"] = this.client2;
    listitem2["Client_3"] = this.client3;
    listitem2["Client_4"] = this.client4;
    listitem2["Consultant"] = this.consultant;
    listitem2["Pre-construction_Prog_Start"] = this.preConstructionProgramStart;
    listitem2["Pre-construction_Prog_End"] = this.preConstructionProgramEnd;
    listitem2["Tender_Summary_Url"] = "https://groupportal.sharepoint.com/sites/EnginSouth/TenderSummaryLib/Forms/DispForm.aspx?ID=" + listitem2.ID;
    listitem2.SystemUpdate(false);
    this.EventFiringEnabled = true;
    LogIssue(web, null, "Web Id : " + web.ID, "Copied file 6.");
    /// <summary>
    /// Creates the folders.
    /// </summary>
    /// <param name="web">The web.</param>
    private void CreateFolders(SPWeb web)
    var projectListId = web.Lists.Add(this.projectName.Replace(' ', '_'), string.Empty, SPListTemplateType.DocumentLibrary);
    var projectList = web.Lists[projectListId];
    projectList.OnQuickLaunch = true; // The document library will appear in Quick Launch bar.
    CreateFolder(projectList, "1.Tender Documents");
    CreateFolder(projectList, "2. Electrical");
    CreateFolder(projectList, "3. Mechanical");
    CreateFolder(projectList, "4. Correspondance");
    CreateFolder(projectList, "5. Settlement Meeting Docs");
    CreateFolder(projectList, "6. Tender Return Docs");
    CreateFolder(projectList, "7. Tender Handover");
    projectList.Update();
    /// <summary>
    /// Initializes the specified list item.
    /// </summary>
    /// <param name="listItem">The list item.</param>
    /// <param name="finalNum">The final number.</param>
    private void Initialize(SPListItem listItem, string finalNum)
    var contextId = string.Format("List:{0}, Id:{1}", listItem.ParentList.Title, listItem.ID);
    this.noBid = AssignField(listItem, "Bid", contextId);
    this.projectName = AssignField(listItem, "Project_Name", contextId);
    var teamlookup = AssignField(listItem, "Team", contextId);
    var lookupParts = teamlookup.Split(new[] { ";#" }, StringSplitOptions.None);
    this.team = lookupParts[1];
    this.description = AssignField(listItem, "Description", contextId);
    this.status = AssignField(listItem, "enquiry_status", contextId);
    this.electrical = AssignUserField(listItem, "electrical_proj_manager", contextId);
    this.mechanical = AssignUserField(listItem, "mechanical_proj_manager", contextId);
    this.docDate = AssignDateField(listItem, "Date", contextId);
    this.tenderReceived = AssignDateField(listItem, "Tender_Received", contextId);
    this.tenderReturn = AssignDateField(listItem, "Tender_Return", contextId);
    this.preConstructionProgramStart = AssignDateField(listItem, "Pre-construction_Prog_Start", contextId);
    this.preConstructionProgramEnd = AssignDateField(listItem, "Pre-construction_Prog_End", contextId);
    this.sector = AssignField(listItem, "Sector", contextId);
    this.designBuild = AssignField(listItem, "Design_Build", contextId);
    this.buildType = AssignField(listItem, "Build_Type", contextId);
    this.serviceProgramStart = AssignDateField(listItem, "Service_Prog_Start", contextId);
    this.serviceProgramCompletion = AssignDateField(listItem, "Service_Prog_Completion", contextId);
    this.client1 = AssignField(listItem, "Client_1", contextId);
    this.client2 = AssignField(listItem, "Client_2", contextId);
    this.client3 = AssignField(listItem, "Client_3", contextId);
    this.client4 = AssignField(listItem, "Client_4", contextId);
    this.consultant = AssignField(listItem, "Consultant", contextId);
    if (this.status == "Won")
    this.projectNumber = string.Format("15-{0}-{1}", this.team, new Random().Next(0, 9999).ToString("D4"));
    if (this.status == "Active" || this.status == "Closed")
    this.projectNumber = "No Project No";
    listItem["ProjectNo"] = this.projectNumber;
    listItem["EnquiryNo"] = finalNum;
    listItem.Web.AllowUnsafeUpdates = true;
    listItem.SystemUpdate(false);

    Hi,
    In this forum we mainly discuss questions and feedbacks about Office client products, as your question is about SharePoint 2013, I suggest you post this thread in SharePoint forum:
    https://social.technet.microsoft.com/Forums/office/en-US/home?category=sharepoint
    The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
    Regards,
    Melon Chen
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs. Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Questions about the future directions of InfoPath and Microsoft Access

    Because I have been confused about the future directions of InfoPath and Access, I wrote a short blog post, which I have pasted below.  My question is, can Microsoft provide some more guidance on Access vs InfoPath?  If Access is indeed the
    the future direction, can you please provide some pointers to resources that can help us transition.
    A Short Review of MS Access,  SharePoint ,InfoPath (2013)
    After the November 2012 SharePoint Conference in Las Vegas (#spc12) there were a number of blog posts and people saying that Access 2013 was great and would be replacing InfoPath.
    Marc Anderson and
    Ruven
    Gotz have short posts summarizing #SPC12 and touch on the subject of InfoPath and Access.  I also spoke with several individuals shortly after #SPC12 and they were excited about Access 2013.
    Since I rely heavily on InfoPath for much of what I do, I wanted to kick the tires and see what everyone was talking about.  First, a few notes about SharePoint 2013 and Office 2013.
    Microsoft should rename Access:  If you have tried to
    bing the word Access, then you know that the search results are overwhelming,  because the word "access" is used for so many other purposes.
    Use the RTM version of Office 2013! I was performing  my investigations by leveraging the Office 365 Beta and the Office Applications that come with it.  Not much was working!  After I uninstalled the Beta
    version of Office 2013 and Installed the RTM version everything seemed to work. 
    Windows 7 and IE 9.0: The drag & drop that is being touted as
    "manna from heaven" seems to work well with Firefox, Safari, Chrome, and IE 10, but it does
    not work with IE 9!
    Non Microsoft browsers are still second class citizens (except for the drag & drop):  Microsoft has finally done away with the Active X's for datasheet view (that is brilliant!)  One can now see the newly
    minted datasheet view in many browsers.  But I still find that one needs to be in IE to do a number of key manual opeartions.  For example pasting numerous rows of data from a spreadsheet into the new sheet view works only in IE.
    Access 2013
    Microsoft Access is touted as a non developer tool.  I know a number of people who are on the business side and love Access.  These people will like the renewed energy that Microsoft has applied to Access.   One should note that conceptually
    this functionality existed  in SharePoint 2010.  Here is what I see that is new:
    +The new version works better:Although I haven't tested it fully, it seems that many more features that work on the Desktop version of Access, now work in the published Web Application which is hosted by SharePoint 2013.
    +The new version has fairly robust browser based forms: End users can now fill in data using forms that are rendered in the browser.
    +The published version that resides in SharePoint now uses its own SQL server tables.  So the engine appears to be SQL Server, not a modified version of Access built for a server.  This stands to be quite robust, but I imagine
    that some quirks will surface due to new model.
    The limitations are:
    - Access is pretty much its own application and does not integrate with SharePoint building blocks.  For example, an Access table is not easy to integrate with a SharePoint workflow.  Further, although  Access forms now are visible
    in a browser, they are not nearly as rich as InfoPath forms.  InfoPath forms cannot easily integrate with the Access tables.  In order to integrate SharePoint features and Access, one needs to tie SharePoint list(s) to Access as data sources. 
    This overcomplicates the model and one may very well run into synchronization issues.
    In short, although I believe there will be some people who will be happy with newly minted Access, I do not think that Access will be able to replace InfoPath and Workflow technologies.  I do agree that Microsoft does not seem to have put much energy into
    InfoPath.  If they leave a vacuum in this space, then others may very well take over, for instance Nintex Forms.

    Although I agree with the comments made by Ruven and Marc after the conference please note that those blog posts are their own personal opinions and that they don't work for Microsoft.  A lot of people have asked Microsoft to clarify the future of InfoPath
    and the response up until now has been a deafening silence.  In my opinion speculations about Access replacing InfoPath are premature.
    I should also point out that most of your comments about Access 2013 above are actually about Access Services in SharePoint Server 2013.  Access Services are NOT Access they are a shared service offering in SharePoint that convert and publish Access
    databases and forms.  As you point out once an Access database is published through Access services it is converted to SQL Server and no longer resides in Access.  Of course I don't work for Microsoft either so these are all just my personal opinion. 
    Having said that I doubt you will get the confirmation/response that you are hoping for from any official Microsoft channel.
    Paul Stork SharePoint Server
    MVP Principal Solutions Architect: BlueChip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Accessing Sharepoint 2013 externally for domain users and customers

    Just an FYI I am not a SP administrator by any means but have be tasked with taking over this project and could use some assistance.
    Sharepoint 2013 is working fine internally. Users access the site and login with their domain credentials. Our client is moving one of their departments to another building down the street and we'd like them to be able to access local resources without the
    use of another server or site to site vpn or standard vpn. 
    My question is, how do we make Sharepoint accessible outside of their local network? 
    If we open up a port on the router and have it forward all request to Sharepoint server will we be able to access it?
    Also, how will they authenticating with the Sharepoint Server? Do they use the same user credentials?
    I forgot to mention this is Sharepoint 2013 Enterprise Edition. We are also using Project Server 2013 as well.
    Thanks in Advance

    Hi 3s1k,
    According to your description, my understanding is that you want to access the SharePoint site from Internet.
    You need to first ensure that you enable Anonymous Access for your web application. You'll then need to set up DNS for the domain you own to point to your web front end server (or virtual IP if it's load balanced). Then set up the appropraite IIS bindings
    for the web application, and finally you'll need to extend your web application to an Internet Zone and give it the appropriate domain name.
    There are some similar posts for your reference:
    https://social.technet.microsoft.com/Forums/en-US/2277d710-ed05-4613-bd66-fd12e4d64b61/sharepoint-intranet-site?forum=sharepointadminprevious
    https://social.technet.microsoft.com/Forums/sharepoint/en-US/fd968a08-393b-41c0-a916-c48ce0f83104/configure-sharepoint-2013-for-accessing-over-internet?forum=sharepointadmin
    http://sharepoint.stackexchange.com/questions/54315/sharepoint-2013-extranet-acces-outside-the-internal-network
    Best Regards,
    Wendy
    Wendy Li
    TechNet Community Support

  • Configure a sharepoint 2013 site for external and internal access

    I need to configure a local install of sharepoint 2013 so that users can access it internally and externally using windows/AD authentication. The internal and external addresses are different.
    I have bound an external ip to the domain for external access.
    I have created Alternate Access mapping, and bound the host header but I get a file not found message for external access.
    Have I missed something here? why the error and how can it be fixed. Step by step process would be appreciated.

    Hi Luis,
    According to your description, my understanding is that the error occurred when accessing the site externally.
    The most common cause for this is that the IIS host header is configured incorrectly. The 404 will appear because we are hitting a different IIS web site and not the one we are intended to.
    Here is a similar issue for you to take a look:
    http://stackoverflow.com/questions/14953322/sharepoint-2013-404-not-found-while-accessing-site-collection-from-outside
    More references:
    http://technet.microsoft.com/en-us/library/cc261814(v=office.15).aspx
    http://technet.microsoft.com/en-us/library/cc263208(v=office.15).aspx
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • Auto update people picker value with email id when we add username in another people picker field in sharepoint 2013 list using javascript

    hi friends
    i have to people picker fields
    pp1 and pp2
    pp1 represents username
    pp2 represents email id
    here i problem is if user enters name in pp1, pp2 has to update with email id of corresponding user in pp1 dynamically.
    using java script is there any solution for this.
    please help me

    Hope below will help
    <asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
    <script type="text/ecmascript" language="ecmascript">
    var user;
    var visitorsGroup;
    function runCode() {
    var clientContext = new SP.ClientContext();
    var groupCollection = clientContext.get_web().get_siteGroups();
    // Get the visitors group, assuming its ID is 4.
    visitorsGroup = groupCollection.getById(4);
    user = clientContext.get_web().get_currentUser();
    var userCollection = visitorsGroup.get_users();
    userCollection.addUser(user);
    clientContext.load(user);
    clientContext.load(visitorsGroup);
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
    function onQuerySucceeded() {
    alert(user.get_title() + " added to group " + visitorsGroup.get_title());
    function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    </script>
    <input id="Button1" type="button" value="Run Code" onclick="runCode()" />
    </asp:Content>http://msdn.microsoft.com/en-us/library/office/jj246835%28v=office.15%29.aspxhttp://msdn.microsoft.com/en-us/library/office/jj920104%28v=office.15%29.aspxhttp://stackoverflow.com/questions/20981226/sharepoint-2013-get-current-user-javascripthttp://sharepoint.stackexchange.com/questions/31457/get-user-via-javascript-client-object-model

  • Integrate SharePoint 2013 with TFS Online

    I have couple of questions,
    Can SharePoint 2013 be integrated with online TFS?
    Also can online SharePoint be integrated with online TFS?
    Would appreciate any guiding material.
    Thanks in Advance  

    Hi,
    Visual Studio Online(formerly Team Foundation Service/TFS online) is not support to integrate with SharePoint at present. SharePoint online is also not supported. Any suggestions, you can submit a user voice
    here.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How to get the people & group field value in sharepoint 2013 editform.aspx using jquery

    i got in sharepoint 2010 by using following-
    var personfield= $("#ctl00_m_g_01cc9f37_2366_400e_aefc_afbe38c5caa5_ff51_ctl00_ctl00_UserField_upLevelDiv");
     var Assigned=personfield.find('span').attr('id');
    But,I want same for sharepoint 2013 .
    Please,tell me
    -Thanks,
    Swapnil

    Swapnil,
    See this link - 
    http://stackoverflow.com/questions/27519795/sharepoint-2013-editform-people-picker-new-value-not-saving
    http://www.sharepointcolumn.com/sp2013-setting-people-picker-value-in-newform-aspx/
    Please 'propose as answer' if it helped you, also 'vote helpful' if you like this reply.

  • Question about Everyone Group in SharePoint 2013

    Hi,
    I have couple of question about EVERYONE group below,
             - As per the best practice which Group we should use instead of EVERYONE group in Sharepoint ?
             - What is the difference between Everyone and All Authenticated Users Group
    We have added Everyone Group in different sites, now the question is if we hide this group showing up in sharepoint people picker, is there any impact interms of current site?
             - Is there any way we can hide Everyone group showing up in the people picker only for the site / Site Collection level.
    Please help.
    Thanks
    srabon

    There is no functional difference between the Everyone group and All Authenticated Users (after Active Directory has been upgraded to Server 2003 native schema).
    I'm not aware of any function to hide the group from the People Picker.
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

Maybe you are looking for

  • Move unfinished imovie from one mac to another?

    i have an unfinished imovie on a friends mac. can i save the unfinished imovie on a usb drive, then open it on another mac (exactly the same version as the current one) and continue editing/adding to my imovie?

  • Multiple port for one instance

    hello there, Here is my requirement... If one of my master ldap went down for couple of hours and when i bring it up... all the arrowpoint traffic is routed immediately to this server and hence whatever changes happend in the secondary server was not

  • Mac mini is running slowly

    I've got a late 2006 mac mini which has begun to run extremely slowly. It has 2GB of RAM and is running OS X 10.6.6. I also have an external 500gb drive connected via USB (firewire 400 cable failed some time ago; haven't bothered to replace). I've tr

  • Transferring files from old computer with fire wire

    I'm transferring files from my old computer to my new one. The old one has three hard drives. Everything from the startup drive transferred OK over fire wire, but the new computer doesn't see the 2nd and 3rd hard drives on the old one. Is there a way

  • After restoring from backup on iCloud, my photos have been "downloading" for 2 days with no progress at all.

    After restoring from backup on iCloud, my photos have been "downloading" for 2 days with no progress at all.  Everything else seems to by fine, however. I have all my apps, contacts, even my photostream back, but my camera roll has said "downloading