Feature Requests

Feature, docs and use-case samples requests for ServiceStack. If you can, focus on the end-user benefit / use-case, rather than the technical details so we can focus on the end-goal and free us to work on how best to achieve it. Features can also include supporting content, e.g. a starter project on how to use ServiceStack with another product (e.g. SS + SharePoint).

  1. OrmLite Support saving of PhysicalAddress

    Saving classes with properties of type PhysicalAddress does not work. The reason should be the serialization:

        [Test]
    
    public void JsvStringSerializerWorksForPhysicalAddress()
    {
    var address = PhysicalAddress.Parse("0123456789AB");

    var serializer = new JsvStringSerializer();
    var result = serializer.SerializeToString(address);
    StringAssert.Contains("0123456789AB", result);
    }

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Generate 1 Testmethod for each end point and create the object structure in MStest/Nunit/Xunit

    Currently we have to write a testmethod for each endpoint and define the DTOs and then provide data to test. Instead if we have a testfile generated which can act like template and teams just write data against it. This helps teams to have proper test coverage and would save the time to create these request and response models.(Which already ServicestackVS reference does)

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support random/round-robin db server selection in OrmLiteConnectionFactory

    The OrmLiteConnectionFactory can register several database servers, as described here:
    https://stackoverflow.com/a/13693254/178143

    However, to use the servers that is no "default", then you have to do it manually by using the name.

    I would suggest having a setting where the database server used is either random, round-robin or some other way. Sure, its not rocket science perhaps to write a wrapper for that yourself, but maybe it would be neat to have support in the framework.

    Thank you.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Allow Join with UpdateOnly

    Trying to UpdateOnly, when onlyField is typed as SqlExpression and the query has a Join an error will be thrown that says "The multi-part identifier "DepartmentJobCode.DepartmentId" could not be bound."

    Example:
    var jobsQuery = _db.From<dev.ScheduleEvent>()

                .Join&lt;dev.DepartmentJobCode&gt;((se,jc)=&gt; se.Job == jc.JobTitleId)
    
    .Where&lt;dev.DepartmentJobCode&gt;(e =&gt; Sql.In(e.DepartmentId, departments))
    .Update(x =&gt; new { x.Published, x.ModifiedBy});

    db.UpdateOnly(new dev.ScheduleEvent { Published = false, ModifiedBy = userId}, onlyFields: jobsQuery);

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. 4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Auto Batched Requests - return responses up to error

    When an error occurs processing a batch of requests, the responses for the successful requests are lost. It would be helpful if these successful response are returned along with the error that stopped further processing.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Support Upsert with MySQL

    AWS Charges by the IOp, not supporting UPSERT effectively doubles the cost (and reduces the performance) of running mysql/mariadb on that platform with the SELECT/INSERT behavior of OrmLite

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  9. Create a CognitoAuthFeature

    I'd like to be able to incorporate my Cognito User Pool as an authentication and role provider.

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. Autoquery to support Group By

    The AutoQuery plugin is great especially for use with many front end grids/tables, however it lacks the ability to Group By. Can you implement it to have feature parity to work with many of the front end grid components (ie kendo grid/devexpress/etc)?

    32 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. Two Factor Authentication Feature

    Two Factor Authentication is a pretty standard thing nowadays, it even comes baked into the typical ASP.NET Core Identity system. It would be nice if Service Stack had this feature as well. We are working on porting a legacy application from ASP.NET to ServiceStack and this is a requirement for government applications (some form of TFA).

    20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add a MQ Server support for Azure Storage Queues

    Storage Queues are cheaper and more performant than azure service bus if guaranteed first-in-first-out, etc is not required.

    They do offer 'At-Least-Once' guaranteed delivery, where Redis is 'fire and forget'.

    Combining this with full featured CosmoDb caching instead of Redis would make a compelling low-cost option.

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  13. Increase the number of generics parameters of Select, SelectDistinct and GroupBy

    While some methods of SqlExpression<T> supports up to 15 generic parameters (Where, And, Or) others like Select, SelectDistinct and GroupBy only supports a couple. When building complex queries, it's easy to select data from more than 7 tables, or group by fields from more than 4 tables.

    Could you implement more Select, SelectDistinct and GroupBy overloads like you did for Where, And and Or?

    There is no specific number of parameters needed, but I think that the default 15 is a good start.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. Support for ServiceStack Client in NativeScript applications

    I think that ServiceStack TypeScript client does not work in NativeScript + Angular2 applications, as I am getting a bunch of weird errors when trying that (in Fetch module).

    I installed the module as this:
    npm install --save @servicestack/client

    Is there support for the TypeScript client in NativeScript applications? If not, Id like there to be =)

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  15. PocoDynamo - Support Distributed Locks

    The Redis client supports distributed locks, which is a really useful feature, the same is possible using DynamoDB.

    Reference Implementation:
    https://github.com/awslabs/dynamodb-lock-client

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. Improve QueryStringSerializer.SerializeToString to use lowercase bools

    Right now, bools are serialized uppercase since that's the default ToString behavior of .NET.

    Consider changing this behavior by checking for bool when serializing and using .ToString().ToLower(), or introduce a setting to control this. It's web standard to use lowercase bools in query strings.

    More info/discussion:
    https://github.com/ServiceStack/Issues/issues/586

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  17. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add SAML 2.0 auth provider

    Add SAML 2.0 as built in auth provider. Really useful for Azure AD SSO.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. ServiceStack should has native support for building microservice

    Microservice is the modern and hot trending architectural design pattern now, ServiceStack should has builtin feature to support building microservice. In Java world they have Spring Boot / Spring Cloud to wire together other open source technologies such as Nextflix Ribbon, Eureka, Kafka etc. to build microservice.

    Basically, ServiceStack should be identified itself to be not only a framework of choice to build not only RESTful webservice but also a full-fledged platform such as the Java's Spring framework

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. Enable validation of metadata attributes - e.g. IsRequired

    Currently when a field is marked as IsRequired=true via the OpenAPI attribute it has no relevance to validation. However, it seems very reasonable that when someone marks a field as required, they would want validation that said field was indeed supplied in the DTO. Enabling validation on metadata attributes natively would provide developers this funcitonality without requiring they write a seperate validation method which also lists the required fields.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feature Requests

Categories

Feedback and Knowledge Base