+1-888-365-2779
Try Now
More in this section

Forums / 3.x Pre-release forums (retired) / Issues creating external pages

Issues creating external pages

5 posts, 0 answered
  1. Kevin Pipher
    Kevin Pipher avatar
    91 posts
    Registered:
    30 Nov 2005
    16 Feb 2007
    Link to this post
    Hi,

    I've been testing RC1 and found a few issues with the External Pages functionality. I don't know whether or not these items were present in the betas.

    Issue 1: Creating a new external page redirects to the wrong url after saving

    The functionality of the "external page" option seems to be flawed when I create a new page and mark it as external during the intial page creation. Let's say for example, I want to create a new link to Microsoft's website, which will be listed in my main website menu. Here are the steps I take to reproduce the error:

    1. Log into the JobsIntra sample site using the admin account (admin/admin)
    2. In the control panel, click "Pages" from the main menu
    3. While in the "Site map" section, click and highlight the "External" menu item group in the left tree menu,
    4. Click the "Create new page" button
    5. In the new page form, make the following changes:
      1. Enter "Microsoft" for Page Name field
      2. Click the "Optional: Friendly URLs" link
      3. Click "Add Url" link
      4. enter http://www.microsoft.com as new Url
      5. select the new url radio button
      6. Enter "Microsoft" in the Menu Label field
      7. Set Show in navigation to "yes"
      8. Set External Page to "yes"
      9. Click Create Page button

    After clicking the create page button, Sitefinity doesn't seem to register that the page is external, and forwards me to the following url:

    http://localhost/telerik/JobsIntraSite/Admin/~/http://www.microsoft.com?cmspagemode=edit

    I get a page cannot be found error from the above url (obviously). It looks like the CMS did not apply any logic to ensure the page was internal before redirecting to the url for internal page editing.


    Issue 2: Clicking back and attempting to save a second time throws a runtime error.

    Because the CMS redirected me to an incorrect URL, I assumed the page creation was unsuccessful, backed up 1 page and clicked the create page button again, which generated a sql data level runtime error due to the first attempt (shown below). I realize this was partly my mistake for resubmitting the same page, but exception handling should have caught the issue before it bubbled up to the presentation layer. Especially since it came all the way from the lowest layer. I would worry these types of errors will scare off non-technical users.
     

    Server Error in '/telerik/JobsIntraSite' Application.

    Violation of PRIMARY KEY constraint 'PK_sf_StagedPage'. Cannot insert duplicate key in object 'dbo.sf_StagedPage'.
    The statement has been terminated.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_sf_StagedPage'. Cannot insert duplicate key in object 'dbo.sf_StagedPage'.
    The statement has been terminated.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK_sf_StagedPage'. Cannot insert duplicate key in object 'dbo.sf_StagedPage'.
    The statement has been terminated.]
       Nolics.ORMapper.DataProviders.SQLBlockBuilder.EndStatement(SQLCommandEventArgs args, DataRow row) +503
       Nolics.ORMapper.DataProviders.SQLBlockBuilder.ExecCommandProcedure(StmtContext context, DataRow data) +779
       Nolics.ORMapper.DataProviders.SQLBlockBuilder.ExecuteCommand(StmtContext context, DataRow data) +76
       Nolics.ORMapper.DataProviders.SQLDataProvider.Update(DataSet updateData) +419
       Nolics.ORMapper.Base.Transaction.Commit(Boolean fCleanIfSuccess) +756
       Nolics.ORMapper.Base.Transaction.Commit() +10
       Telerik.Cms.Web.UI.PageProperties.Button_Command(Object sender, CommandEventArgs e) +476
       System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +105
       System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +163
       System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
    


    Issue 3:  Publishing an "external page" is awkward by design

    As I try to walk through the workflow for the external page, at certain points I'm shown a generic internal page, rather than the external one.

    Example:

    1. While in the "Pages -> Site map" section of the control panel, I click the new "Microsoft" page in the tree view.
    2. In the right pane, I see the actual Microsoft website as expected
    3. I click the "Edit page" button so that I can start the workflow process
    4. The CMS jumps to the generic internal page editor and displays a blank generic CMS page, rather than the external URL/page. I can still follow the workflow along, but this functionality is going to confuse end users of the CMS because they won't understand why they are seeing an internal page.

    I personally think the "external page" functionality with respect to workflow needs some work. I think when a page is marked as external, there should be no "edit page" button, and just a "send for approval" and "publish". There is no reason to "edit" the external page as we're not designing it within the CMS, especially when clicking edit just shows an internal page which would be extremely confusing to a novice user. With an external page, the only things we need to change are found within the View / Properties / Permissions / History tabs.

    I love that external pages are begining to be supported with the CMS, as this was a common wish from our clients.  I just think it's not quite there yet.

    I would however like to commend the Sitefinity team on v3.0, as I think Sitefinity is a great product overall and is continuing to improve all the time.

    If you need more details please let me know. Thanks

    Kevin.

  2. Bob
    Bob avatar
    330 posts
    Registered:
    24 Sep 2012
    19 Feb 2007
    Link to this post
    Hi Kevin,

    Thank you very much for the thorough explanations and suggestions. Certainly, the external page feature needs more work. These issues will be fixed as soon as possible.

    Greetings,
    Bob
    the telerik team
  3. Faheem
    Faheem avatar
    1 posts
    Registered:
    18 Nov 2011
    09 Dec 2011
    Link to this post

     erroer :

      Violation of PRIMARY KEY constraint 'pk_sf_taxonomies'. Cannot insert duplicate key in object 'dbo.sf_taxonomies'.
      The statement has been terminated.

    trace
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SQLException: Violation of PRIMARY KEY constraint 'pk_sf_taxonomies'. Cannot insert duplicate key in object 'dbo.sf_taxonomies'.
    The statement has been terminated.]
       Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.execute() +341
       OpenAccessRuntime.Relational.conn.PooledPreparedStatement.execute() +197
       OpenAccessRuntime.Relational.RelationalStorageManager.generateInserts(NewObjectOID oid, Int32 index, ClassMetaData cmd, PersistGraph graph, Int32[] fieldNos, CharBuf s, Object[] oidData, IntArray toUpdateIndexes) +1803
    
    [DuplicateKeyException: Insert of '125502856-d7831091-e7b1-41b8-9e75-dff32d6a7837' failed: Telerik.OpenAccess.RT.sql.SQLException: Violation of PRIMARY KEY constraint 'pk_sf_taxonomies'. Cannot insert duplicate key in object 'dbo.sf_taxonomies'.
    The statement has been terminated.
       at Telerik.OpenAccess.RT.Adonet2Generic.Impl.PreparedStatementImp.execute()
       at OpenAccessRuntime.Relational.conn.PooledPreparedStatement.execute()
       at OpenAccessRuntime.Relational.RelationalStorageManager.generateInserts(NewObjectOID oid, Int32 index, ClassMetaData cmd, PersistGraph graph, Int32[] fieldNos, CharBuf s, Object[] oidData, IntArray toUpdateIndexes)
    INSERT INTO [sf_taxonomies] ([voa_class], [description_], [taxon_name_], [title_], [app_name], [can_inherit_permissions], [id], [inherits_permissions], [last_modified], [nme], [ownr], [voa_version]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
    (set event logging to all to see parameter values)]
       Telerik.Sitefinity.Data.TransactionManager.CommitTransaction(String transactionName) +206
       Telerik.Sitefinity.Modules.Ecommerce.Catalog.CatalogModule.Initialize(ModuleSettings settings) +321
       Telerik.Sitefinity.Services.SystemManager.InitializeModule(ModuleSettings settings, InstallContext installContext, Boolean start) +317
       Telerik.Sitefinity.Services.SystemManager.Initialize() +1076
       Telerik.Sitefinity.Abstractions.Bootstrapper.RegisterRoutes(RouteCollection routes) +285
       Telerik.Sitefinity.Abstractions.Bootstrapper.Bootstrap() +251
       Telerik.Sitefinity.Web.SitefinityHttpModule.Init(HttpApplication context) +116
       System.Web.Routing.UrlRoutingModule.System.Web.IHttpModule.Init(HttpApplication application) +10
       System.Web.HttpApplication.InitModulesCommon() +166
       System.Web.HttpApplication.InitModules() +46
       System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +715
       System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +283
       System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +104
       System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +327
    
    actaully i have a sitefinity project 4.3 install trial version and i m using this project on same machine in other project
    i have succeessfully create databse and sitefinity other project ..but hen i run second instance of sitefinity this error pump on my screen
    i have delete entry from related table again this error is coming whn i run the site
    so give me solution of this problem both project have same version same  code but diffrent project name
  4. Andrew from Australia
    Andrew from Australia avatar
    3 posts
    Registered:
    19 Jul 2012
    19 Dec 2011
    Link to this post
    RE: Violation of PRIMARY KEY constraint 'pk_sf_taxonomies'. Cannot insert duplicate key in object 'dbo.sf_taxonomies'.  The statement has been terminated.

    Try manually delete the entry in the database.
  5. Stanislav Velikov
    Stanislav Velikov avatar
    1113 posts
    Registered:
    22 Sep 2016
    21 Dec 2011
    Link to this post
    Hello,

    Are the two projects sharing the same database? In the databas the project name is saved and when you try to change the project name in App_Data?Sitefinity/Configuration/Project.config you wikll get an error since the project connecting to the database is not the one allowed. Can you share with me in more detail the setup of the projects and what steps were taken prior to receiving this error?
     
    Kind regards,
    Stanislav Velikov
    the Telerik team
    Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Register for webinar
5 posts, 0 answered