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).
-
WebServiceException ToString Overrride
Hi, currently WebServiceException does not override to string , so that the base ToString() implementation which returns quite "unusefull" info
I suggest to override the ToString method of WebServiceException
to add info such as errorCode, errorMessage, StatusCode, .Responsestatus.Errors .. etc ..That would turn usefull, expecially when logging, since most logging mechanism dump the ex.ToString() ..
1 vote`WebServiceException.ToString()` was customized in this commit: https://github.com/ServiceStack/ServiceStack/commit/ee309c6c38c873cb11ee176aff59362ba19c8fcb
This change is available from v4.0.51 that’s now available on MyGet.
-
enum information in the metadata page
according to this http://stackoverflow.com/questions/22072109/is-there-a-way-to-have-a-servicestack-metadata-page-show-all-the-options-for-an
it's not possible to have enum information show up in the metadata page, but only in swagger .. it would be nice to have such allowed enum values in metadata page as well.
1 vote -
Deprecate or update docs.servicstack.net
Can you either shelve or update docs.servicestack.net? They appear to be very out-of-date, but keep showing up in search results. While most of the information is relevant, its incomplete and occasionally misleading.
19 votesWe’ve finally replaced this with our new Github-powered Docs website, check it out!
-
Allow debuggable Razor views
Microsoft's ASP.Net MVC allows users to set breakpoints in Razor views and debug them in Visual Studio. It would be splendid if ServiceStack could do the same
10 votesThanks for Uri Hendler for pointing it out, this has now been enabled from this commit: https://github.com/ServiceStack/ServiceStack/commit/e2825b9655cda28910b65bb306e82ceeb3b7e36a
You’ll be able to debug Razor Views in DebugMode of by explicitly setting RazorFormat.IncludeDebugInfo = true;
Available from v4.0.45+ that’s now on MyGet:
https://github.com/ServiceStack/ServiceStack/wiki/MyGet -
Make virtual some methods in OrmLiteAuthRepository
It's possibile to make inheritable some methods in OrmLiteAuthRepository class, to allow custom logics?
For example CreateUserAuth, UpdateUserAuth, CreateOrMergeAuthSession, GetPermissions/Role, Has Permission/Roles, etc
3 votesAll OrmLiteAuthRepository public API’s are now virtual from this commit: https://github.com/ServiceStack/ServiceStack/commit/487a64ee81a46fd5bcbf83a03d6dade5965ca6ed
This change is available from v4.0.43+ that’s now available on MyGet: https://github.com/ServiceStack/ServiceStack/wiki/MyGet
-
Allow LoadSingleById to selectively load references
Would like to replicate the functionality from this feature request in LoadSingleById: http://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/6656885-allow-loadselect-to-selectively-load-references
4 votesThis has been implemented by Johann Klemmack and is now available in v4.0.48, see examples at: https://github.com/ServiceStack/ServiceStack/blob/master/docs/2015/release-notes.md#custom-load-references
-
Update fluent validation library
There are bug-fixes and improvements made to the original fluent validation source at:
15 votesFluent Validation has been updated to the latest release in v4.58:
http://docs.servicestack.net/releases/v4.5.8#fluent-validation-upgraded
Which also includes built-in support for Async Validators
-
Allow sub-select SqlExpression in Sql.In clauses
The Load* methods already do this internally (sort-of), but allow explicitly creating Where expressions that use a sub-select to get the IDs, instead of the Sql.In() utility. Or possibly reworking Sql.In to support a Select with a single column.
Something like this:
var customers = Db.From<Customers>().Where( ... my complex expression ... ).Select("Id");var orders = Db.Select<Orders>(q => Sql.In(q.CustomerId, customers);
3 votes -
Command Line/Buildserver support for ServiceStack references
We use the ServiceStackVS extension to generate TypeScript code for our service.
During development (when the API might still change) it would be really nice is we could generate the TypeScript code as a step in the build process to make sure our TypeScript projects are always build against the latest API (and fail when there are breaking changes).Although we currently only use the TypeScript generator I assume the same applies to the other languages as well.
7 votesssutil.exe was added in v4.0.42: https://github.com/ServiceStack/ServiceStack/wiki/Add-ServiceStack-Reference#ssutilexe---command-line-servicestack-reference-tool
-
Allow us to use Geography data type in Sql Server
It would be nice to be able to take advantage of the Geography type in Sql Server... even better, I wonder if there would be a way to allow "us" to define custom classes for these more advanced data types that are built into a database.
3 votesSupport for SQL Server GEO types added in latest v4.0.44 release: https://github.com/ServiceStack/ServiceStack.OrmLite/wiki/SQL-Server-Types
OrmLite Type Converters now allows you to extend OrmLite to support new Types:
https://github.com/ServiceStack/ServiceStack.OrmLite/wiki/OrmLite-Type-Converters -
OrmLite Join Aliases
Joining on the same table multiple times results in incorrect SQL being generated by OrmLite.
Table aliases need to be added automatically by OrmLite so the correct SQL is generated when joining on the same table multiple times.
14 votesSupport for Typed JOIN aliases were added in v4.0.62: https://github.com/ServiceStack/ServiceStack.OrmLite#join-aliases
-
Add Email Templating Engine
Similar to ServiceStack Bundler, it'd be fantastic to have a node.js-powered email templating system for generating transactional emails with custom data payloads out of a SS app.
It'd be great if the engine worked with simple html templates and CSS so that non-C# people can get involved. Something super simple to use and set up, but powerful in execution.
This would make emails:
- testable
- collaborative (e.g. with frontend engineers)
- iterable (easy transactional email multivariate testing?)
- CSS automatic inlining
- optional integration with litmus.com?
18 votesThe latest v5.2 release includes a powerful and easy to use template system which is ideal for non-devs to create email templates:
https://docs.servicestack.net/releases/v5.2#servicestack-templates-remastered
The Background MQ provides a great way to send emails in the background:
http://docs.servicestack.net/background-mqA working example of this is available in TechStacks:
https://github.com/NetCoreApps/TechStacks#background-mq-serviceWhilst the Email Templates use-case shows an example of generating text + html emails with markdown:
http://templates.servicestack.net/usecases/email-templates -
OrmLite T4 templates doesn't generate Views
OrmLite T4 templates should generate Views,
3 votesNeed to change IncludeViews in OrmLite.Core.ttinclude to:
bool IncludeViews = true;
-
Please InClude ParameterizedSqlExpression.cs to ServiceStack.OrmLiteV45 Project
ParameterizedSqlExpression.cs not in ServiceStack.OrmLiteV45 Project, It affected use oracle provider in net framework 4.5.
3 votesNow fixed from v4.0.43+ that’s now on MyGet: https://github.com/ServiceStack/ServiceStack/wiki/MyGet
-
Show required authentication & Authorization within metadata page
I'd like to have the DTO required(set at DTO and/or service level using current attributes) Authentication & Authorization(roles+permissions) showed within the metadata page, among other operation/dto details.
See SO question http://stackoverflow.com/questions/29693572/how-to-show-authentication-authorization-within-metadata-operation-page.
6 votesNow added from v4.0.43+ that’s now on MyGet.
See StackOverflow answer for details: http://stackoverflow.com/a/31909174/85785
-
visual studio 2015 extension
Service Stack extension for visual studio does not work in visual studio 2015. please add this extension
9 votesServiceStackVS was updated to support VS 2015
-
Ability to override OrmLiteCacheClient to change CacheEntry table name
However it would be best to accomplish, it would be rad to be able to have our own Alias for the CacheEntry object inside OrmLiteCacheClient. We are sharing a database between multiple web apps, but don't want to share the same CacheEntry table.
1 voteThe CacheEntry table can be replaced with
OrmLiteCacheClient generic class, an example of this is in v4.5.6: http://docs.servicestack.net/releases/v4.5.6#sql-server-features -
57 votes
This is now available in the latest v4.0.36 of ServiceStack. See the Release notes for more info:
https://github.com/ServiceStack/ServiceStack/blob/master/docs/2015/release-notes.md#xamarin-unified-api-support -
Flag MyGet builds as nightly, beta, alpah, pre-release
If the MyGet builds are marked as pre-release then it will be easy to move between MyGet builds for the same version number and also easier to upgrade to the NuGet stable build when it is released.
I deploy to Azure Web Sites which does the nuget package restore and full solution build for me. In order to move between MyGet builds or move to the stable NuGet build, I have to log in and manually delete the package cache on every site. If the MyGet builds had their own unque version number, upgrades would be easier.
5 votesTo make it easier to upgrade we’re moving to an odd number versioning for pre-release MyGet packages and even number versions for official NuGet packages described in the release notes at:
-
More Oauth/Oauth2 integration
It would be very interesting to have a better integration with oauth protocols.
Some ideas:
1. Authentication/authorization provided directly by SS. At moment is possible to use oauth, but only with some external libraries (DotNetOpenAuth or others).The Access Token could be released with some oauth permissions defined in a global configuration setting. When the client request an access token, the request must contains a list of permission (like facebook, twitter and others API)
The permissions can be used for authorize some services only if the oauth access token provided in the request is valid for it. For example with…
17 votesWe’ve improved OAuth integration in v4.5.8 where you can now Authenticate using an AccessToken in Facebook, Twitter, Github and Google Auth Providers:
http://docs.servicestack.net/releases/v4.5.8#integrated-facebook-twitter-and-google-logins
This feature now enables auto-Sign Ins in Mobile / Desktop Apps using a saved Access Token.
Please submit separate feature requests for any other individual features you’d like to see.
- Don't see your idea?