API

Are you missing any API for your custom development?

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the “My feedback” filter and select “My open ideas”.
(thinking…)
Reset

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
    1. LINQ interface to the content tree, custom document types, custom tables, everything!

      It's almost 2010, I think we are ready to move beyond simple untyped DataSets...

      131 votes
      Vote 0 votes Vote Vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service

        You'll receive a confirmation email with a link to create a password (optional).

        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • New API with proper object orientation

        New API layer with:
        - Real object orientation
        - Strongly typed data access
        - Proper intellisense support in Visual Studio

        For example, the CMS.TreeEngine.TreeProvider.SelectNodes() and other similar methods simply return a dataset. This data is tabular and by no means object oriented, nor strongly typed.

        An improvement would be if such methods would for example return a strongly typed NodeCollection.

        To take this idea a step further, an object oriented data layer could automatically be generated for custom document types. I have written such code myself and it is quite doable.

        92 votes
        Vote 0 votes Vote Vote
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service

          You'll receive a confirmation email with a link to create a password (optional).

          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Start API redesign with unit testing in mind

          I am working on a Class Library project to support ASPX development. I need to be able to unit test the code I write. I also need to write integration tests that hit the database.

          It seems impossible... I don't understand how you could have created 60 assemblies and manage to have dependencies all over the place, but you sure did.

          Working with a database connection alone spans over 3 or 4 assemblies, with multiple hardcoded dependencies and 'providers' that are not providers (since you can't change them), and reinventions of classes that have been in the .NET BCL since… more

          55 votes
          Vote 0 votes Vote Vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service

            You'll receive a confirmation email with a link to create a password (optional).

            Signed in as (Sign out)
            You have left! (?) (thinking…)
            started  ·  5 comments  ·  Admin →
          • Rebuild Document tree API to Strong Type Objects

            Would be greate to have a Strong Type Objects for working with Docuemtn Tree

            For now becouse it return DataSet, it not possible to work with LINQ for example, and Intellisence is not working too. Developer need to know what exatly the DataSet colums name is returning ...

            Example from current Documentation

            using CMS.SiteProvider;

            DataSet ds = null;

            // create a TreeProvider instance

            UserInfo ui = UserInfoProvider.GetUserInfo("administrator");

            CMS.TreeEngine.TreeProvider tree = new CMS.TreeEngine.TreeProvider(ui);

            // get dataset of tree nodes specified by alias path and class names (separated by semicolon),

            // the second parameter says whether to return default culture documents if… more

            43 votes
            Vote 0 votes Vote Vote
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service

              You'll receive a confirmation email with a link to create a password (optional).

              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Use dependency injection (DI) in the API/code to allow for better testability.

              It is difficult to test customized code, especially the e-commerce providers, without DI because it requires the testing code to be running the entire site with full database state. It is only possible to test in isolation by creating lots of mocks and stubs which reverse engineering the necessary calls based on what is being tested.

              28 votes
              Vote 0 votes Vote Vote
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service

                You'll receive a confirmation email with a link to create a password (optional).

                Signed in as (Sign out)
                You have left! (?) (thinking…)
              • 23 votes
                Vote 0 votes Vote Vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service

                  You'll receive a confirmation email with a link to create a password (optional).

                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  under review  ·  2 comments  ·  Admin →
                • All macros should use same syntax throuhout the system

                  Presently, depending where you add a macro you must use the API syntax to insert i.e. a custom string:
                  <%= CMS.GlobalHelper.ResHelper.GetString("pwl.flash.lan") %>

                  versus {$pwl.flash.lan$}

                  18 votes
                  Vote 0 votes Vote Vote
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service

                    You'll receive a confirmation email with a link to create a password (optional).

                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • Event Driven

                    There are many parts of Kentico that would be nice to have notification of individual events. If someone could register event handlers for things like "user logged in", "order placed", etc. we could place our custom code in the exact places and react to things happening without having to overwrite complete pieces of eCommerce code, complete web parts, etc.

                    So it would be nice to have the MAJOR events within the system event enabled so that we as developers can tie into those specific areas.

                    6 votes
                    Vote 0 votes Vote Vote
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service

                      You'll receive a confirmation email with a link to create a password (optional).

                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                  • Don’t see your idea?
                  • Post a new idea…
                  • API

                    Knowledge Base and Helpdesk